blob: 7e433a7586e581502496eade61c4dc1361dd0d5c [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 Walkin752e9732017-08-04 02:06:22 -0700481#define YY_NUM_RULES 141
482#define YY_END_OF_BUFFER 142
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 Walkin752e9732017-08-04 02:06:22 -0700490static yyconst flex_int16_t yy_acclist[1275] =
Lev Walkinf15320b2004-06-03 03:38:44 +0000491 { 0,
Lev Walkin752e9732017-08-04 02:06:22 -0700492 142, 140, 141, 133, 140, 141, 133, 141, 138, 140,
493 141, 20, 140, 141, 138, 140, 141, 140, 141, 138,
494 140, 141, 140, 141, 140, 141, 138, 140, 141, 140,
495 141, 34, 140, 141, 33, 140, 141, 138, 140, 141,
496 140, 141, 121, 122, 140, 141, 121, 122, 140, 141,
497 121, 122, 140, 141, 121, 122, 140, 141, 121, 122,
498 140, 141, 121, 122, 140, 141, 121, 122, 140, 141,
499 121, 122, 140, 141, 121, 122, 140, 141, 121, 122,
500 140, 141, 121, 122, 140, 141, 121, 122, 140, 141,
501 121, 122, 140, 141, 121, 122, 140, 141, 121, 122,
Lev Walkinf15320b2004-06-03 03:38:44 +0000502
Lev Walkin752e9732017-08-04 02:06:22 -0700503 140, 141, 121, 122, 140, 141, 121, 122, 140, 141,
504 121, 122, 140, 141, 121, 122, 140, 141, 138, 140,
505 141, 138, 140, 141, 120, 140, 141, 138, 140, 141,
506 140, 141, 10, 140, 141, 7, 141, 7, 140, 141,
507 9, 140, 141, 9, 140, 141, 12, 14, 140, 141,
508 12, 141, 14, 140, 141, 14, 140, 141, 14, 140,
509 141, 22, 140, 141, 22, 141, 23, 140, 141, 17,
510 140, 141, 17, 141, 19, 140, 141, 19, 140, 141,
511 15, 140, 141, 16, 140, 141, 26, 28, 140, 141,
512 28, 140, 141, 29, 141, 26, 27, 28, 140, 141,
Lev Walkinf15320b2004-06-03 03:38:44 +0000513
Lev Walkin752e9732017-08-04 02:06:22 -0700514 26, 27, 28, 140, 141, 131, 140, 141, 131, 141,
515 140, 141, 127, 140, 141, 140, 141, 140, 141, 126,
516 140, 141, 129, 140, 141, 130, 140, 141, 128, 140,
517 141, 132, 140, 141, 133, 20, 20, 118, 119, 6,
518 32, 125, 11, 35, 33, 35, 121, 122, 121, 122,
519 121, 122, 121, 122, 121, 122, 121, 122, 122, 121,
520 122, 121, 122, 121, 122, 121, 122, 45, 121, 122,
521 121, 122, 121, 122, 121, 122, 121, 122, 121, 122,
522 121, 122, 121, 122, 121, 122, 121, 122, 122, 122,
523 121, 122, 121, 122, 121, 122, 121, 122, 121, 122,
Lev Walkin0e90aa02013-03-19 16:17:13 -0700524
Lev Walkin752e9732017-08-04 02:06:22 -0700525 121, 122, 121, 122, 121, 122, 122, 121, 122, 121,
526 122, 90, 121, 122, 121, 122, 122, 121, 122, 121,
527 122, 121, 122, 121, 122, 122, 121, 122, 121, 122,
528 121, 122, 121, 122, 121, 122, 121, 122, 121, 122,
529 121, 122, 122, 121, 122, 121, 122, 122, 122, 121,
530 122, 136, 137, 120, 10, 8, 8, 13, 22, 21,
531 17, 26, 26, 27, 26, 27, 131, 6, 126, 139,
532 118, 119, 32, 35, 124, 35, 123, 121, 122, 122,
533 121, 122, 37, 121, 122, 38, 121, 122, 121, 122,
534 121, 122, 121, 122, 42, 121, 122, 121, 122, 121,
Lev Walkin0e90aa02013-03-19 16:17:13 -0700535
Lev Walkin752e9732017-08-04 02:06:22 -0700536 122, 121, 122, 121, 122, 121, 122, 121, 122, 121,
537 122, 121, 122, 121, 122, 121, 122, 59, 121, 122,
538 121, 122, 121, 122, 121, 122, 121, 122, 121, 122,
539 121, 122, 122, 122, 121, 122, 121, 122, 121, 122,
540 121, 122, 121, 122, 121, 122, 121, 122, 82, 121,
541 122, 83, 121, 122, 121, 122, 122, 121, 122, 121,
542 122, 121, 122, 122, 121, 122, 93, 121, 122, 121,
543 122, 121, 122, 121, 122, 122, 121, 122, 121, 122,
544 121, 122, 101, 121, 122, 121, 122, 121, 122, 121,
545 122, 121, 122, 121, 122, 121, 122, 122, 121, 122,
Lev Walkind9574ae2005-03-24 16:22:35 +0000546
Lev Walkin752e9732017-08-04 02:06:22 -0700547 121, 122, 121, 122, 122, 122, 122, 121, 122, 120,
548 1, 4, 18, 26, 27, 25, 26, 27, 126, 118,
549 119, 31, 30, 3, 2, 121, 122, 121, 122, 121,
550 122, 121, 122, 121, 122, 121, 122, 121, 122, 121,
551 122, 121, 122, 121, 122, 121, 122, 121, 122, 121,
552 122, 121, 122, 121, 122, 121, 122, 121, 122, 121,
553 122, 121, 122, 121, 122, 121, 122, 121, 122, 67,
554 121, 122, 122, 122, 121, 122, 121, 122, 121, 122,
555 121, 122, 121, 122, 121, 122, 121, 122, 121, 122,
556 121, 122, 85, 121, 122, 122, 121, 122, 121, 122,
Lev Walkin0e90aa02013-03-19 16:17:13 -0700557
Lev Walkin752e9732017-08-04 02:06:22 -0700558 121, 122, 122, 121, 122, 121, 122, 121, 122, 121,
559 122, 122, 98, 121, 122, 121, 122, 121, 122, 102,
560 121, 122, 121, 122, 121, 122, 121, 122, 106, 121,
561 122, 108, 121, 122, 122, 121, 122, 121, 122, 121,
562 122, 121, 122, 121, 122, 122, 122, 122, 117, 121,
563 122, 4, 26, 27, 121, 122, 121, 122, 121, 122,
564 41, 121, 122, 122, 121, 122, 121, 122, 121, 122,
565 48, 121, 122, 121, 122, 121, 122, 121, 122, 121,
566 122, 121, 122, 121, 122, 121, 122, 121, 122, 121,
567 122, 121, 122, 121, 122, 121, 122, 121, 122, 66,
Lev Walkin0e90aa02013-03-19 16:17:13 -0700568
Lev Walkin752e9732017-08-04 02:06:22 -0700569 121, 122, 122, 122, 122, 121, 122, 121, 122, 121,
570 122, 121, 122, 121, 122, 121, 122, 121, 122, 121,
571 122, 121, 122, 121, 122, 122, 121, 122, 89, 121,
572 122, 121, 122, 122, 121, 122, 121, 122, 121, 122,
573 122, 121, 122, 121, 122, 121, 122, 121, 122, 122,
574 122, 109, 121, 122, 121, 122, 121, 122, 122, 121,
575 122, 122, 122, 122, 134, 26, 27, 36, 121, 122,
576 121, 122, 121, 122, 122, 121, 122, 121, 122, 47,
577 121, 122, 121, 122, 121, 122, 121, 122, 121, 122,
578 121, 122, 121, 122, 121, 122, 121, 122, 121, 122,
Lev Walkin0e90aa02013-03-19 16:17:13 -0700579
Lev Walkin752e9732017-08-04 02:06:22 -0700580 121, 122, 61, 121, 122, 121, 122, 121, 122, 121,
581 122, 121, 122, 122, 122, 122, 121, 122, 121, 122,
582 121, 122, 121, 122, 121, 122, 121, 122, 121, 122,
583 121, 122, 121, 122, 121, 122, 122, 87, 121, 122,
584 121, 122, 122, 121, 122, 121, 122, 121, 122, 121,
585 122, 122, 121, 122, 121, 122, 103, 121, 122, 104,
586 121, 122, 122, 122, 110, 121, 122, 121, 122, 122,
587 122, 122, 122, 122, 26, 27, 121, 122, 121, 122,
588 122, 44, 121, 122, 121, 122, 121, 122, 121, 122,
589 121, 122, 53, 121, 122, 54, 121, 122, 121, 122,
Lev Walkin9d542d22006-03-14 16:31:37 +0000590
Lev Walkin752e9732017-08-04 02:06:22 -0700591 121, 122, 57, 121, 122, 121, 122, 121, 122, 121,
592 122, 63, 121, 122, 121, 122, 121, 122, 122, 122,
593 122, 121, 122, 121, 122, 74, 121, 122, 75, 121,
594 122, 121, 122, 121, 122, 121, 122, 79, 121, 122,
595 121, 122, 121, 122, 121, 122, 122, 121, 122, 122,
596 92, 121, 122, 121, 122, 95, 121, 122, 97, 121,
597 122, 122, 121, 122, 121, 122, 122, 122, 121, 122,
598 113, 122, 122, 122, 122, 122, 26, 27, 121, 122,
599 121, 122, 122, 121, 122, 121, 122, 121, 122, 121,
600 122, 121, 122, 56, 121, 122, 121, 122, 121, 122,
Lev Walkin9d542d22006-03-14 16:31:37 +0000601
Lev Walkin752e9732017-08-04 02:06:22 -0700602 62, 121, 122, 121, 122, 65, 121, 122, 122, 122,
603 122, 122, 121, 122, 73, 121, 122, 76, 121, 122,
604 77, 121, 122, 121, 122, 121, 122, 122, 121, 122,
605 122, 91, 121, 122, 122, 121, 122, 122, 121, 122,
606 100, 121, 122, 122, 122, 121, 122, 122, 122, 122,
607 122, 26, 27, 121, 122, 40, 121, 122, 43, 122,
608 46, 121, 122, 49, 121, 122, 121, 122, 121, 122,
609 121, 122, 121, 122, 121, 122, 122, 122, 122, 71,
610 122, 121, 122, 121, 122, 121, 122, 122, 121, 122,
611 122, 122, 121, 122, 122, 105, 122, 122, 111, 121,
Lev Walkin0e90aa02013-03-19 16:17:13 -0700612
Lev Walkin752e9732017-08-04 02:06:22 -0700613 122, 122, 122, 122, 122, 135, 26, 121, 122, 50,
614 121, 122, 121, 122, 52, 121, 122, 121, 122, 121,
615 122, 60, 121, 122, 121, 122, 122, 122, 122, 72,
616 121, 122, 121, 122, 121, 122, 122, 121, 122, 122,
617 122, 121, 122, 122, 121, 122, 122, 114, 122, 122,
618 122, 122, 26, 39, 121, 122, 51, 121, 122, 55,
619 121, 122, 121, 122, 121, 122, 122, 122, 122, 121,
620 122, 121, 122, 122, 121, 122, 122, 122, 121, 122,
621 122, 121, 122, 122, 122, 122, 122, 26, 121, 122,
622 121, 122, 122, 122, 122, 78, 121, 122, 80, 121,
Lev Walkin0e90aa02013-03-19 16:17:13 -0700623
Lev Walkin752e9732017-08-04 02:06:22 -0700624 122, 81, 122, 121, 122, 122, 122, 121, 122, 122,
625 99, 121, 122, 122, 122, 122, 122, 26, 121, 122,
626 64, 121, 122, 69, 122, 122, 70, 122, 121, 122,
627 86, 122, 122, 94, 121, 122, 122, 107, 122, 122,
628 122, 116, 122, 26, 121, 122, 122, 84, 121, 122,
629 122, 122, 122, 115, 122, 26, 121, 122, 68, 122,
630 122, 96, 122, 112, 122, 26, 58, 121, 122, 88,
631 122, 24, 26, 5
Lev Walkinf15320b2004-06-03 03:38:44 +0000632 } ;
633
Lev Walkin752e9732017-08-04 02:06:22 -0700634static yyconst flex_int16_t yy_accept[750] =
Lev Walkinf15320b2004-06-03 03:38:44 +0000635 { 0,
636 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
Lev Walkin2535a692005-07-02 21:42:40 +0000637 1, 1, 1, 1, 1, 1, 1, 2, 4, 7,
Lev Walkinadf863f2006-09-05 16:18:34 +0000638 9, 12, 15, 18, 20, 23, 25, 27, 30, 32,
639 35, 38, 41, 43, 47, 51, 55, 59, 63, 67,
640 71, 75, 79, 83, 87, 91, 95, 99, 103, 107,
Lev Walkin752e9732017-08-04 02:06:22 -0700641 111, 115, 119, 122, 125, 128, 131, 133, 136, 138,
642 141, 144, 147, 151, 153, 156, 159, 162, 165, 167,
643 170, 173, 175, 178, 181, 184, 187, 191, 194, 196,
644 201, 206, 209, 211, 213, 216, 218, 220, 223, 226,
645 229, 232, 235, 235, 236, 237, 238, 238, 239, 239,
Lev Walkinf15320b2004-06-03 03:38:44 +0000646
Lev Walkin752e9732017-08-04 02:06:22 -0700647 240, 240, 240, 240, 241, 242, 243, 244, 244, 245,
648 245, 247, 247, 247, 249, 251, 253, 255, 257, 259,
649 260, 262, 264, 266, 268, 271, 273, 275, 277, 279,
650 281, 283, 285, 287, 289, 290, 291, 293, 295, 297,
651 299, 301, 303, 305, 307, 308, 310, 312, 315, 317,
652 318, 320, 322, 324, 326, 327, 329, 331, 333, 335,
653 337, 339, 341, 343, 344, 346, 348, 349, 350, 352,
654 353, 354, 354, 355, 355, 355, 355, 355, 356, 357,
655 358, 359, 360, 361, 362, 362, 363, 365, 367, 368,
656 369, 369, 370, 371, 371, 371, 372, 372, 373, 373,
Lev Walkinf15320b2004-06-03 03:38:44 +0000657
Lev Walkin752e9732017-08-04 02:06:22 -0700658 373, 373, 373, 375, 376, 377, 377, 378, 380, 381,
659 383, 386, 389, 391, 393, 393, 395, 398, 400, 402,
660 404, 406, 408, 410, 412, 414, 416, 418, 421, 423,
661 425, 427, 429, 431, 433, 434, 435, 437, 439, 441,
662 443, 445, 447, 449, 452, 455, 457, 458, 460, 462,
663 464, 465, 467, 470, 472, 474, 476, 477, 479, 481,
664 483, 486, 488, 490, 492, 494, 496, 498, 499, 501,
665 503, 505, 506, 507, 508, 510, 511, 511, 511, 512,
666 513, 514, 516, 519, 520, 520, 521, 522, 523, 524,
667 525, 526, 526, 526, 526, 528, 530, 532, 534, 536,
Lev Walkinf15320b2004-06-03 03:38:44 +0000668
Lev Walkin752e9732017-08-04 02:06:22 -0700669 538, 540, 542, 544, 546, 548, 550, 552, 554, 556,
670 558, 560, 562, 564, 566, 568, 570, 573, 574, 575,
671 577, 579, 581, 583, 585, 587, 589, 591, 593, 596,
672 597, 599, 601, 603, 604, 606, 608, 610, 612, 613,
673 616, 618, 620, 623, 625, 627, 629, 632, 635, 636,
674 638, 640, 642, 644, 646, 647, 648, 649, 652, 652,
675 652, 652, 652, 653, 655, 655, 657, 659, 661, 664,
676 665, 667, 669, 671, 674, 676, 678, 680, 682, 684,
677 686, 688, 690, 692, 694, 696, 698, 700, 703, 704,
678 705, 706, 708, 710, 712, 714, 716, 718, 720, 722,
Lev Walkinf15320b2004-06-03 03:38:44 +0000679
Lev Walkin752e9732017-08-04 02:06:22 -0700680 724, 726, 727, 729, 732, 734, 735, 737, 737, 739,
681 741, 742, 744, 746, 748, 750, 751, 752, 755, 757,
682 759, 760, 762, 763, 764, 765, 765, 765, 766, 768,
683 768, 771, 773, 775, 776, 778, 780, 783, 785, 787,
684 789, 791, 793, 795, 797, 799, 801, 803, 806, 808,
685 810, 812, 814, 815, 816, 817, 819, 821, 823, 825,
686 827, 829, 831, 833, 835, 837, 837, 838, 841, 843,
687 844, 846, 848, 850, 852, 853, 855, 857, 860, 863,
688 864, 865, 868, 870, 871, 872, 873, 874, 875, 875,
689 875, 877, 877, 879, 881, 882, 885, 887, 889, 891,
Lev Walkinf15320b2004-06-03 03:38:44 +0000690
Lev Walkin752e9732017-08-04 02:06:22 -0700691 893, 896, 899, 901, 903, 906, 908, 910, 912, 915,
692 917, 919, 920, 921, 922, 924, 926, 929, 932, 934,
693 936, 938, 941, 943, 945, 947, 948, 950, 951, 954,
694 956, 959, 962, 963, 965, 967, 968, 969, 971, 973,
695 974, 975, 976, 977, 977, 979, 979, 981, 983, 984,
696 986, 988, 990, 992, 994, 997, 999, 1001, 1004, 1006,
697 1009, 1010, 1011, 1012, 1013, 1015, 1018, 1021, 1024, 1026,
698 1028, 1029, 1031, 1032, 1035, 1036, 1038, 1039, 1041, 1044,
699 1045, 1046, 1048, 1049, 1050, 1051, 1052, 1052, 1052, 1054,
700 1054, 1056, 1059, 1061, 1064, 1067, 1069, 1071, 1073, 1073,
Lev Walkinf15320b2004-06-03 03:38:44 +0000701
Lev Walkin752e9732017-08-04 02:06:22 -0700702 1075, 1077, 1078, 1079, 1080, 1082, 1084, 1086, 1088, 1089,
703 1091, 1092, 1093, 1095, 1096, 1096, 1098, 1099, 1102, 1103,
704 1104, 1105, 1106, 1106, 1107, 1108, 1108, 1110, 1113, 1115,
705 1118, 1120, 1122, 1125, 1127, 1128, 1129, 1130, 1133, 1135,
706 1137, 1138, 1140, 1141, 1142, 1144, 1145, 1147, 1148, 1150,
707 1151, 1152, 1153, 1154, 1154, 1157, 1160, 1163, 1165, 1167,
708 1168, 1169, 1170, 1172, 1174, 1175, 1177, 1178, 1179, 1181,
709 1182, 1184, 1185, 1186, 1187, 1188, 1189, 1189, 1191, 1193,
710 1194, 1195, 1196, 1199, 1202, 1204, 1206, 1207, 1208, 1210,
711 1211, 1214, 1215, 1216, 1217, 1218, 1219, 1219, 1221, 1224,
Lev Walkin2535a692005-07-02 21:42:40 +0000712
Lev Walkin752e9732017-08-04 02:06:22 -0700713 1226, 1227, 1229, 1231, 1233, 1234, 1237, 1238, 1240, 1241,
714 1242, 1244, 1245, 1245, 1247, 1248, 1251, 1252, 1253, 1254,
715 1256, 1257, 1257, 1259, 1261, 1262, 1264, 1266, 1267, 1267,
716 1270, 1272, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274,
717 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1275, 1275
Lev Walkinf15320b2004-06-03 03:38:44 +0000718 } ;
719
Lev Walkin03892812010-11-03 09:33:03 -0700720static yyconst flex_int32_t yy_ec[256] =
Lev Walkinf15320b2004-06-03 03:38:44 +0000721 { 0,
722 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
Lev Walkin2535a692005-07-02 21:42:40 +0000723 4, 4, 5, 1, 1, 1, 1, 1, 1, 1,
Lev Walkinf15320b2004-06-03 03:38:44 +0000724 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
Lev Walkin2535a692005-07-02 21:42:40 +0000725 1, 2, 6, 7, 1, 1, 1, 8, 9, 10,
Lev Walkinadf863f2006-09-05 16:18:34 +0000726 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
727 19, 20, 21, 22, 19, 23, 24, 25, 26, 27,
728 28, 29, 1, 10, 30, 31, 32, 33, 34, 35,
729 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
730 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
731 56, 1, 57, 58, 1, 1, 59, 60, 61, 62,
Lev Walkinf15320b2004-06-03 03:38:44 +0000732
Lev Walkinadf863f2006-09-05 16:18:34 +0000733 63, 64, 65, 66, 67, 68, 64, 69, 70, 71,
734 72, 73, 64, 74, 75, 76, 77, 78, 64, 79,
735 64, 80, 81, 82, 83, 1, 1, 1, 1, 1,
Lev Walkinf15320b2004-06-03 03:38:44 +0000736 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
737 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
738 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
739 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
740 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
Lev Walkin752e9732017-08-04 02:06:22 -0700741 1, 1, 1, 1, 1, 1, 84, 1, 1, 1,
742 85, 1, 1, 1, 1, 1, 1, 1, 1, 1,
Lev Walkinf15320b2004-06-03 03:38:44 +0000743
744 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
745 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
746 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
Lev Walkin752e9732017-08-04 02:06:22 -0700747 1, 1, 1, 1, 1, 1, 1, 1, 86, 1,
Lev Walkinf15320b2004-06-03 03:38:44 +0000748 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
749 1, 1, 1, 1, 1
750 } ;
751
Lev Walkin752e9732017-08-04 02:06:22 -0700752static yyconst flex_int32_t yy_meta[87] =
Lev Walkinf15320b2004-06-03 03:38:44 +0000753 { 0,
Lev Walkin9d542d22006-03-14 16:31:37 +0000754 1, 2, 3, 4, 4, 1, 5, 1, 6, 1,
Lev Walkinadf863f2006-09-05 16:18:34 +0000755 1, 1, 1, 7, 1, 1, 8, 8, 8, 8,
756 8, 8, 8, 8, 9, 1, 1, 9, 1, 10,
757 10, 10, 10, 10, 10, 11, 11, 11, 11, 11,
Lev Walkin9d542d22006-03-14 16:31:37 +0000758 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
Lev Walkinadf863f2006-09-05 16:18:34 +0000759 11, 11, 11, 11, 11, 1, 1, 1, 11, 11,
Lev Walkin9d542d22006-03-14 16:31:37 +0000760 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
Lev Walkinadf863f2006-09-05 16:18:34 +0000761 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
Lev Walkin752e9732017-08-04 02:06:22 -0700762 12, 1, 13, 1, 1, 1
Lev Walkin2535a692005-07-02 21:42:40 +0000763 } ;
Lev Walkinf15320b2004-06-03 03:38:44 +0000764
Lev Walkin752e9732017-08-04 02:06:22 -0700765static yyconst flex_int16_t yy_base[775] =
Lev Walkin2535a692005-07-02 21:42:40 +0000766 { 0,
Lev Walkin752e9732017-08-04 02:06:22 -0700767 0, 0, 84, 87, 90, 102, 97, 99, 96, 111,
768 94, 106, 189, 275, 361, 0, 1663, 1648, 133, 141,
769 1646, 1640, 439, 149, 4544, 161, 210, 1632, 112, 233,
770 505, 1621, 4544, 555, 274, 118, 280, 295, 500, 605,
771 194, 611, 521, 218, 503, 633, 418, 650, 667, 670,
772 690, 701, 1584, 103, 1622, 745, 87, 0, 4544, 4544,
773 1620, 1618, 4544, 4544, 1614, 1618, 4544, 0, 0, 1616,
774 0, 0, 1596, 4544, 4544, 4544, 0, 4544, 4544, 769,
775 855, 125, 204, 130, 4544, 1605, 1605, 1599, 4544, 4544,
776 4544, 4544, 1605, 208, 0, 1598, 1595, 1586, 99, 1585,
Lev Walkinf15320b2004-06-03 03:38:44 +0000777
Lev Walkin752e9732017-08-04 02:06:22 -0700778 668, 1586, 784, 106, 814, 1578, 4544, 868, 886, 904,
779 933, 1563, 938, 693, 769, 799, 927, 928, 943, 1575,
780 944, 988, 989, 1004, 1010, 1026, 1032, 1043, 1056, 1059,
781 1079, 1076, 1087, 1100, 103, 127, 1115, 1118, 1126, 1141,
782 1152, 1163, 1169, 1180, 150, 1193, 1196, 1209, 1217, 97,
783 1220, 1233, 1244, 1257, 155, 1273, 1279, 1290, 1296, 1307,
784 1318, 1324, 1335, 224, 1341, 1357, 159, 280, 1356, 4544,
785 4544, 0, 1572, 769, 1391, 1403, 1492, 0, 4544, 1559,
786 4544, 0, 4544, 0, 1541, 0, 1524, 311, 238, 4544,
787 0, 1552, 4544, 1551, 0, 1548, 0, 1539, 227, 1515,
Lev Walkinf15320b2004-06-03 03:38:44 +0000788
Lev Walkin752e9732017-08-04 02:06:22 -0700789 336, 146, 1413, 4544, 1004, 1421, 4544, 1463, 1537, 1415,
790 1421, 1437, 1438, 1453, 1536, 1461, 1464, 1513, 1514, 1529,
791 1537, 1540, 1553, 1561, 1577, 1583, 1594, 1600, 1611, 1617,
792 1628, 1634, 1645, 1656, 158, 278, 1669, 1677, 1680, 1695,
793 1698, 1701, 1727, 1719, 1730, 1743, 283, 1751, 1764, 1772,
794 284, 1775, 1788, 1796, 1804, 1812, 251, 1825, 1828, 1836,
795 1849, 1857, 1865, 1873, 1886, 1894, 1907, 507, 1915, 1931,
796 1932, 482, 518, 246, 1947, 1535, 1991, 1999, 4544, 1534,
797 4544, 263, 1504, 1532, 1464, 1506, 1501, 4544, 4544, 4544,
798 4544, 448, 297, 1465, 1993, 1994, 2009, 2015, 2026, 2032,
Lev Walkinf15320b2004-06-03 03:38:44 +0000799
Lev Walkin752e9732017-08-04 02:06:22 -0700800 2048, 2049, 2064, 2072, 2080, 2096, 2093, 2104, 2117, 2120,
801 2135, 2141, 2152, 2158, 2169, 2184, 2190, 255, 547, 2201,
802 2207, 2222, 2223, 2238, 2244, 2259, 2262, 2270, 2283, 481,
803 2291, 2294, 2307, 519, 2315, 2328, 2336, 2344, 535, 2352,
804 2360, 2373, 2381, 2384, 2402, 2399, 2405, 2420, 569, 2423,
805 2426, 2443, 2449, 2460, 624, 248, 522, 2476, 2510, 2533,
806 2556, 2568, 1498, 417, 1467, 2552, 2567, 2583, 2580, 629,
807 2601, 2604, 2607, 2622, 2625, 2633, 2646, 2654, 2667, 2678,
808 2684, 2695, 2706, 2721, 2727, 2738, 2744, 2759, 553, 570,
809 635, 2760, 2780, 2777, 2798, 2797, 2813, 2819, 2830, 2843,
Lev Walkinf15320b2004-06-03 03:38:44 +0000810
Lev Walkin752e9732017-08-04 02:06:22 -0700811 2854, 625, 2851, 2867, 2875, 626, 2883, 296, 2891, 2904,
812 637, 2917, 2920, 2928, 2941, 644, 643, 2952, 2958, 2969,
813 646, 2980, 648, 651, 668, 756, 3024, 4544, 499, 1490,
814 3008, 3024, 3021, 661, 3032, 3045, 3048, 3065, 3071, 3082,
815 3088, 3103, 3109, 3126, 3132, 3143, 3149, 3160, 3166, 3177,
816 3183, 3199, 676, 633, 742, 3200, 3215, 3221, 3232, 3238,
817 3253, 3259, 3270, 3285, 3291, 691, 797, 3302, 3318, 808,
818 3315, 1457, 3326, 3339, 799, 3347, 3362, 3365, 3368, 806,
819 814, 3383, 3386, 809, 741, 860, 831, 832, 3435, 3447,
820 1450, 1459, 3401, 3441, 655, 3442, 3459, 3458, 3474, 3475,
Lev Walkinf15320b2004-06-03 03:38:44 +0000821
Lev Walkin752e9732017-08-04 02:06:22 -0700822 3490, 3491, 3506, 3512, 3523, 3529, 3540, 3551, 3562, 3568,
823 3579, 915, 802, 807, 3585, 3596, 3607, 3613, 3624, 3630,
824 3645, 3646, 3661, 3667, 1447, 882, 3678, 883, 3684, 1454,
825 3695, 3701, 810, 3716, 3722, 829, 885, 3738, 1471, 924,
826 901, 838, 918, 3772, 104, 0, 3766, 3767, 900, 3782,
827 3790, 3793, 3806, 3814, 3822, 3830, 3843, 3851, 3859, 3867,
828 843, 862, 976, 930, 3880, 3888, 3891, 3904, 3912, 3915,
829 962, 1438, 1029, 3928, 861, 1434, 920, 3949, 3936, 1030,
830 1047, 3952, 1032, 1044, 931, 1051, 4001, 1391, 709, 1423,
831 3967, 3985, 1453, 3996, 4002, 4017, 4018, 4033, 321, 4039,
Lev Walkinf15320b2004-06-03 03:38:44 +0000832
Lev Walkin752e9732017-08-04 02:06:22 -0700833 4050, 1064, 1026, 1065, 1449, 4056, 4067, 4078, 1066, 1423,
834 1080, 1054, 1414, 1050, 222, 1441, 1100, 4084, 1069, 1133,
835 1102, 1141, 1514, 4544, 1421, 1388, 4095, 4101, 4116, 4117,
836 4132, 1404, 4133, 4148, 1121, 1078, 1134, 4154, 4165, 4176,
837 1082, 1386, 1150, 1148, 1343, 1152, 1339, 1166, 1361, 1171,
838 1161, 1189, 1329, 1297, 4182, 4193, 4199, 1321, 4210, 1128,
839 1156, 1173, 4221, 4227, 1184, 1313, 1206, 1204, 1298, 1212,
840 1284, 1228, 1239, 1215, 1241, 1272, 1232, 1248, 4242, 1243,
841 1259, 1254, 4243, 4258, 1278, 1223, 1265, 1217, 1155, 1267,
842 0, 1279, 1287, 1282, 1291, 1143, 1116, 1130, 4259, 1067,
Lev Walkinf15320b2004-06-03 03:38:44 +0000843
Lev Walkin752e9732017-08-04 02:06:22 -0700844 1137, 1058, 1012, 1045, 1266, 0, 1348, 1036, 1404, 1318,
845 1028, 917, 887, 917, 1295, 0, 653, 1389, 1436, 933,
846 899, 797, 713, 739, 1297, 551, 544, 516, 485, 0,
847 540, 0, 464, 437, 391, 419, 386, 390, 385, 379,
848 391, 278, 1388, 1457, 335, 118, 4544, 4544, 4309, 4322,
849 4335, 4348, 4361, 4374, 4386, 4390, 4401, 4414, 4427, 4438,
850 4449, 4454, 4459, 4464, 4468, 4473, 4477, 4481, 4485, 4489,
851 4500, 4507, 4518, 4530
Lev Walkin2535a692005-07-02 21:42:40 +0000852 } ;
Lev Walkinf15320b2004-06-03 03:38:44 +0000853
Lev Walkin752e9732017-08-04 02:06:22 -0700854static yyconst flex_int16_t yy_def[775] =
Lev Walkin2535a692005-07-02 21:42:40 +0000855 { 0,
Lev Walkin752e9732017-08-04 02:06:22 -0700856 748, 1, 749, 749, 749, 749, 750, 750, 751, 751,
857 752, 752, 753, 753, 748, 15, 748, 748, 748, 748,
858 748, 754, 748, 755, 748, 748, 748, 748, 748, 748,
859 748, 748, 748, 748, 34, 34, 34, 34, 34, 34,
Lev Walkinadf863f2006-09-05 16:18:34 +0000860 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
Lev Walkin752e9732017-08-04 02:06:22 -0700861 34, 34, 748, 748, 756, 748, 748, 757, 748, 748,
862 748, 748, 748, 748, 748, 748, 748, 758, 758, 748,
863 759, 759, 748, 748, 748, 748, 760, 748, 748, 761,
864 761, 748, 748, 23, 748, 748, 748, 762, 748, 748,
865 748, 748, 748, 748, 754, 754, 748, 763, 748, 764,
Lev Walkinf15320b2004-06-03 03:38:44 +0000866
Lev Walkin752e9732017-08-04 02:06:22 -0700867 755, 755, 748, 748, 748, 748, 748, 748, 748, 748,
868 748, 748, 765, 34, 34, 34, 34, 34, 34, 766,
Lev Walkinadf863f2006-09-05 16:18:34 +0000869 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
Lev Walkin752e9732017-08-04 02:06:22 -0700870 34, 34, 34, 34, 766, 766, 34, 34, 34, 34,
871 34, 34, 34, 34, 766, 34, 34, 34, 34, 766,
872 34, 34, 34, 34, 766, 34, 34, 34, 34, 34,
873 34, 34, 34, 766, 34, 34, 766, 766, 34, 748,
874 748, 767, 756, 748, 748, 748, 748, 757, 748, 748,
875 748, 758, 748, 759, 748, 760, 81, 81, 748, 748,
876 768, 762, 748, 748, 769, 763, 770, 764, 748, 748,
Lev Walkin9d542d22006-03-14 16:31:37 +0000877
Lev Walkin752e9732017-08-04 02:06:22 -0700878 771, 748, 748, 748, 748, 748, 748, 765, 772, 34,
879 34, 34, 34, 34, 772, 34, 34, 34, 34, 34,
Lev Walkinadf863f2006-09-05 16:18:34 +0000880 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
Lev Walkin752e9732017-08-04 02:06:22 -0700881 34, 34, 34, 34, 766, 766, 34, 34, 34, 34,
882 34, 34, 34, 34, 34, 34, 766, 34, 34, 34,
883 766, 34, 34, 34, 34, 34, 766, 34, 34, 34,
884 34, 34, 34, 34, 34, 34, 34, 766, 34, 34,
885 34, 766, 766, 766, 34, 767, 748, 748, 748, 748,
886 748, 81, 81, 768, 748, 769, 770, 748, 748, 748,
887 748, 771, 748, 748, 34, 34, 34, 34, 34, 34,
Lev Walkin9d542d22006-03-14 16:31:37 +0000888
Lev Walkinadf863f2006-09-05 16:18:34 +0000889 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
Lev Walkin752e9732017-08-04 02:06:22 -0700890 34, 34, 34, 34, 34, 34, 34, 766, 766, 34,
891 34, 34, 34, 34, 34, 34, 34, 34, 34, 766,
892 34, 34, 34, 766, 34, 34, 34, 34, 766, 34,
893 34, 34, 34, 34, 34, 34, 34, 34, 766, 34,
894 34, 34, 34, 34, 766, 766, 766, 34, 748, 748,
895 748, 748, 748, 81, 748, 34, 34, 34, 34, 766,
Lev Walkinadf863f2006-09-05 16:18:34 +0000896 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
Lev Walkin752e9732017-08-04 02:06:22 -0700897 34, 34, 34, 34, 34, 34, 34, 34, 766, 766,
898 766, 34, 34, 34, 34, 34, 34, 34, 34, 34,
Lev Walkin9d542d22006-03-14 16:31:37 +0000899
Lev Walkin752e9732017-08-04 02:06:22 -0700900 34, 766, 34, 34, 34, 766, 34, 208, 34, 34,
901 766, 34, 34, 34, 34, 766, 766, 34, 34, 34,
902 766, 34, 766, 766, 766, 748, 748, 748, 81, 748,
903 34, 34, 34, 766, 34, 34, 34, 34, 34, 34,
904 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
905 34, 34, 766, 766, 766, 34, 34, 34, 34, 34,
906 34, 34, 34, 34, 34, 208, 766, 34, 34, 766,
907 34, 208, 34, 34, 766, 34, 34, 34, 34, 766,
908 766, 34, 34, 766, 766, 766, 766, 766, 748, 748,
909 81, 748, 34, 34, 766, 34, 34, 34, 34, 34,
Lev Walkinf15320b2004-06-03 03:38:44 +0000910
Lev Walkin752e9732017-08-04 02:06:22 -0700911 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
912 34, 766, 766, 766, 34, 34, 34, 34, 34, 34,
913 34, 34, 34, 34, 208, 766, 34, 766, 34, 208,
914 34, 34, 766, 34, 34, 766, 766, 34, 766, 766,
915 766, 766, 766, 748, 81, 773, 34, 34, 766, 34,
916 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
917 766, 766, 766, 766, 34, 34, 34, 34, 34, 34,
918 766, 208, 766, 34, 766, 208, 766, 34, 34, 766,
919 766, 34, 766, 766, 766, 766, 748, 774, 81, 748,
920 34, 34, 766, 34, 34, 34, 34, 34, 208, 34,
Lev Walkinef625402005-09-05 05:17:57 +0000921
Lev Walkin752e9732017-08-04 02:06:22 -0700922 34, 766, 766, 766, 766, 34, 34, 34, 766, 208,
923 766, 766, 208, 766, 208, 766, 766, 34, 766, 766,
924 766, 766, 748, 748, 760, 748, 34, 34, 34, 34,
925 34, 208, 34, 34, 766, 766, 766, 34, 34, 34,
926 766, 208, 766, 766, 208, 766, 208, 766, 766, 766,
927 766, 766, 760, 748, 34, 34, 34, 208, 34, 766,
928 766, 766, 34, 34, 766, 208, 766, 766, 208, 766,
929 208, 766, 766, 766, 766, 760, 748, 208, 34, 766,
930 766, 766, 34, 34, 766, 208, 766, 766, 208, 766,
931 208, 766, 766, 766, 766, 760, 748, 208, 34, 766,
Lev Walkinf15320b2004-06-03 03:38:44 +0000932
Lev Walkin752e9732017-08-04 02:06:22 -0700933 766, 766, 208, 766, 766, 208, 766, 766, 766, 766,
934 766, 760, 748, 208, 766, 208, 766, 766, 766, 766,
935 760, 748, 208, 766, 766, 766, 766, 760, 748, 208,
936 766, 760, 748, 748, 748, 748, 748, 748, 748, 748,
937 748, 748, 748, 748, 748, 748, 748, 0, 748, 748,
938 748, 748, 748, 748, 748, 748, 748, 748, 748, 748,
939 748, 748, 748, 748, 748, 748, 748, 748, 748, 748,
940 748, 748, 748, 748
Lev Walkin2535a692005-07-02 21:42:40 +0000941 } ;
Lev Walkinf15320b2004-06-03 03:38:44 +0000942
Lev Walkin752e9732017-08-04 02:06:22 -0700943static yyconst flex_int16_t yy_nxt[4631] =
Lev Walkin2535a692005-07-02 21:42:40 +0000944 { 0,
945 18, 19, 20, 19, 19, 21, 22, 23, 24, 25,
Lev Walkinadf863f2006-09-05 16:18:34 +0000946 18, 26, 25, 27, 28, 29, 30, 31, 31, 31,
947 31, 31, 31, 31, 32, 21, 33, 33, 18, 34,
948 35, 36, 37, 38, 39, 40, 41, 42, 41, 41,
949 41, 43, 44, 45, 46, 41, 47, 48, 49, 50,
Lev Walkin0e90aa02013-03-19 16:17:13 -0700950 51, 52, 41, 41, 41, 53, 54, 21, 55, 55,
951 55, 55, 55, 55, 55, 55, 55, 55, 55, 55,
952 55, 55, 55, 55, 55, 55, 55, 55, 55, 55,
Lev Walkin752e9732017-08-04 02:06:22 -0700953 56, 21, 25, 18, 18, 57, 59, 60, 60, 59,
954 60, 60, 59, 60, 60, 93, 72, 61, 69, 64,
Lev Walkinf15320b2004-06-03 03:38:44 +0000955
Lev Walkin752e9732017-08-04 02:06:22 -0700956 61, 64, 70, 62, 59, 60, 60, 65, 72, 65,
957 215, 93, 66, 69, 66, 62, 215, 70, 73, 201,
958 93, 74, 107, 67, 97, 67, 189, 189, 189, 189,
959 73, 747, 202, 74, 94, 94, 94, 94, 748, 589,
960 215, 93, 94, 94, 94, 94, 187, 293, 114, 93,
961 101, 101, 101, 101, 126, 748, 99, 93, 127, 171,
962 114, 128, 114, 215, 251, 101, 101, 114, 215, 93,
963 177, 215, 215, 235, 75, 294, 76, 103, 103, 103,
964 103, 103, 103, 103, 103, 236, 75, 748, 76, 77,
965 78, 79, 78, 78, 77, 77, 77, 77, 77, 77,
Lev Walkinf15320b2004-06-03 03:38:44 +0000966
Lev Walkin752e9732017-08-04 02:06:22 -0700967 77, 77, 77, 77, 77, 189, 189, 189, 189, 94,
968 94, 94, 94, 77, 77, 77, 77, 77, 93, 247,
969 318, 257, 81, 104, 114, 272, 103, 105, 105, 105,
970 105, 105, 105, 105, 114, 748, 114, 215, 114, 189,
971 189, 189, 189, 114, 77, 77, 77, 108, 114, 109,
972 109, 109, 109, 109, 109, 109, 109, 288, 114, 215,
973 114, 215, 114, 289, 215, 647, 110, 144, 215, 78,
974 77, 78, 77, 77, 77, 77, 78, 79, 78, 78,
975 77, 77, 77, 77, 77, 77, 77, 77, 77, 77,
976 77, 215, 268, 215, 145, 110, 215, 215, 293, 77,
Lev Walkinf15320b2004-06-03 03:38:44 +0000977
Lev Walkin752e9732017-08-04 02:06:22 -0700978 77, 77, 77, 77, 114, 187, 364, 121, 81, 748,
979 114, 122, 357, 129, 114, 123, 114, 124, 114, 424,
980 114, 339, 114, 114, 114, 114, 294, 125, 389, 114,
981 77, 77, 77, 472, 748, 114, 130, 131, 291, 114,
982 291, 273, 282, 283, 114, 330, 334, 132, 746, 292,
983 319, 743, 632, 187, 274, 78, 77, 78, 77, 77,
984 77, 33, 82, 83, 82, 82, 33, 33, 84, 33,
985 33, 33, 33, 85, 86, 33, 87, 33, 33, 33,
Lev Walkinadf863f2006-09-05 16:18:34 +0000986 33, 33, 33, 33, 33, 33, 33, 33, 33, 33,
Lev Walkin752e9732017-08-04 02:06:22 -0700987 88, 88, 88, 88, 88, 88, 88, 88, 88, 88,
Lev Walkinf15320b2004-06-03 03:38:44 +0000988
Lev Walkin752e9732017-08-04 02:06:22 -0700989 88, 88, 88, 88, 88, 88, 88, 88, 88, 88,
990 88, 88, 88, 88, 88, 88, 89, 90, 33, 33,
Lev Walkinadf863f2006-09-05 16:18:34 +0000991 33, 33, 33, 33, 33, 33, 33, 33, 33, 33,
992 33, 33, 33, 33, 33, 33, 33, 33, 33, 33,
Lev Walkin752e9732017-08-04 02:06:22 -0700993 33, 91, 33, 92, 33, 33, 33, 93, 114, 429,
994 291, 156, 291, 742, 741, 740, 739, 738, 114, 187,
995 114, 292, 114, 737, 97, 736, 735, 114, 98, 98,
996 98, 98, 98, 98, 98, 98, 98, 98, 98, 98,
997 98, 98, 98, 98, 98, 98, 98, 98, 98, 98,
998 98, 98, 98, 98, 215, 215, 99, 100, 100, 100,
Lev Walkinf15320b2004-06-03 03:38:44 +0000999
Lev Walkin752e9732017-08-04 02:06:22 -07001000 100, 100, 100, 100, 100, 100, 100, 100, 100, 100,
1001 100, 100, 100, 100, 100, 100, 100, 100, 100, 108,
1002 215, 111, 111, 111, 111, 111, 111, 111, 111, 133,
1003 114, 215, 215, 146, 147, 215, 491, 148, 110, 734,
1004 114, 187, 114, 114, 114, 114, 134, 149, 215, 114,
1005 142, 114, 114, 215, 402, 733, 732, 215, 143, 355,
1006 215, 114, 150, 114, 215, 114, 215, 110, 113, 349,
1007 114, 114, 114, 114, 114, 114, 114, 114, 114, 406,
1008 356, 425, 215, 215, 114, 115, 114, 114, 114, 114,
1009 114, 114, 114, 114, 114, 116, 114, 117, 114, 118,
Lev Walkinf15320b2004-06-03 03:38:44 +00001010
Lev Walkin752e9732017-08-04 02:06:22 -07001011 114, 114, 114, 114, 119, 114, 114, 114, 114, 114,
1012 411, 453, 390, 120, 120, 120, 120, 120, 120, 120,
1013 120, 120, 120, 120, 120, 120, 120, 120, 120, 120,
1014 120, 120, 120, 120, 120, 114, 454, 215, 215, 215,
1015 137, 114, 215, 138, 417, 114, 215, 114, 215, 114,
1016 215, 114, 139, 140, 114, 114, 215, 215, 141, 215,
1017 114, 215, 151, 114, 215, 152, 215, 135, 215, 101,
1018 101, 101, 101, 153, 215, 114, 199, 114, 136, 154,
1019 114, 215, 114, 157, 101, 101, 423, 158, 161, 215,
1020 114, 467, 114, 513, 114, 475, 162, 114, 159, 114,
Lev Walkinf15320b2004-06-03 03:38:44 +00001021
Lev Walkin752e9732017-08-04 02:06:22 -07001022 114, 470, 434, 160, 748, 481, 155, 114, 455, 114,
1023 114, 114, 165, 163, 114, 484, 114, 480, 166, 114,
1024 114, 486, 625, 114, 725, 549, 487, 495, 525, 164,
1025 114, 114, 114, 114, 114, 114, 488, 114, 169, 114,
1026 167, 114, 114, 114, 512, 114, 174, 174, 174, 174,
1027 114, 187, 215, 730, 215, 215, 168, 426, 426, 426,
1028 426, 175, 175, 175, 175, 175, 175, 176, 176, 186,
1029 174, 174, 174, 174, 186, 186, 186, 186, 186, 186,
1030 186, 186, 186, 186, 186, 175, 175, 175, 175, 175,
1031 175, 176, 176, 186, 186, 186, 186, 186, 108, 114,
Lev Walkinf15320b2004-06-03 03:38:44 +00001032
Lev Walkin752e9732017-08-04 02:06:22 -07001033 109, 109, 109, 109, 109, 109, 109, 109, 514, 114,
1034 215, 114, 215, 114, 540, 215, 210, 110, 114, 215,
1035 215, 215, 215, 215, 186, 186, 186, 215, 108, 114,
1036 203, 203, 203, 203, 203, 203, 203, 203, 428, 211,
1037 528, 114, 215, 114, 215, 215, 110, 110, 114, 563,
1038 186, 215, 186, 186, 186, 186, 215, 526, 533, 729,
1039 186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
1040 186, 539, 536, 215, 215, 215, 110, 564, 577, 186,
1041 186, 186, 186, 186, 205, 205, 205, 205, 205, 205,
1042 205, 205, 537, 542, 543, 215, 215, 188, 215, 580,
Lev Walkinf15320b2004-06-03 03:38:44 +00001043
Lev Walkin752e9732017-08-04 02:06:22 -07001044 108, 110, 109, 109, 109, 109, 109, 109, 109, 109,
1045 186, 186, 186, 215, 215, 206, 585, 206, 602, 110,
1046 205, 205, 205, 205, 205, 205, 205, 205, 215, 573,
1047 110, 215, 581, 215, 541, 612, 186, 215, 186, 186,
1048 186, 603, 728, 215, 215, 575, 215, 108, 110, 111,
1049 111, 111, 111, 111, 111, 111, 111, 114, 114, 584,
1050 723, 722, 561, 721, 593, 586, 110, 114, 114, 114,
1051 114, 114, 213, 114, 114, 215, 114, 114, 621, 216,
1052 212, 562, 614, 114, 114, 114, 114, 114, 114, 215,
1053 583, 214, 114, 114, 605, 110, 209, 209, 209, 209,
Lev Walkinf15320b2004-06-03 03:38:44 +00001054
Lev Walkin752e9732017-08-04 02:06:22 -07001055 209, 209, 209, 209, 209, 209, 209, 209, 209, 209,
1056 209, 209, 209, 209, 209, 209, 209, 209, 114, 114,
1057 205, 205, 205, 205, 205, 205, 205, 205, 114, 114,
1058 114, 114, 114, 218, 114, 609, 217, 114, 114, 215,
1059 114, 215, 215, 215, 114, 215, 114, 219, 114, 215,
1060 114, 604, 114, 114, 114, 220, 114, 215, 215, 114,
1061 215, 222, 114, 215, 215, 716, 114, 215, 114, 221,
1062 114, 215, 114, 114, 114, 114, 114, 215, 215, 215,
1063 215, 114, 215, 114, 223, 224, 114, 114, 636, 226,
1064 225, 215, 114, 215, 616, 215, 114, 646, 114, 114,
Lev Walkinf15320b2004-06-03 03:38:44 +00001065
Lev Walkin752e9732017-08-04 02:06:22 -07001066 114, 114, 619, 114, 611, 114, 114, 230, 114, 114,
1067 227, 228, 620, 215, 644, 215, 114, 114, 114, 114,
1068 231, 114, 617, 114, 232, 114, 622, 233, 229, 114,
1069 114, 114, 641, 649, 215, 237, 114, 635, 637, 661,
1070 114, 215, 114, 234, 114, 114, 215, 215, 114, 114,
1071 215, 238, 665, 643, 215, 114, 114, 114, 114, 114,
1072 114, 215, 114, 215, 114, 215, 114, 114, 114, 215,
1073 239, 114, 240, 648, 215, 114, 714, 651, 713, 215,
1074 650, 114, 114, 114, 215, 114, 215, 660, 241, 242,
1075 114, 712, 114, 114, 114, 243, 114, 215, 680, 114,
Lev Walkinf15320b2004-06-03 03:38:44 +00001076
Lev Walkin752e9732017-08-04 02:06:22 -07001077 662, 114, 215, 114, 681, 114, 715, 114, 706, 114,
1078 114, 245, 114, 114, 652, 244, 667, 215, 114, 215,
1079 246, 668, 114, 114, 114, 215, 114, 670, 215, 114,
1080 215, 248, 672, 114, 674, 114, 114, 114, 114, 114,
1081 114, 215, 114, 682, 249, 114, 673, 114, 685, 114,
1082 114, 114, 215, 114, 215, 675, 215, 114, 114, 114,
1083 114, 114, 114, 114, 114, 250, 114, 215, 252, 114,
1084 688, 703, 215, 114, 114, 114, 687, 114, 215, 215,
1085 215, 694, 114, 253, 114, 690, 114, 114, 114, 705,
1086 255, 215, 215, 254, 256, 215, 698, 114, 692, 114,
Lev Walkinf15320b2004-06-03 03:38:44 +00001087
Lev Walkin752e9732017-08-04 02:06:22 -07001088 215, 114, 258, 114, 215, 697, 114, 700, 215, 114,
1089 215, 695, 693, 259, 696, 114, 691, 114, 702, 114,
1090 114, 114, 114, 114, 260, 701, 114, 261, 114, 704,
1091 114, 215, 114, 707, 114, 265, 114, 114, 114, 114,
1092 114, 717, 263, 708, 262, 114, 689, 114, 114, 264,
1093 686, 114, 710, 709, 114, 711, 114, 724, 114, 266,
1094 114, 215, 114, 678, 114, 114, 114, 114, 114, 677,
1095 731, 114, 676, 114, 215, 114, 671, 114, 269, 114,
1096 669, 114, 720, 114, 267, 114, 114, 114, 270, 744,
1097 114, 271, 623, 623, 623, 623, 114, 114, 114, 114,
Lev Walkinf15320b2004-06-03 03:38:44 +00001098
Lev Walkin752e9732017-08-04 02:06:22 -07001099 114, 114, 215, 277, 275, 114, 114, 176, 176, 176,
1100 176, 176, 176, 176, 176, 278, 745, 215, 718, 176,
1101 176, 176, 176, 176, 176, 176, 176, 108, 666, 203,
1102 203, 203, 203, 203, 203, 203, 203, 205, 205, 205,
1103 205, 205, 205, 205, 205, 114, 110, 658, 295, 215,
1104 654, 114, 653, 726, 215, 114, 645, 114, 744, 114,
1105 642, 114, 215, 114, 114, 114, 215, 114, 114, 626,
1106 114, 613, 610, 624, 719, 110, 113, 114, 296, 114,
1107 114, 114, 114, 114, 215, 745, 114, 114, 576, 572,
1108 546, 114, 545, 114, 114, 114, 297, 114, 298, 530,
Lev Walkinf15320b2004-06-03 03:38:44 +00001109
Lev Walkin752e9732017-08-04 02:06:22 -07001110 727, 114, 114, 114, 114, 114, 114, 492, 114, 430,
1111 114, 363, 365, 114, 197, 623, 623, 623, 623, 195,
1112 193, 209, 209, 209, 209, 209, 209, 209, 209, 209,
1113 209, 209, 209, 209, 209, 209, 209, 209, 209, 209,
1114 209, 209, 209, 114, 114, 191, 187, 363, 172, 748,
1115 215, 289, 197, 114, 300, 114, 114, 114, 114, 114,
1116 299, 195, 114, 114, 285, 191, 187, 114, 281, 114,
1117 114, 114, 280, 114, 302, 301, 279, 114, 114, 114,
1118 114, 114, 114, 114, 114, 172, 114, 303, 215, 114,
1119 207, 114, 204, 114, 200, 114, 624, 304, 197, 195,
Lev Walkinf15320b2004-06-03 03:38:44 +00001120
Lev Walkin752e9732017-08-04 02:06:22 -07001121 194, 114, 114, 114, 193, 114, 307, 114, 305, 306,
1122 114, 193, 191, 114, 308, 107, 309, 114, 190, 114,
1123 185, 114, 183, 114, 114, 114, 114, 114, 107, 181,
1124 114, 180, 114, 179, 114, 172, 114, 310, 114, 170,
1125 114, 114, 114, 114, 114, 112, 106, 114, 96, 114,
1126 312, 114, 311, 114, 93, 114, 93, 114, 114, 114,
1127 114, 114, 748, 748, 114, 748, 114, 315, 313, 748,
1128 114, 314, 114, 748, 114, 114, 114, 114, 114, 748,
1129 748, 748, 748, 114, 748, 114, 114, 114, 748, 114,
1130 748, 748, 316, 748, 114, 748, 114, 317, 114, 114,
Lev Walkinf15320b2004-06-03 03:38:44 +00001131
Lev Walkin752e9732017-08-04 02:06:22 -07001132 114, 748, 748, 748, 748, 114, 748, 114, 748, 114,
1133 114, 114, 748, 114, 748, 748, 320, 114, 114, 321,
1134 322, 114, 114, 323, 114, 114, 114, 748, 114, 114,
1135 748, 114, 748, 748, 326, 324, 748, 114, 114, 114,
1136 114, 114, 114, 114, 114, 114, 325, 114, 327, 114,
1137 114, 748, 748, 748, 748, 748, 748, 114, 748, 114,
1138 114, 114, 748, 114, 748, 748, 748, 114, 114, 114,
1139 114, 114, 114, 114, 114, 748, 114, 748, 748, 328,
1140 748, 114, 748, 329, 331, 114, 748, 114, 748, 748,
1141 748, 114, 114, 114, 114, 114, 748, 332, 748, 748,
Lev Walkinf15320b2004-06-03 03:38:44 +00001142
Lev Walkin752e9732017-08-04 02:06:22 -07001143 114, 748, 114, 748, 114, 114, 114, 748, 114, 333,
1144 748, 748, 114, 114, 114, 114, 114, 114, 114, 114,
1145 748, 114, 748, 335, 114, 748, 114, 748, 114, 748,
1146 114, 748, 114, 748, 114, 748, 114, 114, 114, 748,
1147 114, 748, 114, 336, 114, 114, 114, 748, 114, 748,
1148 748, 337, 114, 114, 114, 114, 114, 341, 114, 748,
1149 748, 114, 338, 748, 748, 340, 114, 114, 114, 114,
1150 114, 748, 114, 748, 114, 748, 114, 114, 114, 114,
1151 114, 748, 748, 748, 748, 342, 748, 114, 748, 114,
1152 343, 114, 748, 114, 748, 114, 748, 114, 114, 114,
Lev Walkinf15320b2004-06-03 03:38:44 +00001153
Lev Walkin752e9732017-08-04 02:06:22 -07001154 748, 114, 344, 114, 748, 114, 114, 114, 748, 114,
1155 748, 748, 748, 114, 114, 114, 114, 114, 748, 748,
1156 748, 345, 114, 748, 114, 748, 114, 748, 114, 748,
1157 114, 748, 748, 346, 114, 114, 114, 114, 114, 748,
1158 348, 347, 748, 114, 748, 114, 748, 114, 748, 114,
1159 748, 114, 748, 748, 354, 114, 114, 114, 350, 114,
1160 351, 114, 114, 748, 114, 352, 748, 748, 748, 748,
1161 748, 114, 114, 114, 114, 114, 114, 114, 748, 353,
1162 114, 114, 748, 358, 748, 748, 748, 114, 748, 114,
1163 748, 114, 359, 359, 359, 359, 114, 748, 748, 748,
Lev Walkinf15320b2004-06-03 03:38:44 +00001164
Lev Walkin752e9732017-08-04 02:06:22 -07001165 361, 361, 361, 361, 748, 748, 748, 360, 360, 360,
1166 360, 360, 360, 360, 360, 362, 362, 362, 362, 362,
1167 362, 362, 362, 114, 114, 748, 748, 748, 748, 748,
1168 748, 367, 748, 114, 114, 366, 114, 114, 114, 114,
1169 748, 748, 114, 114, 748, 114, 748, 748, 748, 114,
1170 368, 114, 748, 114, 748, 114, 114, 369, 114, 114,
1171 748, 748, 114, 748, 114, 371, 114, 748, 114, 748,
1172 114, 748, 114, 748, 114, 114, 114, 372, 114, 114,
1173 373, 114, 748, 748, 748, 748, 748, 748, 114, 114,
1174 114, 114, 114, 114, 114, 748, 748, 114, 114, 748,
Lev Walkinf15320b2004-06-03 03:38:44 +00001175
Lev Walkin752e9732017-08-04 02:06:22 -07001176 748, 370, 114, 748, 114, 748, 114, 748, 114, 748,
1177 114, 374, 114, 114, 114, 375, 114, 748, 748, 748,
1178 114, 114, 114, 114, 114, 377, 114, 748, 376, 114,
1179 748, 748, 748, 114, 114, 114, 114, 114, 114, 748,
1180 114, 748, 378, 748, 114, 114, 379, 114, 114, 380,
1181 114, 748, 381, 114, 748, 748, 748, 114, 748, 114,
1182 114, 114, 114, 748, 114, 114, 114, 748, 382, 114,
1183 748, 114, 748, 748, 748, 114, 748, 114, 748, 114,
1184 748, 114, 114, 114, 114, 383, 748, 748, 114, 384,
1185 114, 748, 114, 748, 114, 748, 114, 748, 114, 114,
Lev Walkinf15320b2004-06-03 03:38:44 +00001186
Lev Walkin752e9732017-08-04 02:06:22 -07001187 114, 114, 114, 748, 385, 748, 748, 114, 748, 114,
1188 748, 386, 748, 114, 114, 387, 748, 388, 114, 748,
1189 114, 748, 748, 748, 114, 748, 114, 748, 114, 748,
1190 114, 114, 114, 114, 114, 748, 748, 114, 748, 114,
1191 748, 114, 748, 114, 748, 114, 748, 114, 748, 114,
1192 114, 114, 114, 114, 748, 392, 114, 748, 748, 393,
1193 748, 748, 114, 114, 114, 114, 114, 114, 114, 394,
1194 748, 114, 114, 396, 114, 748, 391, 748, 114, 748,
1195 114, 400, 114, 748, 114, 748, 114, 395, 114, 114,
1196 397, 748, 114, 114, 398, 748, 748, 748, 748, 114,
Lev Walkinf15320b2004-06-03 03:38:44 +00001197
Lev Walkin752e9732017-08-04 02:06:22 -07001198 114, 114, 114, 114, 114, 399, 114, 748, 114, 748,
1199 114, 114, 114, 114, 114, 748, 748, 401, 748, 114,
1200 748, 114, 403, 114, 114, 114, 748, 114, 748, 748,
1201 748, 114, 114, 114, 114, 114, 114, 114, 114, 748,
1202 114, 408, 404, 114, 748, 114, 748, 114, 407, 114,
1203 405, 114, 748, 748, 748, 114, 114, 114, 114, 114,
1204 748, 748, 748, 748, 114, 748, 114, 748, 114, 409,
1205 114, 748, 114, 410, 114, 748, 114, 114, 114, 748,
1206 114, 748, 114, 748, 114, 114, 114, 748, 114, 748,
1207 114, 748, 114, 114, 114, 748, 114, 748, 748, 748,
Lev Walkinf15320b2004-06-03 03:38:44 +00001208
Lev Walkin752e9732017-08-04 02:06:22 -07001209 114, 114, 114, 114, 114, 748, 413, 748, 412, 114,
1210 748, 114, 748, 114, 114, 114, 748, 114, 748, 748,
1211 748, 114, 114, 114, 114, 114, 414, 748, 114, 114,
1212 114, 415, 114, 114, 748, 114, 748, 748, 748, 114,
1213 748, 114, 114, 114, 114, 114, 114, 114, 114, 114,
1214 114, 114, 748, 114, 114, 748, 114, 748, 748, 748,
1215 114, 748, 114, 114, 114, 418, 114, 114, 114, 114,
1216 114, 748, 114, 114, 416, 419, 420, 748, 748, 114,
1217 748, 748, 748, 114, 748, 114, 748, 114, 748, 114,
1218 114, 114, 114, 114, 748, 748, 748, 748, 114, 748,
Lev Walkinf59d0752004-08-18 04:59:12 +00001219
Lev Walkin752e9732017-08-04 02:06:22 -07001220 114, 748, 114, 748, 114, 748, 114, 422, 748, 114,
1221 748, 359, 359, 359, 359, 421, 114, 748, 114, 748,
1222 114, 748, 748, 748, 748, 114, 360, 360, 360, 360,
1223 360, 360, 360, 360, 426, 426, 426, 426, 748, 748,
1224 748, 748, 748, 748, 748, 427, 748, 748, 748, 360,
1225 360, 360, 360, 360, 360, 360, 360, 361, 361, 361,
1226 361, 748, 748, 748, 748, 748, 748, 748, 748, 748,
1227 748, 748, 362, 362, 362, 362, 362, 362, 362, 362,
1228 427, 748, 114, 748, 362, 362, 362, 362, 362, 362,
1229 362, 362, 114, 748, 114, 748, 114, 114, 432, 748,
Lev Walkind9574ae2005-03-24 16:22:35 +00001230
Lev Walkin752e9732017-08-04 02:06:22 -07001231 431, 114, 748, 748, 748, 748, 748, 114, 748, 114,
1232 114, 114, 433, 114, 748, 428, 114, 748, 748, 748,
1233 114, 748, 114, 114, 114, 114, 748, 114, 748, 114,
1234 435, 114, 114, 748, 114, 436, 748, 114, 748, 748,
1235 437, 114, 748, 114, 114, 114, 114, 114, 114, 114,
1236 114, 114, 114, 114, 748, 114, 114, 748, 748, 748,
1237 748, 748, 114, 114, 114, 114, 114, 438, 748, 114,
1238 748, 114, 748, 114, 114, 114, 114, 114, 748, 439,
1239 748, 748, 114, 440, 114, 748, 114, 748, 114, 748,
1240 114, 748, 748, 748, 441, 114, 114, 114, 114, 748,
Lev Walkind9574ae2005-03-24 16:22:35 +00001241
Lev Walkin752e9732017-08-04 02:06:22 -07001242 442, 748, 748, 114, 443, 748, 748, 114, 114, 114,
1243 444, 114, 748, 748, 114, 748, 114, 445, 114, 748,
1244 114, 446, 114, 748, 114, 114, 114, 114, 114, 748,
1245 748, 748, 748, 114, 748, 114, 114, 114, 748, 114,
1246 748, 447, 748, 748, 114, 748, 114, 748, 114, 748,
1247 114, 114, 449, 748, 448, 114, 748, 114, 748, 748,
1248 748, 114, 748, 114, 748, 114, 748, 114, 114, 114,
1249 114, 114, 748, 748, 114, 450, 114, 748, 114, 748,
1250 114, 748, 114, 748, 114, 451, 452, 114, 114, 114,
1251 114, 748, 748, 114, 748, 748, 748, 456, 748, 114,
Lev Walkind9574ae2005-03-24 16:22:35 +00001252
Lev Walkin752e9732017-08-04 02:06:22 -07001253 114, 114, 114, 114, 114, 748, 748, 114, 114, 114,
1254 114, 457, 748, 458, 748, 748, 748, 114, 748, 114,
1255 114, 114, 114, 748, 114, 459, 114, 114, 114, 114,
1256 460, 748, 748, 748, 748, 748, 748, 114, 114, 461,
1257 114, 114, 114, 114, 748, 748, 114, 114, 748, 114,
1258 748, 748, 463, 114, 748, 114, 748, 114, 748, 114,
1259 114, 114, 462, 114, 465, 748, 748, 466, 114, 748,
1260 114, 748, 114, 114, 114, 748, 748, 464, 748, 114,
1261 748, 114, 748, 114, 114, 114, 748, 114, 748, 748,
1262 748, 114, 114, 114, 114, 114, 114, 114, 114, 468,
Lev Walkin2535a692005-07-02 21:42:40 +00001263
Lev Walkin752e9732017-08-04 02:06:22 -07001264 114, 748, 748, 114, 748, 114, 748, 114, 748, 114,
1265 748, 114, 748, 114, 748, 114, 114, 469, 748, 114,
1266 748, 114, 748, 114, 114, 114, 748, 114, 748, 471,
1267 748, 114, 114, 473, 114, 114, 748, 748, 748, 748,
1268 114, 748, 748, 748, 114, 748, 114, 114, 114, 748,
1269 114, 748, 474, 114, 476, 748, 748, 114, 114, 114,
1270 114, 114, 477, 478, 114, 748, 114, 748, 114, 114,
1271 114, 114, 114, 748, 748, 748, 748, 114, 748, 748,
1272 748, 114, 114, 114, 748, 114, 748, 748, 114, 748,
1273 114, 482, 114, 479, 114, 748, 114, 748, 114, 114,
Lev Walkin2535a692005-07-02 21:42:40 +00001274
Lev Walkin752e9732017-08-04 02:06:22 -07001275 114, 114, 114, 748, 748, 748, 748, 114, 748, 114,
1276 114, 114, 748, 114, 748, 483, 748, 748, 114, 748,
1277 114, 748, 114, 748, 114, 489, 489, 489, 489, 114,
1278 748, 748, 748, 748, 748, 748, 748, 748, 114, 748,
1279 490, 490, 490, 490, 490, 490, 490, 490, 114, 748,
1280 114, 114, 114, 493, 114, 485, 748, 114, 748, 748,
1281 748, 114, 114, 114, 114, 114, 114, 748, 114, 494,
1282 114, 748, 114, 114, 496, 114, 114, 748, 114, 748,
1283 748, 114, 748, 748, 748, 114, 748, 114, 114, 114,
1284 114, 748, 114, 497, 114, 114, 748, 114, 498, 748,
Lev Walkin2535a692005-07-02 21:42:40 +00001285
Lev Walkin752e9732017-08-04 02:06:22 -07001286 499, 114, 748, 748, 748, 114, 748, 114, 748, 114,
1287 748, 114, 114, 114, 114, 114, 748, 748, 114, 748,
1288 114, 748, 114, 748, 500, 748, 114, 748, 114, 748,
1289 114, 114, 114, 114, 748, 502, 501, 114, 748, 114,
1290 748, 748, 748, 114, 748, 114, 748, 114, 748, 114,
1291 748, 114, 114, 114, 748, 748, 114, 503, 114, 504,
1292 748, 748, 114, 748, 505, 748, 114, 748, 114, 748,
1293 114, 748, 114, 114, 114, 114, 114, 748, 507, 114,
1294 748, 114, 748, 114, 748, 506, 748, 114, 748, 114,
1295 114, 114, 114, 114, 748, 748, 114, 748, 114, 748,
Lev Walkin2535a692005-07-02 21:42:40 +00001296
Lev Walkin752e9732017-08-04 02:06:22 -07001297 114, 748, 114, 508, 114, 748, 114, 114, 114, 114,
1298 114, 748, 748, 114, 748, 114, 748, 114, 748, 114,
1299 510, 114, 748, 114, 509, 114, 114, 114, 511, 114,
1300 114, 748, 114, 748, 515, 748, 748, 748, 748, 114,
1301 114, 114, 114, 114, 114, 114, 748, 748, 114, 114,
1302 748, 114, 516, 517, 748, 114, 748, 114, 748, 114,
1303 748, 114, 114, 114, 114, 114, 748, 748, 114, 748,
1304 114, 519, 114, 748, 114, 748, 114, 748, 114, 518,
1305 114, 114, 114, 114, 520, 748, 748, 114, 748, 114,
1306 521, 748, 748, 114, 748, 114, 748, 114, 748, 114,
Lev Walkin2535a692005-07-02 21:42:40 +00001307
Lev Walkin752e9732017-08-04 02:06:22 -07001308 114, 114, 114, 114, 748, 748, 748, 748, 114, 748,
1309 114, 748, 114, 748, 114, 114, 522, 748, 523, 114,
1310 748, 114, 748, 748, 748, 114, 748, 114, 748, 114,
1311 748, 114, 114, 114, 114, 114, 748, 748, 524, 748,
1312 114, 748, 114, 748, 114, 114, 114, 527, 114, 748,
1313 748, 114, 748, 748, 748, 114, 114, 529, 114, 114,
1314 114, 748, 114, 748, 114, 748, 114, 114, 114, 114,
1315 114, 748, 532, 748, 531, 114, 748, 114, 748, 114,
1316 748, 114, 748, 114, 748, 748, 748, 114, 114, 114,
1317 748, 114, 114, 535, 748, 114, 114, 534, 114, 748,
Lev Walkin2535a692005-07-02 21:42:40 +00001318
Lev Walkin752e9732017-08-04 02:06:22 -07001319 748, 748, 114, 748, 114, 114, 114, 114, 114, 114,
1320 114, 114, 114, 114, 114, 748, 114, 114, 748, 748,
1321 748, 748, 748, 114, 748, 114, 114, 114, 114, 748,
1322 114, 114, 114, 538, 748, 114, 489, 489, 489, 489,
1323 748, 114, 748, 114, 748, 114, 748, 748, 748, 547,
1324 114, 490, 490, 490, 490, 490, 490, 490, 490, 544,
1325 748, 748, 748, 490, 490, 490, 490, 490, 490, 490,
1326 490, 114, 114, 748, 748, 748, 748, 748, 548, 748,
1327 748, 114, 114, 114, 114, 114, 114, 748, 114, 114,
1328 114, 114, 550, 748, 748, 748, 748, 748, 114, 114,
Lev Walkin2535a692005-07-02 21:42:40 +00001329
Lev Walkin752e9732017-08-04 02:06:22 -07001330 551, 114, 114, 114, 114, 114, 748, 114, 114, 748,
1331 748, 552, 553, 748, 114, 114, 114, 114, 114, 114,
1332 114, 114, 748, 114, 114, 748, 748, 748, 748, 748,
1333 114, 114, 114, 114, 114, 114, 114, 748, 748, 114,
1334 114, 748, 114, 554, 555, 748, 114, 748, 114, 748,
1335 114, 748, 114, 114, 114, 114, 114, 748, 748, 114,
1336 748, 114, 748, 114, 556, 114, 748, 114, 748, 114,
1337 114, 114, 114, 114, 748, 748, 748, 748, 114, 748,
1338 114, 114, 114, 748, 114, 748, 748, 748, 557, 114,
1339 748, 114, 114, 114, 748, 114, 748, 748, 559, 558,
Lev Walkin2535a692005-07-02 21:42:40 +00001340
Lev Walkin752e9732017-08-04 02:06:22 -07001341 114, 748, 114, 748, 114, 748, 114, 748, 114, 114,
1342 114, 114, 114, 748, 748, 114, 748, 114, 748, 560,
1343 748, 114, 565, 114, 748, 114, 114, 114, 114, 114,
1344 748, 748, 748, 748, 114, 748, 114, 114, 114, 748,
1345 114, 748, 748, 114, 566, 114, 748, 114, 748, 114,
1346 748, 114, 748, 114, 114, 114, 114, 114, 748, 748,
1347 114, 748, 114, 568, 114, 748, 114, 748, 114, 748,
1348 114, 567, 114, 114, 114, 114, 114, 748, 748, 114,
1349 748, 748, 748, 748, 748, 114, 114, 114, 114, 114,
1350 114, 114, 570, 569, 114, 114, 748, 114, 748, 748,
Lev Walkin2535a692005-07-02 21:42:40 +00001351
Lev Walkin752e9732017-08-04 02:06:22 -07001352 748, 114, 748, 114, 748, 114, 748, 114, 114, 114,
1353 114, 114, 748, 748, 114, 748, 114, 748, 574, 748,
1354 114, 748, 114, 748, 114, 114, 114, 114, 114, 748,
1355 748, 114, 748, 114, 748, 114, 748, 114, 748, 114,
1356 748, 114, 571, 114, 114, 114, 114, 748, 748, 578,
1357 114, 748, 114, 748, 748, 579, 114, 748, 114, 748,
1358 114, 748, 114, 748, 114, 114, 114, 582, 114, 748,
1359 748, 114, 748, 587, 587, 587, 587, 748, 114, 748,
1360 114, 748, 114, 748, 748, 748, 748, 114, 588, 588,
1361 588, 588, 588, 588, 588, 588, 114, 114, 592, 748,
Lev Walkin2535a692005-07-02 21:42:40 +00001362
Lev Walkin752e9732017-08-04 02:06:22 -07001363 748, 748, 748, 591, 748, 748, 114, 114, 114, 114,
1364 114, 114, 114, 748, 748, 114, 114, 748, 748, 748,
1365 114, 748, 114, 114, 114, 748, 114, 748, 594, 748,
1366 114, 114, 114, 114, 114, 596, 114, 114, 595, 114,
1367 748, 748, 114, 599, 114, 748, 114, 748, 597, 748,
1368 114, 748, 114, 748, 114, 114, 114, 598, 114, 748,
1369 114, 748, 114, 114, 114, 748, 114, 748, 748, 748,
1370 114, 114, 114, 114, 114, 748, 600, 748, 748, 114,
1371 748, 114, 748, 114, 748, 114, 748, 114, 748, 114,
1372 748, 114, 114, 114, 748, 114, 601, 114, 748, 114,
Lev Walkin2535a692005-07-02 21:42:40 +00001373
Lev Walkin752e9732017-08-04 02:06:22 -07001374 114, 114, 748, 114, 748, 748, 748, 114, 114, 114,
1375 114, 114, 748, 606, 748, 748, 114, 748, 114, 748,
1376 114, 114, 114, 748, 114, 748, 748, 748, 114, 114,
1377 114, 114, 114, 114, 114, 114, 748, 114, 748, 748,
1378 114, 748, 114, 748, 114, 114, 114, 748, 114, 607,
1379 748, 748, 114, 114, 114, 114, 114, 114, 114, 114,
1380 748, 114, 615, 608, 114, 748, 114, 748, 114, 748,
1381 114, 748, 114, 748, 748, 748, 114, 114, 114, 114,
1382 114, 748, 114, 748, 748, 114, 748, 748, 748, 114,
1383 748, 114, 618, 114, 114, 748, 114, 114, 114, 748,
Lev Walkin2535a692005-07-02 21:42:40 +00001384
Lev Walkin752e9732017-08-04 02:06:22 -07001385 748, 114, 587, 587, 587, 587, 748, 114, 748, 114,
1386 627, 114, 748, 748, 748, 114, 114, 588, 588, 588,
1387 588, 588, 588, 588, 588, 114, 114, 114, 748, 114,
1388 748, 748, 114, 748, 114, 748, 114, 748, 114, 748,
1389 114, 748, 114, 748, 114, 114, 114, 114, 114, 628,
1390 629, 114, 748, 630, 748, 748, 748, 114, 114, 114,
1391 114, 114, 114, 114, 748, 748, 114, 114, 748, 114,
1392 748, 633, 748, 114, 748, 631, 748, 114, 748, 114,
1393 114, 114, 114, 114, 748, 748, 114, 748, 114, 748,
1394 634, 748, 114, 748, 114, 748, 114, 114, 114, 114,
Lev Walkin2535a692005-07-02 21:42:40 +00001395
Lev Walkin752e9732017-08-04 02:06:22 -07001396 114, 748, 638, 748, 748, 114, 748, 114, 114, 114,
1397 639, 114, 748, 748, 114, 640, 114, 748, 114, 748,
1398 114, 748, 114, 748, 114, 114, 114, 114, 114, 748,
1399 748, 114, 748, 114, 748, 114, 748, 655, 748, 114,
1400 748, 114, 748, 114, 114, 114, 114, 114, 656, 748,
1401 114, 748, 748, 748, 748, 748, 114, 114, 114, 114,
1402 114, 114, 114, 114, 748, 114, 114, 748, 748, 748,
1403 748, 748, 114, 114, 114, 114, 114, 114, 114, 657,
1404 748, 114, 114, 748, 114, 659, 748, 748, 114, 748,
1405 114, 748, 114, 748, 114, 114, 114, 114, 114, 748,
Lev Walkin9d542d22006-03-14 16:31:37 +00001406
Lev Walkin752e9732017-08-04 02:06:22 -07001407 748, 748, 748, 114, 748, 114, 114, 663, 748, 114,
1408 748, 748, 114, 748, 114, 748, 114, 748, 114, 664,
1409 114, 748, 114, 114, 114, 114, 114, 748, 748, 114,
1410 748, 114, 748, 114, 748, 114, 748, 114, 748, 114,
1411 114, 114, 114, 114, 748, 748, 748, 748, 114, 748,
1412 114, 114, 114, 748, 114, 748, 748, 114, 679, 114,
1413 748, 114, 748, 114, 748, 114, 748, 114, 683, 684,
1414 114, 114, 114, 114, 748, 748, 114, 748, 748, 748,
1415 748, 748, 114, 114, 114, 114, 114, 114, 114, 114,
1416 748, 114, 114, 748, 748, 699, 748, 748, 114, 114,
Lev Walkin2535a692005-07-02 21:42:40 +00001417
Lev Walkin752e9732017-08-04 02:06:22 -07001418 114, 114, 114, 114, 748, 748, 748, 114, 114, 58,
1419 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1420 58, 58, 63, 63, 63, 63, 63, 63, 63, 63,
1421 63, 63, 63, 63, 63, 68, 68, 68, 68, 68,
1422 68, 68, 68, 68, 68, 68, 68, 68, 71, 71,
1423 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
1424 71, 80, 80, 80, 80, 80, 80, 80, 80, 80,
1425 80, 80, 80, 80, 95, 95, 95, 95, 748, 95,
1426 95, 95, 95, 95, 95, 95, 95, 102, 102, 102,
1427 748, 102, 748, 102, 748, 102, 173, 173, 748, 173,
Lev Walkin4696c742005-08-22 12:23:54 +00001428
Lev Walkin752e9732017-08-04 02:06:22 -07001429 173, 178, 178, 748, 748, 178, 178, 748, 178, 178,
1430 178, 178, 178, 178, 182, 182, 182, 182, 748, 182,
1431 182, 182, 182, 182, 182, 182, 182, 184, 184, 184,
1432 184, 184, 184, 184, 184, 748, 184, 184, 186, 748,
1433 748, 748, 186, 186, 186, 186, 186, 186, 186, 187,
1434 748, 748, 748, 187, 187, 187, 187, 187, 187, 187,
1435 192, 192, 748, 192, 192, 196, 196, 748, 196, 196,
1436 198, 198, 748, 198, 198, 208, 748, 208, 208, 120,
1437 120, 748, 120, 120, 276, 748, 276, 276, 284, 748,
1438 284, 284, 286, 748, 286, 286, 287, 748, 287, 287,
Lev Walkin4696c742005-08-22 12:23:54 +00001439
Lev Walkin752e9732017-08-04 02:06:22 -07001440 290, 290, 290, 290, 290, 290, 290, 290, 290, 290,
1441 290, 290, 290, 209, 209, 748, 209, 209, 590, 590,
1442 748, 590, 590, 590, 590, 590, 590, 590, 590, 590,
1443 590, 588, 588, 588, 748, 748, 748, 588, 748, 748,
1444 748, 748, 588, 17, 748, 748, 748, 748, 748, 748,
1445 748, 748, 748, 748, 748, 748, 748, 748, 748, 748,
1446 748, 748, 748, 748, 748, 748, 748, 748, 748, 748,
1447 748, 748, 748, 748, 748, 748, 748, 748, 748, 748,
1448 748, 748, 748, 748, 748, 748, 748, 748, 748, 748,
1449 748, 748, 748, 748, 748, 748, 748, 748, 748, 748,
1450
1451 748, 748, 748, 748, 748, 748, 748, 748, 748, 748,
1452 748, 748, 748, 748, 748, 748, 748, 748, 748, 748,
1453 748, 748, 748, 748, 748, 748, 748, 748, 748, 748
Lev Walkin2535a692005-07-02 21:42:40 +00001454 } ;
1455
Lev Walkin752e9732017-08-04 02:06:22 -07001456static yyconst flex_int16_t yy_chk[4631] =
Lev Walkin2535a692005-07-02 21:42:40 +00001457 { 0,
1458 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1459 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1460 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1461 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1462 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1463 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1464 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1465 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
Lev Walkin752e9732017-08-04 02:06:22 -07001466 1, 1, 1, 1, 1, 1, 3, 3, 3, 4,
1467 4, 4, 5, 5, 5, 57, 11, 3, 9, 7,
Lev Walkin2535a692005-07-02 21:42:40 +00001468
Lev Walkin752e9732017-08-04 02:06:22 -07001469 4, 8, 9, 5, 6, 6, 6, 7, 12, 8,
1470 150, 54, 7, 10, 8, 6, 135, 10, 11, 104,
1471 29, 11, 29, 7, 99, 8, 82, 82, 82, 82,
1472 12, 746, 104, 12, 19, 19, 19, 19, 84, 545,
1473 136, 19, 20, 20, 20, 20, 545, 202, 36, 20,
1474 24, 24, 24, 24, 36, 84, 99, 24, 36, 54,
1475 36, 36, 36, 145, 150, 24, 24, 36, 155, 26,
1476 57, 235, 167, 135, 11, 202, 11, 26, 26, 26,
1477 26, 26, 26, 26, 26, 136, 12, 84, 12, 13,
Lev Walkin9d542d22006-03-14 16:31:37 +00001478 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
Lev Walkin2535a692005-07-02 21:42:40 +00001479
Lev Walkin752e9732017-08-04 02:06:22 -07001480 13, 13, 13, 13, 13, 83, 83, 83, 83, 94,
1481 94, 94, 94, 13, 13, 13, 13, 13, 27, 145,
1482 235, 155, 13, 27, 41, 167, 27, 27, 27, 27,
1483 27, 27, 27, 27, 41, 615, 41, 164, 41, 189,
1484 189, 189, 189, 41, 13, 13, 13, 30, 44, 30,
1485 30, 30, 30, 30, 30, 30, 30, 199, 44, 274,
1486 44, 356, 44, 199, 257, 615, 30, 44, 318, 13,
1487 13, 13, 13, 13, 13, 14, 14, 14, 14, 14,
Lev Walkin9d542d22006-03-14 16:31:37 +00001488 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
Lev Walkin752e9732017-08-04 02:06:22 -07001489 14, 236, 164, 168, 44, 30, 247, 251, 293, 14,
Lev Walkin2535a692005-07-02 21:42:40 +00001490
Lev Walkin752e9732017-08-04 02:06:22 -07001491 14, 14, 14, 14, 35, 282, 282, 35, 14, 408,
1492 37, 35, 274, 37, 35, 35, 35, 35, 35, 356,
1493 37, 257, 37, 35, 37, 38, 293, 35, 318, 37,
1494 14, 14, 14, 408, 599, 38, 38, 38, 201, 38,
1495 201, 168, 188, 188, 38, 247, 251, 38, 745, 201,
1496 236, 742, 599, 188, 168, 14, 14, 14, 14, 14,
1497 14, 15, 15, 15, 15, 15, 15, 15, 15, 15,
Lev Walkin9d542d22006-03-14 16:31:37 +00001498 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
1499 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
1500 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
1501
1502 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
1503 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
1504 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
Lev Walkin752e9732017-08-04 02:06:22 -07001505 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
1506 15, 15, 15, 15, 15, 15, 15, 23, 47, 364,
1507 292, 47, 292, 741, 740, 739, 738, 737, 47, 364,
1508 47, 292, 47, 736, 23, 735, 734, 47, 23, 23,
Lev Walkin2535a692005-07-02 21:42:40 +00001509 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
1510 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
Lev Walkin752e9732017-08-04 02:06:22 -07001511 23, 23, 23, 23, 330, 272, 23, 23, 23, 23,
Lev Walkin2535a692005-07-02 21:42:40 +00001512
Lev Walkin752e9732017-08-04 02:06:22 -07001513 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
1514 23, 23, 23, 23, 23, 23, 23, 23, 23, 31,
1515 268, 31, 31, 31, 31, 31, 31, 31, 31, 39,
1516 39, 273, 334, 45, 45, 357, 429, 45, 31, 733,
1517 39, 429, 39, 45, 39, 45, 39, 45, 339, 39,
1518 43, 43, 45, 731, 330, 729, 728, 727, 43, 272,
1519 319, 43, 45, 43, 726, 43, 389, 31, 34, 268,
1520 43, 34, 34, 34, 34, 34, 34, 34, 34, 334,
1521 273, 357, 349, 390, 34, 34, 34, 34, 34, 34,
Lev Walkinadf863f2006-09-05 16:18:34 +00001522 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
Lev Walkin2535a692005-07-02 21:42:40 +00001523
Lev Walkinadf863f2006-09-05 16:18:34 +00001524 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
Lev Walkin752e9732017-08-04 02:06:22 -07001525 339, 389, 319, 34, 34, 34, 34, 34, 34, 34,
1526 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
1527 34, 34, 34, 34, 34, 40, 390, 355, 402, 406,
1528 42, 42, 370, 42, 349, 40, 454, 40, 391, 40,
1529 411, 42, 42, 42, 40, 42, 417, 416, 42, 421,
1530 42, 423, 46, 46, 424, 46, 717, 40, 495, 101,
1531 101, 101, 101, 46, 434, 46, 101, 46, 40, 46,
1532 48, 425, 46, 48, 101, 101, 355, 48, 49, 453,
1533 48, 402, 48, 454, 48, 411, 49, 49, 48, 48,
Lev Walkin2535a692005-07-02 21:42:40 +00001534
Lev Walkin752e9732017-08-04 02:06:22 -07001535 50, 406, 370, 48, 466, 417, 46, 49, 391, 49,
1536 50, 49, 50, 49, 50, 421, 49, 416, 50, 50,
1537 51, 423, 589, 114, 717, 495, 424, 434, 466, 49,
1538 51, 52, 51, 114, 51, 114, 425, 114, 52, 51,
1539 50, 52, 114, 52, 453, 52, 56, 56, 56, 56,
1540 52, 589, 724, 723, 485, 455, 51, 426, 426, 426,
1541 426, 56, 56, 56, 56, 56, 56, 56, 56, 80,
1542 174, 174, 174, 174, 80, 80, 80, 80, 80, 80,
1543 80, 80, 80, 80, 80, 174, 174, 174, 174, 174,
1544 174, 174, 174, 80, 80, 80, 80, 80, 103, 115,
Lev Walkin2535a692005-07-02 21:42:40 +00001545
Lev Walkin752e9732017-08-04 02:06:22 -07001546 103, 103, 103, 103, 103, 103, 103, 103, 455, 115,
1547 467, 115, 475, 115, 485, 513, 115, 103, 115, 480,
1548 514, 470, 484, 533, 80, 80, 80, 481, 105, 116,
1549 105, 105, 105, 105, 105, 105, 105, 105, 426, 116,
1550 470, 116, 536, 116, 487, 488, 103, 105, 116, 513,
1551 80, 542, 80, 80, 80, 81, 561, 467, 475, 722,
1552 81, 81, 81, 81, 81, 81, 81, 81, 81, 81,
1553 81, 484, 480, 486, 575, 562, 105, 514, 533, 81,
1554 81, 81, 81, 81, 108, 108, 108, 108, 108, 108,
1555 108, 108, 481, 487, 488, 526, 528, 81, 537, 536,
Lev Walkin2535a692005-07-02 21:42:40 +00001556
Lev Walkin752e9732017-08-04 02:06:22 -07001557 109, 108, 109, 109, 109, 109, 109, 109, 109, 109,
1558 81, 81, 81, 549, 541, 110, 542, 110, 561, 109,
1559 110, 110, 110, 110, 110, 110, 110, 110, 512, 526,
1560 108, 543, 537, 577, 486, 575, 81, 540, 81, 81,
1561 81, 562, 721, 564, 585, 528, 720, 111, 109, 111,
1562 111, 111, 111, 111, 111, 111, 111, 117, 118, 541,
1563 714, 713, 512, 712, 549, 543, 111, 117, 118, 117,
1564 118, 117, 118, 119, 121, 571, 117, 118, 585, 121,
1565 117, 512, 577, 119, 121, 119, 121, 119, 121, 563,
1566 540, 119, 119, 121, 564, 111, 113, 113, 113, 113,
Lev Walkin2535a692005-07-02 21:42:40 +00001567
Lev Walkin752e9732017-08-04 02:06:22 -07001568 113, 113, 113, 113, 113, 113, 113, 113, 113, 113,
1569 113, 113, 113, 113, 113, 113, 113, 113, 122, 123,
1570 205, 205, 205, 205, 205, 205, 205, 205, 122, 123,
1571 122, 123, 122, 123, 124, 571, 122, 122, 123, 603,
1572 125, 711, 573, 580, 124, 583, 124, 124, 124, 708,
1573 125, 563, 125, 124, 125, 126, 126, 584, 704, 125,
1574 581, 127, 127, 614, 586, 703, 126, 612, 126, 126,
1575 126, 702, 127, 128, 127, 126, 127, 602, 604, 609,
1576 700, 127, 619, 128, 128, 128, 129, 128, 603, 130,
1577 129, 636, 128, 611, 580, 641, 129, 614, 129, 130,
Lev Walkin2535a692005-07-02 21:42:40 +00001578
Lev Walkin752e9732017-08-04 02:06:22 -07001579 129, 130, 583, 130, 573, 129, 132, 132, 130, 131,
1580 131, 131, 584, 617, 612, 621, 132, 133, 132, 131,
1581 132, 131, 581, 131, 132, 132, 586, 133, 131, 133,
1582 134, 133, 609, 619, 635, 137, 133, 602, 604, 636,
1583 134, 660, 134, 134, 134, 137, 620, 637, 138, 134,
1584 701, 138, 641, 611, 622, 137, 139, 137, 138, 137,
1585 138, 644, 138, 643, 137, 646, 139, 138, 139, 661,
1586 139, 140, 140, 617, 651, 139, 698, 621, 697, 648,
1587 620, 140, 141, 140, 650, 140, 662, 635, 140, 140,
1588 140, 696, 141, 142, 141, 141, 141, 665, 660, 143,
Lev Walkin2535a692005-07-02 21:42:40 +00001589
Lev Walkin752e9732017-08-04 02:06:22 -07001590 637, 141, 652, 142, 661, 142, 701, 142, 689, 143,
1591 144, 143, 142, 143, 622, 142, 643, 668, 143, 667,
1592 144, 644, 144, 146, 144, 670, 147, 646, 674, 144,
1593 688, 146, 648, 146, 651, 146, 147, 146, 147, 148,
1594 147, 672, 146, 662, 147, 147, 650, 149, 665, 148,
1595 151, 148, 673, 148, 675, 652, 680, 149, 148, 149,
1596 151, 149, 151, 152, 151, 149, 149, 682, 151, 151,
1597 668, 686, 681, 152, 153, 152, 667, 152, 687, 705,
1598 690, 674, 152, 152, 153, 670, 153, 154, 153, 688,
1599 154, 685, 692, 153, 154, 694, 678, 154, 672, 154,
Lev Walkin2535a692005-07-02 21:42:40 +00001600
Lev Walkin752e9732017-08-04 02:06:22 -07001601 693, 154, 156, 156, 695, 677, 154, 680, 715, 157,
1602 725, 675, 673, 156, 676, 156, 671, 156, 682, 157,
1603 158, 157, 156, 157, 157, 681, 159, 157, 157, 687,
1604 158, 710, 158, 690, 158, 161, 159, 160, 159, 158,
1605 159, 705, 159, 692, 158, 159, 669, 160, 161, 160,
1606 666, 160, 694, 693, 162, 695, 160, 715, 161, 162,
1607 161, 707, 161, 658, 162, 163, 162, 161, 162, 654,
1608 725, 165, 653, 162, 649, 163, 647, 163, 165, 163,
1609 645, 165, 710, 165, 163, 165, 169, 166, 166, 743,
1610 165, 166, 588, 588, 588, 588, 169, 166, 169, 166,
Lev Walkin2535a692005-07-02 21:42:40 +00001611
Lev Walkin752e9732017-08-04 02:06:22 -07001612 169, 166, 718, 175, 169, 169, 166, 175, 175, 175,
1613 175, 175, 175, 175, 175, 176, 743, 709, 707, 176,
1614 176, 176, 176, 176, 176, 176, 176, 203, 642, 203,
1615 203, 203, 203, 203, 203, 203, 203, 206, 206, 206,
1616 206, 206, 206, 206, 206, 210, 203, 632, 210, 719,
1617 626, 211, 625, 718, 616, 210, 613, 210, 744, 210,
1618 610, 211, 605, 211, 210, 211, 593, 212, 213, 590,
1619 211, 576, 572, 588, 709, 203, 208, 212, 213, 212,
1620 213, 212, 213, 214, 539, 744, 212, 213, 530, 525,
1621 492, 216, 491, 214, 217, 214, 214, 214, 216, 472,
Lev Walkin2535a692005-07-02 21:42:40 +00001622
Lev Walkin752e9732017-08-04 02:06:22 -07001623 719, 216, 214, 216, 217, 216, 217, 430, 217, 365,
1624 216, 363, 294, 217, 287, 623, 623, 623, 623, 286,
1625 285, 208, 208, 208, 208, 208, 208, 208, 208, 208,
1626 208, 208, 208, 208, 208, 208, 208, 208, 208, 208,
1627 208, 208, 208, 218, 219, 284, 283, 280, 276, 215,
1628 209, 200, 198, 218, 219, 218, 219, 218, 219, 220,
1629 218, 196, 218, 219, 194, 192, 187, 221, 185, 220,
1630 222, 220, 180, 220, 221, 220, 177, 221, 220, 221,
1631 222, 221, 222, 223, 222, 173, 221, 222, 120, 222,
1632 112, 224, 106, 223, 102, 223, 623, 223, 100, 98,
Lev Walkin2535a692005-07-02 21:42:40 +00001633
Lev Walkin752e9732017-08-04 02:06:22 -07001634 97, 224, 223, 224, 96, 224, 225, 225, 224, 224,
1635 224, 93, 88, 226, 225, 87, 226, 225, 86, 225,
1636 73, 225, 70, 226, 227, 226, 225, 226, 66, 65,
1637 228, 62, 226, 61, 227, 55, 227, 227, 227, 53,
1638 228, 229, 228, 227, 228, 32, 28, 230, 22, 228,
1639 230, 229, 229, 229, 21, 229, 18, 230, 231, 230,
1640 229, 230, 17, 0, 232, 0, 230, 232, 231, 0,
1641 231, 231, 231, 0, 232, 233, 232, 231, 232, 0,
1642 0, 0, 0, 232, 0, 233, 234, 233, 0, 233,
1643 0, 0, 233, 0, 233, 0, 234, 234, 234, 237,
Lev Walkin2535a692005-07-02 21:42:40 +00001644
Lev Walkin752e9732017-08-04 02:06:22 -07001645 234, 0, 0, 0, 0, 234, 0, 238, 0, 237,
1646 239, 237, 0, 237, 0, 0, 237, 238, 237, 238,
1647 239, 238, 239, 239, 239, 240, 238, 0, 241, 239,
1648 0, 242, 0, 0, 242, 240, 0, 240, 241, 240,
1649 241, 242, 241, 242, 240, 242, 241, 241, 243, 244,
1650 242, 0, 0, 0, 0, 0, 0, 243, 0, 244,
1651 245, 244, 0, 244, 0, 0, 0, 243, 244, 243,
1652 245, 243, 245, 246, 245, 0, 243, 0, 0, 245,
1653 0, 248, 0, 246, 248, 246, 0, 246, 0, 0,
1654 0, 248, 246, 248, 249, 248, 0, 249, 0, 0,
Lev Walkin2535a692005-07-02 21:42:40 +00001655
Lev Walkin752e9732017-08-04 02:06:22 -07001656 248, 0, 250, 0, 249, 252, 249, 0, 249, 250,
1657 0, 0, 250, 249, 250, 252, 250, 252, 253, 252,
1658 0, 250, 0, 252, 252, 0, 254, 0, 253, 0,
1659 253, 0, 253, 0, 255, 0, 254, 253, 254, 0,
1660 254, 0, 256, 254, 255, 254, 255, 0, 255, 0,
1661 0, 255, 256, 255, 256, 258, 256, 259, 259, 0,
1662 0, 256, 256, 0, 0, 258, 260, 258, 259, 258,
1663 259, 0, 259, 0, 258, 0, 260, 259, 260, 261,
1664 260, 0, 0, 0, 0, 260, 0, 262, 0, 261,
1665 262, 261, 0, 261, 0, 263, 0, 262, 261, 262,
Lev Walkin2535a692005-07-02 21:42:40 +00001666
Lev Walkin752e9732017-08-04 02:06:22 -07001667 0, 262, 263, 264, 0, 263, 262, 263, 0, 263,
1668 0, 0, 0, 264, 263, 264, 265, 264, 0, 0,
1669 0, 264, 264, 0, 266, 0, 265, 0, 265, 0,
1670 265, 0, 0, 265, 266, 265, 266, 267, 266, 0,
1671 267, 266, 0, 266, 0, 269, 0, 267, 0, 267,
1672 0, 267, 0, 0, 271, 269, 267, 269, 269, 269,
1673 269, 270, 271, 0, 269, 269, 0, 0, 0, 0,
1674 0, 270, 271, 270, 271, 270, 271, 275, 0, 270,
1675 270, 271, 0, 275, 0, 0, 0, 275, 0, 275,
1676 0, 275, 277, 277, 277, 277, 275, 0, 0, 0,
Lev Walkin2535a692005-07-02 21:42:40 +00001677
Lev Walkin752e9732017-08-04 02:06:22 -07001678 278, 278, 278, 278, 0, 0, 0, 277, 277, 277,
1679 277, 277, 277, 277, 277, 278, 278, 278, 278, 278,
1680 278, 278, 278, 295, 296, 0, 0, 0, 0, 0,
1681 0, 296, 0, 295, 296, 295, 296, 295, 296, 297,
1682 0, 0, 295, 296, 0, 298, 0, 0, 0, 297,
1683 297, 297, 0, 297, 0, 298, 299, 298, 297, 298,
1684 0, 0, 300, 0, 298, 300, 299, 0, 299, 0,
1685 299, 0, 300, 0, 300, 299, 300, 301, 301, 302,
1686 302, 300, 0, 0, 0, 0, 0, 0, 301, 302,
1687 301, 302, 301, 302, 303, 0, 0, 301, 302, 0,
Lev Walkin2535a692005-07-02 21:42:40 +00001688
Lev Walkin752e9732017-08-04 02:06:22 -07001689 0, 299, 304, 0, 303, 0, 303, 0, 303, 0,
1690 305, 303, 304, 303, 304, 304, 304, 0, 0, 0,
1691 305, 304, 305, 307, 305, 306, 306, 0, 305, 305,
1692 0, 0, 0, 307, 308, 307, 306, 307, 306, 0,
1693 306, 0, 307, 0, 308, 306, 308, 309, 308, 309,
1694 310, 0, 310, 308, 0, 0, 0, 309, 0, 309,
1695 310, 309, 310, 0, 310, 311, 309, 0, 311, 310,
1696 0, 312, 0, 0, 0, 311, 0, 311, 0, 311,
1697 0, 312, 313, 312, 311, 312, 0, 0, 314, 313,
1698 312, 0, 313, 0, 313, 0, 313, 0, 314, 315,
Lev Walkin2535a692005-07-02 21:42:40 +00001699
Lev Walkin752e9732017-08-04 02:06:22 -07001700 314, 313, 314, 0, 314, 0, 0, 314, 0, 315,
1701 0, 315, 0, 315, 316, 315, 0, 316, 315, 0,
1702 317, 0, 0, 0, 316, 0, 316, 0, 316, 0,
1703 317, 320, 317, 316, 317, 0, 0, 321, 0, 317,
1704 0, 320, 0, 320, 0, 320, 0, 321, 0, 321,
1705 320, 321, 322, 323, 0, 321, 321, 0, 0, 322,
1706 0, 0, 322, 323, 322, 323, 322, 323, 324, 323,
1707 0, 322, 323, 325, 325, 0, 320, 0, 324, 0,
1708 324, 327, 324, 0, 325, 0, 325, 324, 325, 326,
1709 325, 0, 327, 325, 326, 0, 0, 0, 0, 326,
Lev Walkin2535a692005-07-02 21:42:40 +00001710
Lev Walkin752e9732017-08-04 02:06:22 -07001711 328, 326, 327, 326, 327, 326, 327, 0, 326, 0,
1712 328, 327, 328, 329, 328, 0, 0, 328, 0, 328,
1713 0, 331, 331, 329, 332, 329, 0, 329, 0, 0,
1714 0, 331, 329, 331, 332, 331, 332, 333, 332, 0,
1715 331, 336, 332, 332, 0, 335, 0, 333, 335, 333,
1716 333, 333, 0, 0, 0, 335, 333, 335, 336, 335,
1717 0, 0, 0, 0, 335, 0, 337, 0, 336, 337,
1718 336, 0, 336, 338, 338, 0, 337, 336, 337, 0,
1719 337, 0, 340, 0, 338, 337, 338, 0, 338, 0,
1720 341, 0, 340, 338, 340, 0, 340, 0, 0, 0,
Lev Walkin2535a692005-07-02 21:42:40 +00001721
Lev Walkin752e9732017-08-04 02:06:22 -07001722 341, 340, 341, 342, 341, 0, 342, 0, 341, 341,
1723 0, 343, 0, 342, 344, 342, 0, 342, 0, 0,
1724 0, 343, 342, 343, 344, 343, 344, 0, 344, 346,
1725 343, 345, 345, 344, 0, 347, 0, 0, 0, 346,
1726 0, 346, 345, 346, 345, 347, 345, 347, 346, 347,
1727 348, 345, 0, 350, 347, 0, 351, 0, 0, 0,
1728 348, 0, 348, 350, 348, 350, 351, 350, 351, 348,
1729 351, 0, 350, 352, 346, 351, 352, 0, 0, 353,
1730 0, 0, 0, 352, 0, 352, 0, 352, 0, 353,
1731 354, 353, 352, 353, 0, 0, 0, 0, 353, 0,
Lev Walkin2535a692005-07-02 21:42:40 +00001732
Lev Walkin752e9732017-08-04 02:06:22 -07001733 354, 0, 354, 0, 354, 0, 358, 354, 0, 354,
1734 0, 359, 359, 359, 359, 353, 358, 0, 358, 0,
1735 358, 0, 0, 0, 0, 358, 359, 359, 359, 359,
1736 359, 359, 359, 359, 360, 360, 360, 360, 0, 0,
1737 0, 0, 0, 0, 0, 360, 0, 0, 0, 360,
1738 360, 360, 360, 360, 360, 360, 360, 361, 361, 361,
1739 361, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1740 0, 0, 361, 361, 361, 361, 361, 361, 361, 361,
1741 362, 0, 366, 0, 362, 362, 362, 362, 362, 362,
1742 362, 362, 366, 0, 366, 0, 366, 367, 367, 0,
Lev Walkin2535a692005-07-02 21:42:40 +00001743
Lev Walkin752e9732017-08-04 02:06:22 -07001744 366, 366, 0, 0, 0, 0, 0, 367, 0, 367,
1745 369, 367, 368, 368, 0, 360, 367, 0, 0, 0,
1746 369, 0, 369, 368, 369, 368, 0, 368, 0, 369,
1747 371, 371, 368, 0, 372, 372, 0, 373, 0, 0,
1748 373, 371, 0, 371, 372, 371, 372, 373, 372, 373,
1749 371, 373, 374, 372, 0, 375, 373, 0, 0, 0,
1750 0, 0, 374, 376, 374, 375, 374, 375, 0, 375,
1751 0, 374, 0, 376, 375, 376, 377, 376, 0, 376,
1752 0, 0, 376, 377, 378, 0, 377, 0, 377, 0,
1753 377, 0, 0, 0, 378, 377, 378, 379, 378, 0,
Lev Walkin2535a692005-07-02 21:42:40 +00001754
Lev Walkin752e9732017-08-04 02:06:22 -07001755 379, 0, 0, 378, 379, 0, 0, 379, 380, 379,
1756 380, 379, 0, 0, 381, 0, 379, 381, 380, 0,
1757 380, 381, 380, 0, 381, 382, 381, 380, 381, 0,
1758 0, 0, 0, 381, 0, 382, 383, 382, 0, 382,
1759 0, 382, 0, 0, 382, 0, 383, 0, 383, 0,
1760 383, 384, 384, 0, 383, 383, 0, 385, 0, 0,
1761 0, 384, 0, 384, 0, 384, 0, 385, 386, 385,
1762 384, 385, 0, 0, 387, 385, 385, 0, 386, 0,
1763 386, 0, 386, 0, 387, 386, 387, 386, 387, 388,
1764 392, 0, 0, 387, 0, 0, 0, 392, 0, 388,
Lev Walkin2535a692005-07-02 21:42:40 +00001765
Lev Walkin752e9732017-08-04 02:06:22 -07001766 392, 388, 392, 388, 392, 0, 0, 394, 388, 392,
1767 393, 393, 0, 393, 0, 0, 0, 394, 0, 394,
1768 393, 394, 393, 0, 393, 394, 394, 396, 395, 393,
1769 395, 0, 0, 0, 0, 0, 0, 396, 395, 396,
1770 395, 396, 395, 397, 0, 0, 396, 395, 0, 398,
1771 0, 0, 398, 397, 0, 397, 0, 397, 0, 398,
1772 399, 398, 397, 398, 400, 0, 0, 401, 398, 0,
1773 399, 0, 399, 400, 399, 0, 0, 399, 0, 399,
1774 0, 403, 0, 400, 401, 400, 0, 400, 0, 0,
1775 0, 403, 400, 403, 401, 403, 401, 404, 401, 403,
Lev Walkin2535a692005-07-02 21:42:40 +00001776
Lev Walkin752e9732017-08-04 02:06:22 -07001777 403, 0, 0, 401, 0, 405, 0, 404, 0, 404,
1778 0, 404, 0, 407, 0, 405, 404, 405, 0, 405,
1779 0, 409, 0, 407, 405, 407, 0, 407, 0, 407,
1780 0, 409, 407, 409, 410, 409, 0, 0, 0, 0,
1781 409, 0, 0, 0, 410, 0, 410, 412, 410, 0,
1782 413, 0, 410, 410, 412, 0, 0, 412, 414, 412,
1783 413, 412, 413, 414, 413, 0, 412, 0, 414, 413,
1784 414, 415, 414, 0, 0, 0, 0, 414, 0, 0,
1785 0, 415, 418, 415, 0, 415, 0, 0, 419, 0,
1786 415, 419, 418, 415, 418, 0, 418, 0, 419, 420,
Lev Walkin2535a692005-07-02 21:42:40 +00001787
Lev Walkin752e9732017-08-04 02:06:22 -07001788 419, 418, 419, 0, 0, 0, 0, 419, 0, 420,
1789 422, 420, 0, 420, 0, 420, 0, 0, 420, 0,
1790 422, 0, 422, 0, 422, 427, 427, 427, 427, 422,
1791 0, 0, 0, 0, 0, 0, 0, 0, 431, 0,
1792 427, 427, 427, 427, 427, 427, 427, 427, 431, 0,
1793 431, 433, 431, 432, 432, 422, 0, 431, 0, 0,
1794 0, 433, 435, 433, 432, 433, 432, 0, 432, 433,
1795 433, 0, 435, 432, 435, 436, 435, 0, 437, 0,
1796 0, 435, 0, 0, 0, 436, 0, 436, 437, 436,
1797 437, 0, 437, 436, 436, 438, 0, 437, 438, 0,
Lev Walkin2535a692005-07-02 21:42:40 +00001798
Lev Walkin752e9732017-08-04 02:06:22 -07001799 439, 439, 0, 0, 0, 438, 0, 438, 0, 438,
1800 0, 439, 440, 439, 438, 439, 0, 0, 441, 0,
1801 439, 0, 440, 0, 440, 0, 440, 0, 441, 0,
1802 441, 440, 441, 442, 0, 442, 441, 441, 0, 443,
1803 0, 0, 0, 442, 0, 442, 0, 442, 0, 443,
1804 0, 443, 442, 443, 0, 0, 444, 443, 443, 444,
1805 0, 0, 445, 0, 445, 0, 444, 0, 444, 0,
1806 444, 0, 445, 446, 445, 444, 445, 0, 447, 447,
1807 0, 445, 0, 446, 0, 446, 0, 446, 0, 447,
1808 448, 447, 446, 447, 0, 0, 449, 0, 447, 0,
Lev Walkin2535a692005-07-02 21:42:40 +00001809
Lev Walkin752e9732017-08-04 02:06:22 -07001810 448, 0, 448, 449, 448, 0, 449, 450, 449, 448,
1811 449, 0, 0, 451, 0, 449, 0, 450, 0, 450,
1812 451, 450, 0, 451, 450, 451, 450, 451, 452, 452,
1813 456, 0, 451, 0, 456, 0, 0, 0, 0, 452,
1814 456, 452, 456, 452, 456, 457, 0, 0, 452, 456,
1815 0, 458, 457, 458, 0, 457, 0, 457, 0, 457,
1816 0, 458, 459, 458, 457, 458, 0, 0, 460, 0,
1817 458, 460, 459, 0, 459, 0, 459, 0, 460, 459,
1818 460, 459, 460, 461, 461, 0, 0, 460, 0, 462,
1819 462, 0, 0, 461, 0, 461, 0, 461, 0, 462,
Lev Walkin2535a692005-07-02 21:42:40 +00001820
Lev Walkin752e9732017-08-04 02:06:22 -07001821 463, 462, 461, 462, 0, 0, 0, 0, 462, 0,
1822 463, 0, 463, 0, 463, 464, 463, 0, 464, 463,
1823 0, 465, 0, 0, 0, 464, 0, 464, 0, 464,
1824 0, 465, 468, 465, 464, 465, 0, 0, 465, 0,
1825 465, 0, 468, 0, 468, 471, 468, 469, 469, 0,
1826 0, 468, 0, 0, 0, 471, 473, 471, 469, 471,
1827 469, 0, 469, 0, 471, 0, 473, 469, 473, 474,
1828 473, 0, 474, 0, 473, 473, 0, 476, 0, 474,
1829 0, 474, 0, 474, 0, 0, 0, 476, 474, 476,
1830 0, 476, 477, 477, 0, 478, 476, 476, 479, 0,
Lev Walkin2535a692005-07-02 21:42:40 +00001831
Lev Walkin752e9732017-08-04 02:06:22 -07001832 0, 0, 477, 0, 477, 478, 477, 478, 479, 478,
1833 479, 477, 479, 482, 478, 0, 483, 479, 0, 0,
1834 0, 0, 0, 482, 0, 482, 483, 482, 483, 0,
1835 483, 493, 482, 483, 0, 483, 489, 489, 489, 489,
1836 0, 493, 0, 493, 0, 493, 0, 0, 0, 493,
1837 493, 489, 489, 489, 489, 489, 489, 489, 489, 490,
1838 0, 0, 0, 490, 490, 490, 490, 490, 490, 490,
1839 490, 494, 496, 0, 0, 0, 0, 0, 494, 0,
1840 0, 494, 496, 494, 496, 494, 496, 0, 498, 497,
1841 494, 496, 497, 0, 0, 0, 0, 0, 498, 497,
Lev Walkin2535a692005-07-02 21:42:40 +00001842
Lev Walkin752e9732017-08-04 02:06:22 -07001843 498, 497, 498, 497, 499, 500, 0, 498, 497, 0,
1844 0, 499, 500, 0, 499, 500, 499, 500, 499, 500,
1845 501, 502, 0, 499, 500, 0, 0, 0, 0, 0,
1846 501, 502, 501, 502, 501, 502, 503, 0, 0, 501,
1847 502, 0, 504, 503, 504, 0, 503, 0, 503, 0,
1848 503, 0, 504, 505, 504, 503, 504, 0, 0, 506,
1849 0, 504, 0, 505, 506, 505, 0, 505, 0, 506,
1850 507, 506, 505, 506, 0, 0, 0, 0, 506, 0,
1851 507, 508, 507, 0, 507, 0, 0, 0, 507, 507,
1852 0, 508, 509, 508, 0, 508, 0, 0, 510, 508,
Lev Walkin2535a692005-07-02 21:42:40 +00001853
Lev Walkin752e9732017-08-04 02:06:22 -07001854 508, 0, 509, 0, 509, 0, 509, 0, 510, 511,
1855 510, 509, 510, 0, 0, 515, 0, 510, 0, 511,
1856 0, 511, 515, 511, 0, 515, 516, 515, 511, 515,
1857 0, 0, 0, 0, 515, 0, 516, 517, 516, 0,
1858 516, 0, 0, 518, 516, 516, 0, 517, 0, 517,
1859 0, 517, 0, 518, 519, 518, 517, 518, 0, 0,
1860 520, 0, 518, 520, 519, 0, 519, 0, 519, 0,
1861 520, 519, 520, 519, 520, 521, 522, 0, 0, 520,
1862 0, 0, 0, 0, 0, 521, 522, 521, 522, 521,
1863 522, 523, 523, 521, 521, 522, 0, 524, 0, 0,
Lev Walkin2535a692005-07-02 21:42:40 +00001864
Lev Walkin752e9732017-08-04 02:06:22 -07001865 0, 523, 0, 523, 0, 523, 0, 524, 527, 524,
1866 523, 524, 0, 0, 529, 0, 524, 0, 527, 0,
1867 527, 0, 527, 0, 529, 531, 529, 527, 529, 0,
1868 0, 532, 0, 529, 0, 531, 0, 531, 0, 531,
1869 0, 532, 524, 532, 531, 532, 534, 0, 0, 534,
1870 532, 0, 535, 0, 0, 535, 534, 0, 534, 0,
1871 534, 0, 535, 0, 535, 534, 535, 538, 538, 0,
1872 0, 535, 0, 544, 544, 544, 544, 0, 538, 0,
1873 538, 0, 538, 0, 0, 0, 0, 538, 544, 544,
1874 544, 544, 544, 544, 544, 544, 547, 548, 548, 0,
Lev Walkin2535a692005-07-02 21:42:40 +00001875
Lev Walkin752e9732017-08-04 02:06:22 -07001876 0, 0, 0, 547, 0, 0, 547, 548, 547, 548,
1877 547, 548, 550, 0, 0, 547, 548, 0, 0, 0,
1878 551, 0, 550, 552, 550, 0, 550, 0, 550, 0,
1879 551, 550, 551, 552, 551, 552, 553, 552, 551, 551,
1880 0, 0, 552, 556, 554, 0, 553, 0, 553, 0,
1881 553, 0, 555, 0, 554, 553, 554, 554, 554, 0,
1882 556, 0, 555, 554, 555, 0, 555, 0, 0, 0,
1883 556, 555, 556, 557, 556, 0, 557, 0, 0, 556,
1884 0, 558, 0, 557, 0, 557, 0, 557, 0, 559,
1885 0, 558, 557, 558, 0, 558, 559, 560, 0, 559,
Lev Walkin2535a692005-07-02 21:42:40 +00001886
Lev Walkin752e9732017-08-04 02:06:22 -07001887 558, 559, 0, 559, 0, 0, 0, 560, 559, 560,
1888 565, 560, 0, 565, 0, 0, 560, 0, 566, 0,
1889 565, 567, 565, 0, 565, 0, 0, 0, 566, 565,
1890 566, 567, 566, 567, 568, 567, 0, 566, 0, 0,
1891 567, 0, 569, 0, 568, 570, 568, 0, 568, 569,
1892 0, 0, 569, 568, 569, 570, 569, 570, 574, 570,
1893 0, 569, 578, 570, 570, 0, 579, 0, 574, 0,
1894 574, 0, 574, 0, 0, 0, 579, 574, 579, 578,
1895 579, 0, 582, 0, 0, 579, 0, 0, 0, 578,
1896 0, 578, 582, 578, 582, 0, 582, 591, 578, 0,
Lev Walkin2535a692005-07-02 21:42:40 +00001897
Lev Walkin752e9732017-08-04 02:06:22 -07001898 0, 582, 587, 587, 587, 587, 0, 591, 0, 591,
1899 591, 591, 0, 0, 0, 592, 591, 587, 587, 587,
1900 587, 587, 587, 587, 587, 592, 594, 592, 0, 592,
1901 0, 0, 595, 0, 592, 0, 594, 0, 594, 0,
1902 594, 0, 595, 0, 595, 594, 595, 596, 597, 595,
1903 596, 595, 0, 597, 0, 0, 0, 596, 597, 596,
1904 597, 596, 597, 598, 0, 0, 596, 597, 0, 600,
1905 0, 600, 0, 598, 0, 598, 0, 598, 0, 600,
1906 601, 600, 598, 600, 0, 0, 606, 0, 600, 0,
1907 601, 0, 601, 0, 601, 0, 606, 607, 606, 601,
Lev Walkin2535a692005-07-02 21:42:40 +00001908
Lev Walkin752e9732017-08-04 02:06:22 -07001909 606, 0, 606, 0, 0, 606, 0, 607, 608, 607,
1910 607, 607, 0, 0, 618, 608, 607, 0, 608, 0,
1911 608, 0, 608, 0, 618, 627, 618, 608, 618, 0,
1912 0, 628, 0, 618, 0, 627, 0, 627, 0, 627,
1913 0, 628, 0, 628, 627, 628, 629, 630, 629, 0,
1914 628, 0, 0, 0, 0, 0, 629, 630, 629, 630,
1915 629, 630, 631, 633, 0, 629, 630, 0, 0, 0,
1916 0, 0, 631, 633, 631, 633, 631, 633, 634, 631,
1917 0, 631, 633, 0, 638, 634, 0, 0, 634, 0,
1918 634, 0, 634, 0, 638, 639, 638, 634, 638, 0,
Lev Walkin2535a692005-07-02 21:42:40 +00001919
Lev Walkin752e9732017-08-04 02:06:22 -07001920 0, 0, 0, 638, 0, 639, 640, 639, 0, 639,
1921 0, 0, 655, 0, 639, 0, 640, 0, 640, 640,
1922 640, 0, 655, 656, 655, 640, 655, 0, 0, 657,
1923 0, 655, 0, 656, 0, 656, 0, 656, 0, 657,
1924 659, 657, 656, 657, 0, 0, 0, 0, 657, 0,
1925 659, 663, 659, 0, 659, 0, 0, 664, 659, 659,
1926 0, 663, 0, 663, 0, 663, 0, 664, 663, 664,
1927 663, 664, 679, 683, 0, 0, 664, 0, 0, 0,
1928 0, 0, 679, 683, 679, 683, 679, 683, 684, 699,
1929 0, 679, 683, 0, 0, 679, 0, 0, 684, 699,
1930
1931 684, 699, 684, 699, 0, 0, 0, 684, 699, 749,
1932 749, 749, 749, 749, 749, 749, 749, 749, 749, 749,
1933 749, 749, 750, 750, 750, 750, 750, 750, 750, 750,
1934 750, 750, 750, 750, 750, 751, 751, 751, 751, 751,
1935 751, 751, 751, 751, 751, 751, 751, 751, 752, 752,
1936 752, 752, 752, 752, 752, 752, 752, 752, 752, 752,
1937 752, 753, 753, 753, 753, 753, 753, 753, 753, 753,
1938 753, 753, 753, 753, 754, 754, 754, 754, 0, 754,
1939 754, 754, 754, 754, 754, 754, 754, 755, 755, 755,
1940 0, 755, 0, 755, 0, 755, 756, 756, 0, 756,
1941
1942 756, 757, 757, 0, 0, 757, 757, 0, 757, 757,
1943 757, 757, 757, 757, 758, 758, 758, 758, 0, 758,
1944 758, 758, 758, 758, 758, 758, 758, 759, 759, 759,
1945 759, 759, 759, 759, 759, 0, 759, 759, 760, 0,
1946 0, 0, 760, 760, 760, 760, 760, 760, 760, 761,
1947 0, 0, 0, 761, 761, 761, 761, 761, 761, 761,
1948 762, 762, 0, 762, 762, 763, 763, 0, 763, 763,
1949 764, 764, 0, 764, 764, 765, 0, 765, 765, 766,
1950 766, 0, 766, 766, 767, 0, 767, 767, 768, 0,
1951 768, 768, 769, 0, 769, 769, 770, 0, 770, 770,
1952
1953 771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
1954 771, 771, 771, 772, 772, 0, 772, 772, 773, 773,
1955 0, 773, 773, 773, 773, 773, 773, 773, 773, 773,
1956 773, 774, 774, 774, 0, 0, 0, 774, 0, 0,
1957 0, 0, 774, 748, 748, 748, 748, 748, 748, 748,
1958 748, 748, 748, 748, 748, 748, 748, 748, 748, 748,
1959 748, 748, 748, 748, 748, 748, 748, 748, 748, 748,
1960 748, 748, 748, 748, 748, 748, 748, 748, 748, 748,
1961 748, 748, 748, 748, 748, 748, 748, 748, 748, 748,
1962 748, 748, 748, 748, 748, 748, 748, 748, 748, 748,
Lev Walkin4696c742005-08-22 12:23:54 +00001963
Lev Walkin0e90aa02013-03-19 16:17:13 -07001964 748, 748, 748, 748, 748, 748, 748, 748, 748, 748,
Lev Walkin752e9732017-08-04 02:06:22 -07001965 748, 748, 748, 748, 748, 748, 748, 748, 748, 748,
1966 748, 748, 748, 748, 748, 748, 748, 748, 748, 748
Lev Walkinf15320b2004-06-03 03:38:44 +00001967 } ;
1968
Lev Walkin03892812010-11-03 09:33:03 -07001969/* Table of booleans, true if rule could match eol. */
Lev Walkin752e9732017-08-04 02:06:22 -07001970static yyconst flex_int32_t yy_rule_can_match_eol[142] =
Lev Walkin03892812010-11-03 09:33:03 -07001971 { 0,
Lev Walkin752e9732017-08-04 02:06:22 -070019720, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0,
1973 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
Lev Walkin03892812010-11-03 09:33:03 -07001974 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1975 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1976 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1977 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
Lev Walkin752e9732017-08-04 02:06:22 -07001978 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 1,
1979 0, 0, };
Lev Walkinf15320b2004-06-03 03:38:44 +00001980
Lev Walkin03892812010-11-03 09:33:03 -07001981extern int asn1p__flex_debug;
1982int asn1p__flex_debug = 1;
1983
Lev Walkin752e9732017-08-04 02:06:22 -07001984static yyconst flex_int16_t yy_rule_linenum[141] =
Lev Walkinf15320b2004-06-03 03:38:44 +00001985 { 0,
Lev Walkin752e9732017-08-04 02:06:22 -07001986 96, 98, 99, 101, 104, 106, 109, 111, 112, 113,
1987 116, 118, 119, 120, 132, 139, 146, 152, 161, 169,
1988 177, 178, 180, 199, 205, 206, 207, 208, 209, 212,
1989 218, 225, 232, 239, 246, 253, 254, 255, 263, 264,
1990 265, 266, 267, 272, 273, 274, 275, 276, 277, 278,
1991 279, 280, 281, 282, 291, 292, 293, 294, 295, 296,
1992 297, 298, 299, 300, 301, 302, 303, 304, 305, 306,
1993 307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
1994 317, 318, 319, 320, 321, 322, 323, 324, 325, 326,
1995 327, 328, 329, 330, 331, 332, 333, 334, 335, 336,
Lev Walkinf15320b2004-06-03 03:38:44 +00001996
Lev Walkin752e9732017-08-04 02:06:22 -07001997 337, 338, 339, 340, 341, 342, 343, 344, 345, 346,
1998 347, 348, 353, 354, 359, 360, 361, 364, 369, 375,
1999 383, 393, 398, 400, 401, 405, 410, 415, 421, 422,
2000 424, 430, 443, 446, 471, 515, 516, 518, 520, 531
Lev Walkinf15320b2004-06-03 03:38:44 +00002001 } ;
2002
Lev Walkin03892812010-11-03 09:33:03 -07002003static yy_state_type *yy_state_buf=0, *yy_state_ptr=0;
Lev Walkinf15320b2004-06-03 03:38:44 +00002004static char *yy_full_match;
2005static int yy_lp;
2006#define REJECT \
2007{ \
Lev Walkin03892812010-11-03 09:33:03 -07002008*yy_cp = (yy_hold_char); /* undo effects of setting up asn1p_text */ \
2009yy_cp = (yy_full_match); /* restore poss. backed-over text */ \
2010++(yy_lp); \
Lev Walkinf15320b2004-06-03 03:38:44 +00002011goto find_rule; \
2012}
Lev Walkin03892812010-11-03 09:33:03 -07002013
Lev Walkinf15320b2004-06-03 03:38:44 +00002014#define yymore() yymore_used_but_not_detected
2015#define YY_MORE_ADJ 0
2016#define YY_RESTORE_YY_MORE_OFFSET
Lev Walkin03892812010-11-03 09:33:03 -07002017char *asn1p_text;
Lev Walkinf15320b2004-06-03 03:38:44 +00002018#line 1 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002019#line 2 "asn1p_l.l"
2020
2021#include <string.h>
2022#include <errno.h>
2023#include <assert.h>
2024
2025#include "asn1parser.h"
2026#include "asn1p_y.h"
2027
2028int asn1p_lex(void);
2029void asn1p_lexer_hack_push_opaque_state(void); /* Used in .y */
2030void asn1p_lexer_hack_enable_with_syntax(void); /* Used in .y */
Lev Walkinf59d0752004-08-18 04:59:12 +00002031void asn1p_lexer_hack_push_encoding_control(void); /* Used in .y */
Lev Walkinf15320b2004-06-03 03:38:44 +00002032
2033#define YY_FATAL_ERROR(msg) do { \
2034 fprintf(stderr, \
2035 "lexer error at line %d, " \
2036 "text \"%s\"\n", \
Lev Walkin03892812010-11-03 09:33:03 -07002037 asn1p_lineno, asn1p_text); \
Lev Walkinf15320b2004-06-03 03:38:44 +00002038 exit(1); \
2039 } while(0)
2040
2041int asn1p_lexer_pedantic_1990 = 0;
2042int asn1p_lexer_types_year = 0;
2043int asn1p_lexer_constructs_year = 0;
Lev Walkinf15320b2004-06-03 03:38:44 +00002044
Lev Walkin4696c742005-08-22 12:23:54 +00002045int asn1p_as_pointer;
2046
Lev Walkind370e9f2006-03-16 10:03:35 +00002047static asn1c_integer_t _lex_atoi(const char *ptr);
Lev Walkinadf863f2006-09-05 16:18:34 +00002048static double _lex_atod(const char *ptr);
Lev Walkind370e9f2006-03-16 10:03:35 +00002049
Lev Walkinf15320b2004-06-03 03:38:44 +00002050/*
2051 * Check that the type is defined in the year of the standard choosen.
2052 */
2053#define TYPE_LIFETIME(fyr, lyr) \
2054 (!asn1p_lexer_types_year \
2055 || (fyr && fyr <= asn1p_lexer_types_year) \
2056 || (lyr && lyr > asn1p_lexer_types_year))
2057
2058/*
2059 * Check the the construction (or concept, i.e. CLASS) is defined in
2060 * a given year.
2061 */
2062#define CONSTRUCT_LIFETIME(fyr, lyr) \
2063 (!asn1p_lexer_constructs_year \
2064 || (fyr && fyr <= asn1p_lexer_constructs_year) \
2065 || (lyr && lyr > asn1p_lexer_constructs_year))
2066
2067/*
Lev Walkinf15320b2004-06-03 03:38:44 +00002068 * Append quoted string.
2069 */
2070#define QAPPEND(text, tlen) do { \
2071 char *prev_text = asn1p_lval.tv_opaque.buf; \
2072 int prev_len = asn1p_lval.tv_opaque.len; \
2073 char *p; \
2074 \
2075 p = malloc((tlen) + prev_len + 1); \
2076 if(p == NULL) return -1; \
2077 \
2078 if(prev_text) memcpy(p, prev_text, prev_len); \
2079 memcpy(p + prev_len, text, tlen); \
2080 p[prev_len + (tlen)] = '\0'; \
2081 \
2082 free(asn1p_lval.tv_opaque.buf); \
2083 asn1p_lval.tv_opaque.buf = p; \
2084 asn1p_lval.tv_opaque.len = (tlen) + prev_len; \
2085 } while(0)
2086
Lev Walkinf15320b2004-06-03 03:38:44 +00002087#define YY_NO_INPUT 1
Lev Walkinf15320b2004-06-03 03:38:44 +00002088/* Performance penalty is OK */
2089/* Controlled from within application */
Lev Walkinf15320b2004-06-03 03:38:44 +00002090
Lev Walkinf15320b2004-06-03 03:38:44 +00002091
Lev Walkinf15320b2004-06-03 03:38:44 +00002092
Lev Walkinf15320b2004-06-03 03:38:44 +00002093
Lev Walkinf59d0752004-08-18 04:59:12 +00002094
Lev Walkin2535a692005-07-02 21:42:40 +00002095
Lev Walkinf15320b2004-06-03 03:38:44 +00002096
2097/* Newline */
2098/* White-space */
Lev Walkin752e9732017-08-04 02:06:22 -07002099#line 2100 "asn1p_l.c"
Lev Walkin03892812010-11-03 09:33:03 -07002100
2101#define INITIAL 0
2102#define dash_comment 1
2103#define idash_comment 2
2104#define cpp_comment 3
2105#define quoted 4
2106#define opaque 5
2107#define encoding_control 6
2108#define with_syntax 7
2109
2110#ifndef YY_NO_UNISTD_H
2111/* Special case for "unistd.h", since it is non-ANSI. We include it way
2112 * down here because we want the user's section 1 to have been scanned first.
2113 * The user has a chance to override it with an option.
2114 */
2115/* %if-c-only */
2116#include <unistd.h>
2117/* %endif */
2118/* %if-c++-only */
2119/* %endif */
2120#endif
2121
2122#ifndef YY_EXTRA_TYPE
2123#define YY_EXTRA_TYPE void *
2124#endif
2125
2126/* %if-c-only Reentrant structure and macros (non-C++). */
2127/* %if-reentrant */
2128/* %if-c-only */
2129
2130static int yy_init_globals (void );
2131
2132/* %endif */
2133/* %if-reentrant */
2134/* %endif */
2135/* %endif End reentrant structures and macros. */
2136
2137/* Accessor methods to globals.
2138 These are made visible to non-reentrant scanners for convenience. */
2139
2140int asn1p_lex_destroy (void );
2141
2142int asn1p_get_debug (void );
2143
2144void asn1p_set_debug (int debug_flag );
2145
2146YY_EXTRA_TYPE asn1p_get_extra (void );
2147
2148void asn1p_set_extra (YY_EXTRA_TYPE user_defined );
2149
2150FILE *asn1p_get_in (void );
2151
2152void asn1p_set_in (FILE * in_str );
2153
2154FILE *asn1p_get_out (void );
2155
2156void asn1p_set_out (FILE * out_str );
2157
Lev Walkin0e90aa02013-03-19 16:17:13 -07002158yy_size_t asn1p_get_leng (void );
Lev Walkin03892812010-11-03 09:33:03 -07002159
2160char *asn1p_get_text (void );
2161
2162int asn1p_get_lineno (void );
2163
2164void asn1p_set_lineno (int line_number );
2165
2166/* %if-bison-bridge */
2167/* %endif */
Lev Walkinf15320b2004-06-03 03:38:44 +00002168
2169/* Macros after this point can all be overridden by user definitions in
2170 * section 1.
2171 */
2172
2173#ifndef YY_SKIP_YYWRAP
2174#ifdef __cplusplus
Lev Walkin03892812010-11-03 09:33:03 -07002175extern "C" int asn1p_wrap (void );
Lev Walkinf15320b2004-06-03 03:38:44 +00002176#else
Lev Walkin03892812010-11-03 09:33:03 -07002177extern int asn1p_wrap (void );
Lev Walkinf15320b2004-06-03 03:38:44 +00002178#endif
2179#endif
2180
Lev Walkin03892812010-11-03 09:33:03 -07002181/* %not-for-header */
2182
2183 static void yyunput (int c,char *buf_ptr );
2184
2185/* %ok-for-header */
2186
2187/* %endif */
Lev Walkinf15320b2004-06-03 03:38:44 +00002188
2189#ifndef yytext_ptr
Lev Walkin03892812010-11-03 09:33:03 -07002190static void yy_flex_strncpy (char *,yyconst char *,int );
Lev Walkinf15320b2004-06-03 03:38:44 +00002191#endif
2192
2193#ifdef YY_NEED_STRLEN
Lev Walkin03892812010-11-03 09:33:03 -07002194static int yy_flex_strlen (yyconst char * );
Lev Walkinf15320b2004-06-03 03:38:44 +00002195#endif
2196
2197#ifndef YY_NO_INPUT
Lev Walkin03892812010-11-03 09:33:03 -07002198/* %if-c-only Standard (non-C++) definition */
2199/* %not-for-header */
2200
Lev Walkinf15320b2004-06-03 03:38:44 +00002201#ifdef __cplusplus
Lev Walkin03892812010-11-03 09:33:03 -07002202static int yyinput (void );
Lev Walkinf15320b2004-06-03 03:38:44 +00002203#else
Lev Walkin03892812010-11-03 09:33:03 -07002204static int input (void );
Lev Walkinf15320b2004-06-03 03:38:44 +00002205#endif
Lev Walkin03892812010-11-03 09:33:03 -07002206/* %ok-for-header */
2207
2208/* %endif */
Lev Walkinf15320b2004-06-03 03:38:44 +00002209#endif
2210
Lev Walkin03892812010-11-03 09:33:03 -07002211/* %if-c-only */
Lev Walkinf15320b2004-06-03 03:38:44 +00002212
Lev Walkin03892812010-11-03 09:33:03 -07002213 static int yy_start_stack_ptr = 0;
2214 static int yy_start_stack_depth = 0;
2215 static int *yy_start_stack = NULL;
2216
2217 static void yy_push_state (int new_state );
2218
2219 static void yy_pop_state (void );
2220
2221 static int yy_top_state (void );
2222
2223/* %endif */
Lev Walkinf15320b2004-06-03 03:38:44 +00002224
2225/* Amount of stuff to slurp up with each read. */
2226#ifndef YY_READ_BUF_SIZE
2227#define YY_READ_BUF_SIZE 8192
2228#endif
2229
2230/* Copy whatever the last rule matched to the standard output. */
Lev Walkinf15320b2004-06-03 03:38:44 +00002231#ifndef ECHO
Lev Walkin03892812010-11-03 09:33:03 -07002232/* %if-c-only Standard (non-C++) definition */
Lev Walkinf15320b2004-06-03 03:38:44 +00002233/* This used to be an fputs(), but since the string might contain NUL's,
2234 * we now use fwrite().
2235 */
Lev Walkin03892812010-11-03 09:33:03 -07002236#define ECHO fwrite( asn1p_text, asn1p_leng, 1, asn1p_out )
2237/* %endif */
2238/* %if-c++-only C++ definition */
2239/* %endif */
Lev Walkinf15320b2004-06-03 03:38:44 +00002240#endif
2241
2242/* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
2243 * is returned in "result".
2244 */
2245#ifndef YY_INPUT
2246#define YY_INPUT(buf,result,max_size) \
Lev Walkin03892812010-11-03 09:33:03 -07002247/* %% [5.0] fread()/read() definition of YY_INPUT goes here unless we're doing C++ \ */\
2248 if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
Lev Walkinf15320b2004-06-03 03:38:44 +00002249 { \
Lev Walkin03892812010-11-03 09:33:03 -07002250 int c = '*'; \
Lev Walkin0e90aa02013-03-19 16:17:13 -07002251 yy_size_t n; \
Lev Walkinf15320b2004-06-03 03:38:44 +00002252 for ( n = 0; n < max_size && \
Lev Walkin03892812010-11-03 09:33:03 -07002253 (c = getc( asn1p_in )) != EOF && c != '\n'; ++n ) \
Lev Walkinf15320b2004-06-03 03:38:44 +00002254 buf[n] = (char) c; \
2255 if ( c == '\n' ) \
2256 buf[n++] = (char) c; \
Lev Walkin03892812010-11-03 09:33:03 -07002257 if ( c == EOF && ferror( asn1p_in ) ) \
Lev Walkinf15320b2004-06-03 03:38:44 +00002258 YY_FATAL_ERROR( "input in flex scanner failed" ); \
2259 result = n; \
2260 } \
Lev Walkin03892812010-11-03 09:33:03 -07002261 else \
2262 { \
2263 errno=0; \
2264 while ( (result = fread(buf, 1, max_size, asn1p_in))==0 && ferror(asn1p_in)) \
2265 { \
2266 if( errno != EINTR) \
2267 { \
2268 YY_FATAL_ERROR( "input in flex scanner failed" ); \
2269 break; \
2270 } \
2271 errno=0; \
2272 clearerr(asn1p_in); \
2273 } \
2274 }\
2275\
2276/* %if-c++-only C++ definition \ */\
2277/* %endif */
2278
Lev Walkinf15320b2004-06-03 03:38:44 +00002279#endif
2280
2281/* No semi-colon after return; correct usage is to write "yyterminate();" -
2282 * we don't want an extra ';' after the "return" because that will cause
2283 * some compilers to complain about unreachable statements.
2284 */
2285#ifndef yyterminate
2286#define yyterminate() return YY_NULL
2287#endif
2288
2289/* Number of entries by which start-condition stack grows. */
2290#ifndef YY_START_STACK_INCR
2291#define YY_START_STACK_INCR 25
2292#endif
2293
2294/* Report a fatal error. */
2295#ifndef YY_FATAL_ERROR
Lev Walkin03892812010-11-03 09:33:03 -07002296/* %if-c-only */
Lev Walkinf15320b2004-06-03 03:38:44 +00002297#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
Lev Walkin03892812010-11-03 09:33:03 -07002298/* %endif */
2299/* %if-c++-only */
2300/* %endif */
Lev Walkinf15320b2004-06-03 03:38:44 +00002301#endif
2302
Lev Walkin03892812010-11-03 09:33:03 -07002303/* %if-tables-serialization structures and prototypes */
2304/* %not-for-header */
2305
2306/* %ok-for-header */
2307
2308/* %not-for-header */
2309
2310/* %tables-yydmap generated elements */
2311/* %endif */
2312/* end tables serialization structures and prototypes */
2313
2314/* %ok-for-header */
2315
Lev Walkinf15320b2004-06-03 03:38:44 +00002316/* Default declaration of generated scanner - a define so the user can
2317 * easily add parameters.
2318 */
2319#ifndef YY_DECL
Lev Walkin03892812010-11-03 09:33:03 -07002320#define YY_DECL_IS_OURS 1
2321/* %if-c-only Standard (non-C++) definition */
Lev Walkinf15320b2004-06-03 03:38:44 +00002322
Lev Walkin03892812010-11-03 09:33:03 -07002323extern int asn1p_lex (void);
2324
2325#define YY_DECL int asn1p_lex (void)
2326/* %endif */
2327/* %if-c++-only C++ definition */
2328/* %endif */
2329#endif /* !YY_DECL */
2330
2331/* Code executed at the beginning of each rule, after asn1p_text and asn1p_leng
Lev Walkinf15320b2004-06-03 03:38:44 +00002332 * have been set up.
2333 */
2334#ifndef YY_USER_ACTION
2335#define YY_USER_ACTION
2336#endif
2337
2338/* Code executed at the end of each rule. */
2339#ifndef YY_BREAK
2340#define YY_BREAK break;
2341#endif
2342
Lev Walkin03892812010-11-03 09:33:03 -07002343/* %% [6.0] YY_RULE_SETUP definition goes here */
Lev Walkinf15320b2004-06-03 03:38:44 +00002344#define YY_RULE_SETUP \
2345 YY_USER_ACTION
2346
Lev Walkin03892812010-11-03 09:33:03 -07002347/* %not-for-header */
2348
2349/** The main scanner function which does all the work.
2350 */
Lev Walkinf15320b2004-06-03 03:38:44 +00002351YY_DECL
Lev Walkin03892812010-11-03 09:33:03 -07002352{
Lev Walkinf15320b2004-06-03 03:38:44 +00002353 register yy_state_type yy_current_state;
2354 register char *yy_cp, *yy_bp;
2355 register int yy_act;
Lev Walkin03892812010-11-03 09:33:03 -07002356
2357/* %% [7.0] user's declarations go here */
Lev Walkinadf863f2006-09-05 16:18:34 +00002358#line 94 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002359
2360
Lev Walkin752e9732017-08-04 02:06:22 -07002361#line 2362 "asn1p_l.c"
Lev Walkinf15320b2004-06-03 03:38:44 +00002362
Lev Walkin03892812010-11-03 09:33:03 -07002363 if ( !(yy_init) )
Lev Walkinf15320b2004-06-03 03:38:44 +00002364 {
Lev Walkin03892812010-11-03 09:33:03 -07002365 (yy_init) = 1;
Lev Walkinf15320b2004-06-03 03:38:44 +00002366
2367#ifdef YY_USER_INIT
2368 YY_USER_INIT;
2369#endif
2370
Lev Walkin03892812010-11-03 09:33:03 -07002371 /* Create the reject buffer large enough to save one state per allowed character. */
2372 if ( ! (yy_state_buf) )
2373 (yy_state_buf) = (yy_state_type *)asn1p_alloc(YY_STATE_BUF_SIZE );
2374 if ( ! (yy_state_buf) )
2375 YY_FATAL_ERROR( "out of dynamic memory in asn1p_lex()" );
Lev Walkinf15320b2004-06-03 03:38:44 +00002376
Lev Walkin03892812010-11-03 09:33:03 -07002377 if ( ! (yy_start) )
2378 (yy_start) = 1; /* first start state */
Lev Walkinf15320b2004-06-03 03:38:44 +00002379
Lev Walkin03892812010-11-03 09:33:03 -07002380 if ( ! asn1p_in )
2381/* %if-c-only */
2382 asn1p_in = stdin;
2383/* %endif */
2384/* %if-c++-only */
2385/* %endif */
Lev Walkinf15320b2004-06-03 03:38:44 +00002386
Lev Walkin03892812010-11-03 09:33:03 -07002387 if ( ! asn1p_out )
2388/* %if-c-only */
2389 asn1p_out = stdout;
2390/* %endif */
2391/* %if-c++-only */
2392/* %endif */
Lev Walkinf15320b2004-06-03 03:38:44 +00002393
Lev Walkin03892812010-11-03 09:33:03 -07002394 if ( ! YY_CURRENT_BUFFER ) {
2395 asn1p_ensure_buffer_stack ();
2396 YY_CURRENT_BUFFER_LVALUE =
2397 asn1p__create_buffer(asn1p_in,YY_BUF_SIZE );
2398 }
2399
2400 asn1p__load_buffer_state( );
Lev Walkinf15320b2004-06-03 03:38:44 +00002401 }
2402
2403 while ( 1 ) /* loops until end-of-file is reached */
2404 {
Lev Walkin03892812010-11-03 09:33:03 -07002405/* %% [8.0] yymore()-related code goes here */
2406 yy_cp = (yy_c_buf_p);
Lev Walkinf15320b2004-06-03 03:38:44 +00002407
Lev Walkin03892812010-11-03 09:33:03 -07002408 /* Support of asn1p_text. */
2409 *yy_cp = (yy_hold_char);
Lev Walkinf15320b2004-06-03 03:38:44 +00002410
2411 /* yy_bp points to the position in yy_ch_buf of the start of
2412 * the current run.
2413 */
2414 yy_bp = yy_cp;
2415
Lev Walkin03892812010-11-03 09:33:03 -07002416/* %% [9.0] code to set up and find next match goes here */
2417 yy_current_state = (yy_start);
2418
2419 (yy_state_ptr) = (yy_state_buf);
2420 *(yy_state_ptr)++ = yy_current_state;
2421
Lev Walkinf15320b2004-06-03 03:38:44 +00002422yy_match:
2423 do
2424 {
2425 register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
2426 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2427 {
2428 yy_current_state = (int) yy_def[yy_current_state];
Lev Walkin752e9732017-08-04 02:06:22 -07002429 if ( yy_current_state >= 749 )
Lev Walkinf15320b2004-06-03 03:38:44 +00002430 yy_c = yy_meta[(unsigned int) yy_c];
2431 }
2432 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
Lev Walkin03892812010-11-03 09:33:03 -07002433 *(yy_state_ptr)++ = yy_current_state;
Lev Walkinf15320b2004-06-03 03:38:44 +00002434 ++yy_cp;
2435 }
Lev Walkin752e9732017-08-04 02:06:22 -07002436 while ( yy_current_state != 748 );
Lev Walkinf15320b2004-06-03 03:38:44 +00002437
2438yy_find_action:
Lev Walkin03892812010-11-03 09:33:03 -07002439/* %% [10.0] code to find the action number goes here */
2440 yy_current_state = *--(yy_state_ptr);
2441 (yy_lp) = yy_accept[yy_current_state];
Lev Walkin0e90aa02013-03-19 16:17:13 -07002442goto find_rule; /* Shut up GCC warning -Wall */
Lev Walkinf15320b2004-06-03 03:38:44 +00002443find_rule: /* we branch to this label when backing up */
2444 for ( ; ; ) /* until we find what rule we matched */
2445 {
Lev Walkin03892812010-11-03 09:33:03 -07002446 if ( (yy_lp) && (yy_lp) < yy_accept[yy_current_state + 1] )
Lev Walkinf15320b2004-06-03 03:38:44 +00002447 {
Lev Walkin03892812010-11-03 09:33:03 -07002448 yy_act = yy_acclist[(yy_lp)];
Lev Walkinf15320b2004-06-03 03:38:44 +00002449 {
Lev Walkin03892812010-11-03 09:33:03 -07002450 (yy_full_match) = yy_cp;
Lev Walkinf15320b2004-06-03 03:38:44 +00002451 break;
2452 }
2453 }
2454 --yy_cp;
Lev Walkin03892812010-11-03 09:33:03 -07002455 yy_current_state = *--(yy_state_ptr);
2456 (yy_lp) = yy_accept[yy_current_state];
Lev Walkinf15320b2004-06-03 03:38:44 +00002457 }
2458
2459 YY_DO_BEFORE_ACTION;
2460
Lev Walkin03892812010-11-03 09:33:03 -07002461/* %% [11.0] code for asn1p_lineno update goes here */
2462
2463 if ( yy_act != YY_END_OF_BUFFER && yy_rule_can_match_eol[yy_act] )
Lev Walkinf15320b2004-06-03 03:38:44 +00002464 {
Lev Walkin0e90aa02013-03-19 16:17:13 -07002465 yy_size_t yyl;
Lev Walkin03892812010-11-03 09:33:03 -07002466 for ( yyl = 0; yyl < asn1p_leng; ++yyl )
2467 if ( asn1p_text[yyl] == '\n' )
2468
2469 asn1p_lineno++;
2470;
Lev Walkinf15320b2004-06-03 03:38:44 +00002471 }
2472
2473do_action: /* This label is used only to access EOF actions. */
2474
Lev Walkin03892812010-11-03 09:33:03 -07002475/* %% [12.0] debug code goes here */
2476 if ( asn1p__flex_debug )
Lev Walkinf15320b2004-06-03 03:38:44 +00002477 {
2478 if ( yy_act == 0 )
2479 fprintf( stderr, "--scanner backing up\n" );
Lev Walkin752e9732017-08-04 02:06:22 -07002480 else if ( yy_act < 141 )
Lev Walkin03892812010-11-03 09:33:03 -07002481 fprintf( stderr, "--accepting rule at line %ld (\"%s\")\n",
2482 (long)yy_rule_linenum[yy_act], asn1p_text );
Lev Walkin752e9732017-08-04 02:06:22 -07002483 else if ( yy_act == 141 )
Lev Walkinf15320b2004-06-03 03:38:44 +00002484 fprintf( stderr, "--accepting default rule (\"%s\")\n",
Lev Walkin03892812010-11-03 09:33:03 -07002485 asn1p_text );
Lev Walkin752e9732017-08-04 02:06:22 -07002486 else if ( yy_act == 142 )
Lev Walkinf15320b2004-06-03 03:38:44 +00002487 fprintf( stderr, "--(end of buffer or a NUL)\n" );
2488 else
2489 fprintf( stderr, "--EOF (start condition %d)\n", YY_START );
2490 }
2491
2492 switch ( yy_act )
2493 { /* beginning of action switch */
Lev Walkin03892812010-11-03 09:33:03 -07002494/* %% [13.0] actions go here */
Lev Walkinf15320b2004-06-03 03:38:44 +00002495case 1:
2496YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002497#line 96 "asn1p_l.l"
Lev Walkin752e9732017-08-04 02:06:22 -07002498return UTF8_BOM;
Lev Walkin2535a692005-07-02 21:42:40 +00002499 YY_BREAK
2500case 2:
Lev Walkin752e9732017-08-04 02:06:22 -07002501/* rule 2 can match eol */
Lev Walkin03892812010-11-03 09:33:03 -07002502*yy_cp = (yy_hold_char); /* undo effects of setting up asn1p_text */
2503(yy_c_buf_p) = yy_cp -= 1;
2504YY_DO_BEFORE_ACTION; /* set up asn1p_text again */
Lev Walkin2535a692005-07-02 21:42:40 +00002505YY_RULE_SETUP
Lev Walkin752e9732017-08-04 02:06:22 -07002506#line 98 "asn1p_l.l"
2507/* Immediately terminated long comment */
Lev Walkin2535a692005-07-02 21:42:40 +00002508 YY_BREAK
Lev Walkin2535a692005-07-02 21:42:40 +00002509case 3:
Lev Walkin752e9732017-08-04 02:06:22 -07002510*yy_cp = (yy_hold_char); /* undo effects of setting up asn1p_text */
2511(yy_c_buf_p) = yy_cp -= 1;
2512YY_DO_BEFORE_ACTION; /* set up asn1p_text again */
Lev Walkin2535a692005-07-02 21:42:40 +00002513YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002514#line 99 "asn1p_l.l"
Lev Walkin752e9732017-08-04 02:06:22 -07002515yy_push_state(idash_comment); /* Incorrect, but acceptable */
Lev Walkin2535a692005-07-02 21:42:40 +00002516 YY_BREAK
2517
2518case 4:
2519YY_RULE_SETUP
Lev Walkin752e9732017-08-04 02:06:22 -07002520#line 101 "asn1p_l.l"
2521yy_pop_state(); /* Acceptable end of comment */
Lev Walkinef625402005-09-05 05:17:57 +00002522 YY_BREAK
Lev Walkin752e9732017-08-04 02:06:22 -07002523
Lev Walkinef625402005-09-05 05:17:57 +00002524case 5:
2525YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002526#line 104 "asn1p_l.l"
Lev Walkin752e9732017-08-04 02:06:22 -07002527asn1p_as_pointer = 1;
2528 YY_BREAK
2529case 6:
2530YY_RULE_SETUP
2531#line 106 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002532yy_push_state(dash_comment);
2533 YY_BREAK
2534
Lev Walkin2535a692005-07-02 21:42:40 +00002535case 7:
Lev Walkin752e9732017-08-04 02:06:22 -07002536/* rule 7 can match eol */
Lev Walkinf15320b2004-06-03 03:38:44 +00002537YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002538#line 109 "asn1p_l.l"
Lev Walkin752e9732017-08-04 02:06:22 -07002539yy_pop_state();
Lev Walkinf15320b2004-06-03 03:38:44 +00002540 YY_BREAK
Lev Walkin2535a692005-07-02 21:42:40 +00002541case 8:
2542YY_RULE_SETUP
Lev Walkin752e9732017-08-04 02:06:22 -07002543#line 111 "asn1p_l.l"
2544yy_pop_state(); /* End of comment */
Lev Walkin4696c742005-08-22 12:23:54 +00002545 YY_BREAK
2546case 9:
2547YY_RULE_SETUP
Lev Walkin752e9732017-08-04 02:06:22 -07002548#line 112 "asn1p_l.l"
2549/* Eat single dash */
Lev Walkin4696c742005-08-22 12:23:54 +00002550 YY_BREAK
2551case 10:
2552YY_RULE_SETUP
Lev Walkin752e9732017-08-04 02:06:22 -07002553#line 113 "asn1p_l.l"
2554/* Eat */
Lev Walkin2535a692005-07-02 21:42:40 +00002555 YY_BREAK
2556
Lev Walkin4696c742005-08-22 12:23:54 +00002557case 11:
Lev Walkin2535a692005-07-02 21:42:40 +00002558YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002559#line 116 "asn1p_l.l"
Lev Walkin752e9732017-08-04 02:06:22 -07002560yy_push_state(cpp_comment);
Lev Walkin2535a692005-07-02 21:42:40 +00002561 YY_BREAK
Lev Walkin752e9732017-08-04 02:06:22 -07002562
Lev Walkin2535a692005-07-02 21:42:40 +00002563case 12:
Lev Walkin752e9732017-08-04 02:06:22 -07002564/* rule 12 can match eol */
Lev Walkinf15320b2004-06-03 03:38:44 +00002565YY_RULE_SETUP
Lev Walkin752e9732017-08-04 02:06:22 -07002566#line 118 "asn1p_l.l"
2567/* Eat */
Lev Walkin4696c742005-08-22 12:23:54 +00002568 YY_BREAK
2569case 13:
2570YY_RULE_SETUP
Lev Walkin752e9732017-08-04 02:06:22 -07002571#line 119 "asn1p_l.l"
2572yy_pop_state();
2573 YY_BREAK
2574case 14:
2575YY_RULE_SETUP
2576#line 120 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002577/* Eat */
2578 YY_BREAK
2579
2580/*
2581 * This is state is being set from corresponding .y module when
2582 * higher-level data is necessary to make proper parsing of the
2583 * underlying data. Thus, we enter the <opaque> state and save
2584 * everything for later processing.
2585 */
2586
Lev Walkin752e9732017-08-04 02:06:22 -07002587case 15:
Lev Walkinf15320b2004-06-03 03:38:44 +00002588YY_RULE_SETUP
Lev Walkin752e9732017-08-04 02:06:22 -07002589#line 132 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002590{
2591 yy_push_state(opaque);
Lev Walkin03892812010-11-03 09:33:03 -07002592 asn1p_lval.tv_opaque.buf = strdup(asn1p_text);
2593 asn1p_lval.tv_opaque.len = asn1p_leng;
Lev Walkinf15320b2004-06-03 03:38:44 +00002594 return TOK_opaque;
2595 }
2596 YY_BREAK
Lev Walkin752e9732017-08-04 02:06:22 -07002597case 16:
Lev Walkinf15320b2004-06-03 03:38:44 +00002598YY_RULE_SETUP
Lev Walkin752e9732017-08-04 02:06:22 -07002599#line 139 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002600{
2601 yy_pop_state();
Lev Walkin03892812010-11-03 09:33:03 -07002602 asn1p_lval.tv_opaque.buf = strdup(asn1p_text);
2603 asn1p_lval.tv_opaque.len = asn1p_leng;
Lev Walkinf15320b2004-06-03 03:38:44 +00002604 return TOK_opaque;
2605 }
2606 YY_BREAK
Lev Walkin752e9732017-08-04 02:06:22 -07002607case 17:
2608/* rule 17 can match eol */
Lev Walkinf15320b2004-06-03 03:38:44 +00002609YY_RULE_SETUP
Lev Walkin752e9732017-08-04 02:06:22 -07002610#line 146 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002611{
Lev Walkin03892812010-11-03 09:33:03 -07002612 asn1p_lval.tv_opaque.buf = strdup(asn1p_text);
2613 asn1p_lval.tv_opaque.len = asn1p_leng;
Lev Walkinf15320b2004-06-03 03:38:44 +00002614 return TOK_opaque;
2615 }
2616 YY_BREAK
Lev Walkin752e9732017-08-04 02:06:22 -07002617case 18:
Lev Walkinf15320b2004-06-03 03:38:44 +00002618YY_RULE_SETUP
Lev Walkin752e9732017-08-04 02:06:22 -07002619#line 152 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002620{
2621 fprintf(stderr,
2622 "ASN.1 Parser syncronization failure: "
2623 "\"%s\" at line %d must not appear "
2624 "inside value definition\n",
Lev Walkin03892812010-11-03 09:33:03 -07002625 asn1p_text, asn1p_lineno);
Lev Walkinf15320b2004-06-03 03:38:44 +00002626 return -1;
2627 }
2628 YY_BREAK
Lev Walkin752e9732017-08-04 02:06:22 -07002629case 19:
Lev Walkinf15320b2004-06-03 03:38:44 +00002630YY_RULE_SETUP
Lev Walkin752e9732017-08-04 02:06:22 -07002631#line 161 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002632{
Lev Walkin03892812010-11-03 09:33:03 -07002633 asn1p_lval.tv_opaque.buf = strdup(asn1p_text);
2634 asn1p_lval.tv_opaque.len = asn1p_leng;
Lev Walkinf15320b2004-06-03 03:38:44 +00002635 return TOK_opaque;
2636 }
2637 YY_BREAK
2638
Lev Walkin752e9732017-08-04 02:06:22 -07002639case 20:
2640/* rule 20 can match eol */
Lev Walkinf15320b2004-06-03 03:38:44 +00002641YY_RULE_SETUP
Lev Walkin752e9732017-08-04 02:06:22 -07002642#line 169 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002643{
2644 asn1p_lval.tv_opaque.buf = 0;
2645 asn1p_lval.tv_opaque.len = 0;
Lev Walkin03892812010-11-03 09:33:03 -07002646 QAPPEND(asn1p_text+1, asn1p_leng-1);
Lev Walkinf15320b2004-06-03 03:38:44 +00002647 yy_push_state(quoted);
2648 }
2649 YY_BREAK
2650
Lev Walkin752e9732017-08-04 02:06:22 -07002651case 21:
Lev Walkinf15320b2004-06-03 03:38:44 +00002652YY_RULE_SETUP
Lev Walkin752e9732017-08-04 02:06:22 -07002653#line 177 "asn1p_l.l"
Lev Walkin03892812010-11-03 09:33:03 -07002654{ QAPPEND(asn1p_text, asn1p_leng-1); } /* Add a single quote */
Lev Walkinf15320b2004-06-03 03:38:44 +00002655 YY_BREAK
Lev Walkinef625402005-09-05 05:17:57 +00002656case 22:
Lev Walkin752e9732017-08-04 02:06:22 -07002657/* rule 22 can match eol */
Lev Walkinf15320b2004-06-03 03:38:44 +00002658YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002659#line 178 "asn1p_l.l"
Lev Walkin752e9732017-08-04 02:06:22 -07002660{ QAPPEND(asn1p_text, asn1p_leng); }
2661 YY_BREAK
2662case 23:
2663YY_RULE_SETUP
2664#line 180 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002665{
2666 yy_pop_state();
2667 /* Do not append last quote:
Lev Walkin03892812010-11-03 09:33:03 -07002668 // QAPPEND(asn1p_text, asn1p_leng); */
Lev Walkinf15320b2004-06-03 03:38:44 +00002669
2670 if(asn1p_lexer_pedantic_1990
Lev Walkin03892812010-11-03 09:33:03 -07002671 && strchr(asn1p_text, '\n')) {
Lev Walkinf15320b2004-06-03 03:38:44 +00002672 fprintf(stderr, "%s: "
2673 "Newlines are prohibited by ASN.1:1990\n",
2674 asn1p_lval.tv_opaque.buf);
2675 return -1;
2676 }
2677
2678 return TOK_cstring;
2679 }
2680 YY_BREAK
2681
Lev Walkinf59d0752004-08-18 04:59:12 +00002682
Lev Walkin752e9732017-08-04 02:06:22 -07002683case 24:
Lev Walkinf15320b2004-06-03 03:38:44 +00002684YY_RULE_SETUP
Lev Walkin752e9732017-08-04 02:06:22 -07002685#line 199 "asn1p_l.l"
Lev Walkinf59d0752004-08-18 04:59:12 +00002686{
2687 const char *s = "ENCODING-CONTROL";
2688 const char *p = s + sizeof("ENCODING-CONTROL") - 2;
2689 for(; p >= s; p--) unput(*p);
2690 yy_pop_state();
2691 }
2692 YY_BREAK
Lev Walkinef625402005-09-05 05:17:57 +00002693case 25:
2694YY_RULE_SETUP
Lev Walkin752e9732017-08-04 02:06:22 -07002695#line 205 "asn1p_l.l"
2696unput('D'); unput('N'); unput('E'); yy_pop_state();
Lev Walkinef625402005-09-05 05:17:57 +00002697 YY_BREAK
Lev Walkin2535a692005-07-02 21:42:40 +00002698case 26:
2699YY_RULE_SETUP
Lev Walkin752e9732017-08-04 02:06:22 -07002700#line 206 "asn1p_l.l"
Lev Walkinef625402005-09-05 05:17:57 +00002701
Lev Walkin2535a692005-07-02 21:42:40 +00002702 YY_BREAK
2703case 27:
2704YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002705#line 207 "asn1p_l.l"
Lev Walkin4696c742005-08-22 12:23:54 +00002706
2707 YY_BREAK
Lev Walkin752e9732017-08-04 02:06:22 -07002708case 28:
2709YY_RULE_SETUP
2710#line 208 "asn1p_l.l"
2711/* Eat everything else */
2712 YY_BREAK
Lev Walkin4696c742005-08-22 12:23:54 +00002713case 29:
Lev Walkin03892812010-11-03 09:33:03 -07002714/* rule 29 can match eol */
Lev Walkin4696c742005-08-22 12:23:54 +00002715YY_RULE_SETUP
Lev Walkin752e9732017-08-04 02:06:22 -07002716#line 209 "asn1p_l.l"
2717
2718 YY_BREAK
2719
2720case 30:
2721/* rule 30 can match eol */
2722YY_RULE_SETUP
2723#line 212 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002724{
2725 /* " \t\r\n" weren't allowed in ASN.1:1990. */
Bi-Ruei, Chiu80fd3062017-05-07 21:00:51 +08002726 asn1p_lval.tv_str = strdup(asn1p_text);
Lev Walkinf15320b2004-06-03 03:38:44 +00002727 return TOK_hstring;
2728 }
2729 YY_BREAK
Lev Walkin752e9732017-08-04 02:06:22 -07002730case 31:
2731/* rule 31 can match eol */
Lev Walkinf15320b2004-06-03 03:38:44 +00002732YY_RULE_SETUP
Lev Walkin752e9732017-08-04 02:06:22 -07002733#line 218 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002734{
2735 /* " \t\r\n" weren't allowed in ASN.1:1990. */
Lev Walkin03892812010-11-03 09:33:03 -07002736 asn1p_lval.tv_str = strdup(asn1p_text);
Lev Walkinf15320b2004-06-03 03:38:44 +00002737 return TOK_bstring;
2738 }
2739 YY_BREAK
Lev Walkin752e9732017-08-04 02:06:22 -07002740case 32:
Lev Walkinf15320b2004-06-03 03:38:44 +00002741YY_RULE_SETUP
Lev Walkin752e9732017-08-04 02:06:22 -07002742#line 225 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002743{
Lev Walkin03892812010-11-03 09:33:03 -07002744 asn1p_lval.a_int = _lex_atoi(asn1p_text);
Lev Walkinf15320b2004-06-03 03:38:44 +00002745 if(errno == ERANGE)
2746 return -1;
2747 return TOK_number_negative;
2748 }
2749 YY_BREAK
Lev Walkinef625402005-09-05 05:17:57 +00002750case 33:
2751YY_RULE_SETUP
Lev Walkin752e9732017-08-04 02:06:22 -07002752#line 232 "asn1p_l.l"
Lev Walkinef625402005-09-05 05:17:57 +00002753{
Lev Walkin03892812010-11-03 09:33:03 -07002754 asn1p_lval.a_int = _lex_atoi(asn1p_text);
Lev Walkinef625402005-09-05 05:17:57 +00002755 if(errno == ERANGE)
2756 return -1;
2757 return TOK_number;
2758 }
2759 YY_BREAK
Lev Walkin4696c742005-08-22 12:23:54 +00002760case 34:
Lev Walkinf15320b2004-06-03 03:38:44 +00002761YY_RULE_SETUP
Lev Walkin752e9732017-08-04 02:06:22 -07002762#line 239 "asn1p_l.l"
2763{
2764 asn1p_lval.a_int = _lex_atoi(asn1p_text);
2765 if(errno == ERANGE)
2766 return -1;
2767 return TOK_number;
2768 }
2769 YY_BREAK
2770case 35:
2771YY_RULE_SETUP
2772#line 246 "asn1p_l.l"
Lev Walkinadf863f2006-09-05 16:18:34 +00002773{
Lev Walkin03892812010-11-03 09:33:03 -07002774 asn1p_lval.a_dbl = _lex_atod(asn1p_text);
Lev Walkinadf863f2006-09-05 16:18:34 +00002775 if(errno == ERANGE)
2776 return -1;
2777 return TOK_realnumber;
2778 }
Lev Walkinf15320b2004-06-03 03:38:44 +00002779 YY_BREAK
Lev Walkinef625402005-09-05 05:17:57 +00002780case 36:
Lev Walkinf15320b2004-06-03 03:38:44 +00002781YY_RULE_SETUP
Lev Walkin752e9732017-08-04 02:06:22 -07002782#line 253 "asn1p_l.l"
2783return TOK_ABSENT;
Lev Walkinadf863f2006-09-05 16:18:34 +00002784 YY_BREAK
2785case 37:
2786YY_RULE_SETUP
Lev Walkin752e9732017-08-04 02:06:22 -07002787#line 254 "asn1p_l.l"
2788return TOK_ALL;
2789 YY_BREAK
2790case 38:
2791YY_RULE_SETUP
2792#line 255 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002793{
2794 /* Appeared in 1990, removed in 1997 */
2795 if(TYPE_LIFETIME(1990, 1997))
2796 return TOK_ANY;
2797 fprintf(stderr, "Keyword \"%s\" at line %d "
Lev Walkin03892812010-11-03 09:33:03 -07002798 "is obsolete\n", asn1p_text, asn1p_lineno);
Lev Walkinf15320b2004-06-03 03:38:44 +00002799 REJECT;
2800 }
2801 YY_BREAK
Lev Walkin2535a692005-07-02 21:42:40 +00002802case 39:
2803YY_RULE_SETUP
Lev Walkin752e9732017-08-04 02:06:22 -07002804#line 263 "asn1p_l.l"
2805return TOK_APPLICATION;
Lev Walkin2535a692005-07-02 21:42:40 +00002806 YY_BREAK
2807case 40:
2808YY_RULE_SETUP
Lev Walkin752e9732017-08-04 02:06:22 -07002809#line 264 "asn1p_l.l"
2810return TOK_AUTOMATIC;
Lev Walkin4696c742005-08-22 12:23:54 +00002811 YY_BREAK
2812case 41:
2813YY_RULE_SETUP
Lev Walkin752e9732017-08-04 02:06:22 -07002814#line 265 "asn1p_l.l"
2815return TOK_BEGIN;
Lev Walkinadf863f2006-09-05 16:18:34 +00002816 YY_BREAK
2817case 42:
2818YY_RULE_SETUP
Lev Walkin752e9732017-08-04 02:06:22 -07002819#line 266 "asn1p_l.l"
2820return TOK_BIT;
2821 YY_BREAK
2822case 43:
2823YY_RULE_SETUP
2824#line 267 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002825{
2826 if(TYPE_LIFETIME(1994, 0))
2827 return TOK_BMPString;
2828 REJECT;
2829 }
2830 YY_BREAK
Lev Walkinf15320b2004-06-03 03:38:44 +00002831case 44:
2832YY_RULE_SETUP
Lev Walkin752e9732017-08-04 02:06:22 -07002833#line 272 "asn1p_l.l"
2834return TOK_BOOLEAN;
Lev Walkinf15320b2004-06-03 03:38:44 +00002835 YY_BREAK
2836case 45:
2837YY_RULE_SETUP
Lev Walkin752e9732017-08-04 02:06:22 -07002838#line 273 "asn1p_l.l"
2839return TOK_BY;
Lev Walkinf59d0752004-08-18 04:59:12 +00002840 YY_BREAK
2841case 46:
2842YY_RULE_SETUP
Lev Walkin752e9732017-08-04 02:06:22 -07002843#line 274 "asn1p_l.l"
2844return TOK_CHARACTER;
Lev Walkinf59d0752004-08-18 04:59:12 +00002845 YY_BREAK
2846case 47:
2847YY_RULE_SETUP
Lev Walkin752e9732017-08-04 02:06:22 -07002848#line 275 "asn1p_l.l"
2849return TOK_CHOICE;
Lev Walkinf59d0752004-08-18 04:59:12 +00002850 YY_BREAK
2851case 48:
2852YY_RULE_SETUP
Lev Walkin752e9732017-08-04 02:06:22 -07002853#line 276 "asn1p_l.l"
2854return TOK_CLASS;
Lev Walkin2535a692005-07-02 21:42:40 +00002855 YY_BREAK
2856case 49:
2857YY_RULE_SETUP
Lev Walkin752e9732017-08-04 02:06:22 -07002858#line 277 "asn1p_l.l"
2859return TOK_COMPONENT;
Lev Walkin2535a692005-07-02 21:42:40 +00002860 YY_BREAK
2861case 50:
2862YY_RULE_SETUP
Lev Walkin752e9732017-08-04 02:06:22 -07002863#line 278 "asn1p_l.l"
2864return TOK_COMPONENTS;
Lev Walkin2535a692005-07-02 21:42:40 +00002865 YY_BREAK
2866case 51:
2867YY_RULE_SETUP
Lev Walkin752e9732017-08-04 02:06:22 -07002868#line 279 "asn1p_l.l"
2869return TOK_CONSTRAINED;
Lev Walkin4696c742005-08-22 12:23:54 +00002870 YY_BREAK
2871case 52:
2872YY_RULE_SETUP
Lev Walkin752e9732017-08-04 02:06:22 -07002873#line 280 "asn1p_l.l"
2874return TOK_CONTAINING;
Lev Walkinadf863f2006-09-05 16:18:34 +00002875 YY_BREAK
2876case 53:
2877YY_RULE_SETUP
Lev Walkin752e9732017-08-04 02:06:22 -07002878#line 281 "asn1p_l.l"
2879return TOK_DEFAULT;
2880 YY_BREAK
2881case 54:
2882YY_RULE_SETUP
2883#line 282 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002884{
2885 /* Appeared in 1990, removed in 1997 */
2886 if(TYPE_LIFETIME(1990, 1997))
2887 return TOK_DEFINED;
2888 fprintf(stderr, "Keyword \"%s\" at line %d "
Lev Walkin03892812010-11-03 09:33:03 -07002889 "is obsolete\n", asn1p_text, asn1p_lineno);
Lev Walkinf15320b2004-06-03 03:38:44 +00002890 /* Deprecated since */
2891 REJECT;
2892 }
2893 YY_BREAK
Lev Walkinf15320b2004-06-03 03:38:44 +00002894case 55:
2895YY_RULE_SETUP
Lev Walkin752e9732017-08-04 02:06:22 -07002896#line 291 "asn1p_l.l"
2897return TOK_DEFINITIONS;
Lev Walkinf15320b2004-06-03 03:38:44 +00002898 YY_BREAK
2899case 56:
2900YY_RULE_SETUP
Lev Walkin752e9732017-08-04 02:06:22 -07002901#line 292 "asn1p_l.l"
2902return TOK_EMBEDDED;
Lev Walkinf15320b2004-06-03 03:38:44 +00002903 YY_BREAK
2904case 57:
2905YY_RULE_SETUP
Lev Walkin752e9732017-08-04 02:06:22 -07002906#line 293 "asn1p_l.l"
2907return TOK_ENCODED;
Lev Walkinf15320b2004-06-03 03:38:44 +00002908 YY_BREAK
2909case 58:
2910YY_RULE_SETUP
Lev Walkin752e9732017-08-04 02:06:22 -07002911#line 294 "asn1p_l.l"
2912return TOK_ENCODING_CONTROL;
Lev Walkinf15320b2004-06-03 03:38:44 +00002913 YY_BREAK
2914case 59:
2915YY_RULE_SETUP
Lev Walkin752e9732017-08-04 02:06:22 -07002916#line 295 "asn1p_l.l"
2917return TOK_END;
Lev Walkinf15320b2004-06-03 03:38:44 +00002918 YY_BREAK
2919case 60:
2920YY_RULE_SETUP
Lev Walkin752e9732017-08-04 02:06:22 -07002921#line 296 "asn1p_l.l"
2922return TOK_ENUMERATED;
Lev Walkinf15320b2004-06-03 03:38:44 +00002923 YY_BREAK
2924case 61:
2925YY_RULE_SETUP
Lev Walkin752e9732017-08-04 02:06:22 -07002926#line 297 "asn1p_l.l"
2927return TOK_EXCEPT;
Lev Walkinf15320b2004-06-03 03:38:44 +00002928 YY_BREAK
2929case 62:
2930YY_RULE_SETUP
Lev Walkin752e9732017-08-04 02:06:22 -07002931#line 298 "asn1p_l.l"
2932return TOK_EXPLICIT;
Lev Walkinf15320b2004-06-03 03:38:44 +00002933 YY_BREAK
2934case 63:
2935YY_RULE_SETUP
Lev Walkin752e9732017-08-04 02:06:22 -07002936#line 299 "asn1p_l.l"
2937return TOK_EXPORTS;
Lev Walkinf15320b2004-06-03 03:38:44 +00002938 YY_BREAK
2939case 64:
2940YY_RULE_SETUP
Lev Walkin752e9732017-08-04 02:06:22 -07002941#line 300 "asn1p_l.l"
2942return TOK_EXTENSIBILITY;
Lev Walkinf15320b2004-06-03 03:38:44 +00002943 YY_BREAK
2944case 65:
2945YY_RULE_SETUP
Lev Walkin752e9732017-08-04 02:06:22 -07002946#line 301 "asn1p_l.l"
2947return TOK_EXTERNAL;
Lev Walkinf15320b2004-06-03 03:38:44 +00002948 YY_BREAK
2949case 66:
2950YY_RULE_SETUP
Lev Walkin752e9732017-08-04 02:06:22 -07002951#line 302 "asn1p_l.l"
2952return TOK_FALSE;
Lev Walkinf15320b2004-06-03 03:38:44 +00002953 YY_BREAK
2954case 67:
2955YY_RULE_SETUP
Lev Walkin752e9732017-08-04 02:06:22 -07002956#line 303 "asn1p_l.l"
2957return TOK_FROM;
Lev Walkinf15320b2004-06-03 03:38:44 +00002958 YY_BREAK
2959case 68:
2960YY_RULE_SETUP
Lev Walkin752e9732017-08-04 02:06:22 -07002961#line 304 "asn1p_l.l"
2962return TOK_GeneralizedTime;
Lev Walkinf15320b2004-06-03 03:38:44 +00002963 YY_BREAK
2964case 69:
2965YY_RULE_SETUP
Lev Walkin752e9732017-08-04 02:06:22 -07002966#line 305 "asn1p_l.l"
2967return TOK_GeneralString;
Lev Walkinf15320b2004-06-03 03:38:44 +00002968 YY_BREAK
2969case 70:
2970YY_RULE_SETUP
Lev Walkin752e9732017-08-04 02:06:22 -07002971#line 306 "asn1p_l.l"
2972return TOK_GraphicString;
Lev Walkinf15320b2004-06-03 03:38:44 +00002973 YY_BREAK
2974case 71:
2975YY_RULE_SETUP
Lev Walkin752e9732017-08-04 02:06:22 -07002976#line 307 "asn1p_l.l"
2977return TOK_IA5String;
Lev Walkinf15320b2004-06-03 03:38:44 +00002978 YY_BREAK
2979case 72:
2980YY_RULE_SETUP
Lev Walkin752e9732017-08-04 02:06:22 -07002981#line 308 "asn1p_l.l"
2982return TOK_IDENTIFIER;
Lev Walkinf15320b2004-06-03 03:38:44 +00002983 YY_BREAK
2984case 73:
2985YY_RULE_SETUP
Lev Walkin752e9732017-08-04 02:06:22 -07002986#line 309 "asn1p_l.l"
2987return TOK_IMPLICIT;
Lev Walkinf15320b2004-06-03 03:38:44 +00002988 YY_BREAK
2989case 74:
2990YY_RULE_SETUP
Lev Walkin752e9732017-08-04 02:06:22 -07002991#line 310 "asn1p_l.l"
2992return TOK_IMPLIED;
Lev Walkinf15320b2004-06-03 03:38:44 +00002993 YY_BREAK
2994case 75:
2995YY_RULE_SETUP
Lev Walkin752e9732017-08-04 02:06:22 -07002996#line 311 "asn1p_l.l"
2997return TOK_IMPORTS;
Lev Walkinf15320b2004-06-03 03:38:44 +00002998 YY_BREAK
2999case 76:
3000YY_RULE_SETUP
Lev Walkin752e9732017-08-04 02:06:22 -07003001#line 312 "asn1p_l.l"
3002return TOK_INCLUDES;
Lev Walkinf15320b2004-06-03 03:38:44 +00003003 YY_BREAK
3004case 77:
3005YY_RULE_SETUP
Lev Walkin752e9732017-08-04 02:06:22 -07003006#line 313 "asn1p_l.l"
3007return TOK_INSTANCE;
Lev Walkinf15320b2004-06-03 03:38:44 +00003008 YY_BREAK
3009case 78:
3010YY_RULE_SETUP
Lev Walkin752e9732017-08-04 02:06:22 -07003011#line 314 "asn1p_l.l"
3012return TOK_INSTRUCTIONS;
Lev Walkinf15320b2004-06-03 03:38:44 +00003013 YY_BREAK
3014case 79:
3015YY_RULE_SETUP
Lev Walkin752e9732017-08-04 02:06:22 -07003016#line 315 "asn1p_l.l"
3017return TOK_INTEGER;
Lev Walkinf15320b2004-06-03 03:38:44 +00003018 YY_BREAK
3019case 80:
3020YY_RULE_SETUP
Lev Walkin752e9732017-08-04 02:06:22 -07003021#line 316 "asn1p_l.l"
3022return TOK_INTERSECTION;
Lev Walkinf15320b2004-06-03 03:38:44 +00003023 YY_BREAK
3024case 81:
3025YY_RULE_SETUP
Lev Walkin752e9732017-08-04 02:06:22 -07003026#line 317 "asn1p_l.l"
3027return TOK_ISO646String;
Lev Walkinf15320b2004-06-03 03:38:44 +00003028 YY_BREAK
3029case 82:
3030YY_RULE_SETUP
Lev Walkin752e9732017-08-04 02:06:22 -07003031#line 318 "asn1p_l.l"
3032return TOK_MAX;
Lev Walkinf15320b2004-06-03 03:38:44 +00003033 YY_BREAK
3034case 83:
3035YY_RULE_SETUP
Lev Walkin752e9732017-08-04 02:06:22 -07003036#line 319 "asn1p_l.l"
3037return TOK_MIN;
Lev Walkinf15320b2004-06-03 03:38:44 +00003038 YY_BREAK
3039case 84:
3040YY_RULE_SETUP
Lev Walkin752e9732017-08-04 02:06:22 -07003041#line 320 "asn1p_l.l"
3042return TOK_MINUS_INFINITY;
Lev Walkinf15320b2004-06-03 03:38:44 +00003043 YY_BREAK
3044case 85:
3045YY_RULE_SETUP
Lev Walkin752e9732017-08-04 02:06:22 -07003046#line 321 "asn1p_l.l"
3047return TOK_NULL;
Lev Walkinf15320b2004-06-03 03:38:44 +00003048 YY_BREAK
3049case 86:
3050YY_RULE_SETUP
Lev Walkin752e9732017-08-04 02:06:22 -07003051#line 322 "asn1p_l.l"
3052return TOK_NumericString;
Lev Walkinf15320b2004-06-03 03:38:44 +00003053 YY_BREAK
3054case 87:
3055YY_RULE_SETUP
Lev Walkin752e9732017-08-04 02:06:22 -07003056#line 323 "asn1p_l.l"
3057return TOK_OBJECT;
Lev Walkinf15320b2004-06-03 03:38:44 +00003058 YY_BREAK
3059case 88:
3060YY_RULE_SETUP
Lev Walkin752e9732017-08-04 02:06:22 -07003061#line 324 "asn1p_l.l"
3062return TOK_ObjectDescriptor;
Lev Walkinf15320b2004-06-03 03:38:44 +00003063 YY_BREAK
3064case 89:
3065YY_RULE_SETUP
Lev Walkin752e9732017-08-04 02:06:22 -07003066#line 325 "asn1p_l.l"
3067return TOK_OCTET;
Lev Walkinf15320b2004-06-03 03:38:44 +00003068 YY_BREAK
3069case 90:
3070YY_RULE_SETUP
Lev Walkin752e9732017-08-04 02:06:22 -07003071#line 326 "asn1p_l.l"
3072return TOK_OF;
Lev Walkinf15320b2004-06-03 03:38:44 +00003073 YY_BREAK
3074case 91:
3075YY_RULE_SETUP
Lev Walkin752e9732017-08-04 02:06:22 -07003076#line 327 "asn1p_l.l"
3077return TOK_OPTIONAL;
Lev Walkinf15320b2004-06-03 03:38:44 +00003078 YY_BREAK
3079case 92:
3080YY_RULE_SETUP
Lev Walkin752e9732017-08-04 02:06:22 -07003081#line 328 "asn1p_l.l"
3082return TOK_PATTERN;
Lev Walkinf15320b2004-06-03 03:38:44 +00003083 YY_BREAK
3084case 93:
3085YY_RULE_SETUP
Lev Walkin752e9732017-08-04 02:06:22 -07003086#line 329 "asn1p_l.l"
3087return TOK_PDV;
Lev Walkinf15320b2004-06-03 03:38:44 +00003088 YY_BREAK
3089case 94:
3090YY_RULE_SETUP
Lev Walkin752e9732017-08-04 02:06:22 -07003091#line 330 "asn1p_l.l"
3092return TOK_PLUS_INFINITY;
Lev Walkinf15320b2004-06-03 03:38:44 +00003093 YY_BREAK
3094case 95:
3095YY_RULE_SETUP
Lev Walkin752e9732017-08-04 02:06:22 -07003096#line 331 "asn1p_l.l"
3097return TOK_PRESENT;
Lev Walkinf15320b2004-06-03 03:38:44 +00003098 YY_BREAK
3099case 96:
3100YY_RULE_SETUP
Lev Walkin752e9732017-08-04 02:06:22 -07003101#line 332 "asn1p_l.l"
3102return TOK_PrintableString;
Lev Walkinf15320b2004-06-03 03:38:44 +00003103 YY_BREAK
3104case 97:
3105YY_RULE_SETUP
Lev Walkin752e9732017-08-04 02:06:22 -07003106#line 333 "asn1p_l.l"
3107return TOK_PRIVATE;
Lev Walkinf15320b2004-06-03 03:38:44 +00003108 YY_BREAK
3109case 98:
3110YY_RULE_SETUP
Lev Walkin752e9732017-08-04 02:06:22 -07003111#line 334 "asn1p_l.l"
3112return TOK_REAL;
Lev Walkinf15320b2004-06-03 03:38:44 +00003113 YY_BREAK
3114case 99:
3115YY_RULE_SETUP
Lev Walkin752e9732017-08-04 02:06:22 -07003116#line 335 "asn1p_l.l"
3117return TOK_RELATIVE_OID;
Lev Walkinf15320b2004-06-03 03:38:44 +00003118 YY_BREAK
3119case 100:
3120YY_RULE_SETUP
Lev Walkin752e9732017-08-04 02:06:22 -07003121#line 336 "asn1p_l.l"
3122return TOK_SEQUENCE;
Lev Walkinf15320b2004-06-03 03:38:44 +00003123 YY_BREAK
3124case 101:
3125YY_RULE_SETUP
Lev Walkin752e9732017-08-04 02:06:22 -07003126#line 337 "asn1p_l.l"
3127return TOK_SET;
Lev Walkinf15320b2004-06-03 03:38:44 +00003128 YY_BREAK
3129case 102:
3130YY_RULE_SETUP
Lev Walkin752e9732017-08-04 02:06:22 -07003131#line 338 "asn1p_l.l"
3132return TOK_SIZE;
Lev Walkinf59d0752004-08-18 04:59:12 +00003133 YY_BREAK
3134case 103:
3135YY_RULE_SETUP
Lev Walkin752e9732017-08-04 02:06:22 -07003136#line 339 "asn1p_l.l"
3137return TOK_STRING;
Lev Walkinf59d0752004-08-18 04:59:12 +00003138 YY_BREAK
3139case 104:
3140YY_RULE_SETUP
Lev Walkin752e9732017-08-04 02:06:22 -07003141#line 340 "asn1p_l.l"
3142return TOK_SYNTAX;
Lev Walkinf59d0752004-08-18 04:59:12 +00003143 YY_BREAK
3144case 105:
3145YY_RULE_SETUP
Lev Walkin752e9732017-08-04 02:06:22 -07003146#line 341 "asn1p_l.l"
3147return TOK_T61String;
Lev Walkinf59d0752004-08-18 04:59:12 +00003148 YY_BREAK
3149case 106:
3150YY_RULE_SETUP
Lev Walkin752e9732017-08-04 02:06:22 -07003151#line 342 "asn1p_l.l"
3152return TOK_TAGS;
Lev Walkinf59d0752004-08-18 04:59:12 +00003153 YY_BREAK
3154case 107:
3155YY_RULE_SETUP
Lev Walkin752e9732017-08-04 02:06:22 -07003156#line 343 "asn1p_l.l"
3157return TOK_TeletexString;
Lev Walkin2535a692005-07-02 21:42:40 +00003158 YY_BREAK
3159case 108:
3160YY_RULE_SETUP
Lev Walkin752e9732017-08-04 02:06:22 -07003161#line 344 "asn1p_l.l"
3162return TOK_TRUE;
Lev Walkin2535a692005-07-02 21:42:40 +00003163 YY_BREAK
3164case 109:
3165YY_RULE_SETUP
Lev Walkin752e9732017-08-04 02:06:22 -07003166#line 345 "asn1p_l.l"
3167return TOK_UNION;
Lev Walkin2535a692005-07-02 21:42:40 +00003168 YY_BREAK
3169case 110:
3170YY_RULE_SETUP
Lev Walkin752e9732017-08-04 02:06:22 -07003171#line 346 "asn1p_l.l"
3172return TOK_UNIQUE;
Lev Walkinadf863f2006-09-05 16:18:34 +00003173 YY_BREAK
3174case 111:
3175YY_RULE_SETUP
Lev Walkin752e9732017-08-04 02:06:22 -07003176#line 347 "asn1p_l.l"
3177return TOK_UNIVERSAL;
3178 YY_BREAK
3179case 112:
3180YY_RULE_SETUP
3181#line 348 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00003182{
3183 if(TYPE_LIFETIME(1994, 0))
3184 return TOK_UniversalString;
3185 REJECT;
3186 }
3187 YY_BREAK
Lev Walkinadf863f2006-09-05 16:18:34 +00003188case 113:
3189YY_RULE_SETUP
Lev Walkin752e9732017-08-04 02:06:22 -07003190#line 353 "asn1p_l.l"
3191return TOK_UTCTime;
3192 YY_BREAK
3193case 114:
3194YY_RULE_SETUP
3195#line 354 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00003196{
3197 if(TYPE_LIFETIME(1994, 0))
3198 return TOK_UTF8String;
3199 REJECT;
3200 }
3201 YY_BREAK
Lev Walkinef625402005-09-05 05:17:57 +00003202case 115:
3203YY_RULE_SETUP
Lev Walkin752e9732017-08-04 02:06:22 -07003204#line 359 "asn1p_l.l"
3205return TOK_VideotexString;
Lev Walkinef625402005-09-05 05:17:57 +00003206 YY_BREAK
Lev Walkin2535a692005-07-02 21:42:40 +00003207case 116:
3208YY_RULE_SETUP
Lev Walkin752e9732017-08-04 02:06:22 -07003209#line 360 "asn1p_l.l"
3210return TOK_VisibleString;
Lev Walkinadf863f2006-09-05 16:18:34 +00003211 YY_BREAK
3212case 117:
3213YY_RULE_SETUP
Lev Walkin752e9732017-08-04 02:06:22 -07003214#line 361 "asn1p_l.l"
3215return TOK_WITH;
3216 YY_BREAK
3217case 118:
3218YY_RULE_SETUP
3219#line 364 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00003220{
Lev Walkin03892812010-11-03 09:33:03 -07003221 asn1p_lval.tv_str = strdup(asn1p_text);
Lev Walkinf15320b2004-06-03 03:38:44 +00003222 return TOK_typefieldreference;
3223 }
3224 YY_BREAK
Lev Walkin752e9732017-08-04 02:06:22 -07003225case 119:
Lev Walkinf15320b2004-06-03 03:38:44 +00003226YY_RULE_SETUP
Lev Walkin752e9732017-08-04 02:06:22 -07003227#line 369 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00003228{
Lev Walkin03892812010-11-03 09:33:03 -07003229 asn1p_lval.tv_str = strdup(asn1p_text);
Lev Walkinf15320b2004-06-03 03:38:44 +00003230 return TOK_valuefieldreference;
3231 }
3232 YY_BREAK
Lev Walkin752e9732017-08-04 02:06:22 -07003233case 120:
Lev Walkinf15320b2004-06-03 03:38:44 +00003234YY_RULE_SETUP
Lev Walkin752e9732017-08-04 02:06:22 -07003235#line 375 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00003236{
Lev Walkin03892812010-11-03 09:33:03 -07003237 asn1p_lval.tv_str = strdup(asn1p_text);
Lev Walkinf15320b2004-06-03 03:38:44 +00003238 return TOK_identifier;
3239 }
3240 YY_BREAK
3241/*
3242 * objectclassreference
3243 */
Lev Walkin752e9732017-08-04 02:06:22 -07003244case 121:
Lev Walkinf15320b2004-06-03 03:38:44 +00003245YY_RULE_SETUP
Lev Walkin752e9732017-08-04 02:06:22 -07003246#line 383 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00003247{
Lev Walkin03892812010-11-03 09:33:03 -07003248 asn1p_lval.tv_str = strdup(asn1p_text);
Lev Walkinf59d0752004-08-18 04:59:12 +00003249 return TOK_capitalreference;
Lev Walkinf15320b2004-06-03 03:38:44 +00003250 }
3251 YY_BREAK
3252/*
3253 * typereference, modulereference
3254 * NOTE: TOK_objectclassreference must be combined
3255 * with this token to produce true typereference.
3256 */
Lev Walkin752e9732017-08-04 02:06:22 -07003257case 122:
Lev Walkinf15320b2004-06-03 03:38:44 +00003258YY_RULE_SETUP
Lev Walkin752e9732017-08-04 02:06:22 -07003259#line 393 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00003260{
Lev Walkin03892812010-11-03 09:33:03 -07003261 asn1p_lval.tv_str = strdup(asn1p_text);
Lev Walkinf15320b2004-06-03 03:38:44 +00003262 return TOK_typereference;
3263 }
3264 YY_BREAK
Lev Walkinef625402005-09-05 05:17:57 +00003265case 123:
3266YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00003267#line 398 "asn1p_l.l"
Lev Walkin752e9732017-08-04 02:06:22 -07003268return TOK_PPEQ;
Lev Walkinadf863f2006-09-05 16:18:34 +00003269 YY_BREAK
3270case 124:
3271YY_RULE_SETUP
Lev Walkin752e9732017-08-04 02:06:22 -07003272#line 400 "asn1p_l.l"
3273return TOK_ThreeDots;
3274 YY_BREAK
3275case 125:
3276YY_RULE_SETUP
3277#line 401 "asn1p_l.l"
Lev Walkinef625402005-09-05 05:17:57 +00003278return TOK_TwoDots;
3279 YY_BREAK
3280
Lev Walkin9d542d22006-03-14 16:31:37 +00003281case 126:
3282YY_RULE_SETUP
Lev Walkin752e9732017-08-04 02:06:22 -07003283#line 405 "asn1p_l.l"
Lev Walkin9d542d22006-03-14 16:31:37 +00003284{
Lev Walkin03892812010-11-03 09:33:03 -07003285 asn1p_lval.tv_str = strdup(asn1p_text);
Lev Walkin9d542d22006-03-14 16:31:37 +00003286 return TOK_Literal;
3287 }
3288 YY_BREAK
3289case 127:
3290YY_RULE_SETUP
Lev Walkin752e9732017-08-04 02:06:22 -07003291#line 410 "asn1p_l.l"
Lev Walkinadf863f2006-09-05 16:18:34 +00003292{
Lev Walkin03892812010-11-03 09:33:03 -07003293 asn1p_lval.tv_str = strdup(asn1p_text);
Lev Walkinadf863f2006-09-05 16:18:34 +00003294 return TOK_Literal;
3295 }
Lev Walkin9d542d22006-03-14 16:31:37 +00003296 YY_BREAK
3297case 128:
3298YY_RULE_SETUP
Lev Walkin752e9732017-08-04 02:06:22 -07003299#line 415 "asn1p_l.l"
3300{
3301 yy_push_state(with_syntax);
3302 asn1p_lval.tv_str = strdup(asn1p_text);
3303 return TOK_Literal;
3304 }
Lev Walkin9d542d22006-03-14 16:31:37 +00003305 YY_BREAK
3306case 129:
3307YY_RULE_SETUP
Lev Walkin752e9732017-08-04 02:06:22 -07003308#line 421 "asn1p_l.l"
3309return '[';
Lev Walkinadf863f2006-09-05 16:18:34 +00003310 YY_BREAK
3311case 130:
3312YY_RULE_SETUP
3313#line 422 "asn1p_l.l"
Lev Walkin752e9732017-08-04 02:06:22 -07003314return ']';
3315 YY_BREAK
3316case 131:
3317/* rule 131 can match eol */
3318YY_RULE_SETUP
3319#line 424 "asn1p_l.l"
Lev Walkinef625402005-09-05 05:17:57 +00003320{
Lev Walkin03892812010-11-03 09:33:03 -07003321 asn1p_lval.tv_opaque.buf = strdup(asn1p_text);
3322 asn1p_lval.tv_opaque.len = asn1p_leng;
Lev Walkin57074f12006-03-16 05:11:14 +00003323 return TOK_whitespace;
Lev Walkinef625402005-09-05 05:17:57 +00003324 }
Lev Walkin4696c742005-08-22 12:23:54 +00003325 YY_BREAK
Lev Walkin752e9732017-08-04 02:06:22 -07003326case 132:
Lev Walkin4696c742005-08-22 12:23:54 +00003327YY_RULE_SETUP
Lev Walkin752e9732017-08-04 02:06:22 -07003328#line 430 "asn1p_l.l"
Lev Walkind9574ae2005-03-24 16:22:35 +00003329{
3330 yy_pop_state();
Lev Walkin9d542d22006-03-14 16:31:37 +00003331 if(YYSTATE == with_syntax) {
Lev Walkin03892812010-11-03 09:33:03 -07003332 asn1p_lval.tv_str = strdup(asn1p_text);
Lev Walkin9d542d22006-03-14 16:31:37 +00003333 return TOK_Literal;
3334 } else {
3335 return '}';
3336 }
Lev Walkind9574ae2005-03-24 16:22:35 +00003337 }
3338 YY_BREAK
3339
Lev Walkinadf863f2006-09-05 16:18:34 +00003340case 133:
Lev Walkin03892812010-11-03 09:33:03 -07003341/* rule 133 can match eol */
Lev Walkinadf863f2006-09-05 16:18:34 +00003342YY_RULE_SETUP
Lev Walkin752e9732017-08-04 02:06:22 -07003343#line 443 "asn1p_l.l"
3344/* Ignore whitespace */
3345 YY_BREAK
3346case 134:
3347/* rule 134 can match eol */
3348YY_RULE_SETUP
3349#line 446 "asn1p_l.l"
Lev Walkind9574ae2005-03-24 16:22:35 +00003350{
3351 asn1c_integer_t v1 = -1, v2 = -1;
3352 char *p;
Lev Walkin03892812010-11-03 09:33:03 -07003353 for(p = asn1p_text; *p; p++)
Lev Walkind9574ae2005-03-24 16:22:35 +00003354 if(*p >= '0' && *p <= '9')
Lev Walkind370e9f2006-03-16 10:03:35 +00003355 { v1 = _lex_atoi(p); break; }
Lev Walkind9574ae2005-03-24 16:22:35 +00003356 while(*p >= '0' && *p <= '9') p++; /* Skip digits */
3357 for(; *p; p++) if(*p >= '0' && *p <= '9')
Lev Walkind370e9f2006-03-16 10:03:35 +00003358 { v2 = _lex_atoi(p); break; }
Lev Walkind9574ae2005-03-24 16:22:35 +00003359 if(v1 < 0 || v1 > 7) {
3360 fprintf(stderr, "%s at line %d: X.680:2003, #37.14 "
3361 "mandates 0..7 range for Tuple's TableColumn\n",
Lev Walkin03892812010-11-03 09:33:03 -07003362 asn1p_text, asn1p_lineno);
Lev Walkind9574ae2005-03-24 16:22:35 +00003363 return -1;
3364 }
3365 if(v2 < 0 || v2 > 15) {
3366 fprintf(stderr, "%s at line %d: X.680:2003, #37.14 "
3367 "mandates 0..15 range for Tuple's TableRow\n",
Lev Walkin03892812010-11-03 09:33:03 -07003368 asn1p_text, asn1p_lineno);
Lev Walkind9574ae2005-03-24 16:22:35 +00003369 return -1;
3370 }
3371 asn1p_lval.a_int = (v1 << 4) + v2;
3372 return TOK_tuple;
3373 }
3374 YY_BREAK
Lev Walkin752e9732017-08-04 02:06:22 -07003375case 135:
3376/* rule 135 can match eol */
Lev Walkind9574ae2005-03-24 16:22:35 +00003377YY_RULE_SETUP
Lev Walkin752e9732017-08-04 02:06:22 -07003378#line 471 "asn1p_l.l"
Lev Walkind9574ae2005-03-24 16:22:35 +00003379{
3380 asn1c_integer_t v1 = -1, v2 = -1, v3 = -1, v4 = -1;
3381 char *p;
Lev Walkin03892812010-11-03 09:33:03 -07003382 for(p = asn1p_text; *p; p++)
Lev Walkind9574ae2005-03-24 16:22:35 +00003383 if(*p >= '0' && *p <= '9')
Lev Walkind370e9f2006-03-16 10:03:35 +00003384 { v1 = _lex_atoi(p); break; }
Lev Walkind9574ae2005-03-24 16:22:35 +00003385 while(*p >= '0' && *p <= '9') p++; /* Skip digits */
3386 for(; *p; p++) if(*p >= '0' && *p <= '9')
Lev Walkind370e9f2006-03-16 10:03:35 +00003387 { v2 = _lex_atoi(p); break; }
Lev Walkind9574ae2005-03-24 16:22:35 +00003388 while(*p >= '0' && *p <= '9') p++;
3389 for(; *p; p++) if(*p >= '0' && *p <= '9')
Lev Walkind370e9f2006-03-16 10:03:35 +00003390 { v3 = _lex_atoi(p); break; }
Lev Walkind9574ae2005-03-24 16:22:35 +00003391 while(*p >= '0' && *p <= '9') p++;
3392 for(; *p; p++) if(*p >= '0' && *p <= '9')
Lev Walkind370e9f2006-03-16 10:03:35 +00003393 { v4 = _lex_atoi(p); break; }
Lev Walkind9574ae2005-03-24 16:22:35 +00003394 if(v1 < 0 || v1 > 127) {
3395 fprintf(stderr, "%s at line %d: X.680:2003, #37.12 "
3396 "mandates 0..127 range for Quadruple's Group\n",
Lev Walkin03892812010-11-03 09:33:03 -07003397 asn1p_text, asn1p_lineno);
Lev Walkind9574ae2005-03-24 16:22:35 +00003398 return -1;
3399 }
3400 if(v2 < 0 || v2 > 255) {
3401 fprintf(stderr, "%s at line %d: X.680:2003, #37.12 "
3402 "mandates 0..255 range for Quadruple's Plane\n",
Lev Walkin03892812010-11-03 09:33:03 -07003403 asn1p_text, asn1p_lineno);
Lev Walkind9574ae2005-03-24 16:22:35 +00003404 return -1;
3405 }
3406 if(v3 < 0 || v3 > 255) {
3407 fprintf(stderr, "%s at line %d: X.680:2003, #37.12 "
3408 "mandates 0..255 range for Quadruple's Row\n",
Lev Walkin03892812010-11-03 09:33:03 -07003409 asn1p_text, asn1p_lineno);
Lev Walkind9574ae2005-03-24 16:22:35 +00003410 return -1;
3411 }
3412 if(v4 < 0 || v4 > 255) {
3413 fprintf(stderr, "%s at line %d: X.680:2003, #37.12 "
3414 "mandates 0..255 range for Quadruple's Cell\n",
Lev Walkin03892812010-11-03 09:33:03 -07003415 asn1p_text, asn1p_lineno);
Lev Walkind9574ae2005-03-24 16:22:35 +00003416 return -1;
3417 }
3418 asn1p_lval.a_int = (v1 << 24) | (v2 << 16) | (v3 << 8) | v4;
3419 return TOK_quadruple;
3420 }
3421 YY_BREAK
Lev Walkinadf863f2006-09-05 16:18:34 +00003422case 136:
3423YY_RULE_SETUP
Lev Walkin752e9732017-08-04 02:06:22 -07003424#line 515 "asn1p_l.l"
3425return TOK_VBracketLeft;
Lev Walkin0e90aa02013-03-19 16:17:13 -07003426 YY_BREAK
3427case 137:
3428YY_RULE_SETUP
3429#line 516 "asn1p_l.l"
Lev Walkin752e9732017-08-04 02:06:22 -07003430return TOK_VBracketRight;
Lev Walkin0e90aa02013-03-19 16:17:13 -07003431 YY_BREAK
3432case 138:
Lev Walkin0e90aa02013-03-19 16:17:13 -07003433YY_RULE_SETUP
3434#line 518 "asn1p_l.l"
Lev Walkin752e9732017-08-04 02:06:22 -07003435return asn1p_text[0];
3436 YY_BREAK
3437case 139:
3438/* rule 139 can match eol */
3439YY_RULE_SETUP
3440#line 520 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00003441{
3442 if(TYPE_LIFETIME(1994, 0))
3443 fprintf(stderr, "ERROR: ");
3444 fprintf(stderr,
3445 "Symbol '%c' at line %d is prohibited "
3446 "by ASN.1:1994 and ASN.1:1997\n",
Lev Walkin03892812010-11-03 09:33:03 -07003447 asn1p_text[0], asn1p_lineno);
Lev Walkinf15320b2004-06-03 03:38:44 +00003448 if(TYPE_LIFETIME(1994, 0))
3449 return -1;
3450 }
3451 YY_BREAK
Lev Walkin752e9732017-08-04 02:06:22 -07003452case 140:
Lev Walkinc603f102005-01-23 09:51:44 +00003453YY_RULE_SETUP
Lev Walkin752e9732017-08-04 02:06:22 -07003454#line 531 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00003455{
3456 fprintf(stderr,
3457 "Unexpected token at line %d: \"%s\"\n",
Lev Walkin03892812010-11-03 09:33:03 -07003458 asn1p_lineno, asn1p_text);
Lev Walkinf15320b2004-06-03 03:38:44 +00003459 while(YYSTATE != INITIAL)
3460 yy_pop_state();
Lev Walkin9c974182004-09-15 11:59:51 +00003461 if(0) {
3462 yy_top_state(); /* Just to use this function. */
3463 yy_fatal_error("Parse error");
3464 }
Lev Walkinf15320b2004-06-03 03:38:44 +00003465 return -1;
3466}
3467 YY_BREAK
3468case YY_STATE_EOF(INITIAL):
3469case YY_STATE_EOF(dash_comment):
Lev Walkin2535a692005-07-02 21:42:40 +00003470case YY_STATE_EOF(idash_comment):
Lev Walkinf15320b2004-06-03 03:38:44 +00003471case YY_STATE_EOF(cpp_comment):
3472case YY_STATE_EOF(quoted):
3473case YY_STATE_EOF(opaque):
Lev Walkinf59d0752004-08-18 04:59:12 +00003474case YY_STATE_EOF(encoding_control):
Lev Walkinf15320b2004-06-03 03:38:44 +00003475case YY_STATE_EOF(with_syntax):
Lev Walkin752e9732017-08-04 02:06:22 -07003476#line 544 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00003477{
3478 while(YYSTATE != INITIAL)
3479 yy_pop_state();
3480 yyterminate();
3481 }
3482 YY_BREAK
Lev Walkin752e9732017-08-04 02:06:22 -07003483case 141:
Lev Walkinf15320b2004-06-03 03:38:44 +00003484YY_RULE_SETUP
Lev Walkin752e9732017-08-04 02:06:22 -07003485#line 551 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00003486YY_FATAL_ERROR( "flex scanner jammed" );
3487 YY_BREAK
Lev Walkin752e9732017-08-04 02:06:22 -07003488#line 3489 "asn1p_l.c"
Lev Walkinf15320b2004-06-03 03:38:44 +00003489
3490 case YY_END_OF_BUFFER:
3491 {
3492 /* Amount of text matched not including the EOB char. */
Lev Walkin03892812010-11-03 09:33:03 -07003493 int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
Lev Walkinf15320b2004-06-03 03:38:44 +00003494
3495 /* Undo the effects of YY_DO_BEFORE_ACTION. */
Lev Walkin03892812010-11-03 09:33:03 -07003496 *yy_cp = (yy_hold_char);
Lev Walkinf15320b2004-06-03 03:38:44 +00003497 YY_RESTORE_YY_MORE_OFFSET
3498
Lev Walkin03892812010-11-03 09:33:03 -07003499 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
Lev Walkinf15320b2004-06-03 03:38:44 +00003500 {
3501 /* We're scanning a new file or input source. It's
3502 * possible that this happened because the user
Lev Walkin03892812010-11-03 09:33:03 -07003503 * just pointed asn1p_in at a new source and called
3504 * asn1p_lex(). If so, then we have to assure
3505 * consistency between YY_CURRENT_BUFFER and our
Lev Walkinf15320b2004-06-03 03:38:44 +00003506 * globals. Here is the right place to do so, because
3507 * this is the first action (other than possibly a
3508 * back-up) that will match for the new input source.
3509 */
Lev Walkin03892812010-11-03 09:33:03 -07003510 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
3511 YY_CURRENT_BUFFER_LVALUE->yy_input_file = asn1p_in;
3512 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
Lev Walkinf15320b2004-06-03 03:38:44 +00003513 }
3514
3515 /* Note that here we test for yy_c_buf_p "<=" to the position
3516 * of the first EOB in the buffer, since yy_c_buf_p will
3517 * already have been incremented past the NUL character
3518 * (since all states make transitions on EOB to the
3519 * end-of-buffer state). Contrast this with the test
3520 * in input().
3521 */
Lev Walkin03892812010-11-03 09:33:03 -07003522 if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
Lev Walkinf15320b2004-06-03 03:38:44 +00003523 { /* This was really a NUL. */
3524 yy_state_type yy_next_state;
3525
Lev Walkin03892812010-11-03 09:33:03 -07003526 (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
Lev Walkinf15320b2004-06-03 03:38:44 +00003527
Lev Walkin03892812010-11-03 09:33:03 -07003528 yy_current_state = yy_get_previous_state( );
Lev Walkinf15320b2004-06-03 03:38:44 +00003529
3530 /* Okay, we're now positioned to make the NUL
3531 * transition. We couldn't have
3532 * yy_get_previous_state() go ahead and do it
3533 * for us because it doesn't know how to deal
3534 * with the possibility of jamming (and we don't
3535 * want to build jamming into it because then it
3536 * will run more slowly).
3537 */
3538
3539 yy_next_state = yy_try_NUL_trans( yy_current_state );
3540
Lev Walkin03892812010-11-03 09:33:03 -07003541 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
Lev Walkinf15320b2004-06-03 03:38:44 +00003542
3543 if ( yy_next_state )
3544 {
3545 /* Consume the NUL. */
Lev Walkin03892812010-11-03 09:33:03 -07003546 yy_cp = ++(yy_c_buf_p);
Lev Walkinf15320b2004-06-03 03:38:44 +00003547 yy_current_state = yy_next_state;
3548 goto yy_match;
3549 }
3550
3551 else
3552 {
Lev Walkin03892812010-11-03 09:33:03 -07003553/* %% [14.0] code to do back-up for compressed tables and set up yy_cp goes here */
3554 yy_cp = (yy_c_buf_p);
Lev Walkinf15320b2004-06-03 03:38:44 +00003555 goto yy_find_action;
3556 }
3557 }
3558
Lev Walkin03892812010-11-03 09:33:03 -07003559 else switch ( yy_get_next_buffer( ) )
Lev Walkinf15320b2004-06-03 03:38:44 +00003560 {
3561 case EOB_ACT_END_OF_FILE:
3562 {
Lev Walkin03892812010-11-03 09:33:03 -07003563 (yy_did_buffer_switch_on_eof) = 0;
Lev Walkinf15320b2004-06-03 03:38:44 +00003564
Lev Walkin03892812010-11-03 09:33:03 -07003565 if ( asn1p_wrap( ) )
Lev Walkinf15320b2004-06-03 03:38:44 +00003566 {
3567 /* Note: because we've taken care in
3568 * yy_get_next_buffer() to have set up
Lev Walkin03892812010-11-03 09:33:03 -07003569 * asn1p_text, we can now set up
Lev Walkinf15320b2004-06-03 03:38:44 +00003570 * yy_c_buf_p so that if some total
3571 * hoser (like flex itself) wants to
3572 * call the scanner after we return the
3573 * YY_NULL, it'll still work - another
3574 * YY_NULL will get returned.
3575 */
Lev Walkin03892812010-11-03 09:33:03 -07003576 (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
Lev Walkinf15320b2004-06-03 03:38:44 +00003577
3578 yy_act = YY_STATE_EOF(YY_START);
3579 goto do_action;
3580 }
3581
3582 else
3583 {
Lev Walkin03892812010-11-03 09:33:03 -07003584 if ( ! (yy_did_buffer_switch_on_eof) )
Lev Walkinf15320b2004-06-03 03:38:44 +00003585 YY_NEW_FILE;
3586 }
3587 break;
3588 }
3589
3590 case EOB_ACT_CONTINUE_SCAN:
Lev Walkin03892812010-11-03 09:33:03 -07003591 (yy_c_buf_p) =
3592 (yytext_ptr) + yy_amount_of_matched_text;
Lev Walkinf15320b2004-06-03 03:38:44 +00003593
Lev Walkin03892812010-11-03 09:33:03 -07003594 yy_current_state = yy_get_previous_state( );
Lev Walkinf15320b2004-06-03 03:38:44 +00003595
Lev Walkin03892812010-11-03 09:33:03 -07003596 yy_cp = (yy_c_buf_p);
3597 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
Lev Walkinf15320b2004-06-03 03:38:44 +00003598 goto yy_match;
3599
3600 case EOB_ACT_LAST_MATCH:
Lev Walkin03892812010-11-03 09:33:03 -07003601 (yy_c_buf_p) =
3602 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
Lev Walkinf15320b2004-06-03 03:38:44 +00003603
Lev Walkin03892812010-11-03 09:33:03 -07003604 yy_current_state = yy_get_previous_state( );
Lev Walkinf15320b2004-06-03 03:38:44 +00003605
Lev Walkin03892812010-11-03 09:33:03 -07003606 yy_cp = (yy_c_buf_p);
3607 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
Lev Walkinf15320b2004-06-03 03:38:44 +00003608 goto yy_find_action;
3609 }
3610 break;
3611 }
3612
3613 default:
3614 YY_FATAL_ERROR(
3615 "fatal flex scanner internal error--no action found" );
3616 } /* end of action switch */
3617 } /* end of scanning one token */
Lev Walkin03892812010-11-03 09:33:03 -07003618} /* end of asn1p_lex */
3619/* %ok-for-header */
Lev Walkinf15320b2004-06-03 03:38:44 +00003620
Lev Walkin03892812010-11-03 09:33:03 -07003621/* %if-c++-only */
3622/* %not-for-header */
3623
3624/* %ok-for-header */
3625
3626/* %endif */
Lev Walkinf15320b2004-06-03 03:38:44 +00003627
3628/* yy_get_next_buffer - try to read in a new buffer
3629 *
3630 * Returns a code representing an action:
3631 * EOB_ACT_LAST_MATCH -
3632 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
3633 * EOB_ACT_END_OF_FILE - end of file
3634 */
Lev Walkin03892812010-11-03 09:33:03 -07003635/* %if-c-only */
3636static int yy_get_next_buffer (void)
3637/* %endif */
3638/* %if-c++-only */
3639/* %endif */
3640{
3641 register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
3642 register char *source = (yytext_ptr);
Lev Walkinf15320b2004-06-03 03:38:44 +00003643 register int number_to_move, i;
3644 int ret_val;
3645
Lev Walkin03892812010-11-03 09:33:03 -07003646 if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
Lev Walkinf15320b2004-06-03 03:38:44 +00003647 YY_FATAL_ERROR(
3648 "fatal flex scanner internal error--end of buffer missed" );
3649
Lev Walkin03892812010-11-03 09:33:03 -07003650 if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
Lev Walkinf15320b2004-06-03 03:38:44 +00003651 { /* Don't try to fill the buffer, so this is an EOF. */
Lev Walkin03892812010-11-03 09:33:03 -07003652 if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
Lev Walkinf15320b2004-06-03 03:38:44 +00003653 {
3654 /* We matched a single character, the EOB, so
3655 * treat this as a final EOF.
3656 */
3657 return EOB_ACT_END_OF_FILE;
3658 }
3659
3660 else
3661 {
3662 /* We matched some text prior to the EOB, first
3663 * process it.
3664 */
3665 return EOB_ACT_LAST_MATCH;
3666 }
3667 }
3668
3669 /* Try to read more data. */
3670
3671 /* First move last chars to start of buffer. */
Lev Walkin03892812010-11-03 09:33:03 -07003672 number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
Lev Walkinf15320b2004-06-03 03:38:44 +00003673
3674 for ( i = 0; i < number_to_move; ++i )
3675 *(dest++) = *(source++);
3676
Lev Walkin03892812010-11-03 09:33:03 -07003677 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
Lev Walkinf15320b2004-06-03 03:38:44 +00003678 /* don't do the read, it's not guaranteed to return an EOF,
3679 * just force an EOF
3680 */
Lev Walkin03892812010-11-03 09:33:03 -07003681 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
Lev Walkinf15320b2004-06-03 03:38:44 +00003682
3683 else
3684 {
Lev Walkin0e90aa02013-03-19 16:17:13 -07003685 yy_size_t num_to_read =
Lev Walkin03892812010-11-03 09:33:03 -07003686 YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
Lev Walkinf15320b2004-06-03 03:38:44 +00003687
3688 while ( num_to_read <= 0 )
3689 { /* Not enough room in the buffer - grow it. */
Lev Walkin03892812010-11-03 09:33:03 -07003690
Lev Walkinf15320b2004-06-03 03:38:44 +00003691 YY_FATAL_ERROR(
3692"input buffer overflow, can't enlarge buffer because scanner uses REJECT" );
Lev Walkinf15320b2004-06-03 03:38:44 +00003693
Lev Walkinf15320b2004-06-03 03:38:44 +00003694 }
3695
3696 if ( num_to_read > YY_READ_BUF_SIZE )
3697 num_to_read = YY_READ_BUF_SIZE;
3698
3699 /* Read in more data. */
Lev Walkin03892812010-11-03 09:33:03 -07003700 YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
Lev Walkin0e90aa02013-03-19 16:17:13 -07003701 (yy_n_chars), num_to_read );
Lev Walkinf15320b2004-06-03 03:38:44 +00003702
Lev Walkin03892812010-11-03 09:33:03 -07003703 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
Lev Walkinf15320b2004-06-03 03:38:44 +00003704 }
3705
Lev Walkin03892812010-11-03 09:33:03 -07003706 if ( (yy_n_chars) == 0 )
Lev Walkinf15320b2004-06-03 03:38:44 +00003707 {
3708 if ( number_to_move == YY_MORE_ADJ )
3709 {
3710 ret_val = EOB_ACT_END_OF_FILE;
Lev Walkin03892812010-11-03 09:33:03 -07003711 asn1p_restart(asn1p_in );
Lev Walkinf15320b2004-06-03 03:38:44 +00003712 }
3713
3714 else
3715 {
3716 ret_val = EOB_ACT_LAST_MATCH;
Lev Walkin03892812010-11-03 09:33:03 -07003717 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
Lev Walkinf15320b2004-06-03 03:38:44 +00003718 YY_BUFFER_EOF_PENDING;
3719 }
3720 }
3721
3722 else
3723 ret_val = EOB_ACT_CONTINUE_SCAN;
3724
Lev Walkin03892812010-11-03 09:33:03 -07003725 if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
3726 /* Extend the array by 50%, plus the number we really need. */
3727 yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
3728 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) asn1p_realloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size );
3729 if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
3730 YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
Lev Walkinf15320b2004-06-03 03:38:44 +00003731 }
3732
Lev Walkin03892812010-11-03 09:33:03 -07003733 (yy_n_chars) += number_to_move;
3734 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
3735 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
3736
3737 (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
3738
3739 return ret_val;
3740}
Lev Walkinf15320b2004-06-03 03:38:44 +00003741
3742/* yy_get_previous_state - get the state just before the EOB char was reached */
3743
Lev Walkin03892812010-11-03 09:33:03 -07003744/* %if-c-only */
3745/* %not-for-header */
3746
3747 static yy_state_type yy_get_previous_state (void)
3748/* %endif */
3749/* %if-c++-only */
3750/* %endif */
3751{
Lev Walkinf15320b2004-06-03 03:38:44 +00003752 register yy_state_type yy_current_state;
3753 register char *yy_cp;
Lev Walkin03892812010-11-03 09:33:03 -07003754
3755/* %% [15.0] code to get the start state into yy_current_state goes here */
3756 yy_current_state = (yy_start);
Lev Walkinf15320b2004-06-03 03:38:44 +00003757
Lev Walkin03892812010-11-03 09:33:03 -07003758 (yy_state_ptr) = (yy_state_buf);
3759 *(yy_state_ptr)++ = yy_current_state;
Lev Walkinf15320b2004-06-03 03:38:44 +00003760
Lev Walkin03892812010-11-03 09:33:03 -07003761 for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
Lev Walkinf15320b2004-06-03 03:38:44 +00003762 {
Lev Walkin03892812010-11-03 09:33:03 -07003763/* %% [16.0] code to find the next state goes here */
Lev Walkinf15320b2004-06-03 03:38:44 +00003764 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
3765 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3766 {
3767 yy_current_state = (int) yy_def[yy_current_state];
Lev Walkin752e9732017-08-04 02:06:22 -07003768 if ( yy_current_state >= 749 )
Lev Walkinf15320b2004-06-03 03:38:44 +00003769 yy_c = yy_meta[(unsigned int) yy_c];
3770 }
3771 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
Lev Walkin03892812010-11-03 09:33:03 -07003772 *(yy_state_ptr)++ = yy_current_state;
Lev Walkinf15320b2004-06-03 03:38:44 +00003773 }
3774
3775 return yy_current_state;
Lev Walkin03892812010-11-03 09:33:03 -07003776}
Lev Walkinf15320b2004-06-03 03:38:44 +00003777
3778/* yy_try_NUL_trans - try to make a transition on the NUL character
3779 *
3780 * synopsis
3781 * next_state = yy_try_NUL_trans( current_state );
3782 */
Lev Walkin03892812010-11-03 09:33:03 -07003783/* %if-c-only */
3784 static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state )
3785/* %endif */
3786/* %if-c++-only */
3787/* %endif */
3788{
Lev Walkinf15320b2004-06-03 03:38:44 +00003789 register int yy_is_jam;
Lev Walkin03892812010-11-03 09:33:03 -07003790 /* %% [17.0] code to find the next state, and perhaps do backing up, goes here */
Lev Walkinf15320b2004-06-03 03:38:44 +00003791
3792 register YY_CHAR yy_c = 1;
3793 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3794 {
3795 yy_current_state = (int) yy_def[yy_current_state];
Lev Walkin752e9732017-08-04 02:06:22 -07003796 if ( yy_current_state >= 749 )
Lev Walkinf15320b2004-06-03 03:38:44 +00003797 yy_c = yy_meta[(unsigned int) yy_c];
3798 }
3799 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
Lev Walkin752e9732017-08-04 02:06:22 -07003800 yy_is_jam = (yy_current_state == 748);
Lev Walkinf15320b2004-06-03 03:38:44 +00003801 if ( ! yy_is_jam )
Lev Walkin03892812010-11-03 09:33:03 -07003802 *(yy_state_ptr)++ = yy_current_state;
Lev Walkinf15320b2004-06-03 03:38:44 +00003803
3804 return yy_is_jam ? 0 : yy_current_state;
Lev Walkin03892812010-11-03 09:33:03 -07003805}
Lev Walkinf15320b2004-06-03 03:38:44 +00003806
Lev Walkin03892812010-11-03 09:33:03 -07003807/* %if-c-only */
Lev Walkinf15320b2004-06-03 03:38:44 +00003808
Lev Walkin03892812010-11-03 09:33:03 -07003809 static void yyunput (int c, register char * yy_bp )
3810/* %endif */
3811/* %if-c++-only */
3812/* %endif */
3813{
3814 register char *yy_cp;
3815
3816 yy_cp = (yy_c_buf_p);
Lev Walkinf15320b2004-06-03 03:38:44 +00003817
Lev Walkin03892812010-11-03 09:33:03 -07003818 /* undo effects of setting up asn1p_text */
3819 *yy_cp = (yy_hold_char);
Lev Walkinf15320b2004-06-03 03:38:44 +00003820
Lev Walkin03892812010-11-03 09:33:03 -07003821 if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
Lev Walkinf15320b2004-06-03 03:38:44 +00003822 { /* need to shift things up to make room */
3823 /* +2 for EOB chars. */
Lev Walkin0e90aa02013-03-19 16:17:13 -07003824 register yy_size_t number_to_move = (yy_n_chars) + 2;
Lev Walkin03892812010-11-03 09:33:03 -07003825 register char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[
3826 YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2];
Lev Walkinf15320b2004-06-03 03:38:44 +00003827 register char *source =
Lev Walkin03892812010-11-03 09:33:03 -07003828 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move];
Lev Walkinf15320b2004-06-03 03:38:44 +00003829
Lev Walkin03892812010-11-03 09:33:03 -07003830 while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
Lev Walkinf15320b2004-06-03 03:38:44 +00003831 *--dest = *--source;
3832
3833 yy_cp += (int) (dest - source);
3834 yy_bp += (int) (dest - source);
Lev Walkin03892812010-11-03 09:33:03 -07003835 YY_CURRENT_BUFFER_LVALUE->yy_n_chars =
3836 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_buf_size;
Lev Walkinf15320b2004-06-03 03:38:44 +00003837
Lev Walkin03892812010-11-03 09:33:03 -07003838 if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
Lev Walkinf15320b2004-06-03 03:38:44 +00003839 YY_FATAL_ERROR( "flex scanner push-back overflow" );
3840 }
3841
3842 *--yy_cp = (char) c;
3843
Lev Walkin03892812010-11-03 09:33:03 -07003844/* %% [18.0] update asn1p_lineno here */
Lev Walkinf15320b2004-06-03 03:38:44 +00003845
Lev Walkin03892812010-11-03 09:33:03 -07003846 if ( c == '\n' ){
3847 --asn1p_lineno;
3848 }
Lev Walkinf15320b2004-06-03 03:38:44 +00003849
Lev Walkin03892812010-11-03 09:33:03 -07003850 (yytext_ptr) = yy_bp;
3851 (yy_hold_char) = *yy_cp;
3852 (yy_c_buf_p) = yy_cp;
3853}
3854/* %if-c-only */
Lev Walkinf15320b2004-06-03 03:38:44 +00003855
Lev Walkin03892812010-11-03 09:33:03 -07003856/* %endif */
3857
3858/* %if-c-only */
3859#ifndef YY_NO_INPUT
Lev Walkinf15320b2004-06-03 03:38:44 +00003860#ifdef __cplusplus
Lev Walkin03892812010-11-03 09:33:03 -07003861 static int yyinput (void)
Lev Walkinf15320b2004-06-03 03:38:44 +00003862#else
Lev Walkin03892812010-11-03 09:33:03 -07003863 static int input (void)
Lev Walkinf15320b2004-06-03 03:38:44 +00003864#endif
Lev Walkin03892812010-11-03 09:33:03 -07003865
3866/* %endif */
3867/* %if-c++-only */
3868/* %endif */
3869{
Lev Walkinf15320b2004-06-03 03:38:44 +00003870 int c;
Lev Walkin03892812010-11-03 09:33:03 -07003871
3872 *(yy_c_buf_p) = (yy_hold_char);
Lev Walkinf15320b2004-06-03 03:38:44 +00003873
Lev Walkin03892812010-11-03 09:33:03 -07003874 if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
Lev Walkinf15320b2004-06-03 03:38:44 +00003875 {
3876 /* yy_c_buf_p now points to the character we want to return.
3877 * If this occurs *before* the EOB characters, then it's a
3878 * valid NUL; if not, then we've hit the end of the buffer.
3879 */
Lev Walkin03892812010-11-03 09:33:03 -07003880 if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
Lev Walkinf15320b2004-06-03 03:38:44 +00003881 /* This was really a NUL. */
Lev Walkin03892812010-11-03 09:33:03 -07003882 *(yy_c_buf_p) = '\0';
Lev Walkinf15320b2004-06-03 03:38:44 +00003883
3884 else
3885 { /* need more input */
Lev Walkin0e90aa02013-03-19 16:17:13 -07003886 yy_size_t offset = (yy_c_buf_p) - (yytext_ptr);
Lev Walkin03892812010-11-03 09:33:03 -07003887 ++(yy_c_buf_p);
Lev Walkinf15320b2004-06-03 03:38:44 +00003888
Lev Walkin03892812010-11-03 09:33:03 -07003889 switch ( yy_get_next_buffer( ) )
Lev Walkinf15320b2004-06-03 03:38:44 +00003890 {
3891 case EOB_ACT_LAST_MATCH:
3892 /* This happens because yy_g_n_b()
3893 * sees that we've accumulated a
3894 * token and flags that we need to
3895 * try matching the token before
3896 * proceeding. But for input(),
3897 * there's no matching to consider.
3898 * So convert the EOB_ACT_LAST_MATCH
3899 * to EOB_ACT_END_OF_FILE.
3900 */
3901
3902 /* Reset buffer status. */
Lev Walkin03892812010-11-03 09:33:03 -07003903 asn1p_restart(asn1p_in );
Lev Walkinf15320b2004-06-03 03:38:44 +00003904
Lev Walkin03892812010-11-03 09:33:03 -07003905 /*FALLTHROUGH*/
Lev Walkinf15320b2004-06-03 03:38:44 +00003906
3907 case EOB_ACT_END_OF_FILE:
3908 {
Lev Walkin03892812010-11-03 09:33:03 -07003909 if ( asn1p_wrap( ) )
Lev Walkin0e90aa02013-03-19 16:17:13 -07003910 return 0;
Lev Walkinf15320b2004-06-03 03:38:44 +00003911
Lev Walkin03892812010-11-03 09:33:03 -07003912 if ( ! (yy_did_buffer_switch_on_eof) )
Lev Walkinf15320b2004-06-03 03:38:44 +00003913 YY_NEW_FILE;
3914#ifdef __cplusplus
3915 return yyinput();
3916#else
3917 return input();
3918#endif
3919 }
3920
3921 case EOB_ACT_CONTINUE_SCAN:
Lev Walkin03892812010-11-03 09:33:03 -07003922 (yy_c_buf_p) = (yytext_ptr) + offset;
Lev Walkinf15320b2004-06-03 03:38:44 +00003923 break;
3924 }
3925 }
3926 }
3927
Lev Walkin03892812010-11-03 09:33:03 -07003928 c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */
3929 *(yy_c_buf_p) = '\0'; /* preserve asn1p_text */
3930 (yy_hold_char) = *++(yy_c_buf_p);
Lev Walkinf15320b2004-06-03 03:38:44 +00003931
Lev Walkin03892812010-11-03 09:33:03 -07003932/* %% [19.0] update BOL and asn1p_lineno */
Lev Walkinf15320b2004-06-03 03:38:44 +00003933 if ( c == '\n' )
Lev Walkin03892812010-11-03 09:33:03 -07003934
3935 asn1p_lineno++;
3936;
Lev Walkinf15320b2004-06-03 03:38:44 +00003937
3938 return c;
Lev Walkin03892812010-11-03 09:33:03 -07003939}
3940/* %if-c-only */
3941#endif /* ifndef YY_NO_INPUT */
3942/* %endif */
3943
3944/** Immediately switch to a different input stream.
3945 * @param input_file A readable stream.
3946 *
3947 * @note This function does not reset the start condition to @c INITIAL .
3948 */
3949/* %if-c-only */
3950 void asn1p_restart (FILE * input_file )
3951/* %endif */
3952/* %if-c++-only */
3953/* %endif */
3954{
3955
3956 if ( ! YY_CURRENT_BUFFER ){
3957 asn1p_ensure_buffer_stack ();
3958 YY_CURRENT_BUFFER_LVALUE =
3959 asn1p__create_buffer(asn1p_in,YY_BUF_SIZE );
Lev Walkinf15320b2004-06-03 03:38:44 +00003960 }
3961
Lev Walkin03892812010-11-03 09:33:03 -07003962 asn1p__init_buffer(YY_CURRENT_BUFFER,input_file );
3963 asn1p__load_buffer_state( );
3964}
Lev Walkinf15320b2004-06-03 03:38:44 +00003965
Lev Walkin03892812010-11-03 09:33:03 -07003966/** Switch to a different input buffer.
3967 * @param new_buffer The new input buffer.
3968 *
3969 */
3970/* %if-c-only */
3971 void asn1p__switch_to_buffer (YY_BUFFER_STATE new_buffer )
3972/* %endif */
3973/* %if-c++-only */
3974/* %endif */
3975{
3976
3977 /* TODO. We should be able to replace this entire function body
3978 * with
3979 * asn1p_pop_buffer_state();
3980 * asn1p_push_buffer_state(new_buffer);
3981 */
3982 asn1p_ensure_buffer_stack ();
3983 if ( YY_CURRENT_BUFFER == new_buffer )
Lev Walkinf15320b2004-06-03 03:38:44 +00003984 return;
3985
Lev Walkin03892812010-11-03 09:33:03 -07003986 if ( YY_CURRENT_BUFFER )
Lev Walkinf15320b2004-06-03 03:38:44 +00003987 {
3988 /* Flush out information for old buffer. */
Lev Walkin03892812010-11-03 09:33:03 -07003989 *(yy_c_buf_p) = (yy_hold_char);
3990 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
3991 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
Lev Walkinf15320b2004-06-03 03:38:44 +00003992 }
3993
Lev Walkin03892812010-11-03 09:33:03 -07003994 YY_CURRENT_BUFFER_LVALUE = new_buffer;
3995 asn1p__load_buffer_state( );
Lev Walkinf15320b2004-06-03 03:38:44 +00003996
3997 /* We don't actually know whether we did this switch during
Lev Walkin03892812010-11-03 09:33:03 -07003998 * EOF (asn1p_wrap()) processing, but the only time this flag
3999 * is looked at is after asn1p_wrap() is called, so it's safe
Lev Walkinf15320b2004-06-03 03:38:44 +00004000 * to go ahead and always set it.
4001 */
Lev Walkin03892812010-11-03 09:33:03 -07004002 (yy_did_buffer_switch_on_eof) = 1;
4003}
Lev Walkinf15320b2004-06-03 03:38:44 +00004004
Lev Walkin03892812010-11-03 09:33:03 -07004005/* %if-c-only */
4006static void asn1p__load_buffer_state (void)
4007/* %endif */
4008/* %if-c++-only */
4009/* %endif */
4010{
4011 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
4012 (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
4013 asn1p_in = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
4014 (yy_hold_char) = *(yy_c_buf_p);
4015}
Lev Walkinf15320b2004-06-03 03:38:44 +00004016
Lev Walkin03892812010-11-03 09:33:03 -07004017/** Allocate and initialize an input buffer state.
4018 * @param file A readable stream.
4019 * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
4020 *
4021 * @return the allocated buffer state.
4022 */
4023/* %if-c-only */
4024 YY_BUFFER_STATE asn1p__create_buffer (FILE * file, int size )
4025/* %endif */
4026/* %if-c++-only */
4027/* %endif */
4028{
Lev Walkinf15320b2004-06-03 03:38:44 +00004029 YY_BUFFER_STATE b;
Lev Walkin03892812010-11-03 09:33:03 -07004030
4031 b = (YY_BUFFER_STATE) asn1p_alloc(sizeof( struct yy_buffer_state ) );
Lev Walkinf15320b2004-06-03 03:38:44 +00004032 if ( ! b )
Lev Walkin03892812010-11-03 09:33:03 -07004033 YY_FATAL_ERROR( "out of dynamic memory in asn1p__create_buffer()" );
Lev Walkinf15320b2004-06-03 03:38:44 +00004034
4035 b->yy_buf_size = size;
4036
4037 /* yy_ch_buf has to be 2 characters longer than the size given because
4038 * we need to put in 2 end-of-buffer characters.
4039 */
Lev Walkin03892812010-11-03 09:33:03 -07004040 b->yy_ch_buf = (char *) asn1p_alloc(b->yy_buf_size + 2 );
Lev Walkinf15320b2004-06-03 03:38:44 +00004041 if ( ! b->yy_ch_buf )
Lev Walkin03892812010-11-03 09:33:03 -07004042 YY_FATAL_ERROR( "out of dynamic memory in asn1p__create_buffer()" );
Lev Walkinf15320b2004-06-03 03:38:44 +00004043
4044 b->yy_is_our_buffer = 1;
4045
Lev Walkin03892812010-11-03 09:33:03 -07004046 asn1p__init_buffer(b,file );
Lev Walkinf15320b2004-06-03 03:38:44 +00004047
4048 return b;
Lev Walkin03892812010-11-03 09:33:03 -07004049}
Lev Walkinf15320b2004-06-03 03:38:44 +00004050
Lev Walkin03892812010-11-03 09:33:03 -07004051/** Destroy the buffer.
4052 * @param b a buffer created with asn1p__create_buffer()
4053 *
4054 */
4055/* %if-c-only */
4056 void asn1p__delete_buffer (YY_BUFFER_STATE b )
4057/* %endif */
4058/* %if-c++-only */
4059/* %endif */
4060{
4061
Lev Walkinf15320b2004-06-03 03:38:44 +00004062 if ( ! b )
4063 return;
4064
Lev Walkin03892812010-11-03 09:33:03 -07004065 if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
4066 YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
Lev Walkinf15320b2004-06-03 03:38:44 +00004067
4068 if ( b->yy_is_our_buffer )
Lev Walkin03892812010-11-03 09:33:03 -07004069 asn1p_free((void *) b->yy_ch_buf );
Lev Walkinf15320b2004-06-03 03:38:44 +00004070
Lev Walkin03892812010-11-03 09:33:03 -07004071 asn1p_free((void *) b );
4072}
Lev Walkinf15320b2004-06-03 03:38:44 +00004073
Lev Walkin03892812010-11-03 09:33:03 -07004074/* %if-c-only */
Lev Walkinf15320b2004-06-03 03:38:44 +00004075
Lev Walkin03892812010-11-03 09:33:03 -07004076/* %endif */
Lev Walkinf15320b2004-06-03 03:38:44 +00004077
Lev Walkin03892812010-11-03 09:33:03 -07004078/* %if-c++-only */
4079/* %endif */
Lev Walkinf15320b2004-06-03 03:38:44 +00004080
Lev Walkin03892812010-11-03 09:33:03 -07004081/* Initializes or reinitializes a buffer.
4082 * This function is sometimes called more than once on the same buffer,
4083 * such as during a asn1p_restart() or at EOF.
4084 */
4085/* %if-c-only */
4086 static void asn1p__init_buffer (YY_BUFFER_STATE b, FILE * file )
4087/* %endif */
4088/* %if-c++-only */
4089/* %endif */
Lev Walkinf15320b2004-06-03 03:38:44 +00004090
Lev Walkin03892812010-11-03 09:33:03 -07004091{
4092 int oerrno = errno;
4093
4094 asn1p__flush_buffer(b );
Lev Walkinf15320b2004-06-03 03:38:44 +00004095
4096 b->yy_input_file = file;
4097 b->yy_fill_buffer = 1;
4098
Lev Walkin03892812010-11-03 09:33:03 -07004099 /* If b is the current buffer, then asn1p__init_buffer was _probably_
4100 * called from asn1p_restart() or through yy_get_next_buffer.
4101 * In that case, we don't want to reset the lineno or column.
4102 */
4103 if (b != YY_CURRENT_BUFFER){
4104 b->yy_bs_lineno = 1;
4105 b->yy_bs_column = 0;
4106 }
Lev Walkinf15320b2004-06-03 03:38:44 +00004107
Lev Walkin03892812010-11-03 09:33:03 -07004108/* %if-c-only */
Lev Walkinf15320b2004-06-03 03:38:44 +00004109
Lev Walkin03892812010-11-03 09:33:03 -07004110 b->yy_is_interactive = 0;
4111
4112/* %endif */
4113/* %if-c++-only */
4114/* %endif */
4115 errno = oerrno;
4116}
Lev Walkinf15320b2004-06-03 03:38:44 +00004117
Lev Walkin03892812010-11-03 09:33:03 -07004118/** Discard all buffered characters. On the next scan, YY_INPUT will be called.
4119 * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
4120 *
4121 */
4122/* %if-c-only */
4123 void asn1p__flush_buffer (YY_BUFFER_STATE b )
4124/* %endif */
4125/* %if-c++-only */
4126/* %endif */
4127{
4128 if ( ! b )
Lev Walkinf15320b2004-06-03 03:38:44 +00004129 return;
4130
4131 b->yy_n_chars = 0;
4132
4133 /* We always need two end-of-buffer characters. The first causes
4134 * a transition to the end-of-buffer state. The second causes
4135 * a jam in that state.
4136 */
4137 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
4138 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
4139
4140 b->yy_buf_pos = &b->yy_ch_buf[0];
4141
4142 b->yy_at_bol = 1;
4143 b->yy_buffer_status = YY_BUFFER_NEW;
4144
Lev Walkin03892812010-11-03 09:33:03 -07004145 if ( b == YY_CURRENT_BUFFER )
4146 asn1p__load_buffer_state( );
4147}
4148
4149/* %if-c-or-c++ */
4150/** Pushes the new state onto the stack. The new state becomes
4151 * the current state. This function will allocate the stack
4152 * if necessary.
4153 * @param new_buffer The new state.
4154 *
4155 */
4156/* %if-c-only */
4157void asn1p_push_buffer_state (YY_BUFFER_STATE new_buffer )
4158/* %endif */
4159/* %if-c++-only */
4160/* %endif */
4161{
4162 if (new_buffer == NULL)
4163 return;
4164
4165 asn1p_ensure_buffer_stack();
4166
4167 /* This block is copied from asn1p__switch_to_buffer. */
4168 if ( YY_CURRENT_BUFFER )
4169 {
4170 /* Flush out information for old buffer. */
4171 *(yy_c_buf_p) = (yy_hold_char);
4172 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
4173 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
4174 }
4175
4176 /* Only push if top exists. Otherwise, replace top. */
4177 if (YY_CURRENT_BUFFER)
4178 (yy_buffer_stack_top)++;
4179 YY_CURRENT_BUFFER_LVALUE = new_buffer;
4180
4181 /* copied from asn1p__switch_to_buffer. */
4182 asn1p__load_buffer_state( );
4183 (yy_did_buffer_switch_on_eof) = 1;
4184}
4185/* %endif */
4186
4187/* %if-c-or-c++ */
4188/** Removes and deletes the top of the stack, if present.
4189 * The next element becomes the new top.
4190 *
4191 */
4192/* %if-c-only */
4193void asn1p_pop_buffer_state (void)
4194/* %endif */
4195/* %if-c++-only */
4196/* %endif */
4197{
4198 if (!YY_CURRENT_BUFFER)
4199 return;
4200
4201 asn1p__delete_buffer(YY_CURRENT_BUFFER );
4202 YY_CURRENT_BUFFER_LVALUE = NULL;
4203 if ((yy_buffer_stack_top) > 0)
4204 --(yy_buffer_stack_top);
4205
4206 if (YY_CURRENT_BUFFER) {
4207 asn1p__load_buffer_state( );
4208 (yy_did_buffer_switch_on_eof) = 1;
4209 }
4210}
4211/* %endif */
4212
4213/* %if-c-or-c++ */
4214/* Allocates the stack if it does not exist.
4215 * Guarantees space for at least one push.
4216 */
4217/* %if-c-only */
4218static void asn1p_ensure_buffer_stack (void)
4219/* %endif */
4220/* %if-c++-only */
4221/* %endif */
4222{
Lev Walkin0e90aa02013-03-19 16:17:13 -07004223 yy_size_t num_to_alloc;
Lev Walkin03892812010-11-03 09:33:03 -07004224
4225 if (!(yy_buffer_stack)) {
4226
4227 /* First allocation is just for 2 elements, since we don't know if this
4228 * scanner will even need a stack. We use 2 instead of 1 to avoid an
4229 * immediate realloc on the next call.
4230 */
4231 num_to_alloc = 1;
4232 (yy_buffer_stack) = (struct yy_buffer_state**)asn1p_alloc
4233 (num_to_alloc * sizeof(struct yy_buffer_state*)
4234 );
4235 if ( ! (yy_buffer_stack) )
4236 YY_FATAL_ERROR( "out of dynamic memory in asn1p_ensure_buffer_stack()" );
4237
4238 memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
4239
4240 (yy_buffer_stack_max) = num_to_alloc;
4241 (yy_buffer_stack_top) = 0;
4242 return;
Lev Walkinf15320b2004-06-03 03:38:44 +00004243 }
4244
Lev Walkin03892812010-11-03 09:33:03 -07004245 if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
Lev Walkinf15320b2004-06-03 03:38:44 +00004246
Lev Walkin03892812010-11-03 09:33:03 -07004247 /* Increase the buffer to prepare for a possible push. */
4248 int grow_size = 8 /* arbitrary grow size */;
4249
4250 num_to_alloc = (yy_buffer_stack_max) + grow_size;
4251 (yy_buffer_stack) = (struct yy_buffer_state**)asn1p_realloc
4252 ((yy_buffer_stack),
4253 num_to_alloc * sizeof(struct yy_buffer_state*)
4254 );
4255 if ( ! (yy_buffer_stack) )
4256 YY_FATAL_ERROR( "out of dynamic memory in asn1p_ensure_buffer_stack()" );
4257
4258 /* zero only the new slots.*/
4259 memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
4260 (yy_buffer_stack_max) = num_to_alloc;
4261 }
4262}
4263/* %endif */
4264
4265/* %if-c-only */
4266/** Setup the input buffer state to scan directly from a user-specified character buffer.
4267 * @param base the character buffer
4268 * @param size the size in bytes of the character buffer
4269 *
4270 * @return the newly allocated buffer state object.
4271 */
4272YY_BUFFER_STATE asn1p__scan_buffer (char * base, yy_size_t size )
4273{
Lev Walkinf15320b2004-06-03 03:38:44 +00004274 YY_BUFFER_STATE b;
Lev Walkin03892812010-11-03 09:33:03 -07004275
Lev Walkinf15320b2004-06-03 03:38:44 +00004276 if ( size < 2 ||
4277 base[size-2] != YY_END_OF_BUFFER_CHAR ||
4278 base[size-1] != YY_END_OF_BUFFER_CHAR )
4279 /* They forgot to leave room for the EOB's. */
4280 return 0;
4281
Lev Walkin03892812010-11-03 09:33:03 -07004282 b = (YY_BUFFER_STATE) asn1p_alloc(sizeof( struct yy_buffer_state ) );
Lev Walkinf15320b2004-06-03 03:38:44 +00004283 if ( ! b )
Lev Walkin03892812010-11-03 09:33:03 -07004284 YY_FATAL_ERROR( "out of dynamic memory in asn1p__scan_buffer()" );
Lev Walkinf15320b2004-06-03 03:38:44 +00004285
4286 b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
4287 b->yy_buf_pos = b->yy_ch_buf = base;
4288 b->yy_is_our_buffer = 0;
4289 b->yy_input_file = 0;
4290 b->yy_n_chars = b->yy_buf_size;
4291 b->yy_is_interactive = 0;
4292 b->yy_at_bol = 1;
4293 b->yy_fill_buffer = 0;
4294 b->yy_buffer_status = YY_BUFFER_NEW;
4295
Lev Walkin03892812010-11-03 09:33:03 -07004296 asn1p__switch_to_buffer(b );
Lev Walkinf15320b2004-06-03 03:38:44 +00004297
4298 return b;
Lev Walkin03892812010-11-03 09:33:03 -07004299}
4300/* %endif */
Lev Walkinf15320b2004-06-03 03:38:44 +00004301
Lev Walkin03892812010-11-03 09:33:03 -07004302/* %if-c-only */
4303/** Setup the input buffer state to scan a string. The next call to asn1p_lex() will
4304 * scan from a @e copy of @a str.
4305 * @param yystr a NUL-terminated string to scan
4306 *
4307 * @return the newly allocated buffer state object.
4308 * @note If you want to scan bytes that may contain NUL values, then use
4309 * asn1p__scan_bytes() instead.
4310 */
4311YY_BUFFER_STATE asn1p__scan_string (yyconst char * yystr )
4312{
4313
4314 return asn1p__scan_bytes(yystr,strlen(yystr) );
4315}
4316/* %endif */
Lev Walkinf15320b2004-06-03 03:38:44 +00004317
Lev Walkin03892812010-11-03 09:33:03 -07004318/* %if-c-only */
4319/** Setup the input buffer state to scan the given bytes. The next call to asn1p_lex() will
4320 * scan from a @e copy of @a bytes.
4321 * @param bytes the byte buffer to scan
4322 * @param len the number of bytes in the buffer pointed to by @a bytes.
4323 *
4324 * @return the newly allocated buffer state object.
4325 */
Lev Walkin0e90aa02013-03-19 16:17:13 -07004326YY_BUFFER_STATE asn1p__scan_bytes (yyconst char * yybytes, yy_size_t _yybytes_len )
Lev Walkin03892812010-11-03 09:33:03 -07004327{
Lev Walkinf15320b2004-06-03 03:38:44 +00004328 YY_BUFFER_STATE b;
4329 char *buf;
Lev Walkin0e90aa02013-03-19 16:17:13 -07004330 yy_size_t n, i;
Lev Walkin03892812010-11-03 09:33:03 -07004331
Lev Walkinf15320b2004-06-03 03:38:44 +00004332 /* Get memory for full buffer, including space for trailing EOB's. */
Lev Walkin03892812010-11-03 09:33:03 -07004333 n = _yybytes_len + 2;
4334 buf = (char *) asn1p_alloc(n );
Lev Walkinf15320b2004-06-03 03:38:44 +00004335 if ( ! buf )
Lev Walkin03892812010-11-03 09:33:03 -07004336 YY_FATAL_ERROR( "out of dynamic memory in asn1p__scan_bytes()" );
Lev Walkinf15320b2004-06-03 03:38:44 +00004337
Lev Walkin03892812010-11-03 09:33:03 -07004338 for ( i = 0; i < _yybytes_len; ++i )
4339 buf[i] = yybytes[i];
Lev Walkinf15320b2004-06-03 03:38:44 +00004340
Lev Walkin03892812010-11-03 09:33:03 -07004341 buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
Lev Walkinf15320b2004-06-03 03:38:44 +00004342
Lev Walkin03892812010-11-03 09:33:03 -07004343 b = asn1p__scan_buffer(buf,n );
Lev Walkinf15320b2004-06-03 03:38:44 +00004344 if ( ! b )
Lev Walkin03892812010-11-03 09:33:03 -07004345 YY_FATAL_ERROR( "bad buffer in asn1p__scan_bytes()" );
Lev Walkinf15320b2004-06-03 03:38:44 +00004346
4347 /* It's okay to grow etc. this buffer, and we should throw it
4348 * away when we're done.
4349 */
4350 b->yy_is_our_buffer = 1;
4351
4352 return b;
Lev Walkin03892812010-11-03 09:33:03 -07004353}
4354/* %endif */
Lev Walkinf15320b2004-06-03 03:38:44 +00004355
Lev Walkin03892812010-11-03 09:33:03 -07004356/* %if-c-only */
4357 static void yy_push_state (int new_state )
4358/* %endif */
4359/* %if-c++-only */
4360/* %endif */
4361{
4362 if ( (yy_start_stack_ptr) >= (yy_start_stack_depth) )
Lev Walkinf15320b2004-06-03 03:38:44 +00004363 {
4364 yy_size_t new_size;
4365
Lev Walkin03892812010-11-03 09:33:03 -07004366 (yy_start_stack_depth) += YY_START_STACK_INCR;
4367 new_size = (yy_start_stack_depth) * sizeof( int );
Lev Walkinf15320b2004-06-03 03:38:44 +00004368
Lev Walkin03892812010-11-03 09:33:03 -07004369 if ( ! (yy_start_stack) )
4370 (yy_start_stack) = (int *) asn1p_alloc(new_size );
Lev Walkinf15320b2004-06-03 03:38:44 +00004371
4372 else
Lev Walkin03892812010-11-03 09:33:03 -07004373 (yy_start_stack) = (int *) asn1p_realloc((void *) (yy_start_stack),new_size );
Lev Walkinf15320b2004-06-03 03:38:44 +00004374
Lev Walkin03892812010-11-03 09:33:03 -07004375 if ( ! (yy_start_stack) )
4376 YY_FATAL_ERROR( "out of memory expanding start-condition stack" );
Lev Walkinf15320b2004-06-03 03:38:44 +00004377 }
4378
Lev Walkin03892812010-11-03 09:33:03 -07004379 (yy_start_stack)[(yy_start_stack_ptr)++] = YY_START;
Lev Walkinf15320b2004-06-03 03:38:44 +00004380
4381 BEGIN(new_state);
Lev Walkin03892812010-11-03 09:33:03 -07004382}
Lev Walkinf15320b2004-06-03 03:38:44 +00004383
Lev Walkin03892812010-11-03 09:33:03 -07004384/* %if-c-only */
4385 static void yy_pop_state (void)
4386/* %endif */
4387/* %if-c++-only */
4388/* %endif */
4389{
4390 if ( --(yy_start_stack_ptr) < 0 )
Lev Walkinf15320b2004-06-03 03:38:44 +00004391 YY_FATAL_ERROR( "start-condition stack underflow" );
4392
Lev Walkin03892812010-11-03 09:33:03 -07004393 BEGIN((yy_start_stack)[(yy_start_stack_ptr)]);
4394}
Lev Walkinf15320b2004-06-03 03:38:44 +00004395
Lev Walkin03892812010-11-03 09:33:03 -07004396/* %if-c-only */
4397 static int yy_top_state (void)
4398/* %endif */
4399/* %if-c++-only */
4400/* %endif */
4401{
4402 return (yy_start_stack)[(yy_start_stack_ptr) - 1];
4403}
Lev Walkinf15320b2004-06-03 03:38:44 +00004404
4405#ifndef YY_EXIT_FAILURE
4406#define YY_EXIT_FAILURE 2
4407#endif
4408
Lev Walkin03892812010-11-03 09:33:03 -07004409/* %if-c-only */
4410static void yy_fatal_error (yyconst char* msg )
4411{
4412 (void) fprintf( stderr, "%s\n", msg );
Lev Walkinf15320b2004-06-03 03:38:44 +00004413 exit( YY_EXIT_FAILURE );
Lev Walkin03892812010-11-03 09:33:03 -07004414}
4415/* %endif */
4416/* %if-c++-only */
4417/* %endif */
Lev Walkinf15320b2004-06-03 03:38:44 +00004418
4419/* Redefine yyless() so it works in section 3 code. */
4420
4421#undef yyless
4422#define yyless(n) \
4423 do \
4424 { \
Lev Walkin03892812010-11-03 09:33:03 -07004425 /* Undo effects of setting up asn1p_text. */ \
4426 int yyless_macro_arg = (n); \
4427 YY_LESS_LINENO(yyless_macro_arg);\
4428 asn1p_text[asn1p_leng] = (yy_hold_char); \
4429 (yy_c_buf_p) = asn1p_text + yyless_macro_arg; \
4430 (yy_hold_char) = *(yy_c_buf_p); \
4431 *(yy_c_buf_p) = '\0'; \
4432 asn1p_leng = yyless_macro_arg; \
Lev Walkinf15320b2004-06-03 03:38:44 +00004433 } \
4434 while ( 0 )
4435
Lev Walkin03892812010-11-03 09:33:03 -07004436/* Accessor methods (get/set functions) to struct members. */
Lev Walkinf15320b2004-06-03 03:38:44 +00004437
Lev Walkin03892812010-11-03 09:33:03 -07004438/* %if-c-only */
4439/* %if-reentrant */
4440/* %endif */
4441
4442/** Get the current line number.
4443 *
4444 */
4445int asn1p_get_lineno (void)
4446{
4447
4448 return asn1p_lineno;
4449}
4450
4451/** Get the input stream.
4452 *
4453 */
4454FILE *asn1p_get_in (void)
4455{
4456 return asn1p_in;
4457}
4458
4459/** Get the output stream.
4460 *
4461 */
4462FILE *asn1p_get_out (void)
4463{
4464 return asn1p_out;
4465}
4466
4467/** Get the length of the current token.
4468 *
4469 */
Lev Walkin0e90aa02013-03-19 16:17:13 -07004470yy_size_t asn1p_get_leng (void)
Lev Walkin03892812010-11-03 09:33:03 -07004471{
4472 return asn1p_leng;
4473}
4474
4475/** Get the current token.
4476 *
4477 */
4478
4479char *asn1p_get_text (void)
4480{
4481 return asn1p_text;
4482}
4483
4484/* %if-reentrant */
4485/* %endif */
4486
4487/** Set the current line number.
4488 * @param line_number
4489 *
4490 */
4491void asn1p_set_lineno (int line_number )
4492{
4493
4494 asn1p_lineno = line_number;
4495}
4496
4497/** Set the input stream. This does not discard the current
4498 * input buffer.
4499 * @param in_str A readable stream.
4500 *
4501 * @see asn1p__switch_to_buffer
4502 */
4503void asn1p_set_in (FILE * in_str )
4504{
4505 asn1p_in = in_str ;
4506}
4507
4508void asn1p_set_out (FILE * out_str )
4509{
4510 asn1p_out = out_str ;
4511}
4512
4513int asn1p_get_debug (void)
4514{
4515 return asn1p__flex_debug;
4516}
4517
4518void asn1p_set_debug (int bdebug )
4519{
4520 asn1p__flex_debug = bdebug ;
4521}
4522
4523/* %endif */
4524
4525/* %if-reentrant */
4526/* %if-bison-bridge */
4527/* %endif */
4528/* %endif if-c-only */
4529
4530/* %if-c-only */
4531static int yy_init_globals (void)
4532{
4533 /* Initialization is the same as for the non-reentrant scanner.
4534 * This function is called from asn1p_lex_destroy(), so don't allocate here.
4535 */
4536
4537 /* We do not touch asn1p_lineno unless the option is enabled. */
4538 asn1p_lineno = 1;
4539
4540 (yy_buffer_stack) = 0;
4541 (yy_buffer_stack_top) = 0;
4542 (yy_buffer_stack_max) = 0;
4543 (yy_c_buf_p) = (char *) 0;
4544 (yy_init) = 0;
4545 (yy_start) = 0;
4546
4547 (yy_start_stack_ptr) = 0;
4548 (yy_start_stack_depth) = 0;
4549 (yy_start_stack) = NULL;
4550
4551 (yy_state_buf) = 0;
4552 (yy_state_ptr) = 0;
4553 (yy_full_match) = 0;
4554 (yy_lp) = 0;
4555
4556/* Defined in main.c */
4557#ifdef YY_STDINIT
4558 asn1p_in = stdin;
4559 asn1p_out = stdout;
4560#else
4561 asn1p_in = (FILE *) 0;
4562 asn1p_out = (FILE *) 0;
4563#endif
4564
4565 /* For future reference: Set errno on error, since we are called by
4566 * asn1p_lex_init()
4567 */
4568 return 0;
4569}
4570/* %endif */
4571
4572/* %if-c-only SNIP! this currently causes conflicts with the c++ scanner */
4573/* asn1p_lex_destroy is for both reentrant and non-reentrant scanners. */
4574int asn1p_lex_destroy (void)
4575{
4576
4577 /* Pop the buffer stack, destroying each element. */
4578 while(YY_CURRENT_BUFFER){
4579 asn1p__delete_buffer(YY_CURRENT_BUFFER );
4580 YY_CURRENT_BUFFER_LVALUE = NULL;
4581 asn1p_pop_buffer_state();
4582 }
4583
4584 /* Destroy the stack itself. */
4585 asn1p_free((yy_buffer_stack) );
4586 (yy_buffer_stack) = NULL;
4587
4588 /* Destroy the start condition stack. */
4589 asn1p_free((yy_start_stack) );
4590 (yy_start_stack) = NULL;
4591
4592 asn1p_free ( (yy_state_buf) );
4593 (yy_state_buf) = NULL;
4594
4595 /* Reset the globals. This is important in a non-reentrant scanner so the next time
4596 * asn1p_lex() is called, initialization will occur. */
4597 yy_init_globals( );
4598
4599/* %if-reentrant */
4600/* %endif */
4601 return 0;
4602}
4603/* %endif */
4604
4605/*
4606 * Internal utility routines.
4607 */
Lev Walkinf15320b2004-06-03 03:38:44 +00004608
4609#ifndef yytext_ptr
Lev Walkin03892812010-11-03 09:33:03 -07004610static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
4611{
Lev Walkinf15320b2004-06-03 03:38:44 +00004612 register int i;
4613 for ( i = 0; i < n; ++i )
4614 s1[i] = s2[i];
Lev Walkin03892812010-11-03 09:33:03 -07004615}
Lev Walkinf15320b2004-06-03 03:38:44 +00004616#endif
4617
4618#ifdef YY_NEED_STRLEN
Lev Walkin03892812010-11-03 09:33:03 -07004619static int yy_flex_strlen (yyconst char * s )
4620{
Lev Walkinf15320b2004-06-03 03:38:44 +00004621 register int n;
4622 for ( n = 0; s[n]; ++n )
4623 ;
4624
4625 return n;
Lev Walkin03892812010-11-03 09:33:03 -07004626}
Lev Walkinf15320b2004-06-03 03:38:44 +00004627#endif
4628
Lev Walkin03892812010-11-03 09:33:03 -07004629void *asn1p_alloc (yy_size_t size )
4630{
Lev Walkinf15320b2004-06-03 03:38:44 +00004631 return (void *) malloc( size );
Lev Walkin03892812010-11-03 09:33:03 -07004632}
Lev Walkinf15320b2004-06-03 03:38:44 +00004633
Lev Walkin03892812010-11-03 09:33:03 -07004634void *asn1p_realloc (void * ptr, yy_size_t size )
4635{
Lev Walkinf15320b2004-06-03 03:38:44 +00004636 /* The cast to (char *) in the following accommodates both
4637 * implementations that use char* generic pointers, and those
4638 * that use void* generic pointers. It works with the latter
4639 * because both ANSI C and C++ allow castless assignment from
4640 * any pointer type to void*, and deal with argument conversions
4641 * as though doing an assignment.
4642 */
4643 return (void *) realloc( (char *) ptr, size );
Lev Walkin03892812010-11-03 09:33:03 -07004644}
Lev Walkinf15320b2004-06-03 03:38:44 +00004645
Lev Walkin03892812010-11-03 09:33:03 -07004646void asn1p_free (void * ptr )
4647{
4648 free( (char *) ptr ); /* see asn1p_realloc() for (char *) cast */
4649}
Lev Walkinf15320b2004-06-03 03:38:44 +00004650
Lev Walkin03892812010-11-03 09:33:03 -07004651/* %if-tables-serialization definitions */
4652/* %define-yytables The name for this specific scanner's tables. */
4653#define YYTABLES_NAME "yytables"
4654/* %endif */
4655
4656/* %ok-for-header */
4657
Lev Walkin752e9732017-08-04 02:06:22 -07004658#line 551 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00004659
4660
Lev Walkin03892812010-11-03 09:33:03 -07004661
Lev Walkinf15320b2004-06-03 03:38:44 +00004662/*
4663 * Very dirty but wonderful hack allowing to rule states from within .y file.
4664 */
Lev Walkinf59d0752004-08-18 04:59:12 +00004665void asn1p_lexer_hack_push_opaque_state() { yy_push_state(opaque); }
Lev Walkinf15320b2004-06-03 03:38:44 +00004666
4667/*
4668 * Another hack which disables recognizing some tokens when inside WITH SYNTAX.
4669 */
Lev Walkinf59d0752004-08-18 04:59:12 +00004670void asn1p_lexer_hack_enable_with_syntax() { yy_push_state(with_syntax); }
4671
4672/* Yet another */
4673void asn1p_lexer_hack_push_encoding_control() {
4674 yy_push_state(encoding_control);
Lev Walkinf15320b2004-06-03 03:38:44 +00004675}
4676
Lev Walkind21c5052004-09-29 13:18:09 +00004677static asn1c_integer_t
Lev Walkind370e9f2006-03-16 10:03:35 +00004678_lex_atoi(const char *ptr) {
Lev Walkind21c5052004-09-29 13:18:09 +00004679 asn1c_integer_t value;
Lev Walkind370e9f2006-03-16 10:03:35 +00004680 if(asn1p_atoi(ptr, &value)) {
Lev Walkinf15320b2004-06-03 03:38:44 +00004681 fprintf(stderr,
4682 "Value \"%s\" at line %d is too large "
Lev Walkin129a79e2005-04-05 08:46:22 +00004683 "for this compiler! Please contact the asn1c author.\n",
Lev Walkin03892812010-11-03 09:33:03 -07004684 ptr, asn1p_lineno);
Lev Walkind370e9f2006-03-16 10:03:35 +00004685 errno = ERANGE;
Lev Walkinf15320b2004-06-03 03:38:44 +00004686 }
Lev Walkinf15320b2004-06-03 03:38:44 +00004687 return value;
4688}
Lev Walkinadf863f2006-09-05 16:18:34 +00004689
4690static double
4691_lex_atod(const char *ptr) {
4692 double value;
4693 errno = 0;
4694 value = strtod(ptr, 0);
4695 if(errno) {
4696 fprintf(stderr,
4697 "Value \"%s\" at line %d is outside of `double` range "
4698 "in this compiler! Please contact the asn1c author.\n",
Lev Walkin03892812010-11-03 09:33:03 -07004699 ptr, asn1p_lineno);
Lev Walkinadf863f2006-09-05 16:18:34 +00004700 errno = ERANGE;
4701 }
4702 return value;
4703}
4704
Lev Walkin03892812010-11-03 09:33:03 -07004705