blob: cc4a6dd29b1b342f47e9068f928d1e37826d81c8 [file] [log] [blame]
Lev Walkin0e90aa02013-03-19 16:17:13 -07001#line 2 "lex.yy.c"
Lev Walkin03892812010-11-03 09:33:03 -07002
Lev Walkin0e90aa02013-03-19 16:17:13 -07003#line 4 "lex.yy.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;
93#else
94typedef signed char flex_int8_t;
95typedef short int flex_int16_t;
96typedef int flex_int32_t;
97typedef unsigned char flex_uint8_t;
98typedef unsigned short int flex_uint16_t;
99typedef unsigned int flex_uint32_t;
100#endif /* ! C99 */
101
102/* Limits of integral types. */
103#ifndef INT8_MIN
104#define INT8_MIN (-128)
105#endif
106#ifndef INT16_MIN
107#define INT16_MIN (-32767-1)
108#endif
109#ifndef INT32_MIN
110#define INT32_MIN (-2147483647-1)
111#endif
112#ifndef INT8_MAX
113#define INT8_MAX (127)
114#endif
115#ifndef INT16_MAX
116#define INT16_MAX (32767)
117#endif
118#ifndef INT32_MAX
119#define INT32_MAX (2147483647)
120#endif
121#ifndef UINT8_MAX
122#define UINT8_MAX (255U)
123#endif
124#ifndef UINT16_MAX
125#define UINT16_MAX (65535U)
126#endif
127#ifndef UINT32_MAX
128#define UINT32_MAX (4294967295U)
129#endif
130
131#endif /* ! FLEXINT_H */
132
133/* %endif */
134
135/* %if-c++-only */
136/* %endif */
Lev Walkinf15320b2004-06-03 03:38:44 +0000137
138#ifdef __cplusplus
139
Lev Walkinf15320b2004-06-03 03:38:44 +0000140/* The "const" storage-class-modifier is valid. */
141#define YY_USE_CONST
142
143#else /* ! __cplusplus */
144
Lev Walkin03892812010-11-03 09:33:03 -0700145/* C99 requires __STDC__ to be defined as 1. */
146#if defined (__STDC__)
Lev Walkinf15320b2004-06-03 03:38:44 +0000147
Lev Walkinf15320b2004-06-03 03:38:44 +0000148#define YY_USE_CONST
149
Lev Walkin03892812010-11-03 09:33:03 -0700150#endif /* defined (__STDC__) */
Lev Walkinf15320b2004-06-03 03:38:44 +0000151#endif /* ! __cplusplus */
152
Lev Walkinf15320b2004-06-03 03:38:44 +0000153#ifdef YY_USE_CONST
154#define yyconst const
155#else
156#define yyconst
157#endif
158
Lev Walkin03892812010-11-03 09:33:03 -0700159/* %not-for-header */
Lev Walkinf15320b2004-06-03 03:38:44 +0000160
161/* Returned upon end-of-file. */
162#define YY_NULL 0
Lev Walkin03892812010-11-03 09:33:03 -0700163/* %ok-for-header */
164
165/* %not-for-header */
Lev Walkinf15320b2004-06-03 03:38:44 +0000166
167/* Promotes a possibly negative, possibly signed char to an unsigned
168 * integer for use as an array index. If the signed char is negative,
169 * we want to instead treat it as an 8-bit unsigned char, hence the
170 * double cast.
171 */
172#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
Lev Walkin03892812010-11-03 09:33:03 -0700173/* %ok-for-header */
174
175/* %if-reentrant */
176/* %endif */
177
178/* %if-not-reentrant */
179
180/* %endif */
Lev Walkinf15320b2004-06-03 03:38:44 +0000181
182/* Enter a start condition. This macro really ought to take a parameter,
183 * but we do it the disgusting crufty way forced on us by the ()-less
184 * definition of BEGIN.
185 */
Lev Walkin03892812010-11-03 09:33:03 -0700186#define BEGIN (yy_start) = 1 + 2 *
Lev Walkinf15320b2004-06-03 03:38:44 +0000187
188/* Translate the current start state into a value that can be later handed
189 * to BEGIN to return to the state. The YYSTATE alias is for lex
190 * compatibility.
191 */
Lev Walkin03892812010-11-03 09:33:03 -0700192#define YY_START (((yy_start) - 1) / 2)
Lev Walkinf15320b2004-06-03 03:38:44 +0000193#define YYSTATE YY_START
194
195/* Action number for EOF rule of a given start state. */
196#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
197
198/* Special action meaning "start processing a new file". */
Lev Walkin03892812010-11-03 09:33:03 -0700199#define YY_NEW_FILE asn1p_restart(asn1p_in )
Lev Walkinf15320b2004-06-03 03:38:44 +0000200
201#define YY_END_OF_BUFFER_CHAR 0
202
203/* Size of default input buffer. */
Lev Walkin03892812010-11-03 09:33:03 -0700204#ifndef YY_BUF_SIZE
Lev Walkinf15320b2004-06-03 03:38:44 +0000205#define YY_BUF_SIZE 16384
Lev Walkin03892812010-11-03 09:33:03 -0700206#endif
Lev Walkinf15320b2004-06-03 03:38:44 +0000207
Lev Walkin03892812010-11-03 09:33:03 -0700208/* The state buf must be large enough to hold one state per character in the main buffer.
209 */
210#define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
211
212#ifndef YY_TYPEDEF_YY_BUFFER_STATE
213#define YY_TYPEDEF_YY_BUFFER_STATE
Lev Walkinf15320b2004-06-03 03:38:44 +0000214typedef struct yy_buffer_state *YY_BUFFER_STATE;
Lev Walkin03892812010-11-03 09:33:03 -0700215#endif
Lev Walkinf15320b2004-06-03 03:38:44 +0000216
Lev Walkin0e90aa02013-03-19 16:17:13 -0700217#ifndef YY_TYPEDEF_YY_SIZE_T
218#define YY_TYPEDEF_YY_SIZE_T
219typedef size_t yy_size_t;
220#endif
221
Lev Walkin03892812010-11-03 09:33:03 -0700222/* %if-not-reentrant */
Lev Walkin0e90aa02013-03-19 16:17:13 -0700223extern yy_size_t asn1p_leng;
Lev Walkin03892812010-11-03 09:33:03 -0700224/* %endif */
225
226/* %if-c-only */
227/* %if-not-reentrant */
228extern FILE *asn1p_in, *asn1p_out;
229/* %endif */
230/* %endif */
Lev Walkinf15320b2004-06-03 03:38:44 +0000231
232#define EOB_ACT_CONTINUE_SCAN 0
233#define EOB_ACT_END_OF_FILE 1
234#define EOB_ACT_LAST_MATCH 2
235
Lev Walkin03892812010-11-03 09:33:03 -0700236 /* Note: We specifically omit the test for yy_rule_can_match_eol because it requires
237 * access to the local variable yy_act. Since yyless() is a macro, it would break
238 * existing scanners that call yyless() from OUTSIDE asn1p_lex.
239 * One obvious solution it to make yy_act a global. I tried that, and saw
240 * a 5% performance hit in a non-asn1p_lineno scanner, because yy_act is
241 * normally declared as a register variable-- so it is not worth it.
242 */
243 #define YY_LESS_LINENO(n) \
244 do { \
Lev Walkin0e90aa02013-03-19 16:17:13 -0700245 yy_size_t yyl;\
Lev Walkin03892812010-11-03 09:33:03 -0700246 for ( yyl = n; yyl < asn1p_leng; ++yyl )\
247 if ( asn1p_text[yyl] == '\n' )\
248 --asn1p_lineno;\
249 }while(0)
250
251/* Return all but the first "n" matched characters back to the input stream. */
Lev Walkinf15320b2004-06-03 03:38:44 +0000252#define yyless(n) \
253 do \
254 { \
Lev Walkin03892812010-11-03 09:33:03 -0700255 /* Undo effects of setting up asn1p_text. */ \
256 int yyless_macro_arg = (n); \
257 YY_LESS_LINENO(yyless_macro_arg);\
258 *yy_cp = (yy_hold_char); \
Lev Walkinf15320b2004-06-03 03:38:44 +0000259 YY_RESTORE_YY_MORE_OFFSET \
Lev Walkin03892812010-11-03 09:33:03 -0700260 (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
261 YY_DO_BEFORE_ACTION; /* set up asn1p_text again */ \
Lev Walkinf15320b2004-06-03 03:38:44 +0000262 } \
263 while ( 0 )
264
Lev Walkin03892812010-11-03 09:33:03 -0700265#define unput(c) yyunput( c, (yytext_ptr) )
Lev Walkinf15320b2004-06-03 03:38:44 +0000266
Lev Walkin03892812010-11-03 09:33:03 -0700267#ifndef YY_STRUCT_YY_BUFFER_STATE
268#define YY_STRUCT_YY_BUFFER_STATE
Lev Walkinf15320b2004-06-03 03:38:44 +0000269struct yy_buffer_state
270 {
Lev Walkin03892812010-11-03 09:33:03 -0700271/* %if-c-only */
Lev Walkinf15320b2004-06-03 03:38:44 +0000272 FILE *yy_input_file;
Lev Walkin03892812010-11-03 09:33:03 -0700273/* %endif */
274
275/* %if-c++-only */
276/* %endif */
Lev Walkinf15320b2004-06-03 03:38:44 +0000277
278 char *yy_ch_buf; /* input buffer */
279 char *yy_buf_pos; /* current position in input buffer */
280
281 /* Size of input buffer in bytes, not including room for EOB
282 * characters.
283 */
284 yy_size_t yy_buf_size;
285
286 /* Number of characters read into yy_ch_buf, not including EOB
287 * characters.
288 */
Lev Walkin0e90aa02013-03-19 16:17:13 -0700289 yy_size_t yy_n_chars;
Lev Walkinf15320b2004-06-03 03:38:44 +0000290
291 /* Whether we "own" the buffer - i.e., we know we created it,
292 * and can realloc() it to grow it, and should free() it to
293 * delete it.
294 */
295 int yy_is_our_buffer;
296
297 /* Whether this is an "interactive" input source; if so, and
298 * if we're using stdio for input, then we want to use getc()
299 * instead of fread(), to make sure we stop fetching input after
300 * each newline.
301 */
302 int yy_is_interactive;
303
304 /* Whether we're considered to be at the beginning of a line.
305 * If so, '^' rules will be active on the next match, otherwise
306 * not.
307 */
308 int yy_at_bol;
309
Lev Walkin03892812010-11-03 09:33:03 -0700310 int yy_bs_lineno; /**< The line count. */
311 int yy_bs_column; /**< The column count. */
312
Lev Walkinf15320b2004-06-03 03:38:44 +0000313 /* Whether to try to fill the input buffer when we reach the
314 * end of it.
315 */
316 int yy_fill_buffer;
317
318 int yy_buffer_status;
Lev Walkin03892812010-11-03 09:33:03 -0700319
Lev Walkinf15320b2004-06-03 03:38:44 +0000320#define YY_BUFFER_NEW 0
321#define YY_BUFFER_NORMAL 1
322 /* When an EOF's been seen but there's still some text to process
323 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
324 * shouldn't try reading from the input source any more. We might
325 * still have a bunch of tokens to match, though, because of
326 * possible backing-up.
327 *
328 * When we actually see the EOF, we change the status to "new"
Lev Walkin03892812010-11-03 09:33:03 -0700329 * (via asn1p_restart()), so that the user can continue scanning by
330 * just pointing asn1p_in at a new input file.
Lev Walkinf15320b2004-06-03 03:38:44 +0000331 */
332#define YY_BUFFER_EOF_PENDING 2
Lev Walkinf15320b2004-06-03 03:38:44 +0000333
Lev Walkin03892812010-11-03 09:33:03 -0700334 };
335#endif /* !YY_STRUCT_YY_BUFFER_STATE */
336
337/* %if-c-only Standard (non-C++) definition */
338/* %not-for-header */
339
340/* %if-not-reentrant */
341
342/* Stack of input buffers. */
343static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
344static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
345static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */
346/* %endif */
347/* %ok-for-header */
348
349/* %endif */
Lev Walkinf15320b2004-06-03 03:38:44 +0000350
351/* We provide macros for accessing buffer states in case in the
352 * future we want to put the buffer states in a more general
353 * "scanner state".
Lev Walkin03892812010-11-03 09:33:03 -0700354 *
355 * Returns the top of the stack, or NULL.
Lev Walkinf15320b2004-06-03 03:38:44 +0000356 */
Lev Walkin03892812010-11-03 09:33:03 -0700357#define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
358 ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
359 : NULL)
Lev Walkinf15320b2004-06-03 03:38:44 +0000360
Lev Walkin03892812010-11-03 09:33:03 -0700361/* Same as previous macro, but useful when we know that the buffer stack is not
362 * NULL or when we need an lvalue. For internal use only.
363 */
364#define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
Lev Walkinf15320b2004-06-03 03:38:44 +0000365
Lev Walkin03892812010-11-03 09:33:03 -0700366/* %if-c-only Standard (non-C++) definition */
367
368/* %if-not-reentrant */
369/* %not-for-header */
370
371/* yy_hold_char holds the character lost when asn1p_text is formed. */
Lev Walkinf15320b2004-06-03 03:38:44 +0000372static char yy_hold_char;
Lev Walkin0e90aa02013-03-19 16:17:13 -0700373static yy_size_t yy_n_chars; /* number of characters read into yy_ch_buf */
374yy_size_t asn1p_leng;
Lev Walkinf15320b2004-06-03 03:38:44 +0000375
376/* Points to current character in buffer. */
377static char *yy_c_buf_p = (char *) 0;
Lev Walkin03892812010-11-03 09:33:03 -0700378static int yy_init = 0; /* whether we need to initialize */
Lev Walkinf15320b2004-06-03 03:38:44 +0000379static int yy_start = 0; /* start state number */
380
Lev Walkin03892812010-11-03 09:33:03 -0700381/* Flag which is used to allow asn1p_wrap()'s to do buffer switches
382 * instead of setting up a fresh asn1p_in. A bit of a hack ...
Lev Walkinf15320b2004-06-03 03:38:44 +0000383 */
384static int yy_did_buffer_switch_on_eof;
Lev Walkin03892812010-11-03 09:33:03 -0700385/* %ok-for-header */
Lev Walkinf15320b2004-06-03 03:38:44 +0000386
Lev Walkin03892812010-11-03 09:33:03 -0700387/* %endif */
Lev Walkinf15320b2004-06-03 03:38:44 +0000388
Lev Walkin03892812010-11-03 09:33:03 -0700389void asn1p_restart (FILE *input_file );
390void asn1p__switch_to_buffer (YY_BUFFER_STATE new_buffer );
391YY_BUFFER_STATE asn1p__create_buffer (FILE *file,int size );
392void asn1p__delete_buffer (YY_BUFFER_STATE b );
393void asn1p__flush_buffer (YY_BUFFER_STATE b );
394void asn1p_push_buffer_state (YY_BUFFER_STATE new_buffer );
395void asn1p_pop_buffer_state (void );
Lev Walkinf15320b2004-06-03 03:38:44 +0000396
Lev Walkin03892812010-11-03 09:33:03 -0700397static void asn1p_ensure_buffer_stack (void );
398static void asn1p__load_buffer_state (void );
399static void asn1p__init_buffer (YY_BUFFER_STATE b,FILE *file );
Lev Walkinf15320b2004-06-03 03:38:44 +0000400
Lev Walkin03892812010-11-03 09:33:03 -0700401#define YY_FLUSH_BUFFER asn1p__flush_buffer(YY_CURRENT_BUFFER )
Lev Walkinf15320b2004-06-03 03:38:44 +0000402
Lev Walkin03892812010-11-03 09:33:03 -0700403YY_BUFFER_STATE asn1p__scan_buffer (char *base,yy_size_t size );
404YY_BUFFER_STATE asn1p__scan_string (yyconst char *yy_str );
Lev Walkin0e90aa02013-03-19 16:17:13 -0700405YY_BUFFER_STATE asn1p__scan_bytes (yyconst char *bytes,yy_size_t len );
Lev Walkin03892812010-11-03 09:33:03 -0700406
407/* %endif */
408
409void *asn1p_alloc (yy_size_t );
410void *asn1p_realloc (void *,yy_size_t );
411void asn1p_free (void * );
412
413#define yy_new_buffer asn1p__create_buffer
Lev Walkinf15320b2004-06-03 03:38:44 +0000414
415#define yy_set_interactive(is_interactive) \
416 { \
Lev Walkin03892812010-11-03 09:33:03 -0700417 if ( ! YY_CURRENT_BUFFER ){ \
418 asn1p_ensure_buffer_stack (); \
419 YY_CURRENT_BUFFER_LVALUE = \
420 asn1p__create_buffer(asn1p_in,YY_BUF_SIZE ); \
421 } \
422 YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
Lev Walkinf15320b2004-06-03 03:38:44 +0000423 }
424
425#define yy_set_bol(at_bol) \
426 { \
Lev Walkin03892812010-11-03 09:33:03 -0700427 if ( ! YY_CURRENT_BUFFER ){\
428 asn1p_ensure_buffer_stack (); \
429 YY_CURRENT_BUFFER_LVALUE = \
430 asn1p__create_buffer(asn1p_in,YY_BUF_SIZE ); \
431 } \
432 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
Lev Walkinf15320b2004-06-03 03:38:44 +0000433 }
434
Lev Walkin03892812010-11-03 09:33:03 -0700435#define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
Lev Walkinf15320b2004-06-03 03:38:44 +0000436
Lev Walkin03892812010-11-03 09:33:03 -0700437/* %% [1.0] asn1p_text/asn1p_in/asn1p_out/yy_state_type/asn1p_lineno etc. def's & init go here */
438/* Begin user sect3 */
Lev Walkinf15320b2004-06-03 03:38:44 +0000439
Lev Walkin03892812010-11-03 09:33:03 -0700440#define asn1p_wrap(n) 1
Lev Walkinf15320b2004-06-03 03:38:44 +0000441#define YY_SKIP_YYWRAP
442
443#define FLEX_DEBUG
Lev Walkin03892812010-11-03 09:33:03 -0700444
Lev Walkinf15320b2004-06-03 03:38:44 +0000445typedef unsigned char YY_CHAR;
Lev Walkin03892812010-11-03 09:33:03 -0700446
447FILE *asn1p_in = (FILE *) 0, *asn1p_out = (FILE *) 0;
448
Lev Walkinf15320b2004-06-03 03:38:44 +0000449typedef int yy_state_type;
450
Lev Walkin03892812010-11-03 09:33:03 -0700451extern int asn1p_lineno;
Lev Walkinf15320b2004-06-03 03:38:44 +0000452
Lev Walkin03892812010-11-03 09:33:03 -0700453int asn1p_lineno = 1;
454
455extern char *asn1p_text;
456#define yytext_ptr asn1p_text
457
458/* %if-c-only Standard (non-C++) definition */
459
460static yy_state_type yy_get_previous_state (void );
461static yy_state_type yy_try_NUL_trans (yy_state_type current_state );
462static int yy_get_next_buffer (void );
463static void yy_fatal_error (yyconst char msg[] );
464
465/* %endif */
Lev Walkinf15320b2004-06-03 03:38:44 +0000466
467/* Done after the current pattern has been matched and before the
Lev Walkin03892812010-11-03 09:33:03 -0700468 * corresponding action - sets up asn1p_text.
Lev Walkinf15320b2004-06-03 03:38:44 +0000469 */
470#define YY_DO_BEFORE_ACTION \
Lev Walkin03892812010-11-03 09:33:03 -0700471 (yytext_ptr) = yy_bp; \
472/* %% [2.0] code to fiddle asn1p_text and asn1p_leng for yymore() goes here \ */\
Lev Walkin0e90aa02013-03-19 16:17:13 -0700473 asn1p_leng = (yy_size_t) (yy_cp - yy_bp); \
Lev Walkin03892812010-11-03 09:33:03 -0700474 (yy_hold_char) = *yy_cp; \
Lev Walkinf15320b2004-06-03 03:38:44 +0000475 *yy_cp = '\0'; \
Lev Walkin03892812010-11-03 09:33:03 -0700476/* %% [3.0] code to copy yytext_ptr to asn1p_text[] goes here, if %array \ */\
477 (yy_c_buf_p) = yy_cp;
Lev Walkinf15320b2004-06-03 03:38:44 +0000478
Lev Walkin03892812010-11-03 09:33:03 -0700479/* %% [4.0] data tables for the DFA and the user's section 1 definitions go here */
Lev Walkin0e90aa02013-03-19 16:17:13 -0700480#define YY_NUM_RULES 140
481#define YY_END_OF_BUFFER 141
Lev Walkin03892812010-11-03 09:33:03 -0700482/* This struct is not used in this scanner,
483 but its presence is necessary. */
484struct yy_trans_info
485 {
486 flex_int32_t yy_verify;
487 flex_int32_t yy_nxt;
488 };
Lev Walkin0e90aa02013-03-19 16:17:13 -0700489static yyconst flex_int16_t yy_acclist[1272] =
Lev Walkinf15320b2004-06-03 03:38:44 +0000490 { 0,
Lev Walkin0e90aa02013-03-19 16:17:13 -0700491 141, 139, 140, 132, 139, 140, 132, 140, 137, 139,
492 140, 19, 139, 140, 137, 139, 140, 139, 140, 137,
493 139, 140, 139, 140, 139, 140, 137, 139, 140, 139,
494 140, 33, 139, 140, 32, 139, 140, 137, 139, 140,
495 139, 140, 120, 121, 139, 140, 120, 121, 139, 140,
496 120, 121, 139, 140, 120, 121, 139, 140, 120, 121,
497 139, 140, 120, 121, 139, 140, 120, 121, 139, 140,
498 120, 121, 139, 140, 120, 121, 139, 140, 120, 121,
499 139, 140, 120, 121, 139, 140, 120, 121, 139, 140,
500 120, 121, 139, 140, 120, 121, 139, 140, 120, 121,
Lev Walkinf15320b2004-06-03 03:38:44 +0000501
Lev Walkin0e90aa02013-03-19 16:17:13 -0700502 139, 140, 120, 121, 139, 140, 120, 121, 139, 140,
503 120, 121, 139, 140, 120, 121, 139, 140, 137, 139,
504 140, 137, 139, 140, 119, 139, 140, 137, 139, 140,
505 9, 139, 140, 6, 140, 6, 139, 140, 8, 139,
506 140, 8, 139, 140, 11, 13, 139, 140, 11, 140,
507 13, 139, 140, 13, 139, 140, 13, 139, 140, 21,
508 139, 140, 21, 140, 22, 139, 140, 16, 139, 140,
509 16, 140, 18, 139, 140, 18, 139, 140, 14, 139,
510 140, 15, 139, 140, 25, 27, 139, 140, 27, 139,
511 140, 28, 140, 25, 26, 27, 139, 140, 25, 26,
Lev Walkinf15320b2004-06-03 03:38:44 +0000512
Lev Walkin0e90aa02013-03-19 16:17:13 -0700513 27, 139, 140, 130, 139, 140, 130, 140, 139, 140,
514 126, 139, 140, 139, 140, 139, 140, 125, 139, 140,
515 128, 139, 140, 129, 139, 140, 127, 139, 140, 131,
516 139, 140, 132, 19, 19, 117, 118, 5, 31, 124,
517 10, 34, 32, 34, 120, 121, 120, 121, 120, 121,
518 120, 121, 120, 121, 120, 121, 121, 120, 121, 120,
519 121, 120, 121, 120, 121, 44, 120, 121, 120, 121,
Lev Walkinadf863f2006-09-05 16:18:34 +0000520 120, 121, 120, 121, 120, 121, 120, 121, 120, 121,
Lev Walkin0e90aa02013-03-19 16:17:13 -0700521 120, 121, 120, 121, 120, 121, 121, 121, 120, 121,
Lev Walkinadf863f2006-09-05 16:18:34 +0000522 120, 121, 120, 121, 120, 121, 120, 121, 120, 121,
Lev Walkin0e90aa02013-03-19 16:17:13 -0700523
524 120, 121, 120, 121, 121, 120, 121, 120, 121, 89,
525 120, 121, 120, 121, 121, 120, 121, 120, 121, 120,
526 121, 120, 121, 121, 120, 121, 120, 121, 120, 121,
527 120, 121, 120, 121, 120, 121, 120, 121, 120, 121,
528 121, 120, 121, 120, 121, 121, 121, 120, 121, 135,
529 136, 119, 9, 7, 7, 12, 21, 20, 16, 25,
530 25, 26, 25, 26, 130, 5, 125, 138, 117, 118,
531 31, 34, 123, 34, 122, 120, 121, 121, 120, 121,
532 36, 120, 121, 37, 120, 121, 120, 121, 120, 121,
533 120, 121, 41, 120, 121, 120, 121, 120, 121, 120,
534
535 121, 120, 121, 120, 121, 120, 121, 120, 121, 120,
536 121, 120, 121, 120, 121, 58, 120, 121, 120, 121,
Lev Walkinadf863f2006-09-05 16:18:34 +0000537 120, 121, 120, 121, 120, 121, 120, 121, 120, 121,
538 121, 121, 120, 121, 120, 121, 120, 121, 120, 121,
Lev Walkin0e90aa02013-03-19 16:17:13 -0700539 120, 121, 120, 121, 120, 121, 81, 120, 121, 82,
540 120, 121, 120, 121, 121, 120, 121, 120, 121, 120,
541 121, 121, 120, 121, 92, 120, 121, 120, 121, 120,
542 121, 120, 121, 121, 120, 121, 120, 121, 120, 121,
543 100, 120, 121, 120, 121, 120, 121, 120, 121, 120,
Lev Walkinadf863f2006-09-05 16:18:34 +0000544 121, 120, 121, 120, 121, 121, 120, 121, 120, 121,
Lev Walkind9574ae2005-03-24 16:22:35 +0000545
Lev Walkin0e90aa02013-03-19 16:17:13 -0700546 120, 121, 121, 121, 121, 120, 121, 119, 3, 17,
547 25, 26, 24, 25, 26, 125, 117, 118, 30, 29,
548 2, 1, 120, 121, 120, 121, 120, 121, 120, 121,
Lev Walkinadf863f2006-09-05 16:18:34 +0000549 120, 121, 120, 121, 120, 121, 120, 121, 120, 121,
550 120, 121, 120, 121, 120, 121, 120, 121, 120, 121,
551 120, 121, 120, 121, 120, 121, 120, 121, 120, 121,
Lev Walkin0e90aa02013-03-19 16:17:13 -0700552 120, 121, 120, 121, 120, 121, 66, 120, 121, 121,
553 121, 120, 121, 120, 121, 120, 121, 120, 121, 120,
554 121, 120, 121, 120, 121, 120, 121, 120, 121, 84,
555 120, 121, 121, 120, 121, 120, 121, 120, 121, 121,
556
557 120, 121, 120, 121, 120, 121, 120, 121, 121, 97,
558 120, 121, 120, 121, 120, 121, 101, 120, 121, 120,
559 121, 120, 121, 120, 121, 105, 120, 121, 107, 120,
560 121, 121, 120, 121, 120, 121, 120, 121, 120, 121,
561 120, 121, 121, 121, 121, 116, 120, 121, 3, 25,
562 26, 120, 121, 120, 121, 120, 121, 40, 120, 121,
563 121, 120, 121, 120, 121, 120, 121, 47, 120, 121,
564 120, 121, 120, 121, 120, 121, 120, 121, 120, 121,
565 120, 121, 120, 121, 120, 121, 120, 121, 120, 121,
566 120, 121, 120, 121, 120, 121, 65, 120, 121, 121,
567
568 121, 121, 120, 121, 120, 121, 120, 121, 120, 121,
569 120, 121, 120, 121, 120, 121, 120, 121, 120, 121,
570 120, 121, 121, 120, 121, 88, 120, 121, 120, 121,
571 121, 120, 121, 120, 121, 120, 121, 121, 120, 121,
572 120, 121, 120, 121, 120, 121, 121, 121, 108, 120,
573 121, 120, 121, 120, 121, 121, 120, 121, 121, 121,
574 121, 133, 25, 26, 35, 120, 121, 120, 121, 120,
575 121, 121, 120, 121, 120, 121, 46, 120, 121, 120,
576 121, 120, 121, 120, 121, 120, 121, 120, 121, 120,
577 121, 120, 121, 120, 121, 120, 121, 120, 121, 60,
578
579 120, 121, 120, 121, 120, 121, 120, 121, 120, 121,
Lev Walkinadf863f2006-09-05 16:18:34 +0000580 121, 121, 121, 120, 121, 120, 121, 120, 121, 120,
581 121, 120, 121, 120, 121, 120, 121, 120, 121, 120,
Lev Walkin0e90aa02013-03-19 16:17:13 -0700582 121, 120, 121, 121, 86, 120, 121, 120, 121, 121,
583 120, 121, 120, 121, 120, 121, 120, 121, 121, 120,
584 121, 120, 121, 102, 120, 121, 103, 120, 121, 121,
585 121, 109, 120, 121, 120, 121, 121, 121, 121, 121,
586 121, 25, 26, 120, 121, 120, 121, 121, 43, 120,
587 121, 120, 121, 120, 121, 120, 121, 120, 121, 52,
588 120, 121, 53, 120, 121, 120, 121, 120, 121, 56,
Lev Walkin9d542d22006-03-14 16:31:37 +0000589
Lev Walkin0e90aa02013-03-19 16:17:13 -0700590 120, 121, 120, 121, 120, 121, 120, 121, 62, 120,
Lev Walkinadf863f2006-09-05 16:18:34 +0000591 121, 120, 121, 120, 121, 121, 121, 121, 120, 121,
Lev Walkin0e90aa02013-03-19 16:17:13 -0700592 120, 121, 73, 120, 121, 74, 120, 121, 120, 121,
593 120, 121, 120, 121, 78, 120, 121, 120, 121, 120,
594 121, 120, 121, 121, 120, 121, 121, 91, 120, 121,
595 120, 121, 94, 120, 121, 96, 120, 121, 121, 120,
596 121, 120, 121, 121, 121, 120, 121, 112, 121, 121,
597 121, 121, 121, 25, 26, 120, 121, 120, 121, 121,
598 120, 121, 120, 121, 120, 121, 120, 121, 120, 121,
599 55, 120, 121, 120, 121, 120, 121, 61, 120, 121,
Lev Walkin9d542d22006-03-14 16:31:37 +0000600
Lev Walkin0e90aa02013-03-19 16:17:13 -0700601 120, 121, 64, 120, 121, 121, 121, 121, 121, 120,
602 121, 72, 120, 121, 75, 120, 121, 76, 120, 121,
603 120, 121, 120, 121, 121, 120, 121, 121, 90, 120,
604 121, 121, 120, 121, 121, 120, 121, 99, 120, 121,
605 121, 121, 120, 121, 121, 121, 121, 121, 25, 26,
606 120, 121, 39, 120, 121, 42, 121, 45, 120, 121,
607 48, 120, 121, 120, 121, 120, 121, 120, 121, 120,
608 121, 120, 121, 121, 121, 121, 70, 121, 120, 121,
609 120, 121, 120, 121, 121, 120, 121, 121, 121, 120,
610 121, 121, 104, 121, 121, 110, 120, 121, 121, 121,
611
612 121, 121, 134, 25, 120, 121, 49, 120, 121, 120,
613 121, 51, 120, 121, 120, 121, 120, 121, 59, 120,
614 121, 120, 121, 121, 121, 121, 71, 120, 121, 120,
615 121, 120, 121, 121, 120, 121, 121, 121, 120, 121,
616 121, 120, 121, 121, 113, 121, 121, 121, 121, 25,
617 38, 120, 121, 50, 120, 121, 54, 120, 121, 120,
618 121, 120, 121, 121, 121, 121, 120, 121, 120, 121,
619 121, 120, 121, 121, 121, 120, 121, 121, 120, 121,
620 121, 121, 121, 121, 25, 120, 121, 120, 121, 121,
621 121, 121, 77, 120, 121, 79, 120, 121, 80, 121,
622
623 120, 121, 121, 121, 120, 121, 121, 98, 120, 121,
624 121, 121, 121, 121, 25, 120, 121, 63, 120, 121,
625 68, 121, 121, 69, 121, 120, 121, 85, 121, 121,
626 93, 120, 121, 121, 106, 121, 121, 121, 115, 121,
627 25, 120, 121, 121, 83, 120, 121, 121, 121, 121,
628 114, 121, 25, 120, 121, 67, 121, 121, 95, 121,
629 111, 121, 25, 57, 120, 121, 87, 121, 23, 25,
630 4
Lev Walkinf15320b2004-06-03 03:38:44 +0000631 } ;
632
Lev Walkin0e90aa02013-03-19 16:17:13 -0700633static yyconst flex_int16_t yy_accept[747] =
Lev Walkinf15320b2004-06-03 03:38:44 +0000634 { 0,
635 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
Lev Walkin2535a692005-07-02 21:42:40 +0000636 1, 1, 1, 1, 1, 1, 1, 2, 4, 7,
Lev Walkinadf863f2006-09-05 16:18:34 +0000637 9, 12, 15, 18, 20, 23, 25, 27, 30, 32,
638 35, 38, 41, 43, 47, 51, 55, 59, 63, 67,
639 71, 75, 79, 83, 87, 91, 95, 99, 103, 107,
Lev Walkin0e90aa02013-03-19 16:17:13 -0700640 111, 115, 119, 122, 125, 128, 131, 134, 136, 139,
641 142, 145, 149, 151, 154, 157, 160, 163, 165, 168,
642 171, 173, 176, 179, 182, 185, 189, 192, 194, 199,
643 204, 207, 209, 211, 214, 216, 218, 221, 224, 227,
644 230, 233, 233, 234, 235, 236, 236, 237, 237, 238,
Lev Walkinf15320b2004-06-03 03:38:44 +0000645
Lev Walkin0e90aa02013-03-19 16:17:13 -0700646 238, 238, 238, 239, 240, 241, 242, 242, 243, 243,
647 245, 245, 245, 247, 249, 251, 253, 255, 257, 258,
648 260, 262, 264, 266, 269, 271, 273, 275, 277, 279,
649 281, 283, 285, 287, 288, 289, 291, 293, 295, 297,
650 299, 301, 303, 305, 306, 308, 310, 313, 315, 316,
651 318, 320, 322, 324, 325, 327, 329, 331, 333, 335,
652 337, 339, 341, 342, 344, 346, 347, 348, 350, 351,
653 352, 352, 353, 353, 353, 353, 354, 355, 356, 357,
654 358, 359, 360, 360, 361, 363, 365, 366, 367, 367,
655 368, 369, 369, 369, 370, 370, 371, 371, 371, 371,
Lev Walkinf15320b2004-06-03 03:38:44 +0000656
Lev Walkin0e90aa02013-03-19 16:17:13 -0700657 371, 373, 374, 375, 375, 376, 378, 379, 381, 384,
658 387, 389, 391, 391, 393, 396, 398, 400, 402, 404,
659 406, 408, 410, 412, 414, 416, 419, 421, 423, 425,
660 427, 429, 431, 432, 433, 435, 437, 439, 441, 443,
661 445, 447, 450, 453, 455, 456, 458, 460, 462, 463,
662 465, 468, 470, 472, 474, 475, 477, 479, 481, 484,
663 486, 488, 490, 492, 494, 496, 497, 499, 501, 503,
664 504, 505, 506, 508, 509, 509, 509, 510, 511, 513,
665 516, 517, 517, 518, 519, 520, 521, 522, 523, 523,
666 523, 523, 525, 527, 529, 531, 533, 535, 537, 539,
Lev Walkinf15320b2004-06-03 03:38:44 +0000667
Lev Walkinadf863f2006-09-05 16:18:34 +0000668 541, 543, 545, 547, 549, 551, 553, 555, 557, 559,
Lev Walkin0e90aa02013-03-19 16:17:13 -0700669 561, 563, 565, 567, 570, 571, 572, 574, 576, 578,
670 580, 582, 584, 586, 588, 590, 593, 594, 596, 598,
671 600, 601, 603, 605, 607, 609, 610, 613, 615, 617,
672 620, 622, 624, 626, 629, 632, 633, 635, 637, 639,
673 641, 643, 644, 645, 646, 649, 649, 649, 649, 649,
674 650, 652, 652, 654, 656, 658, 661, 662, 664, 666,
675 668, 671, 673, 675, 677, 679, 681, 683, 685, 687,
676 689, 691, 693, 695, 697, 700, 701, 702, 703, 705,
677 707, 709, 711, 713, 715, 717, 719, 721, 723, 724,
Lev Walkinf15320b2004-06-03 03:38:44 +0000678
Lev Walkin0e90aa02013-03-19 16:17:13 -0700679 726, 729, 731, 732, 734, 734, 736, 738, 739, 741,
680 743, 745, 747, 748, 749, 752, 754, 756, 757, 759,
681 760, 761, 762, 762, 762, 763, 765, 765, 768, 770,
682 772, 773, 775, 777, 780, 782, 784, 786, 788, 790,
683 792, 794, 796, 798, 800, 803, 805, 807, 809, 811,
684 812, 813, 814, 816, 818, 820, 822, 824, 826, 828,
685 830, 832, 834, 834, 835, 838, 840, 841, 843, 845,
686 847, 849, 850, 852, 854, 857, 860, 861, 862, 865,
687 867, 868, 869, 870, 871, 872, 872, 872, 874, 874,
688 876, 878, 879, 882, 884, 886, 888, 890, 893, 896,
Lev Walkinf15320b2004-06-03 03:38:44 +0000689
Lev Walkin0e90aa02013-03-19 16:17:13 -0700690 898, 900, 903, 905, 907, 909, 912, 914, 916, 917,
691 918, 919, 921, 923, 926, 929, 931, 933, 935, 938,
692 940, 942, 944, 945, 947, 948, 951, 953, 956, 959,
693 960, 962, 964, 965, 966, 968, 970, 971, 972, 973,
694 974, 974, 976, 976, 978, 980, 981, 983, 985, 987,
695 989, 991, 994, 996, 998, 1001, 1003, 1006, 1007, 1008,
696 1009, 1010, 1012, 1015, 1018, 1021, 1023, 1025, 1026, 1028,
697 1029, 1032, 1033, 1035, 1036, 1038, 1041, 1042, 1043, 1045,
698 1046, 1047, 1048, 1049, 1049, 1049, 1051, 1051, 1053, 1056,
699 1058, 1061, 1064, 1066, 1068, 1070, 1070, 1072, 1074, 1075,
Lev Walkinf15320b2004-06-03 03:38:44 +0000700
Lev Walkin0e90aa02013-03-19 16:17:13 -0700701 1076, 1077, 1079, 1081, 1083, 1085, 1086, 1088, 1089, 1090,
702 1092, 1093, 1093, 1095, 1096, 1099, 1100, 1101, 1102, 1103,
703 1103, 1104, 1105, 1105, 1107, 1110, 1112, 1115, 1117, 1119,
704 1122, 1124, 1125, 1126, 1127, 1130, 1132, 1134, 1135, 1137,
705 1138, 1139, 1141, 1142, 1144, 1145, 1147, 1148, 1149, 1150,
706 1151, 1151, 1154, 1157, 1160, 1162, 1164, 1165, 1166, 1167,
707 1169, 1171, 1172, 1174, 1175, 1176, 1178, 1179, 1181, 1182,
708 1183, 1184, 1185, 1186, 1186, 1188, 1190, 1191, 1192, 1193,
709 1196, 1199, 1201, 1203, 1204, 1205, 1207, 1208, 1211, 1212,
710 1213, 1214, 1215, 1216, 1216, 1218, 1221, 1223, 1224, 1226,
Lev Walkin2535a692005-07-02 21:42:40 +0000711
Lev Walkin0e90aa02013-03-19 16:17:13 -0700712 1228, 1230, 1231, 1234, 1235, 1237, 1238, 1239, 1241, 1242,
713 1242, 1244, 1245, 1248, 1249, 1250, 1251, 1253, 1254, 1254,
714 1256, 1258, 1259, 1261, 1263, 1264, 1264, 1267, 1269, 1271,
715 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271,
716 1271, 1271, 1271, 1271, 1272, 1272
Lev Walkinf15320b2004-06-03 03:38:44 +0000717 } ;
718
Lev Walkin03892812010-11-03 09:33:03 -0700719static yyconst flex_int32_t yy_ec[256] =
Lev Walkinf15320b2004-06-03 03:38:44 +0000720 { 0,
721 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
Lev Walkin2535a692005-07-02 21:42:40 +0000722 4, 4, 5, 1, 1, 1, 1, 1, 1, 1,
Lev Walkinf15320b2004-06-03 03:38:44 +0000723 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
Lev Walkin2535a692005-07-02 21:42:40 +0000724 1, 2, 6, 7, 1, 1, 1, 8, 9, 10,
Lev Walkinadf863f2006-09-05 16:18:34 +0000725 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
726 19, 20, 21, 22, 19, 23, 24, 25, 26, 27,
727 28, 29, 1, 10, 30, 31, 32, 33, 34, 35,
728 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
729 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
730 56, 1, 57, 58, 1, 1, 59, 60, 61, 62,
Lev Walkinf15320b2004-06-03 03:38:44 +0000731
Lev Walkinadf863f2006-09-05 16:18:34 +0000732 63, 64, 65, 66, 67, 68, 64, 69, 70, 71,
733 72, 73, 64, 74, 75, 76, 77, 78, 64, 79,
734 64, 80, 81, 82, 83, 1, 1, 1, 1, 1,
Lev Walkinf15320b2004-06-03 03:38:44 +0000735 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
736 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,
741 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
742
743 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
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,
747 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
748 1, 1, 1, 1, 1
749 } ;
750
Lev Walkin03892812010-11-03 09:33:03 -0700751static yyconst flex_int32_t yy_meta[84] =
Lev Walkinf15320b2004-06-03 03:38:44 +0000752 { 0,
Lev Walkin9d542d22006-03-14 16:31:37 +0000753 1, 2, 3, 4, 4, 1, 5, 1, 6, 1,
Lev Walkinadf863f2006-09-05 16:18:34 +0000754 1, 1, 1, 7, 1, 1, 8, 8, 8, 8,
755 8, 8, 8, 8, 9, 1, 1, 9, 1, 10,
756 10, 10, 10, 10, 10, 11, 11, 11, 11, 11,
Lev Walkin9d542d22006-03-14 16:31:37 +0000757 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
Lev Walkinadf863f2006-09-05 16:18:34 +0000758 11, 11, 11, 11, 11, 1, 1, 1, 11, 11,
Lev Walkin9d542d22006-03-14 16:31:37 +0000759 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
Lev Walkinadf863f2006-09-05 16:18:34 +0000760 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
761 12, 1, 13
Lev Walkin2535a692005-07-02 21:42:40 +0000762 } ;
Lev Walkinf15320b2004-06-03 03:38:44 +0000763
Lev Walkin0e90aa02013-03-19 16:17:13 -0700764static yyconst flex_int16_t yy_base[772] =
Lev Walkin2535a692005-07-02 21:42:40 +0000765 { 0,
Lev Walkinadf863f2006-09-05 16:18:34 +0000766 0, 0, 81, 84, 87, 99, 94, 96, 93, 108,
Lev Walkin0e90aa02013-03-19 16:17:13 -0700767 91, 103, 186, 269, 352, 0, 1666, 1656, 130, 138,
768 1650, 1648, 427, 146, 4507, 158, 207, 1640, 109, 230,
769 493, 1629, 4507, 543, 268, 115, 274, 289, 488, 593,
Lev Walkinadf863f2006-09-05 16:18:34 +0000770 191, 599, 509, 215, 491, 621, 406, 638, 655, 658,
Lev Walkin0e90aa02013-03-19 16:17:13 -0700771 678, 689, 1596, 100, 1634, 733, 0, 4507, 4507, 1632,
772 1631, 4507, 4507, 1628, 1632, 4507, 0, 0, 1630, 0,
773 0, 1608, 4507, 4507, 4507, 0, 4507, 4507, 757, 839,
774 122, 166, 127, 4507, 1615, 1616, 1612, 4507, 4507, 4507,
775 4507, 1613, 201, 0, 1611, 1606, 1596, 96, 1595, 656,
Lev Walkinf15320b2004-06-03 03:38:44 +0000776
Lev Walkin0e90aa02013-03-19 16:17:13 -0700777 1594, 772, 103, 807, 1584, 4507, 839, 857, 886, 907,
778 1569, 912, 681, 757, 892, 903, 909, 962, 1581, 963,
779 978, 979, 994, 1000, 1016, 1022, 1033, 1046, 1049, 1069,
780 1066, 1077, 1090, 147, 79, 1105, 1108, 1116, 1131, 1142,
781 1153, 1159, 1170, 169, 1183, 1186, 1199, 1207, 94, 1210,
782 1223, 1234, 1247, 152, 1263, 1269, 1280, 1286, 1297, 1308,
783 1314, 1325, 193, 1331, 1347, 194, 226, 1346, 4507, 4507,
784 0, 1579, 757, 943, 1381, 0, 4507, 1578, 4507, 0,
785 4507, 0, 1558, 0, 1541, 257, 333, 4507, 0, 1568,
786 4507, 1565, 0, 1561, 0, 1554, 186, 1529, 252, 143,
Lev Walkinf15320b2004-06-03 03:38:44 +0000787
Lev Walkin0e90aa02013-03-19 16:17:13 -0700788 1391, 4507, 866, 894, 4507, 1441, 1550, 1385, 1386, 1401,
789 1402, 1417, 1549, 1425, 1428, 1441, 1449, 1491, 1492, 1508,
790 1509, 1524, 1540, 1546, 1557, 1563, 1574, 1580, 1591, 1597,
791 1608, 1619, 196, 272, 1632, 1640, 1643, 1658, 1661, 1664,
792 1690, 1682, 1693, 1706, 224, 1714, 1727, 1735, 277, 1738,
793 1751, 1759, 1767, 1775, 438, 1788, 1791, 1799, 1812, 1820,
794 1828, 1836, 1849, 1857, 1870, 506, 1878, 1894, 1895, 470,
795 507, 249, 1910, 1548, 1954, 1962, 1547, 4507, 285, 1517,
796 1543, 1491, 1533, 1532, 4507, 4507, 4507, 4507, 436, 207,
797 1497, 1956, 1957, 1972, 1978, 1989, 1995, 2011, 2012, 2027,
Lev Walkinf15320b2004-06-03 03:38:44 +0000798
Lev Walkin0e90aa02013-03-19 16:17:13 -0700799 2035, 2043, 2059, 2056, 2067, 2080, 2083, 2098, 2104, 2115,
800 2121, 2132, 2147, 2153, 469, 535, 2164, 2170, 2185, 2186,
801 2201, 2207, 2222, 2225, 2233, 2246, 554, 2254, 2257, 2270,
802 510, 2278, 2291, 2299, 2307, 523, 2315, 2323, 2336, 2344,
803 2347, 2365, 2362, 2368, 2383, 617, 2386, 2389, 2406, 2412,
804 2423, 612, 528, 631, 2439, 2473, 2496, 2519, 2531, 1530,
805 271, 1500, 2515, 2530, 2546, 2543, 623, 2564, 2567, 2570,
806 2585, 2588, 2596, 2609, 2617, 2630, 2641, 2647, 2658, 2669,
807 2684, 2690, 2701, 2707, 2722, 611, 613, 632, 2723, 2743,
808 2740, 2761, 2760, 2776, 2782, 2793, 2806, 2817, 643, 2814,
Lev Walkinf15320b2004-06-03 03:38:44 +0000809
Lev Walkin0e90aa02013-03-19 16:17:13 -0700810 2830, 2838, 639, 2846, 309, 2854, 2867, 619, 2880, 2883,
811 2891, 2904, 668, 621, 2915, 2921, 2932, 634, 2943, 727,
812 641, 625, 816, 2987, 4507, 303, 1513, 2971, 2987, 2984,
813 649, 2995, 3008, 3011, 3028, 3034, 3045, 3051, 3066, 3072,
814 3089, 3095, 3106, 3112, 3123, 3129, 3140, 3146, 3162, 730,
815 511, 676, 3163, 3178, 3184, 3195, 3201, 3216, 3222, 3233,
816 3248, 3254, 711, 783, 3265, 3281, 700, 3278, 1486, 3289,
817 3302, 809, 3310, 3325, 3328, 3331, 878, 732, 3346, 3349,
818 880, 734, 636, 905, 933, 3398, 3410, 1485, 1494, 3364,
819 3404, 733, 3405, 3422, 3421, 3437, 3438, 3453, 3454, 3469,
Lev Walkinf15320b2004-06-03 03:38:44 +0000820
Lev Walkin0e90aa02013-03-19 16:17:13 -0700821 3475, 3486, 3492, 3503, 3514, 3525, 3531, 3542, 984, 789,
822 822, 3548, 3559, 3570, 3576, 3587, 3593, 3608, 3609, 3624,
823 3630, 1482, 795, 3641, 937, 3647, 1489, 3658, 3664, 802,
824 3679, 3685, 887, 988, 3701, 1479, 981, 955, 918, 1001,
825 3735, 101, 0, 3729, 3730, 1003, 3745, 3753, 3756, 3769,
826 3777, 3785, 3793, 3806, 3814, 3822, 3830, 925, 1002, 1012,
827 1004, 3843, 3851, 3854, 3867, 3875, 3878, 1019, 1453, 1028,
828 3891, 1020, 1443, 1016, 3912, 3899, 1040, 1041, 3915, 1042,
829 1056, 1089, 1048, 3964, 1381, 1109, 1432, 3930, 3948, 1463,
830 3959, 3965, 3980, 3981, 3996, 514, 4002, 4013, 1070, 1114,
Lev Walkinf15320b2004-06-03 03:38:44 +0000831
Lev Walkin0e90aa02013-03-19 16:17:13 -0700832 1071, 1443, 4019, 4030, 4041, 1115, 1415, 1142, 1127, 1406,
833 1116, 798, 1427, 1151, 4047, 1124, 1157, 1092, 1193, 1493,
834 4507, 1408, 1376, 4058, 4064, 4079, 4080, 4095, 1374, 4096,
835 4111, 1156, 1129, 1179, 4117, 4128, 4139, 1161, 1309, 1194,
836 1196, 1303, 1204, 1299, 1205, 1320, 1207, 1225, 1220, 1238,
837 1126, 4145, 4156, 4162, 1154, 4173, 1198, 1118, 1231, 4184,
838 4190, 1233, 1157, 1249, 1229, 1120, 1248, 1127, 1272, 1287,
839 1257, 1275, 1111, 1012, 1024, 4205, 1244, 1277, 1289, 4206,
840 4221, 1057, 1009, 1302, 1164, 986, 1281, 0, 1357, 1293,
841 1349, 1359, 906, 886, 891, 4222, 922, 1262, 824, 780,
Lev Walkinf15320b2004-06-03 03:38:44 +0000842
Lev Walkin0e90aa02013-03-19 16:17:13 -0700843 819, 1407, 0, 1366, 818, 1379, 1409, 803, 763, 483,
844 511, 1424, 0, 1393, 1420, 1462, 539, 501, 481, 489,
845 441, 1291, 440, 434, 405, 374, 0, 430, 0, 367,
846 412, 363, 304, 272, 276, 262, 231, 172, 159, 319,
847 711, 115, 100, 4507, 4507, 4272, 4285, 4298, 4311, 4324,
848 4337, 4349, 4353, 4364, 4377, 4390, 4401, 4412, 4417, 4422,
849 4427, 4431, 4436, 4440, 4444, 4448, 4452, 4463, 4470, 4481,
850 4493
Lev Walkin2535a692005-07-02 21:42:40 +0000851 } ;
Lev Walkinf15320b2004-06-03 03:38:44 +0000852
Lev Walkin0e90aa02013-03-19 16:17:13 -0700853static yyconst flex_int16_t yy_def[772] =
Lev Walkin2535a692005-07-02 21:42:40 +0000854 { 0,
Lev Walkin0e90aa02013-03-19 16:17:13 -0700855 745, 1, 746, 746, 746, 746, 747, 747, 748, 748,
856 749, 749, 750, 750, 745, 15, 745, 745, 745, 745,
857 745, 751, 745, 752, 745, 745, 745, 745, 745, 745,
858 745, 745, 745, 745, 34, 34, 34, 34, 34, 34,
Lev Walkinadf863f2006-09-05 16:18:34 +0000859 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
Lev Walkin0e90aa02013-03-19 16:17:13 -0700860 34, 34, 745, 745, 753, 745, 754, 745, 745, 745,
861 745, 745, 745, 745, 745, 745, 755, 755, 745, 756,
862 756, 745, 745, 745, 745, 757, 745, 745, 758, 758,
863 745, 745, 23, 745, 745, 745, 759, 745, 745, 745,
864 745, 745, 745, 751, 751, 745, 760, 745, 761, 752,
Lev Walkinf15320b2004-06-03 03:38:44 +0000865
Lev Walkin0e90aa02013-03-19 16:17:13 -0700866 752, 745, 745, 745, 745, 745, 745, 745, 745, 745,
867 745, 762, 34, 34, 34, 34, 34, 34, 763, 34,
Lev Walkinadf863f2006-09-05 16:18:34 +0000868 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
Lev Walkin0e90aa02013-03-19 16:17:13 -0700869 34, 34, 34, 763, 763, 34, 34, 34, 34, 34,
870 34, 34, 34, 763, 34, 34, 34, 34, 763, 34,
871 34, 34, 34, 763, 34, 34, 34, 34, 34, 34,
872 34, 34, 763, 34, 34, 763, 763, 34, 745, 745,
873 764, 753, 745, 745, 745, 754, 745, 745, 745, 755,
874 745, 756, 745, 757, 80, 80, 745, 745, 765, 759,
875 745, 745, 766, 760, 767, 761, 745, 745, 768, 745,
Lev Walkin9d542d22006-03-14 16:31:37 +0000876
Lev Walkin0e90aa02013-03-19 16:17:13 -0700877 745, 745, 745, 745, 745, 762, 769, 34, 34, 34,
878 34, 34, 769, 34, 34, 34, 34, 34, 34, 34,
Lev Walkinadf863f2006-09-05 16:18:34 +0000879 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
Lev Walkin0e90aa02013-03-19 16:17:13 -0700880 34, 34, 763, 763, 34, 34, 34, 34, 34, 34,
881 34, 34, 34, 34, 763, 34, 34, 34, 763, 34,
882 34, 34, 34, 34, 763, 34, 34, 34, 34, 34,
883 34, 34, 34, 34, 34, 763, 34, 34, 34, 763,
884 763, 763, 34, 764, 745, 745, 745, 745, 80, 80,
885 765, 745, 766, 767, 745, 745, 745, 745, 768, 745,
886 745, 34, 34, 34, 34, 34, 34, 34, 34, 34,
Lev Walkin9d542d22006-03-14 16:31:37 +0000887
Lev Walkinadf863f2006-09-05 16:18:34 +0000888 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
Lev Walkin0e90aa02013-03-19 16:17:13 -0700889 34, 34, 34, 34, 763, 763, 34, 34, 34, 34,
890 34, 34, 34, 34, 34, 34, 763, 34, 34, 34,
891 763, 34, 34, 34, 34, 763, 34, 34, 34, 34,
892 34, 34, 34, 34, 34, 763, 34, 34, 34, 34,
893 34, 763, 763, 763, 34, 745, 745, 745, 745, 745,
894 80, 745, 34, 34, 34, 34, 763, 34, 34, 34,
Lev Walkinadf863f2006-09-05 16:18:34 +0000895 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
Lev Walkin0e90aa02013-03-19 16:17:13 -0700896 34, 34, 34, 34, 34, 763, 763, 763, 34, 34,
897 34, 34, 34, 34, 34, 34, 34, 34, 763, 34,
Lev Walkin9d542d22006-03-14 16:31:37 +0000898
Lev Walkin0e90aa02013-03-19 16:17:13 -0700899 34, 34, 763, 34, 206, 34, 34, 763, 34, 34,
900 34, 34, 763, 763, 34, 34, 34, 763, 34, 763,
901 763, 763, 745, 745, 745, 80, 745, 34, 34, 34,
902 763, 34, 34, 34, 34, 34, 34, 34, 34, 34,
903 34, 34, 34, 34, 34, 34, 34, 34, 34, 763,
904 763, 763, 34, 34, 34, 34, 34, 34, 34, 34,
905 34, 34, 206, 763, 34, 34, 763, 34, 206, 34,
906 34, 763, 34, 34, 34, 34, 763, 763, 34, 34,
907 763, 763, 763, 763, 763, 745, 745, 80, 745, 34,
908 34, 763, 34, 34, 34, 34, 34, 34, 34, 34,
Lev Walkinf15320b2004-06-03 03:38:44 +0000909
Lev Walkin0e90aa02013-03-19 16:17:13 -0700910 34, 34, 34, 34, 34, 34, 34, 34, 763, 763,
911 763, 34, 34, 34, 34, 34, 34, 34, 34, 34,
912 34, 206, 763, 34, 763, 34, 206, 34, 34, 763,
913 34, 34, 763, 763, 34, 763, 763, 763, 763, 763,
914 745, 80, 770, 34, 34, 763, 34, 34, 34, 34,
915 34, 34, 34, 34, 34, 34, 34, 763, 763, 763,
916 763, 34, 34, 34, 34, 34, 34, 763, 206, 763,
917 34, 763, 206, 763, 34, 34, 763, 763, 34, 763,
918 763, 763, 763, 745, 771, 80, 745, 34, 34, 763,
919 34, 34, 34, 34, 34, 206, 34, 34, 763, 763,
Lev Walkinef625402005-09-05 05:17:57 +0000920
Lev Walkin0e90aa02013-03-19 16:17:13 -0700921 763, 763, 34, 34, 34, 763, 206, 763, 763, 206,
922 763, 206, 763, 763, 34, 763, 763, 763, 763, 745,
923 745, 757, 745, 34, 34, 34, 34, 34, 206, 34,
924 34, 763, 763, 763, 34, 34, 34, 763, 206, 763,
925 763, 206, 763, 206, 763, 763, 763, 763, 763, 757,
926 745, 34, 34, 34, 206, 34, 763, 763, 763, 34,
927 34, 763, 206, 763, 763, 206, 763, 206, 763, 763,
928 763, 763, 757, 745, 206, 34, 763, 763, 763, 34,
929 34, 763, 206, 763, 763, 206, 763, 206, 763, 763,
930 763, 763, 757, 745, 206, 34, 763, 763, 763, 206,
Lev Walkinf15320b2004-06-03 03:38:44 +0000931
Lev Walkin0e90aa02013-03-19 16:17:13 -0700932 763, 763, 206, 763, 763, 763, 763, 763, 757, 745,
933 206, 763, 206, 763, 763, 763, 763, 757, 745, 206,
934 763, 763, 763, 763, 757, 745, 206, 763, 757, 745,
935 745, 745, 745, 745, 745, 745, 745, 745, 745, 745,
936 745, 745, 745, 745, 0, 745, 745, 745, 745, 745,
937 745, 745, 745, 745, 745, 745, 745, 745, 745, 745,
938 745, 745, 745, 745, 745, 745, 745, 745, 745, 745,
939 745
Lev Walkin2535a692005-07-02 21:42:40 +0000940 } ;
Lev Walkinf15320b2004-06-03 03:38:44 +0000941
Lev Walkin03892812010-11-03 09:33:03 -0700942static yyconst flex_int16_t yy_nxt[4591] =
Lev Walkin2535a692005-07-02 21:42:40 +0000943 { 0,
944 18, 19, 20, 19, 19, 21, 22, 23, 24, 25,
Lev Walkinadf863f2006-09-05 16:18:34 +0000945 18, 26, 25, 27, 28, 29, 30, 31, 31, 31,
946 31, 31, 31, 31, 32, 21, 33, 33, 18, 34,
947 35, 36, 37, 38, 39, 40, 41, 42, 41, 41,
948 41, 43, 44, 45, 46, 41, 47, 48, 49, 50,
Lev Walkin0e90aa02013-03-19 16:17:13 -0700949 51, 52, 41, 41, 41, 53, 54, 21, 55, 55,
950 55, 55, 55, 55, 55, 55, 55, 55, 55, 55,
951 55, 55, 55, 55, 55, 55, 55, 55, 55, 55,
952 56, 21, 25, 58, 59, 59, 58, 59, 59, 58,
953 59, 59, 213, 71, 60, 68, 63, 60, 63, 69,
Lev Walkinf15320b2004-06-03 03:38:44 +0000954
Lev Walkin0e90aa02013-03-19 16:17:13 -0700955 61, 58, 59, 59, 64, 71, 64, 213, 92, 65,
956 68, 65, 61, 744, 69, 72, 199, 92, 73, 106,
957 66, 96, 66, 187, 187, 187, 187, 72, 743, 200,
958 73, 93, 93, 93, 93, 745, 586, 234, 92, 93,
959 93, 93, 93, 185, 290, 113, 92, 100, 100, 100,
960 100, 125, 745, 98, 92, 126, 170, 113, 127, 113,
961 213, 249, 100, 100, 113, 213, 92, 187, 187, 187,
962 187, 74, 291, 75, 102, 102, 102, 102, 102, 102,
963 102, 102, 213, 74, 745, 75, 76, 77, 78, 77,
964 77, 76, 76, 76, 76, 76, 76, 76, 76, 76,
Lev Walkinf15320b2004-06-03 03:38:44 +0000965
Lev Walkin0e90aa02013-03-19 16:17:13 -0700966 76, 76, 93, 93, 93, 93, 213, 213, 290, 213,
967 76, 76, 76, 76, 76, 92, 285, 233, 255, 80,
968 103, 113, 286, 102, 104, 104, 104, 104, 104, 104,
969 104, 113, 740, 113, 739, 113, 291, 213, 245, 213,
970 113, 76, 76, 76, 107, 113, 108, 108, 108, 108,
971 108, 108, 108, 108, 288, 113, 288, 113, 315, 113,
972 270, 266, 213, 109, 143, 289, 77, 76, 77, 76,
973 77, 78, 77, 77, 76, 76, 76, 76, 76, 76,
974 76, 76, 76, 76, 76, 213, 327, 271, 279, 280,
975 213, 144, 109, 76, 76, 76, 76, 76, 113, 185,
Lev Walkinf15320b2004-06-03 03:38:44 +0000976
Lev Walkin0e90aa02013-03-19 16:17:13 -0700977 272, 120, 80, 426, 113, 121, 738, 128, 113, 122,
978 113, 123, 113, 185, 113, 354, 113, 113, 113, 113,
979 741, 124, 745, 113, 76, 76, 76, 185, 361, 113,
980 129, 130, 737, 113, 187, 187, 187, 187, 113, 331,
981 488, 131, 736, 735, 316, 185, 469, 742, 734, 77,
982 76, 77, 33, 81, 82, 81, 81, 33, 33, 83,
983 33, 33, 33, 33, 84, 85, 33, 86, 33, 33,
Lev Walkinadf863f2006-09-05 16:18:34 +0000984 33, 33, 33, 33, 33, 33, 33, 33, 33, 33,
Lev Walkin0e90aa02013-03-19 16:17:13 -0700985 33, 87, 87, 87, 87, 87, 87, 87, 87, 87,
986 87, 87, 87, 87, 87, 87, 87, 87, 87, 87,
Lev Walkinf15320b2004-06-03 03:38:44 +0000987
Lev Walkin0e90aa02013-03-19 16:17:13 -0700988 87, 87, 87, 87, 87, 87, 87, 88, 89, 33,
Lev Walkinadf863f2006-09-05 16:18:34 +0000989 33, 33, 33, 33, 33, 33, 33, 33, 33, 33,
990 33, 33, 33, 33, 33, 33, 33, 33, 33, 33,
Lev Walkin0e90aa02013-03-19 16:17:13 -0700991 33, 33, 90, 33, 91, 92, 113, 733, 288, 155,
992 288, 732, 731, 213, 730, 729, 113, 213, 113, 289,
993 113, 213, 96, 213, 213, 113, 97, 97, 97, 97,
Lev Walkinadf863f2006-09-05 16:18:34 +0000994 97, 97, 97, 97, 97, 97, 97, 97, 97, 97,
Lev Walkin0e90aa02013-03-19 16:17:13 -0700995 97, 97, 97, 97, 97, 97, 97, 97, 97, 97,
996 97, 97, 213, 213, 98, 99, 99, 99, 99, 99,
997 99, 99, 99, 99, 99, 99, 99, 99, 99, 99,
Lev Walkinf15320b2004-06-03 03:38:44 +0000998
Lev Walkin0e90aa02013-03-19 16:17:13 -0700999 99, 99, 99, 99, 99, 99, 99, 107, 336, 110,
1000 110, 110, 110, 110, 110, 110, 110, 132, 113, 213,
1001 213, 145, 146, 213, 213, 147, 109, 745, 113, 727,
1002 113, 113, 113, 113, 133, 148, 213, 113, 141, 113,
1003 113, 213, 386, 726, 725, 629, 142, 352, 213, 113,
1004 149, 113, 213, 113, 720, 109, 112, 719, 113, 113,
1005 113, 113, 113, 113, 113, 113, 113, 213, 346, 353,
1006 403, 510, 113, 114, 113, 113, 113, 113, 113, 113,
1007 113, 113, 113, 115, 113, 116, 113, 117, 113, 113,
1008 113, 113, 118, 113, 113, 113, 113, 113, 408, 421,
Lev Walkinf15320b2004-06-03 03:38:44 +00001009
Lev Walkin0e90aa02013-03-19 16:17:13 -07001010 387, 119, 119, 119, 119, 119, 119, 119, 119, 119,
1011 119, 119, 119, 119, 119, 119, 119, 119, 119, 119,
1012 119, 119, 119, 113, 213, 213, 213, 399, 136, 113,
1013 213, 137, 213, 113, 213, 113, 213, 113, 213, 113,
1014 138, 139, 113, 113, 213, 213, 140, 213, 113, 213,
1015 150, 113, 213, 151, 213, 134, 213, 100, 100, 100,
1016 100, 152, 213, 113, 197, 113, 135, 153, 113, 450,
1017 113, 156, 100, 100, 420, 157, 160, 472, 113, 451,
1018 113, 213, 113, 478, 161, 113, 158, 113, 113, 213,
1019 422, 159, 414, 485, 154, 113, 431, 113, 113, 113,
Lev Walkinf15320b2004-06-03 03:38:44 +00001020
Lev Walkin0e90aa02013-03-19 16:17:13 -07001021 164, 162, 113, 481, 113, 452, 165, 113, 113, 464,
1022 538, 113, 741, 213, 467, 492, 484, 163, 113, 113,
1023 113, 113, 113, 113, 745, 113, 168, 113, 166, 113,
1024 113, 113, 525, 113, 173, 173, 173, 173, 113, 742,
1025 213, 477, 511, 213, 167, 213, 213, 213, 522, 174,
1026 174, 174, 174, 174, 174, 175, 175, 184, 173, 173,
1027 173, 173, 184, 184, 184, 184, 184, 184, 184, 184,
1028 184, 184, 184, 174, 174, 174, 174, 174, 174, 175,
1029 175, 184, 184, 184, 184, 184, 107, 113, 108, 108,
1030 108, 108, 108, 108, 108, 108, 213, 113, 509, 113,
Lev Walkinf15320b2004-06-03 03:38:44 +00001031
Lev Walkin0e90aa02013-03-19 16:17:13 -07001032 483, 113, 213, 546, 208, 109, 113, 537, 213, 718,
1033 534, 745, 184, 184, 184, 213, 213, 423, 423, 423,
1034 423, 107, 213, 201, 201, 201, 201, 201, 201, 201,
1035 201, 213, 213, 713, 109, 213, 560, 213, 184, 184,
1036 109, 644, 570, 523, 184, 184, 184, 184, 184, 184,
1037 184, 184, 184, 184, 184, 203, 203, 203, 203, 203,
1038 203, 203, 203, 184, 184, 184, 184, 184, 530, 109,
1039 574, 107, 109, 108, 108, 108, 108, 108, 108, 108,
1040 108, 186, 203, 203, 203, 203, 203, 203, 203, 203,
1041 109, 213, 561, 213, 184, 184, 184, 204, 425, 204,
Lev Walkinf15320b2004-06-03 03:38:44 +00001042
Lev Walkin0e90aa02013-03-19 16:17:13 -07001043 213, 109, 203, 203, 203, 203, 203, 203, 203, 203,
1044 203, 203, 203, 203, 203, 203, 203, 203, 213, 109,
1045 184, 107, 113, 110, 110, 110, 110, 110, 110, 110,
1046 110, 213, 209, 113, 113, 213, 113, 711, 213, 113,
1047 109, 113, 536, 113, 533, 113, 213, 113, 710, 113,
1048 213, 113, 113, 211, 709, 275, 210, 577, 113, 175,
1049 175, 175, 175, 175, 175, 175, 175, 539, 213, 109,
1050 207, 207, 207, 207, 207, 207, 207, 207, 207, 207,
1051 207, 207, 207, 207, 207, 207, 207, 207, 207, 207,
1052 207, 207, 113, 113, 213, 540, 582, 213, 214, 572,
Lev Walkinf15320b2004-06-03 03:38:44 +00001053
Lev Walkin0e90aa02013-03-19 16:17:13 -07001054 599, 213, 113, 113, 113, 113, 113, 113, 113, 113,
1055 212, 113, 113, 581, 213, 213, 213, 213, 113, 113,
1056 113, 113, 113, 216, 113, 213, 215, 113, 113, 213,
1057 113, 558, 213, 213, 113, 578, 113, 217, 113, 703,
1058 113, 213, 113, 113, 113, 218, 113, 580, 583, 113,
1059 559, 220, 113, 213, 213, 213, 113, 700, 113, 219,
1060 113, 213, 113, 113, 113, 113, 113, 590, 602, 213,
1061 213, 113, 695, 113, 221, 222, 113, 113, 611, 224,
1062 223, 600, 113, 213, 213, 694, 113, 601, 113, 113,
1063 113, 113, 606, 113, 609, 113, 113, 228, 113, 113,
Lev Walkinf15320b2004-06-03 03:38:44 +00001064
Lev Walkin0e90aa02013-03-19 16:17:13 -07001065 225, 226, 213, 608, 613, 213, 113, 113, 113, 113,
1066 229, 113, 616, 113, 230, 113, 614, 231, 227, 113,
1067 113, 113, 622, 619, 617, 235, 113, 213, 213, 213,
1068 113, 213, 113, 232, 113, 113, 618, 213, 113, 113,
1069 213, 236, 213, 632, 634, 113, 113, 113, 113, 113,
1070 113, 185, 113, 693, 113, 213, 113, 113, 113, 688,
1071 237, 113, 238, 643, 213, 113, 678, 648, 686, 213,
1072 213, 113, 113, 113, 213, 113, 633, 213, 239, 240,
1073 113, 638, 113, 113, 113, 241, 113, 641, 646, 113,
1074 658, 113, 213, 113, 683, 113, 675, 113, 674, 113,
Lev Walkinf15320b2004-06-03 03:38:44 +00001075
Lev Walkin0e90aa02013-03-19 16:17:13 -07001076 113, 243, 113, 113, 647, 242, 213, 213, 113, 213,
1077 244, 213, 113, 113, 113, 640, 113, 213, 213, 113,
1078 213, 246, 657, 113, 645, 113, 113, 113, 113, 113,
1079 113, 662, 113, 213, 247, 113, 702, 113, 213, 113,
1080 113, 113, 213, 113, 213, 659, 213, 113, 113, 113,
1081 113, 113, 113, 113, 113, 248, 113, 213, 250, 113,
1082 664, 213, 213, 113, 113, 113, 649, 113, 677, 665,
1083 213, 669, 113, 251, 113, 213, 113, 113, 113, 667,
1084 253, 673, 670, 252, 254, 213, 672, 113, 213, 113,
1085 213, 113, 256, 113, 213, 685, 113, 682, 671, 113,
Lev Walkinf15320b2004-06-03 03:38:44 +00001086
Lev Walkin0e90aa02013-03-19 16:17:13 -07001087 213, 679, 213, 257, 213, 113, 213, 113, 697, 113,
1088 113, 113, 113, 113, 258, 213, 113, 259, 113, 684,
1089 113, 687, 113, 691, 113, 263, 113, 113, 113, 113,
1090 113, 712, 261, 213, 260, 113, 668, 113, 113, 262,
1091 666, 113, 689, 698, 113, 692, 113, 704, 113, 264,
1092 113, 663, 113, 699, 113, 113, 113, 113, 113, 706,
1093 690, 113, 213, 113, 728, 113, 701, 113, 267, 113,
1094 213, 113, 213, 113, 265, 113, 113, 113, 268, 213,
1095 113, 269, 620, 620, 620, 620, 113, 113, 113, 113,
1096 113, 113, 213, 276, 273, 113, 113, 175, 175, 175,
Lev Walkinf15320b2004-06-03 03:38:44 +00001097
Lev Walkin0e90aa02013-03-19 16:17:13 -07001098 175, 175, 175, 175, 175, 107, 213, 201, 201, 201,
1099 201, 201, 201, 201, 201, 113, 113, 655, 292, 707,
1100 213, 705, 213, 708, 109, 113, 113, 113, 113, 113,
1101 113, 113, 113, 213, 113, 113, 715, 213, 651, 650,
1102 213, 113, 293, 113, 113, 113, 113, 113, 642, 716,
1103 113, 113, 639, 109, 112, 113, 213, 113, 113, 113,
1104 294, 113, 295, 621, 722, 113, 113, 113, 113, 113,
1105 113, 113, 113, 717, 113, 213, 213, 113, 623, 113,
1106 610, 113, 714, 113, 723, 113, 721, 607, 296, 297,
1107 113, 113, 213, 113, 620, 620, 620, 620, 113, 207,
Lev Walkinf15320b2004-06-03 03:38:44 +00001108
Lev Walkin0e90aa02013-03-19 16:17:13 -07001109 207, 207, 207, 207, 207, 207, 207, 207, 207, 207,
1110 207, 207, 207, 207, 207, 207, 207, 207, 207, 207,
1111 207, 113, 113, 573, 569, 543, 724, 542, 527, 299,
1112 489, 113, 113, 113, 113, 113, 113, 298, 113, 113,
1113 113, 113, 427, 360, 362, 195, 193, 191, 113, 113,
1114 113, 113, 113, 301, 113, 300, 189, 113, 113, 185,
1115 360, 171, 745, 213, 113, 286, 113, 195, 113, 304,
1116 113, 302, 303, 113, 193, 621, 113, 305, 282, 306,
1117 113, 189, 113, 185, 113, 278, 113, 113, 113, 113,
1118 113, 277, 171, 113, 213, 113, 205, 113, 202, 113,
Lev Walkinf15320b2004-06-03 03:38:44 +00001119
Lev Walkin0e90aa02013-03-19 16:17:13 -07001120 307, 113, 198, 113, 113, 113, 113, 113, 195, 193,
1121 113, 192, 113, 309, 113, 308, 113, 191, 113, 191,
1122 113, 113, 113, 113, 113, 189, 106, 113, 188, 113,
1123 312, 310, 183, 113, 311, 113, 181, 113, 113, 113,
1124 113, 113, 106, 179, 178, 177, 113, 171, 113, 113,
1125 113, 169, 113, 111, 105, 313, 95, 113, 92, 113,
1126 314, 113, 113, 113, 92, 745, 745, 745, 113, 745,
1127 113, 745, 113, 113, 113, 745, 113, 745, 745, 317,
1128 113, 113, 318, 319, 113, 113, 320, 113, 113, 113,
1129 745, 113, 113, 745, 113, 745, 745, 323, 321, 745,
Lev Walkinf15320b2004-06-03 03:38:44 +00001130
Lev Walkin0e90aa02013-03-19 16:17:13 -07001131 113, 113, 113, 113, 113, 113, 113, 113, 113, 322,
1132 113, 324, 113, 113, 745, 745, 745, 745, 745, 745,
1133 113, 745, 113, 113, 113, 745, 113, 745, 745, 745,
1134 113, 113, 113, 113, 113, 113, 113, 113, 745, 113,
1135 745, 745, 325, 745, 113, 745, 326, 328, 113, 745,
1136 113, 745, 745, 745, 113, 113, 113, 113, 113, 745,
1137 329, 745, 745, 113, 745, 113, 745, 113, 113, 113,
1138 745, 113, 330, 745, 745, 113, 113, 113, 113, 113,
1139 113, 113, 113, 745, 113, 745, 332, 113, 745, 113,
1140 745, 113, 745, 113, 745, 113, 745, 113, 745, 113,
Lev Walkinf15320b2004-06-03 03:38:44 +00001141
Lev Walkin0e90aa02013-03-19 16:17:13 -07001142 113, 113, 745, 113, 745, 113, 333, 113, 113, 113,
1143 745, 113, 745, 745, 334, 113, 113, 113, 113, 113,
1144 338, 113, 745, 745, 113, 335, 745, 745, 337, 113,
1145 113, 113, 113, 113, 745, 113, 745, 113, 745, 113,
1146 113, 113, 113, 113, 745, 745, 745, 745, 339, 745,
1147 113, 745, 113, 340, 113, 745, 113, 745, 113, 745,
1148 113, 113, 113, 745, 113, 341, 113, 745, 113, 113,
1149 113, 745, 113, 745, 745, 745, 113, 113, 113, 113,
1150 113, 745, 745, 745, 342, 113, 745, 113, 745, 113,
1151 745, 113, 745, 113, 745, 745, 343, 113, 113, 113,
Lev Walkinf15320b2004-06-03 03:38:44 +00001152
Lev Walkin0e90aa02013-03-19 16:17:13 -07001153 113, 113, 745, 345, 344, 745, 113, 745, 113, 745,
1154 113, 745, 113, 745, 113, 745, 745, 351, 113, 113,
1155 113, 347, 113, 348, 113, 113, 745, 113, 349, 745,
1156 745, 745, 745, 745, 113, 113, 113, 113, 113, 113,
1157 113, 745, 350, 113, 113, 745, 355, 745, 745, 745,
1158 113, 745, 113, 745, 113, 356, 356, 356, 356, 113,
1159 745, 745, 745, 358, 358, 358, 358, 745, 745, 745,
1160 357, 357, 357, 357, 357, 357, 357, 357, 359, 359,
1161 359, 359, 359, 359, 359, 359, 113, 113, 745, 745,
1162 745, 745, 745, 745, 364, 745, 113, 113, 363, 113,
Lev Walkinf15320b2004-06-03 03:38:44 +00001163
Lev Walkin0e90aa02013-03-19 16:17:13 -07001164 113, 113, 113, 745, 745, 113, 113, 745, 113, 745,
1165 745, 745, 113, 365, 113, 745, 113, 745, 113, 113,
1166 366, 113, 113, 745, 745, 113, 745, 113, 368, 113,
1167 745, 113, 745, 113, 745, 113, 745, 113, 113, 113,
1168 369, 113, 113, 370, 113, 745, 745, 745, 745, 745,
1169 745, 113, 113, 113, 113, 113, 113, 113, 745, 745,
1170 113, 113, 745, 745, 367, 113, 745, 113, 745, 113,
1171 745, 113, 745, 113, 371, 113, 113, 113, 372, 113,
1172 745, 745, 745, 113, 113, 113, 113, 113, 374, 113,
1173 745, 373, 113, 745, 745, 745, 113, 113, 113, 113,
Lev Walkinf15320b2004-06-03 03:38:44 +00001174
Lev Walkin0e90aa02013-03-19 16:17:13 -07001175 113, 113, 745, 113, 745, 375, 745, 113, 113, 376,
1176 113, 113, 377, 113, 745, 378, 113, 745, 745, 745,
1177 113, 745, 113, 113, 113, 113, 745, 113, 113, 113,
1178 745, 379, 113, 745, 113, 745, 745, 745, 113, 745,
1179 113, 745, 113, 745, 113, 113, 113, 113, 380, 745,
1180 745, 113, 381, 113, 745, 113, 745, 113, 745, 113,
1181 745, 113, 113, 113, 113, 113, 745, 382, 745, 745,
1182 113, 745, 113, 745, 383, 745, 113, 113, 384, 745,
1183 385, 113, 745, 113, 745, 745, 745, 113, 745, 113,
1184 745, 113, 745, 113, 113, 113, 113, 113, 745, 745,
Lev Walkinf15320b2004-06-03 03:38:44 +00001185
Lev Walkin0e90aa02013-03-19 16:17:13 -07001186 113, 745, 113, 745, 113, 745, 113, 745, 113, 745,
1187 113, 745, 113, 113, 113, 113, 113, 745, 389, 113,
1188 745, 745, 390, 745, 745, 113, 113, 113, 113, 113,
1189 113, 113, 391, 745, 113, 113, 393, 113, 745, 388,
1190 745, 113, 745, 113, 397, 113, 745, 113, 745, 113,
1191 392, 113, 113, 394, 745, 113, 113, 395, 745, 745,
1192 745, 745, 113, 113, 113, 113, 113, 113, 396, 113,
1193 745, 113, 745, 113, 113, 113, 113, 113, 745, 745,
1194 398, 745, 113, 745, 113, 400, 113, 113, 113, 745,
1195 113, 745, 745, 745, 113, 113, 113, 113, 113, 113,
Lev Walkinf15320b2004-06-03 03:38:44 +00001196
Lev Walkin0e90aa02013-03-19 16:17:13 -07001197 113, 113, 745, 113, 405, 401, 113, 745, 113, 745,
1198 113, 404, 113, 402, 113, 745, 745, 745, 113, 113,
1199 113, 113, 113, 745, 745, 745, 745, 113, 745, 113,
1200 745, 113, 406, 113, 745, 113, 407, 113, 745, 113,
1201 113, 113, 745, 113, 745, 113, 745, 113, 113, 113,
1202 745, 113, 745, 113, 745, 113, 113, 113, 745, 113,
1203 745, 745, 745, 113, 113, 113, 113, 113, 745, 410,
1204 745, 409, 113, 745, 113, 745, 113, 113, 113, 745,
1205 113, 745, 745, 745, 113, 113, 113, 113, 113, 411,
1206 745, 113, 113, 113, 412, 113, 113, 745, 113, 745,
Lev Walkinf15320b2004-06-03 03:38:44 +00001207
Lev Walkin0e90aa02013-03-19 16:17:13 -07001208 745, 745, 113, 745, 113, 113, 113, 113, 113, 113,
1209 113, 113, 113, 113, 113, 745, 113, 113, 745, 113,
1210 745, 745, 745, 113, 745, 113, 113, 113, 415, 113,
1211 113, 113, 113, 113, 745, 113, 113, 413, 416, 417,
1212 745, 745, 113, 745, 745, 745, 113, 745, 113, 745,
1213 113, 745, 113, 113, 113, 113, 113, 745, 745, 745,
1214 745, 113, 745, 113, 745, 113, 745, 113, 745, 113,
1215 419, 745, 113, 745, 356, 356, 356, 356, 418, 113,
1216 745, 113, 745, 113, 745, 745, 745, 745, 113, 357,
1217 357, 357, 357, 357, 357, 357, 357, 423, 423, 423,
Lev Walkinf59d0752004-08-18 04:59:12 +00001218
Lev Walkin0e90aa02013-03-19 16:17:13 -07001219 423, 745, 745, 745, 745, 745, 745, 745, 424, 745,
1220 745, 745, 357, 357, 357, 357, 357, 357, 357, 357,
1221 358, 358, 358, 358, 745, 745, 745, 745, 745, 745,
1222 745, 745, 745, 745, 745, 359, 359, 359, 359, 359,
1223 359, 359, 359, 424, 745, 113, 745, 359, 359, 359,
1224 359, 359, 359, 359, 359, 113, 745, 113, 745, 113,
1225 113, 429, 745, 428, 113, 745, 745, 745, 745, 745,
1226 113, 745, 113, 113, 113, 430, 113, 745, 425, 113,
1227 745, 745, 745, 113, 745, 113, 113, 113, 113, 745,
1228 113, 745, 113, 432, 113, 113, 745, 113, 433, 745,
Lev Walkind9574ae2005-03-24 16:22:35 +00001229
Lev Walkin0e90aa02013-03-19 16:17:13 -07001230 113, 745, 745, 434, 113, 745, 113, 113, 113, 113,
1231 113, 113, 113, 113, 113, 113, 113, 745, 113, 113,
1232 745, 745, 745, 745, 745, 113, 113, 113, 113, 113,
1233 435, 745, 113, 745, 113, 745, 113, 113, 113, 113,
1234 113, 745, 436, 745, 745, 113, 437, 113, 745, 113,
1235 745, 113, 745, 113, 745, 745, 745, 438, 113, 113,
1236 113, 113, 745, 439, 745, 745, 113, 440, 745, 745,
1237 113, 113, 113, 441, 113, 745, 745, 113, 745, 113,
1238 442, 113, 745, 113, 443, 113, 745, 113, 113, 113,
1239 113, 113, 745, 745, 745, 745, 113, 745, 113, 113,
Lev Walkind9574ae2005-03-24 16:22:35 +00001240
Lev Walkin0e90aa02013-03-19 16:17:13 -07001241 113, 745, 113, 745, 444, 745, 745, 113, 745, 113,
1242 745, 113, 745, 113, 113, 446, 745, 445, 113, 745,
1243 113, 745, 745, 745, 113, 745, 113, 745, 113, 745,
1244 113, 113, 113, 113, 113, 745, 745, 113, 447, 113,
1245 745, 113, 745, 113, 745, 113, 745, 113, 448, 449,
1246 113, 113, 113, 113, 745, 745, 113, 745, 745, 745,
1247 453, 745, 113, 113, 113, 113, 113, 113, 745, 745,
1248 113, 113, 113, 113, 454, 745, 455, 745, 745, 745,
1249 113, 745, 113, 113, 113, 113, 745, 113, 456, 113,
1250 113, 113, 113, 457, 745, 745, 745, 745, 745, 745,
Lev Walkind9574ae2005-03-24 16:22:35 +00001251
Lev Walkin0e90aa02013-03-19 16:17:13 -07001252 113, 113, 458, 113, 113, 113, 113, 745, 745, 113,
1253 113, 745, 113, 745, 745, 460, 113, 745, 113, 745,
1254 113, 745, 113, 113, 113, 459, 113, 462, 745, 745,
1255 463, 113, 745, 113, 745, 113, 113, 113, 745, 745,
1256 461, 745, 113, 745, 113, 745, 113, 113, 113, 745,
1257 113, 745, 745, 745, 113, 113, 113, 113, 113, 113,
1258 113, 113, 465, 113, 745, 745, 113, 745, 113, 745,
1259 113, 745, 113, 745, 113, 745, 113, 745, 113, 113,
1260 466, 745, 113, 745, 113, 745, 113, 113, 113, 745,
1261 113, 745, 468, 745, 113, 113, 470, 113, 113, 745,
Lev Walkin2535a692005-07-02 21:42:40 +00001262
Lev Walkin0e90aa02013-03-19 16:17:13 -07001263 745, 745, 745, 113, 745, 745, 745, 113, 745, 113,
1264 113, 113, 745, 113, 745, 471, 113, 473, 745, 745,
1265 113, 113, 113, 113, 113, 474, 475, 113, 745, 113,
1266 745, 113, 113, 113, 113, 113, 745, 745, 745, 745,
1267 113, 745, 745, 745, 113, 113, 113, 745, 113, 745,
1268 745, 113, 745, 113, 479, 113, 476, 113, 745, 113,
1269 745, 113, 113, 113, 113, 113, 745, 745, 745, 745,
1270 113, 745, 113, 113, 113, 745, 113, 745, 480, 745,
1271 745, 113, 745, 113, 745, 113, 745, 113, 486, 486,
1272 486, 486, 113, 745, 745, 745, 745, 745, 745, 745,
Lev Walkin2535a692005-07-02 21:42:40 +00001273
Lev Walkin0e90aa02013-03-19 16:17:13 -07001274 745, 113, 745, 487, 487, 487, 487, 487, 487, 487,
1275 487, 113, 745, 113, 113, 113, 490, 113, 482, 745,
1276 113, 745, 745, 745, 113, 113, 113, 113, 113, 113,
1277 745, 113, 491, 113, 745, 113, 113, 493, 113, 113,
1278 745, 113, 745, 745, 113, 745, 745, 745, 113, 745,
1279 113, 113, 113, 113, 745, 113, 494, 113, 113, 745,
1280 113, 495, 745, 496, 113, 745, 745, 745, 113, 745,
1281 113, 745, 113, 745, 113, 113, 113, 113, 113, 745,
1282 745, 113, 745, 113, 745, 113, 745, 497, 745, 113,
1283 745, 113, 745, 113, 113, 113, 113, 745, 499, 498,
Lev Walkin2535a692005-07-02 21:42:40 +00001284
Lev Walkin0e90aa02013-03-19 16:17:13 -07001285 113, 745, 113, 745, 745, 745, 113, 745, 113, 745,
1286 113, 745, 113, 745, 113, 113, 113, 745, 745, 113,
1287 500, 113, 501, 745, 745, 113, 745, 502, 745, 113,
1288 745, 113, 745, 113, 745, 113, 113, 113, 113, 113,
1289 745, 504, 113, 745, 113, 745, 113, 745, 503, 745,
1290 113, 745, 113, 113, 113, 113, 113, 745, 745, 113,
1291 745, 113, 745, 113, 745, 113, 505, 113, 745, 113,
1292 113, 113, 113, 113, 745, 745, 113, 745, 113, 745,
1293 113, 745, 113, 507, 113, 745, 113, 506, 113, 113,
1294 113, 508, 113, 113, 745, 113, 745, 512, 745, 745,
Lev Walkin2535a692005-07-02 21:42:40 +00001295
Lev Walkin0e90aa02013-03-19 16:17:13 -07001296 745, 745, 113, 113, 113, 113, 113, 113, 113, 745,
1297 745, 113, 113, 745, 113, 513, 514, 745, 113, 745,
1298 113, 745, 113, 745, 113, 113, 113, 113, 113, 745,
1299 745, 113, 745, 113, 516, 113, 745, 113, 745, 113,
1300 745, 113, 515, 113, 113, 113, 113, 517, 745, 745,
1301 113, 745, 113, 518, 745, 745, 113, 745, 113, 745,
1302 113, 745, 113, 113, 113, 113, 113, 745, 745, 745,
1303 745, 113, 745, 113, 745, 113, 745, 113, 113, 519,
1304 745, 520, 113, 745, 113, 745, 745, 745, 113, 745,
1305 113, 745, 113, 745, 113, 113, 113, 113, 113, 745,
Lev Walkin2535a692005-07-02 21:42:40 +00001306
Lev Walkin0e90aa02013-03-19 16:17:13 -07001307 745, 521, 745, 113, 745, 113, 745, 113, 113, 113,
1308 524, 113, 745, 745, 113, 745, 745, 745, 113, 113,
1309 526, 113, 113, 113, 745, 113, 745, 113, 745, 113,
1310 113, 113, 113, 113, 745, 529, 745, 528, 113, 745,
1311 113, 745, 113, 745, 113, 745, 113, 745, 745, 745,
1312 113, 113, 113, 745, 113, 113, 532, 745, 113, 113,
1313 531, 113, 745, 745, 745, 113, 745, 113, 113, 113,
1314 113, 113, 113, 113, 113, 113, 113, 113, 745, 113,
1315 113, 745, 745, 745, 745, 745, 113, 745, 113, 113,
1316 113, 113, 745, 113, 113, 113, 535, 745, 113, 486,
Lev Walkin2535a692005-07-02 21:42:40 +00001317
Lev Walkin0e90aa02013-03-19 16:17:13 -07001318 486, 486, 486, 745, 113, 745, 113, 745, 113, 745,
1319 745, 745, 544, 113, 487, 487, 487, 487, 487, 487,
1320 487, 487, 541, 745, 745, 745, 487, 487, 487, 487,
1321 487, 487, 487, 487, 113, 113, 745, 745, 745, 745,
1322 745, 545, 745, 745, 113, 113, 113, 113, 113, 113,
1323 745, 113, 113, 113, 113, 547, 745, 745, 745, 745,
1324 745, 113, 113, 548, 113, 113, 113, 113, 113, 745,
1325 113, 113, 745, 745, 549, 550, 745, 113, 113, 113,
1326 113, 113, 113, 113, 113, 745, 113, 113, 745, 745,
1327 745, 745, 745, 113, 113, 113, 113, 113, 113, 113,
Lev Walkin2535a692005-07-02 21:42:40 +00001328
Lev Walkin0e90aa02013-03-19 16:17:13 -07001329 745, 745, 113, 113, 745, 113, 551, 552, 745, 113,
1330 745, 113, 745, 113, 745, 113, 113, 113, 113, 113,
1331 745, 745, 113, 745, 113, 745, 113, 553, 113, 745,
1332 113, 745, 113, 113, 113, 113, 113, 745, 745, 745,
1333 745, 113, 745, 113, 113, 113, 745, 113, 745, 745,
1334 745, 554, 113, 745, 113, 113, 113, 745, 113, 745,
1335 745, 556, 555, 113, 745, 113, 745, 113, 745, 113,
1336 745, 113, 113, 113, 113, 113, 745, 745, 113, 745,
1337 113, 745, 557, 745, 113, 562, 113, 745, 113, 113,
1338 113, 113, 113, 745, 745, 745, 745, 113, 745, 113,
Lev Walkin2535a692005-07-02 21:42:40 +00001339
Lev Walkin0e90aa02013-03-19 16:17:13 -07001340 113, 113, 745, 113, 745, 745, 113, 563, 113, 745,
1341 113, 745, 113, 745, 113, 745, 113, 113, 113, 113,
1342 113, 745, 745, 113, 745, 113, 565, 113, 745, 113,
1343 745, 113, 745, 113, 564, 113, 113, 113, 113, 113,
1344 745, 745, 113, 745, 745, 745, 745, 745, 113, 113,
1345 113, 113, 113, 113, 113, 567, 566, 113, 113, 745,
1346 113, 745, 745, 745, 113, 745, 113, 745, 113, 745,
1347 113, 113, 113, 113, 113, 745, 745, 113, 745, 113,
1348 745, 571, 745, 113, 745, 113, 745, 113, 113, 113,
1349 113, 113, 745, 745, 113, 745, 113, 745, 113, 745,
Lev Walkin2535a692005-07-02 21:42:40 +00001350
Lev Walkin0e90aa02013-03-19 16:17:13 -07001351 113, 745, 113, 745, 113, 568, 113, 113, 113, 113,
1352 745, 745, 575, 113, 745, 113, 745, 745, 576, 113,
1353 745, 113, 745, 113, 745, 113, 745, 113, 113, 113,
1354 579, 113, 745, 745, 113, 745, 584, 584, 584, 584,
1355 745, 113, 745, 113, 745, 113, 745, 745, 745, 745,
1356 113, 585, 585, 585, 585, 585, 585, 585, 585, 113,
1357 113, 589, 745, 745, 745, 745, 588, 745, 745, 113,
1358 113, 113, 113, 113, 113, 113, 745, 745, 113, 113,
1359 745, 745, 745, 113, 745, 113, 113, 113, 745, 113,
1360 745, 591, 745, 113, 113, 113, 113, 113, 593, 113,
Lev Walkin2535a692005-07-02 21:42:40 +00001361
Lev Walkin0e90aa02013-03-19 16:17:13 -07001362 113, 592, 113, 745, 745, 113, 596, 113, 745, 113,
1363 745, 594, 745, 113, 745, 113, 745, 113, 113, 113,
1364 595, 113, 745, 113, 745, 113, 113, 113, 745, 113,
1365 745, 745, 745, 113, 113, 113, 113, 113, 745, 597,
1366 745, 745, 113, 745, 113, 745, 113, 745, 113, 745,
1367 113, 745, 113, 745, 113, 113, 113, 745, 113, 598,
1368 113, 745, 113, 113, 113, 745, 113, 745, 745, 745,
1369 113, 113, 113, 113, 113, 745, 603, 745, 745, 113,
1370 745, 113, 745, 113, 113, 113, 745, 113, 745, 745,
1371 745, 113, 113, 113, 113, 113, 113, 113, 113, 745,
Lev Walkin2535a692005-07-02 21:42:40 +00001372
Lev Walkin0e90aa02013-03-19 16:17:13 -07001373 113, 745, 745, 113, 745, 113, 745, 113, 113, 113,
1374 745, 113, 604, 745, 745, 113, 113, 113, 113, 113,
1375 113, 113, 113, 745, 113, 612, 605, 113, 745, 113,
1376 745, 113, 745, 113, 745, 113, 745, 745, 745, 113,
1377 113, 113, 113, 113, 745, 113, 745, 745, 113, 745,
1378 745, 745, 113, 745, 113, 615, 113, 113, 745, 113,
1379 113, 113, 745, 745, 113, 584, 584, 584, 584, 745,
1380 113, 745, 113, 624, 113, 745, 745, 745, 113, 113,
1381 585, 585, 585, 585, 585, 585, 585, 585, 113, 113,
1382 113, 745, 113, 745, 745, 113, 745, 113, 745, 113,
Lev Walkin2535a692005-07-02 21:42:40 +00001383
Lev Walkin0e90aa02013-03-19 16:17:13 -07001384 745, 113, 745, 113, 745, 113, 745, 113, 113, 113,
1385 113, 113, 625, 626, 113, 745, 627, 745, 745, 745,
1386 113, 113, 113, 113, 113, 113, 113, 745, 745, 113,
1387 113, 745, 113, 745, 630, 745, 113, 745, 628, 745,
1388 113, 745, 113, 113, 113, 113, 113, 745, 745, 113,
1389 745, 113, 745, 631, 745, 113, 745, 113, 745, 113,
1390 113, 113, 113, 113, 745, 635, 745, 745, 113, 745,
1391 113, 113, 113, 636, 113, 745, 745, 113, 637, 113,
1392 745, 113, 745, 113, 745, 113, 745, 113, 113, 113,
1393 113, 113, 745, 745, 113, 745, 113, 745, 113, 745,
Lev Walkin2535a692005-07-02 21:42:40 +00001394
Lev Walkin0e90aa02013-03-19 16:17:13 -07001395 652, 745, 113, 745, 113, 745, 113, 113, 113, 113,
1396 113, 653, 745, 113, 745, 745, 745, 745, 745, 113,
1397 113, 113, 113, 113, 113, 113, 113, 745, 113, 113,
1398 745, 745, 745, 745, 745, 113, 113, 113, 113, 113,
1399 113, 113, 654, 745, 113, 113, 745, 113, 656, 745,
1400 745, 113, 745, 113, 745, 113, 745, 113, 113, 113,
1401 113, 113, 745, 745, 745, 745, 113, 745, 113, 113,
1402 660, 745, 113, 745, 745, 113, 745, 113, 745, 113,
1403 745, 113, 661, 113, 745, 113, 113, 113, 113, 113,
1404 745, 745, 113, 745, 113, 745, 113, 745, 113, 745,
Lev Walkin9d542d22006-03-14 16:31:37 +00001405
Lev Walkin0e90aa02013-03-19 16:17:13 -07001406 113, 745, 113, 113, 113, 113, 113, 745, 745, 745,
1407 745, 113, 745, 113, 113, 113, 745, 113, 745, 745,
1408 113, 676, 113, 745, 113, 745, 113, 745, 113, 745,
1409 113, 680, 681, 113, 113, 113, 113, 745, 745, 113,
1410 745, 745, 745, 745, 745, 113, 113, 113, 113, 113,
1411 113, 113, 113, 745, 113, 113, 745, 745, 696, 745,
1412 745, 113, 113, 113, 113, 113, 113, 745, 745, 745,
1413 113, 113, 57, 57, 57, 57, 57, 57, 57, 57,
1414 57, 57, 57, 57, 57, 62, 62, 62, 62, 62,
1415 62, 62, 62, 62, 62, 62, 62, 62, 67, 67,
Lev Walkin2535a692005-07-02 21:42:40 +00001416
Lev Walkin0e90aa02013-03-19 16:17:13 -07001417 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
1418 67, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1419 70, 70, 70, 70, 79, 79, 79, 79, 79, 79,
1420 79, 79, 79, 79, 79, 79, 79, 94, 94, 94,
1421 94, 745, 94, 94, 94, 94, 94, 94, 94, 94,
1422 101, 101, 101, 745, 101, 745, 101, 745, 101, 172,
1423 172, 745, 172, 172, 176, 176, 745, 745, 176, 176,
1424 745, 176, 176, 176, 176, 176, 176, 180, 180, 180,
1425 180, 745, 180, 180, 180, 180, 180, 180, 180, 180,
1426 182, 182, 182, 182, 182, 182, 182, 182, 745, 182,
Lev Walkin4696c742005-08-22 12:23:54 +00001427
Lev Walkin0e90aa02013-03-19 16:17:13 -07001428 182, 184, 745, 745, 745, 184, 184, 184, 184, 184,
1429 184, 184, 185, 745, 745, 745, 185, 185, 185, 185,
1430 185, 185, 185, 190, 190, 745, 190, 190, 194, 194,
1431 745, 194, 194, 196, 196, 745, 196, 196, 206, 745,
1432 206, 206, 119, 119, 745, 119, 119, 274, 745, 274,
1433 274, 281, 745, 281, 281, 283, 745, 283, 283, 284,
1434 745, 284, 284, 287, 287, 287, 287, 287, 287, 287,
1435 287, 287, 287, 287, 287, 287, 207, 207, 745, 207,
1436 207, 587, 587, 745, 587, 587, 587, 587, 587, 587,
1437 587, 587, 587, 587, 585, 585, 585, 745, 745, 745,
Lev Walkin4696c742005-08-22 12:23:54 +00001438
Lev Walkin0e90aa02013-03-19 16:17:13 -07001439 585, 745, 745, 745, 745, 585, 17, 745, 745, 745,
1440 745, 745, 745, 745, 745, 745, 745, 745, 745, 745,
1441 745, 745, 745, 745, 745, 745, 745, 745, 745, 745,
1442 745, 745, 745, 745, 745, 745, 745, 745, 745, 745,
1443 745, 745, 745, 745, 745, 745, 745, 745, 745, 745,
1444 745, 745, 745, 745, 745, 745, 745, 745, 745, 745,
1445 745, 745, 745, 745, 745, 745, 745, 745, 745, 745,
1446 745, 745, 745, 745, 745, 745, 745, 745, 745, 745,
1447 745, 745, 745, 745, 745, 745, 745, 745, 745, 745
Lev Walkin2535a692005-07-02 21:42:40 +00001448 } ;
1449
Lev Walkin03892812010-11-03 09:33:03 -07001450static yyconst flex_int16_t yy_chk[4591] =
Lev Walkin2535a692005-07-02 21:42:40 +00001451 { 0,
1452 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1453 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1454 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1455 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1456 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1457 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1458 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1459 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
Lev Walkinadf863f2006-09-05 16:18:34 +00001460 1, 1, 1, 3, 3, 3, 4, 4, 4, 5,
Lev Walkin0e90aa02013-03-19 16:17:13 -07001461 5, 5, 135, 11, 3, 9, 7, 4, 8, 9,
Lev Walkin2535a692005-07-02 21:42:40 +00001462
Lev Walkin0e90aa02013-03-19 16:17:13 -07001463 5, 6, 6, 6, 7, 12, 8, 149, 54, 7,
1464 10, 8, 6, 743, 10, 11, 103, 29, 11, 29,
1465 7, 98, 8, 81, 81, 81, 81, 12, 742, 103,
1466 12, 19, 19, 19, 19, 83, 542, 135, 19, 20,
1467 20, 20, 20, 542, 200, 36, 20, 24, 24, 24,
1468 24, 36, 83, 98, 24, 36, 54, 36, 36, 36,
1469 134, 149, 24, 24, 36, 154, 26, 82, 82, 82,
1470 82, 11, 200, 11, 26, 26, 26, 26, 26, 26,
1471 26, 26, 144, 12, 83, 12, 13, 13, 13, 13,
Lev Walkin9d542d22006-03-14 16:31:37 +00001472 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
Lev Walkin2535a692005-07-02 21:42:40 +00001473
Lev Walkin0e90aa02013-03-19 16:17:13 -07001474 13, 13, 93, 93, 93, 93, 163, 166, 290, 233,
1475 13, 13, 13, 13, 13, 27, 197, 134, 154, 13,
1476 27, 41, 197, 27, 27, 27, 27, 27, 27, 27,
1477 27, 41, 739, 41, 738, 41, 290, 245, 144, 167,
Lev Walkinadf863f2006-09-05 16:18:34 +00001478 41, 13, 13, 13, 30, 44, 30, 30, 30, 30,
Lev Walkin0e90aa02013-03-19 16:17:13 -07001479 30, 30, 30, 30, 199, 44, 199, 44, 233, 44,
1480 166, 163, 272, 30, 44, 199, 13, 13, 13, 14,
Lev Walkin9d542d22006-03-14 16:31:37 +00001481 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
Lev Walkin0e90aa02013-03-19 16:17:13 -07001482 14, 14, 14, 14, 14, 234, 245, 167, 186, 186,
1483 249, 44, 30, 14, 14, 14, 14, 14, 35, 186,
Lev Walkin2535a692005-07-02 21:42:40 +00001484
Lev Walkin0e90aa02013-03-19 16:17:13 -07001485 167, 35, 14, 361, 37, 35, 737, 37, 35, 35,
1486 35, 35, 35, 361, 37, 272, 37, 35, 37, 38,
1487 740, 35, 405, 37, 14, 14, 14, 279, 279, 38,
1488 38, 38, 736, 38, 187, 187, 187, 187, 38, 249,
1489 426, 38, 735, 734, 234, 426, 405, 740, 733, 14,
Lev Walkinadf863f2006-09-05 16:18:34 +00001490 14, 14, 15, 15, 15, 15, 15, 15, 15, 15,
Lev Walkin9d542d22006-03-14 16:31:37 +00001491 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
1492 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
1493 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
1494 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
1495
1496 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
1497 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
1498 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
Lev Walkin0e90aa02013-03-19 16:17:13 -07001499 15, 15, 15, 15, 15, 23, 47, 732, 289, 47,
1500 289, 731, 730, 728, 726, 725, 47, 724, 47, 289,
1501 47, 255, 23, 723, 721, 47, 23, 23, 23, 23,
Lev Walkin2535a692005-07-02 21:42:40 +00001502 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
1503 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
Lev Walkin0e90aa02013-03-19 16:17:13 -07001504 23, 23, 315, 270, 23, 23, 23, 23, 23, 23,
Lev Walkinadf863f2006-09-05 16:18:34 +00001505 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
Lev Walkin2535a692005-07-02 21:42:40 +00001506
Lev Walkin0e90aa02013-03-19 16:17:13 -07001507 23, 23, 23, 23, 23, 23, 23, 31, 255, 31,
1508 31, 31, 31, 31, 31, 31, 31, 39, 39, 266,
1509 271, 45, 45, 331, 451, 45, 31, 596, 39, 720,
1510 39, 45, 39, 45, 39, 45, 336, 39, 43, 43,
1511 45, 353, 315, 719, 718, 596, 43, 270, 316, 43,
1512 45, 43, 717, 43, 711, 31, 34, 710, 43, 34,
1513 34, 34, 34, 34, 34, 34, 34, 327, 266, 271,
1514 331, 451, 34, 34, 34, 34, 34, 34, 34, 34,
Lev Walkinadf863f2006-09-05 16:18:34 +00001515 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
Lev Walkin0e90aa02013-03-19 16:17:13 -07001516 34, 34, 34, 34, 34, 34, 34, 34, 336, 353,
Lev Walkin2535a692005-07-02 21:42:40 +00001517
Lev Walkin0e90aa02013-03-19 16:17:13 -07001518 316, 34, 34, 34, 34, 34, 34, 34, 34, 34,
Lev Walkinadf863f2006-09-05 16:18:34 +00001519 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
Lev Walkin0e90aa02013-03-19 16:17:13 -07001520 34, 34, 34, 40, 386, 352, 387, 327, 42, 42,
1521 346, 42, 408, 40, 414, 40, 367, 40, 422, 42,
1522 42, 42, 40, 42, 354, 388, 42, 418, 42, 483,
1523 46, 46, 403, 46, 421, 40, 399, 100, 100, 100,
1524 100, 46, 431, 46, 100, 46, 40, 46, 48, 386,
1525 46, 48, 100, 100, 352, 48, 49, 408, 48, 387,
1526 48, 413, 48, 414, 49, 49, 48, 48, 50, 452,
1527 354, 48, 346, 422, 46, 49, 367, 49, 50, 49,
Lev Walkin2535a692005-07-02 21:42:40 +00001528
Lev Walkin0e90aa02013-03-19 16:17:13 -07001529 50, 49, 50, 418, 49, 388, 50, 50, 51, 399,
1530 483, 113, 741, 467, 403, 431, 421, 49, 51, 52,
1531 51, 113, 51, 113, 463, 113, 52, 51, 50, 52,
1532 113, 52, 467, 52, 56, 56, 56, 56, 52, 741,
1533 420, 413, 452, 450, 51, 478, 492, 482, 463, 56,
1534 56, 56, 56, 56, 56, 56, 56, 79, 173, 173,
1535 173, 173, 79, 79, 79, 79, 79, 79, 79, 79,
1536 79, 79, 79, 173, 173, 173, 173, 173, 173, 173,
1537 173, 79, 79, 79, 79, 79, 102, 114, 102, 102,
1538 102, 102, 102, 102, 102, 102, 464, 114, 450, 114,
Lev Walkin2535a692005-07-02 21:42:40 +00001539
Lev Walkin0e90aa02013-03-19 16:17:13 -07001540 420, 114, 510, 492, 114, 102, 114, 482, 523, 709,
1541 478, 612, 79, 79, 79, 530, 708, 423, 423, 423,
1542 423, 104, 472, 104, 104, 104, 104, 104, 104, 104,
1543 104, 705, 701, 700, 102, 511, 510, 699, 79, 80,
1544 104, 612, 523, 464, 80, 80, 80, 80, 80, 80,
1545 80, 80, 80, 80, 80, 107, 107, 107, 107, 107,
1546 107, 107, 107, 80, 80, 80, 80, 80, 472, 104,
1547 530, 108, 107, 108, 108, 108, 108, 108, 108, 108,
1548 108, 80, 203, 203, 203, 203, 203, 203, 203, 203,
1549 108, 477, 511, 481, 80, 80, 80, 109, 423, 109,
Lev Walkin2535a692005-07-02 21:42:40 +00001550
Lev Walkin0e90aa02013-03-19 16:17:13 -07001551 533, 107, 109, 109, 109, 109, 109, 109, 109, 109,
1552 204, 204, 204, 204, 204, 204, 204, 204, 484, 108,
1553 80, 110, 115, 110, 110, 110, 110, 110, 110, 110,
1554 110, 539, 115, 116, 115, 697, 115, 695, 558, 117,
1555 110, 115, 481, 116, 477, 116, 485, 116, 694, 117,
1556 525, 117, 116, 117, 693, 174, 116, 533, 117, 174,
1557 174, 174, 174, 174, 174, 174, 174, 484, 538, 110,
1558 112, 112, 112, 112, 112, 112, 112, 112, 112, 112,
1559 112, 112, 112, 112, 112, 112, 112, 112, 112, 112,
1560 112, 112, 118, 120, 537, 485, 539, 509, 120, 525,
Lev Walkin2535a692005-07-02 21:42:40 +00001561
Lev Walkin0e90aa02013-03-19 16:17:13 -07001562 558, 534, 118, 120, 118, 120, 118, 120, 121, 122,
1563 118, 118, 120, 538, 540, 559, 546, 561, 121, 122,
1564 121, 122, 121, 122, 123, 560, 121, 121, 122, 574,
1565 124, 509, 568, 572, 123, 534, 123, 123, 123, 686,
1566 124, 570, 124, 123, 124, 125, 125, 537, 540, 124,
1567 509, 126, 126, 577, 578, 580, 125, 683, 125, 125,
1568 125, 583, 126, 127, 126, 125, 126, 546, 561, 581,
1569 682, 126, 675, 127, 127, 127, 128, 127, 574, 129,
1570 128, 559, 127, 599, 601, 674, 128, 560, 128, 129,
1571 128, 129, 568, 129, 572, 128, 131, 131, 129, 130,
Lev Walkin2535a692005-07-02 21:42:40 +00001572
Lev Walkin0e90aa02013-03-19 16:17:13 -07001573 130, 130, 582, 570, 577, 618, 131, 132, 131, 130,
1574 131, 130, 580, 130, 131, 131, 578, 132, 130, 132,
1575 133, 132, 586, 583, 581, 136, 132, 600, 606, 611,
1576 133, 658, 133, 133, 133, 136, 582, 616, 137, 133,
1577 609, 137, 633, 599, 601, 136, 138, 136, 137, 136,
1578 137, 586, 137, 673, 136, 608, 138, 137, 138, 668,
1579 138, 139, 139, 611, 614, 138, 658, 618, 666, 632,
1580 617, 139, 140, 139, 638, 139, 600, 685, 139, 139,
1581 139, 606, 140, 141, 140, 140, 140, 609, 616, 142,
1582 633, 140, 634, 141, 663, 141, 655, 141, 651, 142,
Lev Walkin2535a692005-07-02 21:42:40 +00001583
Lev Walkin0e90aa02013-03-19 16:17:13 -07001584 143, 142, 141, 142, 617, 141, 619, 640, 142, 641,
1585 143, 657, 143, 145, 143, 608, 146, 643, 645, 143,
1586 647, 145, 632, 145, 614, 145, 146, 145, 146, 147,
1587 146, 638, 145, 649, 146, 146, 685, 148, 648, 147,
1588 150, 147, 665, 147, 659, 634, 662, 148, 147, 148,
1589 150, 148, 150, 151, 150, 148, 148, 677, 150, 150,
1590 640, 667, 664, 151, 152, 151, 619, 151, 657, 641,
1591 671, 645, 151, 151, 152, 698, 152, 153, 152, 643,
1592 153, 650, 647, 152, 153, 669, 649, 153, 672, 153,
1593 678, 153, 155, 155, 687, 665, 153, 662, 648, 156,
Lev Walkin2535a692005-07-02 21:42:40 +00001594
Lev Walkin0e90aa02013-03-19 16:17:13 -07001595 670, 659, 679, 155, 722, 155, 690, 155, 677, 156,
1596 157, 156, 155, 156, 156, 684, 158, 156, 156, 664,
1597 157, 667, 157, 671, 157, 160, 158, 159, 158, 157,
1598 158, 698, 158, 646, 157, 158, 644, 159, 160, 159,
1599 642, 159, 669, 678, 161, 672, 159, 687, 160, 161,
1600 160, 639, 160, 679, 161, 162, 161, 160, 161, 690,
1601 670, 164, 691, 161, 722, 162, 684, 162, 164, 162,
1602 689, 164, 692, 164, 162, 164, 168, 165, 165, 704,
1603 164, 165, 585, 585, 585, 585, 168, 165, 168, 165,
1604 168, 165, 706, 175, 168, 168, 165, 175, 175, 175,
Lev Walkin2535a692005-07-02 21:42:40 +00001605
Lev Walkin0e90aa02013-03-19 16:17:13 -07001606 175, 175, 175, 175, 175, 201, 714, 201, 201, 201,
1607 201, 201, 201, 201, 201, 208, 209, 629, 208, 691,
1608 702, 689, 707, 692, 201, 208, 209, 208, 209, 208,
1609 209, 210, 211, 715, 208, 209, 704, 712, 623, 622,
1610 613, 210, 211, 210, 211, 210, 211, 212, 610, 706,
1611 210, 211, 607, 201, 206, 214, 602, 212, 215, 212,
1612 212, 212, 214, 585, 714, 214, 212, 214, 215, 214,
1613 215, 216, 215, 707, 214, 716, 590, 215, 587, 217,
1614 573, 216, 702, 216, 715, 216, 712, 569, 216, 217,
1615 216, 217, 536, 217, 620, 620, 620, 620, 217, 206,
Lev Walkin2535a692005-07-02 21:42:40 +00001616
Lev Walkin0e90aa02013-03-19 16:17:13 -07001617 206, 206, 206, 206, 206, 206, 206, 206, 206, 206,
1618 206, 206, 206, 206, 206, 206, 206, 206, 206, 206,
1619 206, 218, 219, 527, 522, 489, 716, 488, 469, 219,
1620 427, 218, 219, 218, 219, 218, 219, 218, 220, 221,
1621 218, 219, 362, 360, 291, 284, 283, 282, 220, 221,
1622 220, 221, 220, 221, 222, 220, 281, 220, 221, 280,
1623 277, 274, 213, 207, 222, 198, 222, 196, 222, 223,
1624 223, 222, 222, 222, 194, 620, 224, 223, 192, 224,
1625 223, 190, 223, 185, 223, 183, 224, 225, 224, 223,
1626 224, 178, 172, 226, 119, 224, 111, 225, 105, 225,
Lev Walkin2535a692005-07-02 21:42:40 +00001627
Lev Walkin0e90aa02013-03-19 16:17:13 -07001628 225, 225, 101, 226, 227, 226, 225, 226, 99, 97,
1629 228, 96, 226, 228, 227, 227, 227, 95, 227, 92,
1630 228, 229, 228, 227, 228, 87, 86, 230, 85, 228,
1631 230, 229, 72, 229, 229, 229, 69, 230, 231, 230,
1632 229, 230, 65, 64, 61, 60, 230, 55, 231, 232,
1633 231, 53, 231, 32, 28, 231, 22, 231, 21, 232,
1634 232, 232, 235, 232, 18, 17, 0, 0, 232, 0,
1635 236, 0, 235, 237, 235, 0, 235, 0, 0, 235,
1636 236, 235, 236, 237, 236, 237, 237, 237, 238, 236,
1637 0, 239, 237, 0, 240, 0, 0, 240, 238, 0,
Lev Walkin2535a692005-07-02 21:42:40 +00001638
Lev Walkin0e90aa02013-03-19 16:17:13 -07001639 238, 239, 238, 239, 240, 239, 240, 238, 240, 239,
1640 239, 241, 242, 240, 0, 0, 0, 0, 0, 0,
1641 241, 0, 242, 243, 242, 0, 242, 0, 0, 0,
1642 241, 242, 241, 243, 241, 243, 244, 243, 0, 241,
1643 0, 0, 243, 0, 246, 0, 244, 246, 244, 0,
1644 244, 0, 0, 0, 246, 244, 246, 247, 246, 0,
1645 247, 0, 0, 246, 0, 248, 0, 247, 250, 247,
1646 0, 247, 248, 0, 0, 248, 247, 248, 250, 248,
1647 250, 251, 250, 0, 248, 0, 250, 250, 0, 252,
1648 0, 251, 0, 251, 0, 251, 0, 253, 0, 252,
Lev Walkin2535a692005-07-02 21:42:40 +00001649
Lev Walkin0e90aa02013-03-19 16:17:13 -07001650 251, 252, 0, 252, 0, 254, 252, 253, 252, 253,
1651 0, 253, 0, 0, 253, 254, 253, 254, 256, 254,
1652 257, 257, 0, 0, 254, 254, 0, 0, 256, 258,
1653 256, 257, 256, 257, 0, 257, 0, 256, 0, 258,
1654 257, 258, 259, 258, 0, 0, 0, 0, 258, 0,
1655 260, 0, 259, 260, 259, 0, 259, 0, 261, 0,
1656 260, 259, 260, 0, 260, 261, 262, 0, 261, 260,
1657 261, 0, 261, 0, 0, 0, 262, 261, 262, 263,
1658 262, 0, 0, 0, 262, 262, 0, 264, 0, 263,
1659 0, 263, 0, 263, 0, 0, 263, 264, 263, 264,
Lev Walkin2535a692005-07-02 21:42:40 +00001660
Lev Walkin0e90aa02013-03-19 16:17:13 -07001661 265, 264, 0, 265, 264, 0, 264, 0, 267, 0,
1662 265, 0, 265, 0, 265, 0, 0, 269, 267, 265,
1663 267, 267, 267, 267, 268, 269, 0, 267, 267, 0,
1664 0, 0, 0, 0, 268, 269, 268, 269, 268, 269,
1665 273, 0, 268, 268, 269, 0, 273, 0, 0, 0,
1666 273, 0, 273, 0, 273, 275, 275, 275, 275, 273,
1667 0, 0, 0, 276, 276, 276, 276, 0, 0, 0,
1668 275, 275, 275, 275, 275, 275, 275, 275, 276, 276,
1669 276, 276, 276, 276, 276, 276, 292, 293, 0, 0,
1670 0, 0, 0, 0, 293, 0, 292, 293, 292, 293,
Lev Walkin2535a692005-07-02 21:42:40 +00001671
Lev Walkin0e90aa02013-03-19 16:17:13 -07001672 292, 293, 294, 0, 0, 292, 293, 0, 295, 0,
1673 0, 0, 294, 294, 294, 0, 294, 0, 295, 296,
1674 295, 294, 295, 0, 0, 297, 0, 295, 297, 296,
1675 0, 296, 0, 296, 0, 297, 0, 297, 296, 297,
1676 298, 298, 299, 299, 297, 0, 0, 0, 0, 0,
1677 0, 298, 299, 298, 299, 298, 299, 300, 0, 0,
1678 298, 299, 0, 0, 296, 301, 0, 300, 0, 300,
1679 0, 300, 0, 302, 300, 301, 300, 301, 301, 301,
1680 0, 0, 0, 302, 301, 302, 304, 302, 303, 303,
1681 0, 302, 302, 0, 0, 0, 304, 305, 304, 303,
Lev Walkin2535a692005-07-02 21:42:40 +00001682
Lev Walkin0e90aa02013-03-19 16:17:13 -07001683 304, 303, 0, 303, 0, 304, 0, 305, 303, 305,
1684 306, 305, 306, 307, 0, 307, 305, 0, 0, 0,
1685 306, 0, 306, 307, 306, 307, 0, 307, 308, 306,
1686 0, 308, 307, 0, 309, 0, 0, 0, 308, 0,
1687 308, 0, 308, 0, 309, 310, 309, 308, 309, 0,
1688 0, 311, 310, 309, 0, 310, 0, 310, 0, 310,
1689 0, 311, 312, 311, 310, 311, 0, 311, 0, 0,
1690 311, 0, 312, 0, 312, 0, 312, 313, 312, 0,
1691 313, 312, 0, 314, 0, 0, 0, 313, 0, 313,
1692 0, 313, 0, 314, 317, 314, 313, 314, 0, 0,
Lev Walkin2535a692005-07-02 21:42:40 +00001693
Lev Walkin0e90aa02013-03-19 16:17:13 -07001694 318, 0, 314, 0, 317, 0, 317, 0, 317, 0,
1695 318, 0, 318, 317, 318, 319, 320, 0, 318, 318,
1696 0, 0, 319, 0, 0, 319, 320, 319, 320, 319,
1697 320, 321, 320, 0, 319, 320, 322, 322, 0, 317,
1698 0, 321, 0, 321, 324, 321, 0, 322, 0, 322,
1699 321, 322, 323, 322, 0, 324, 322, 323, 0, 0,
1700 0, 0, 323, 325, 323, 324, 323, 324, 323, 324,
1701 0, 323, 0, 325, 324, 325, 326, 325, 0, 0,
1702 325, 0, 325, 0, 328, 328, 326, 329, 326, 0,
1703 326, 0, 0, 0, 328, 326, 328, 329, 328, 329,
Lev Walkin2535a692005-07-02 21:42:40 +00001704
Lev Walkin0e90aa02013-03-19 16:17:13 -07001705 330, 329, 0, 328, 333, 329, 329, 0, 332, 0,
1706 330, 332, 330, 330, 330, 0, 0, 0, 332, 330,
1707 332, 333, 332, 0, 0, 0, 0, 332, 0, 334,
1708 0, 333, 334, 333, 0, 333, 335, 335, 0, 334,
1709 333, 334, 0, 334, 0, 337, 0, 335, 334, 335,
1710 0, 335, 0, 338, 0, 337, 335, 337, 0, 337,
1711 0, 0, 0, 338, 337, 338, 339, 338, 0, 339,
1712 0, 338, 338, 0, 340, 0, 339, 341, 339, 0,
1713 339, 0, 0, 0, 340, 339, 340, 341, 340, 341,
1714 0, 341, 343, 340, 342, 342, 341, 0, 344, 0,
Lev Walkin2535a692005-07-02 21:42:40 +00001715
Lev Walkin0e90aa02013-03-19 16:17:13 -07001716 0, 0, 343, 0, 343, 342, 343, 342, 344, 342,
1717 344, 343, 344, 345, 342, 0, 347, 344, 0, 348,
1718 0, 0, 0, 345, 0, 345, 347, 345, 347, 348,
1719 347, 348, 345, 348, 0, 347, 349, 343, 348, 349,
1720 0, 0, 350, 0, 0, 0, 349, 0, 349, 0,
1721 349, 0, 350, 351, 350, 349, 350, 0, 0, 0,
1722 0, 350, 0, 351, 0, 351, 0, 351, 0, 355,
1723 351, 0, 351, 0, 356, 356, 356, 356, 350, 355,
1724 0, 355, 0, 355, 0, 0, 0, 0, 355, 356,
1725 356, 356, 356, 356, 356, 356, 356, 357, 357, 357,
Lev Walkin2535a692005-07-02 21:42:40 +00001726
Lev Walkin0e90aa02013-03-19 16:17:13 -07001727 357, 0, 0, 0, 0, 0, 0, 0, 357, 0,
1728 0, 0, 357, 357, 357, 357, 357, 357, 357, 357,
1729 358, 358, 358, 358, 0, 0, 0, 0, 0, 0,
1730 0, 0, 0, 0, 0, 358, 358, 358, 358, 358,
1731 358, 358, 358, 359, 0, 363, 0, 359, 359, 359,
1732 359, 359, 359, 359, 359, 363, 0, 363, 0, 363,
1733 364, 364, 0, 363, 363, 0, 0, 0, 0, 0,
1734 364, 0, 364, 366, 364, 365, 365, 0, 357, 364,
1735 0, 0, 0, 366, 0, 366, 365, 366, 365, 0,
1736 365, 0, 366, 368, 368, 365, 0, 369, 369, 0,
Lev Walkin2535a692005-07-02 21:42:40 +00001737
Lev Walkin0e90aa02013-03-19 16:17:13 -07001738 370, 0, 0, 370, 368, 0, 368, 369, 368, 369,
1739 370, 369, 370, 368, 370, 371, 369, 0, 372, 370,
1740 0, 0, 0, 0, 0, 371, 373, 371, 372, 371,
1741 372, 0, 372, 0, 371, 0, 373, 372, 373, 374,
1742 373, 0, 373, 0, 0, 373, 374, 375, 0, 374,
1743 0, 374, 0, 374, 0, 0, 0, 375, 374, 375,
1744 376, 375, 0, 376, 0, 0, 375, 376, 0, 0,
1745 376, 377, 376, 377, 376, 0, 0, 378, 0, 376,
1746 378, 377, 0, 377, 378, 377, 0, 378, 379, 378,
1747 377, 378, 0, 0, 0, 0, 378, 0, 379, 380,
Lev Walkin2535a692005-07-02 21:42:40 +00001748
Lev Walkin0e90aa02013-03-19 16:17:13 -07001749 379, 0, 379, 0, 379, 0, 0, 379, 0, 380,
1750 0, 380, 0, 380, 381, 381, 0, 380, 380, 0,
1751 382, 0, 0, 0, 381, 0, 381, 0, 381, 0,
1752 382, 383, 382, 381, 382, 0, 0, 384, 382, 382,
1753 0, 383, 0, 383, 0, 383, 0, 384, 383, 384,
1754 383, 384, 385, 389, 0, 0, 384, 0, 0, 0,
1755 389, 0, 385, 389, 385, 389, 385, 389, 0, 0,
1756 391, 385, 389, 390, 390, 0, 390, 0, 0, 0,
1757 391, 0, 391, 390, 391, 390, 0, 390, 391, 391,
1758 393, 392, 390, 392, 0, 0, 0, 0, 0, 0,
Lev Walkin2535a692005-07-02 21:42:40 +00001759
Lev Walkin0e90aa02013-03-19 16:17:13 -07001760 393, 392, 393, 392, 393, 392, 394, 0, 0, 393,
1761 392, 0, 395, 0, 0, 395, 394, 0, 394, 0,
1762 394, 0, 395, 396, 395, 394, 395, 397, 0, 0,
1763 398, 395, 0, 396, 0, 396, 397, 396, 0, 0,
1764 396, 0, 396, 0, 400, 0, 397, 398, 397, 0,
1765 397, 0, 0, 0, 400, 397, 400, 398, 400, 398,
1766 401, 398, 400, 400, 0, 0, 398, 0, 402, 0,
1767 401, 0, 401, 0, 401, 0, 404, 0, 402, 401,
1768 402, 0, 402, 0, 406, 0, 404, 402, 404, 0,
1769 404, 0, 404, 0, 406, 404, 406, 407, 406, 0,
Lev Walkin2535a692005-07-02 21:42:40 +00001770
Lev Walkin0e90aa02013-03-19 16:17:13 -07001771 0, 0, 0, 406, 0, 0, 0, 407, 0, 407,
1772 409, 407, 0, 410, 0, 407, 407, 409, 0, 0,
1773 409, 411, 409, 410, 409, 410, 411, 410, 0, 409,
1774 0, 411, 410, 411, 412, 411, 0, 0, 0, 0,
1775 411, 0, 0, 0, 412, 415, 412, 0, 412, 0,
1776 0, 416, 0, 412, 416, 415, 412, 415, 0, 415,
1777 0, 416, 417, 416, 415, 416, 0, 0, 0, 0,
1778 416, 0, 417, 419, 417, 0, 417, 0, 417, 0,
1779 0, 417, 0, 419, 0, 419, 0, 419, 424, 424,
1780 424, 424, 419, 0, 0, 0, 0, 0, 0, 0,
Lev Walkin2535a692005-07-02 21:42:40 +00001781
Lev Walkin0e90aa02013-03-19 16:17:13 -07001782 0, 428, 0, 424, 424, 424, 424, 424, 424, 424,
1783 424, 428, 0, 428, 430, 428, 429, 429, 419, 0,
1784 428, 0, 0, 0, 430, 432, 430, 429, 430, 429,
1785 0, 429, 430, 430, 0, 432, 429, 432, 433, 432,
1786 0, 434, 0, 0, 432, 0, 0, 0, 433, 0,
1787 433, 434, 433, 434, 0, 434, 433, 433, 435, 0,
1788 434, 435, 0, 436, 436, 0, 0, 0, 435, 0,
1789 435, 0, 435, 0, 436, 437, 436, 435, 436, 0,
1790 0, 438, 0, 436, 0, 437, 0, 437, 0, 437,
1791 0, 438, 0, 438, 437, 438, 439, 0, 439, 438,
Lev Walkin2535a692005-07-02 21:42:40 +00001792
Lev Walkin0e90aa02013-03-19 16:17:13 -07001793 438, 0, 440, 0, 0, 0, 439, 0, 439, 0,
1794 439, 0, 440, 0, 440, 439, 440, 0, 0, 441,
1795 440, 440, 441, 0, 0, 442, 0, 442, 0, 441,
1796 0, 441, 0, 441, 0, 442, 443, 442, 441, 442,
1797 0, 444, 444, 0, 442, 0, 443, 0, 443, 0,
1798 443, 0, 444, 445, 444, 443, 444, 0, 0, 446,
1799 0, 444, 0, 445, 0, 445, 446, 445, 0, 446,
1800 447, 446, 445, 446, 0, 0, 448, 0, 446, 0,
1801 447, 0, 447, 448, 447, 0, 448, 447, 448, 447,
1802 448, 449, 449, 453, 0, 448, 0, 453, 0, 0,
Lev Walkin2535a692005-07-02 21:42:40 +00001803
Lev Walkin0e90aa02013-03-19 16:17:13 -07001804 0, 0, 449, 453, 449, 453, 449, 453, 454, 0,
1805 0, 449, 453, 0, 455, 454, 455, 0, 454, 0,
1806 454, 0, 454, 0, 455, 456, 455, 454, 455, 0,
1807 0, 457, 0, 455, 457, 456, 0, 456, 0, 456,
1808 0, 457, 456, 457, 456, 457, 458, 458, 0, 0,
1809 457, 0, 459, 459, 0, 0, 458, 0, 458, 0,
1810 458, 0, 459, 460, 459, 458, 459, 0, 0, 0,
1811 0, 459, 0, 460, 0, 460, 0, 460, 461, 460,
1812 0, 461, 460, 0, 462, 0, 0, 0, 461, 0,
1813 461, 0, 461, 0, 462, 465, 462, 461, 462, 0,
Lev Walkin2535a692005-07-02 21:42:40 +00001814
Lev Walkin0e90aa02013-03-19 16:17:13 -07001815 0, 462, 0, 462, 0, 465, 0, 465, 468, 465,
1816 466, 466, 0, 0, 465, 0, 0, 0, 468, 470,
1817 468, 466, 468, 466, 0, 466, 0, 468, 0, 470,
1818 466, 470, 471, 470, 0, 471, 0, 470, 470, 0,
1819 473, 0, 471, 0, 471, 0, 471, 0, 0, 0,
1820 473, 471, 473, 0, 473, 474, 474, 0, 475, 473,
1821 473, 476, 0, 0, 0, 474, 0, 474, 475, 474,
1822 475, 476, 475, 476, 474, 476, 479, 475, 0, 480,
1823 476, 0, 0, 0, 0, 0, 479, 0, 479, 480,
1824 479, 480, 0, 480, 490, 479, 480, 0, 480, 486,
Lev Walkin2535a692005-07-02 21:42:40 +00001825
Lev Walkin0e90aa02013-03-19 16:17:13 -07001826 486, 486, 486, 0, 490, 0, 490, 0, 490, 0,
1827 0, 0, 490, 490, 486, 486, 486, 486, 486, 486,
1828 486, 486, 487, 0, 0, 0, 487, 487, 487, 487,
1829 487, 487, 487, 487, 491, 493, 0, 0, 0, 0,
1830 0, 491, 0, 0, 491, 493, 491, 493, 491, 493,
1831 0, 495, 494, 491, 493, 494, 0, 0, 0, 0,
1832 0, 495, 494, 495, 494, 495, 494, 496, 497, 0,
1833 495, 494, 0, 0, 496, 497, 0, 496, 497, 496,
1834 497, 496, 497, 498, 499, 0, 496, 497, 0, 0,
1835 0, 0, 0, 498, 499, 498, 499, 498, 499, 500,
Lev Walkin2535a692005-07-02 21:42:40 +00001836
Lev Walkin0e90aa02013-03-19 16:17:13 -07001837 0, 0, 498, 499, 0, 501, 500, 501, 0, 500,
1838 0, 500, 0, 500, 0, 501, 502, 501, 500, 501,
1839 0, 0, 503, 0, 501, 0, 502, 503, 502, 0,
1840 502, 0, 503, 504, 503, 502, 503, 0, 0, 0,
1841 0, 503, 0, 504, 505, 504, 0, 504, 0, 0,
1842 0, 504, 504, 0, 505, 506, 505, 0, 505, 0,
1843 0, 507, 505, 505, 0, 506, 0, 506, 0, 506,
1844 0, 507, 508, 507, 506, 507, 0, 0, 512, 0,
1845 507, 0, 508, 0, 508, 512, 508, 0, 512, 513,
1846 512, 508, 512, 0, 0, 0, 0, 512, 0, 513,
Lev Walkin2535a692005-07-02 21:42:40 +00001847
Lev Walkin0e90aa02013-03-19 16:17:13 -07001848 514, 513, 0, 513, 0, 0, 515, 513, 513, 0,
1849 514, 0, 514, 0, 514, 0, 515, 516, 515, 514,
1850 515, 0, 0, 517, 0, 515, 517, 516, 0, 516,
1851 0, 516, 0, 517, 516, 517, 516, 517, 518, 519,
1852 0, 0, 517, 0, 0, 0, 0, 0, 518, 519,
1853 518, 519, 518, 519, 520, 520, 518, 518, 519, 0,
1854 521, 0, 0, 0, 520, 0, 520, 0, 520, 0,
1855 521, 524, 521, 520, 521, 0, 0, 526, 0, 521,
1856 0, 524, 0, 524, 0, 524, 0, 526, 528, 526,
1857 524, 526, 0, 0, 529, 0, 526, 0, 528, 0,
Lev Walkin2535a692005-07-02 21:42:40 +00001858
Lev Walkin0e90aa02013-03-19 16:17:13 -07001859 528, 0, 528, 0, 529, 521, 529, 528, 529, 531,
1860 0, 0, 531, 529, 0, 532, 0, 0, 532, 531,
1861 0, 531, 0, 531, 0, 532, 0, 532, 531, 532,
1862 535, 535, 0, 0, 532, 0, 541, 541, 541, 541,
1863 0, 535, 0, 535, 0, 535, 0, 0, 0, 0,
1864 535, 541, 541, 541, 541, 541, 541, 541, 541, 544,
1865 545, 545, 0, 0, 0, 0, 544, 0, 0, 544,
1866 545, 544, 545, 544, 545, 547, 0, 0, 544, 545,
1867 0, 0, 0, 548, 0, 547, 549, 547, 0, 547,
1868 0, 547, 0, 548, 547, 548, 549, 548, 549, 550,
Lev Walkin2535a692005-07-02 21:42:40 +00001869
Lev Walkin0e90aa02013-03-19 16:17:13 -07001870 549, 548, 548, 0, 0, 549, 553, 551, 0, 550,
1871 0, 550, 0, 550, 0, 552, 0, 551, 550, 551,
1872 551, 551, 0, 553, 0, 552, 551, 552, 0, 552,
1873 0, 0, 0, 553, 552, 553, 554, 553, 0, 554,
1874 0, 0, 553, 0, 555, 0, 554, 0, 554, 0,
1875 554, 0, 556, 0, 555, 554, 555, 0, 555, 556,
1876 557, 0, 556, 555, 556, 0, 556, 0, 0, 0,
1877 557, 556, 557, 562, 557, 0, 562, 0, 0, 557,
1878 0, 563, 0, 562, 564, 562, 0, 562, 0, 0,
1879 0, 563, 562, 563, 564, 563, 564, 565, 564, 0,
Lev Walkin2535a692005-07-02 21:42:40 +00001880
Lev Walkin0e90aa02013-03-19 16:17:13 -07001881 563, 0, 0, 564, 0, 566, 0, 565, 567, 565,
1882 0, 565, 566, 0, 0, 566, 565, 566, 567, 566,
1883 567, 571, 567, 0, 566, 575, 567, 567, 0, 576,
1884 0, 571, 0, 571, 0, 571, 0, 0, 0, 576,
1885 571, 576, 575, 576, 0, 579, 0, 0, 576, 0,
1886 0, 0, 575, 0, 575, 579, 575, 579, 0, 579,
1887 588, 575, 0, 0, 579, 584, 584, 584, 584, 0,
1888 588, 0, 588, 588, 588, 0, 0, 0, 589, 588,
1889 584, 584, 584, 584, 584, 584, 584, 584, 589, 591,
1890 589, 0, 589, 0, 0, 592, 0, 589, 0, 591,
Lev Walkin2535a692005-07-02 21:42:40 +00001891
Lev Walkin0e90aa02013-03-19 16:17:13 -07001892 0, 591, 0, 591, 0, 592, 0, 592, 591, 592,
1893 593, 594, 592, 593, 592, 0, 594, 0, 0, 0,
1894 593, 594, 593, 594, 593, 594, 595, 0, 0, 593,
1895 594, 0, 597, 0, 597, 0, 595, 0, 595, 0,
1896 595, 0, 597, 598, 597, 595, 597, 0, 0, 603,
1897 0, 597, 0, 598, 0, 598, 0, 598, 0, 603,
1898 604, 603, 598, 603, 0, 603, 0, 0, 603, 0,
1899 604, 605, 604, 604, 604, 0, 0, 615, 605, 604,
1900 0, 605, 0, 605, 0, 605, 0, 615, 624, 615,
1901 605, 615, 0, 0, 625, 0, 615, 0, 624, 0,
Lev Walkin2535a692005-07-02 21:42:40 +00001902
Lev Walkin0e90aa02013-03-19 16:17:13 -07001903 624, 0, 624, 0, 625, 0, 625, 624, 625, 626,
1904 627, 626, 0, 625, 0, 0, 0, 0, 0, 626,
1905 627, 626, 627, 626, 627, 628, 630, 0, 626, 627,
1906 0, 0, 0, 0, 0, 628, 630, 628, 630, 628,
1907 630, 631, 628, 0, 628, 630, 0, 635, 631, 0,
1908 0, 631, 0, 631, 0, 631, 0, 635, 636, 635,
1909 631, 635, 0, 0, 0, 0, 635, 0, 636, 637,
1910 636, 0, 636, 0, 0, 652, 0, 636, 0, 637,
1911 0, 637, 637, 637, 0, 652, 653, 652, 637, 652,
1912 0, 0, 654, 0, 652, 0, 653, 0, 653, 0,
Lev Walkin2535a692005-07-02 21:42:40 +00001913
Lev Walkin0e90aa02013-03-19 16:17:13 -07001914 653, 0, 654, 656, 654, 653, 654, 0, 0, 0,
1915 0, 654, 0, 656, 660, 656, 0, 656, 0, 0,
1916 661, 656, 656, 0, 660, 0, 660, 0, 660, 0,
1917 661, 660, 661, 660, 661, 676, 680, 0, 0, 661,
1918 0, 0, 0, 0, 0, 676, 680, 676, 680, 676,
1919 680, 681, 696, 0, 676, 680, 0, 0, 676, 0,
1920 0, 681, 696, 681, 696, 681, 696, 0, 0, 0,
1921 681, 696, 746, 746, 746, 746, 746, 746, 746, 746,
1922 746, 746, 746, 746, 746, 747, 747, 747, 747, 747,
1923 747, 747, 747, 747, 747, 747, 747, 747, 748, 748,
Lev Walkin4696c742005-08-22 12:23:54 +00001924
Lev Walkin0e90aa02013-03-19 16:17:13 -07001925 748, 748, 748, 748, 748, 748, 748, 748, 748, 748,
1926 748, 749, 749, 749, 749, 749, 749, 749, 749, 749,
1927 749, 749, 749, 749, 750, 750, 750, 750, 750, 750,
1928 750, 750, 750, 750, 750, 750, 750, 751, 751, 751,
Lev Walkinadf863f2006-09-05 16:18:34 +00001929 751, 0, 751, 751, 751, 751, 751, 751, 751, 751,
Lev Walkin0e90aa02013-03-19 16:17:13 -07001930 752, 752, 752, 0, 752, 0, 752, 0, 752, 753,
1931 753, 0, 753, 753, 754, 754, 0, 0, 754, 754,
1932 0, 754, 754, 754, 754, 754, 754, 755, 755, 755,
1933 755, 0, 755, 755, 755, 755, 755, 755, 755, 755,
1934 756, 756, 756, 756, 756, 756, 756, 756, 0, 756,
Lev Walkin4696c742005-08-22 12:23:54 +00001935
Lev Walkin0e90aa02013-03-19 16:17:13 -07001936 756, 757, 0, 0, 0, 757, 757, 757, 757, 757,
1937 757, 757, 758, 0, 0, 0, 758, 758, 758, 758,
1938 758, 758, 758, 759, 759, 0, 759, 759, 760, 760,
1939 0, 760, 760, 761, 761, 0, 761, 761, 762, 0,
1940 762, 762, 763, 763, 0, 763, 763, 764, 0, 764,
1941 764, 765, 0, 765, 765, 766, 0, 766, 766, 767,
1942 0, 767, 767, 768, 768, 768, 768, 768, 768, 768,
1943 768, 768, 768, 768, 768, 768, 769, 769, 0, 769,
1944 769, 770, 770, 0, 770, 770, 770, 770, 770, 770,
1945 770, 770, 770, 770, 771, 771, 771, 0, 0, 0,
Lev Walkin9d542d22006-03-14 16:31:37 +00001946
Lev Walkin0e90aa02013-03-19 16:17:13 -07001947 771, 0, 0, 0, 0, 771, 745, 745, 745, 745,
1948 745, 745, 745, 745, 745, 745, 745, 745, 745, 745,
1949 745, 745, 745, 745, 745, 745, 745, 745, 745, 745,
1950 745, 745, 745, 745, 745, 745, 745, 745, 745, 745,
1951 745, 745, 745, 745, 745, 745, 745, 745, 745, 745,
1952 745, 745, 745, 745, 745, 745, 745, 745, 745, 745,
1953 745, 745, 745, 745, 745, 745, 745, 745, 745, 745,
1954 745, 745, 745, 745, 745, 745, 745, 745, 745, 745,
1955 745, 745, 745, 745, 745, 745, 745, 745, 745, 745
Lev Walkinf15320b2004-06-03 03:38:44 +00001956 } ;
1957
Lev Walkin03892812010-11-03 09:33:03 -07001958/* Table of booleans, true if rule could match eol. */
Lev Walkin0e90aa02013-03-19 16:17:13 -07001959static yyconst flex_int32_t yy_rule_can_match_eol[141] =
Lev Walkin03892812010-11-03 09:33:03 -07001960 { 0,
19611, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1,
1962 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1963 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1964 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1965 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1966 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
Lev Walkin0e90aa02013-03-19 16:17:13 -07001967 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 1, 0,
1968 0, };
Lev Walkinf15320b2004-06-03 03:38:44 +00001969
Lev Walkin03892812010-11-03 09:33:03 -07001970extern int asn1p__flex_debug;
1971int asn1p__flex_debug = 1;
1972
Lev Walkin0e90aa02013-03-19 16:17:13 -07001973static yyconst flex_int16_t yy_rule_linenum[140] =
Lev Walkinf15320b2004-06-03 03:38:44 +00001974 { 0,
Lev Walkinadf863f2006-09-05 16:18:34 +00001975 96, 97, 99, 102, 104, 107, 109, 110, 111, 114,
1976 116, 117, 118, 130, 137, 144, 150, 159, 167, 175,
1977 176, 178, 197, 203, 204, 205, 206, 207, 210, 216,
1978 223, 230, 237, 244, 251, 252, 253, 261, 262, 263,
1979 264, 265, 270, 271, 272, 273, 274, 275, 276, 277,
1980 278, 279, 280, 289, 290, 291, 292, 293, 294, 295,
1981 296, 297, 298, 299, 300, 301, 302, 303, 304, 305,
1982 306, 307, 308, 309, 310, 311, 312, 313, 314, 315,
1983 316, 317, 318, 319, 320, 321, 322, 323, 324, 325,
1984 326, 327, 328, 329, 330, 331, 332, 333, 334, 335,
Lev Walkinf15320b2004-06-03 03:38:44 +00001985
Lev Walkinadf863f2006-09-05 16:18:34 +00001986 336, 337, 338, 339, 340, 341, 342, 343, 344, 345,
1987 346, 351, 352, 357, 358, 359, 362, 367, 373, 381,
1988 391, 396, 398, 399, 403, 408, 413, 419, 420, 422,
Lev Walkin0e90aa02013-03-19 16:17:13 -07001989 428, 441, 444, 469, 513, 514, 516, 518, 529
Lev Walkinf15320b2004-06-03 03:38:44 +00001990 } ;
1991
Lev Walkin03892812010-11-03 09:33:03 -07001992static yy_state_type *yy_state_buf=0, *yy_state_ptr=0;
Lev Walkinf15320b2004-06-03 03:38:44 +00001993static char *yy_full_match;
1994static int yy_lp;
1995#define REJECT \
1996{ \
Lev Walkin03892812010-11-03 09:33:03 -07001997*yy_cp = (yy_hold_char); /* undo effects of setting up asn1p_text */ \
1998yy_cp = (yy_full_match); /* restore poss. backed-over text */ \
1999++(yy_lp); \
Lev Walkinf15320b2004-06-03 03:38:44 +00002000goto find_rule; \
2001}
Lev Walkin03892812010-11-03 09:33:03 -07002002
Lev Walkinf15320b2004-06-03 03:38:44 +00002003#define yymore() yymore_used_but_not_detected
2004#define YY_MORE_ADJ 0
2005#define YY_RESTORE_YY_MORE_OFFSET
Lev Walkin03892812010-11-03 09:33:03 -07002006char *asn1p_text;
Lev Walkinf15320b2004-06-03 03:38:44 +00002007#line 1 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002008#line 2 "asn1p_l.l"
2009
2010#include <string.h>
2011#include <errno.h>
2012#include <assert.h>
2013
2014#include "asn1parser.h"
2015#include "asn1p_y.h"
2016
2017int asn1p_lex(void);
2018void asn1p_lexer_hack_push_opaque_state(void); /* Used in .y */
2019void asn1p_lexer_hack_enable_with_syntax(void); /* Used in .y */
Lev Walkinf59d0752004-08-18 04:59:12 +00002020void asn1p_lexer_hack_push_encoding_control(void); /* Used in .y */
Lev Walkinf15320b2004-06-03 03:38:44 +00002021
2022#define YY_FATAL_ERROR(msg) do { \
2023 fprintf(stderr, \
2024 "lexer error at line %d, " \
2025 "text \"%s\"\n", \
Lev Walkin03892812010-11-03 09:33:03 -07002026 asn1p_lineno, asn1p_text); \
Lev Walkinf15320b2004-06-03 03:38:44 +00002027 exit(1); \
2028 } while(0)
2029
2030int asn1p_lexer_pedantic_1990 = 0;
2031int asn1p_lexer_types_year = 0;
2032int asn1p_lexer_constructs_year = 0;
Lev Walkinf15320b2004-06-03 03:38:44 +00002033
Lev Walkin4696c742005-08-22 12:23:54 +00002034int asn1p_as_pointer;
2035
Lev Walkind370e9f2006-03-16 10:03:35 +00002036static asn1c_integer_t _lex_atoi(const char *ptr);
Lev Walkinadf863f2006-09-05 16:18:34 +00002037static double _lex_atod(const char *ptr);
Lev Walkind370e9f2006-03-16 10:03:35 +00002038
Lev Walkinf15320b2004-06-03 03:38:44 +00002039/*
2040 * Check that the type is defined in the year of the standard choosen.
2041 */
2042#define TYPE_LIFETIME(fyr, lyr) \
2043 (!asn1p_lexer_types_year \
2044 || (fyr && fyr <= asn1p_lexer_types_year) \
2045 || (lyr && lyr > asn1p_lexer_types_year))
2046
2047/*
2048 * Check the the construction (or concept, i.e. CLASS) is defined in
2049 * a given year.
2050 */
2051#define CONSTRUCT_LIFETIME(fyr, lyr) \
2052 (!asn1p_lexer_constructs_year \
2053 || (fyr && fyr <= asn1p_lexer_constructs_year) \
2054 || (lyr && lyr > asn1p_lexer_constructs_year))
2055
2056/*
Lev Walkinf15320b2004-06-03 03:38:44 +00002057 * Append quoted string.
2058 */
2059#define QAPPEND(text, tlen) do { \
2060 char *prev_text = asn1p_lval.tv_opaque.buf; \
2061 int prev_len = asn1p_lval.tv_opaque.len; \
2062 char *p; \
2063 \
2064 p = malloc((tlen) + prev_len + 1); \
2065 if(p == NULL) return -1; \
2066 \
2067 if(prev_text) memcpy(p, prev_text, prev_len); \
2068 memcpy(p + prev_len, text, tlen); \
2069 p[prev_len + (tlen)] = '\0'; \
2070 \
2071 free(asn1p_lval.tv_opaque.buf); \
2072 asn1p_lval.tv_opaque.buf = p; \
2073 asn1p_lval.tv_opaque.len = (tlen) + prev_len; \
2074 } while(0)
2075
Lev Walkinf15320b2004-06-03 03:38:44 +00002076#define YY_NO_INPUT 1
Lev Walkinf15320b2004-06-03 03:38:44 +00002077/* Performance penalty is OK */
2078/* Controlled from within application */
Lev Walkinf15320b2004-06-03 03:38:44 +00002079
Lev Walkinf15320b2004-06-03 03:38:44 +00002080
Lev Walkinf15320b2004-06-03 03:38:44 +00002081
Lev Walkinf15320b2004-06-03 03:38:44 +00002082
Lev Walkinf59d0752004-08-18 04:59:12 +00002083
Lev Walkin2535a692005-07-02 21:42:40 +00002084
Lev Walkinf15320b2004-06-03 03:38:44 +00002085
2086/* Newline */
2087/* White-space */
Lev Walkin0e90aa02013-03-19 16:17:13 -07002088#line 2090 "lex.yy.c"
Lev Walkin03892812010-11-03 09:33:03 -07002089
2090#define INITIAL 0
2091#define dash_comment 1
2092#define idash_comment 2
2093#define cpp_comment 3
2094#define quoted 4
2095#define opaque 5
2096#define encoding_control 6
2097#define with_syntax 7
2098
2099#ifndef YY_NO_UNISTD_H
2100/* Special case for "unistd.h", since it is non-ANSI. We include it way
2101 * down here because we want the user's section 1 to have been scanned first.
2102 * The user has a chance to override it with an option.
2103 */
2104/* %if-c-only */
2105#include <unistd.h>
2106/* %endif */
2107/* %if-c++-only */
2108/* %endif */
2109#endif
2110
2111#ifndef YY_EXTRA_TYPE
2112#define YY_EXTRA_TYPE void *
2113#endif
2114
2115/* %if-c-only Reentrant structure and macros (non-C++). */
2116/* %if-reentrant */
2117/* %if-c-only */
2118
2119static int yy_init_globals (void );
2120
2121/* %endif */
2122/* %if-reentrant */
2123/* %endif */
2124/* %endif End reentrant structures and macros. */
2125
2126/* Accessor methods to globals.
2127 These are made visible to non-reentrant scanners for convenience. */
2128
2129int asn1p_lex_destroy (void );
2130
2131int asn1p_get_debug (void );
2132
2133void asn1p_set_debug (int debug_flag );
2134
2135YY_EXTRA_TYPE asn1p_get_extra (void );
2136
2137void asn1p_set_extra (YY_EXTRA_TYPE user_defined );
2138
2139FILE *asn1p_get_in (void );
2140
2141void asn1p_set_in (FILE * in_str );
2142
2143FILE *asn1p_get_out (void );
2144
2145void asn1p_set_out (FILE * out_str );
2146
Lev Walkin0e90aa02013-03-19 16:17:13 -07002147yy_size_t asn1p_get_leng (void );
Lev Walkin03892812010-11-03 09:33:03 -07002148
2149char *asn1p_get_text (void );
2150
2151int asn1p_get_lineno (void );
2152
2153void asn1p_set_lineno (int line_number );
2154
2155/* %if-bison-bridge */
2156/* %endif */
Lev Walkinf15320b2004-06-03 03:38:44 +00002157
2158/* Macros after this point can all be overridden by user definitions in
2159 * section 1.
2160 */
2161
2162#ifndef YY_SKIP_YYWRAP
2163#ifdef __cplusplus
Lev Walkin03892812010-11-03 09:33:03 -07002164extern "C" int asn1p_wrap (void );
Lev Walkinf15320b2004-06-03 03:38:44 +00002165#else
Lev Walkin03892812010-11-03 09:33:03 -07002166extern int asn1p_wrap (void );
Lev Walkinf15320b2004-06-03 03:38:44 +00002167#endif
2168#endif
2169
Lev Walkin03892812010-11-03 09:33:03 -07002170/* %not-for-header */
2171
2172 static void yyunput (int c,char *buf_ptr );
2173
2174/* %ok-for-header */
2175
2176/* %endif */
Lev Walkinf15320b2004-06-03 03:38:44 +00002177
2178#ifndef yytext_ptr
Lev Walkin03892812010-11-03 09:33:03 -07002179static void yy_flex_strncpy (char *,yyconst char *,int );
Lev Walkinf15320b2004-06-03 03:38:44 +00002180#endif
2181
2182#ifdef YY_NEED_STRLEN
Lev Walkin03892812010-11-03 09:33:03 -07002183static int yy_flex_strlen (yyconst char * );
Lev Walkinf15320b2004-06-03 03:38:44 +00002184#endif
2185
2186#ifndef YY_NO_INPUT
Lev Walkin03892812010-11-03 09:33:03 -07002187/* %if-c-only Standard (non-C++) definition */
2188/* %not-for-header */
2189
Lev Walkinf15320b2004-06-03 03:38:44 +00002190#ifdef __cplusplus
Lev Walkin03892812010-11-03 09:33:03 -07002191static int yyinput (void );
Lev Walkinf15320b2004-06-03 03:38:44 +00002192#else
Lev Walkin03892812010-11-03 09:33:03 -07002193static int input (void );
Lev Walkinf15320b2004-06-03 03:38:44 +00002194#endif
Lev Walkin03892812010-11-03 09:33:03 -07002195/* %ok-for-header */
2196
2197/* %endif */
Lev Walkinf15320b2004-06-03 03:38:44 +00002198#endif
2199
Lev Walkin03892812010-11-03 09:33:03 -07002200/* %if-c-only */
Lev Walkinf15320b2004-06-03 03:38:44 +00002201
Lev Walkin03892812010-11-03 09:33:03 -07002202 static int yy_start_stack_ptr = 0;
2203 static int yy_start_stack_depth = 0;
2204 static int *yy_start_stack = NULL;
2205
2206 static void yy_push_state (int new_state );
2207
2208 static void yy_pop_state (void );
2209
2210 static int yy_top_state (void );
2211
2212/* %endif */
Lev Walkinf15320b2004-06-03 03:38:44 +00002213
2214/* Amount of stuff to slurp up with each read. */
2215#ifndef YY_READ_BUF_SIZE
2216#define YY_READ_BUF_SIZE 8192
2217#endif
2218
2219/* Copy whatever the last rule matched to the standard output. */
Lev Walkinf15320b2004-06-03 03:38:44 +00002220#ifndef ECHO
Lev Walkin03892812010-11-03 09:33:03 -07002221/* %if-c-only Standard (non-C++) definition */
Lev Walkinf15320b2004-06-03 03:38:44 +00002222/* This used to be an fputs(), but since the string might contain NUL's,
2223 * we now use fwrite().
2224 */
Lev Walkin03892812010-11-03 09:33:03 -07002225#define ECHO fwrite( asn1p_text, asn1p_leng, 1, asn1p_out )
2226/* %endif */
2227/* %if-c++-only C++ definition */
2228/* %endif */
Lev Walkinf15320b2004-06-03 03:38:44 +00002229#endif
2230
2231/* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
2232 * is returned in "result".
2233 */
2234#ifndef YY_INPUT
2235#define YY_INPUT(buf,result,max_size) \
Lev Walkin03892812010-11-03 09:33:03 -07002236/* %% [5.0] fread()/read() definition of YY_INPUT goes here unless we're doing C++ \ */\
2237 if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
Lev Walkinf15320b2004-06-03 03:38:44 +00002238 { \
Lev Walkin03892812010-11-03 09:33:03 -07002239 int c = '*'; \
Lev Walkin0e90aa02013-03-19 16:17:13 -07002240 yy_size_t n; \
Lev Walkinf15320b2004-06-03 03:38:44 +00002241 for ( n = 0; n < max_size && \
Lev Walkin03892812010-11-03 09:33:03 -07002242 (c = getc( asn1p_in )) != EOF && c != '\n'; ++n ) \
Lev Walkinf15320b2004-06-03 03:38:44 +00002243 buf[n] = (char) c; \
2244 if ( c == '\n' ) \
2245 buf[n++] = (char) c; \
Lev Walkin03892812010-11-03 09:33:03 -07002246 if ( c == EOF && ferror( asn1p_in ) ) \
Lev Walkinf15320b2004-06-03 03:38:44 +00002247 YY_FATAL_ERROR( "input in flex scanner failed" ); \
2248 result = n; \
2249 } \
Lev Walkin03892812010-11-03 09:33:03 -07002250 else \
2251 { \
2252 errno=0; \
2253 while ( (result = fread(buf, 1, max_size, asn1p_in))==0 && ferror(asn1p_in)) \
2254 { \
2255 if( errno != EINTR) \
2256 { \
2257 YY_FATAL_ERROR( "input in flex scanner failed" ); \
2258 break; \
2259 } \
2260 errno=0; \
2261 clearerr(asn1p_in); \
2262 } \
2263 }\
2264\
2265/* %if-c++-only C++ definition \ */\
2266/* %endif */
2267
Lev Walkinf15320b2004-06-03 03:38:44 +00002268#endif
2269
2270/* No semi-colon after return; correct usage is to write "yyterminate();" -
2271 * we don't want an extra ';' after the "return" because that will cause
2272 * some compilers to complain about unreachable statements.
2273 */
2274#ifndef yyterminate
2275#define yyterminate() return YY_NULL
2276#endif
2277
2278/* Number of entries by which start-condition stack grows. */
2279#ifndef YY_START_STACK_INCR
2280#define YY_START_STACK_INCR 25
2281#endif
2282
2283/* Report a fatal error. */
2284#ifndef YY_FATAL_ERROR
Lev Walkin03892812010-11-03 09:33:03 -07002285/* %if-c-only */
Lev Walkinf15320b2004-06-03 03:38:44 +00002286#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
Lev Walkin03892812010-11-03 09:33:03 -07002287/* %endif */
2288/* %if-c++-only */
2289/* %endif */
Lev Walkinf15320b2004-06-03 03:38:44 +00002290#endif
2291
Lev Walkin03892812010-11-03 09:33:03 -07002292/* %if-tables-serialization structures and prototypes */
2293/* %not-for-header */
2294
2295/* %ok-for-header */
2296
2297/* %not-for-header */
2298
2299/* %tables-yydmap generated elements */
2300/* %endif */
2301/* end tables serialization structures and prototypes */
2302
2303/* %ok-for-header */
2304
Lev Walkinf15320b2004-06-03 03:38:44 +00002305/* Default declaration of generated scanner - a define so the user can
2306 * easily add parameters.
2307 */
2308#ifndef YY_DECL
Lev Walkin03892812010-11-03 09:33:03 -07002309#define YY_DECL_IS_OURS 1
2310/* %if-c-only Standard (non-C++) definition */
Lev Walkinf15320b2004-06-03 03:38:44 +00002311
Lev Walkin03892812010-11-03 09:33:03 -07002312extern int asn1p_lex (void);
2313
2314#define YY_DECL int asn1p_lex (void)
2315/* %endif */
2316/* %if-c++-only C++ definition */
2317/* %endif */
2318#endif /* !YY_DECL */
2319
2320/* Code executed at the beginning of each rule, after asn1p_text and asn1p_leng
Lev Walkinf15320b2004-06-03 03:38:44 +00002321 * have been set up.
2322 */
2323#ifndef YY_USER_ACTION
2324#define YY_USER_ACTION
2325#endif
2326
2327/* Code executed at the end of each rule. */
2328#ifndef YY_BREAK
2329#define YY_BREAK break;
2330#endif
2331
Lev Walkin03892812010-11-03 09:33:03 -07002332/* %% [6.0] YY_RULE_SETUP definition goes here */
Lev Walkinf15320b2004-06-03 03:38:44 +00002333#define YY_RULE_SETUP \
2334 YY_USER_ACTION
2335
Lev Walkin03892812010-11-03 09:33:03 -07002336/* %not-for-header */
2337
2338/** The main scanner function which does all the work.
2339 */
Lev Walkinf15320b2004-06-03 03:38:44 +00002340YY_DECL
Lev Walkin03892812010-11-03 09:33:03 -07002341{
Lev Walkinf15320b2004-06-03 03:38:44 +00002342 register yy_state_type yy_current_state;
2343 register char *yy_cp, *yy_bp;
2344 register int yy_act;
Lev Walkin03892812010-11-03 09:33:03 -07002345
2346/* %% [7.0] user's declarations go here */
Lev Walkinadf863f2006-09-05 16:18:34 +00002347#line 94 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002348
2349
Lev Walkin0e90aa02013-03-19 16:17:13 -07002350#line 2352 "lex.yy.c"
Lev Walkinf15320b2004-06-03 03:38:44 +00002351
Lev Walkin03892812010-11-03 09:33:03 -07002352 if ( !(yy_init) )
Lev Walkinf15320b2004-06-03 03:38:44 +00002353 {
Lev Walkin03892812010-11-03 09:33:03 -07002354 (yy_init) = 1;
Lev Walkinf15320b2004-06-03 03:38:44 +00002355
2356#ifdef YY_USER_INIT
2357 YY_USER_INIT;
2358#endif
2359
Lev Walkin03892812010-11-03 09:33:03 -07002360 /* Create the reject buffer large enough to save one state per allowed character. */
2361 if ( ! (yy_state_buf) )
2362 (yy_state_buf) = (yy_state_type *)asn1p_alloc(YY_STATE_BUF_SIZE );
2363 if ( ! (yy_state_buf) )
2364 YY_FATAL_ERROR( "out of dynamic memory in asn1p_lex()" );
Lev Walkinf15320b2004-06-03 03:38:44 +00002365
Lev Walkin03892812010-11-03 09:33:03 -07002366 if ( ! (yy_start) )
2367 (yy_start) = 1; /* first start state */
Lev Walkinf15320b2004-06-03 03:38:44 +00002368
Lev Walkin03892812010-11-03 09:33:03 -07002369 if ( ! asn1p_in )
2370/* %if-c-only */
2371 asn1p_in = stdin;
2372/* %endif */
2373/* %if-c++-only */
2374/* %endif */
Lev Walkinf15320b2004-06-03 03:38:44 +00002375
Lev Walkin03892812010-11-03 09:33:03 -07002376 if ( ! asn1p_out )
2377/* %if-c-only */
2378 asn1p_out = stdout;
2379/* %endif */
2380/* %if-c++-only */
2381/* %endif */
Lev Walkinf15320b2004-06-03 03:38:44 +00002382
Lev Walkin03892812010-11-03 09:33:03 -07002383 if ( ! YY_CURRENT_BUFFER ) {
2384 asn1p_ensure_buffer_stack ();
2385 YY_CURRENT_BUFFER_LVALUE =
2386 asn1p__create_buffer(asn1p_in,YY_BUF_SIZE );
2387 }
2388
2389 asn1p__load_buffer_state( );
Lev Walkinf15320b2004-06-03 03:38:44 +00002390 }
2391
2392 while ( 1 ) /* loops until end-of-file is reached */
2393 {
Lev Walkin03892812010-11-03 09:33:03 -07002394/* %% [8.0] yymore()-related code goes here */
2395 yy_cp = (yy_c_buf_p);
Lev Walkinf15320b2004-06-03 03:38:44 +00002396
Lev Walkin03892812010-11-03 09:33:03 -07002397 /* Support of asn1p_text. */
2398 *yy_cp = (yy_hold_char);
Lev Walkinf15320b2004-06-03 03:38:44 +00002399
2400 /* yy_bp points to the position in yy_ch_buf of the start of
2401 * the current run.
2402 */
2403 yy_bp = yy_cp;
2404
Lev Walkin03892812010-11-03 09:33:03 -07002405/* %% [9.0] code to set up and find next match goes here */
2406 yy_current_state = (yy_start);
2407
2408 (yy_state_ptr) = (yy_state_buf);
2409 *(yy_state_ptr)++ = yy_current_state;
2410
Lev Walkinf15320b2004-06-03 03:38:44 +00002411yy_match:
2412 do
2413 {
2414 register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
2415 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2416 {
2417 yy_current_state = (int) yy_def[yy_current_state];
Lev Walkin0e90aa02013-03-19 16:17:13 -07002418 if ( yy_current_state >= 746 )
Lev Walkinf15320b2004-06-03 03:38:44 +00002419 yy_c = yy_meta[(unsigned int) yy_c];
2420 }
2421 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
Lev Walkin03892812010-11-03 09:33:03 -07002422 *(yy_state_ptr)++ = yy_current_state;
Lev Walkinf15320b2004-06-03 03:38:44 +00002423 ++yy_cp;
2424 }
Lev Walkin0e90aa02013-03-19 16:17:13 -07002425 while ( yy_current_state != 745 );
Lev Walkinf15320b2004-06-03 03:38:44 +00002426
2427yy_find_action:
Lev Walkin03892812010-11-03 09:33:03 -07002428/* %% [10.0] code to find the action number goes here */
2429 yy_current_state = *--(yy_state_ptr);
2430 (yy_lp) = yy_accept[yy_current_state];
Lev Walkin0e90aa02013-03-19 16:17:13 -07002431goto find_rule; /* Shut up GCC warning -Wall */
Lev Walkinf15320b2004-06-03 03:38:44 +00002432find_rule: /* we branch to this label when backing up */
2433 for ( ; ; ) /* until we find what rule we matched */
2434 {
Lev Walkin03892812010-11-03 09:33:03 -07002435 if ( (yy_lp) && (yy_lp) < yy_accept[yy_current_state + 1] )
Lev Walkinf15320b2004-06-03 03:38:44 +00002436 {
Lev Walkin03892812010-11-03 09:33:03 -07002437 yy_act = yy_acclist[(yy_lp)];
Lev Walkinf15320b2004-06-03 03:38:44 +00002438 {
Lev Walkin03892812010-11-03 09:33:03 -07002439 (yy_full_match) = yy_cp;
Lev Walkinf15320b2004-06-03 03:38:44 +00002440 break;
2441 }
2442 }
2443 --yy_cp;
Lev Walkin03892812010-11-03 09:33:03 -07002444 yy_current_state = *--(yy_state_ptr);
2445 (yy_lp) = yy_accept[yy_current_state];
Lev Walkinf15320b2004-06-03 03:38:44 +00002446 }
2447
2448 YY_DO_BEFORE_ACTION;
2449
Lev Walkin03892812010-11-03 09:33:03 -07002450/* %% [11.0] code for asn1p_lineno update goes here */
2451
2452 if ( yy_act != YY_END_OF_BUFFER && yy_rule_can_match_eol[yy_act] )
Lev Walkinf15320b2004-06-03 03:38:44 +00002453 {
Lev Walkin0e90aa02013-03-19 16:17:13 -07002454 yy_size_t yyl;
Lev Walkin03892812010-11-03 09:33:03 -07002455 for ( yyl = 0; yyl < asn1p_leng; ++yyl )
2456 if ( asn1p_text[yyl] == '\n' )
2457
2458 asn1p_lineno++;
2459;
Lev Walkinf15320b2004-06-03 03:38:44 +00002460 }
2461
2462do_action: /* This label is used only to access EOF actions. */
2463
Lev Walkin03892812010-11-03 09:33:03 -07002464/* %% [12.0] debug code goes here */
2465 if ( asn1p__flex_debug )
Lev Walkinf15320b2004-06-03 03:38:44 +00002466 {
2467 if ( yy_act == 0 )
2468 fprintf( stderr, "--scanner backing up\n" );
Lev Walkin0e90aa02013-03-19 16:17:13 -07002469 else if ( yy_act < 140 )
Lev Walkin03892812010-11-03 09:33:03 -07002470 fprintf( stderr, "--accepting rule at line %ld (\"%s\")\n",
2471 (long)yy_rule_linenum[yy_act], asn1p_text );
Lev Walkin0e90aa02013-03-19 16:17:13 -07002472 else if ( yy_act == 140 )
Lev Walkinf15320b2004-06-03 03:38:44 +00002473 fprintf( stderr, "--accepting default rule (\"%s\")\n",
Lev Walkin03892812010-11-03 09:33:03 -07002474 asn1p_text );
Lev Walkin0e90aa02013-03-19 16:17:13 -07002475 else if ( yy_act == 141 )
Lev Walkinf15320b2004-06-03 03:38:44 +00002476 fprintf( stderr, "--(end of buffer or a NUL)\n" );
2477 else
2478 fprintf( stderr, "--EOF (start condition %d)\n", YY_START );
2479 }
2480
2481 switch ( yy_act )
2482 { /* beginning of action switch */
Lev Walkin03892812010-11-03 09:33:03 -07002483/* %% [13.0] actions go here */
Lev Walkinf15320b2004-06-03 03:38:44 +00002484case 1:
Lev Walkin03892812010-11-03 09:33:03 -07002485/* rule 1 can match eol */
2486*yy_cp = (yy_hold_char); /* undo effects of setting up asn1p_text */
2487(yy_c_buf_p) = yy_cp -= 1;
2488YY_DO_BEFORE_ACTION; /* set up asn1p_text again */
Lev Walkinf15320b2004-06-03 03:38:44 +00002489YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002490#line 96 "asn1p_l.l"
Lev Walkin2535a692005-07-02 21:42:40 +00002491/* Immediately terminated long comment */
2492 YY_BREAK
2493case 2:
Lev Walkin03892812010-11-03 09:33:03 -07002494*yy_cp = (yy_hold_char); /* undo effects of setting up asn1p_text */
2495(yy_c_buf_p) = yy_cp -= 1;
2496YY_DO_BEFORE_ACTION; /* set up asn1p_text again */
Lev Walkin2535a692005-07-02 21:42:40 +00002497YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002498#line 97 "asn1p_l.l"
Lev Walkin2535a692005-07-02 21:42:40 +00002499yy_push_state(idash_comment); /* Incorrect, but acceptable */
2500 YY_BREAK
2501
2502case 3:
2503YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002504#line 99 "asn1p_l.l"
Lev Walkin2535a692005-07-02 21:42:40 +00002505yy_pop_state(); /* Acceptable end of comment */
2506 YY_BREAK
2507
2508case 4:
2509YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002510#line 102 "asn1p_l.l"
Lev Walkinef625402005-09-05 05:17:57 +00002511asn1p_as_pointer = 1;
2512 YY_BREAK
2513case 5:
2514YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002515#line 104 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002516yy_push_state(dash_comment);
2517 YY_BREAK
2518
Lev Walkin2535a692005-07-02 21:42:40 +00002519case 6:
Lev Walkin03892812010-11-03 09:33:03 -07002520/* rule 6 can match eol */
Lev Walkinf15320b2004-06-03 03:38:44 +00002521YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002522#line 107 "asn1p_l.l"
Lev Walkinef625402005-09-05 05:17:57 +00002523yy_pop_state();
Lev Walkinf15320b2004-06-03 03:38:44 +00002524 YY_BREAK
Lev Walkin2535a692005-07-02 21:42:40 +00002525case 7:
Lev Walkinf15320b2004-06-03 03:38:44 +00002526YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002527#line 109 "asn1p_l.l"
Lev Walkinef625402005-09-05 05:17:57 +00002528yy_pop_state(); /* End of comment */
Lev Walkinf15320b2004-06-03 03:38:44 +00002529 YY_BREAK
Lev Walkin2535a692005-07-02 21:42:40 +00002530case 8:
2531YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002532#line 110 "asn1p_l.l"
Lev Walkinef625402005-09-05 05:17:57 +00002533/* Eat single dash */
Lev Walkin4696c742005-08-22 12:23:54 +00002534 YY_BREAK
2535case 9:
2536YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002537#line 111 "asn1p_l.l"
Lev Walkinef625402005-09-05 05:17:57 +00002538/* Eat */
Lev Walkin4696c742005-08-22 12:23:54 +00002539 YY_BREAK
Lev Walkinef625402005-09-05 05:17:57 +00002540
Lev Walkin4696c742005-08-22 12:23:54 +00002541case 10:
2542YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002543#line 114 "asn1p_l.l"
Lev Walkinef625402005-09-05 05:17:57 +00002544yy_push_state(cpp_comment);
Lev Walkin2535a692005-07-02 21:42:40 +00002545 YY_BREAK
2546
Lev Walkin4696c742005-08-22 12:23:54 +00002547case 11:
Lev Walkin03892812010-11-03 09:33:03 -07002548/* rule 11 can match eol */
Lev Walkin2535a692005-07-02 21:42:40 +00002549YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002550#line 116 "asn1p_l.l"
Lev Walkinef625402005-09-05 05:17:57 +00002551/* Eat */
Lev Walkin2535a692005-07-02 21:42:40 +00002552 YY_BREAK
Lev Walkin2535a692005-07-02 21:42:40 +00002553case 12:
Lev Walkinf15320b2004-06-03 03:38:44 +00002554YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002555#line 117 "asn1p_l.l"
Lev Walkinef625402005-09-05 05:17:57 +00002556yy_pop_state();
Lev Walkin4696c742005-08-22 12:23:54 +00002557 YY_BREAK
2558case 13:
2559YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002560#line 118 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002561/* Eat */
2562 YY_BREAK
2563
2564/*
2565 * This is state is being set from corresponding .y module when
2566 * higher-level data is necessary to make proper parsing of the
2567 * underlying data. Thus, we enter the <opaque> state and save
2568 * everything for later processing.
2569 */
2570
Lev Walkinef625402005-09-05 05:17:57 +00002571case 14:
Lev Walkinf15320b2004-06-03 03:38:44 +00002572YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002573#line 130 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002574{
2575 yy_push_state(opaque);
Lev Walkin03892812010-11-03 09:33:03 -07002576 asn1p_lval.tv_opaque.buf = strdup(asn1p_text);
2577 asn1p_lval.tv_opaque.len = asn1p_leng;
Lev Walkinf15320b2004-06-03 03:38:44 +00002578 return TOK_opaque;
2579 }
2580 YY_BREAK
Lev Walkinef625402005-09-05 05:17:57 +00002581case 15:
Lev Walkinf15320b2004-06-03 03:38:44 +00002582YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002583#line 137 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002584{
2585 yy_pop_state();
Lev Walkin03892812010-11-03 09:33:03 -07002586 asn1p_lval.tv_opaque.buf = strdup(asn1p_text);
2587 asn1p_lval.tv_opaque.len = asn1p_leng;
Lev Walkinf15320b2004-06-03 03:38:44 +00002588 return TOK_opaque;
2589 }
2590 YY_BREAK
Lev Walkinef625402005-09-05 05:17:57 +00002591case 16:
Lev Walkin03892812010-11-03 09:33:03 -07002592/* rule 16 can match eol */
Lev Walkinf15320b2004-06-03 03:38:44 +00002593YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002594#line 144 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002595{
Lev Walkin03892812010-11-03 09:33:03 -07002596 asn1p_lval.tv_opaque.buf = strdup(asn1p_text);
2597 asn1p_lval.tv_opaque.len = asn1p_leng;
Lev Walkinf15320b2004-06-03 03:38:44 +00002598 return TOK_opaque;
2599 }
2600 YY_BREAK
Lev Walkinef625402005-09-05 05:17:57 +00002601case 17:
Lev Walkinf15320b2004-06-03 03:38:44 +00002602YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002603#line 150 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002604{
2605 fprintf(stderr,
2606 "ASN.1 Parser syncronization failure: "
2607 "\"%s\" at line %d must not appear "
2608 "inside value definition\n",
Lev Walkin03892812010-11-03 09:33:03 -07002609 asn1p_text, asn1p_lineno);
Lev Walkinf15320b2004-06-03 03:38:44 +00002610 return -1;
2611 }
2612 YY_BREAK
Lev Walkinef625402005-09-05 05:17:57 +00002613case 18:
Lev Walkinf15320b2004-06-03 03:38:44 +00002614YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002615#line 159 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002616{
Lev Walkin03892812010-11-03 09:33:03 -07002617 asn1p_lval.tv_opaque.buf = strdup(asn1p_text);
2618 asn1p_lval.tv_opaque.len = asn1p_leng;
Lev Walkinf15320b2004-06-03 03:38:44 +00002619 return TOK_opaque;
2620 }
2621 YY_BREAK
2622
Lev Walkinef625402005-09-05 05:17:57 +00002623case 19:
Lev Walkin03892812010-11-03 09:33:03 -07002624/* rule 19 can match eol */
Lev Walkinf15320b2004-06-03 03:38:44 +00002625YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002626#line 167 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002627{
2628 asn1p_lval.tv_opaque.buf = 0;
2629 asn1p_lval.tv_opaque.len = 0;
Lev Walkin03892812010-11-03 09:33:03 -07002630 QAPPEND(asn1p_text+1, asn1p_leng-1);
Lev Walkinf15320b2004-06-03 03:38:44 +00002631 yy_push_state(quoted);
2632 }
2633 YY_BREAK
2634
Lev Walkinef625402005-09-05 05:17:57 +00002635case 20:
Lev Walkinf15320b2004-06-03 03:38:44 +00002636YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002637#line 175 "asn1p_l.l"
Lev Walkin03892812010-11-03 09:33:03 -07002638{ QAPPEND(asn1p_text, asn1p_leng-1); } /* Add a single quote */
Lev Walkinf15320b2004-06-03 03:38:44 +00002639 YY_BREAK
Lev Walkinef625402005-09-05 05:17:57 +00002640case 21:
Lev Walkin03892812010-11-03 09:33:03 -07002641/* rule 21 can match eol */
Lev Walkinf15320b2004-06-03 03:38:44 +00002642YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002643#line 176 "asn1p_l.l"
Lev Walkin03892812010-11-03 09:33:03 -07002644{ QAPPEND(asn1p_text, asn1p_leng); }
Lev Walkinf15320b2004-06-03 03:38:44 +00002645 YY_BREAK
Lev Walkinef625402005-09-05 05:17:57 +00002646case 22:
Lev Walkinf15320b2004-06-03 03:38:44 +00002647YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002648#line 178 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002649{
2650 yy_pop_state();
2651 /* Do not append last quote:
Lev Walkin03892812010-11-03 09:33:03 -07002652 // QAPPEND(asn1p_text, asn1p_leng); */
Lev Walkinf15320b2004-06-03 03:38:44 +00002653
2654 if(asn1p_lexer_pedantic_1990
Lev Walkin03892812010-11-03 09:33:03 -07002655 && strchr(asn1p_text, '\n')) {
Lev Walkinf15320b2004-06-03 03:38:44 +00002656 fprintf(stderr, "%s: "
2657 "Newlines are prohibited by ASN.1:1990\n",
2658 asn1p_lval.tv_opaque.buf);
2659 return -1;
2660 }
2661
2662 return TOK_cstring;
2663 }
2664 YY_BREAK
2665
Lev Walkinf59d0752004-08-18 04:59:12 +00002666
Lev Walkinef625402005-09-05 05:17:57 +00002667case 23:
Lev Walkinf15320b2004-06-03 03:38:44 +00002668YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002669#line 197 "asn1p_l.l"
Lev Walkinf59d0752004-08-18 04:59:12 +00002670{
2671 const char *s = "ENCODING-CONTROL";
2672 const char *p = s + sizeof("ENCODING-CONTROL") - 2;
2673 for(; p >= s; p--) unput(*p);
2674 yy_pop_state();
2675 }
2676 YY_BREAK
Lev Walkinef625402005-09-05 05:17:57 +00002677case 24:
2678YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002679#line 203 "asn1p_l.l"
Lev Walkinef625402005-09-05 05:17:57 +00002680unput('D'); unput('N'); unput('E'); yy_pop_state();
2681 YY_BREAK
2682case 25:
2683YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002684#line 204 "asn1p_l.l"
Lev Walkinef625402005-09-05 05:17:57 +00002685
2686 YY_BREAK
Lev Walkin2535a692005-07-02 21:42:40 +00002687case 26:
2688YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002689#line 205 "asn1p_l.l"
Lev Walkinef625402005-09-05 05:17:57 +00002690
Lev Walkin2535a692005-07-02 21:42:40 +00002691 YY_BREAK
2692case 27:
2693YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002694#line 206 "asn1p_l.l"
Lev Walkinef625402005-09-05 05:17:57 +00002695/* Eat everything else */
Lev Walkin4696c742005-08-22 12:23:54 +00002696 YY_BREAK
2697case 28:
Lev Walkin03892812010-11-03 09:33:03 -07002698/* rule 28 can match eol */
Lev Walkin4696c742005-08-22 12:23:54 +00002699YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002700#line 207 "asn1p_l.l"
Lev Walkin4696c742005-08-22 12:23:54 +00002701
2702 YY_BREAK
Lev Walkinef625402005-09-05 05:17:57 +00002703
Lev Walkin4696c742005-08-22 12:23:54 +00002704case 29:
Lev Walkin03892812010-11-03 09:33:03 -07002705/* rule 29 can match eol */
Lev Walkin4696c742005-08-22 12:23:54 +00002706YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002707#line 210 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002708{
2709 /* " \t\r\n" weren't allowed in ASN.1:1990. */
Lev Walkin03892812010-11-03 09:33:03 -07002710 asn1p_lval.tv_str = asn1p_text;
Lev Walkinf15320b2004-06-03 03:38:44 +00002711 return TOK_hstring;
2712 }
2713 YY_BREAK
Lev Walkinef625402005-09-05 05:17:57 +00002714case 30:
Lev Walkin03892812010-11-03 09:33:03 -07002715/* rule 30 can match eol */
Lev Walkinf15320b2004-06-03 03:38:44 +00002716YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002717#line 216 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002718{
2719 /* " \t\r\n" weren't allowed in ASN.1:1990. */
Lev Walkin03892812010-11-03 09:33:03 -07002720 asn1p_lval.tv_str = strdup(asn1p_text);
Lev Walkinf15320b2004-06-03 03:38:44 +00002721 return TOK_bstring;
2722 }
2723 YY_BREAK
Lev Walkinef625402005-09-05 05:17:57 +00002724case 31:
Lev Walkinf15320b2004-06-03 03:38:44 +00002725YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002726#line 223 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002727{
Lev Walkin03892812010-11-03 09:33:03 -07002728 asn1p_lval.a_int = _lex_atoi(asn1p_text);
Lev Walkinf15320b2004-06-03 03:38:44 +00002729 if(errno == ERANGE)
2730 return -1;
2731 return TOK_number_negative;
2732 }
2733 YY_BREAK
Lev Walkinef625402005-09-05 05:17:57 +00002734case 32:
2735YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002736#line 230 "asn1p_l.l"
Lev Walkinef625402005-09-05 05:17:57 +00002737{
Lev Walkin03892812010-11-03 09:33:03 -07002738 asn1p_lval.a_int = _lex_atoi(asn1p_text);
Lev Walkinef625402005-09-05 05:17:57 +00002739 if(errno == ERANGE)
2740 return -1;
2741 return TOK_number;
2742 }
2743 YY_BREAK
2744case 33:
2745YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002746#line 237 "asn1p_l.l"
Lev Walkinef625402005-09-05 05:17:57 +00002747{
Lev Walkin03892812010-11-03 09:33:03 -07002748 asn1p_lval.a_int = _lex_atoi(asn1p_text);
Lev Walkinef625402005-09-05 05:17:57 +00002749 if(errno == ERANGE)
2750 return -1;
2751 return TOK_number;
2752 }
2753 YY_BREAK
Lev Walkin4696c742005-08-22 12:23:54 +00002754case 34:
Lev Walkinf15320b2004-06-03 03:38:44 +00002755YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002756#line 244 "asn1p_l.l"
2757{
Lev Walkin03892812010-11-03 09:33:03 -07002758 asn1p_lval.a_dbl = _lex_atod(asn1p_text);
Lev Walkinadf863f2006-09-05 16:18:34 +00002759 if(errno == ERANGE)
2760 return -1;
2761 return TOK_realnumber;
2762 }
Lev Walkinf15320b2004-06-03 03:38:44 +00002763 YY_BREAK
Lev Walkinef625402005-09-05 05:17:57 +00002764case 35:
Lev Walkinf15320b2004-06-03 03:38:44 +00002765YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002766#line 251 "asn1p_l.l"
2767return TOK_ABSENT;
Lev Walkinf15320b2004-06-03 03:38:44 +00002768 YY_BREAK
Lev Walkinef625402005-09-05 05:17:57 +00002769case 36:
Lev Walkinf15320b2004-06-03 03:38:44 +00002770YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002771#line 252 "asn1p_l.l"
2772return TOK_ALL;
2773 YY_BREAK
2774case 37:
2775YY_RULE_SETUP
2776#line 253 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002777{
2778 /* Appeared in 1990, removed in 1997 */
2779 if(TYPE_LIFETIME(1990, 1997))
2780 return TOK_ANY;
2781 fprintf(stderr, "Keyword \"%s\" at line %d "
Lev Walkin03892812010-11-03 09:33:03 -07002782 "is obsolete\n", asn1p_text, asn1p_lineno);
Lev Walkinf15320b2004-06-03 03:38:44 +00002783 REJECT;
2784 }
2785 YY_BREAK
Lev Walkinef625402005-09-05 05:17:57 +00002786case 38:
2787YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002788#line 261 "asn1p_l.l"
2789return TOK_APPLICATION;
Lev Walkinef625402005-09-05 05:17:57 +00002790 YY_BREAK
Lev Walkin2535a692005-07-02 21:42:40 +00002791case 39:
2792YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002793#line 262 "asn1p_l.l"
2794return TOK_AUTOMATIC;
Lev Walkin2535a692005-07-02 21:42:40 +00002795 YY_BREAK
2796case 40:
2797YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002798#line 263 "asn1p_l.l"
2799return TOK_BEGIN;
Lev Walkin4696c742005-08-22 12:23:54 +00002800 YY_BREAK
2801case 41:
2802YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002803#line 264 "asn1p_l.l"
2804return TOK_BIT;
2805 YY_BREAK
2806case 42:
2807YY_RULE_SETUP
2808#line 265 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002809{
2810 if(TYPE_LIFETIME(1994, 0))
2811 return TOK_BMPString;
2812 REJECT;
2813 }
2814 YY_BREAK
Lev Walkinef625402005-09-05 05:17:57 +00002815case 43:
2816YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002817#line 270 "asn1p_l.l"
2818return TOK_BOOLEAN;
Lev Walkinef625402005-09-05 05:17:57 +00002819 YY_BREAK
Lev Walkinf15320b2004-06-03 03:38:44 +00002820case 44:
2821YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002822#line 271 "asn1p_l.l"
2823return TOK_BY;
Lev Walkinf15320b2004-06-03 03:38:44 +00002824 YY_BREAK
2825case 45:
2826YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002827#line 272 "asn1p_l.l"
2828return TOK_CHARACTER;
Lev Walkinf59d0752004-08-18 04:59:12 +00002829 YY_BREAK
2830case 46:
2831YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002832#line 273 "asn1p_l.l"
2833return TOK_CHOICE;
Lev Walkinf59d0752004-08-18 04:59:12 +00002834 YY_BREAK
2835case 47:
2836YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002837#line 274 "asn1p_l.l"
2838return TOK_CLASS;
Lev Walkinf59d0752004-08-18 04:59:12 +00002839 YY_BREAK
2840case 48:
2841YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002842#line 275 "asn1p_l.l"
2843return TOK_COMPONENT;
Lev Walkin2535a692005-07-02 21:42:40 +00002844 YY_BREAK
2845case 49:
2846YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002847#line 276 "asn1p_l.l"
2848return TOK_COMPONENTS;
Lev Walkin2535a692005-07-02 21:42:40 +00002849 YY_BREAK
2850case 50:
2851YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002852#line 277 "asn1p_l.l"
2853return TOK_CONSTRAINED;
Lev Walkin2535a692005-07-02 21:42:40 +00002854 YY_BREAK
2855case 51:
2856YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002857#line 278 "asn1p_l.l"
2858return TOK_CONTAINING;
Lev Walkin4696c742005-08-22 12:23:54 +00002859 YY_BREAK
2860case 52:
2861YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002862#line 279 "asn1p_l.l"
2863return TOK_DEFAULT;
2864 YY_BREAK
2865case 53:
2866YY_RULE_SETUP
2867#line 280 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002868{
2869 /* Appeared in 1990, removed in 1997 */
2870 if(TYPE_LIFETIME(1990, 1997))
2871 return TOK_DEFINED;
2872 fprintf(stderr, "Keyword \"%s\" at line %d "
Lev Walkin03892812010-11-03 09:33:03 -07002873 "is obsolete\n", asn1p_text, asn1p_lineno);
Lev Walkinf15320b2004-06-03 03:38:44 +00002874 /* Deprecated since */
2875 REJECT;
2876 }
2877 YY_BREAK
Lev Walkinef625402005-09-05 05:17:57 +00002878case 54:
2879YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002880#line 289 "asn1p_l.l"
2881return TOK_DEFINITIONS;
Lev Walkinef625402005-09-05 05:17:57 +00002882 YY_BREAK
Lev Walkinf15320b2004-06-03 03:38:44 +00002883case 55:
2884YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002885#line 290 "asn1p_l.l"
2886return TOK_EMBEDDED;
Lev Walkinf15320b2004-06-03 03:38:44 +00002887 YY_BREAK
2888case 56:
2889YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002890#line 291 "asn1p_l.l"
2891return TOK_ENCODED;
Lev Walkinf15320b2004-06-03 03:38:44 +00002892 YY_BREAK
2893case 57:
2894YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002895#line 292 "asn1p_l.l"
2896return TOK_ENCODING_CONTROL;
Lev Walkinf15320b2004-06-03 03:38:44 +00002897 YY_BREAK
2898case 58:
2899YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002900#line 293 "asn1p_l.l"
2901return TOK_END;
Lev Walkinf15320b2004-06-03 03:38:44 +00002902 YY_BREAK
2903case 59:
2904YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002905#line 294 "asn1p_l.l"
2906return TOK_ENUMERATED;
Lev Walkinf15320b2004-06-03 03:38:44 +00002907 YY_BREAK
2908case 60:
2909YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002910#line 295 "asn1p_l.l"
2911return TOK_EXCEPT;
Lev Walkinf15320b2004-06-03 03:38:44 +00002912 YY_BREAK
2913case 61:
2914YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002915#line 296 "asn1p_l.l"
2916return TOK_EXPLICIT;
Lev Walkinf15320b2004-06-03 03:38:44 +00002917 YY_BREAK
2918case 62:
2919YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002920#line 297 "asn1p_l.l"
2921return TOK_EXPORTS;
Lev Walkinf15320b2004-06-03 03:38:44 +00002922 YY_BREAK
2923case 63:
2924YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002925#line 298 "asn1p_l.l"
2926return TOK_EXTENSIBILITY;
Lev Walkinf15320b2004-06-03 03:38:44 +00002927 YY_BREAK
2928case 64:
2929YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002930#line 299 "asn1p_l.l"
2931return TOK_EXTERNAL;
Lev Walkinf15320b2004-06-03 03:38:44 +00002932 YY_BREAK
2933case 65:
2934YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002935#line 300 "asn1p_l.l"
2936return TOK_FALSE;
Lev Walkinf15320b2004-06-03 03:38:44 +00002937 YY_BREAK
2938case 66:
2939YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002940#line 301 "asn1p_l.l"
2941return TOK_FROM;
Lev Walkinf15320b2004-06-03 03:38:44 +00002942 YY_BREAK
2943case 67:
2944YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002945#line 302 "asn1p_l.l"
2946return TOK_GeneralizedTime;
Lev Walkinf15320b2004-06-03 03:38:44 +00002947 YY_BREAK
2948case 68:
2949YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002950#line 303 "asn1p_l.l"
2951return TOK_GeneralString;
Lev Walkinf15320b2004-06-03 03:38:44 +00002952 YY_BREAK
2953case 69:
2954YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002955#line 304 "asn1p_l.l"
2956return TOK_GraphicString;
Lev Walkinf15320b2004-06-03 03:38:44 +00002957 YY_BREAK
2958case 70:
2959YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002960#line 305 "asn1p_l.l"
2961return TOK_IA5String;
Lev Walkinf15320b2004-06-03 03:38:44 +00002962 YY_BREAK
2963case 71:
2964YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002965#line 306 "asn1p_l.l"
2966return TOK_IDENTIFIER;
Lev Walkinf15320b2004-06-03 03:38:44 +00002967 YY_BREAK
2968case 72:
2969YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002970#line 307 "asn1p_l.l"
2971return TOK_IMPLICIT;
Lev Walkinf15320b2004-06-03 03:38:44 +00002972 YY_BREAK
2973case 73:
2974YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002975#line 308 "asn1p_l.l"
2976return TOK_IMPLIED;
Lev Walkinf15320b2004-06-03 03:38:44 +00002977 YY_BREAK
2978case 74:
2979YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002980#line 309 "asn1p_l.l"
2981return TOK_IMPORTS;
Lev Walkinf15320b2004-06-03 03:38:44 +00002982 YY_BREAK
2983case 75:
2984YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002985#line 310 "asn1p_l.l"
2986return TOK_INCLUDES;
Lev Walkinf15320b2004-06-03 03:38:44 +00002987 YY_BREAK
2988case 76:
2989YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002990#line 311 "asn1p_l.l"
2991return TOK_INSTANCE;
Lev Walkinf15320b2004-06-03 03:38:44 +00002992 YY_BREAK
2993case 77:
2994YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002995#line 312 "asn1p_l.l"
2996return TOK_INSTRUCTIONS;
Lev Walkinf15320b2004-06-03 03:38:44 +00002997 YY_BREAK
2998case 78:
2999YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00003000#line 313 "asn1p_l.l"
3001return TOK_INTEGER;
Lev Walkinf15320b2004-06-03 03:38:44 +00003002 YY_BREAK
3003case 79:
3004YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00003005#line 314 "asn1p_l.l"
3006return TOK_INTERSECTION;
Lev Walkinf15320b2004-06-03 03:38:44 +00003007 YY_BREAK
3008case 80:
3009YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00003010#line 315 "asn1p_l.l"
3011return TOK_ISO646String;
Lev Walkinf15320b2004-06-03 03:38:44 +00003012 YY_BREAK
3013case 81:
3014YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00003015#line 316 "asn1p_l.l"
3016return TOK_MAX;
Lev Walkinf15320b2004-06-03 03:38:44 +00003017 YY_BREAK
3018case 82:
3019YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00003020#line 317 "asn1p_l.l"
3021return TOK_MIN;
Lev Walkinf15320b2004-06-03 03:38:44 +00003022 YY_BREAK
3023case 83:
3024YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00003025#line 318 "asn1p_l.l"
3026return TOK_MINUS_INFINITY;
Lev Walkinf15320b2004-06-03 03:38:44 +00003027 YY_BREAK
3028case 84:
3029YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00003030#line 319 "asn1p_l.l"
3031return TOK_NULL;
Lev Walkinf15320b2004-06-03 03:38:44 +00003032 YY_BREAK
3033case 85:
3034YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00003035#line 320 "asn1p_l.l"
3036return TOK_NumericString;
Lev Walkinf15320b2004-06-03 03:38:44 +00003037 YY_BREAK
3038case 86:
3039YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00003040#line 321 "asn1p_l.l"
3041return TOK_OBJECT;
Lev Walkinf15320b2004-06-03 03:38:44 +00003042 YY_BREAK
3043case 87:
3044YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00003045#line 322 "asn1p_l.l"
3046return TOK_ObjectDescriptor;
Lev Walkinf15320b2004-06-03 03:38:44 +00003047 YY_BREAK
3048case 88:
3049YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00003050#line 323 "asn1p_l.l"
3051return TOK_OCTET;
Lev Walkinf15320b2004-06-03 03:38:44 +00003052 YY_BREAK
3053case 89:
3054YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00003055#line 324 "asn1p_l.l"
3056return TOK_OF;
Lev Walkinf15320b2004-06-03 03:38:44 +00003057 YY_BREAK
3058case 90:
3059YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00003060#line 325 "asn1p_l.l"
3061return TOK_OPTIONAL;
Lev Walkinf15320b2004-06-03 03:38:44 +00003062 YY_BREAK
3063case 91:
3064YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00003065#line 326 "asn1p_l.l"
3066return TOK_PATTERN;
Lev Walkinf15320b2004-06-03 03:38:44 +00003067 YY_BREAK
3068case 92:
3069YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00003070#line 327 "asn1p_l.l"
3071return TOK_PDV;
Lev Walkinf15320b2004-06-03 03:38:44 +00003072 YY_BREAK
3073case 93:
3074YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00003075#line 328 "asn1p_l.l"
3076return TOK_PLUS_INFINITY;
Lev Walkinf15320b2004-06-03 03:38:44 +00003077 YY_BREAK
3078case 94:
3079YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00003080#line 329 "asn1p_l.l"
3081return TOK_PRESENT;
Lev Walkinf15320b2004-06-03 03:38:44 +00003082 YY_BREAK
3083case 95:
3084YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00003085#line 330 "asn1p_l.l"
3086return TOK_PrintableString;
Lev Walkinf15320b2004-06-03 03:38:44 +00003087 YY_BREAK
3088case 96:
3089YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00003090#line 331 "asn1p_l.l"
3091return TOK_PRIVATE;
Lev Walkinf15320b2004-06-03 03:38:44 +00003092 YY_BREAK
3093case 97:
3094YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00003095#line 332 "asn1p_l.l"
3096return TOK_REAL;
Lev Walkinf15320b2004-06-03 03:38:44 +00003097 YY_BREAK
3098case 98:
3099YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00003100#line 333 "asn1p_l.l"
3101return TOK_RELATIVE_OID;
Lev Walkinf15320b2004-06-03 03:38:44 +00003102 YY_BREAK
3103case 99:
3104YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00003105#line 334 "asn1p_l.l"
3106return TOK_SEQUENCE;
Lev Walkinf15320b2004-06-03 03:38:44 +00003107 YY_BREAK
3108case 100:
3109YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00003110#line 335 "asn1p_l.l"
3111return TOK_SET;
Lev Walkinf15320b2004-06-03 03:38:44 +00003112 YY_BREAK
3113case 101:
3114YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00003115#line 336 "asn1p_l.l"
3116return TOK_SIZE;
Lev Walkinf15320b2004-06-03 03:38:44 +00003117 YY_BREAK
3118case 102:
3119YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00003120#line 337 "asn1p_l.l"
3121return TOK_STRING;
Lev Walkinf59d0752004-08-18 04:59:12 +00003122 YY_BREAK
3123case 103:
3124YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00003125#line 338 "asn1p_l.l"
3126return TOK_SYNTAX;
Lev Walkinf59d0752004-08-18 04:59:12 +00003127 YY_BREAK
3128case 104:
3129YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00003130#line 339 "asn1p_l.l"
3131return TOK_T61String;
Lev Walkinf59d0752004-08-18 04:59:12 +00003132 YY_BREAK
3133case 105:
3134YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00003135#line 340 "asn1p_l.l"
3136return TOK_TAGS;
Lev Walkinf59d0752004-08-18 04:59:12 +00003137 YY_BREAK
3138case 106:
3139YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00003140#line 341 "asn1p_l.l"
3141return TOK_TeletexString;
Lev Walkinf59d0752004-08-18 04:59:12 +00003142 YY_BREAK
3143case 107:
3144YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00003145#line 342 "asn1p_l.l"
3146return TOK_TRUE;
Lev Walkin2535a692005-07-02 21:42:40 +00003147 YY_BREAK
3148case 108:
3149YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00003150#line 343 "asn1p_l.l"
3151return TOK_UNION;
Lev Walkin2535a692005-07-02 21:42:40 +00003152 YY_BREAK
3153case 109:
3154YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00003155#line 344 "asn1p_l.l"
3156return TOK_UNIQUE;
Lev Walkin2535a692005-07-02 21:42:40 +00003157 YY_BREAK
3158case 110:
3159YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00003160#line 345 "asn1p_l.l"
3161return TOK_UNIVERSAL;
3162 YY_BREAK
3163case 111:
3164YY_RULE_SETUP
3165#line 346 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00003166{
3167 if(TYPE_LIFETIME(1994, 0))
3168 return TOK_UniversalString;
3169 REJECT;
3170 }
3171 YY_BREAK
Lev Walkina2fcce42006-03-06 11:28:17 +00003172case 112:
Lev Walkinf15320b2004-06-03 03:38:44 +00003173YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00003174#line 351 "asn1p_l.l"
3175return TOK_UTCTime;
3176 YY_BREAK
3177case 113:
3178YY_RULE_SETUP
3179#line 352 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00003180{
3181 if(TYPE_LIFETIME(1994, 0))
3182 return TOK_UTF8String;
3183 REJECT;
3184 }
3185 YY_BREAK
Lev Walkinef625402005-09-05 05:17:57 +00003186case 114:
3187YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00003188#line 357 "asn1p_l.l"
3189return TOK_VideotexString;
Lev Walkinef625402005-09-05 05:17:57 +00003190 YY_BREAK
3191case 115:
3192YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00003193#line 358 "asn1p_l.l"
3194return TOK_VisibleString;
Lev Walkinef625402005-09-05 05:17:57 +00003195 YY_BREAK
Lev Walkin2535a692005-07-02 21:42:40 +00003196case 116:
3197YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00003198#line 359 "asn1p_l.l"
3199return TOK_WITH;
3200 YY_BREAK
3201case 117:
3202YY_RULE_SETUP
3203#line 362 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00003204{
Lev Walkin03892812010-11-03 09:33:03 -07003205 asn1p_lval.tv_str = strdup(asn1p_text);
Lev Walkinf15320b2004-06-03 03:38:44 +00003206 return TOK_typefieldreference;
3207 }
3208 YY_BREAK
Lev Walkinadf863f2006-09-05 16:18:34 +00003209case 118:
Lev Walkinf15320b2004-06-03 03:38:44 +00003210YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00003211#line 367 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00003212{
Lev Walkin03892812010-11-03 09:33:03 -07003213 asn1p_lval.tv_str = strdup(asn1p_text);
Lev Walkinf15320b2004-06-03 03:38:44 +00003214 return TOK_valuefieldreference;
3215 }
3216 YY_BREAK
Lev Walkinadf863f2006-09-05 16:18:34 +00003217case 119:
Lev Walkinf15320b2004-06-03 03:38:44 +00003218YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00003219#line 373 "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_identifier;
3223 }
3224 YY_BREAK
3225/*
3226 * objectclassreference
3227 */
Lev Walkinadf863f2006-09-05 16:18:34 +00003228case 120:
Lev Walkinf15320b2004-06-03 03:38:44 +00003229YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00003230#line 381 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00003231{
Lev Walkin03892812010-11-03 09:33:03 -07003232 asn1p_lval.tv_str = strdup(asn1p_text);
Lev Walkinf59d0752004-08-18 04:59:12 +00003233 return TOK_capitalreference;
Lev Walkinf15320b2004-06-03 03:38:44 +00003234 }
3235 YY_BREAK
3236/*
3237 * typereference, modulereference
3238 * NOTE: TOK_objectclassreference must be combined
3239 * with this token to produce true typereference.
3240 */
Lev Walkinadf863f2006-09-05 16:18:34 +00003241case 121:
Lev Walkinf15320b2004-06-03 03:38:44 +00003242YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00003243#line 391 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00003244{
Lev Walkin03892812010-11-03 09:33:03 -07003245 asn1p_lval.tv_str = strdup(asn1p_text);
Lev Walkinf15320b2004-06-03 03:38:44 +00003246 return TOK_typereference;
3247 }
3248 YY_BREAK
Lev Walkinef625402005-09-05 05:17:57 +00003249case 122:
Lev Walkin2535a692005-07-02 21:42:40 +00003250YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00003251#line 396 "asn1p_l.l"
3252return TOK_PPEQ;
Lev Walkinf15320b2004-06-03 03:38:44 +00003253 YY_BREAK
Lev Walkinef625402005-09-05 05:17:57 +00003254case 123:
3255YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00003256#line 398 "asn1p_l.l"
3257return TOK_ThreeDots;
3258 YY_BREAK
3259case 124:
3260YY_RULE_SETUP
3261#line 399 "asn1p_l.l"
Lev Walkinef625402005-09-05 05:17:57 +00003262return TOK_TwoDots;
3263 YY_BREAK
3264
Lev Walkin2535a692005-07-02 21:42:40 +00003265case 125:
Lev Walkinf15320b2004-06-03 03:38:44 +00003266YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00003267#line 403 "asn1p_l.l"
Lev Walkin9d542d22006-03-14 16:31:37 +00003268{
Lev Walkin03892812010-11-03 09:33:03 -07003269 asn1p_lval.tv_str = strdup(asn1p_text);
Lev Walkin9d542d22006-03-14 16:31:37 +00003270 return TOK_Literal;
3271 }
3272 YY_BREAK
3273case 126:
3274YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00003275#line 408 "asn1p_l.l"
Lev Walkin9d542d22006-03-14 16:31:37 +00003276{
Lev Walkin03892812010-11-03 09:33:03 -07003277 asn1p_lval.tv_str = strdup(asn1p_text);
Lev Walkin9d542d22006-03-14 16:31:37 +00003278 return TOK_Literal;
3279 }
3280 YY_BREAK
3281case 127:
3282YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00003283#line 413 "asn1p_l.l"
3284{
3285 yy_push_state(with_syntax);
Lev Walkin03892812010-11-03 09:33:03 -07003286 asn1p_lval.tv_str = strdup(asn1p_text);
Lev Walkinadf863f2006-09-05 16:18:34 +00003287 return TOK_Literal;
3288 }
Lev Walkin9d542d22006-03-14 16:31:37 +00003289 YY_BREAK
3290case 128:
3291YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00003292#line 419 "asn1p_l.l"
3293return '[';
Lev Walkin9d542d22006-03-14 16:31:37 +00003294 YY_BREAK
3295case 129:
3296YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00003297#line 420 "asn1p_l.l"
3298return ']';
3299 YY_BREAK
3300case 130:
Lev Walkin03892812010-11-03 09:33:03 -07003301/* rule 130 can match eol */
Lev Walkinadf863f2006-09-05 16:18:34 +00003302YY_RULE_SETUP
3303#line 422 "asn1p_l.l"
Lev Walkinef625402005-09-05 05:17:57 +00003304{
Lev Walkin03892812010-11-03 09:33:03 -07003305 asn1p_lval.tv_opaque.buf = strdup(asn1p_text);
3306 asn1p_lval.tv_opaque.len = asn1p_leng;
Lev Walkin57074f12006-03-16 05:11:14 +00003307 return TOK_whitespace;
Lev Walkinef625402005-09-05 05:17:57 +00003308 }
Lev Walkin4696c742005-08-22 12:23:54 +00003309 YY_BREAK
Lev Walkinadf863f2006-09-05 16:18:34 +00003310case 131:
Lev Walkin4696c742005-08-22 12:23:54 +00003311YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00003312#line 428 "asn1p_l.l"
Lev Walkind9574ae2005-03-24 16:22:35 +00003313{
3314 yy_pop_state();
Lev Walkin9d542d22006-03-14 16:31:37 +00003315 if(YYSTATE == with_syntax) {
Lev Walkin03892812010-11-03 09:33:03 -07003316 asn1p_lval.tv_str = strdup(asn1p_text);
Lev Walkin9d542d22006-03-14 16:31:37 +00003317 return TOK_Literal;
3318 } else {
3319 return '}';
3320 }
Lev Walkind9574ae2005-03-24 16:22:35 +00003321 }
3322 YY_BREAK
3323
Lev Walkin9d542d22006-03-14 16:31:37 +00003324case 132:
Lev Walkin03892812010-11-03 09:33:03 -07003325/* rule 132 can match eol */
Lev Walkind9574ae2005-03-24 16:22:35 +00003326YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00003327#line 441 "asn1p_l.l"
3328/* Ignore whitespace */
3329 YY_BREAK
3330case 133:
Lev Walkin03892812010-11-03 09:33:03 -07003331/* rule 133 can match eol */
Lev Walkinadf863f2006-09-05 16:18:34 +00003332YY_RULE_SETUP
3333#line 444 "asn1p_l.l"
Lev Walkind9574ae2005-03-24 16:22:35 +00003334{
3335 asn1c_integer_t v1 = -1, v2 = -1;
3336 char *p;
Lev Walkin03892812010-11-03 09:33:03 -07003337 for(p = asn1p_text; *p; p++)
Lev Walkind9574ae2005-03-24 16:22:35 +00003338 if(*p >= '0' && *p <= '9')
Lev Walkind370e9f2006-03-16 10:03:35 +00003339 { v1 = _lex_atoi(p); break; }
Lev Walkind9574ae2005-03-24 16:22:35 +00003340 while(*p >= '0' && *p <= '9') p++; /* Skip digits */
3341 for(; *p; p++) if(*p >= '0' && *p <= '9')
Lev Walkind370e9f2006-03-16 10:03:35 +00003342 { v2 = _lex_atoi(p); break; }
Lev Walkind9574ae2005-03-24 16:22:35 +00003343 if(v1 < 0 || v1 > 7) {
3344 fprintf(stderr, "%s at line %d: X.680:2003, #37.14 "
3345 "mandates 0..7 range for Tuple's TableColumn\n",
Lev Walkin03892812010-11-03 09:33:03 -07003346 asn1p_text, asn1p_lineno);
Lev Walkind9574ae2005-03-24 16:22:35 +00003347 return -1;
3348 }
3349 if(v2 < 0 || v2 > 15) {
3350 fprintf(stderr, "%s at line %d: X.680:2003, #37.14 "
3351 "mandates 0..15 range for Tuple's TableRow\n",
Lev Walkin03892812010-11-03 09:33:03 -07003352 asn1p_text, asn1p_lineno);
Lev Walkind9574ae2005-03-24 16:22:35 +00003353 return -1;
3354 }
3355 asn1p_lval.a_int = (v1 << 4) + v2;
3356 return TOK_tuple;
3357 }
3358 YY_BREAK
Lev Walkinadf863f2006-09-05 16:18:34 +00003359case 134:
Lev Walkin03892812010-11-03 09:33:03 -07003360/* rule 134 can match eol */
Lev Walkind9574ae2005-03-24 16:22:35 +00003361YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00003362#line 469 "asn1p_l.l"
Lev Walkind9574ae2005-03-24 16:22:35 +00003363{
3364 asn1c_integer_t v1 = -1, v2 = -1, v3 = -1, v4 = -1;
3365 char *p;
Lev Walkin03892812010-11-03 09:33:03 -07003366 for(p = asn1p_text; *p; p++)
Lev Walkind9574ae2005-03-24 16:22:35 +00003367 if(*p >= '0' && *p <= '9')
Lev Walkind370e9f2006-03-16 10:03:35 +00003368 { v1 = _lex_atoi(p); break; }
Lev Walkind9574ae2005-03-24 16:22:35 +00003369 while(*p >= '0' && *p <= '9') p++; /* Skip digits */
3370 for(; *p; p++) if(*p >= '0' && *p <= '9')
Lev Walkind370e9f2006-03-16 10:03:35 +00003371 { v2 = _lex_atoi(p); break; }
Lev Walkind9574ae2005-03-24 16:22:35 +00003372 while(*p >= '0' && *p <= '9') p++;
3373 for(; *p; p++) if(*p >= '0' && *p <= '9')
Lev Walkind370e9f2006-03-16 10:03:35 +00003374 { v3 = _lex_atoi(p); break; }
Lev Walkind9574ae2005-03-24 16:22:35 +00003375 while(*p >= '0' && *p <= '9') p++;
3376 for(; *p; p++) if(*p >= '0' && *p <= '9')
Lev Walkind370e9f2006-03-16 10:03:35 +00003377 { v4 = _lex_atoi(p); break; }
Lev Walkind9574ae2005-03-24 16:22:35 +00003378 if(v1 < 0 || v1 > 127) {
3379 fprintf(stderr, "%s at line %d: X.680:2003, #37.12 "
3380 "mandates 0..127 range for Quadruple's Group\n",
Lev Walkin03892812010-11-03 09:33:03 -07003381 asn1p_text, asn1p_lineno);
Lev Walkind9574ae2005-03-24 16:22:35 +00003382 return -1;
3383 }
3384 if(v2 < 0 || v2 > 255) {
3385 fprintf(stderr, "%s at line %d: X.680:2003, #37.12 "
3386 "mandates 0..255 range for Quadruple's Plane\n",
Lev Walkin03892812010-11-03 09:33:03 -07003387 asn1p_text, asn1p_lineno);
Lev Walkind9574ae2005-03-24 16:22:35 +00003388 return -1;
3389 }
3390 if(v3 < 0 || v3 > 255) {
3391 fprintf(stderr, "%s at line %d: X.680:2003, #37.12 "
3392 "mandates 0..255 range for Quadruple's Row\n",
Lev Walkin03892812010-11-03 09:33:03 -07003393 asn1p_text, asn1p_lineno);
Lev Walkind9574ae2005-03-24 16:22:35 +00003394 return -1;
3395 }
3396 if(v4 < 0 || v4 > 255) {
3397 fprintf(stderr, "%s at line %d: X.680:2003, #37.12 "
3398 "mandates 0..255 range for Quadruple's Cell\n",
Lev Walkin03892812010-11-03 09:33:03 -07003399 asn1p_text, asn1p_lineno);
Lev Walkind9574ae2005-03-24 16:22:35 +00003400 return -1;
3401 }
3402 asn1p_lval.a_int = (v1 << 24) | (v2 << 16) | (v3 << 8) | v4;
3403 return TOK_quadruple;
3404 }
3405 YY_BREAK
Lev Walkin9d542d22006-03-14 16:31:37 +00003406case 135:
Lev Walkind9574ae2005-03-24 16:22:35 +00003407YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00003408#line 513 "asn1p_l.l"
Lev Walkin0e90aa02013-03-19 16:17:13 -07003409return TOK_VBracketLeft;
Lev Walkinadf863f2006-09-05 16:18:34 +00003410 YY_BREAK
3411case 136:
3412YY_RULE_SETUP
Lev Walkin0e90aa02013-03-19 16:17:13 -07003413#line 514 "asn1p_l.l"
3414return TOK_VBracketRight;
3415 YY_BREAK
3416case 137:
3417YY_RULE_SETUP
3418#line 516 "asn1p_l.l"
3419return asn1p_text[0];
3420 YY_BREAK
3421case 138:
3422/* rule 138 can match eol */
3423YY_RULE_SETUP
3424#line 518 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00003425{
3426 if(TYPE_LIFETIME(1994, 0))
3427 fprintf(stderr, "ERROR: ");
3428 fprintf(stderr,
3429 "Symbol '%c' at line %d is prohibited "
3430 "by ASN.1:1994 and ASN.1:1997\n",
Lev Walkin03892812010-11-03 09:33:03 -07003431 asn1p_text[0], asn1p_lineno);
Lev Walkinf15320b2004-06-03 03:38:44 +00003432 if(TYPE_LIFETIME(1994, 0))
3433 return -1;
3434 }
3435 YY_BREAK
Lev Walkin0e90aa02013-03-19 16:17:13 -07003436case 139:
Lev Walkinc603f102005-01-23 09:51:44 +00003437YY_RULE_SETUP
Lev Walkin0e90aa02013-03-19 16:17:13 -07003438#line 529 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00003439{
3440 fprintf(stderr,
3441 "Unexpected token at line %d: \"%s\"\n",
Lev Walkin03892812010-11-03 09:33:03 -07003442 asn1p_lineno, asn1p_text);
Lev Walkinf15320b2004-06-03 03:38:44 +00003443 while(YYSTATE != INITIAL)
3444 yy_pop_state();
Lev Walkin9c974182004-09-15 11:59:51 +00003445 if(0) {
3446 yy_top_state(); /* Just to use this function. */
3447 yy_fatal_error("Parse error");
3448 }
Lev Walkinf15320b2004-06-03 03:38:44 +00003449 return -1;
3450}
3451 YY_BREAK
3452case YY_STATE_EOF(INITIAL):
3453case YY_STATE_EOF(dash_comment):
Lev Walkin2535a692005-07-02 21:42:40 +00003454case YY_STATE_EOF(idash_comment):
Lev Walkinf15320b2004-06-03 03:38:44 +00003455case YY_STATE_EOF(cpp_comment):
3456case YY_STATE_EOF(quoted):
3457case YY_STATE_EOF(opaque):
Lev Walkinf59d0752004-08-18 04:59:12 +00003458case YY_STATE_EOF(encoding_control):
Lev Walkinf15320b2004-06-03 03:38:44 +00003459case YY_STATE_EOF(with_syntax):
Lev Walkin0e90aa02013-03-19 16:17:13 -07003460#line 542 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00003461{
3462 while(YYSTATE != INITIAL)
3463 yy_pop_state();
3464 yyterminate();
3465 }
3466 YY_BREAK
Lev Walkin0e90aa02013-03-19 16:17:13 -07003467case 140:
Lev Walkinf15320b2004-06-03 03:38:44 +00003468YY_RULE_SETUP
Lev Walkin0e90aa02013-03-19 16:17:13 -07003469#line 549 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00003470YY_FATAL_ERROR( "flex scanner jammed" );
3471 YY_BREAK
Lev Walkin0e90aa02013-03-19 16:17:13 -07003472#line 3474 "lex.yy.c"
Lev Walkinf15320b2004-06-03 03:38:44 +00003473
3474 case YY_END_OF_BUFFER:
3475 {
3476 /* Amount of text matched not including the EOB char. */
Lev Walkin03892812010-11-03 09:33:03 -07003477 int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
Lev Walkinf15320b2004-06-03 03:38:44 +00003478
3479 /* Undo the effects of YY_DO_BEFORE_ACTION. */
Lev Walkin03892812010-11-03 09:33:03 -07003480 *yy_cp = (yy_hold_char);
Lev Walkinf15320b2004-06-03 03:38:44 +00003481 YY_RESTORE_YY_MORE_OFFSET
3482
Lev Walkin03892812010-11-03 09:33:03 -07003483 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
Lev Walkinf15320b2004-06-03 03:38:44 +00003484 {
3485 /* We're scanning a new file or input source. It's
3486 * possible that this happened because the user
Lev Walkin03892812010-11-03 09:33:03 -07003487 * just pointed asn1p_in at a new source and called
3488 * asn1p_lex(). If so, then we have to assure
3489 * consistency between YY_CURRENT_BUFFER and our
Lev Walkinf15320b2004-06-03 03:38:44 +00003490 * globals. Here is the right place to do so, because
3491 * this is the first action (other than possibly a
3492 * back-up) that will match for the new input source.
3493 */
Lev Walkin03892812010-11-03 09:33:03 -07003494 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
3495 YY_CURRENT_BUFFER_LVALUE->yy_input_file = asn1p_in;
3496 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
Lev Walkinf15320b2004-06-03 03:38:44 +00003497 }
3498
3499 /* Note that here we test for yy_c_buf_p "<=" to the position
3500 * of the first EOB in the buffer, since yy_c_buf_p will
3501 * already have been incremented past the NUL character
3502 * (since all states make transitions on EOB to the
3503 * end-of-buffer state). Contrast this with the test
3504 * in input().
3505 */
Lev Walkin03892812010-11-03 09:33:03 -07003506 if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
Lev Walkinf15320b2004-06-03 03:38:44 +00003507 { /* This was really a NUL. */
3508 yy_state_type yy_next_state;
3509
Lev Walkin03892812010-11-03 09:33:03 -07003510 (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
Lev Walkinf15320b2004-06-03 03:38:44 +00003511
Lev Walkin03892812010-11-03 09:33:03 -07003512 yy_current_state = yy_get_previous_state( );
Lev Walkinf15320b2004-06-03 03:38:44 +00003513
3514 /* Okay, we're now positioned to make the NUL
3515 * transition. We couldn't have
3516 * yy_get_previous_state() go ahead and do it
3517 * for us because it doesn't know how to deal
3518 * with the possibility of jamming (and we don't
3519 * want to build jamming into it because then it
3520 * will run more slowly).
3521 */
3522
3523 yy_next_state = yy_try_NUL_trans( yy_current_state );
3524
Lev Walkin03892812010-11-03 09:33:03 -07003525 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
Lev Walkinf15320b2004-06-03 03:38:44 +00003526
3527 if ( yy_next_state )
3528 {
3529 /* Consume the NUL. */
Lev Walkin03892812010-11-03 09:33:03 -07003530 yy_cp = ++(yy_c_buf_p);
Lev Walkinf15320b2004-06-03 03:38:44 +00003531 yy_current_state = yy_next_state;
3532 goto yy_match;
3533 }
3534
3535 else
3536 {
Lev Walkin03892812010-11-03 09:33:03 -07003537/* %% [14.0] code to do back-up for compressed tables and set up yy_cp goes here */
3538 yy_cp = (yy_c_buf_p);
Lev Walkinf15320b2004-06-03 03:38:44 +00003539 goto yy_find_action;
3540 }
3541 }
3542
Lev Walkin03892812010-11-03 09:33:03 -07003543 else switch ( yy_get_next_buffer( ) )
Lev Walkinf15320b2004-06-03 03:38:44 +00003544 {
3545 case EOB_ACT_END_OF_FILE:
3546 {
Lev Walkin03892812010-11-03 09:33:03 -07003547 (yy_did_buffer_switch_on_eof) = 0;
Lev Walkinf15320b2004-06-03 03:38:44 +00003548
Lev Walkin03892812010-11-03 09:33:03 -07003549 if ( asn1p_wrap( ) )
Lev Walkinf15320b2004-06-03 03:38:44 +00003550 {
3551 /* Note: because we've taken care in
3552 * yy_get_next_buffer() to have set up
Lev Walkin03892812010-11-03 09:33:03 -07003553 * asn1p_text, we can now set up
Lev Walkinf15320b2004-06-03 03:38:44 +00003554 * yy_c_buf_p so that if some total
3555 * hoser (like flex itself) wants to
3556 * call the scanner after we return the
3557 * YY_NULL, it'll still work - another
3558 * YY_NULL will get returned.
3559 */
Lev Walkin03892812010-11-03 09:33:03 -07003560 (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
Lev Walkinf15320b2004-06-03 03:38:44 +00003561
3562 yy_act = YY_STATE_EOF(YY_START);
3563 goto do_action;
3564 }
3565
3566 else
3567 {
Lev Walkin03892812010-11-03 09:33:03 -07003568 if ( ! (yy_did_buffer_switch_on_eof) )
Lev Walkinf15320b2004-06-03 03:38:44 +00003569 YY_NEW_FILE;
3570 }
3571 break;
3572 }
3573
3574 case EOB_ACT_CONTINUE_SCAN:
Lev Walkin03892812010-11-03 09:33:03 -07003575 (yy_c_buf_p) =
3576 (yytext_ptr) + yy_amount_of_matched_text;
Lev Walkinf15320b2004-06-03 03:38:44 +00003577
Lev Walkin03892812010-11-03 09:33:03 -07003578 yy_current_state = yy_get_previous_state( );
Lev Walkinf15320b2004-06-03 03:38:44 +00003579
Lev Walkin03892812010-11-03 09:33:03 -07003580 yy_cp = (yy_c_buf_p);
3581 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
Lev Walkinf15320b2004-06-03 03:38:44 +00003582 goto yy_match;
3583
3584 case EOB_ACT_LAST_MATCH:
Lev Walkin03892812010-11-03 09:33:03 -07003585 (yy_c_buf_p) =
3586 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
Lev Walkinf15320b2004-06-03 03:38:44 +00003587
Lev Walkin03892812010-11-03 09:33:03 -07003588 yy_current_state = yy_get_previous_state( );
Lev Walkinf15320b2004-06-03 03:38:44 +00003589
Lev Walkin03892812010-11-03 09:33:03 -07003590 yy_cp = (yy_c_buf_p);
3591 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
Lev Walkinf15320b2004-06-03 03:38:44 +00003592 goto yy_find_action;
3593 }
3594 break;
3595 }
3596
3597 default:
3598 YY_FATAL_ERROR(
3599 "fatal flex scanner internal error--no action found" );
3600 } /* end of action switch */
3601 } /* end of scanning one token */
Lev Walkin03892812010-11-03 09:33:03 -07003602} /* end of asn1p_lex */
3603/* %ok-for-header */
Lev Walkinf15320b2004-06-03 03:38:44 +00003604
Lev Walkin03892812010-11-03 09:33:03 -07003605/* %if-c++-only */
3606/* %not-for-header */
3607
3608/* %ok-for-header */
3609
3610/* %endif */
Lev Walkinf15320b2004-06-03 03:38:44 +00003611
3612/* yy_get_next_buffer - try to read in a new buffer
3613 *
3614 * Returns a code representing an action:
3615 * EOB_ACT_LAST_MATCH -
3616 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
3617 * EOB_ACT_END_OF_FILE - end of file
3618 */
Lev Walkin03892812010-11-03 09:33:03 -07003619/* %if-c-only */
3620static int yy_get_next_buffer (void)
3621/* %endif */
3622/* %if-c++-only */
3623/* %endif */
3624{
3625 register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
3626 register char *source = (yytext_ptr);
Lev Walkinf15320b2004-06-03 03:38:44 +00003627 register int number_to_move, i;
3628 int ret_val;
3629
Lev Walkin03892812010-11-03 09:33:03 -07003630 if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
Lev Walkinf15320b2004-06-03 03:38:44 +00003631 YY_FATAL_ERROR(
3632 "fatal flex scanner internal error--end of buffer missed" );
3633
Lev Walkin03892812010-11-03 09:33:03 -07003634 if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
Lev Walkinf15320b2004-06-03 03:38:44 +00003635 { /* Don't try to fill the buffer, so this is an EOF. */
Lev Walkin03892812010-11-03 09:33:03 -07003636 if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
Lev Walkinf15320b2004-06-03 03:38:44 +00003637 {
3638 /* We matched a single character, the EOB, so
3639 * treat this as a final EOF.
3640 */
3641 return EOB_ACT_END_OF_FILE;
3642 }
3643
3644 else
3645 {
3646 /* We matched some text prior to the EOB, first
3647 * process it.
3648 */
3649 return EOB_ACT_LAST_MATCH;
3650 }
3651 }
3652
3653 /* Try to read more data. */
3654
3655 /* First move last chars to start of buffer. */
Lev Walkin03892812010-11-03 09:33:03 -07003656 number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
Lev Walkinf15320b2004-06-03 03:38:44 +00003657
3658 for ( i = 0; i < number_to_move; ++i )
3659 *(dest++) = *(source++);
3660
Lev Walkin03892812010-11-03 09:33:03 -07003661 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
Lev Walkinf15320b2004-06-03 03:38:44 +00003662 /* don't do the read, it's not guaranteed to return an EOF,
3663 * just force an EOF
3664 */
Lev Walkin03892812010-11-03 09:33:03 -07003665 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
Lev Walkinf15320b2004-06-03 03:38:44 +00003666
3667 else
3668 {
Lev Walkin0e90aa02013-03-19 16:17:13 -07003669 yy_size_t num_to_read =
Lev Walkin03892812010-11-03 09:33:03 -07003670 YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
Lev Walkinf15320b2004-06-03 03:38:44 +00003671
3672 while ( num_to_read <= 0 )
3673 { /* Not enough room in the buffer - grow it. */
Lev Walkin03892812010-11-03 09:33:03 -07003674
Lev Walkinf15320b2004-06-03 03:38:44 +00003675 YY_FATAL_ERROR(
3676"input buffer overflow, can't enlarge buffer because scanner uses REJECT" );
Lev Walkinf15320b2004-06-03 03:38:44 +00003677
Lev Walkinf15320b2004-06-03 03:38:44 +00003678 }
3679
3680 if ( num_to_read > YY_READ_BUF_SIZE )
3681 num_to_read = YY_READ_BUF_SIZE;
3682
3683 /* Read in more data. */
Lev Walkin03892812010-11-03 09:33:03 -07003684 YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
Lev Walkin0e90aa02013-03-19 16:17:13 -07003685 (yy_n_chars), num_to_read );
Lev Walkinf15320b2004-06-03 03:38:44 +00003686
Lev Walkin03892812010-11-03 09:33:03 -07003687 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
Lev Walkinf15320b2004-06-03 03:38:44 +00003688 }
3689
Lev Walkin03892812010-11-03 09:33:03 -07003690 if ( (yy_n_chars) == 0 )
Lev Walkinf15320b2004-06-03 03:38:44 +00003691 {
3692 if ( number_to_move == YY_MORE_ADJ )
3693 {
3694 ret_val = EOB_ACT_END_OF_FILE;
Lev Walkin03892812010-11-03 09:33:03 -07003695 asn1p_restart(asn1p_in );
Lev Walkinf15320b2004-06-03 03:38:44 +00003696 }
3697
3698 else
3699 {
3700 ret_val = EOB_ACT_LAST_MATCH;
Lev Walkin03892812010-11-03 09:33:03 -07003701 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
Lev Walkinf15320b2004-06-03 03:38:44 +00003702 YY_BUFFER_EOF_PENDING;
3703 }
3704 }
3705
3706 else
3707 ret_val = EOB_ACT_CONTINUE_SCAN;
3708
Lev Walkin03892812010-11-03 09:33:03 -07003709 if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
3710 /* Extend the array by 50%, plus the number we really need. */
3711 yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
3712 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) asn1p_realloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size );
3713 if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
3714 YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
Lev Walkinf15320b2004-06-03 03:38:44 +00003715 }
3716
Lev Walkin03892812010-11-03 09:33:03 -07003717 (yy_n_chars) += number_to_move;
3718 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
3719 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
3720
3721 (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
3722
3723 return ret_val;
3724}
Lev Walkinf15320b2004-06-03 03:38:44 +00003725
3726/* yy_get_previous_state - get the state just before the EOB char was reached */
3727
Lev Walkin03892812010-11-03 09:33:03 -07003728/* %if-c-only */
3729/* %not-for-header */
3730
3731 static yy_state_type yy_get_previous_state (void)
3732/* %endif */
3733/* %if-c++-only */
3734/* %endif */
3735{
Lev Walkinf15320b2004-06-03 03:38:44 +00003736 register yy_state_type yy_current_state;
3737 register char *yy_cp;
Lev Walkin03892812010-11-03 09:33:03 -07003738
3739/* %% [15.0] code to get the start state into yy_current_state goes here */
3740 yy_current_state = (yy_start);
Lev Walkinf15320b2004-06-03 03:38:44 +00003741
Lev Walkin03892812010-11-03 09:33:03 -07003742 (yy_state_ptr) = (yy_state_buf);
3743 *(yy_state_ptr)++ = yy_current_state;
Lev Walkinf15320b2004-06-03 03:38:44 +00003744
Lev Walkin03892812010-11-03 09:33:03 -07003745 for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
Lev Walkinf15320b2004-06-03 03:38:44 +00003746 {
Lev Walkin03892812010-11-03 09:33:03 -07003747/* %% [16.0] code to find the next state goes here */
Lev Walkinf15320b2004-06-03 03:38:44 +00003748 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
3749 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3750 {
3751 yy_current_state = (int) yy_def[yy_current_state];
Lev Walkin0e90aa02013-03-19 16:17:13 -07003752 if ( yy_current_state >= 746 )
Lev Walkinf15320b2004-06-03 03:38:44 +00003753 yy_c = yy_meta[(unsigned int) yy_c];
3754 }
3755 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
Lev Walkin03892812010-11-03 09:33:03 -07003756 *(yy_state_ptr)++ = yy_current_state;
Lev Walkinf15320b2004-06-03 03:38:44 +00003757 }
3758
3759 return yy_current_state;
Lev Walkin03892812010-11-03 09:33:03 -07003760}
Lev Walkinf15320b2004-06-03 03:38:44 +00003761
3762/* yy_try_NUL_trans - try to make a transition on the NUL character
3763 *
3764 * synopsis
3765 * next_state = yy_try_NUL_trans( current_state );
3766 */
Lev Walkin03892812010-11-03 09:33:03 -07003767/* %if-c-only */
3768 static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state )
3769/* %endif */
3770/* %if-c++-only */
3771/* %endif */
3772{
Lev Walkinf15320b2004-06-03 03:38:44 +00003773 register int yy_is_jam;
Lev Walkin03892812010-11-03 09:33:03 -07003774 /* %% [17.0] code to find the next state, and perhaps do backing up, goes here */
Lev Walkinf15320b2004-06-03 03:38:44 +00003775
3776 register YY_CHAR yy_c = 1;
3777 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3778 {
3779 yy_current_state = (int) yy_def[yy_current_state];
Lev Walkin0e90aa02013-03-19 16:17:13 -07003780 if ( yy_current_state >= 746 )
Lev Walkinf15320b2004-06-03 03:38:44 +00003781 yy_c = yy_meta[(unsigned int) yy_c];
3782 }
3783 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
Lev Walkin0e90aa02013-03-19 16:17:13 -07003784 yy_is_jam = (yy_current_state == 745);
Lev Walkinf15320b2004-06-03 03:38:44 +00003785 if ( ! yy_is_jam )
Lev Walkin03892812010-11-03 09:33:03 -07003786 *(yy_state_ptr)++ = yy_current_state;
Lev Walkinf15320b2004-06-03 03:38:44 +00003787
3788 return yy_is_jam ? 0 : yy_current_state;
Lev Walkin03892812010-11-03 09:33:03 -07003789}
Lev Walkinf15320b2004-06-03 03:38:44 +00003790
Lev Walkin03892812010-11-03 09:33:03 -07003791/* %if-c-only */
Lev Walkinf15320b2004-06-03 03:38:44 +00003792
Lev Walkin03892812010-11-03 09:33:03 -07003793 static void yyunput (int c, register char * yy_bp )
3794/* %endif */
3795/* %if-c++-only */
3796/* %endif */
3797{
3798 register char *yy_cp;
3799
3800 yy_cp = (yy_c_buf_p);
Lev Walkinf15320b2004-06-03 03:38:44 +00003801
Lev Walkin03892812010-11-03 09:33:03 -07003802 /* undo effects of setting up asn1p_text */
3803 *yy_cp = (yy_hold_char);
Lev Walkinf15320b2004-06-03 03:38:44 +00003804
Lev Walkin03892812010-11-03 09:33:03 -07003805 if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
Lev Walkinf15320b2004-06-03 03:38:44 +00003806 { /* need to shift things up to make room */
3807 /* +2 for EOB chars. */
Lev Walkin0e90aa02013-03-19 16:17:13 -07003808 register yy_size_t number_to_move = (yy_n_chars) + 2;
Lev Walkin03892812010-11-03 09:33:03 -07003809 register char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[
3810 YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2];
Lev Walkinf15320b2004-06-03 03:38:44 +00003811 register char *source =
Lev Walkin03892812010-11-03 09:33:03 -07003812 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move];
Lev Walkinf15320b2004-06-03 03:38:44 +00003813
Lev Walkin03892812010-11-03 09:33:03 -07003814 while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
Lev Walkinf15320b2004-06-03 03:38:44 +00003815 *--dest = *--source;
3816
3817 yy_cp += (int) (dest - source);
3818 yy_bp += (int) (dest - source);
Lev Walkin03892812010-11-03 09:33:03 -07003819 YY_CURRENT_BUFFER_LVALUE->yy_n_chars =
3820 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_buf_size;
Lev Walkinf15320b2004-06-03 03:38:44 +00003821
Lev Walkin03892812010-11-03 09:33:03 -07003822 if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
Lev Walkinf15320b2004-06-03 03:38:44 +00003823 YY_FATAL_ERROR( "flex scanner push-back overflow" );
3824 }
3825
3826 *--yy_cp = (char) c;
3827
Lev Walkin03892812010-11-03 09:33:03 -07003828/* %% [18.0] update asn1p_lineno here */
Lev Walkinf15320b2004-06-03 03:38:44 +00003829
Lev Walkin03892812010-11-03 09:33:03 -07003830 if ( c == '\n' ){
3831 --asn1p_lineno;
3832 }
Lev Walkinf15320b2004-06-03 03:38:44 +00003833
Lev Walkin03892812010-11-03 09:33:03 -07003834 (yytext_ptr) = yy_bp;
3835 (yy_hold_char) = *yy_cp;
3836 (yy_c_buf_p) = yy_cp;
3837}
3838/* %if-c-only */
Lev Walkinf15320b2004-06-03 03:38:44 +00003839
Lev Walkin03892812010-11-03 09:33:03 -07003840/* %endif */
3841
3842/* %if-c-only */
3843#ifndef YY_NO_INPUT
Lev Walkinf15320b2004-06-03 03:38:44 +00003844#ifdef __cplusplus
Lev Walkin03892812010-11-03 09:33:03 -07003845 static int yyinput (void)
Lev Walkinf15320b2004-06-03 03:38:44 +00003846#else
Lev Walkin03892812010-11-03 09:33:03 -07003847 static int input (void)
Lev Walkinf15320b2004-06-03 03:38:44 +00003848#endif
Lev Walkin03892812010-11-03 09:33:03 -07003849
3850/* %endif */
3851/* %if-c++-only */
3852/* %endif */
3853{
Lev Walkinf15320b2004-06-03 03:38:44 +00003854 int c;
Lev Walkin03892812010-11-03 09:33:03 -07003855
3856 *(yy_c_buf_p) = (yy_hold_char);
Lev Walkinf15320b2004-06-03 03:38:44 +00003857
Lev Walkin03892812010-11-03 09:33:03 -07003858 if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
Lev Walkinf15320b2004-06-03 03:38:44 +00003859 {
3860 /* yy_c_buf_p now points to the character we want to return.
3861 * If this occurs *before* the EOB characters, then it's a
3862 * valid NUL; if not, then we've hit the end of the buffer.
3863 */
Lev Walkin03892812010-11-03 09:33:03 -07003864 if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
Lev Walkinf15320b2004-06-03 03:38:44 +00003865 /* This was really a NUL. */
Lev Walkin03892812010-11-03 09:33:03 -07003866 *(yy_c_buf_p) = '\0';
Lev Walkinf15320b2004-06-03 03:38:44 +00003867
3868 else
3869 { /* need more input */
Lev Walkin0e90aa02013-03-19 16:17:13 -07003870 yy_size_t offset = (yy_c_buf_p) - (yytext_ptr);
Lev Walkin03892812010-11-03 09:33:03 -07003871 ++(yy_c_buf_p);
Lev Walkinf15320b2004-06-03 03:38:44 +00003872
Lev Walkin03892812010-11-03 09:33:03 -07003873 switch ( yy_get_next_buffer( ) )
Lev Walkinf15320b2004-06-03 03:38:44 +00003874 {
3875 case EOB_ACT_LAST_MATCH:
3876 /* This happens because yy_g_n_b()
3877 * sees that we've accumulated a
3878 * token and flags that we need to
3879 * try matching the token before
3880 * proceeding. But for input(),
3881 * there's no matching to consider.
3882 * So convert the EOB_ACT_LAST_MATCH
3883 * to EOB_ACT_END_OF_FILE.
3884 */
3885
3886 /* Reset buffer status. */
Lev Walkin03892812010-11-03 09:33:03 -07003887 asn1p_restart(asn1p_in );
Lev Walkinf15320b2004-06-03 03:38:44 +00003888
Lev Walkin03892812010-11-03 09:33:03 -07003889 /*FALLTHROUGH*/
Lev Walkinf15320b2004-06-03 03:38:44 +00003890
3891 case EOB_ACT_END_OF_FILE:
3892 {
Lev Walkin03892812010-11-03 09:33:03 -07003893 if ( asn1p_wrap( ) )
Lev Walkin0e90aa02013-03-19 16:17:13 -07003894 return 0;
Lev Walkinf15320b2004-06-03 03:38:44 +00003895
Lev Walkin03892812010-11-03 09:33:03 -07003896 if ( ! (yy_did_buffer_switch_on_eof) )
Lev Walkinf15320b2004-06-03 03:38:44 +00003897 YY_NEW_FILE;
3898#ifdef __cplusplus
3899 return yyinput();
3900#else
3901 return input();
3902#endif
3903 }
3904
3905 case EOB_ACT_CONTINUE_SCAN:
Lev Walkin03892812010-11-03 09:33:03 -07003906 (yy_c_buf_p) = (yytext_ptr) + offset;
Lev Walkinf15320b2004-06-03 03:38:44 +00003907 break;
3908 }
3909 }
3910 }
3911
Lev Walkin03892812010-11-03 09:33:03 -07003912 c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */
3913 *(yy_c_buf_p) = '\0'; /* preserve asn1p_text */
3914 (yy_hold_char) = *++(yy_c_buf_p);
Lev Walkinf15320b2004-06-03 03:38:44 +00003915
Lev Walkin03892812010-11-03 09:33:03 -07003916/* %% [19.0] update BOL and asn1p_lineno */
Lev Walkinf15320b2004-06-03 03:38:44 +00003917 if ( c == '\n' )
Lev Walkin03892812010-11-03 09:33:03 -07003918
3919 asn1p_lineno++;
3920;
Lev Walkinf15320b2004-06-03 03:38:44 +00003921
3922 return c;
Lev Walkin03892812010-11-03 09:33:03 -07003923}
3924/* %if-c-only */
3925#endif /* ifndef YY_NO_INPUT */
3926/* %endif */
3927
3928/** Immediately switch to a different input stream.
3929 * @param input_file A readable stream.
3930 *
3931 * @note This function does not reset the start condition to @c INITIAL .
3932 */
3933/* %if-c-only */
3934 void asn1p_restart (FILE * input_file )
3935/* %endif */
3936/* %if-c++-only */
3937/* %endif */
3938{
3939
3940 if ( ! YY_CURRENT_BUFFER ){
3941 asn1p_ensure_buffer_stack ();
3942 YY_CURRENT_BUFFER_LVALUE =
3943 asn1p__create_buffer(asn1p_in,YY_BUF_SIZE );
Lev Walkinf15320b2004-06-03 03:38:44 +00003944 }
3945
Lev Walkin03892812010-11-03 09:33:03 -07003946 asn1p__init_buffer(YY_CURRENT_BUFFER,input_file );
3947 asn1p__load_buffer_state( );
3948}
Lev Walkinf15320b2004-06-03 03:38:44 +00003949
Lev Walkin03892812010-11-03 09:33:03 -07003950/** Switch to a different input buffer.
3951 * @param new_buffer The new input buffer.
3952 *
3953 */
3954/* %if-c-only */
3955 void asn1p__switch_to_buffer (YY_BUFFER_STATE new_buffer )
3956/* %endif */
3957/* %if-c++-only */
3958/* %endif */
3959{
3960
3961 /* TODO. We should be able to replace this entire function body
3962 * with
3963 * asn1p_pop_buffer_state();
3964 * asn1p_push_buffer_state(new_buffer);
3965 */
3966 asn1p_ensure_buffer_stack ();
3967 if ( YY_CURRENT_BUFFER == new_buffer )
Lev Walkinf15320b2004-06-03 03:38:44 +00003968 return;
3969
Lev Walkin03892812010-11-03 09:33:03 -07003970 if ( YY_CURRENT_BUFFER )
Lev Walkinf15320b2004-06-03 03:38:44 +00003971 {
3972 /* Flush out information for old buffer. */
Lev Walkin03892812010-11-03 09:33:03 -07003973 *(yy_c_buf_p) = (yy_hold_char);
3974 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
3975 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
Lev Walkinf15320b2004-06-03 03:38:44 +00003976 }
3977
Lev Walkin03892812010-11-03 09:33:03 -07003978 YY_CURRENT_BUFFER_LVALUE = new_buffer;
3979 asn1p__load_buffer_state( );
Lev Walkinf15320b2004-06-03 03:38:44 +00003980
3981 /* We don't actually know whether we did this switch during
Lev Walkin03892812010-11-03 09:33:03 -07003982 * EOF (asn1p_wrap()) processing, but the only time this flag
3983 * is looked at is after asn1p_wrap() is called, so it's safe
Lev Walkinf15320b2004-06-03 03:38:44 +00003984 * to go ahead and always set it.
3985 */
Lev Walkin03892812010-11-03 09:33:03 -07003986 (yy_did_buffer_switch_on_eof) = 1;
3987}
Lev Walkinf15320b2004-06-03 03:38:44 +00003988
Lev Walkin03892812010-11-03 09:33:03 -07003989/* %if-c-only */
3990static void asn1p__load_buffer_state (void)
3991/* %endif */
3992/* %if-c++-only */
3993/* %endif */
3994{
3995 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
3996 (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
3997 asn1p_in = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
3998 (yy_hold_char) = *(yy_c_buf_p);
3999}
Lev Walkinf15320b2004-06-03 03:38:44 +00004000
Lev Walkin03892812010-11-03 09:33:03 -07004001/** Allocate and initialize an input buffer state.
4002 * @param file A readable stream.
4003 * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
4004 *
4005 * @return the allocated buffer state.
4006 */
4007/* %if-c-only */
4008 YY_BUFFER_STATE asn1p__create_buffer (FILE * file, int size )
4009/* %endif */
4010/* %if-c++-only */
4011/* %endif */
4012{
Lev Walkinf15320b2004-06-03 03:38:44 +00004013 YY_BUFFER_STATE b;
Lev Walkin03892812010-11-03 09:33:03 -07004014
4015 b = (YY_BUFFER_STATE) asn1p_alloc(sizeof( struct yy_buffer_state ) );
Lev Walkinf15320b2004-06-03 03:38:44 +00004016 if ( ! b )
Lev Walkin03892812010-11-03 09:33:03 -07004017 YY_FATAL_ERROR( "out of dynamic memory in asn1p__create_buffer()" );
Lev Walkinf15320b2004-06-03 03:38:44 +00004018
4019 b->yy_buf_size = size;
4020
4021 /* yy_ch_buf has to be 2 characters longer than the size given because
4022 * we need to put in 2 end-of-buffer characters.
4023 */
Lev Walkin03892812010-11-03 09:33:03 -07004024 b->yy_ch_buf = (char *) asn1p_alloc(b->yy_buf_size + 2 );
Lev Walkinf15320b2004-06-03 03:38:44 +00004025 if ( ! b->yy_ch_buf )
Lev Walkin03892812010-11-03 09:33:03 -07004026 YY_FATAL_ERROR( "out of dynamic memory in asn1p__create_buffer()" );
Lev Walkinf15320b2004-06-03 03:38:44 +00004027
4028 b->yy_is_our_buffer = 1;
4029
Lev Walkin03892812010-11-03 09:33:03 -07004030 asn1p__init_buffer(b,file );
Lev Walkinf15320b2004-06-03 03:38:44 +00004031
4032 return b;
Lev Walkin03892812010-11-03 09:33:03 -07004033}
Lev Walkinf15320b2004-06-03 03:38:44 +00004034
Lev Walkin03892812010-11-03 09:33:03 -07004035/** Destroy the buffer.
4036 * @param b a buffer created with asn1p__create_buffer()
4037 *
4038 */
4039/* %if-c-only */
4040 void asn1p__delete_buffer (YY_BUFFER_STATE b )
4041/* %endif */
4042/* %if-c++-only */
4043/* %endif */
4044{
4045
Lev Walkinf15320b2004-06-03 03:38:44 +00004046 if ( ! b )
4047 return;
4048
Lev Walkin03892812010-11-03 09:33:03 -07004049 if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
4050 YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
Lev Walkinf15320b2004-06-03 03:38:44 +00004051
4052 if ( b->yy_is_our_buffer )
Lev Walkin03892812010-11-03 09:33:03 -07004053 asn1p_free((void *) b->yy_ch_buf );
Lev Walkinf15320b2004-06-03 03:38:44 +00004054
Lev Walkin03892812010-11-03 09:33:03 -07004055 asn1p_free((void *) b );
4056}
Lev Walkinf15320b2004-06-03 03:38:44 +00004057
Lev Walkin03892812010-11-03 09:33:03 -07004058/* %if-c-only */
Lev Walkinf15320b2004-06-03 03:38:44 +00004059
Lev Walkin03892812010-11-03 09:33:03 -07004060/* %endif */
Lev Walkinf15320b2004-06-03 03:38:44 +00004061
Lev Walkin03892812010-11-03 09:33:03 -07004062/* %if-c++-only */
4063/* %endif */
Lev Walkinf15320b2004-06-03 03:38:44 +00004064
Lev Walkin03892812010-11-03 09:33:03 -07004065/* Initializes or reinitializes a buffer.
4066 * This function is sometimes called more than once on the same buffer,
4067 * such as during a asn1p_restart() or at EOF.
4068 */
4069/* %if-c-only */
4070 static void asn1p__init_buffer (YY_BUFFER_STATE b, FILE * file )
4071/* %endif */
4072/* %if-c++-only */
4073/* %endif */
Lev Walkinf15320b2004-06-03 03:38:44 +00004074
Lev Walkin03892812010-11-03 09:33:03 -07004075{
4076 int oerrno = errno;
4077
4078 asn1p__flush_buffer(b );
Lev Walkinf15320b2004-06-03 03:38:44 +00004079
4080 b->yy_input_file = file;
4081 b->yy_fill_buffer = 1;
4082
Lev Walkin03892812010-11-03 09:33:03 -07004083 /* If b is the current buffer, then asn1p__init_buffer was _probably_
4084 * called from asn1p_restart() or through yy_get_next_buffer.
4085 * In that case, we don't want to reset the lineno or column.
4086 */
4087 if (b != YY_CURRENT_BUFFER){
4088 b->yy_bs_lineno = 1;
4089 b->yy_bs_column = 0;
4090 }
Lev Walkinf15320b2004-06-03 03:38:44 +00004091
Lev Walkin03892812010-11-03 09:33:03 -07004092/* %if-c-only */
Lev Walkinf15320b2004-06-03 03:38:44 +00004093
Lev Walkin03892812010-11-03 09:33:03 -07004094 b->yy_is_interactive = 0;
4095
4096/* %endif */
4097/* %if-c++-only */
4098/* %endif */
4099 errno = oerrno;
4100}
Lev Walkinf15320b2004-06-03 03:38:44 +00004101
Lev Walkin03892812010-11-03 09:33:03 -07004102/** Discard all buffered characters. On the next scan, YY_INPUT will be called.
4103 * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
4104 *
4105 */
4106/* %if-c-only */
4107 void asn1p__flush_buffer (YY_BUFFER_STATE b )
4108/* %endif */
4109/* %if-c++-only */
4110/* %endif */
4111{
4112 if ( ! b )
Lev Walkinf15320b2004-06-03 03:38:44 +00004113 return;
4114
4115 b->yy_n_chars = 0;
4116
4117 /* We always need two end-of-buffer characters. The first causes
4118 * a transition to the end-of-buffer state. The second causes
4119 * a jam in that state.
4120 */
4121 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
4122 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
4123
4124 b->yy_buf_pos = &b->yy_ch_buf[0];
4125
4126 b->yy_at_bol = 1;
4127 b->yy_buffer_status = YY_BUFFER_NEW;
4128
Lev Walkin03892812010-11-03 09:33:03 -07004129 if ( b == YY_CURRENT_BUFFER )
4130 asn1p__load_buffer_state( );
4131}
4132
4133/* %if-c-or-c++ */
4134/** Pushes the new state onto the stack. The new state becomes
4135 * the current state. This function will allocate the stack
4136 * if necessary.
4137 * @param new_buffer The new state.
4138 *
4139 */
4140/* %if-c-only */
4141void asn1p_push_buffer_state (YY_BUFFER_STATE new_buffer )
4142/* %endif */
4143/* %if-c++-only */
4144/* %endif */
4145{
4146 if (new_buffer == NULL)
4147 return;
4148
4149 asn1p_ensure_buffer_stack();
4150
4151 /* This block is copied from asn1p__switch_to_buffer. */
4152 if ( YY_CURRENT_BUFFER )
4153 {
4154 /* Flush out information for old buffer. */
4155 *(yy_c_buf_p) = (yy_hold_char);
4156 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
4157 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
4158 }
4159
4160 /* Only push if top exists. Otherwise, replace top. */
4161 if (YY_CURRENT_BUFFER)
4162 (yy_buffer_stack_top)++;
4163 YY_CURRENT_BUFFER_LVALUE = new_buffer;
4164
4165 /* copied from asn1p__switch_to_buffer. */
4166 asn1p__load_buffer_state( );
4167 (yy_did_buffer_switch_on_eof) = 1;
4168}
4169/* %endif */
4170
4171/* %if-c-or-c++ */
4172/** Removes and deletes the top of the stack, if present.
4173 * The next element becomes the new top.
4174 *
4175 */
4176/* %if-c-only */
4177void asn1p_pop_buffer_state (void)
4178/* %endif */
4179/* %if-c++-only */
4180/* %endif */
4181{
4182 if (!YY_CURRENT_BUFFER)
4183 return;
4184
4185 asn1p__delete_buffer(YY_CURRENT_BUFFER );
4186 YY_CURRENT_BUFFER_LVALUE = NULL;
4187 if ((yy_buffer_stack_top) > 0)
4188 --(yy_buffer_stack_top);
4189
4190 if (YY_CURRENT_BUFFER) {
4191 asn1p__load_buffer_state( );
4192 (yy_did_buffer_switch_on_eof) = 1;
4193 }
4194}
4195/* %endif */
4196
4197/* %if-c-or-c++ */
4198/* Allocates the stack if it does not exist.
4199 * Guarantees space for at least one push.
4200 */
4201/* %if-c-only */
4202static void asn1p_ensure_buffer_stack (void)
4203/* %endif */
4204/* %if-c++-only */
4205/* %endif */
4206{
Lev Walkin0e90aa02013-03-19 16:17:13 -07004207 yy_size_t num_to_alloc;
Lev Walkin03892812010-11-03 09:33:03 -07004208
4209 if (!(yy_buffer_stack)) {
4210
4211 /* First allocation is just for 2 elements, since we don't know if this
4212 * scanner will even need a stack. We use 2 instead of 1 to avoid an
4213 * immediate realloc on the next call.
4214 */
4215 num_to_alloc = 1;
4216 (yy_buffer_stack) = (struct yy_buffer_state**)asn1p_alloc
4217 (num_to_alloc * sizeof(struct yy_buffer_state*)
4218 );
4219 if ( ! (yy_buffer_stack) )
4220 YY_FATAL_ERROR( "out of dynamic memory in asn1p_ensure_buffer_stack()" );
4221
4222 memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
4223
4224 (yy_buffer_stack_max) = num_to_alloc;
4225 (yy_buffer_stack_top) = 0;
4226 return;
Lev Walkinf15320b2004-06-03 03:38:44 +00004227 }
4228
Lev Walkin03892812010-11-03 09:33:03 -07004229 if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
Lev Walkinf15320b2004-06-03 03:38:44 +00004230
Lev Walkin03892812010-11-03 09:33:03 -07004231 /* Increase the buffer to prepare for a possible push. */
4232 int grow_size = 8 /* arbitrary grow size */;
4233
4234 num_to_alloc = (yy_buffer_stack_max) + grow_size;
4235 (yy_buffer_stack) = (struct yy_buffer_state**)asn1p_realloc
4236 ((yy_buffer_stack),
4237 num_to_alloc * sizeof(struct yy_buffer_state*)
4238 );
4239 if ( ! (yy_buffer_stack) )
4240 YY_FATAL_ERROR( "out of dynamic memory in asn1p_ensure_buffer_stack()" );
4241
4242 /* zero only the new slots.*/
4243 memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
4244 (yy_buffer_stack_max) = num_to_alloc;
4245 }
4246}
4247/* %endif */
4248
4249/* %if-c-only */
4250/** Setup the input buffer state to scan directly from a user-specified character buffer.
4251 * @param base the character buffer
4252 * @param size the size in bytes of the character buffer
4253 *
4254 * @return the newly allocated buffer state object.
4255 */
4256YY_BUFFER_STATE asn1p__scan_buffer (char * base, yy_size_t size )
4257{
Lev Walkinf15320b2004-06-03 03:38:44 +00004258 YY_BUFFER_STATE b;
Lev Walkin03892812010-11-03 09:33:03 -07004259
Lev Walkinf15320b2004-06-03 03:38:44 +00004260 if ( size < 2 ||
4261 base[size-2] != YY_END_OF_BUFFER_CHAR ||
4262 base[size-1] != YY_END_OF_BUFFER_CHAR )
4263 /* They forgot to leave room for the EOB's. */
4264 return 0;
4265
Lev Walkin03892812010-11-03 09:33:03 -07004266 b = (YY_BUFFER_STATE) asn1p_alloc(sizeof( struct yy_buffer_state ) );
Lev Walkinf15320b2004-06-03 03:38:44 +00004267 if ( ! b )
Lev Walkin03892812010-11-03 09:33:03 -07004268 YY_FATAL_ERROR( "out of dynamic memory in asn1p__scan_buffer()" );
Lev Walkinf15320b2004-06-03 03:38:44 +00004269
4270 b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
4271 b->yy_buf_pos = b->yy_ch_buf = base;
4272 b->yy_is_our_buffer = 0;
4273 b->yy_input_file = 0;
4274 b->yy_n_chars = b->yy_buf_size;
4275 b->yy_is_interactive = 0;
4276 b->yy_at_bol = 1;
4277 b->yy_fill_buffer = 0;
4278 b->yy_buffer_status = YY_BUFFER_NEW;
4279
Lev Walkin03892812010-11-03 09:33:03 -07004280 asn1p__switch_to_buffer(b );
Lev Walkinf15320b2004-06-03 03:38:44 +00004281
4282 return b;
Lev Walkin03892812010-11-03 09:33:03 -07004283}
4284/* %endif */
Lev Walkinf15320b2004-06-03 03:38:44 +00004285
Lev Walkin03892812010-11-03 09:33:03 -07004286/* %if-c-only */
4287/** Setup the input buffer state to scan a string. The next call to asn1p_lex() will
4288 * scan from a @e copy of @a str.
4289 * @param yystr a NUL-terminated string to scan
4290 *
4291 * @return the newly allocated buffer state object.
4292 * @note If you want to scan bytes that may contain NUL values, then use
4293 * asn1p__scan_bytes() instead.
4294 */
4295YY_BUFFER_STATE asn1p__scan_string (yyconst char * yystr )
4296{
4297
4298 return asn1p__scan_bytes(yystr,strlen(yystr) );
4299}
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 the given bytes. The next call to asn1p_lex() will
4304 * scan from a @e copy of @a bytes.
4305 * @param bytes the byte buffer to scan
4306 * @param len the number of bytes in the buffer pointed to by @a bytes.
4307 *
4308 * @return the newly allocated buffer state object.
4309 */
Lev Walkin0e90aa02013-03-19 16:17:13 -07004310YY_BUFFER_STATE asn1p__scan_bytes (yyconst char * yybytes, yy_size_t _yybytes_len )
Lev Walkin03892812010-11-03 09:33:03 -07004311{
Lev Walkinf15320b2004-06-03 03:38:44 +00004312 YY_BUFFER_STATE b;
4313 char *buf;
Lev Walkin0e90aa02013-03-19 16:17:13 -07004314 yy_size_t n, i;
Lev Walkin03892812010-11-03 09:33:03 -07004315
Lev Walkinf15320b2004-06-03 03:38:44 +00004316 /* Get memory for full buffer, including space for trailing EOB's. */
Lev Walkin03892812010-11-03 09:33:03 -07004317 n = _yybytes_len + 2;
4318 buf = (char *) asn1p_alloc(n );
Lev Walkinf15320b2004-06-03 03:38:44 +00004319 if ( ! buf )
Lev Walkin03892812010-11-03 09:33:03 -07004320 YY_FATAL_ERROR( "out of dynamic memory in asn1p__scan_bytes()" );
Lev Walkinf15320b2004-06-03 03:38:44 +00004321
Lev Walkin03892812010-11-03 09:33:03 -07004322 for ( i = 0; i < _yybytes_len; ++i )
4323 buf[i] = yybytes[i];
Lev Walkinf15320b2004-06-03 03:38:44 +00004324
Lev Walkin03892812010-11-03 09:33:03 -07004325 buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
Lev Walkinf15320b2004-06-03 03:38:44 +00004326
Lev Walkin03892812010-11-03 09:33:03 -07004327 b = asn1p__scan_buffer(buf,n );
Lev Walkinf15320b2004-06-03 03:38:44 +00004328 if ( ! b )
Lev Walkin03892812010-11-03 09:33:03 -07004329 YY_FATAL_ERROR( "bad buffer in asn1p__scan_bytes()" );
Lev Walkinf15320b2004-06-03 03:38:44 +00004330
4331 /* It's okay to grow etc. this buffer, and we should throw it
4332 * away when we're done.
4333 */
4334 b->yy_is_our_buffer = 1;
4335
4336 return b;
Lev Walkin03892812010-11-03 09:33:03 -07004337}
4338/* %endif */
Lev Walkinf15320b2004-06-03 03:38:44 +00004339
Lev Walkin03892812010-11-03 09:33:03 -07004340/* %if-c-only */
4341 static void yy_push_state (int new_state )
4342/* %endif */
4343/* %if-c++-only */
4344/* %endif */
4345{
4346 if ( (yy_start_stack_ptr) >= (yy_start_stack_depth) )
Lev Walkinf15320b2004-06-03 03:38:44 +00004347 {
4348 yy_size_t new_size;
4349
Lev Walkin03892812010-11-03 09:33:03 -07004350 (yy_start_stack_depth) += YY_START_STACK_INCR;
4351 new_size = (yy_start_stack_depth) * sizeof( int );
Lev Walkinf15320b2004-06-03 03:38:44 +00004352
Lev Walkin03892812010-11-03 09:33:03 -07004353 if ( ! (yy_start_stack) )
4354 (yy_start_stack) = (int *) asn1p_alloc(new_size );
Lev Walkinf15320b2004-06-03 03:38:44 +00004355
4356 else
Lev Walkin03892812010-11-03 09:33:03 -07004357 (yy_start_stack) = (int *) asn1p_realloc((void *) (yy_start_stack),new_size );
Lev Walkinf15320b2004-06-03 03:38:44 +00004358
Lev Walkin03892812010-11-03 09:33:03 -07004359 if ( ! (yy_start_stack) )
4360 YY_FATAL_ERROR( "out of memory expanding start-condition stack" );
Lev Walkinf15320b2004-06-03 03:38:44 +00004361 }
4362
Lev Walkin03892812010-11-03 09:33:03 -07004363 (yy_start_stack)[(yy_start_stack_ptr)++] = YY_START;
Lev Walkinf15320b2004-06-03 03:38:44 +00004364
4365 BEGIN(new_state);
Lev Walkin03892812010-11-03 09:33:03 -07004366}
Lev Walkinf15320b2004-06-03 03:38:44 +00004367
Lev Walkin03892812010-11-03 09:33:03 -07004368/* %if-c-only */
4369 static void yy_pop_state (void)
4370/* %endif */
4371/* %if-c++-only */
4372/* %endif */
4373{
4374 if ( --(yy_start_stack_ptr) < 0 )
Lev Walkinf15320b2004-06-03 03:38:44 +00004375 YY_FATAL_ERROR( "start-condition stack underflow" );
4376
Lev Walkin03892812010-11-03 09:33:03 -07004377 BEGIN((yy_start_stack)[(yy_start_stack_ptr)]);
4378}
Lev Walkinf15320b2004-06-03 03:38:44 +00004379
Lev Walkin03892812010-11-03 09:33:03 -07004380/* %if-c-only */
4381 static int yy_top_state (void)
4382/* %endif */
4383/* %if-c++-only */
4384/* %endif */
4385{
4386 return (yy_start_stack)[(yy_start_stack_ptr) - 1];
4387}
Lev Walkinf15320b2004-06-03 03:38:44 +00004388
4389#ifndef YY_EXIT_FAILURE
4390#define YY_EXIT_FAILURE 2
4391#endif
4392
Lev Walkin03892812010-11-03 09:33:03 -07004393/* %if-c-only */
4394static void yy_fatal_error (yyconst char* msg )
4395{
4396 (void) fprintf( stderr, "%s\n", msg );
Lev Walkinf15320b2004-06-03 03:38:44 +00004397 exit( YY_EXIT_FAILURE );
Lev Walkin03892812010-11-03 09:33:03 -07004398}
4399/* %endif */
4400/* %if-c++-only */
4401/* %endif */
Lev Walkinf15320b2004-06-03 03:38:44 +00004402
4403/* Redefine yyless() so it works in section 3 code. */
4404
4405#undef yyless
4406#define yyless(n) \
4407 do \
4408 { \
Lev Walkin03892812010-11-03 09:33:03 -07004409 /* Undo effects of setting up asn1p_text. */ \
4410 int yyless_macro_arg = (n); \
4411 YY_LESS_LINENO(yyless_macro_arg);\
4412 asn1p_text[asn1p_leng] = (yy_hold_char); \
4413 (yy_c_buf_p) = asn1p_text + yyless_macro_arg; \
4414 (yy_hold_char) = *(yy_c_buf_p); \
4415 *(yy_c_buf_p) = '\0'; \
4416 asn1p_leng = yyless_macro_arg; \
Lev Walkinf15320b2004-06-03 03:38:44 +00004417 } \
4418 while ( 0 )
4419
Lev Walkin03892812010-11-03 09:33:03 -07004420/* Accessor methods (get/set functions) to struct members. */
Lev Walkinf15320b2004-06-03 03:38:44 +00004421
Lev Walkin03892812010-11-03 09:33:03 -07004422/* %if-c-only */
4423/* %if-reentrant */
4424/* %endif */
4425
4426/** Get the current line number.
4427 *
4428 */
4429int asn1p_get_lineno (void)
4430{
4431
4432 return asn1p_lineno;
4433}
4434
4435/** Get the input stream.
4436 *
4437 */
4438FILE *asn1p_get_in (void)
4439{
4440 return asn1p_in;
4441}
4442
4443/** Get the output stream.
4444 *
4445 */
4446FILE *asn1p_get_out (void)
4447{
4448 return asn1p_out;
4449}
4450
4451/** Get the length of the current token.
4452 *
4453 */
Lev Walkin0e90aa02013-03-19 16:17:13 -07004454yy_size_t asn1p_get_leng (void)
Lev Walkin03892812010-11-03 09:33:03 -07004455{
4456 return asn1p_leng;
4457}
4458
4459/** Get the current token.
4460 *
4461 */
4462
4463char *asn1p_get_text (void)
4464{
4465 return asn1p_text;
4466}
4467
4468/* %if-reentrant */
4469/* %endif */
4470
4471/** Set the current line number.
4472 * @param line_number
4473 *
4474 */
4475void asn1p_set_lineno (int line_number )
4476{
4477
4478 asn1p_lineno = line_number;
4479}
4480
4481/** Set the input stream. This does not discard the current
4482 * input buffer.
4483 * @param in_str A readable stream.
4484 *
4485 * @see asn1p__switch_to_buffer
4486 */
4487void asn1p_set_in (FILE * in_str )
4488{
4489 asn1p_in = in_str ;
4490}
4491
4492void asn1p_set_out (FILE * out_str )
4493{
4494 asn1p_out = out_str ;
4495}
4496
4497int asn1p_get_debug (void)
4498{
4499 return asn1p__flex_debug;
4500}
4501
4502void asn1p_set_debug (int bdebug )
4503{
4504 asn1p__flex_debug = bdebug ;
4505}
4506
4507/* %endif */
4508
4509/* %if-reentrant */
4510/* %if-bison-bridge */
4511/* %endif */
4512/* %endif if-c-only */
4513
4514/* %if-c-only */
4515static int yy_init_globals (void)
4516{
4517 /* Initialization is the same as for the non-reentrant scanner.
4518 * This function is called from asn1p_lex_destroy(), so don't allocate here.
4519 */
4520
4521 /* We do not touch asn1p_lineno unless the option is enabled. */
4522 asn1p_lineno = 1;
4523
4524 (yy_buffer_stack) = 0;
4525 (yy_buffer_stack_top) = 0;
4526 (yy_buffer_stack_max) = 0;
4527 (yy_c_buf_p) = (char *) 0;
4528 (yy_init) = 0;
4529 (yy_start) = 0;
4530
4531 (yy_start_stack_ptr) = 0;
4532 (yy_start_stack_depth) = 0;
4533 (yy_start_stack) = NULL;
4534
4535 (yy_state_buf) = 0;
4536 (yy_state_ptr) = 0;
4537 (yy_full_match) = 0;
4538 (yy_lp) = 0;
4539
4540/* Defined in main.c */
4541#ifdef YY_STDINIT
4542 asn1p_in = stdin;
4543 asn1p_out = stdout;
4544#else
4545 asn1p_in = (FILE *) 0;
4546 asn1p_out = (FILE *) 0;
4547#endif
4548
4549 /* For future reference: Set errno on error, since we are called by
4550 * asn1p_lex_init()
4551 */
4552 return 0;
4553}
4554/* %endif */
4555
4556/* %if-c-only SNIP! this currently causes conflicts with the c++ scanner */
4557/* asn1p_lex_destroy is for both reentrant and non-reentrant scanners. */
4558int asn1p_lex_destroy (void)
4559{
4560
4561 /* Pop the buffer stack, destroying each element. */
4562 while(YY_CURRENT_BUFFER){
4563 asn1p__delete_buffer(YY_CURRENT_BUFFER );
4564 YY_CURRENT_BUFFER_LVALUE = NULL;
4565 asn1p_pop_buffer_state();
4566 }
4567
4568 /* Destroy the stack itself. */
4569 asn1p_free((yy_buffer_stack) );
4570 (yy_buffer_stack) = NULL;
4571
4572 /* Destroy the start condition stack. */
4573 asn1p_free((yy_start_stack) );
4574 (yy_start_stack) = NULL;
4575
4576 asn1p_free ( (yy_state_buf) );
4577 (yy_state_buf) = NULL;
4578
4579 /* Reset the globals. This is important in a non-reentrant scanner so the next time
4580 * asn1p_lex() is called, initialization will occur. */
4581 yy_init_globals( );
4582
4583/* %if-reentrant */
4584/* %endif */
4585 return 0;
4586}
4587/* %endif */
4588
4589/*
4590 * Internal utility routines.
4591 */
Lev Walkinf15320b2004-06-03 03:38:44 +00004592
4593#ifndef yytext_ptr
Lev Walkin03892812010-11-03 09:33:03 -07004594static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
4595{
Lev Walkinf15320b2004-06-03 03:38:44 +00004596 register int i;
4597 for ( i = 0; i < n; ++i )
4598 s1[i] = s2[i];
Lev Walkin03892812010-11-03 09:33:03 -07004599}
Lev Walkinf15320b2004-06-03 03:38:44 +00004600#endif
4601
4602#ifdef YY_NEED_STRLEN
Lev Walkin03892812010-11-03 09:33:03 -07004603static int yy_flex_strlen (yyconst char * s )
4604{
Lev Walkinf15320b2004-06-03 03:38:44 +00004605 register int n;
4606 for ( n = 0; s[n]; ++n )
4607 ;
4608
4609 return n;
Lev Walkin03892812010-11-03 09:33:03 -07004610}
Lev Walkinf15320b2004-06-03 03:38:44 +00004611#endif
4612
Lev Walkin03892812010-11-03 09:33:03 -07004613void *asn1p_alloc (yy_size_t size )
4614{
Lev Walkinf15320b2004-06-03 03:38:44 +00004615 return (void *) malloc( size );
Lev Walkin03892812010-11-03 09:33:03 -07004616}
Lev Walkinf15320b2004-06-03 03:38:44 +00004617
Lev Walkin03892812010-11-03 09:33:03 -07004618void *asn1p_realloc (void * ptr, yy_size_t size )
4619{
Lev Walkinf15320b2004-06-03 03:38:44 +00004620 /* The cast to (char *) in the following accommodates both
4621 * implementations that use char* generic pointers, and those
4622 * that use void* generic pointers. It works with the latter
4623 * because both ANSI C and C++ allow castless assignment from
4624 * any pointer type to void*, and deal with argument conversions
4625 * as though doing an assignment.
4626 */
4627 return (void *) realloc( (char *) ptr, size );
Lev Walkin03892812010-11-03 09:33:03 -07004628}
Lev Walkinf15320b2004-06-03 03:38:44 +00004629
Lev Walkin03892812010-11-03 09:33:03 -07004630void asn1p_free (void * ptr )
4631{
4632 free( (char *) ptr ); /* see asn1p_realloc() for (char *) cast */
4633}
Lev Walkinf15320b2004-06-03 03:38:44 +00004634
Lev Walkin03892812010-11-03 09:33:03 -07004635/* %if-tables-serialization definitions */
4636/* %define-yytables The name for this specific scanner's tables. */
4637#define YYTABLES_NAME "yytables"
4638/* %endif */
4639
4640/* %ok-for-header */
4641
Lev Walkin0e90aa02013-03-19 16:17:13 -07004642#line 549 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00004643
4644
Lev Walkin03892812010-11-03 09:33:03 -07004645
Lev Walkinf15320b2004-06-03 03:38:44 +00004646/*
4647 * Very dirty but wonderful hack allowing to rule states from within .y file.
4648 */
Lev Walkinf59d0752004-08-18 04:59:12 +00004649void asn1p_lexer_hack_push_opaque_state() { yy_push_state(opaque); }
Lev Walkinf15320b2004-06-03 03:38:44 +00004650
4651/*
4652 * Another hack which disables recognizing some tokens when inside WITH SYNTAX.
4653 */
Lev Walkinf59d0752004-08-18 04:59:12 +00004654void asn1p_lexer_hack_enable_with_syntax() { yy_push_state(with_syntax); }
4655
4656/* Yet another */
4657void asn1p_lexer_hack_push_encoding_control() {
4658 yy_push_state(encoding_control);
Lev Walkinf15320b2004-06-03 03:38:44 +00004659}
4660
Lev Walkind21c5052004-09-29 13:18:09 +00004661static asn1c_integer_t
Lev Walkind370e9f2006-03-16 10:03:35 +00004662_lex_atoi(const char *ptr) {
Lev Walkind21c5052004-09-29 13:18:09 +00004663 asn1c_integer_t value;
Lev Walkind370e9f2006-03-16 10:03:35 +00004664 if(asn1p_atoi(ptr, &value)) {
Lev Walkinf15320b2004-06-03 03:38:44 +00004665 fprintf(stderr,
4666 "Value \"%s\" at line %d is too large "
Lev Walkin129a79e2005-04-05 08:46:22 +00004667 "for this compiler! Please contact the asn1c author.\n",
Lev Walkin03892812010-11-03 09:33:03 -07004668 ptr, asn1p_lineno);
Lev Walkind370e9f2006-03-16 10:03:35 +00004669 errno = ERANGE;
Lev Walkinf15320b2004-06-03 03:38:44 +00004670 }
Lev Walkinf15320b2004-06-03 03:38:44 +00004671 return value;
4672}
Lev Walkinadf863f2006-09-05 16:18:34 +00004673
4674static double
4675_lex_atod(const char *ptr) {
4676 double value;
4677 errno = 0;
4678 value = strtod(ptr, 0);
4679 if(errno) {
4680 fprintf(stderr,
4681 "Value \"%s\" at line %d is outside of `double` range "
4682 "in this compiler! Please contact the asn1c author.\n",
Lev Walkin03892812010-11-03 09:33:03 -07004683 ptr, asn1p_lineno);
Lev Walkinadf863f2006-09-05 16:18:34 +00004684 errno = ERANGE;
4685 }
4686 return value;
4687}
4688
Lev Walkin03892812010-11-03 09:33:03 -07004689