2 #define YY_INT_ALIGNED short int
4 /* A lexical scanner generated by flex */
7 #define YY_FLEX_MAJOR_VERSION 2
8 #define YY_FLEX_MINOR_VERSION 6
9 #define YY_FLEX_SUBMINOR_VERSION 4
10 #if YY_FLEX_SUBMINOR_VERSION > 0
14 /* First, we deal with platform-specific or compiler-specific issues. */
16 /* begin standard C headers. */
22 /* end standard C headers. */
24 /* flex integer type definitions */
29 /* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
31 #if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
33 /* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
34 * if you want the limit (max/min) macros for int types.
36 #ifndef __STDC_LIMIT_MACROS
37 #define __STDC_LIMIT_MACROS 1
41 typedef int8_t flex_int8_t;
42 typedef uint8_t flex_uint8_t;
43 typedef int16_t flex_int16_t;
44 typedef uint16_t flex_uint16_t;
45 typedef int32_t flex_int32_t;
46 typedef uint32_t flex_uint32_t;
48 typedef signed char flex_int8_t;
49 typedef short int flex_int16_t;
50 typedef int flex_int32_t;
51 typedef unsigned char flex_uint8_t;
52 typedef unsigned short int flex_uint16_t;
53 typedef unsigned int flex_uint32_t;
55 /* Limits of integral types. */
57 #define INT8_MIN (-128)
60 #define INT16_MIN (-32767-1)
63 #define INT32_MIN (-2147483647-1)
66 #define INT8_MAX (127)
69 #define INT16_MAX (32767)
72 #define INT32_MAX (2147483647)
75 #define UINT8_MAX (255U)
78 #define UINT16_MAX (65535U)
81 #define UINT32_MAX (4294967295U)
85 #define SIZE_MAX (~(size_t)0)
90 #endif /* ! FLEXINT_H */
92 /* begin standard C++ headers. */
94 /* TODO: this is always defined, so inline it */
97 #if defined(__GNUC__) && __GNUC__ >= 3
98 #define yynoreturn __attribute__((__noreturn__))
103 /* Returned upon end-of-file. */
106 /* Promotes a possibly negative, possibly signed char to an
107 * integer in range [0..255] for use as an array index.
109 #define YY_SC_TO_UI(c) ((YY_CHAR) (c))
111 /* Enter a start condition. This macro really ought to take a parameter,
112 * but we do it the disgusting crufty way forced on us by the ()-less
113 * definition of BEGIN.
115 #define BEGIN (yy_start) = 1 + 2 *
116 /* Translate the current start state into a value that can be later handed
117 * to BEGIN to return to the state. The YYSTATE alias is for lex
120 #define YY_START (((yy_start) - 1) / 2)
121 #define YYSTATE YY_START
122 /* Action number for EOF rule of a given start state. */
123 #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
124 /* Special action meaning "start processing a new file". */
125 #define YY_NEW_FILE yyrestart( yyin )
126 #define YY_END_OF_BUFFER_CHAR 0
128 /* Size of default input buffer. */
131 /* On IA-64, the buffer size is 16k, not 8k.
132 * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case.
133 * Ditto for the __ia64__ case accordingly.
135 #define YY_BUF_SIZE 32768
137 #define YY_BUF_SIZE 16384
138 #endif /* __ia64__ */
141 /* The state buf must be large enough to hold one state per character in the main buffer.
143 #define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
145 #ifndef YY_TYPEDEF_YY_BUFFER_STATE
146 #define YY_TYPEDEF_YY_BUFFER_STATE
147 typedef struct yy_buffer_state *YY_BUFFER_STATE;
150 #ifndef YY_TYPEDEF_YY_SIZE_T
151 #define YY_TYPEDEF_YY_SIZE_T
152 typedef size_t yy_size_t;
157 extern FILE *yyin, *yyout;
159 #define EOB_ACT_CONTINUE_SCAN 0
160 #define EOB_ACT_END_OF_FILE 1
161 #define EOB_ACT_LAST_MATCH 2
163 /* Note: We specifically omit the test for yy_rule_can_match_eol because it requires
164 * access to the local variable yy_act. Since yyless() is a macro, it would break
165 * existing scanners that call yyless() from OUTSIDE yylex.
166 * One obvious solution it to make yy_act a global. I tried that, and saw
167 * a 5% performance hit in a non-yylineno scanner, because yy_act is
168 * normally declared as a register variable-- so it is not worth it.
170 #define YY_LESS_LINENO(n) \
173 for ( yyl = n; yyl < yyleng; ++yyl )\
174 if ( yytext[yyl] == '\n' )\
177 #define YY_LINENO_REWIND_TO(dst) \
180 for ( p = yy_cp-1; p >= (dst); --p)\
185 /* Return all but the first "n" matched characters back to the input stream. */
189 /* Undo effects of setting up yytext. */ \
190 int yyless_macro_arg = (n); \
191 YY_LESS_LINENO(yyless_macro_arg);\
192 *yy_cp = (yy_hold_char); \
193 YY_RESTORE_YY_MORE_OFFSET \
194 (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
195 YY_DO_BEFORE_ACTION; /* set up yytext again */ \
198 #define unput(c) yyunput( c, (yytext_ptr) )
200 #ifndef YY_STRUCT_YY_BUFFER_STATE
201 #define YY_STRUCT_YY_BUFFER_STATE
202 struct yy_buffer_state
206 char *yy_ch_buf; /* input buffer */
207 char *yy_buf_pos; /* current position in input buffer */
209 /* Size of input buffer in bytes, not including room for EOB
214 /* Number of characters read into yy_ch_buf, not including EOB
219 /* Whether we "own" the buffer - i.e., we know we created it,
220 * and can realloc() it to grow it, and should free() it to
223 int yy_is_our_buffer;
225 /* Whether this is an "interactive" input source; if so, and
226 * if we're using stdio for input, then we want to use getc()
227 * instead of fread(), to make sure we stop fetching input after
230 int yy_is_interactive;
232 /* Whether we're considered to be at the beginning of a line.
233 * If so, '^' rules will be active on the next match, otherwise
238 int yy_bs_lineno; /**< The line count. */
239 int yy_bs_column; /**< The column count. */
241 /* Whether to try to fill the input buffer when we reach the
246 int yy_buffer_status;
248 #define YY_BUFFER_NEW 0
249 #define YY_BUFFER_NORMAL 1
250 /* When an EOF's been seen but there's still some text to process
251 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
252 * shouldn't try reading from the input source any more. We might
253 * still have a bunch of tokens to match, though, because of
254 * possible backing-up.
256 * When we actually see the EOF, we change the status to "new"
257 * (via yyrestart()), so that the user can continue scanning by
258 * just pointing yyin at a new input file.
260 #define YY_BUFFER_EOF_PENDING 2
263 #endif /* !YY_STRUCT_YY_BUFFER_STATE */
265 /* Stack of input buffers. */
266 static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
267 static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
268 static YY_BUFFER_STATE * yy_buffer_stack = NULL; /**< Stack as an array. */
270 /* We provide macros for accessing buffer states in case in the
271 * future we want to put the buffer states in a more general
274 * Returns the top of the stack, or NULL.
276 #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
277 ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
279 /* Same as previous macro, but useful when we know that the buffer stack is not
280 * NULL or when we need an lvalue. For internal use only.
282 #define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
284 /* yy_hold_char holds the character lost when yytext is formed. */
285 static char yy_hold_char;
286 static int yy_n_chars; /* number of characters read into yy_ch_buf */
289 /* Points to current character in buffer. */
290 static char *yy_c_buf_p = NULL;
291 static int yy_init = 0; /* whether we need to initialize */
292 static int yy_start = 0; /* start state number */
294 /* Flag which is used to allow yywrap()'s to do buffer switches
295 * instead of setting up a fresh yyin. A bit of a hack ...
297 static int yy_did_buffer_switch_on_eof;
299 void yyrestart ( FILE *input_file );
300 void yy_switch_to_buffer ( YY_BUFFER_STATE new_buffer );
301 YY_BUFFER_STATE yy_create_buffer ( FILE *file, int size );
302 void yy_delete_buffer ( YY_BUFFER_STATE b );
303 void yy_flush_buffer ( YY_BUFFER_STATE b );
304 void yypush_buffer_state ( YY_BUFFER_STATE new_buffer );
305 void yypop_buffer_state ( void );
307 static void yyensure_buffer_stack ( void );
308 static void yy_load_buffer_state ( void );
309 static void yy_init_buffer ( YY_BUFFER_STATE b, FILE *file );
310 #define YY_FLUSH_BUFFER yy_flush_buffer( YY_CURRENT_BUFFER )
312 YY_BUFFER_STATE yy_scan_buffer ( char *base, yy_size_t size );
313 YY_BUFFER_STATE yy_scan_string ( const char *yy_str );
314 YY_BUFFER_STATE yy_scan_bytes ( const char *bytes, int len );
316 void *yyalloc ( yy_size_t );
317 void *yyrealloc ( void *, yy_size_t );
318 void yyfree ( void * );
320 #define yy_new_buffer yy_create_buffer
321 #define yy_set_interactive(is_interactive) \
323 if ( ! YY_CURRENT_BUFFER ){ \
324 yyensure_buffer_stack (); \
325 YY_CURRENT_BUFFER_LVALUE = \
326 yy_create_buffer( yyin, YY_BUF_SIZE ); \
328 YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
330 #define yy_set_bol(at_bol) \
332 if ( ! YY_CURRENT_BUFFER ){\
333 yyensure_buffer_stack (); \
334 YY_CURRENT_BUFFER_LVALUE = \
335 yy_create_buffer( yyin, YY_BUF_SIZE ); \
337 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
339 #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
341 /* Begin user sect3 */
343 #define yywrap() (/*CONSTCOND*/1)
344 #define YY_SKIP_YYWRAP
345 typedef flex_uint8_t YY_CHAR;
347 FILE *yyin = NULL, *yyout = NULL;
349 typedef int yy_state_type;
358 #define yytext_ptr yytext
360 static const flex_int16_t yy_nxt[][42] =
363 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
364 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
365 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
366 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
371 9, 10, 11, 12, 13, 14, 15, 16, 17, 14,
372 18, 19, 20, 21, 22, 23, 24, 25, 26, 21,
373 21, 27, 28, 29, 30, 21, 21, 31, 32, 21,
374 33, 21, 34, 35, 36, 37, 38, 21, 39, 21,
380 9, 10, 11, 12, 13, 14, 15, 16, 17, 14,
381 18, 19, 20, 21, 22, 23, 24, 25, 26, 21,
382 21, 27, 28, 29, 30, 21, 21, 31, 32, 21,
383 33, 21, 34, 35, 36, 37, 38, 21, 39, 21,
388 9, 41, 42, 43, 41, 41, 41, 41, 41, 41,
389 41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
390 41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
391 41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
397 9, 41, 42, 43, 41, 41, 41, 41, 41, 41,
398 41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
399 41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
400 41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
405 9, 44, 45, 46, 44, 44, 44, 44, 44, 44,
406 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
407 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
408 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
414 9, 44, 45, 46, 44, 44, 44, 44, 44, 44,
415 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
416 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
417 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
422 9, 47, 47, 48, 47, 49, 47, 50, 47, 49,
423 47, 47, 47, 47, 47, 47, 47, 47, 51, 47,
424 47, 47, 47, 47, 47, 47, 47, 47, 47, 47,
425 47, 47, 47, 47, 47, 47, 47, 47, 47, 47,
431 9, 47, 47, 48, 47, 49, 47, 50, 47, 49,
432 47, 47, 47, 47, 47, 47, 47, 47, 51, 47,
433 47, 47, 47, 47, 47, 47, 47, 47, 47, 47,
434 47, 47, 47, 47, 47, 47, 47, 47, 47, 47,
439 -9, -9, -9, -9, -9, -9, -9, -9, -9, -9,
440 -9, -9, -9, -9, -9, -9, -9, -9, -9, -9,
441 -9, -9, -9, -9, -9, -9, -9, -9, -9, -9,
442 -9, -9, -9, -9, -9, -9, -9, -9, -9, -9,
448 9, -10, -10, -10, -10, -10, -10, -10, -10, -10,
449 -10, -10, -10, -10, -10, -10, -10, -10, -10, -10,
450 -10, -10, -10, -10, -10, -10, -10, -10, -10, -10,
451 -10, -10, -10, -10, -10, -10, -10, -10, -10, -10,
456 9, -11, 52, -11, -11, -11, -11, -11, -11, -11,
457 -11, -11, -11, -11, -11, -11, -11, -11, -11, -11,
458 -11, -11, -11, -11, -11, -11, -11, -11, -11, -11,
459 -11, -11, -11, -11, -11, -11, -11, -11, -11, -11,
465 9, -12, -12, -12, -12, -12, -12, -12, -12, -12,
466 -12, -12, -12, -12, -12, -12, -12, -12, -12, -12,
467 -12, -12, -12, -12, -12, -12, -12, -12, -12, -12,
468 -12, -12, -12, -12, -12, -12, -12, -12, -12, -12,
473 9, -13, -13, -13, -13, -13, -13, -13, -13, -13,
474 -13, -13, -13, -13, -13, -13, 53, -13, -13, -13,
475 -13, -13, -13, -13, -13, -13, -13, -13, -13, -13,
476 -13, -13, -13, -13, -13, -13, -13, -13, -13, -13,
482 9, -14, -14, -14, -14, -14, -14, -14, -14, -14,
483 -14, -14, -14, -14, -14, -14, -14, -14, -14, -14,
484 -14, -14, -14, -14, -14, -14, -14, -14, -14, -14,
485 -14, -14, -14, -14, -14, -14, -14, -14, -14, -14,
490 9, 54, 54, -15, 54, 54, 54, 54, 54, 54,
491 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
492 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
493 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
499 9, -16, -16, -16, -16, -16, -16, 55, -16, -16,
500 -16, -16, -16, 55, -16, -16, -16, -16, -16, 55,
501 55, 55, 55, 55, 55, 55, 55, 55, 55, 55,
502 55, 55, 55, 55, 55, 55, 55, 55, 55, 55,
507 9, -17, -17, -17, -17, -17, -17, -17, 56, -17,
508 -17, -17, -17, -17, -17, -17, -17, -17, -17, -17,
509 -17, -17, -17, -17, -17, -17, -17, -17, -17, -17,
510 -17, -17, -17, -17, -17, -17, -17, -17, -17, -17,
516 9, -18, -18, -18, -18, -18, -18, -18, -18, -18,
517 -18, -18, -18, -18, -18, -18, -18, -18, -18, -18,
518 -18, -18, -18, -18, -18, -18, -18, -18, -18, -18,
519 -18, -18, -18, -18, -18, -18, -18, -18, -18, -18,
524 9, -19, -19, -19, -19, -19, -19, -19, -19, -19,
525 -19, -19, -19, -19, -19, -19, -19, -19, -19, -19,
526 -19, -19, -19, -19, -19, -19, -19, -19, -19, -19,
527 -19, -19, -19, -19, -19, -19, -19, -19, -19, -19,
533 9, -20, -20, -20, -20, -20, -20, -20, -20, -20,
534 -20, -20, -20, -20, -20, -20, 57, -20, -20, -20,
535 -20, -20, -20, -20, -20, -20, -20, -20, -20, -20,
536 -20, -20, -20, -20, -20, -20, -20, -20, -20, -20,
541 9, -21, -21, -21, -21, -21, -21, 55, -21, -21,
542 -21, -21, -21, 58, -21, -21, -21, -21, -21, 58,
543 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
544 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
550 9, -22, -22, -22, -22, -22, -22, -22, -22, -22,
551 -22, -22, -22, -22, -22, -22, 59, -22, -22, -22,
552 -22, -22, -22, -22, -22, -22, -22, -22, -22, -22,
553 -22, -22, -22, -22, -22, -22, -22, -22, -22, -22,
558 9, -23, -23, -23, -23, -23, -23, -23, -23, -23,
559 -23, -23, -23, -23, -23, -23, 60, -23, -23, -23,
560 -23, -23, -23, -23, -23, -23, -23, -23, -23, -23,
561 -23, -23, -23, -23, -23, -23, -23, -23, -23, -23,
567 9, -24, -24, -24, -24, -24, -24, -24, -24, -24,
568 -24, -24, -24, -24, -24, -24, -24, -24, -24, -24,
569 -24, -24, -24, -24, -24, -24, -24, -24, -24, -24,
570 -24, -24, -24, -24, -24, -24, -24, -24, -24, -24,
575 9, -25, -25, -25, -25, -25, -25, -25, -25, -25,
576 -25, -25, -25, -25, -25, -25, 61, -25, -25, -25,
577 -25, -25, -25, -25, -25, -25, -25, -25, -25, -25,
578 -25, -25, -25, -25, -25, -25, -25, -25, -25, -25,
584 9, -26, -26, 62, -26, -26, -26, -26, -26, -26,
585 -26, -26, -26, -26, -26, -26, -26, -26, -26, -26,
586 -26, -26, -26, -26, -26, -26, -26, -26, -26, -26,
587 -26, -26, -26, -26, -26, -26, -26, -26, -26, -26,
592 9, -27, -27, -27, -27, -27, -27, 55, -27, -27,
593 -27, -27, -27, 58, -27, -27, -27, -27, -27, 58,
594 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
595 58, 58, 63, 58, 58, 58, 58, 58, 58, 58,
601 9, -28, -28, -28, -28, -28, -28, 55, -28, -28,
602 -28, -28, -28, 58, -28, -28, -28, -28, -28, 58,
603 58, 58, 58, 58, 58, 58, 58, 64, 58, 58,
604 58, 58, 65, 58, 58, 58, 58, 58, 58, 58,
609 9, -29, -29, -29, -29, -29, -29, 55, -29, -29,
610 -29, -29, -29, 58, -29, -29, -29, -29, -29, 58,
611 58, 58, 58, 58, 66, 58, 58, 58, 58, 58,
612 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
618 9, -30, -30, -30, -30, -30, -30, 55, -30, -30,
619 -30, -30, -30, 58, -30, -30, -30, -30, -30, 58,
620 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
621 58, 67, 58, 58, 58, 58, 58, 58, 58, 58,
626 9, -31, -31, -31, -31, -31, -31, 55, -31, -31,
627 -31, -31, -31, 58, -31, -31, -31, -31, -31, 58,
628 58, 58, 58, 58, 68, 58, 58, 58, 58, 58,
629 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
635 9, -32, -32, -32, -32, -32, -32, 55, -32, -32,
636 -32, -32, -32, 58, -32, -32, -32, -32, -32, 58,
637 58, 58, 58, 58, 58, 69, 58, 58, 58, 58,
638 70, 71, 58, 58, 58, 58, 58, 58, 58, 58,
643 9, -33, -33, -33, -33, -33, -33, 55, -33, -33,
644 -33, -33, -33, 58, -33, -33, -33, -33, -33, 58,
645 72, 58, 58, 58, 73, 58, 58, 58, 58, 58,
646 58, 58, 74, 58, 58, 58, 58, 58, 58, 58,
652 9, -34, -34, -34, -34, -34, -34, 55, -34, -34,
653 -34, -34, -34, 58, -34, -34, -34, -34, -34, 58,
654 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
655 58, 75, 58, 76, 58, 58, 58, 58, 58, 58,
660 9, -35, -35, -35, -35, -35, -35, 55, -35, -35,
661 -35, -35, -35, 58, -35, -35, -35, -35, -35, 58,
662 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
663 58, 58, 58, 58, 77, 58, 58, 58, 58, 58,
669 9, -36, -36, -36, -36, -36, -36, 55, -36, -36,
670 -36, -36, -36, 58, -36, -36, -36, -36, -36, 58,
671 78, 58, 58, 58, 58, 58, 58, 58, 58, 58,
672 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
677 9, -37, -37, -37, -37, -37, -37, 55, -37, -37,
678 -37, -37, -37, 58, -37, -37, -37, -37, -37, 58,
679 58, 58, 58, 58, 79, 58, 58, 58, 58, 58,
680 58, 58, 80, 58, 58, 58, 81, 58, 58, 58,
686 9, -38, -38, -38, -38, -38, -38, 55, -38, -38,
687 -38, -38, -38, 58, -38, -38, -38, -38, -38, 58,
688 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
689 58, 58, 58, 58, 82, 58, 58, 58, 58, 58,
694 9, -39, -39, -39, -39, -39, -39, 55, -39, -39,
695 -39, -39, -39, 58, -39, -39, -39, -39, -39, 58,
696 58, 58, 58, 58, 58, 58, 58, 58, 83, 58,
697 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
703 9, -40, -40, -40, -40, -40, -40, -40, -40, -40,
704 -40, -40, -40, -40, -40, -40, -40, -40, -40, -40,
705 -40, -40, -40, -40, -40, -40, -40, -40, -40, -40,
706 -40, -40, -40, -40, -40, -40, -40, -40, -40, -40,
711 9, 85, 86, -41, 85, 85, 85, 85, 85, 85,
712 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
713 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
714 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
720 9, -42, -42, -42, -42, -42, -42, -42, -42, -42,
721 -42, -42, -42, -42, -42, -42, -42, -42, -42, -42,
722 -42, -42, -42, -42, -42, -42, -42, -42, -42, -42,
723 -42, -42, -42, -42, -42, -42, -42, -42, -42, -42,
728 9, -43, -43, -43, -43, -43, -43, -43, -43, -43,
729 -43, -43, -43, -43, -43, -43, -43, -43, -43, -43,
730 -43, -43, -43, -43, -43, -43, -43, -43, -43, -43,
731 -43, -43, -43, -43, -43, -43, -43, -43, -43, -43,
737 9, 87, 87, -44, 87, 87, 87, 87, 87, 87,
738 87, 87, 87, 87, 87, 87, 87, 87, 87, 87,
739 87, 87, 87, 87, 87, 87, 87, 87, 87, 87,
740 87, 87, 87, 87, 87, 87, 87, 87, 87, 87,
745 9, -45, 88, 89, -45, -45, -45, -45, -45, -45,
746 -45, -45, -45, -45, -45, -45, -45, -45, -45, -45,
747 -45, -45, -45, -45, -45, -45, -45, -45, -45, -45,
748 -45, -45, -45, -45, -45, -45, -45, -45, -45, -45,
754 9, 90, -46, -46, 90, 90, 90, 90, 90, 90,
755 90, 90, 90, 90, 90, 90, 90, 90, 90, 90,
756 90, 90, 90, 90, 90, 90, 90, 90, 90, 90,
757 90, 90, 90, 90, 90, 90, 90, 90, 90, 90,
762 9, 91, 91, -47, 91, -47, 91, -47, 91, -47,
763 91, 91, 91, 91, 91, 91, 91, 91, -47, 91,
764 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
765 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
771 9, -48, -48, -48, -48, -48, -48, -48, -48, -48,
772 -48, -48, -48, -48, -48, -48, -48, -48, -48, -48,
773 -48, -48, -48, -48, -48, -48, -48, -48, -48, -48,
774 -48, -48, -48, -48, -48, -48, -48, -48, -48, -48,
779 9, -49, -49, -49, -49, -49, -49, -49, -49, -49,
780 -49, -49, -49, -49, -49, -49, -49, -49, -49, -49,
781 -49, -49, -49, -49, -49, -49, -49, -49, -49, -49,
782 -49, -49, -49, -49, -49, -49, -49, -49, -49, -49,
788 9, 92, 92, -50, 92, 92, 92, 92, 92, 92,
789 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
790 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
791 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
796 9, 93, 93, -51, 93, 93, 93, 93, 93, 93,
797 93, 93, 93, 93, 93, 93, 93, 93, 93, 93,
798 93, 93, 93, 93, 93, 93, 93, 93, 93, 93,
799 93, 93, 93, 93, 93, 93, 93, 93, 93, 93,
805 9, -52, 52, -52, -52, -52, -52, -52, -52, -52,
806 -52, -52, -52, -52, -52, -52, -52, -52, -52, -52,
807 -52, -52, -52, -52, -52, -52, -52, -52, -52, -52,
808 -52, -52, -52, -52, -52, -52, -52, -52, -52, -52,
813 9, -53, -53, -53, -53, -53, -53, -53, -53, -53,
814 -53, -53, -53, -53, -53, -53, -53, -53, -53, -53,
815 -53, -53, -53, -53, -53, -53, -53, -53, -53, -53,
816 -53, -53, -53, -53, -53, -53, -53, -53, -53, -53,
822 9, 54, 54, -54, 54, 54, 54, 54, 54, 54,
823 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
824 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
825 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
830 9, -55, -55, -55, -55, -55, -55, 55, -55, -55,
831 -55, -55, -55, 55, -55, -55, -55, -55, -55, 55,
832 55, 55, 55, 55, 55, 55, 55, 55, 55, 55,
833 55, 55, 55, 55, 55, 55, 55, 55, 55, 55,
839 9, -56, -56, -56, -56, -56, -56, -56, -56, -56,
840 -56, -56, -56, -56, -56, -56, -56, -56, -56, -56,
841 -56, -56, -56, -56, -56, -56, -56, -56, -56, -56,
842 -56, -56, -56, -56, -56, -56, -56, -56, -56, -56,
847 9, -57, -57, -57, -57, -57, -57, -57, -57, -57,
848 -57, -57, -57, -57, -57, -57, -57, -57, -57, -57,
849 -57, -57, -57, -57, -57, -57, -57, -57, -57, -57,
850 -57, -57, -57, -57, -57, -57, -57, -57, -57, -57,
856 9, -58, -58, -58, -58, -58, -58, 55, -58, -58,
857 -58, -58, -58, 58, -58, -58, -58, -58, -58, 58,
858 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
859 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
864 9, -59, -59, -59, -59, -59, -59, -59, -59, -59,
865 -59, -59, -59, -59, -59, -59, -59, -59, -59, -59,
866 -59, -59, -59, -59, -59, -59, -59, -59, -59, -59,
867 -59, -59, -59, -59, -59, -59, -59, -59, -59, -59,
873 9, -60, -60, -60, -60, -60, -60, -60, -60, -60,
874 -60, -60, -60, -60, -60, -60, -60, -60, -60, -60,
875 -60, -60, -60, -60, -60, -60, -60, -60, -60, -60,
876 -60, -60, -60, -60, -60, -60, -60, -60, -60, -60,
881 9, -61, -61, -61, -61, -61, -61, -61, -61, -61,
882 -61, -61, -61, -61, -61, -61, -61, -61, -61, -61,
883 -61, -61, -61, -61, -61, -61, -61, -61, -61, -61,
884 -61, -61, -61, -61, -61, -61, -61, -61, -61, -61,
890 9, -62, -62, -62, -62, -62, -62, -62, -62, -62,
891 -62, -62, -62, -62, -62, -62, -62, -62, -62, -62,
892 -62, -62, -62, -62, -62, -62, -62, -62, -62, -62,
893 -62, -62, -62, -62, -62, -62, -62, -62, -62, -62,
898 9, -63, -63, -63, -63, -63, -63, 55, -63, -63,
899 -63, -63, -63, 58, -63, -63, -63, -63, -63, 58,
900 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
901 58, 58, 94, 58, 58, 58, 58, 58, 58, 58,
907 9, -64, -64, -64, -64, -64, -64, 55, -64, -64,
908 -64, -64, -64, 58, -64, -64, -64, -64, -64, 58,
909 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
910 58, 58, 95, 58, 58, 58, 58, 58, 58, 58,
915 9, -65, -65, -65, -65, -65, -65, 55, -65, -65,
916 -65, -65, -65, 58, -65, -65, -65, -65, -65, 58,
917 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
918 96, 97, 58, 58, 58, 58, 58, 58, 58, 58,
924 9, -66, -66, -66, -66, -66, -66, 55, -66, -66,
925 -66, -66, -66, 58, -66, -66, -66, -66, -66, 58,
926 58, 58, 58, 58, 58, 98, 58, 58, 58, 58,
927 58, 58, 58, 99, 58, 58, 58, 58, 58, 58,
932 9, -67, -67, -67, -67, -67, -67, 55, -67, -67,
933 -67, -67, -67, 58, -67, -67, -67, -67, -67, 58,
934 58, 58, 58, 100, 58, 58, 58, 58, 58, 58,
935 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
941 9, -68, -68, -68, -68, -68, -68, 55, -68, -68,
942 -68, -68, -68, 58, -68, -68, -68, -68, -68, 58,
943 58, 58, 58, 58, 58, 58, 58, 58, 58, 101,
944 58, 58, 58, 58, 58, 58, 58, 58, 58, 102,
949 9, -69, -69, -69, -69, -69, -69, 55, -69, -69,
950 -69, -69, -69, 58, -69, -69, -69, -69, -69, 58,
951 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
952 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
958 9, -70, -70, -70, -70, -70, -70, 55, -70, -70,
959 -70, -70, -70, 58, -70, -70, -70, -70, -70, 58,
960 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
961 58, 58, 58, 103, 58, 58, 58, 58, 58, 58,
966 9, -71, -71, -71, -71, -71, -71, 55, -71, -71,
967 -71, -71, -71, 58, -71, -71, -71, -71, -71, 58,
968 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
969 58, 58, 58, 58, 58, 58, 104, 58, 58, 58,
975 9, -72, -72, -72, -72, -72, -72, 55, -72, -72,
976 -72, -72, -72, 58, -72, -72, -72, -72, -72, 58,
977 58, 58, 58, 58, 58, 58, 58, 58, 105, 58,
978 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
983 9, -73, -73, -73, -73, -73, -73, 55, -73, -73,
984 -73, -73, -73, 58, -73, -73, -73, -73, -73, 58,
985 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
986 58, 106, 58, 58, 58, 58, 58, 58, 58, 58,
992 9, -74, -74, -74, -74, -74, -74, 55, -74, -74,
993 -74, -74, -74, 58, -74, -74, -74, -74, -74, 58,
994 58, 58, 58, 107, 58, 58, 58, 58, 58, 58,
995 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1000 9, -75, -75, -75, -75, -75, -75, 55, -75, -75,
1001 -75, -75, -75, 58, -75, -75, -75, -75, -75, 58,
1002 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1003 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1009 9, -76, -76, -76, -76, -76, -76, 55, -76, -76,
1010 -76, -76, -76, 58, -76, -76, -76, -76, -76, 58,
1011 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1012 58, 58, 58, 58, 58, 58, 108, 58, 58, 58,
1017 9, -77, -77, -77, -77, -77, -77, 55, -77, -77,
1018 -77, -77, -77, 58, -77, -77, -77, -77, -77, 58,
1019 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1020 58, 58, 109, 58, 58, 58, 58, 58, 58, 58,
1026 9, -78, -78, -78, -78, -78, -78, 55, -78, -78,
1027 -78, -78, -78, 58, -78, -78, -78, -78, -78, 58,
1028 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1029 58, 110, 58, 58, 58, 58, 58, 58, 58, 58,
1034 9, -79, -79, -79, -79, -79, -79, 55, -79, -79,
1035 -79, -79, -79, 58, -79, -79, -79, -79, -79, 58,
1036 58, 58, 58, 58, 58, 58, 58, 58, 58, 111,
1037 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1043 9, -80, -80, -80, -80, -80, -80, 55, -80, -80,
1044 -80, -80, -80, 58, -80, -80, -80, -80, -80, 58,
1045 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1046 58, 58, 58, 58, 58, 58, 58, 112, 58, 58,
1051 9, -81, -81, -81, -81, -81, -81, 55, -81, -81,
1052 -81, -81, -81, 58, -81, -81, -81, -81, -81, 58,
1053 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1054 58, 58, 58, 58, 113, 58, 58, 58, 58, 58,
1060 9, -82, -82, -82, -82, -82, -82, 55, -82, -82,
1061 -82, -82, -82, 58, -82, -82, -82, -82, -82, 58,
1062 58, 58, 58, 58, 58, 58, 58, 58, 114, 58,
1063 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1068 9, -83, -83, -83, -83, -83, -83, 55, -83, -83,
1069 -83, -83, -83, 58, -83, -83, -83, -83, -83, 58,
1070 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1071 58, 58, 58, 58, 58, 115, 58, 58, 58, 58,
1077 9, -84, -84, -84, -84, -84, -84, -84, -84, -84,
1078 -84, -84, -84, -84, -84, -84, -84, -84, -84, -84,
1079 -84, -84, -84, -84, -84, -84, -84, -84, -84, -84,
1080 -84, -84, -84, -84, -84, -84, -84, -84, -84, -84,
1085 9, 85, 86, -85, 85, 85, 85, 85, 85, 85,
1086 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
1087 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
1088 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
1094 9, 86, 86, -86, 86, 86, 86, 86, 86, 86,
1095 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
1096 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
1097 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
1102 9, 87, 87, -87, 87, 87, 87, 87, 87, 87,
1103 87, 87, 87, 87, 87, 87, 87, 87, 87, 87,
1104 87, 87, 87, 87, 87, 87, 87, 87, 87, 87,
1105 87, 87, 87, 87, 87, 87, 87, 87, 87, 87,
1111 9, -88, 88, 89, -88, -88, -88, -88, -88, -88,
1112 -88, -88, -88, -88, -88, -88, -88, -88, -88, -88,
1113 -88, -88, -88, -88, -88, -88, -88, -88, -88, -88,
1114 -88, -88, -88, -88, -88, -88, -88, -88, -88, -88,
1119 9, 90, -89, -89, 90, 90, 90, 90, 90, 90,
1120 90, 90, 90, 90, 90, 90, 90, 90, 90, 90,
1121 90, 90, 90, 90, 90, 90, 90, 90, 90, 90,
1122 90, 90, 90, 90, 90, 90, 90, 90, 90, 90,
1128 9, -90, -90, -90, -90, -90, -90, -90, -90, -90,
1129 -90, -90, -90, -90, -90, -90, -90, -90, -90, -90,
1130 -90, -90, -90, -90, -90, -90, -90, -90, -90, -90,
1131 -90, -90, -90, -90, -90, -90, -90, -90, -90, -90,
1136 9, 91, 91, -91, 91, -91, 91, -91, 91, -91,
1137 91, 91, 91, 91, 91, 91, 91, 91, -91, 91,
1138 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
1139 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
1145 9, 92, 92, -92, 92, 92, 92, 92, 92, 92,
1146 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
1147 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
1148 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
1153 9, -93, -93, -93, -93, -93, -93, -93, -93, -93,
1154 -93, -93, -93, -93, -93, -93, -93, -93, -93, -93,
1155 -93, -93, -93, -93, -93, -93, -93, -93, -93, -93,
1156 -93, -93, -93, -93, -93, -93, -93, -93, -93, -93,
1162 9, -94, -94, -94, -94, -94, -94, 55, -94, -94,
1163 -94, -94, -94, 58, -94, -94, -94, -94, -94, 58,
1164 58, 58, 58, 58, 58, 58, 58, 58, 58, 116,
1165 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1170 9, -95, -95, -95, -95, -95, -95, 55, -95, -95,
1171 -95, -95, -95, 58, -95, -95, -95, -95, -95, 58,
1172 58, 58, 58, 58, 58, 58, 58, 58, 117, 58,
1173 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1179 9, -96, -96, -96, -96, -96, -96, 55, -96, -96,
1180 -96, -96, -96, 58, -96, -96, -96, -96, -96, 58,
1181 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1182 118, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1187 9, -97, -97, -97, -97, -97, -97, 55, -97, -97,
1188 -97, -97, -97, 58, -97, -97, -97, -97, -97, 58,
1189 58, 58, 58, 58, 58, 119, 58, 58, 58, 58,
1190 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1196 9, -98, -98, -98, -98, -98, -98, 55, -98, -98,
1197 -98, -98, -98, 58, -98, -98, -98, -98, -98, 120,
1198 121, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1199 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1204 9, -99, -99, -99, -99, -99, -99, 55, -99, -99,
1205 -99, -99, -99, 58, -99, -99, -99, -99, -99, 58,
1206 58, 58, 58, 58, 122, 58, 58, 58, 58, 58,
1207 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1213 9, -100, -100, -100, -100, -100, -100, 55, -100, -100,
1214 -100, -100, -100, 58, -100, -100, -100, -100, -100, 58,
1215 58, 58, 123, 58, 58, 58, 58, 58, 124, 58,
1216 125, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1221 9, -101, -101, -101, -101, -101, -101, 55, -101, -101,
1222 -101, -101, -101, 58, -101, -101, -101, -101, -101, 58,
1223 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1224 58, 58, 58, 126, 58, 58, 58, 58, 58, 58,
1230 9, -102, -102, -102, -102, -102, -102, 55, -102, -102,
1231 -102, -102, -102, 58, -102, -102, -102, -102, -102, 58,
1232 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1233 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1238 9, -103, -103, -103, -103, -103, -103, 55, -103, -103,
1239 -103, -103, -103, 58, -103, -103, -103, -103, -103, 58,
1240 58, 58, 58, 58, 58, 58, 58, 58, 58, 127,
1241 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1247 9, -104, -104, -104, -104, -104, -104, 55, -104, -104,
1248 -104, -104, -104, 58, -104, -104, -104, -104, -104, 58,
1249 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1250 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1255 9, -105, -105, -105, -105, -105, -105, 55, -105, -105,
1256 -105, -105, -105, 58, -105, -105, -105, -105, -105, 58,
1257 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1258 58, 128, 58, 58, 58, 58, 58, 58, 58, 58,
1264 9, -106, -106, -106, -106, -106, -106, 55, -106, -106,
1265 -106, -106, -106, 58, -106, -106, -106, -106, -106, 58,
1266 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1267 58, 58, 58, 58, 58, 58, 58, 129, 58, 58,
1272 9, -107, -107, -107, -107, -107, -107, 55, -107, -107,
1273 -107, -107, -107, 58, -107, -107, -107, -107, -107, 58,
1274 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1275 58, 58, 58, 58, 58, 58, 58, 130, 58, 58,
1281 9, -108, -108, -108, -108, -108, -108, 55, -108, -108,
1282 -108, -108, -108, 58, -108, -108, -108, -108, -108, 58,
1283 58, 58, 58, 58, 58, 58, 58, 58, 131, 58,
1284 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1289 9, -109, -109, -109, -109, -109, -109, 55, -109, -109,
1290 -109, -109, -109, 58, -109, -109, -109, -109, -109, 58,
1291 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1292 132, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1298 9, -110, -110, -110, -110, -110, -110, 55, -110, -110,
1299 -110, -110, -110, 58, -110, -110, -110, -110, -110, 58,
1300 58, 58, 58, 58, 58, 58, 133, 58, 58, 58,
1301 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1306 9, -111, -111, -111, -111, -111, -111, 55, -111, -111,
1307 -111, -111, -111, 58, -111, -111, -111, -111, -111, 58,
1308 58, 58, 58, 58, 134, 58, 58, 58, 58, 58,
1309 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1315 9, -112, -112, -112, -112, -112, -112, 55, -112, -112,
1316 -112, -112, -112, 58, -112, -112, -112, -112, -112, 58,
1317 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1318 58, 58, 58, 58, 135, 58, 58, 58, 58, 58,
1323 9, -113, -113, -113, -113, -113, -113, 55, -113, -113,
1324 -113, -113, -113, 58, -113, -113, -113, -113, -113, 58,
1325 58, 58, 58, 58, 58, 58, 58, 58, 136, 58,
1326 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1332 9, -114, -114, -114, -114, -114, -114, 55, -114, -114,
1333 -114, -114, -114, 58, -114, -114, -114, -114, -114, 58,
1334 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1335 58, 58, 58, 58, 58, 137, 58, 58, 58, 58,
1340 9, -115, -115, -115, -115, -115, -115, 55, -115, -115,
1341 -115, -115, -115, 58, -115, -115, -115, -115, -115, 58,
1342 58, 58, 58, 58, 58, 58, 58, 58, 138, 58,
1343 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1349 9, -116, -116, -116, -116, -116, -116, 55, -116, -116,
1350 -116, -116, -116, 58, -116, -116, -116, -116, -116, 58,
1351 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1352 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1357 9, -117, -117, -117, -117, -117, -117, 55, -117, -117,
1358 -117, -117, -117, 58, -117, -117, -117, -117, -117, 58,
1359 58, 58, 139, 58, 58, 58, 58, 58, 58, 58,
1360 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1366 9, -118, -118, -118, -118, -118, -118, 55, -118, -118,
1367 -118, -118, -118, 58, -118, -118, -118, -118, -118, 58,
1368 58, 58, 58, 58, 140, 58, 58, 58, 58, 58,
1369 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1374 9, -119, -119, -119, -119, -119, -119, 55, -119, -119,
1375 -119, -119, -119, 58, -119, -119, -119, -119, -119, 58,
1376 58, 58, 58, 58, 58, 58, 58, 58, 141, 58,
1377 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1383 9, -120, -120, -120, -120, -120, -120, 55, -120, -120,
1384 -120, -120, -120, 58, -120, -120, -120, -120, -120, 58,
1385 58, 142, 58, 58, 58, 58, 58, 58, 58, 58,
1386 58, 58, 58, 58, 58, 58, 143, 58, 58, 58,
1391 9, -121, -121, -121, -121, -121, -121, 55, -121, -121,
1392 -121, -121, -121, 58, -121, -121, -121, -121, -121, 58,
1393 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1394 58, 58, 58, 58, 58, 58, 58, 144, 58, 58,
1400 9, -122, -122, -122, -122, -122, -122, 55, -122, -122,
1401 -122, -122, -122, 58, -122, -122, -122, -122, -122, 58,
1402 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1403 58, 145, 58, 58, 58, 58, 58, 58, 58, 58,
1408 9, -123, -123, -123, -123, -123, -123, 55, -123, -123,
1409 -123, -123, -123, 58, -123, -123, -123, -123, -123, 58,
1410 58, 58, 58, 58, 58, 58, 58, 146, 58, 58,
1411 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1417 9, -124, -124, -124, -124, -124, -124, 55, -124, -124,
1418 -124, -124, -124, 58, -124, -124, -124, -124, -124, 58,
1419 58, 58, 58, 58, 58, 147, 58, 58, 58, 58,
1420 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1425 9, -125, -125, -125, -125, -125, -125, 55, -125, -125,
1426 -125, -125, -125, 58, -125, -125, -125, -125, -125, 58,
1427 58, 58, 58, 58, 148, 58, 58, 58, 58, 58,
1428 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1434 9, -126, -126, -126, -126, -126, -126, 55, -126, -126,
1435 -126, -126, -126, 58, -126, -126, -126, -126, -126, 58,
1436 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1437 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1442 9, -127, -127, -127, -127, -127, -127, 55, -127, -127,
1443 -127, -127, -127, 58, -127, -127, -127, -127, -127, 58,
1444 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1445 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1451 9, -128, -128, -128, -128, -128, -128, 55, -128, -128,
1452 -128, -128, -128, 58, -128, -128, -128, -128, -128, 58,
1453 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1454 150, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1459 9, -129, -129, -129, -129, -129, -129, 55, -129, -129,
1460 -129, -129, -129, 58, -129, -129, -129, -129, -129, 58,
1461 58, 58, 151, 58, 58, 58, 58, 58, 58, 58,
1462 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1468 9, -130, -130, -130, -130, -130, -130, 55, -130, -130,
1469 -130, -130, -130, 58, -130, -130, -130, -130, -130, 58,
1470 58, 58, 58, 58, 58, 58, 58, 58, 58, 152,
1471 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1476 9, -131, -131, -131, -131, -131, -131, 55, -131, -131,
1477 -131, -131, -131, 58, -131, -131, -131, -131, -131, 58,
1478 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1479 58, 58, 153, 58, 58, 58, 58, 58, 58, 58,
1485 9, -132, -132, -132, -132, -132, -132, 55, -132, -132,
1486 -132, -132, -132, 58, -132, -132, -132, -132, -132, 58,
1487 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1488 58, 58, 58, 154, 58, 58, 58, 58, 58, 58,
1493 9, -133, -133, -133, -133, -133, -133, 55, -133, -133,
1494 -133, -133, -133, 58, -133, -133, -133, -133, -133, 58,
1495 58, 58, 58, 58, 155, 58, 58, 58, 58, 58,
1496 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1502 9, -134, -134, -134, -134, -134, -134, 55, -134, -134,
1503 -134, -134, -134, 58, -134, -134, -134, -134, -134, 58,
1504 58, 58, 156, 58, 58, 58, 58, 58, 58, 58,
1505 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1510 9, -135, -135, -135, -135, -135, -135, 55, -135, -135,
1511 -135, -135, -135, 58, -135, -135, -135, -135, -135, 58,
1512 58, 58, 157, 58, 58, 58, 58, 58, 58, 58,
1513 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1519 9, -136, -136, -136, -136, -136, -136, 55, -136, -136,
1520 -136, -136, -136, 58, -136, -136, -136, -136, -136, 58,
1521 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1522 58, 158, 58, 58, 58, 58, 58, 58, 58, 58,
1527 9, -137, -137, -137, -137, -137, -137, 55, -137, -137,
1528 -137, -137, -137, 58, -137, -137, -137, -137, -137, 58,
1529 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1530 58, 58, 58, 58, 58, 58, 159, 58, 58, 58,
1536 9, -138, -138, -138, -138, -138, -138, 55, -138, -138,
1537 -138, -138, -138, 58, -138, -138, -138, -138, -138, 58,
1538 58, 160, 58, 58, 58, 58, 58, 58, 58, 58,
1539 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1544 9, -139, -139, -139, -139, -139, -139, 55, -139, -139,
1545 -139, -139, -139, 58, -139, -139, -139, -139, -139, 58,
1546 58, 58, 58, 58, 161, 58, 58, 58, 58, 58,
1547 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1553 9, -140, -140, -140, -140, -140, -140, 55, -140, -140,
1554 -140, -140, -140, 58, -140, -140, -140, -140, -140, 58,
1555 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1556 58, 162, 58, 58, 58, 58, 58, 58, 58, 58,
1561 9, -141, -141, -141, -141, -141, -141, 55, -141, -141,
1562 -141, -141, -141, 58, -141, -141, -141, -141, -141, 58,
1563 58, 58, 58, 58, 58, 58, 163, 58, 58, 58,
1564 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1570 9, -142, -142, -142, -142, -142, -142, 55, -142, -142,
1571 -142, -142, -142, 58, -142, -142, -142, -142, -142, 58,
1572 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1573 58, 58, 164, 58, 58, 58, 58, 58, 58, 58,
1578 9, -143, -143, -143, -143, -143, -143, 55, -143, -143,
1579 -143, -143, -143, 58, -143, -143, -143, -143, -143, 58,
1580 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1581 58, 58, 58, 58, 165, 58, 58, 58, 58, 58,
1587 9, -144, -144, -144, -144, -144, -144, 55, -144, -144,
1588 -144, -144, -144, 58, -144, -144, -144, -144, -144, 58,
1589 58, 58, 58, 58, 58, 58, 58, 58, 58, 166,
1590 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1595 9, -145, -145, -145, -145, -145, -145, 55, -145, -145,
1596 -145, -145, -145, 58, -145, -145, -145, -145, -145, 58,
1597 58, 58, 58, 167, 58, 58, 58, 58, 58, 58,
1598 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1604 9, -146, -146, -146, -146, -146, -146, 55, -146, -146,
1605 -146, -146, -146, 58, -146, -146, -146, -146, -146, 58,
1606 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1607 58, 58, 168, 58, 58, 58, 58, 58, 58, 58,
1612 9, -147, -147, -147, -147, -147, -147, 55, -147, -147,
1613 -147, -147, -147, 58, -147, -147, -147, -147, -147, 58,
1614 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1615 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1621 9, -148, -148, -148, -148, -148, -148, 55, -148, -148,
1622 -148, -148, -148, 58, -148, -148, -148, -148, -148, 58,
1623 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1624 58, 169, 58, 58, 58, 58, 58, 58, 58, 58,
1629 9, -149, -149, -149, -149, -149, -149, 55, -149, -149,
1630 -149, -149, -149, 58, -149, -149, -149, -149, -149, 58,
1631 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1632 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1638 9, -150, -150, -150, -150, -150, -150, 55, -150, -150,
1639 -150, -150, -150, 58, -150, -150, -150, -150, -150, 58,
1640 58, 58, 58, 58, 170, 58, 58, 58, 58, 58,
1641 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1646 9, -151, -151, -151, -151, -151, -151, 55, -151, -151,
1647 -151, -151, -151, 58, -151, -151, -151, -151, -151, 58,
1648 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1649 58, 58, 171, 58, 58, 58, 58, 58, 58, 58,
1655 9, -152, -152, -152, -152, -152, -152, 55, -152, -152,
1656 -152, -152, -152, 58, -152, -152, -152, -152, -152, 58,
1657 58, 58, 58, 58, 172, 58, 58, 58, 58, 58,
1658 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1663 9, -153, -153, -153, -153, -153, -153, 55, -153, -153,
1664 -153, -153, -153, 58, -153, -153, -153, -153, -153, 58,
1665 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1666 58, 173, 58, 58, 58, 58, 58, 58, 58, 58,
1672 9, -154, -154, -154, -154, -154, -154, 55, -154, -154,
1673 -154, -154, -154, 58, -154, -154, -154, -154, -154, 58,
1674 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1675 58, 58, 58, 58, 58, 58, 174, 58, 58, 58,
1680 9, -155, -155, -155, -155, -155, -155, 55, -155, -155,
1681 -155, -155, -155, 58, -155, -155, -155, -155, -155, 58,
1682 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1683 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1689 9, -156, -156, -156, -156, -156, -156, 55, -156, -156,
1690 -156, -156, -156, 58, -156, -156, -156, -156, -156, 58,
1691 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1692 58, 58, 58, 58, 58, 58, 175, 58, 58, 58,
1697 9, -157, -157, -157, -157, -157, -157, 55, -157, -157,
1698 -157, -157, -157, 58, -157, -157, -157, -157, -157, 58,
1699 58, 58, 58, 58, 176, 58, 58, 58, 58, 58,
1700 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1706 9, -158, -158, -158, -158, -158, -158, 55, -158, -158,
1707 -158, -158, -158, 58, -158, -158, -158, -158, -158, 58,
1708 58, 58, 58, 58, 58, 58, 177, 58, 58, 58,
1709 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1714 9, -159, -159, -159, -159, -159, -159, 55, -159, -159,
1715 -159, -159, -159, 58, -159, -159, -159, -159, -159, 58,
1716 178, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1717 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1723 9, -160, -160, -160, -160, -160, -160, 55, -160, -160,
1724 -160, -160, -160, 58, -160, -160, -160, -160, -160, 58,
1725 58, 58, 58, 58, 58, 58, 58, 58, 58, 179,
1726 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1731 9, -161, -161, -161, -161, -161, -161, 55, -161, -161,
1732 -161, -161, -161, 58, -161, -161, -161, -161, -161, 58,
1733 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1734 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1740 9, -162, -162, -162, -162, -162, -162, 55, -162, -162,
1741 -162, -162, -162, 58, -162, -162, -162, -162, -162, 58,
1742 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1743 58, 58, 58, 58, 58, 58, 180, 58, 58, 58,
1748 9, -163, -163, -163, -163, -163, -163, 55, -163, -163,
1749 -163, -163, -163, 58, -163, -163, -163, -163, -163, 58,
1750 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1751 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1757 9, -164, -164, -164, -164, -164, -164, 55, -164, -164,
1758 -164, -164, -164, 58, -164, -164, -164, -164, -164, 58,
1759 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1760 58, 58, 181, 58, 58, 58, 58, 58, 58, 58,
1765 9, -165, -165, -165, -165, -165, -165, 55, -165, -165,
1766 -165, -165, -165, 58, -165, -165, -165, -165, -165, 58,
1767 58, 58, 58, 58, 58, 58, 58, 58, 182, 58,
1768 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1774 9, -166, -166, -166, -166, -166, -166, 55, -166, -166,
1775 -166, -166, -166, 58, -166, -166, -166, -166, -166, 58,
1776 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1777 58, 58, 58, 58, 58, 58, 183, 58, 58, 58,
1782 9, -167, -167, -167, -167, -167, -167, 55, -167, -167,
1783 -167, -167, -167, 58, -167, -167, -167, -167, -167, 58,
1784 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1785 58, 58, 58, 58, 58, 184, 58, 58, 58, 58,
1791 9, -168, -168, -168, -168, -168, -168, 55, -168, -168,
1792 -168, -168, -168, 58, -168, -168, -168, -168, -168, 58,
1793 58, 58, 58, 58, 58, 58, 58, 58, 185, 58,
1794 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1799 9, -169, -169, -169, -169, -169, -169, 55, -169, -169,
1800 -169, -169, -169, 58, -169, -169, -169, -169, -169, 58,
1801 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1802 58, 58, 58, 58, 58, 58, 58, 186, 58, 58,
1808 9, -170, -170, -170, -170, -170, -170, 55, -170, -170,
1809 -170, -170, -170, 58, -170, -170, -170, -170, -170, 58,
1810 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1811 58, 187, 58, 58, 58, 58, 58, 58, 58, 58,
1816 9, -171, -171, -171, -171, -171, -171, 55, -171, -171,
1817 -171, -171, -171, 58, -171, -171, -171, -171, -171, 58,
1818 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1819 58, 188, 58, 58, 58, 58, 58, 58, 58, 58,
1825 9, -172, -172, -172, -172, -172, -172, 55, -172, -172,
1826 -172, -172, -172, 58, -172, -172, -172, -172, -172, 58,
1827 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1828 58, 58, 58, 58, 58, 189, 58, 58, 58, 58,
1833 9, -173, -173, -173, -173, -173, -173, 55, -173, -173,
1834 -173, -173, -173, 58, -173, -173, -173, -173, -173, 58,
1835 190, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1836 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1842 9, -174, -174, -174, -174, -174, -174, 55, -174, -174,
1843 -174, -174, -174, 58, -174, -174, -174, -174, -174, 58,
1844 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1845 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1850 9, -175, -175, -175, -175, -175, -175, 55, -175, -175,
1851 -175, -175, -175, 58, -175, -175, -175, -175, -175, 58,
1852 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1853 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1859 9, -176, -176, -176, -176, -176, -176, 55, -176, -176,
1860 -176, -176, -176, 58, -176, -176, -176, -176, -176, 58,
1861 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1862 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1867 9, -177, -177, -177, -177, -177, -177, 55, -177, -177,
1868 -177, -177, -177, 58, -177, -177, -177, -177, -177, 58,
1869 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1870 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1876 9, -178, -178, -178, -178, -178, -178, 55, -178, -178,
1877 -178, -178, -178, 58, -178, -178, -178, -178, -178, 58,
1878 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1879 58, 58, 58, 58, 58, 58, 191, 58, 58, 58,
1884 9, -179, -179, -179, -179, -179, -179, 55, -179, -179,
1885 -179, -179, -179, 58, -179, -179, -179, -179, -179, 58,
1886 58, 58, 58, 58, 192, 58, 58, 58, 58, 58,
1887 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1893 9, -180, -180, -180, -180, -180, -180, 55, -180, -180,
1894 -180, -180, -180, 58, -180, -180, -180, -180, -180, 58,
1895 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1896 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1901 9, -181, -181, -181, -181, -181, -181, 55, -181, -181,
1902 -181, -181, -181, 58, -181, -181, -181, -181, -181, 58,
1903 58, 58, 58, 58, 58, 58, 58, 58, 58, 193,
1904 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1910 9, -182, -182, -182, -182, -182, -182, 55, -182, -182,
1911 -182, -182, -182, 58, -182, -182, -182, -182, -182, 58,
1912 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1913 58, 58, 58, 58, 58, 194, 58, 58, 58, 58,
1918 9, -183, -183, -183, -183, -183, -183, 55, -183, -183,
1919 -183, -183, -183, 58, -183, -183, -183, -183, -183, 58,
1920 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1921 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1927 9, -184, -184, -184, -184, -184, -184, 55, -184, -184,
1928 -184, -184, -184, 58, -184, -184, -184, -184, -184, 58,
1929 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1930 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1935 9, -185, -185, -185, -185, -185, -185, 55, -185, -185,
1936 -185, -185, -185, 58, -185, -185, -185, -185, -185, 58,
1937 58, 58, 195, 58, 58, 58, 58, 58, 58, 58,
1938 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1944 9, -186, -186, -186, -186, -186, -186, 55, -186, -186,
1945 -186, -186, -186, 58, -186, -186, -186, -186, -186, 58,
1946 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1947 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1952 9, -187, -187, -187, -187, -187, -187, 55, -187, -187,
1953 -187, -187, -187, 58, -187, -187, -187, -187, -187, 58,
1954 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1955 58, 58, 58, 58, 58, 58, 58, 196, 58, 58,
1961 9, -188, -188, -188, -188, -188, -188, 55, -188, -188,
1962 -188, -188, -188, 58, -188, -188, -188, -188, -188, 58,
1963 58, 58, 58, 58, 58, 197, 58, 58, 58, 58,
1964 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1969 9, -189, -189, -189, -189, -189, -189, 55, -189, -189,
1970 -189, -189, -189, 58, -189, -189, -189, -189, -189, 58,
1971 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1972 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1978 9, -190, -190, -190, -190, -190, -190, 55, -190, -190,
1979 -190, -190, -190, 58, -190, -190, -190, -190, -190, 58,
1980 58, 58, 58, 58, 58, 58, 58, 58, 58, 198,
1981 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1986 9, -191, -191, -191, -191, -191, -191, 55, -191, -191,
1987 -191, -191, -191, 58, -191, -191, -191, -191, -191, 58,
1988 58, 58, 58, 58, 199, 58, 58, 58, 58, 58,
1989 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1995 9, -192, -192, -192, -192, -192, -192, 55, -192, -192,
1996 -192, -192, -192, 58, -192, -192, -192, -192, -192, 58,
1997 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1998 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
2003 9, -193, -193, -193, -193, -193, -193, 55, -193, -193,
2004 -193, -193, -193, 58, -193, -193, -193, -193, -193, 58,
2005 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
2006 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
2012 9, -194, -194, -194, -194, -194, -194, 55, -194, -194,
2013 -194, -194, -194, 58, -194, -194, -194, -194, -194, 58,
2014 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
2015 58, 58, 58, 58, 58, 58, 200, 58, 58, 58,
2020 9, -195, -195, -195, -195, -195, -195, 55, -195, -195,
2021 -195, -195, -195, 58, -195, -195, -195, -195, -195, 58,
2022 58, 58, 58, 58, 201, 58, 58, 58, 58, 58,
2023 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
2029 9, -196, -196, -196, -196, -196, -196, 55, -196, -196,
2030 -196, -196, -196, 58, -196, -196, -196, -196, -196, 58,
2031 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
2032 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
2037 9, -197, -197, -197, -197, -197, -197, 55, -197, -197,
2038 -197, -197, -197, 58, -197, -197, -197, -197, -197, 58,
2039 58, 58, 58, 58, 58, 58, 58, 58, 202, 58,
2040 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
2046 9, -198, -198, -198, -198, -198, -198, 55, -198, -198,
2047 -198, -198, -198, 58, -198, -198, -198, -198, -198, 58,
2048 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
2049 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
2054 9, -199, -199, -199, -199, -199, -199, 55, -199, -199,
2055 -199, -199, -199, 58, -199, -199, -199, -199, -199, 58,
2056 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
2057 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
2063 9, -200, -200, -200, -200, -200, -200, 55, -200, -200,
2064 -200, -200, -200, 58, -200, -200, -200, -200, -200, 58,
2065 203, 58, 58, 58, 58, 58, 58, 58, 58, 58,
2066 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
2071 9, -201, -201, -201, -201, -201, -201, 55, -201, -201,
2072 -201, -201, -201, 58, -201, -201, -201, -201, -201, 58,
2073 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
2074 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
2080 9, -202, -202, -202, -202, -202, -202, 55, -202, -202,
2081 -202, -202, -202, 58, -202, -202, -202, -202, -202, 58,
2082 58, 58, 58, 58, 58, 58, 204, 58, 58, 58,
2083 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
2088 9, -203, -203, -203, -203, -203, -203, 55, -203, -203,
2089 -203, -203, -203, 58, -203, -203, -203, -203, -203, 58,
2090 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
2091 58, 58, 58, 58, 58, 58, 205, 58, 58, 58,
2097 9, -204, -204, -204, -204, -204, -204, 55, -204, -204,
2098 -204, -204, -204, 58, -204, -204, -204, -204, -204, 58,
2099 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
2100 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
2105 9, -205, -205, -205, -205, -205, -205, 55, -205, -205,
2106 -205, -205, -205, 58, -205, -205, -205, -205, -205, 58,
2107 58, 58, 58, 58, 206, 58, 58, 58, 58, 58,
2108 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
2114 9, -206, -206, -206, -206, -206, -206, 55, -206, -206,
2115 -206, -206, -206, 58, -206, -206, -206, -206, -206, 58,
2116 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
2117 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
2123 static yy_state_type yy_get_previous_state ( void );
2124 static yy_state_type yy_try_NUL_trans ( yy_state_type current_state );
2125 static int yy_get_next_buffer ( void );
2126 static void yynoreturn yy_fatal_error ( const char* msg );
2128 /* Done after the current pattern has been matched and before the
2129 * corresponding action - sets up yytext.
2131 #define YY_DO_BEFORE_ACTION \
2132 (yytext_ptr) = yy_bp; \
2133 yyleng = (int) (yy_cp - yy_bp); \
2134 (yy_hold_char) = *yy_cp; \
2136 (yy_c_buf_p) = yy_cp;
2137 #define YY_NUM_RULES 63
2138 #define YY_END_OF_BUFFER 64
2139 /* This struct is not used in this scanner,
2140 but its presence is necessary. */
2141 struct yy_trans_info
2143 flex_int32_t yy_verify;
2144 flex_int32_t yy_nxt;
2146 static const flex_int16_t yy_accept[207] =
2148 2, 2, 0, 0, 0, 0, 0, 0, 64, 50,
2149 2, 4, 42, 47, 1, 49, 50, 43, 44, 50,
2150 48, 50, 38, 36, 40, 50, 48, 48, 48, 48,
2151 48, 48, 48, 48, 48, 48, 48, 48, 48, 50,
2152 51, 53, 52, 62, 59, 61, 55, 58, 57, 54,
2153 56, 2, 37, 1, 49, 35, 46, 48, 45, 39,
2154 41, 3, 48, 48, 48, 48, 48, 48, 18, 48,
2155 48, 48, 48, 48, 25, 48, 48, 48, 48, 48,
2156 48, 48, 48, 34, 51, 51, 62, 59, 61, 60,
2157 55, 54, 56, 48, 48, 48, 48, 48, 48, 48,
2159 48, 17, 48, 20, 48, 48, 48, 48, 48, 48,
2160 48, 48, 48, 48, 48, 5, 48, 48, 48, 48,
2161 48, 48, 48, 48, 48, 16, 48, 48, 22, 48,
2162 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
2163 48, 48, 48, 48, 48, 48, 14, 48, 19, 48,
2164 48, 48, 48, 48, 28, 48, 48, 48, 48, 48,
2165 6, 48, 8, 48, 48, 48, 48, 48, 48, 48,
2166 48, 48, 48, 27, 29, 30, 31, 48, 48, 7,
2167 48, 48, 11, 12, 48, 15, 48, 48, 24, 48,
2168 48, 33, 9, 48, 48, 21, 48, 26, 32, 48,
2170 13, 48, 48, 23, 48, 10
2173 static const YY_CHAR yy_ec[256] =
2175 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
2176 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2177 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2178 1, 2, 4, 5, 6, 7, 1, 8, 9, 10,
2179 11, 1, 12, 1, 13, 1, 1, 13, 13, 13,
2180 13, 13, 13, 13, 13, 13, 13, 14, 1, 15,
2181 16, 17, 1, 1, 13, 13, 13, 13, 13, 13,
2182 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
2183 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
2184 1, 18, 1, 1, 19, 1, 20, 21, 22, 23,
2186 24, 25, 26, 27, 28, 13, 13, 29, 30, 31,
2187 32, 33, 13, 34, 35, 36, 37, 38, 13, 39,
2188 40, 13, 1, 41, 1, 1, 1, 1, 1, 1,
2189 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2190 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2191 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2192 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2193 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2194 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2195 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2197 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2198 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2199 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2200 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2201 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2205 /* Table of booleans, true if rule could match eol. */
2206 static const flex_int32_t yy_rule_can_match_eol[64] =
2208 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2209 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2210 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0,
2213 extern int yy_flex_debug;
2214 int yy_flex_debug = 0;
2216 /* The intent behind this definition is that it'll catch
2217 * any uses of REJECT which flex missed.
2219 #define REJECT reject_used_but_not_detected
2220 #define yymore() yymore_used_but_not_detected
2221 #define YY_MORE_ADJ 0
2222 #define YY_RESTORE_YY_MORE_OFFSET
2224 /* SPDX-License-Identifier: GPL-2.0-only */
2226 * Copyright (C) 2002 Roman Zippel <zippel@linux-m68k.org>
2237 #include "parser.tab.h"
2239 #define YY_DECL static int yylex1(void)
2241 #define START_STRSIZE 16
2248 static int prev_prev_token = T_EOL;
2249 static int prev_token = T_EOL;
2251 static int text_size, text_asize;
2254 struct buffer *parent;
2255 YY_BUFFER_STATE state;
2258 static struct buffer *current_buf;
2260 static int last_ts, first_ts;
2262 static char *expand_token(const char *in, size_t n);
2263 static void append_expanded_string(const char *in);
2264 static void zconf_endhelp(void);
2265 static void zconf_endfile(void);
2267 static void new_string(void)
2269 text = xmalloc(START_STRSIZE);
2270 text_asize = START_STRSIZE;
2275 static void append_string(const char *str, int size)
2277 int new_size = text_size + size + 1;
2278 if (new_size > text_asize) {
2279 new_size += START_STRSIZE - 1;
2280 new_size &= -START_STRSIZE;
2281 text = xrealloc(text, new_size);
2282 text_asize = new_size;
2284 memcpy(text + text_size, str, size);
2286 text[text_size] = 0;
2289 static void alloc_string(const char *str, int size)
2291 text = xmalloc(size + 1);
2292 memcpy(text, str, size);
2296 static void warn_ignored_character(char chr)
2299 "%s:%d:warning: ignoring unsupported character '%c'\n",
2300 current_file->name, yylineno, chr);
2304 #define ASSIGN_VAL 1
2308 #ifndef YY_NO_UNISTD_H
2309 /* Special case for "unistd.h", since it is non-ANSI. We include it way
2310 * down here because we want the user's section 1 to have been scanned first.
2311 * The user has a chance to override it with an option.
2316 #ifndef YY_EXTRA_TYPE
2317 #define YY_EXTRA_TYPE void *
2320 static int yy_init_globals ( void );
2322 /* Accessor methods to globals.
2323 These are made visible to non-reentrant scanners for convenience. */
2325 int yylex_destroy ( void );
2327 int yyget_debug ( void );
2329 void yyset_debug ( int debug_flag );
2331 YY_EXTRA_TYPE yyget_extra ( void );
2333 void yyset_extra ( YY_EXTRA_TYPE user_defined );
2335 FILE *yyget_in ( void );
2337 void yyset_in ( FILE * _in_str );
2339 FILE *yyget_out ( void );
2341 void yyset_out ( FILE * _out_str );
2343 int yyget_leng ( void );
2345 char *yyget_text ( void );
2347 int yyget_lineno ( void );
2349 void yyset_lineno ( int _line_number );
2351 /* Macros after this point can all be overridden by user definitions in
2355 #ifndef YY_SKIP_YYWRAP
2357 extern "C" int yywrap ( void );
2359 extern int yywrap ( void );
2365 static void yyunput ( int c, char *buf_ptr );
2370 static void yy_flex_strncpy ( char *, const char *, int );
2373 #ifdef YY_NEED_STRLEN
2374 static int yy_flex_strlen ( const char * );
2379 static int yyinput ( void );
2381 static int input ( void );
2386 /* Amount of stuff to slurp up with each read. */
2387 #ifndef YY_READ_BUF_SIZE
2389 /* On IA-64, the buffer size is 16k, not 8k */
2390 #define YY_READ_BUF_SIZE 16384
2392 #define YY_READ_BUF_SIZE 8192
2393 #endif /* __ia64__ */
2396 /* Copy whatever the last rule matched to the standard output. */
2398 /* This used to be an fputs(), but since the string might contain NUL's,
2399 * we now use fwrite().
2401 #define ECHO do { if (fwrite( yytext, (size_t) yyleng, 1, yyout )) {} } while (0)
2404 /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
2405 * is returned in "result".
2408 #define YY_INPUT(buf,result,max_size) \
2410 while ( (result = (int) read( fileno(yyin), buf, (yy_size_t) max_size )) < 0 ) \
2412 if( errno != EINTR) \
2414 YY_FATAL_ERROR( "input in flex scanner failed" ); \
2424 /* No semi-colon after return; correct usage is to write "yyterminate();" -
2425 * we don't want an extra ';' after the "return" because that will cause
2426 * some compilers to complain about unreachable statements.
2429 #define yyterminate() return YY_NULL
2432 /* Number of entries by which start-condition stack grows. */
2433 #ifndef YY_START_STACK_INCR
2434 #define YY_START_STACK_INCR 25
2437 /* Report a fatal error. */
2438 #ifndef YY_FATAL_ERROR
2439 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
2442 /* end tables serialization structures and prototypes */
2444 /* Default declaration of generated scanner - a define so the user can
2445 * easily add parameters.
2448 #define YY_DECL_IS_OURS 1
2450 extern int yylex (void);
2452 #define YY_DECL int yylex (void)
2453 #endif /* !YY_DECL */
2455 /* Code executed at the beginning of each rule, after yytext and yyleng
2458 #ifndef YY_USER_ACTION
2459 #define YY_USER_ACTION
2462 /* Code executed at the end of each rule. */
2464 #define YY_BREAK /*LINTED*/break;
2467 #define YY_RULE_SETUP \
2470 /** The main scanner function which does all the work.
2474 yy_state_type yy_current_state;
2475 char *yy_cp, *yy_bp;
2487 (yy_start) = 1; /* first start state */
2495 if ( ! YY_CURRENT_BUFFER ) {
2496 yyensure_buffer_stack ();
2497 YY_CURRENT_BUFFER_LVALUE =
2498 yy_create_buffer( yyin, YY_BUF_SIZE );
2501 yy_load_buffer_state( );
2509 while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */
2511 yy_cp = (yy_c_buf_p);
2513 /* Support of yytext. */
2514 *yy_cp = (yy_hold_char);
2516 /* yy_bp points to the position in yy_ch_buf of the start of
2521 yy_current_state = (yy_start);
2523 while ( (yy_current_state = yy_nxt[yy_current_state][ yy_ec[YY_SC_TO_UI(*yy_cp)] ]) > 0 )
2526 yy_current_state = -yy_current_state;
2529 yy_act = yy_accept[yy_current_state];
2531 YY_DO_BEFORE_ACTION;
2533 if ( yy_act != YY_END_OF_BUFFER && yy_rule_can_match_eol[yy_act] )
2536 for ( yyl = 0; yyl < yyleng; ++yyl )
2537 if ( yytext[yyl] == '\n' )
2543 do_action: /* This label is used only to access EOF actions. */
2546 { /* beginning of action switch */
2549 /* ignore comment */
2556 /* rule 3 can match eol */
2558 /* escaped new line */
2561 /* rule 4 can match eol */
2587 return T_DEF_TRISTATE;
2639 return T_MENUCONFIG;
2703 return T_LESS_EQUAL;
2711 return T_GREATER_EQUAL;
2719 return T_OPEN_PAREN;
2723 return T_CLOSE_PAREN;
2727 return T_COLON_EQUAL;
2731 return T_PLUS_EQUAL;
2744 alloc_string(yytext, yyleng);
2745 yylval.string = text;
2752 /* this token includes at least one '$' */
2753 yylval.string = expand_token(yytext, yyleng);
2754 if (strlen(yylval.string))
2756 free(yylval.string);
2761 warn_ignored_character(*yytext);
2767 alloc_string(yytext, yyleng);
2768 yylval.string = text;
2769 return T_ASSIGN_VAL;
2773 /* rule 52 can match eol */
2775 { BEGIN(INITIAL); return T_EOL; }
2784 append_expanded_string(yytext);
2789 append_string(yytext, yyleng);
2795 append_string(yytext + 1, yyleng - 1);
2801 if (str == yytext[0]) {
2803 yylval.string = text;
2804 return T_WORD_QUOTE;
2806 append_string(yytext, 1);
2810 /* rule 58 can match eol */
2814 "%s:%d:warning: multi-line strings not supported\n",
2815 zconf_curname(), zconf_lineno());
2818 yylval.string = text;
2819 return T_WORD_QUOTE;
2822 case YY_STATE_EOF(STRING):
2825 yylval.string = text;
2826 return T_WORD_QUOTE;
2834 for (i = 0; i < yyleng; i++) {
2835 if (yytext[i] == '\t')
2842 if (ts < first_ts) {
2848 append_string(" ", 8);
2851 append_string(" ", ts);
2856 /* rule 60 can match eol */
2857 *yy_cp = (yy_hold_char); /* undo effects of setting up yytext */
2858 YY_LINENO_REWIND_TO(yy_cp - 1);
2859 (yy_c_buf_p) = yy_cp -= 1;
2860 YY_DO_BEFORE_ACTION; /* set up yytext again */
2868 /* rule 61 can match eol */
2871 append_string("\n", 1);
2878 if ((yytext[yyleng-1] != ' ') && (yytext[yyleng-1] != '\t'))
2882 append_string(yytext, yyleng);
2887 case YY_STATE_EOF(HELP):
2894 case YY_STATE_EOF(INITIAL):
2895 case YY_STATE_EOF(ASSIGN_VAL):
2899 if (prev_token != T_EOL && prev_token != T_HELPTEXT)
2900 fprintf(stderr, "%s:%d:warning: no new line at end of file\n",
2901 current_file->name, yylineno);
2913 YY_FATAL_ERROR( "flex scanner jammed" );
2916 case YY_END_OF_BUFFER:
2918 /* Amount of text matched not including the EOB char. */
2919 int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
2921 /* Undo the effects of YY_DO_BEFORE_ACTION. */
2922 *yy_cp = (yy_hold_char);
2923 YY_RESTORE_YY_MORE_OFFSET
2925 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
2927 /* We're scanning a new file or input source. It's
2928 * possible that this happened because the user
2929 * just pointed yyin at a new source and called
2930 * yylex(). If so, then we have to assure
2931 * consistency between YY_CURRENT_BUFFER and our
2932 * globals. Here is the right place to do so, because
2933 * this is the first action (other than possibly a
2934 * back-up) that will match for the new input source.
2936 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
2937 YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
2938 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
2941 /* Note that here we test for yy_c_buf_p "<=" to the position
2942 * of the first EOB in the buffer, since yy_c_buf_p will
2943 * already have been incremented past the NUL character
2944 * (since all states make transitions on EOB to the
2945 * end-of-buffer state). Contrast this with the test
2948 if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
2949 { /* This was really a NUL. */
2950 yy_state_type yy_next_state;
2952 (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
2954 yy_current_state = yy_get_previous_state( );
2956 /* Okay, we're now positioned to make the NUL
2957 * transition. We couldn't have
2958 * yy_get_previous_state() go ahead and do it
2959 * for us because it doesn't know how to deal
2960 * with the possibility of jamming (and we don't
2961 * want to build jamming into it because then it
2962 * will run more slowly).
2965 yy_next_state = yy_try_NUL_trans( yy_current_state );
2967 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
2969 if ( yy_next_state )
2971 /* Consume the NUL. */
2972 yy_cp = ++(yy_c_buf_p);
2973 yy_current_state = yy_next_state;
2979 yy_cp = (yy_c_buf_p);
2980 goto yy_find_action;
2984 else switch ( yy_get_next_buffer( ) )
2986 case EOB_ACT_END_OF_FILE:
2988 (yy_did_buffer_switch_on_eof) = 0;
2992 /* Note: because we've taken care in
2993 * yy_get_next_buffer() to have set up
2994 * yytext, we can now set up
2995 * yy_c_buf_p so that if some total
2996 * hoser (like flex itself) wants to
2997 * call the scanner after we return the
2998 * YY_NULL, it'll still work - another
2999 * YY_NULL will get returned.
3001 (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
3003 yy_act = YY_STATE_EOF(YY_START);
3009 if ( ! (yy_did_buffer_switch_on_eof) )
3015 case EOB_ACT_CONTINUE_SCAN:
3017 (yytext_ptr) + yy_amount_of_matched_text;
3019 yy_current_state = yy_get_previous_state( );
3021 yy_cp = (yy_c_buf_p);
3022 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
3025 case EOB_ACT_LAST_MATCH:
3027 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
3029 yy_current_state = yy_get_previous_state( );
3031 yy_cp = (yy_c_buf_p);
3032 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
3033 goto yy_find_action;
3040 "fatal flex scanner internal error--no action found" );
3041 } /* end of action switch */
3042 } /* end of scanning one token */
3043 } /* end of user's declarations */
3044 } /* end of yylex */
3046 /* yy_get_next_buffer - try to read in a new buffer
3048 * Returns a code representing an action:
3049 * EOB_ACT_LAST_MATCH -
3050 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
3051 * EOB_ACT_END_OF_FILE - end of file
3053 static int yy_get_next_buffer (void)
3055 char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
3056 char *source = (yytext_ptr);
3057 int number_to_move, i;
3060 if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
3062 "fatal flex scanner internal error--end of buffer missed" );
3064 if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
3065 { /* Don't try to fill the buffer, so this is an EOF. */
3066 if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
3068 /* We matched a single character, the EOB, so
3069 * treat this as a final EOF.
3071 return EOB_ACT_END_OF_FILE;
3076 /* We matched some text prior to the EOB, first
3079 return EOB_ACT_LAST_MATCH;
3083 /* Try to read more data. */
3085 /* First move last chars to start of buffer. */
3086 number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr) - 1);
3088 for ( i = 0; i < number_to_move; ++i )
3089 *(dest++) = *(source++);
3091 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
3092 /* don't do the read, it's not guaranteed to return an EOF,
3095 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
3100 YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
3102 while ( num_to_read <= 0 )
3103 { /* Not enough room in the buffer - grow it. */
3105 /* just a shorter name for the current buffer */
3106 YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE;
3108 int yy_c_buf_p_offset =
3109 (int) ((yy_c_buf_p) - b->yy_ch_buf);
3111 if ( b->yy_is_our_buffer )
3113 int new_size = b->yy_buf_size * 2;
3115 if ( new_size <= 0 )
3116 b->yy_buf_size += b->yy_buf_size / 8;
3118 b->yy_buf_size *= 2;
3120 b->yy_ch_buf = (char *)
3121 /* Include room in for 2 EOB chars. */
3122 yyrealloc( (void *) b->yy_ch_buf,
3123 (yy_size_t) (b->yy_buf_size + 2) );
3126 /* Can't grow it, we don't own it. */
3127 b->yy_ch_buf = NULL;
3129 if ( ! b->yy_ch_buf )
3131 "fatal error - scanner input buffer overflow" );
3133 (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
3135 num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
3140 if ( num_to_read > YY_READ_BUF_SIZE )
3141 num_to_read = YY_READ_BUF_SIZE;
3143 /* Read in more data. */
3144 YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
3145 (yy_n_chars), num_to_read );
3147 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
3150 if ( (yy_n_chars) == 0 )
3152 if ( number_to_move == YY_MORE_ADJ )
3154 ret_val = EOB_ACT_END_OF_FILE;
3160 ret_val = EOB_ACT_LAST_MATCH;
3161 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
3162 YY_BUFFER_EOF_PENDING;
3167 ret_val = EOB_ACT_CONTINUE_SCAN;
3169 if (((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
3170 /* Extend the array by 50%, plus the number we really need. */
3171 int new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
3172 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc(
3173 (void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf, (yy_size_t) new_size );
3174 if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
3175 YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
3176 /* "- 2" to take care of EOB's */
3177 YY_CURRENT_BUFFER_LVALUE->yy_buf_size = (int) (new_size - 2);
3180 (yy_n_chars) += number_to_move;
3181 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
3182 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
3184 (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
3189 /* yy_get_previous_state - get the state just before the EOB char was reached */
3191 static yy_state_type yy_get_previous_state (void)
3193 yy_state_type yy_current_state;
3196 yy_current_state = (yy_start);
3198 for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
3200 yy_current_state = yy_nxt[yy_current_state][(*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1)];
3203 return yy_current_state;
3206 /* yy_try_NUL_trans - try to make a transition on the NUL character
3209 * next_state = yy_try_NUL_trans( current_state );
3211 static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state )
3215 yy_current_state = yy_nxt[yy_current_state][1];
3216 yy_is_jam = (yy_current_state <= 0);
3218 return yy_is_jam ? 0 : yy_current_state;
3223 static void yyunput (int c, char * yy_bp )
3227 yy_cp = (yy_c_buf_p);
3229 /* undo effects of setting up yytext */
3230 *yy_cp = (yy_hold_char);
3232 if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
3233 { /* need to shift things up to make room */
3234 /* +2 for EOB chars. */
3235 int number_to_move = (yy_n_chars) + 2;
3236 char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[
3237 YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2];
3239 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move];
3241 while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
3242 *--dest = *--source;
3244 yy_cp += (int) (dest - source);
3245 yy_bp += (int) (dest - source);
3246 YY_CURRENT_BUFFER_LVALUE->yy_n_chars =
3247 (yy_n_chars) = (int) YY_CURRENT_BUFFER_LVALUE->yy_buf_size;
3249 if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
3250 YY_FATAL_ERROR( "flex scanner push-back overflow" );
3253 *--yy_cp = (char) c;
3259 (yytext_ptr) = yy_bp;
3260 (yy_hold_char) = *yy_cp;
3261 (yy_c_buf_p) = yy_cp;
3268 static int yyinput (void)
3270 static int input (void)
3276 *(yy_c_buf_p) = (yy_hold_char);
3278 if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
3280 /* yy_c_buf_p now points to the character we want to return.
3281 * If this occurs *before* the EOB characters, then it's a
3282 * valid NUL; if not, then we've hit the end of the buffer.
3284 if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
3285 /* This was really a NUL. */
3286 *(yy_c_buf_p) = '\0';
3289 { /* need more input */
3290 int offset = (int) ((yy_c_buf_p) - (yytext_ptr));
3293 switch ( yy_get_next_buffer( ) )
3295 case EOB_ACT_LAST_MATCH:
3296 /* This happens because yy_g_n_b()
3297 * sees that we've accumulated a
3298 * token and flags that we need to
3299 * try matching the token before
3300 * proceeding. But for input(),
3301 * there's no matching to consider.
3302 * So convert the EOB_ACT_LAST_MATCH
3303 * to EOB_ACT_END_OF_FILE.
3306 /* Reset buffer status. */
3311 case EOB_ACT_END_OF_FILE:
3316 if ( ! (yy_did_buffer_switch_on_eof) )
3325 case EOB_ACT_CONTINUE_SCAN:
3326 (yy_c_buf_p) = (yytext_ptr) + offset;
3332 c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */
3333 *(yy_c_buf_p) = '\0'; /* preserve yytext */
3334 (yy_hold_char) = *++(yy_c_buf_p);
3343 #endif /* ifndef YY_NO_INPUT */
3345 /** Immediately switch to a different input stream.
3346 * @param input_file A readable stream.
3348 * @note This function does not reset the start condition to @c INITIAL .
3350 void yyrestart (FILE * input_file )
3353 if ( ! YY_CURRENT_BUFFER ){
3354 yyensure_buffer_stack ();
3355 YY_CURRENT_BUFFER_LVALUE =
3356 yy_create_buffer( yyin, YY_BUF_SIZE );
3359 yy_init_buffer( YY_CURRENT_BUFFER, input_file );
3360 yy_load_buffer_state( );
3363 /** Switch to a different input buffer.
3364 * @param new_buffer The new input buffer.
3367 void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer )
3370 /* TODO. We should be able to replace this entire function body
3372 * yypop_buffer_state();
3373 * yypush_buffer_state(new_buffer);
3375 yyensure_buffer_stack ();
3376 if ( YY_CURRENT_BUFFER == new_buffer )
3379 if ( YY_CURRENT_BUFFER )
3381 /* Flush out information for old buffer. */
3382 *(yy_c_buf_p) = (yy_hold_char);
3383 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
3384 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
3387 YY_CURRENT_BUFFER_LVALUE = new_buffer;
3388 yy_load_buffer_state( );
3390 /* We don't actually know whether we did this switch during
3391 * EOF (yywrap()) processing, but the only time this flag
3392 * is looked at is after yywrap() is called, so it's safe
3393 * to go ahead and always set it.
3395 (yy_did_buffer_switch_on_eof) = 1;
3398 static void yy_load_buffer_state (void)
3400 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
3401 (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
3402 yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
3403 (yy_hold_char) = *(yy_c_buf_p);
3406 /** Allocate and initialize an input buffer state.
3407 * @param file A readable stream.
3408 * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
3410 * @return the allocated buffer state.
3412 YY_BUFFER_STATE yy_create_buffer (FILE * file, int size )
3416 b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state ) );
3418 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
3420 b->yy_buf_size = size;
3422 /* yy_ch_buf has to be 2 characters longer than the size given because
3423 * we need to put in 2 end-of-buffer characters.
3425 b->yy_ch_buf = (char *) yyalloc( (yy_size_t) (b->yy_buf_size + 2) );
3426 if ( ! b->yy_ch_buf )
3427 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
3429 b->yy_is_our_buffer = 1;
3431 yy_init_buffer( b, file );
3436 /** Destroy the buffer.
3437 * @param b a buffer created with yy_create_buffer()
3440 void yy_delete_buffer (YY_BUFFER_STATE b )
3446 if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
3447 YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
3449 if ( b->yy_is_our_buffer )
3450 yyfree( (void *) b->yy_ch_buf );
3452 yyfree( (void *) b );
3455 /* Initializes or reinitializes a buffer.
3456 * This function is sometimes called more than once on the same buffer,
3457 * such as during a yyrestart() or at EOF.
3459 static void yy_init_buffer (YY_BUFFER_STATE b, FILE * file )
3464 yy_flush_buffer( b );
3466 b->yy_input_file = file;
3467 b->yy_fill_buffer = 1;
3469 /* If b is the current buffer, then yy_init_buffer was _probably_
3470 * called from yyrestart() or through yy_get_next_buffer.
3471 * In that case, we don't want to reset the lineno or column.
3473 if (b != YY_CURRENT_BUFFER){
3474 b->yy_bs_lineno = 1;
3475 b->yy_bs_column = 0;
3478 b->yy_is_interactive = 0;
3483 /** Discard all buffered characters. On the next scan, YY_INPUT will be called.
3484 * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
3487 void yy_flush_buffer (YY_BUFFER_STATE b )
3494 /* We always need two end-of-buffer characters. The first causes
3495 * a transition to the end-of-buffer state. The second causes
3496 * a jam in that state.
3498 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
3499 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
3501 b->yy_buf_pos = &b->yy_ch_buf[0];
3504 b->yy_buffer_status = YY_BUFFER_NEW;
3506 if ( b == YY_CURRENT_BUFFER )
3507 yy_load_buffer_state( );
3510 /** Pushes the new state onto the stack. The new state becomes
3511 * the current state. This function will allocate the stack
3513 * @param new_buffer The new state.
3516 void yypush_buffer_state (YY_BUFFER_STATE new_buffer )
3518 if (new_buffer == NULL)
3521 yyensure_buffer_stack();
3523 /* This block is copied from yy_switch_to_buffer. */
3524 if ( YY_CURRENT_BUFFER )
3526 /* Flush out information for old buffer. */
3527 *(yy_c_buf_p) = (yy_hold_char);
3528 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
3529 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
3532 /* Only push if top exists. Otherwise, replace top. */
3533 if (YY_CURRENT_BUFFER)
3534 (yy_buffer_stack_top)++;
3535 YY_CURRENT_BUFFER_LVALUE = new_buffer;
3537 /* copied from yy_switch_to_buffer. */
3538 yy_load_buffer_state( );
3539 (yy_did_buffer_switch_on_eof) = 1;
3542 /** Removes and deletes the top of the stack, if present.
3543 * The next element becomes the new top.
3546 void yypop_buffer_state (void)
3548 if (!YY_CURRENT_BUFFER)
3551 yy_delete_buffer(YY_CURRENT_BUFFER );
3552 YY_CURRENT_BUFFER_LVALUE = NULL;
3553 if ((yy_buffer_stack_top) > 0)
3554 --(yy_buffer_stack_top);
3556 if (YY_CURRENT_BUFFER) {
3557 yy_load_buffer_state( );
3558 (yy_did_buffer_switch_on_eof) = 1;
3562 /* Allocates the stack if it does not exist.
3563 * Guarantees space for at least one push.
3565 static void yyensure_buffer_stack (void)
3567 yy_size_t num_to_alloc;
3569 if (!(yy_buffer_stack)) {
3571 /* First allocation is just for 2 elements, since we don't know if this
3572 * scanner will even need a stack. We use 2 instead of 1 to avoid an
3573 * immediate realloc on the next call.
3575 num_to_alloc = 1; /* After all that talk, this was set to 1 anyways... */
3576 (yy_buffer_stack) = (struct yy_buffer_state**)yyalloc
3577 (num_to_alloc * sizeof(struct yy_buffer_state*)
3579 if ( ! (yy_buffer_stack) )
3580 YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
3582 memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
3584 (yy_buffer_stack_max) = num_to_alloc;
3585 (yy_buffer_stack_top) = 0;
3589 if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
3591 /* Increase the buffer to prepare for a possible push. */
3592 yy_size_t grow_size = 8 /* arbitrary grow size */;
3594 num_to_alloc = (yy_buffer_stack_max) + grow_size;
3595 (yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc
3597 num_to_alloc * sizeof(struct yy_buffer_state*)
3599 if ( ! (yy_buffer_stack) )
3600 YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
3602 /* zero only the new slots.*/
3603 memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
3604 (yy_buffer_stack_max) = num_to_alloc;
3608 /** Setup the input buffer state to scan directly from a user-specified character buffer.
3609 * @param base the character buffer
3610 * @param size the size in bytes of the character buffer
3612 * @return the newly allocated buffer state object.
3614 YY_BUFFER_STATE yy_scan_buffer (char * base, yy_size_t size )
3619 base[size-2] != YY_END_OF_BUFFER_CHAR ||
3620 base[size-1] != YY_END_OF_BUFFER_CHAR )
3621 /* They forgot to leave room for the EOB's. */
3624 b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state ) );
3626 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
3628 b->yy_buf_size = (int) (size - 2); /* "- 2" to take care of EOB's */
3629 b->yy_buf_pos = b->yy_ch_buf = base;
3630 b->yy_is_our_buffer = 0;
3631 b->yy_input_file = NULL;
3632 b->yy_n_chars = b->yy_buf_size;
3633 b->yy_is_interactive = 0;
3635 b->yy_fill_buffer = 0;
3636 b->yy_buffer_status = YY_BUFFER_NEW;
3638 yy_switch_to_buffer( b );
3643 /** Setup the input buffer state to scan a string. The next call to yylex() will
3644 * scan from a @e copy of @a str.
3645 * @param yystr a NUL-terminated string to scan
3647 * @return the newly allocated buffer state object.
3648 * @note If you want to scan bytes that may contain NUL values, then use
3649 * yy_scan_bytes() instead.
3651 YY_BUFFER_STATE yy_scan_string (const char * yystr )
3654 return yy_scan_bytes( yystr, (int) strlen(yystr) );
3657 /** Setup the input buffer state to scan the given bytes. The next call to yylex() will
3658 * scan from a @e copy of @a bytes.
3659 * @param yybytes the byte buffer to scan
3660 * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
3662 * @return the newly allocated buffer state object.
3664 YY_BUFFER_STATE yy_scan_bytes (const char * yybytes, int _yybytes_len )
3671 /* Get memory for full buffer, including space for trailing EOB's. */
3672 n = (yy_size_t) (_yybytes_len + 2);
3673 buf = (char *) yyalloc( n );
3675 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
3677 for ( i = 0; i < _yybytes_len; ++i )
3678 buf[i] = yybytes[i];
3680 buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
3682 b = yy_scan_buffer( buf, n );
3684 YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
3686 /* It's okay to grow etc. this buffer, and we should throw it
3687 * away when we're done.
3689 b->yy_is_our_buffer = 1;
3694 #ifndef YY_EXIT_FAILURE
3695 #define YY_EXIT_FAILURE 2
3698 static void yynoreturn yy_fatal_error (const char* msg )
3700 fprintf( stderr, "%s\n", msg );
3701 exit( YY_EXIT_FAILURE );
3704 /* Redefine yyless() so it works in section 3 code. */
3710 /* Undo effects of setting up yytext. */ \
3711 int yyless_macro_arg = (n); \
3712 YY_LESS_LINENO(yyless_macro_arg);\
3713 yytext[yyleng] = (yy_hold_char); \
3714 (yy_c_buf_p) = yytext + yyless_macro_arg; \
3715 (yy_hold_char) = *(yy_c_buf_p); \
3716 *(yy_c_buf_p) = '\0'; \
3717 yyleng = yyless_macro_arg; \
3721 /* Accessor methods (get/set functions) to struct members. */
3723 /** Get the current line number.
3726 int yyget_lineno (void)
3732 /** Get the input stream.
3735 FILE *yyget_in (void)
3740 /** Get the output stream.
3743 FILE *yyget_out (void)
3748 /** Get the length of the current token.
3751 int yyget_leng (void)
3756 /** Get the current token.
3760 char *yyget_text (void)
3765 /** Set the current line number.
3766 * @param _line_number line number
3769 void yyset_lineno (int _line_number )
3772 yylineno = _line_number;
3775 /** Set the input stream. This does not discard the current
3777 * @param _in_str A readable stream.
3779 * @see yy_switch_to_buffer
3781 void yyset_in (FILE * _in_str )
3786 void yyset_out (FILE * _out_str )
3791 int yyget_debug (void)
3793 return yy_flex_debug;
3796 void yyset_debug (int _bdebug )
3798 yy_flex_debug = _bdebug ;
3801 static int yy_init_globals (void)
3803 /* Initialization is the same as for the non-reentrant scanner.
3804 * This function is called from yylex_destroy(), so don't allocate here.
3807 /* We do not touch yylineno unless the option is enabled. */
3810 (yy_buffer_stack) = NULL;
3811 (yy_buffer_stack_top) = 0;
3812 (yy_buffer_stack_max) = 0;
3813 (yy_c_buf_p) = NULL;
3817 /* Defined in main.c */
3826 /* For future reference: Set errno on error, since we are called by
3832 /* yylex_destroy is for both reentrant and non-reentrant scanners. */
3833 int yylex_destroy (void)
3836 /* Pop the buffer stack, destroying each element. */
3837 while(YY_CURRENT_BUFFER){
3838 yy_delete_buffer( YY_CURRENT_BUFFER );
3839 YY_CURRENT_BUFFER_LVALUE = NULL;
3840 yypop_buffer_state();
3843 /* Destroy the stack itself. */
3844 yyfree((yy_buffer_stack) );
3845 (yy_buffer_stack) = NULL;
3847 /* Reset the globals. This is important in a non-reentrant scanner so the next time
3848 * yylex() is called, initialization will occur. */
3855 * Internal utility routines.
3859 static void yy_flex_strncpy (char* s1, const char * s2, int n )
3863 for ( i = 0; i < n; ++i )
3868 #ifdef YY_NEED_STRLEN
3869 static int yy_flex_strlen (const char * s )
3872 for ( n = 0; s[n]; ++n )
3879 void *yyalloc (yy_size_t size )
3881 return malloc(size);
3884 void *yyrealloc (void * ptr, yy_size_t size )
3887 /* The cast to (char *) in the following accommodates both
3888 * implementations that use char* generic pointers, and those
3889 * that use void* generic pointers. It works with the latter
3890 * because both ANSI C and C++ allow castless assignment from
3891 * any pointer type to void*, and deal with argument conversions
3892 * as though doing an assignment.
3894 return realloc(ptr, size);
3897 void yyfree (void * ptr )
3899 free( (char *) ptr ); /* see yyrealloc() for (char *) cast */
3902 #define YYTABLES_NAME "yytables"
3904 /* second stage lexer */
3912 if (prev_token == T_EOL || prev_token == T_HELPTEXT) {
3913 if (token == T_EOL) {
3914 /* Do not pass unneeded T_EOL to the parser. */
3918 * For the parser, update file/lineno at the first token
3919 * of each statement. Generally, \n is a statement
3920 * terminator in Kconfig, but it is not always true
3921 * because \n could be escaped by a backslash.
3923 current_pos.file = current_file;
3924 current_pos.lineno = yylineno;
3928 if (prev_prev_token == T_EOL && prev_token == T_WORD &&
3929 (token == T_EQUAL || token == T_COLON_EQUAL || token == T_PLUS_EQUAL))
3932 prev_prev_token = prev_token;
3938 static char *expand_token(const char *in, size_t n)
3943 const char *rest, *end;
3946 append_string(in, n);
3948 /* get the whole line because we do not know the end of token. */
3949 while ((c = input()) != EOF) {
3955 append_string(&c2, 1);
3959 out = expand_one_token(&rest);
3961 /* push back unused characters to the input stream */
3962 end = rest + strlen(rest);
3971 static void append_expanded_string(const char *str)
3978 res = expand_dollar(&str);
3980 /* push back unused characters to the input stream */
3981 end = str + strlen(str);
3985 append_string(res, strlen(res));
3990 void zconf_starthelp(void)
3993 last_ts = first_ts = 0;
3997 static void zconf_endhelp(void)
3999 yylval.string = text;
4004 * Try to open specified file with following names:
4007 * The latter is used when srctree is separate from objtree
4008 * when compiling the kernel.
4009 * Return NULL if file is not found.
4011 FILE *zconf_fopen(const char *name)
4013 char *env, fullname[PATH_MAX+1];
4016 f = fopen(name, "r");
4017 if (!f && name != NULL && name[0] != '/') {
4018 env = getenv(SRCTREE);
4020 snprintf(fullname, sizeof(fullname),
4021 "%s/%s", env, name);
4022 f = fopen(fullname, "r");
4028 void zconf_initscan(const char *name)
4030 yyin = zconf_fopen(name);
4032 fprintf(stderr, "can't find file %s\n", name);
4036 current_buf = xmalloc(sizeof(*current_buf));
4037 memset(current_buf, 0, sizeof(*current_buf));
4039 current_file = file_lookup(name);
4043 void zconf_nextfile(const char *name)
4046 struct file *file = file_lookup(name);
4047 struct buffer *buf = xmalloc(sizeof(*buf));
4048 memset(buf, 0, sizeof(*buf));
4050 current_buf->state = YY_CURRENT_BUFFER;
4051 yyin = zconf_fopen(file->name);
4053 fprintf(stderr, "%s:%d: can't open file \"%s\"\n",
4054 zconf_curname(), zconf_lineno(), file->name);
4057 yy_switch_to_buffer(yy_create_buffer(yyin, YY_BUF_SIZE));
4058 buf->parent = current_buf;
4061 current_file->lineno = yylineno;
4062 file->parent = current_file;
4064 for (iter = current_file; iter; iter = iter->parent) {
4065 if (!strcmp(iter->name, file->name)) {
4067 "Recursive inclusion detected.\n"
4069 " current file : %s\n", file->name);
4072 iter = iter->parent;
4073 fprintf(stderr, " included from: %s:%d\n",
4074 iter->name, iter->lineno - 1);
4075 } while (strcmp(iter->name, file->name));
4081 current_file = file;
4084 void zconf_nextfiles(const char *wildcard)
4090 if (glob(wildcard, 0, NULL, &g) != 0) {
4093 if (g.gl_pathv == NULL) {
4098 /* working through files backwards, since
4099 * we're first pushing them on a stack
4100 * before actually handling them.
4102 for (i = g.gl_pathc; i > 0; i--) {
4103 w = &g.gl_pathv[i - 1];
4110 static void zconf_endfile(void)
4112 struct buffer *parent;
4114 current_file = current_file->parent;
4116 yylineno = current_file->lineno;
4118 parent = current_buf->parent;
4121 yy_delete_buffer(YY_CURRENT_BUFFER);
4122 yy_switch_to_buffer(parent->state);
4125 current_buf = parent;
4128 int zconf_lineno(void)
4130 return current_pos.lineno;
4133 const char *zconf_curname(void)
4135 return current_pos.file ? current_pos.file->name : "<none>";