fine tune package, add example conf
[openwrt.git] / package / config / lex.zconf.c_shipped
1
2 #line 3 "lex.zconf.c"
3
4 #define YY_INT_ALIGNED short int
5
6 /* A lexical scanner generated by flex */
7
8 #define FLEX_SCANNER
9 #define YY_FLEX_MAJOR_VERSION 2
10 #define YY_FLEX_MINOR_VERSION 5
11 #define YY_FLEX_SUBMINOR_VERSION 31
12 #if YY_FLEX_SUBMINOR_VERSION > 0
13 #define FLEX_BETA
14 #endif
15
16 /* First, we deal with platform-specific or compiler-specific issues. */
17
18 /* begin standard C headers. */
19 #include <stdio.h>
20 #include <string.h>
21 #include <errno.h>
22 #include <stdlib.h>
23 #include <glob.h>
24
25 /* end standard C headers. */
26
27 /* flex integer type definitions */
28
29 #ifndef FLEXINT_H
30 #define FLEXINT_H
31
32 /* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
33
34 #if defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L
35 #include <inttypes.h>
36 typedef int8_t flex_int8_t;
37 typedef uint8_t flex_uint8_t;
38 typedef int16_t flex_int16_t;
39 typedef uint16_t flex_uint16_t;
40 typedef int32_t flex_int32_t;
41 typedef uint32_t flex_uint32_t;
42 #else
43 typedef signed char flex_int8_t;
44 typedef short int flex_int16_t;
45 typedef int flex_int32_t;
46 typedef unsigned char flex_uint8_t;
47 typedef unsigned short int flex_uint16_t;
48 typedef unsigned int flex_uint32_t;
49 #endif /* ! C99 */
50
51 /* Limits of integral types. */
52 #ifndef INT8_MIN
53 #define INT8_MIN (-128)
54 #endif
55 #ifndef INT16_MIN
56 #define INT16_MIN (-32767-1)
57 #endif
58 #ifndef INT32_MIN
59 #define INT32_MIN (-2147483647-1)
60 #endif
61 #ifndef INT8_MAX
62 #define INT8_MAX (127)
63 #endif
64 #ifndef INT16_MAX
65 #define INT16_MAX (32767)
66 #endif
67 #ifndef INT32_MAX
68 #define INT32_MAX (2147483647)
69 #endif
70 #ifndef UINT8_MAX
71 #define UINT8_MAX (255U)
72 #endif
73 #ifndef UINT16_MAX
74 #define UINT16_MAX (65535U)
75 #endif
76 #ifndef UINT32_MAX
77 #define UINT32_MAX (4294967295U)
78 #endif
79
80 #endif /* ! FLEXINT_H */
81
82 #ifdef __cplusplus
83
84 /* The "const" storage-class-modifier is valid. */
85 #define YY_USE_CONST
86
87 #else /* ! __cplusplus */
88
89 #if __STDC__
90
91 #define YY_USE_CONST
92
93 #endif /* __STDC__ */
94 #endif /* ! __cplusplus */
95
96 #ifdef YY_USE_CONST
97 #define yyconst const
98 #else
99 #define yyconst
100 #endif
101
102 /* Returned upon end-of-file. */
103 #define YY_NULL 0
104
105 /* Promotes a possibly negative, possibly signed char to an unsigned
106 * integer for use as an array index. If the signed char is negative,
107 * we want to instead treat it as an 8-bit unsigned char, hence the
108 * double cast.
109 */
110 #define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
111
112 /* Enter a start condition. This macro really ought to take a parameter,
113 * but we do it the disgusting crufty way forced on us by the ()-less
114 * definition of BEGIN.
115 */
116 #define BEGIN (yy_start) = 1 + 2 *
117
118 /* Translate the current start state into a value that can be later handed
119 * to BEGIN to return to the state. The YYSTATE alias is for lex
120 * compatibility.
121 */
122 #define YY_START (((yy_start) - 1) / 2)
123 #define YYSTATE YY_START
124
125 /* Action number for EOF rule of a given start state. */
126 #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
127
128 /* Special action meaning "start processing a new file". */
129 #define YY_NEW_FILE zconfrestart(zconfin )
130
131 #define YY_END_OF_BUFFER_CHAR 0
132
133 /* Size of default input buffer. */
134 #ifndef YY_BUF_SIZE
135 #define YY_BUF_SIZE 16384
136 #endif
137
138 #ifndef YY_TYPEDEF_YY_BUFFER_STATE
139 #define YY_TYPEDEF_YY_BUFFER_STATE
140 typedef struct yy_buffer_state *YY_BUFFER_STATE;
141 #endif
142
143 extern int zconfleng;
144
145 extern FILE *zconfin, *zconfout;
146
147 #define EOB_ACT_CONTINUE_SCAN 0
148 #define EOB_ACT_END_OF_FILE 1
149 #define EOB_ACT_LAST_MATCH 2
150
151 #define YY_LESS_LINENO(n)
152
153 /* Return all but the first "n" matched characters back to the input stream. */
154 #define yyless(n) \
155 do \
156 { \
157 /* Undo effects of setting up zconftext. */ \
158 int yyless_macro_arg = (n); \
159 YY_LESS_LINENO(yyless_macro_arg);\
160 *yy_cp = (yy_hold_char); \
161 YY_RESTORE_YY_MORE_OFFSET \
162 (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
163 YY_DO_BEFORE_ACTION; /* set up zconftext again */ \
164 } \
165 while ( 0 )
166
167 #define unput(c) yyunput( c, (yytext_ptr) )
168
169 /* The following is because we cannot portably get our hands on size_t
170 * (without autoconf's help, which isn't available because we want
171 * flex-generated scanners to compile on their own).
172 */
173
174 #ifndef YY_TYPEDEF_YY_SIZE_T
175 #define YY_TYPEDEF_YY_SIZE_T
176 typedef unsigned int yy_size_t;
177 #endif
178
179 #ifndef YY_STRUCT_YY_BUFFER_STATE
180 #define YY_STRUCT_YY_BUFFER_STATE
181 struct yy_buffer_state
182 {
183 FILE *yy_input_file;
184
185 char *yy_ch_buf; /* input buffer */
186 char *yy_buf_pos; /* current position in input buffer */
187
188 /* Size of input buffer in bytes, not including room for EOB
189 * characters.
190 */
191 yy_size_t yy_buf_size;
192
193 /* Number of characters read into yy_ch_buf, not including EOB
194 * characters.
195 */
196 int yy_n_chars;
197
198 /* Whether we "own" the buffer - i.e., we know we created it,
199 * and can realloc() it to grow it, and should free() it to
200 * delete it.
201 */
202 int yy_is_our_buffer;
203
204 /* Whether this is an "interactive" input source; if so, and
205 * if we're using stdio for input, then we want to use getc()
206 * instead of fread(), to make sure we stop fetching input after
207 * each newline.
208 */
209 int yy_is_interactive;
210
211 /* Whether we're considered to be at the beginning of a line.
212 * If so, '^' rules will be active on the next match, otherwise
213 * not.
214 */
215 int yy_at_bol;
216
217 int yy_bs_lineno; /**< The line count. */
218 int yy_bs_column; /**< The column count. */
219
220 /* Whether to try to fill the input buffer when we reach the
221 * end of it.
222 */
223 int yy_fill_buffer;
224
225 int yy_buffer_status;
226
227 #define YY_BUFFER_NEW 0
228 #define YY_BUFFER_NORMAL 1
229 /* When an EOF's been seen but there's still some text to process
230 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
231 * shouldn't try reading from the input source any more. We might
232 * still have a bunch of tokens to match, though, because of
233 * possible backing-up.
234 *
235 * When we actually see the EOF, we change the status to "new"
236 * (via zconfrestart()), so that the user can continue scanning by
237 * just pointing zconfin at a new input file.
238 */
239 #define YY_BUFFER_EOF_PENDING 2
240
241 };
242 #endif /* !YY_STRUCT_YY_BUFFER_STATE */
243
244 /* Stack of input buffers. */
245 static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
246 static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
247 static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */
248
249 /* We provide macros for accessing buffer states in case in the
250 * future we want to put the buffer states in a more general
251 * "scanner state".
252 *
253 * Returns the top of the stack, or NULL.
254 */
255 #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
256 ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
257 : NULL)
258
259 /* Same as previous macro, but useful when we know that the buffer stack is not
260 * NULL or when we need an lvalue. For internal use only.
261 */
262 #define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
263
264 /* yy_hold_char holds the character lost when zconftext is formed. */
265 static char yy_hold_char;
266 static int yy_n_chars; /* number of characters read into yy_ch_buf */
267 int zconfleng;
268
269 /* Points to current character in buffer. */
270 static char *yy_c_buf_p = (char *) 0;
271 static int yy_init = 1; /* whether we need to initialize */
272 static int yy_start = 0; /* start state number */
273
274 /* Flag which is used to allow zconfwrap()'s to do buffer switches
275 * instead of setting up a fresh zconfin. A bit of a hack ...
276 */
277 static int yy_did_buffer_switch_on_eof;
278
279 void zconfrestart (FILE *input_file );
280 void zconf_switch_to_buffer (YY_BUFFER_STATE new_buffer );
281 YY_BUFFER_STATE zconf_create_buffer (FILE *file,int size );
282 void zconf_delete_buffer (YY_BUFFER_STATE b );
283 void zconf_flush_buffer (YY_BUFFER_STATE b );
284 void zconfpush_buffer_state (YY_BUFFER_STATE new_buffer );
285 void zconfpop_buffer_state (void );
286
287 static void zconfensure_buffer_stack (void );
288 static void zconf_load_buffer_state (void );
289 static void zconf_init_buffer (YY_BUFFER_STATE b,FILE *file );
290
291 #define YY_FLUSH_BUFFER zconf_flush_buffer(YY_CURRENT_BUFFER )
292
293 YY_BUFFER_STATE zconf_scan_buffer (char *base,yy_size_t size );
294 YY_BUFFER_STATE zconf_scan_string (yyconst char *yy_str );
295 YY_BUFFER_STATE zconf_scan_bytes (yyconst char *bytes,int len );
296
297 void *zconfalloc (yy_size_t );
298 void *zconfrealloc (void *,yy_size_t );
299 void zconffree (void * );
300
301 #define yy_new_buffer zconf_create_buffer
302
303 #define yy_set_interactive(is_interactive) \
304 { \
305 if ( ! YY_CURRENT_BUFFER ){ \
306 zconfensure_buffer_stack (); \
307 YY_CURRENT_BUFFER_LVALUE = \
308 zconf_create_buffer(zconfin,YY_BUF_SIZE ); \
309 } \
310 YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
311 }
312
313 #define yy_set_bol(at_bol) \
314 { \
315 if ( ! YY_CURRENT_BUFFER ){\
316 zconfensure_buffer_stack (); \
317 YY_CURRENT_BUFFER_LVALUE = \
318 zconf_create_buffer(zconfin,YY_BUF_SIZE ); \
319 } \
320 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
321 }
322
323 #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
324
325 /* Begin user sect3 */
326
327 #define zconfwrap(n) 1
328 #define YY_SKIP_YYWRAP
329
330 typedef unsigned char YY_CHAR;
331
332 FILE *zconfin = (FILE *) 0, *zconfout = (FILE *) 0;
333
334 typedef int yy_state_type;
335
336 extern int zconflineno;
337
338 int zconflineno = 1;
339
340 extern char *zconftext;
341 #define yytext_ptr zconftext
342 static yyconst flex_int16_t yy_nxt[][38] =
343 {
344 {
345 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
346 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
347 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
348 0, 0, 0, 0, 0, 0, 0, 0
349 },
350
351 {
352 11, 12, 13, 14, 12, 12, 15, 12, 12, 12,
353 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
354 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
355 12, 12, 12, 12, 12, 12, 12, 12
356 },
357
358 {
359 11, 12, 13, 14, 12, 12, 15, 12, 12, 12,
360 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
361
362 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
363 12, 12, 12, 12, 12, 12, 12, 12
364 },
365
366 {
367 11, 16, 16, 17, 16, 16, 16, 16, 16, 16,
368 16, 16, 16, 18, 16, 16, 18, 18, 19, 20,
369 21, 22, 18, 18, 23, 24, 18, 25, 18, 26,
370 27, 18, 28, 29, 30, 18, 18, 16
371 },
372
373 {
374 11, 16, 16, 17, 16, 16, 16, 16, 16, 16,
375 16, 16, 16, 18, 16, 16, 18, 18, 19, 20,
376 21, 22, 18, 18, 23, 24, 18, 25, 18, 26,
377 27, 18, 28, 29, 30, 18, 18, 16
378
379 },
380
381 {
382 11, 31, 32, 33, 31, 31, 31, 31, 31, 31,
383 31, 31, 31, 31, 31, 31, 31, 31, 31, 31,
384 31, 31, 31, 31, 31, 31, 31, 31, 31, 31,
385 31, 31, 31, 31, 31, 31, 31, 31
386 },
387
388 {
389 11, 31, 32, 33, 31, 31, 31, 31, 31, 31,
390 31, 31, 31, 31, 31, 31, 31, 31, 31, 31,
391 31, 31, 31, 31, 31, 31, 31, 31, 31, 31,
392 31, 31, 31, 31, 31, 31, 31, 31
393 },
394
395 {
396 11, 34, 34, 35, 34, 36, 34, 34, 36, 34,
397 34, 34, 34, 34, 34, 37, 34, 34, 34, 34,
398
399 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
400 34, 34, 34, 34, 34, 34, 34, 34
401 },
402
403 {
404 11, 34, 34, 35, 34, 36, 34, 34, 36, 34,
405 34, 34, 34, 34, 34, 37, 34, 34, 34, 34,
406 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
407 34, 34, 34, 34, 34, 34, 34, 34
408 },
409
410 {
411 11, 38, 38, 39, 40, 41, 42, 43, 41, 44,
412 45, 46, 47, 47, 48, 49, 47, 47, 47, 47,
413 47, 47, 47, 47, 47, 50, 47, 47, 47, 51,
414 47, 47, 47, 47, 47, 47, 47, 52
415
416 },
417
418 {
419 11, 38, 38, 39, 40, 41, 42, 43, 41, 44,
420 45, 46, 47, 47, 48, 49, 47, 47, 47, 47,
421 47, 47, 47, 47, 47, 50, 47, 47, 47, 51,
422 47, 47, 47, 47, 47, 47, 47, 52
423 },
424
425 {
426 -11, -11, -11, -11, -11, -11, -11, -11, -11, -11,
427 -11, -11, -11, -11, -11, -11, -11, -11, -11, -11,
428 -11, -11, -11, -11, -11, -11, -11, -11, -11, -11,
429 -11, -11, -11, -11, -11, -11, -11, -11
430 },
431
432 {
433 11, -12, -12, -12, -12, -12, -12, -12, -12, -12,
434 -12, -12, -12, -12, -12, -12, -12, -12, -12, -12,
435
436 -12, -12, -12, -12, -12, -12, -12, -12, -12, -12,
437 -12, -12, -12, -12, -12, -12, -12, -12
438 },
439
440 {
441 11, -13, 53, 54, -13, -13, 55, -13, -13, -13,
442 -13, -13, -13, -13, -13, -13, -13, -13, -13, -13,
443 -13, -13, -13, -13, -13, -13, -13, -13, -13, -13,
444 -13, -13, -13, -13, -13, -13, -13, -13
445 },
446
447 {
448 11, -14, -14, -14, -14, -14, -14, -14, -14, -14,
449 -14, -14, -14, -14, -14, -14, -14, -14, -14, -14,
450 -14, -14, -14, -14, -14, -14, -14, -14, -14, -14,
451 -14, -14, -14, -14, -14, -14, -14, -14
452
453 },
454
455 {
456 11, 56, 56, 57, 56, 56, 56, 56, 56, 56,
457 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
458 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
459 56, 56, 56, 56, 56, 56, 56, 56
460 },
461
462 {
463 11, -16, -16, -16, -16, -16, -16, -16, -16, -16,
464 -16, -16, -16, -16, -16, -16, -16, -16, -16, -16,
465 -16, -16, -16, -16, -16, -16, -16, -16, -16, -16,
466 -16, -16, -16, -16, -16, -16, -16, -16
467 },
468
469 {
470 11, -17, -17, -17, -17, -17, -17, -17, -17, -17,
471 -17, -17, -17, -17, -17, -17, -17, -17, -17, -17,
472
473 -17, -17, -17, -17, -17, -17, -17, -17, -17, -17,
474 -17, -17, -17, -17, -17, -17, -17, -17
475 },
476
477 {
478 11, -18, -18, -18, -18, -18, -18, -18, -18, -18,
479 -18, -18, -18, 58, -18, -18, 58, 58, 58, 58,
480 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
481 58, 58, 58, 58, 58, 58, 58, -18
482 },
483
484 {
485 11, -19, -19, -19, -19, -19, -19, -19, -19, -19,
486 -19, -19, -19, 58, -19, -19, 58, 58, 58, 58,
487 58, 58, 58, 58, 58, 58, 58, 58, 58, 59,
488 58, 58, 58, 58, 58, 58, 58, -19
489
490 },
491
492 {
493 11, -20, -20, -20, -20, -20, -20, -20, -20, -20,
494 -20, -20, -20, 58, -20, -20, 58, 58, 58, 58,
495 58, 58, 58, 58, 60, 58, 58, 58, 58, 61,
496 58, 58, 58, 58, 58, 58, 58, -20
497 },
498
499 {
500 11, -21, -21, -21, -21, -21, -21, -21, -21, -21,
501 -21, -21, -21, 58, -21, -21, 58, 58, 58, 58,
502 58, 62, 58, 58, 58, 58, 58, 58, 58, 58,
503 58, 58, 58, 58, 58, 58, 58, -21
504 },
505
506 {
507 11, -22, -22, -22, -22, -22, -22, -22, -22, -22,
508 -22, -22, -22, 58, -22, -22, 58, 58, 58, 58,
509
510 58, 58, 58, 58, 58, 58, 58, 58, 63, 58,
511 58, 58, 58, 58, 58, 58, 58, -22
512 },
513
514 {
515 11, -23, -23, -23, -23, -23, -23, -23, -23, -23,
516 -23, -23, -23, 58, -23, -23, 58, 58, 58, 58,
517 58, 64, 58, 58, 58, 58, 58, 58, 58, 58,
518 58, 58, 58, 58, 58, 58, 58, -23
519 },
520
521 {
522 11, -24, -24, -24, -24, -24, -24, -24, -24, -24,
523 -24, -24, -24, 58, -24, -24, 58, 58, 58, 58,
524 58, 58, 65, 58, 58, 58, 58, 58, 66, 58,
525 58, 58, 58, 58, 58, 58, 58, -24
526
527 },
528
529 {
530 11, -25, -25, -25, -25, -25, -25, -25, -25, -25,
531 -25, -25, -25, 58, -25, -25, 58, 67, 58, 58,
532 58, 68, 58, 58, 58, 58, 58, 58, 58, 58,
533 58, 58, 58, 58, 58, 58, 58, -25
534 },
535
536 {
537 11, -26, -26, -26, -26, -26, -26, -26, -26, -26,
538 -26, -26, -26, 58, -26, -26, 58, 58, 58, 58,
539 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
540 69, 58, 58, 58, 58, 58, 58, -26
541 },
542
543 {
544 11, -27, -27, -27, -27, -27, -27, -27, -27, -27,
545 -27, -27, -27, 58, -27, -27, 58, 58, 58, 58,
546
547 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
548 58, 58, 70, 58, 58, 58, 58, -27
549 },
550
551 {
552 11, -28, -28, -28, -28, -28, -28, -28, -28, -28,
553 -28, -28, -28, 58, -28, -28, 58, 71, 58, 58,
554 58, 72, 58, 58, 58, 58, 58, 58, 58, 58,
555 58, 58, 58, 58, 58, 58, 58, -28
556 },
557
558 {
559 11, -29, -29, -29, -29, -29, -29, -29, -29, -29,
560 -29, -29, -29, 58, -29, -29, 58, 58, 58, 58,
561 58, 73, 58, 58, 58, 58, 58, 58, 58, 74,
562 58, 58, 58, 58, 75, 58, 58, -29
563
564 },
565
566 {
567 11, -30, -30, -30, -30, -30, -30, -30, -30, -30,
568 -30, -30, -30, 58, -30, -30, 58, 58, 58, 58,
569 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
570 58, 58, 76, 58, 58, 58, 58, -30
571 },
572
573 {
574 11, 77, 77, -31, 77, 77, 77, 77, 77, 77,
575 77, 77, 77, 77, 77, 77, 77, 77, 77, 77,
576 77, 77, 77, 77, 77, 77, 77, 77, 77, 77,
577 77, 77, 77, 77, 77, 77, 77, 77
578 },
579
580 {
581 11, -32, 78, 79, -32, -32, -32, -32, -32, -32,
582 -32, -32, -32, -32, -32, -32, -32, -32, -32, -32,
583
584 -32, -32, -32, -32, -32, -32, -32, -32, -32, -32,
585 -32, -32, -32, -32, -32, -32, -32, -32
586 },
587
588 {
589 11, 80, -33, -33, 80, 80, 80, 80, 80, 80,
590 80, 80, 80, 80, 80, 80, 80, 80, 80, 80,
591 80, 80, 80, 80, 80, 80, 80, 80, 80, 80,
592 80, 80, 80, 80, 80, 80, 80, 80
593 },
594
595 {
596 11, 81, 81, 82, 81, -34, 81, 81, -34, 81,
597 81, 81, 81, 81, 81, -34, 81, 81, 81, 81,
598 81, 81, 81, 81, 81, 81, 81, 81, 81, 81,
599 81, 81, 81, 81, 81, 81, 81, 81
600
601 },
602
603 {
604 11, -35, -35, -35, -35, -35, -35, -35, -35, -35,
605 -35, -35, -35, -35, -35, -35, -35, -35, -35, -35,
606 -35, -35, -35, -35, -35, -35, -35, -35, -35, -35,
607 -35, -35, -35, -35, -35, -35, -35, -35
608 },
609
610 {
611 11, -36, -36, -36, -36, -36, -36, -36, -36, -36,
612 -36, -36, -36, -36, -36, -36, -36, -36, -36, -36,
613 -36, -36, -36, -36, -36, -36, -36, -36, -36, -36,
614 -36, -36, -36, -36, -36, -36, -36, -36
615 },
616
617 {
618 11, 83, 83, 84, 83, 83, 83, 83, 83, 83,
619 83, 83, 83, 83, 83, 83, 83, 83, 83, 83,
620
621 83, 83, 83, 83, 83, 83, 83, 83, 83, 83,
622 83, 83, 83, 83, 83, 83, 83, 83
623 },
624
625 {
626 11, -38, -38, -38, -38, -38, -38, -38, -38, -38,
627 -38, -38, -38, -38, -38, -38, -38, -38, -38, -38,
628 -38, -38, -38, -38, -38, -38, -38, -38, -38, -38,
629 -38, -38, -38, -38, -38, -38, -38, -38
630 },
631
632 {
633 11, -39, -39, -39, -39, -39, -39, -39, -39, -39,
634 -39, -39, -39, -39, -39, -39, -39, -39, -39, -39,
635 -39, -39, -39, -39, -39, -39, -39, -39, -39, -39,
636 -39, -39, -39, -39, -39, -39, -39, -39
637
638 },
639
640 {
641 11, -40, -40, -40, -40, -40, -40, -40, -40, -40,
642 -40, -40, -40, -40, 85, -40, -40, -40, -40, -40,
643 -40, -40, -40, -40, -40, -40, -40, -40, -40, -40,
644 -40, -40, -40, -40, -40, -40, -40, -40
645 },
646
647 {
648 11, -41, -41, -41, -41, -41, -41, -41, -41, -41,
649 -41, -41, -41, -41, -41, -41, -41, -41, -41, -41,
650 -41, -41, -41, -41, -41, -41, -41, -41, -41, -41,
651 -41, -41, -41, -41, -41, -41, -41, -41
652 },
653
654 {
655 11, 86, 86, -42, 86, 86, 86, 86, 86, 86,
656 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
657
658 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
659 86, 86, 86, 86, 86, 86, 86, 86
660 },
661
662 {
663 11, -43, -43, -43, -43, -43, -43, 87, -43, -43,
664 -43, -43, -43, -43, -43, -43, -43, -43, -43, -43,
665 -43, -43, -43, -43, -43, -43, -43, -43, -43, -43,
666 -43, -43, -43, -43, -43, -43, -43, -43
667 },
668
669 {
670 11, -44, -44, -44, -44, -44, -44, -44, -44, -44,
671 -44, -44, -44, -44, -44, -44, -44, -44, -44, -44,
672 -44, -44, -44, -44, -44, -44, -44, -44, -44, -44,
673 -44, -44, -44, -44, -44, -44, -44, -44
674
675 },
676
677 {
678 11, -45, -45, -45, -45, -45, -45, -45, -45, -45,
679 -45, -45, -45, -45, -45, -45, -45, -45, -45, -45,
680 -45, -45, -45, -45, -45, -45, -45, -45, -45, -45,
681 -45, -45, -45, -45, -45, -45, -45, -45
682 },
683
684 {
685 11, -46, -46, -46, -46, -46, -46, -46, -46, -46,
686 -46, 88, 89, 89, -46, -46, 89, 89, 89, 89,
687 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
688 89, 89, 89, 89, 89, 89, 89, -46
689 },
690
691 {
692 11, -47, -47, -47, -47, -47, -47, -47, -47, -47,
693 -47, 89, 89, 89, -47, -47, 89, 89, 89, 89,
694
695 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
696 89, 89, 89, 89, 89, 89, 89, -47
697 },
698
699 {
700 11, -48, -48, -48, -48, -48, -48, -48, -48, -48,
701 -48, -48, -48, -48, -48, -48, -48, -48, -48, -48,
702 -48, -48, -48, -48, -48, -48, -48, -48, -48, -48,
703 -48, -48, -48, -48, -48, -48, -48, -48
704 },
705
706 {
707 11, -49, -49, 90, -49, -49, -49, -49, -49, -49,
708 -49, -49, -49, -49, -49, -49, -49, -49, -49, -49,
709 -49, -49, -49, -49, -49, -49, -49, -49, -49, -49,
710 -49, -49, -49, -49, -49, -49, -49, -49
711
712 },
713
714 {
715 11, -50, -50, -50, -50, -50, -50, -50, -50, -50,
716 -50, 89, 89, 89, -50, -50, 89, 89, 89, 89,
717 89, 89, 91, 89, 89, 89, 89, 89, 89, 89,
718 89, 89, 89, 89, 89, 89, 89, -50
719 },
720
721 {
722 11, -51, -51, -51, -51, -51, -51, -51, -51, -51,
723 -51, 89, 89, 89, -51, -51, 89, 89, 89, 89,
724 89, 89, 89, 89, 89, 89, 89, 89, 92, 89,
725 89, 89, 89, 89, 89, 89, 89, -51
726 },
727
728 {
729 11, -52, -52, -52, -52, -52, -52, -52, -52, -52,
730 -52, -52, -52, -52, -52, -52, -52, -52, -52, -52,
731
732 -52, -52, -52, -52, -52, -52, -52, -52, -52, -52,
733 -52, -52, -52, -52, -52, -52, -52, 93
734 },
735
736 {
737 11, -53, 53, 54, -53, -53, 55, -53, -53, -53,
738 -53, -53, -53, -53, -53, -53, -53, -53, -53, -53,
739 -53, -53, -53, -53, -53, -53, -53, -53, -53, -53,
740 -53, -53, -53, -53, -53, -53, -53, -53
741 },
742
743 {
744 11, -54, -54, -54, -54, -54, -54, -54, -54, -54,
745 -54, -54, -54, -54, -54, -54, -54, -54, -54, -54,
746 -54, -54, -54, -54, -54, -54, -54, -54, -54, -54,
747 -54, -54, -54, -54, -54, -54, -54, -54
748
749 },
750
751 {
752 11, 56, 56, 57, 56, 56, 56, 56, 56, 56,
753 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
754 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
755 56, 56, 56, 56, 56, 56, 56, 56
756 },
757
758 {
759 11, 56, 56, 57, 56, 56, 56, 56, 56, 56,
760 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
761 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
762 56, 56, 56, 56, 56, 56, 56, 56
763 },
764
765 {
766 11, -57, -57, -57, -57, -57, -57, -57, -57, -57,
767 -57, -57, -57, -57, -57, -57, -57, -57, -57, -57,
768
769 -57, -57, -57, -57, -57, -57, -57, -57, -57, -57,
770 -57, -57, -57, -57, -57, -57, -57, -57
771 },
772
773 {
774 11, -58, -58, -58, -58, -58, -58, -58, -58, -58,
775 -58, -58, -58, 58, -58, -58, 58, 58, 58, 58,
776 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
777 58, 58, 58, 58, 58, 58, 58, -58
778 },
779
780 {
781 11, -59, -59, -59, -59, -59, -59, -59, -59, -59,
782 -59, -59, -59, 58, -59, -59, 58, 58, 58, 58,
783 58, 58, 58, 58, 58, 58, 58, 58, 58, 94,
784 58, 58, 58, 58, 58, 58, 58, -59
785
786 },
787
788 {
789 11, -60, -60, -60, -60, -60, -60, -60, -60, -60,
790 -60, -60, -60, 58, -60, -60, 58, 58, 58, 58,
791 58, 58, 58, 58, 58, 58, 58, 58, 58, 95,
792 58, 58, 58, 58, 58, 58, 58, -60
793 },
794
795 {
796 11, -61, -61, -61, -61, -61, -61, -61, -61, -61,
797 -61, -61, -61, 58, -61, -61, 58, 58, 58, 58,
798 58, 58, 58, 58, 58, 58, 58, 96, 97, 58,
799 58, 58, 58, 58, 58, 58, 58, -61
800 },
801
802 {
803 11, -62, -62, -62, -62, -62, -62, -62, -62, -62,
804 -62, -62, -62, 58, -62, -62, 58, 58, 58, 58,
805
806 58, 58, 98, 58, 58, 58, 58, 58, 58, 58,
807 99, 58, 58, 58, 58, 58, 58, -62
808 },
809
810 {
811 11, -63, -63, -63, -63, -63, -63, -63, -63, -63,
812 -63, -63, -63, 58, -63, -63, 58, 100, 58, 58,
813 101, 58, 58, 58, 58, 58, 58, 58, 58, 58,
814 58, 58, 58, 58, 58, 58, 58, -63
815 },
816
817 {
818 11, -64, -64, -64, -64, -64, -64, -64, -64, -64,
819 -64, -64, -64, 58, -64, -64, 58, 58, 58, 58,
820 58, 58, 58, 58, 58, 58, 102, 58, 58, 58,
821 58, 58, 58, 58, 58, 58, 103, -64
822
823 },
824
825 {
826 11, -65, -65, -65, -65, -65, -65, -65, -65, -65,
827 -65, -65, -65, 58, -65, -65, 58, 58, 58, 58,
828 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
829 58, 58, 58, 58, 58, 58, 58, -65
830 },
831
832 {
833 11, -66, -66, -66, -66, -66, -66, -66, -66, -66,
834 -66, -66, -66, 58, -66, -66, 58, 58, 58, 58,
835 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
836 58, 58, 58, 58, 104, 58, 58, -66
837 },
838
839 {
840 11, -67, -67, -67, -67, -67, -67, -67, -67, -67,
841 -67, -67, -67, 58, -67, -67, 58, 58, 58, 58,
842
843 58, 58, 58, 58, 58, 105, 58, 58, 58, 58,
844 58, 58, 58, 58, 58, 58, 58, -67
845 },
846
847 {
848 11, -68, -68, -68, -68, -68, -68, -68, -68, -68,
849 -68, -68, -68, 58, -68, -68, 58, 58, 58, 58,
850 58, 58, 58, 58, 58, 58, 58, 58, 106, 58,
851 58, 58, 58, 58, 58, 58, 58, -68
852 },
853
854 {
855 11, -69, -69, -69, -69, -69, -69, -69, -69, -69,
856 -69, -69, -69, 58, -69, -69, 58, 58, 58, 58,
857 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
858 58, 58, 58, 58, 107, 58, 58, -69
859
860 },
861
862 {
863 11, -70, -70, -70, -70, -70, -70, -70, -70, -70,
864 -70, -70, -70, 58, -70, -70, 58, 58, 58, 58,
865 58, 58, 58, 58, 58, 58, 58, 58, 58, 108,
866 58, 58, 58, 58, 58, 58, 58, -70
867 },
868
869 {
870 11, -71, -71, -71, -71, -71, -71, -71, -71, -71,
871 -71, -71, -71, 58, -71, -71, 58, 58, 58, 58,
872 58, 58, 58, 58, 58, 58, 58, 58, 109, 58,
873 58, 58, 58, 58, 58, 58, 58, -71
874 },
875
876 {
877 11, -72, -72, -72, -72, -72, -72, -72, -72, -72,
878 -72, -72, -72, 58, -72, -72, 58, 58, 58, 58,
879
880 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
881 58, 110, 58, 58, 58, 58, 58, -72
882 },
883
884 {
885 11, -73, -73, -73, -73, -73, -73, -73, -73, -73,
886 -73, -73, -73, 58, -73, -73, 58, 58, 58, 58,
887 58, 58, 58, 58, 58, 58, 111, 58, 58, 58,
888 58, 58, 58, 58, 58, 58, 58, -73
889 },
890
891 {
892 11, -74, -74, -74, -74, -74, -74, -74, -74, -74,
893 -74, -74, -74, 58, -74, -74, 58, 58, 58, 58,
894 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
895 58, 58, 58, 58, 58, 112, 58, -74
896
897 },
898
899 {
900 11, -75, -75, -75, -75, -75, -75, -75, -75, -75,
901 -75, -75, -75, 58, -75, -75, 58, 58, 58, 58,
902 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
903 58, 58, 113, 58, 58, 58, 58, -75
904 },
905
906 {
907 11, -76, -76, -76, -76, -76, -76, -76, -76, -76,
908 -76, -76, -76, 58, -76, -76, 58, 58, 58, 58,
909 58, 58, 58, 58, 58, 114, 58, 58, 58, 58,
910 58, 58, 58, 58, 58, 58, 58, -76
911 },
912
913 {
914 11, 77, 77, -77, 77, 77, 77, 77, 77, 77,
915 77, 77, 77, 77, 77, 77, 77, 77, 77, 77,
916
917 77, 77, 77, 77, 77, 77, 77, 77, 77, 77,
918 77, 77, 77, 77, 77, 77, 77, 77
919 },
920
921 {
922 11, -78, 78, 79, -78, -78, -78, -78, -78, -78,
923 -78, -78, -78, -78, -78, -78, -78, -78, -78, -78,
924 -78, -78, -78, -78, -78, -78, -78, -78, -78, -78,
925 -78, -78, -78, -78, -78, -78, -78, -78
926 },
927
928 {
929 11, 80, -79, -79, 80, 80, 80, 80, 80, 80,
930 80, 80, 80, 80, 80, 80, 80, 80, 80, 80,
931 80, 80, 80, 80, 80, 80, 80, 80, 80, 80,
932 80, 80, 80, 80, 80, 80, 80, 80
933
934 },
935
936 {
937 11, -80, -80, -80, -80, -80, -80, -80, -80, -80,
938 -80, -80, -80, -80, -80, -80, -80, -80, -80, -80,
939 -80, -80, -80, -80, -80, -80, -80, -80, -80, -80,
940 -80, -80, -80, -80, -80, -80, -80, -80
941 },
942
943 {
944 11, 81, 81, 82, 81, -81, 81, 81, -81, 81,
945 81, 81, 81, 81, 81, -81, 81, 81, 81, 81,
946 81, 81, 81, 81, 81, 81, 81, 81, 81, 81,
947 81, 81, 81, 81, 81, 81, 81, 81
948 },
949
950 {
951 11, -82, -82, -82, -82, -82, -82, -82, -82, -82,
952 -82, -82, -82, -82, -82, -82, -82, -82, -82, -82,
953
954 -82, -82, -82, -82, -82, -82, -82, -82, -82, -82,
955 -82, -82, -82, -82, -82, -82, -82, -82
956 },
957
958 {
959 11, -83, -83, 84, -83, -83, -83, -83, -83, -83,
960 -83, -83, -83, -83, -83, -83, -83, -83, -83, -83,
961 -83, -83, -83, -83, -83, -83, -83, -83, -83, -83,
962 -83, -83, -83, -83, -83, -83, -83, -83
963 },
964
965 {
966 11, -84, -84, -84, -84, -84, -84, -84, -84, -84,
967 -84, -84, -84, -84, -84, -84, -84, -84, -84, -84,
968 -84, -84, -84, -84, -84, -84, -84, -84, -84, -84,
969 -84, -84, -84, -84, -84, -84, -84, -84
970
971 },
972
973 {
974 11, -85, -85, -85, -85, -85, -85, -85, -85, -85,
975 -85, -85, -85, -85, -85, -85, -85, -85, -85, -85,
976 -85, -85, -85, -85, -85, -85, -85, -85, -85, -85,
977 -85, -85, -85, -85, -85, -85, -85, -85
978 },
979
980 {
981 11, 86, 86, -86, 86, 86, 86, 86, 86, 86,
982 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
983 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
984 86, 86, 86, 86, 86, 86, 86, 86
985 },
986
987 {
988 11, -87, -87, -87, -87, -87, -87, -87, -87, -87,
989 -87, -87, -87, -87, -87, -87, -87, -87, -87, -87,
990
991 -87, -87, -87, -87, -87, -87, -87, -87, -87, -87,
992 -87, -87, -87, -87, -87, -87, -87, -87
993 },
994
995 {
996 11, -88, -88, -88, -88, -88, -88, -88, -88, -88,
997 -88, 115, 89, 89, -88, -88, 89, 89, 89, 89,
998 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
999 89, 89, 89, 89, 89, 89, 89, -88
1000 },
1001
1002 {
1003 11, -89, -89, -89, -89, -89, -89, -89, -89, -89,
1004 -89, 89, 89, 89, -89, -89, 89, 89, 89, 89,
1005 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
1006 89, 89, 89, 89, 89, 89, 89, -89
1007
1008 },
1009
1010 {
1011 11, -90, -90, -90, -90, -90, -90, -90, -90, -90,
1012 -90, -90, -90, -90, -90, -90, -90, -90, -90, -90,
1013 -90, -90, -90, -90, -90, -90, -90, -90, -90, -90,
1014 -90, -90, -90, -90, -90, -90, -90, -90
1015 },
1016
1017 {
1018 11, -91, -91, -91, -91, -91, -91, -91, -91, -91,
1019 -91, 89, 89, 89, -91, -91, 89, 89, 89, 89,
1020 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
1021 89, 89, 89, 89, 89, 89, 89, -91
1022 },
1023
1024 {
1025 11, -92, -92, -92, -92, -92, -92, -92, -92, -92,
1026 -92, 89, 89, 89, -92, -92, 89, 89, 89, 89,
1027
1028 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
1029 89, 89, 89, 89, 89, 89, 89, -92
1030 },
1031
1032 {
1033 11, -93, -93, -93, -93, -93, -93, -93, -93, -93,
1034 -93, -93, -93, -93, -93, -93, -93, -93, -93, -93,
1035 -93, -93, -93, -93, -93, -93, -93, -93, -93, -93,
1036 -93, -93, -93, -93, -93, -93, -93, -93
1037 },
1038
1039 {
1040 11, -94, -94, -94, -94, -94, -94, -94, -94, -94,
1041 -94, -94, -94, 58, -94, -94, 58, 58, 58, 58,
1042 58, 58, 58, 58, 58, 58, 116, 58, 58, 58,
1043 58, 58, 58, 58, 58, 58, 58, -94
1044
1045 },
1046
1047 {
1048 11, -95, -95, -95, -95, -95, -95, -95, -95, -95,
1049 -95, -95, -95, 58, -95, -95, 58, 58, 58, 58,
1050 58, 58, 58, 58, 58, 117, 58, 58, 58, 58,
1051 58, 58, 58, 58, 58, 58, 58, -95
1052 },
1053
1054 {
1055 11, -96, -96, -96, -96, -96, -96, -96, -96, -96,
1056 -96, -96, -96, 58, -96, -96, 58, 58, 58, 58,
1057 58, 58, 58, 58, 58, 58, 58, 118, 58, 58,
1058 58, 58, 58, 58, 58, 58, 58, -96
1059 },
1060
1061 {
1062 11, -97, -97, -97, -97, -97, -97, -97, -97, -97,
1063 -97, -97, -97, 58, -97, -97, 58, 58, 58, 58,
1064
1065 58, 58, 119, 58, 58, 58, 58, 58, 58, 58,
1066 58, 58, 58, 58, 58, 58, 58, -97
1067 },
1068
1069 {
1070 11, -98, -98, -98, -98, -98, -98, -98, -98, -98,
1071 -98, -98, -98, 58, -98, -98, 120, 121, 58, 58,
1072 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1073 58, 58, 58, 58, 58, 58, 58, -98
1074 },
1075
1076 {
1077 11, -99, -99, -99, -99, -99, -99, -99, -99, -99,
1078 -99, -99, -99, 58, -99, -99, 58, 58, 58, 58,
1079 58, 122, 58, 58, 58, 58, 58, 58, 58, 58,
1080 58, 58, 58, 58, 58, 58, 58, -99
1081
1082 },
1083
1084 {
1085 11, -100, -100, -100, -100, -100, -100, -100, -100, -100,
1086 -100, -100, -100, 58, -100, -100, 58, 58, 123, 58,
1087 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1088 58, 58, 58, 58, 58, 58, 58, -100
1089 },
1090
1091 {
1092 11, -101, -101, -101, -101, -101, -101, -101, -101, -101,
1093 -101, -101, -101, 58, -101, -101, 58, 58, 58, 124,
1094 58, 58, 58, 58, 58, 125, 58, 126, 58, 58,
1095 58, 58, 58, 58, 58, 58, 58, -101
1096 },
1097
1098 {
1099 11, -102, -102, -102, -102, -102, -102, -102, -102, -102,
1100 -102, -102, -102, 58, -102, -102, 58, 58, 58, 58,
1101
1102 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1103 127, 58, 58, 58, 58, 58, 58, -102
1104 },
1105
1106 {
1107 11, -103, -103, -103, -103, -103, -103, -103, -103, -103,
1108 -103, -103, -103, 58, -103, -103, 58, 58, 58, 58,
1109 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1110 58, 58, 58, 58, 58, 58, 58, -103
1111 },
1112
1113 {
1114 11, -104, -104, -104, -104, -104, -104, -104, -104, -104,
1115 -104, -104, -104, 58, -104, -104, 58, 58, 58, 58,
1116 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1117 58, 58, 58, 58, 58, 58, 58, -104
1118
1119 },
1120
1121 {
1122 11, -105, -105, -105, -105, -105, -105, -105, -105, -105,
1123 -105, -105, -105, 58, -105, -105, 58, 58, 58, 58,
1124 58, 58, 58, 58, 58, 58, 58, 58, 128, 58,
1125 58, 58, 58, 58, 58, 58, 58, -105
1126 },
1127
1128 {
1129 11, -106, -106, -106, -106, -106, -106, -106, -106, -106,
1130 -106, -106, -106, 58, -106, -106, 58, 58, 58, 58,
1131 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1132 58, 58, 58, 58, 58, 129, 58, -106
1133 },
1134
1135 {
1136 11, -107, -107, -107, -107, -107, -107, -107, -107, -107,
1137 -107, -107, -107, 58, -107, -107, 58, 58, 58, 58,
1138
1139 58, 58, 58, 58, 58, 130, 58, 58, 58, 58,
1140 58, 58, 58, 58, 58, 58, 58, -107
1141 },
1142
1143 {
1144 11, -108, -108, -108, -108, -108, -108, -108, -108, -108,
1145 -108, -108, -108, 58, -108, -108, 58, 58, 58, 58,
1146 58, 58, 58, 58, 58, 58, 58, 131, 58, 58,
1147 58, 58, 58, 58, 58, 58, 58, -108
1148 },
1149
1150 {
1151 11, -109, -109, -109, -109, -109, -109, -109, -109, -109,
1152 -109, -109, -109, 58, -109, -109, 58, 58, 58, 58,
1153 58, 58, 58, 132, 58, 58, 58, 58, 58, 58,
1154 58, 58, 58, 58, 58, 58, 58, -109
1155
1156 },
1157
1158 {
1159 11, -110, -110, -110, -110, -110, -110, -110, -110, -110,
1160 -110, -110, -110, 58, -110, -110, 58, 58, 58, 58,
1161 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1162 58, 58, 58, 58, 58, 133, 58, -110
1163 },
1164
1165 {
1166 11, -111, -111, -111, -111, -111, -111, -111, -111, -111,
1167 -111, -111, -111, 58, -111, -111, 58, 58, 58, 58,
1168 58, 134, 58, 58, 58, 58, 58, 58, 58, 58,
1169 58, 58, 58, 58, 58, 58, 58, -111
1170 },
1171
1172 {
1173 11, -112, -112, -112, -112, -112, -112, -112, -112, -112,
1174 -112, -112, -112, 58, -112, -112, 58, 58, 58, 58,
1175
1176 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1177 58, 58, 135, 58, 58, 58, 58, -112
1178 },
1179
1180 {
1181 11, -113, -113, -113, -113, -113, -113, -113, -113, -113,
1182 -113, -113, -113, 58, -113, -113, 58, 58, 58, 58,
1183 58, 58, 58, 58, 58, 136, 58, 58, 58, 58,
1184 58, 58, 58, 58, 58, 58, 58, -113
1185 },
1186
1187 {
1188 11, -114, -114, -114, -114, -114, -114, -114, -114, -114,
1189 -114, -114, -114, 58, -114, -114, 58, 58, 58, 58,
1190 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1191 58, 58, 58, 137, 58, 58, 58, -114
1192
1193 },
1194
1195 {
1196 11, -115, -115, -115, -115, -115, -115, -115, -115, -115,
1197 -115, 89, 89, 89, -115, -115, 89, 89, 89, 89,
1198 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
1199 89, 89, 89, 89, 89, 89, 89, -115
1200 },
1201
1202 {
1203 11, -116, -116, -116, -116, -116, -116, -116, -116, -116,
1204 -116, -116, -116, 58, -116, -116, 58, 58, 58, 58,
1205 58, 138, 58, 58, 58, 58, 58, 58, 58, 58,
1206 58, 58, 58, 58, 58, 58, 58, -116
1207 },
1208
1209 {
1210 11, -117, -117, -117, -117, -117, -117, -117, -117, -117,
1211 -117, -117, -117, 58, -117, -117, 58, 58, 58, 139,
1212
1213 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1214 58, 58, 58, 58, 58, 58, 58, -117
1215 },
1216
1217 {
1218 11, -118, -118, -118, -118, -118, -118, -118, -118, -118,
1219 -118, -118, -118, 58, -118, -118, 58, 58, 58, 58,
1220 58, 140, 58, 58, 58, 58, 58, 58, 58, 58,
1221 58, 58, 58, 58, 58, 58, 58, -118
1222 },
1223
1224 {
1225 11, -119, -119, -119, -119, -119, -119, -119, -119, -119,
1226 -119, -119, -119, 58, -119, -119, 58, 58, 58, 58,
1227 58, 58, 58, 58, 58, 141, 58, 58, 58, 58,
1228 58, 58, 58, 58, 58, 58, 58, -119
1229
1230 },
1231
1232 {
1233 11, -120, -120, -120, -120, -120, -120, -120, -120, -120,
1234 -120, -120, -120, 58, -120, -120, 58, 58, 142, 58,
1235 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1236 58, 58, 58, 58, 143, 58, 58, -120
1237 },
1238
1239 {
1240 11, -121, -121, -121, -121, -121, -121, -121, -121, -121,
1241 -121, -121, -121, 58, -121, -121, 58, 58, 58, 58,
1242 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1243 58, 58, 58, 58, 58, 144, 58, -121
1244 },
1245
1246 {
1247 11, -122, -122, -122, -122, -122, -122, -122, -122, -122,
1248 -122, -122, -122, 58, -122, -122, 58, 58, 58, 58,
1249
1250 58, 58, 58, 58, 58, 58, 58, 58, 145, 58,
1251 58, 58, 58, 58, 58, 58, 58, -122
1252 },
1253
1254 {
1255 11, -123, -123, -123, -123, -123, -123, -123, -123, -123,
1256 -123, -123, -123, 58, -123, -123, 58, 58, 58, 58,
1257 58, 58, 58, 58, 58, 58, 146, 58, 58, 58,
1258 58, 58, 58, 58, 58, 58, 58, -123
1259 },
1260
1261 {
1262 11, -124, -124, -124, -124, -124, -124, -124, -124, -124,
1263 -124, -124, -124, 58, -124, -124, 58, 58, 58, 58,
1264 58, 58, 58, 58, 147, 58, 58, 58, 58, 58,
1265 58, 58, 58, 58, 58, 58, 58, -124
1266
1267 },
1268
1269 {
1270 11, -125, -125, -125, -125, -125, -125, -125, -125, -125,
1271 -125, -125, -125, 58, -125, -125, 58, 58, 58, 58,
1272 58, 58, 148, 58, 58, 58, 58, 58, 58, 58,
1273 58, 58, 58, 58, 58, 58, 58, -125
1274 },
1275
1276 {
1277 11, -126, -126, -126, -126, -126, -126, -126, -126, -126,
1278 -126, -126, -126, 58, -126, -126, 58, 58, 58, 58,
1279 58, 149, 58, 58, 58, 58, 58, 58, 58, 58,
1280 58, 58, 58, 58, 58, 58, 58, -126
1281 },
1282
1283 {
1284 11, -127, -127, -127, -127, -127, -127, -127, -127, -127,
1285 -127, -127, -127, 58, -127, -127, 58, 58, 58, 58,
1286
1287 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1288 58, 58, 58, 58, 58, 58, 58, -127
1289 },
1290
1291 {
1292 11, -128, -128, -128, -128, -128, -128, -128, -128, -128,
1293 -128, -128, -128, 58, -128, -128, 58, 58, 58, 58,
1294 58, 58, 58, 58, 58, 58, 58, 150, 58, 58,
1295 58, 58, 58, 58, 58, 58, 58, -128
1296 },
1297
1298 {
1299 11, -129, -129, -129, -129, -129, -129, -129, -129, -129,
1300 -129, -129, -129, 58, -129, -129, 58, 58, 58, 151,
1301 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1302 58, 58, 58, 58, 58, 58, 58, -129
1303
1304 },
1305
1306 {
1307 11, -130, -130, -130, -130, -130, -130, -130, -130, -130,
1308 -130, -130, -130, 58, -130, -130, 58, 58, 58, 58,
1309 58, 58, 58, 58, 58, 58, 58, 58, 58, 152,
1310 58, 58, 58, 58, 58, 58, 58, -130
1311 },
1312
1313 {
1314 11, -131, -131, -131, -131, -131, -131, -131, -131, -131,
1315 -131, -131, -131, 58, -131, -131, 58, 58, 58, 58,
1316 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1317 153, 58, 58, 58, 58, 58, 58, -131
1318 },
1319
1320 {
1321 11, -132, -132, -132, -132, -132, -132, -132, -132, -132,
1322 -132, -132, -132, 58, -132, -132, 58, 58, 58, 58,
1323
1324 58, 154, 58, 58, 58, 58, 58, 58, 58, 58,
1325 58, 58, 58, 58, 58, 58, 58, -132
1326 },
1327
1328 {
1329 11, -133, -133, -133, -133, -133, -133, -133, -133, -133,
1330 -133, -133, -133, 58, -133, -133, 58, 58, 58, 58,
1331 58, 58, 58, 58, 58, 155, 58, 58, 58, 58,
1332 58, 58, 58, 58, 58, 58, 58, -133
1333 },
1334
1335 {
1336 11, -134, -134, -134, -134, -134, -134, -134, -134, -134,
1337 -134, -134, -134, 58, -134, -134, 58, 58, 58, 156,
1338 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1339 58, 58, 58, 58, 58, 58, 58, -134
1340
1341 },
1342
1343 {
1344 11, -135, -135, -135, -135, -135, -135, -135, -135, -135,
1345 -135, -135, -135, 58, -135, -135, 58, 58, 58, 157,
1346 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1347 58, 58, 58, 58, 58, 58, 58, -135
1348 },
1349
1350 {
1351 11, -136, -136, -136, -136, -136, -136, -136, -136, -136,
1352 -136, -136, -136, 58, -136, -136, 58, 58, 58, 58,
1353 58, 58, 58, 58, 58, 58, 58, 58, 158, 58,
1354 58, 58, 58, 58, 58, 58, 58, -136
1355 },
1356
1357 {
1358 11, -137, -137, -137, -137, -137, -137, -137, -137, -137,
1359 -137, -137, -137, 58, -137, -137, 58, 58, 58, 58,
1360
1361 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1362 58, 58, 58, 58, 159, 58, 58, -137
1363 },
1364
1365 {
1366 11, -138, -138, -138, -138, -138, -138, -138, -138, -138,
1367 -138, -138, -138, 58, -138, -138, 58, 160, 58, 58,
1368 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1369 58, 58, 58, 58, 58, 58, 58, -138
1370 },
1371
1372 {
1373 11, -139, -139, -139, -139, -139, -139, -139, -139, -139,
1374 -139, -139, -139, 58, -139, -139, 58, 58, 58, 58,
1375 58, 161, 58, 58, 58, 58, 58, 58, 58, 58,
1376 58, 58, 58, 58, 58, 58, 58, -139
1377
1378 },
1379
1380 {
1381 11, -140, -140, -140, -140, -140, -140, -140, -140, -140,
1382 -140, -140, -140, 58, -140, -140, 58, 58, 58, 58,
1383 58, 58, 58, 58, 58, 58, 58, 58, 162, 58,
1384 58, 58, 58, 58, 58, 58, 58, -140
1385 },
1386
1387 {
1388 11, -141, -141, -141, -141, -141, -141, -141, -141, -141,
1389 -141, -141, -141, 58, -141, -141, 58, 58, 58, 58,
1390 58, 58, 58, 163, 58, 58, 58, 58, 58, 58,
1391 58, 58, 58, 58, 58, 58, 58, -141
1392 },
1393
1394 {
1395 11, -142, -142, -142, -142, -142, -142, -142, -142, -142,
1396 -142, -142, -142, 58, -142, -142, 58, 58, 58, 58,
1397
1398 58, 58, 58, 58, 58, 58, 58, 58, 58, 164,
1399 58, 58, 58, 58, 58, 58, 58, -142
1400 },
1401
1402 {
1403 11, -143, -143, -143, -143, -143, -143, -143, -143, -143,
1404 -143, -143, -143, 58, -143, -143, 58, 58, 58, 58,
1405 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1406 58, 58, 165, 58, 58, 58, 58, -143
1407 },
1408
1409 {
1410 11, -144, -144, -144, -144, -144, -144, -144, -144, -144,
1411 -144, -144, -144, 58, -144, -144, 58, 58, 58, 58,
1412 58, 58, 58, 58, 58, 58, 166, 58, 58, 58,
1413 58, 58, 58, 58, 58, 58, 58, -144
1414
1415 },
1416
1417 {
1418 11, -145, -145, -145, -145, -145, -145, -145, -145, -145,
1419 -145, -145, -145, 58, -145, -145, 58, 58, 58, 58,
1420 167, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1421 58, 58, 58, 58, 58, 58, 58, -145
1422 },
1423
1424 {
1425 11, -146, -146, -146, -146, -146, -146, -146, -146, -146,
1426 -146, -146, -146, 58, -146, -146, 58, 58, 58, 58,
1427 58, 168, 58, 58, 58, 58, 58, 58, 58, 58,
1428 58, 58, 58, 58, 58, 58, 58, -146
1429 },
1430
1431 {
1432 11, -147, -147, -147, -147, -147, -147, -147, -147, -147,
1433 -147, -147, -147, 58, -147, -147, 58, 58, 58, 58,
1434
1435 58, 58, 58, 58, 58, 58, 58, 58, 58, 169,
1436 58, 58, 58, 58, 58, 58, 58, -147
1437 },
1438
1439 {
1440 11, -148, -148, -148, -148, -148, -148, -148, -148, -148,
1441 -148, -148, -148, 58, -148, -148, 58, 58, 58, 58,
1442 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1443 58, 58, 58, 58, 58, 58, 58, -148
1444 },
1445
1446 {
1447 11, -149, -149, -149, -149, -149, -149, -149, -149, -149,
1448 -149, -149, -149, 58, -149, -149, 58, 58, 58, 58,
1449 58, 58, 58, 58, 58, 58, 58, 58, 170, 58,
1450 58, 58, 58, 58, 58, 58, 58, -149
1451
1452 },
1453
1454 {
1455 11, -150, -150, -150, -150, -150, -150, -150, -150, -150,
1456 -150, -150, -150, 58, -150, -150, 58, 58, 58, 58,
1457 58, 171, 58, 58, 58, 58, 58, 58, 58, 58,
1458 58, 58, 58, 58, 58, 58, 58, -150
1459 },
1460
1461 {
1462 11, -151, -151, -151, -151, -151, -151, -151, -151, -151,
1463 -151, -151, -151, 58, -151, -151, 58, 58, 58, 58,
1464 58, 58, 58, 58, 58, 58, 58, 58, 58, 172,
1465 58, 58, 58, 58, 58, 58, 58, -151
1466 },
1467
1468 {
1469 11, -152, -152, -152, -152, -152, -152, -152, -152, -152,
1470 -152, -152, -152, 58, -152, -152, 58, 58, 58, 58,
1471
1472 58, 58, 58, 58, 58, 58, 58, 58, 173, 58,
1473 58, 58, 58, 58, 58, 58, 58, -152
1474 },
1475
1476 {
1477 11, -153, -153, -153, -153, -153, -153, -153, -153, -153,
1478 -153, -153, -153, 58, -153, -153, 58, 58, 58, 58,
1479 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1480 58, 58, 58, 58, 174, 58, 58, -153
1481 },
1482
1483 {
1484 11, -154, -154, -154, -154, -154, -154, -154, -154, -154,
1485 -154, -154, -154, 58, -154, -154, 58, 58, 58, 58,
1486 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1487 58, 58, 58, 58, 58, 58, 58, -154
1488
1489 },
1490
1491 {
1492 11, -155, -155, -155, -155, -155, -155, -155, -155, -155,
1493 -155, -155, -155, 58, -155, -155, 58, 58, 58, 58,
1494 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1495 58, 58, 175, 58, 58, 58, 58, -155
1496 },
1497
1498 {
1499 11, -156, -156, -156, -156, -156, -156, -156, -156, -156,
1500 -156, -156, -156, 58, -156, -156, 58, 58, 58, 58,
1501 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1502 58, 58, 58, 58, 176, 58, 58, -156
1503 },
1504
1505 {
1506 11, -157, -157, -157, -157, -157, -157, -157, -157, -157,
1507 -157, -157, -157, 58, -157, -157, 58, 58, 58, 58,
1508
1509 58, 177, 58, 58, 58, 58, 58, 58, 58, 58,
1510 58, 58, 58, 58, 58, 58, 58, -157
1511 },
1512
1513 {
1514 11, -158, -158, -158, -158, -158, -158, -158, -158, -158,
1515 -158, -158, -158, 58, -158, -158, 58, 58, 58, 58,
1516 58, 58, 58, 178, 58, 58, 58, 58, 58, 58,
1517 58, 58, 58, 58, 58, 58, 58, -158
1518 },
1519
1520 {
1521 11, -159, -159, -159, -159, -159, -159, -159, -159, -159,
1522 -159, -159, -159, 58, -159, -159, 58, 179, 58, 58,
1523 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1524 58, 58, 58, 58, 58, 58, 58, -159
1525
1526 },
1527
1528 {
1529 11, -160, -160, -160, -160, -160, -160, -160, -160, -160,
1530 -160, -160, -160, 58, -160, -160, 58, 58, 58, 58,
1531 58, 58, 58, 58, 58, 58, 58, 58, 180, 58,
1532 58, 58, 58, 58, 58, 58, 58, -160
1533 },
1534
1535 {
1536 11, -161, -161, -161, -161, -161, -161, -161, -161, -161,
1537 -161, -161, -161, 58, -161, -161, 58, 58, 58, 58,
1538 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1539 58, 58, 58, 58, 58, 58, 58, -161
1540 },
1541
1542 {
1543 11, -162, -162, -162, -162, -162, -162, -162, -162, -162,
1544 -162, -162, -162, 58, -162, -162, 58, 58, 58, 58,
1545
1546 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1547 58, 58, 58, 58, 181, 58, 58, -162
1548 },
1549
1550 {
1551 11, -163, -163, -163, -163, -163, -163, -163, -163, -163,
1552 -163, -163, -163, 58, -163, -163, 58, 58, 58, 58,
1553 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1554 58, 58, 58, 58, 58, 58, 58, -163
1555 },
1556
1557 {
1558 11, -164, -164, -164, -164, -164, -164, -164, -164, -164,
1559 -164, -164, -164, 58, -164, -164, 58, 58, 58, 58,
1560 58, 58, 58, 58, 58, 58, 58, 58, 58, 182,
1561 58, 58, 58, 58, 58, 58, 58, -164
1562
1563 },
1564
1565 {
1566 11, -165, -165, -165, -165, -165, -165, -165, -165, -165,
1567 -165, -165, -165, 58, -165, -165, 58, 58, 58, 58,
1568 58, 58, 58, 58, 58, 183, 58, 58, 58, 58,
1569 58, 58, 58, 58, 58, 58, 58, -165
1570 },
1571
1572 {
1573 11, -166, -166, -166, -166, -166, -166, -166, -166, -166,
1574 -166, -166, -166, 58, -166, -166, 58, 58, 58, 58,
1575 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1576 58, 58, 58, 58, 184, 58, 58, -166
1577 },
1578
1579 {
1580 11, -167, -167, -167, -167, -167, -167, -167, -167, -167,
1581 -167, -167, -167, 58, -167, -167, 58, 58, 58, 58,
1582
1583 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1584 58, 58, 58, 185, 58, 58, 58, -167
1585 },
1586
1587 {
1588 11, -168, -168, -168, -168, -168, -168, -168, -168, -168,
1589 -168, -168, -168, 58, -168, -168, 58, 58, 58, 58,
1590 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1591 58, 58, 58, 58, 58, 58, 58, -168
1592 },
1593
1594 {
1595 11, -169, -169, -169, -169, -169, -169, -169, -169, -169,
1596 -169, -169, -169, 58, -169, -169, 58, 58, 58, 58,
1597 58, 58, 58, 58, 58, 186, 58, 58, 58, 58,
1598 58, 58, 58, 58, 58, 58, 58, -169
1599
1600 },
1601
1602 {
1603 11, -170, -170, -170, -170, -170, -170, -170, -170, -170,
1604 -170, -170, -170, 58, -170, -170, 58, 58, 58, 58,
1605 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1606 58, 58, 58, 58, 58, 187, 58, -170
1607 },
1608
1609 {
1610 11, -171, -171, -171, -171, -171, -171, -171, -171, -171,
1611 -171, -171, -171, 58, -171, -171, 58, 58, 58, 58,
1612 58, 58, 58, 58, 58, 58, 58, 58, 188, 58,
1613 58, 58, 58, 58, 58, 58, 58, -171
1614 },
1615
1616 {
1617 11, -172, -172, -172, -172, -172, -172, -172, -172, -172,
1618 -172, -172, -172, 58, -172, -172, 58, 58, 58, 58,
1619
1620 58, 58, 58, 58, 58, 58, 58, 58, 189, 58,
1621 58, 58, 58, 58, 58, 58, 58, -172
1622 },
1623
1624 {
1625 11, -173, -173, -173, -173, -173, -173, -173, -173, -173,
1626 -173, -173, -173, 58, -173, -173, 58, 190, 58, 58,
1627 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1628 58, 58, 58, 58, 58, 58, 58, -173
1629 },
1630
1631 {
1632 11, -174, -174, -174, -174, -174, -174, -174, -174, -174,
1633 -174, -174, -174, 58, -174, -174, 58, 58, 58, 58,
1634 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1635 58, 58, 58, 58, 58, 58, 58, -174
1636
1637 },
1638
1639 {
1640 11, -175, -175, -175, -175, -175, -175, -175, -175, -175,
1641 -175, -175, -175, 58, -175, -175, 58, 58, 58, 58,
1642 58, 191, 58, 58, 58, 58, 58, 58, 58, 58,
1643 58, 58, 58, 58, 58, 58, 58, -175
1644 },
1645
1646 {
1647 11, -176, -176, -176, -176, -176, -176, -176, -176, -176,
1648 -176, -176, -176, 58, -176, -176, 58, 58, 58, 58,
1649 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1650 58, 58, 58, 58, 58, 58, 58, -176
1651 },
1652
1653 {
1654 11, -177, -177, -177, -177, -177, -177, -177, -177, -177,
1655 -177, -177, -177, 58, -177, -177, 58, 58, 58, 58,
1656
1657 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1658 58, 58, 58, 58, 58, 58, 58, -177
1659 },
1660
1661 {
1662 11, -178, -178, -178, -178, -178, -178, -178, -178, -178,
1663 -178, -178, -178, 58, -178, -178, 58, 58, 58, 58,
1664 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1665 58, 58, 58, 58, 58, 58, 58, -178
1666 },
1667
1668 {
1669 11, -179, -179, -179, -179, -179, -179, -179, -179, -179,
1670 -179, -179, -179, 58, -179, -179, 58, 58, 58, 58,
1671 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1672 58, 58, 58, 58, 192, 58, 58, -179
1673
1674 },
1675
1676 {
1677 11, -180, -180, -180, -180, -180, -180, -180, -180, -180,
1678 -180, -180, -180, 58, -180, -180, 58, 58, 58, 58,
1679 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1680 58, 58, 58, 58, 58, 58, 58, -180
1681 },
1682
1683 {
1684 11, -181, -181, -181, -181, -181, -181, -181, -181, -181,
1685 -181, -181, -181, 58, -181, -181, 58, 58, 58, 58,
1686 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1687 58, 58, 58, 58, 58, 58, 58, -181
1688 },
1689
1690 {
1691 11, -182, -182, -182, -182, -182, -182, -182, -182, -182,
1692 -182, -182, -182, 58, -182, -182, 58, 58, 58, 58,
1693
1694 58, 58, 58, 58, 58, 58, 193, 58, 58, 58,
1695 58, 58, 58, 58, 58, 58, 58, -182
1696 },
1697
1698 {
1699 11, -183, -183, -183, -183, -183, -183, -183, -183, -183,
1700 -183, -183, -183, 58, -183, -183, 58, 58, 58, 58,
1701 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1702 58, 58, 58, 194, 58, 58, 58, -183
1703 },
1704
1705 {
1706 11, -184, -184, -184, -184, -184, -184, -184, -184, -184,
1707 -184, -184, -184, 58, -184, -184, 58, 58, 58, 58,
1708 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1709 58, 58, 58, 58, 58, 58, 58, -184
1710
1711 },
1712
1713 {
1714 11, -185, -185, -185, -185, -185, -185, -185, -185, -185,
1715 -185, -185, -185, 58, -185, -185, 58, 58, 58, 58,
1716 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1717 58, 58, 58, 58, 58, 58, 58, -185
1718 },
1719
1720 {
1721 11, -186, -186, -186, -186, -186, -186, -186, -186, -186,
1722 -186, -186, -186, 58, -186, -186, 58, 58, 58, 195,
1723 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1724 58, 58, 58, 58, 58, 58, 58, -186
1725 },
1726
1727 {
1728 11, -187, -187, -187, -187, -187, -187, -187, -187, -187,
1729 -187, -187, -187, 58, -187, -187, 58, 58, 58, 58,
1730
1731 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1732 58, 58, 58, 58, 58, 58, 58, -187
1733 },
1734
1735 {
1736 11, -188, -188, -188, -188, -188, -188, -188, -188, -188,
1737 -188, -188, -188, 58, -188, -188, 58, 58, 58, 58,
1738 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1739 58, 58, 58, 58, 58, 196, 58, -188
1740 },
1741
1742 {
1743 11, -189, -189, -189, -189, -189, -189, -189, -189, -189,
1744 -189, -189, -189, 58, -189, -189, 58, 58, 58, 58,
1745 58, 58, 197, 58, 58, 58, 58, 58, 58, 58,
1746 58, 58, 58, 58, 58, 58, 58, -189
1747
1748 },
1749
1750 {
1751 11, -190, -190, -190, -190, -190, -190, -190, -190, -190,
1752 -190, -190, -190, 58, -190, -190, 58, 58, 58, 58,
1753 58, 58, 58, 58, 58, 58, 198, 58, 58, 58,
1754 58, 58, 58, 58, 58, 58, 58, -190
1755 },
1756
1757 {
1758 11, -191, -191, -191, -191, -191, -191, -191, -191, -191,
1759 -191, -191, -191, 58, -191, -191, 58, 58, 58, 58,
1760 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1761 58, 58, 58, 199, 58, 58, 58, -191
1762 },
1763
1764 {
1765 11, -192, -192, -192, -192, -192, -192, -192, -192, -192,
1766 -192, -192, -192, 58, -192, -192, 58, 58, 58, 58,
1767
1768 58, 200, 58, 58, 58, 58, 58, 58, 58, 58,
1769 58, 58, 58, 58, 58, 58, 58, -192
1770 },
1771
1772 {
1773 11, -193, -193, -193, -193, -193, -193, -193, -193, -193,
1774 -193, -193, -193, 58, -193, -193, 58, 58, 58, 58,
1775 58, 201, 58, 58, 58, 58, 58, 58, 58, 58,
1776 58, 58, 58, 58, 58, 58, 58, -193
1777 },
1778
1779 {
1780 11, -194, -194, -194, -194, -194, -194, -194, -194, -194,
1781 -194, -194, -194, 58, -194, -194, 58, 58, 58, 58,
1782 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1783 58, 58, 58, 58, 202, 58, 58, -194
1784
1785 },
1786
1787 {
1788 11, -195, -195, -195, -195, -195, -195, -195, -195, -195,
1789 -195, -195, -195, 58, -195, -195, 58, 58, 58, 58,
1790 58, 203, 58, 58, 58, 58, 58, 58, 58, 58,
1791 58, 58, 58, 58, 58, 58, 58, -195
1792 },
1793
1794 {
1795 11, -196, -196, -196, -196, -196, -196, -196, -196, -196,
1796 -196, -196, -196, 58, -196, -196, 58, 58, 58, 58,
1797 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1798 58, 58, 58, 58, 58, 58, 58, -196
1799 },
1800
1801 {
1802 11, -197, -197, -197, -197, -197, -197, -197, -197, -197,
1803 -197, -197, -197, 58, -197, -197, 58, 58, 58, 58,
1804
1805 58, 58, 58, 58, 58, 204, 58, 58, 58, 58,
1806 58, 58, 58, 58, 58, 58, 58, -197
1807 },
1808
1809 {
1810 11, -198, -198, -198, -198, -198, -198, -198, -198, -198,
1811 -198, -198, -198, 58, -198, -198, 58, 58, 58, 58,
1812 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1813 58, 58, 58, 58, 58, 58, 58, -198
1814 },
1815
1816 {
1817 11, -199, -199, -199, -199, -199, -199, -199, -199, -199,
1818 -199, -199, -199, 58, -199, -199, 58, 58, 58, 58,
1819 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1820 58, 58, 58, 58, 58, 58, 58, -199
1821
1822 },
1823
1824 {
1825 11, -200, -200, -200, -200, -200, -200, -200, -200, -200,
1826 -200, -200, -200, 58, -200, -200, 58, 58, 58, 58,
1827 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1828 58, 58, 58, 58, 58, 58, 58, -200
1829 },
1830
1831 {
1832 11, -201, -201, -201, -201, -201, -201, -201, -201, -201,
1833 -201, -201, -201, 58, -201, -201, 58, 205, 58, 58,
1834 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1835 58, 58, 58, 58, 58, 58, 58, -201
1836 },
1837
1838 {
1839 11, -202, -202, -202, -202, -202, -202, -202, -202, -202,
1840 -202, -202, -202, 58, -202, -202, 58, 206, 58, 58,
1841
1842 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1843 58, 58, 58, 58, 58, 58, 58, -202
1844 },
1845
1846 {
1847 11, -203, -203, -203, -203, -203, -203, -203, -203, -203,
1848 -203, -203, -203, 58, -203, -203, 58, 58, 58, 58,
1849 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1850 58, 58, 58, 58, 58, 58, 58, -203
1851 },
1852
1853 {
1854 11, -204, -204, -204, -204, -204, -204, -204, -204, -204,
1855 -204, -204, -204, 58, -204, -204, 58, 58, 58, 58,
1856 58, 58, 58, 207, 58, 58, 58, 58, 58, 58,
1857 58, 58, 58, 58, 58, 58, 58, -204
1858
1859 },
1860
1861 {
1862 11, -205, -205, -205, -205, -205, -205, -205, -205, -205,
1863 -205, -205, -205, 58, -205, -205, 58, 58, 58, 58,
1864 58, 58, 58, 58, 58, 58, 58, 58, 208, 58,
1865 58, 58, 58, 58, 58, 58, 58, -205
1866 },
1867
1868 {
1869 11, -206, -206, -206, -206, -206, -206, -206, -206, -206,
1870 -206, -206, -206, 58, -206, -206, 58, 58, 58, 58,
1871 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1872 58, 58, 58, 58, 209, 58, 58, -206
1873 },
1874
1875 {
1876 11, -207, -207, -207, -207, -207, -207, -207, -207, -207,
1877 -207, -207, -207, 58, -207, -207, 58, 58, 58, 58,
1878
1879 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1880 58, 58, 58, 58, 58, 58, 58, -207
1881 },
1882
1883 {
1884 11, -208, -208, -208, -208, -208, -208, -208, -208, -208,
1885 -208, -208, -208, 58, -208, -208, 58, 58, 58, 58,
1886 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1887 58, 58, 58, 58, 58, 58, 58, -208
1888 },
1889
1890 {
1891 11, -209, -209, -209, -209, -209, -209, -209, -209, -209,
1892 -209, -209, -209, 58, -209, -209, 58, 58, 58, 58,
1893 58, 210, 58, 58, 58, 58, 58, 58, 58, 58,
1894 58, 58, 58, 58, 58, 58, 58, -209
1895
1896 },
1897
1898 {
1899 11, -210, -210, -210, -210, -210, -210, -210, -210, -210,
1900 -210, -210, -210, 58, -210, -210, 58, 58, 58, 58,
1901 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1902 58, 58, 58, 58, 58, 58, 58, -210
1903 },
1904
1905 } ;
1906
1907 static yy_state_type yy_get_previous_state (void );
1908 static yy_state_type yy_try_NUL_trans (yy_state_type current_state );
1909 static int yy_get_next_buffer (void );
1910 static void yy_fatal_error (yyconst char msg[] );
1911
1912 /* Done after the current pattern has been matched and before the
1913 * corresponding action - sets up zconftext.
1914 */
1915 #define YY_DO_BEFORE_ACTION \
1916 (yytext_ptr) = yy_bp; \
1917 zconfleng = (size_t) (yy_cp - yy_bp); \
1918 (yy_hold_char) = *yy_cp; \
1919 *yy_cp = '\0'; \
1920 (yy_c_buf_p) = yy_cp;
1921
1922 #define YY_NUM_RULES 64
1923 #define YY_END_OF_BUFFER 65
1924 /* This struct is not used in this scanner,
1925 but its presence is necessary. */
1926 struct yy_trans_info
1927 {
1928 flex_int32_t yy_verify;
1929 flex_int32_t yy_nxt;
1930 };
1931 static yyconst flex_int16_t yy_accept[211] =
1932 { 0,
1933 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1934 65, 5, 4, 3, 2, 36, 37, 35, 35, 35,
1935 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
1936 63, 60, 62, 55, 59, 58, 57, 53, 48, 42,
1937 47, 51, 53, 40, 41, 50, 50, 43, 53, 50,
1938 50, 53, 4, 3, 2, 2, 1, 35, 35, 35,
1939 35, 35, 35, 35, 16, 35, 35, 35, 35, 35,
1940 35, 35, 35, 35, 35, 35, 63, 60, 62, 61,
1941 55, 54, 57, 56, 44, 51, 38, 50, 50, 52,
1942 45, 46, 39, 35, 35, 35, 35, 35, 35, 35,
1943
1944 35, 35, 30, 29, 35, 35, 35, 35, 35, 35,
1945 35, 35, 35, 35, 49, 25, 35, 35, 35, 35,
1946 35, 35, 35, 35, 35, 35, 15, 35, 7, 35,
1947 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
1948 35, 35, 35, 35, 35, 35, 35, 17, 35, 35,
1949 35, 35, 35, 34, 35, 35, 35, 35, 35, 35,
1950 10, 35, 13, 35, 35, 35, 35, 33, 35, 35,
1951 35, 35, 35, 22, 35, 32, 9, 31, 35, 26,
1952 12, 35, 35, 21, 18, 35, 8, 35, 35, 35,
1953 35, 35, 27, 35, 35, 6, 35, 20, 19, 23,
1954
1955 35, 35, 11, 35, 35, 35, 14, 28, 35, 24
1956 } ;
1957
1958 static yyconst flex_int32_t yy_ec[256] =
1959 { 0,
1960 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
1961 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1962 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1963 1, 2, 4, 5, 6, 1, 1, 7, 8, 9,
1964 10, 1, 1, 1, 11, 12, 12, 13, 13, 13,
1965 13, 13, 13, 13, 13, 13, 13, 1, 1, 1,
1966 14, 1, 1, 1, 13, 13, 13, 13, 13, 13,
1967 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
1968 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
1969 1, 15, 1, 1, 16, 1, 17, 18, 19, 20,
1970
1971 21, 22, 23, 24, 25, 13, 13, 26, 27, 28,
1972 29, 30, 31, 32, 33, 34, 35, 13, 13, 36,
1973 13, 13, 1, 37, 1, 1, 1, 1, 1, 1,
1974 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1975 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1976 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1977 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1978 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1979 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1980 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1981
1982 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1983 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1984 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1985 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1986 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1987 1, 1, 1, 1, 1
1988 } ;
1989
1990 extern int zconf_flex_debug;
1991 int zconf_flex_debug = 0;
1992
1993 /* The intent behind this definition is that it'll catch
1994 * any uses of REJECT which flex missed.
1995 */
1996 #define REJECT reject_used_but_not_detected
1997 #define yymore() yymore_used_but_not_detected
1998 #define YY_MORE_ADJ 0
1999 #define YY_RESTORE_YY_MORE_OFFSET
2000 char *zconftext;
2001
2002 /*
2003 * Copyright (C) 2002 Roman Zippel <zippel@linux-m68k.org>
2004 * Released under the terms of the GNU GPL v2.0.
2005 */
2006
2007 #include <limits.h>
2008 #include <stdio.h>
2009 #include <stdlib.h>
2010 #include <string.h>
2011 #include <unistd.h>
2012
2013 #define LKC_DIRECT_LINK
2014 #include "lkc.h"
2015
2016 #define START_STRSIZE 16
2017
2018 char *text;
2019 static char *text_ptr;
2020 static int text_size, text_asize;
2021
2022 struct buffer {
2023 struct buffer *parent;
2024 YY_BUFFER_STATE state;
2025 };
2026
2027 struct buffer *current_buf;
2028
2029 static int last_ts, first_ts;
2030
2031 static void zconf_endhelp(void);
2032 static struct buffer *zconf_endfile(void);
2033
2034 void new_string(void)
2035 {
2036 text = malloc(START_STRSIZE);
2037 text_asize = START_STRSIZE;
2038 text_ptr = text;
2039 text_size = 0;
2040 *text_ptr = 0;
2041 }
2042
2043 void append_string(const char *str, int size)
2044 {
2045 int new_size = text_size + size + 1;
2046 if (new_size > text_asize) {
2047 text = realloc(text, new_size);
2048 text_asize = new_size;
2049 text_ptr = text + text_size;
2050 }
2051 memcpy(text_ptr, str, size);
2052 text_ptr += size;
2053 text_size += size;
2054 *text_ptr = 0;
2055 }
2056
2057 void alloc_string(const char *str, int size)
2058 {
2059 text = malloc(size + 1);
2060 memcpy(text, str, size);
2061 text[size] = 0;
2062 }
2063
2064 #define INITIAL 0
2065 #define COMMAND 1
2066 #define HELP 2
2067 #define STRING 3
2068 #define PARAM 4
2069
2070 /* Special case for "unistd.h", since it is non-ANSI. We include it way
2071 * down here because we want the user's section 1 to have been scanned first.
2072 * The user has a chance to override it with an option.
2073 */
2074 #include <unistd.h>
2075
2076 #ifndef YY_EXTRA_TYPE
2077 #define YY_EXTRA_TYPE void *
2078 #endif
2079
2080 /* Macros after this point can all be overridden by user definitions in
2081 * section 1.
2082 */
2083
2084 #ifndef YY_SKIP_YYWRAP
2085 #ifdef __cplusplus
2086 extern "C" int zconfwrap (void );
2087 #else
2088 extern int zconfwrap (void );
2089 #endif
2090 #endif
2091
2092 static void yyunput (int c,char *buf_ptr );
2093
2094 #ifndef yytext_ptr
2095 static void yy_flex_strncpy (char *,yyconst char *,int );
2096 #endif
2097
2098 #ifdef YY_NEED_STRLEN
2099 static int yy_flex_strlen (yyconst char * );
2100 #endif
2101
2102 #ifndef YY_NO_INPUT
2103
2104 #ifdef __cplusplus
2105 static int yyinput (void );
2106 #else
2107 static int input (void );
2108 #endif
2109
2110 #endif
2111
2112 /* Amount of stuff to slurp up with each read. */
2113 #ifndef YY_READ_BUF_SIZE
2114 #define YY_READ_BUF_SIZE 8192
2115 #endif
2116
2117 /* Copy whatever the last rule matched to the standard output. */
2118 #ifndef ECHO
2119 /* This used to be an fputs(), but since the string might contain NUL's,
2120 * we now use fwrite().
2121 */
2122 #define ECHO (void) fwrite( zconftext, zconfleng, 1, zconfout )
2123 #endif
2124
2125 /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
2126 * is returned in "result".
2127 */
2128 #ifndef YY_INPUT
2129 #define YY_INPUT(buf,result,max_size) \
2130 errno=0; \
2131 while ( (result = read( fileno(zconfin), (char *) buf, max_size )) < 0 ) \
2132 { \
2133 if( errno != EINTR) \
2134 { \
2135 YY_FATAL_ERROR( "input in flex scanner failed" ); \
2136 break; \
2137 } \
2138 errno=0; \
2139 clearerr(zconfin); \
2140 }\
2141 \
2142
2143 #endif
2144
2145 /* No semi-colon after return; correct usage is to write "yyterminate();" -
2146 * we don't want an extra ';' after the "return" because that will cause
2147 * some compilers to complain about unreachable statements.
2148 */
2149 #ifndef yyterminate
2150 #define yyterminate() return YY_NULL
2151 #endif
2152
2153 /* Number of entries by which start-condition stack grows. */
2154 #ifndef YY_START_STACK_INCR
2155 #define YY_START_STACK_INCR 25
2156 #endif
2157
2158 /* Report a fatal error. */
2159 #ifndef YY_FATAL_ERROR
2160 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
2161 #endif
2162
2163 /* end tables serialization structures and prototypes */
2164
2165 /* Default declaration of generated scanner - a define so the user can
2166 * easily add parameters.
2167 */
2168 #ifndef YY_DECL
2169 #define YY_DECL_IS_OURS 1
2170
2171 extern int zconflex (void);
2172
2173 #define YY_DECL int zconflex (void)
2174 #endif /* !YY_DECL */
2175
2176 /* Code executed at the beginning of each rule, after zconftext and zconfleng
2177 * have been set up.
2178 */
2179 #ifndef YY_USER_ACTION
2180 #define YY_USER_ACTION
2181 #endif
2182
2183 /* Code executed at the end of each rule. */
2184 #ifndef YY_BREAK
2185 #define YY_BREAK break;
2186 #endif
2187
2188 #define YY_RULE_SETUP \
2189 YY_USER_ACTION
2190
2191 /** The main scanner function which does all the work.
2192 */
2193 YY_DECL
2194 {
2195 register yy_state_type yy_current_state;
2196 register char *yy_cp, *yy_bp;
2197 register int yy_act;
2198
2199 int str = 0;
2200 int ts, i;
2201
2202 if ( (yy_init) )
2203 {
2204 (yy_init) = 0;
2205
2206 #ifdef YY_USER_INIT
2207 YY_USER_INIT;
2208 #endif
2209
2210 if ( ! (yy_start) )
2211 (yy_start) = 1; /* first start state */
2212
2213 if ( ! zconfin )
2214 zconfin = stdin;
2215
2216 if ( ! zconfout )
2217 zconfout = stdout;
2218
2219 if ( ! YY_CURRENT_BUFFER ) {
2220 zconfensure_buffer_stack ();
2221 YY_CURRENT_BUFFER_LVALUE =
2222 zconf_create_buffer(zconfin,YY_BUF_SIZE );
2223 }
2224
2225 zconf_load_buffer_state( );
2226 }
2227
2228 while ( 1 ) /* loops until end-of-file is reached */
2229 {
2230 yy_cp = (yy_c_buf_p);
2231
2232 /* Support of zconftext. */
2233 *yy_cp = (yy_hold_char);
2234
2235 /* yy_bp points to the position in yy_ch_buf of the start of
2236 * the current run.
2237 */
2238 yy_bp = yy_cp;
2239
2240 yy_current_state = (yy_start);
2241 yy_match:
2242 while ( (yy_current_state = yy_nxt[yy_current_state][ yy_ec[YY_SC_TO_UI(*yy_cp)] ]) > 0 )
2243 ++yy_cp;
2244
2245 yy_current_state = -yy_current_state;
2246
2247 yy_find_action:
2248 yy_act = yy_accept[yy_current_state];
2249
2250 YY_DO_BEFORE_ACTION;
2251
2252 do_action: /* This label is used only to access EOF actions. */
2253
2254 switch ( yy_act )
2255 { /* beginning of action switch */
2256 case 1:
2257 /* rule 1 can match eol */
2258 YY_RULE_SETUP
2259 current_file->lineno++;
2260 YY_BREAK
2261 case 2:
2262 YY_RULE_SETUP
2263
2264 YY_BREAK
2265 case 3:
2266 /* rule 3 can match eol */
2267 YY_RULE_SETUP
2268 current_file->lineno++; return T_EOL;
2269 YY_BREAK
2270 case 4:
2271 YY_RULE_SETUP
2272 {
2273 BEGIN(COMMAND);
2274 }
2275 YY_BREAK
2276 case 5:
2277 YY_RULE_SETUP
2278 {
2279 unput(zconftext[0]);
2280 BEGIN(COMMAND);
2281 }
2282 YY_BREAK
2283
2284 case 6:
2285 YY_RULE_SETUP
2286 BEGIN(PARAM); return T_MAINMENU;
2287 YY_BREAK
2288 case 7:
2289 YY_RULE_SETUP
2290 BEGIN(PARAM); return T_MENU;
2291 YY_BREAK
2292 case 8:
2293 YY_RULE_SETUP
2294 BEGIN(PARAM); return T_ENDMENU;
2295 YY_BREAK
2296 case 9:
2297 YY_RULE_SETUP
2298 BEGIN(PARAM); return T_SOURCE;
2299 YY_BREAK
2300 case 10:
2301 YY_RULE_SETUP
2302 BEGIN(PARAM); return T_CHOICE;
2303 YY_BREAK
2304 case 11:
2305 YY_RULE_SETUP
2306 BEGIN(PARAM); return T_ENDCHOICE;
2307 YY_BREAK
2308 case 12:
2309 YY_RULE_SETUP
2310 BEGIN(PARAM); return T_COMMENT;
2311 YY_BREAK
2312 case 13:
2313 YY_RULE_SETUP
2314 BEGIN(PARAM); return T_CONFIG;
2315 YY_BREAK
2316 case 14:
2317 YY_RULE_SETUP
2318 BEGIN(PARAM); return T_MENUCONFIG;
2319 YY_BREAK
2320 case 15:
2321 YY_RULE_SETUP
2322 BEGIN(PARAM); return T_HELP;
2323 YY_BREAK
2324 case 16:
2325 YY_RULE_SETUP
2326 BEGIN(PARAM); return T_IF;
2327 YY_BREAK
2328 case 17:
2329 YY_RULE_SETUP
2330 BEGIN(PARAM); return T_ENDIF;
2331 YY_BREAK
2332 case 18:
2333 YY_RULE_SETUP
2334 BEGIN(PARAM); return T_DEPENDS;
2335 YY_BREAK
2336 case 19:
2337 YY_RULE_SETUP
2338 BEGIN(PARAM); return T_REQUIRES;
2339 YY_BREAK
2340 case 20:
2341 YY_RULE_SETUP
2342 BEGIN(PARAM); return T_OPTIONAL;
2343 YY_BREAK
2344 case 21:
2345 YY_RULE_SETUP
2346 BEGIN(PARAM); return T_DEFAULT;
2347 YY_BREAK
2348 case 22:
2349 YY_RULE_SETUP
2350 BEGIN(PARAM); return T_PROMPT;
2351 YY_BREAK
2352 case 23:
2353 YY_RULE_SETUP
2354 BEGIN(PARAM); return T_TRISTATE;
2355 YY_BREAK
2356 case 24:
2357 YY_RULE_SETUP
2358 BEGIN(PARAM); return T_DEF_TRISTATE;
2359 YY_BREAK
2360 case 25:
2361 YY_RULE_SETUP
2362 BEGIN(PARAM); return T_BOOLEAN;
2363 YY_BREAK
2364 case 26:
2365 YY_RULE_SETUP
2366 BEGIN(PARAM); return T_BOOLEAN;
2367 YY_BREAK
2368 case 27:
2369 YY_RULE_SETUP
2370 BEGIN(PARAM); return T_DEF_BOOLEAN;
2371 YY_BREAK
2372 case 28:
2373 YY_RULE_SETUP
2374 BEGIN(PARAM); return T_DEF_BOOLEAN;
2375 YY_BREAK
2376 case 29:
2377 YY_RULE_SETUP
2378 BEGIN(PARAM); return T_INT;
2379 YY_BREAK
2380 case 30:
2381 YY_RULE_SETUP
2382 BEGIN(PARAM); return T_HEX;
2383 YY_BREAK
2384 case 31:
2385 YY_RULE_SETUP
2386 BEGIN(PARAM); return T_STRING;
2387 YY_BREAK
2388 case 32:
2389 YY_RULE_SETUP
2390 BEGIN(PARAM); return T_SELECT;
2391 YY_BREAK
2392 case 33:
2393 YY_RULE_SETUP
2394 BEGIN(PARAM); return T_SELECT;
2395 YY_BREAK
2396 case 34:
2397 YY_RULE_SETUP
2398 BEGIN(PARAM); return T_RANGE;
2399 YY_BREAK
2400 case 35:
2401 YY_RULE_SETUP
2402 {
2403 alloc_string(zconftext, zconfleng);
2404 zconflval.string = text;
2405 return T_WORD;
2406 }
2407 YY_BREAK
2408 case 36:
2409 YY_RULE_SETUP
2410
2411 YY_BREAK
2412 case 37:
2413 /* rule 37 can match eol */
2414 YY_RULE_SETUP
2415 current_file->lineno++; BEGIN(INITIAL);
2416 YY_BREAK
2417
2418 case 38:
2419 YY_RULE_SETUP
2420 return T_AND;
2421 YY_BREAK
2422 case 39:
2423 YY_RULE_SETUP
2424 return T_OR;
2425 YY_BREAK
2426 case 40:
2427 YY_RULE_SETUP
2428 return T_OPEN_PAREN;
2429 YY_BREAK
2430 case 41:
2431 YY_RULE_SETUP
2432 return T_CLOSE_PAREN;
2433 YY_BREAK
2434 case 42:
2435 YY_RULE_SETUP
2436 return T_NOT;
2437 YY_BREAK
2438 case 43:
2439 YY_RULE_SETUP
2440 return T_EQUAL;
2441 YY_BREAK
2442 case 44:
2443 YY_RULE_SETUP
2444 return T_UNEQUAL;
2445 YY_BREAK
2446 case 45:
2447 YY_RULE_SETUP
2448 return T_IF;
2449 YY_BREAK
2450 case 46:
2451 YY_RULE_SETUP
2452 return T_ON;
2453 YY_BREAK
2454 case 47:
2455 YY_RULE_SETUP
2456 {
2457 str = zconftext[0];
2458 new_string();
2459 BEGIN(STRING);
2460 }
2461 YY_BREAK
2462 case 48:
2463 /* rule 48 can match eol */
2464 YY_RULE_SETUP
2465 BEGIN(INITIAL); current_file->lineno++; return T_EOL;
2466 YY_BREAK
2467 case 49:
2468 YY_RULE_SETUP
2469 /* ignore */
2470 YY_BREAK
2471 case 50:
2472 YY_RULE_SETUP
2473 {
2474 alloc_string(zconftext, zconfleng);
2475 zconflval.string = text;
2476 return T_WORD;
2477 }
2478 YY_BREAK
2479 case 51:
2480 YY_RULE_SETUP
2481 /* comment */
2482 YY_BREAK
2483 case 52:
2484 /* rule 52 can match eol */
2485 YY_RULE_SETUP
2486 current_file->lineno++;
2487 YY_BREAK
2488 case 53:
2489 YY_RULE_SETUP
2490
2491 YY_BREAK
2492 case YY_STATE_EOF(PARAM):
2493 {
2494 BEGIN(INITIAL);
2495 }
2496 YY_BREAK
2497
2498 case 54:
2499 /* rule 54 can match eol */
2500 *yy_cp = (yy_hold_char); /* undo effects of setting up zconftext */
2501 (yy_c_buf_p) = yy_cp -= 1;
2502 YY_DO_BEFORE_ACTION; /* set up zconftext again */
2503 YY_RULE_SETUP
2504 {
2505 append_string(zconftext, zconfleng);
2506 zconflval.string = text;
2507 return T_WORD_QUOTE;
2508 }
2509 YY_BREAK
2510 case 55:
2511 YY_RULE_SETUP
2512 {
2513 append_string(zconftext, zconfleng);
2514 }
2515 YY_BREAK
2516 case 56:
2517 /* rule 56 can match eol */
2518 *yy_cp = (yy_hold_char); /* undo effects of setting up zconftext */
2519 (yy_c_buf_p) = yy_cp -= 1;
2520 YY_DO_BEFORE_ACTION; /* set up zconftext again */
2521 YY_RULE_SETUP
2522 {
2523 append_string(zconftext + 1, zconfleng - 1);
2524 zconflval.string = text;
2525 return T_WORD_QUOTE;
2526 }
2527 YY_BREAK
2528 case 57:
2529 YY_RULE_SETUP
2530 {
2531 append_string(zconftext + 1, zconfleng - 1);
2532 }
2533 YY_BREAK
2534 case 58:
2535 YY_RULE_SETUP
2536 {
2537 if (str == zconftext[0]) {
2538 BEGIN(PARAM);
2539 zconflval.string = text;
2540 return T_WORD_QUOTE;
2541 } else
2542 append_string(zconftext, 1);
2543 }
2544 YY_BREAK
2545 case 59:
2546 /* rule 59 can match eol */
2547 YY_RULE_SETUP
2548 {
2549 printf("%s:%d:warning: multi-line strings not supported\n", zconf_curname(), zconf_lineno());
2550 current_file->lineno++;
2551 BEGIN(INITIAL);
2552 return T_EOL;
2553 }
2554 YY_BREAK
2555 case YY_STATE_EOF(STRING):
2556 {
2557 BEGIN(INITIAL);
2558 }
2559 YY_BREAK
2560
2561 case 60:
2562 YY_RULE_SETUP
2563 {
2564 ts = 0;
2565 for (i = 0; i < zconfleng; i++) {
2566 if (zconftext[i] == '\t')
2567 ts = (ts & ~7) + 8;
2568 else
2569 ts++;
2570 }
2571 last_ts = ts;
2572 if (first_ts) {
2573 if (ts < first_ts) {
2574 zconf_endhelp();
2575 return T_HELPTEXT;
2576 }
2577 ts -= first_ts;
2578 while (ts > 8) {
2579 append_string(" ", 8);
2580 ts -= 8;
2581 }
2582 append_string(" ", ts);
2583 }
2584 }
2585 YY_BREAK
2586 case 61:
2587 /* rule 61 can match eol */
2588 *yy_cp = (yy_hold_char); /* undo effects of setting up zconftext */
2589 (yy_c_buf_p) = yy_cp -= 1;
2590 YY_DO_BEFORE_ACTION; /* set up zconftext again */
2591 YY_RULE_SETUP
2592 {
2593 current_file->lineno++;
2594 zconf_endhelp();
2595 return T_HELPTEXT;
2596 }
2597 YY_BREAK
2598 case 62:
2599 /* rule 62 can match eol */
2600 YY_RULE_SETUP
2601 {
2602 current_file->lineno++;
2603 append_string("\n", 1);
2604 }
2605 YY_BREAK
2606 case 63:
2607 YY_RULE_SETUP
2608 {
2609 append_string(zconftext, zconfleng);
2610 if (!first_ts)
2611 first_ts = last_ts;
2612 }
2613 YY_BREAK
2614 case YY_STATE_EOF(HELP):
2615 {
2616 zconf_endhelp();
2617 return T_HELPTEXT;
2618 }
2619 YY_BREAK
2620
2621 case YY_STATE_EOF(INITIAL):
2622 case YY_STATE_EOF(COMMAND):
2623 {
2624 if (current_buf) {
2625 zconf_endfile();
2626 return T_EOF;
2627 }
2628 fclose(zconfin);
2629 yyterminate();
2630 }
2631 YY_BREAK
2632 case 64:
2633 YY_RULE_SETUP
2634 YY_FATAL_ERROR( "flex scanner jammed" );
2635 YY_BREAK
2636
2637 case YY_END_OF_BUFFER:
2638 {
2639 /* Amount of text matched not including the EOB char. */
2640 int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
2641
2642 /* Undo the effects of YY_DO_BEFORE_ACTION. */
2643 *yy_cp = (yy_hold_char);
2644 YY_RESTORE_YY_MORE_OFFSET
2645
2646 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
2647 {
2648 /* We're scanning a new file or input source. It's
2649 * possible that this happened because the user
2650 * just pointed zconfin at a new source and called
2651 * zconflex(). If so, then we have to assure
2652 * consistency between YY_CURRENT_BUFFER and our
2653 * globals. Here is the right place to do so, because
2654 * this is the first action (other than possibly a
2655 * back-up) that will match for the new input source.
2656 */
2657 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
2658 YY_CURRENT_BUFFER_LVALUE->yy_input_file = zconfin;
2659 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
2660 }
2661
2662 /* Note that here we test for yy_c_buf_p "<=" to the position
2663 * of the first EOB in the buffer, since yy_c_buf_p will
2664 * already have been incremented past the NUL character
2665 * (since all states make transitions on EOB to the
2666 * end-of-buffer state). Contrast this with the test
2667 * in input().
2668 */
2669 if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
2670 { /* This was really a NUL. */
2671 yy_state_type yy_next_state;
2672
2673 (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
2674
2675 yy_current_state = yy_get_previous_state( );
2676
2677 /* Okay, we're now positioned to make the NUL
2678 * transition. We couldn't have
2679 * yy_get_previous_state() go ahead and do it
2680 * for us because it doesn't know how to deal
2681 * with the possibility of jamming (and we don't
2682 * want to build jamming into it because then it
2683 * will run more slowly).
2684 */
2685
2686 yy_next_state = yy_try_NUL_trans( yy_current_state );
2687
2688 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
2689
2690 if ( yy_next_state )
2691 {
2692 /* Consume the NUL. */
2693 yy_cp = ++(yy_c_buf_p);
2694 yy_current_state = yy_next_state;
2695 goto yy_match;
2696 }
2697
2698 else
2699 {
2700 yy_cp = (yy_c_buf_p);
2701 goto yy_find_action;
2702 }
2703 }
2704
2705 else switch ( yy_get_next_buffer( ) )
2706 {
2707 case EOB_ACT_END_OF_FILE:
2708 {
2709 (yy_did_buffer_switch_on_eof) = 0;
2710
2711 if ( zconfwrap( ) )
2712 {
2713 /* Note: because we've taken care in
2714 * yy_get_next_buffer() to have set up
2715 * zconftext, we can now set up
2716 * yy_c_buf_p so that if some total
2717 * hoser (like flex itself) wants to
2718 * call the scanner after we return the
2719 * YY_NULL, it'll still work - another
2720 * YY_NULL will get returned.
2721 */
2722 (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
2723
2724 yy_act = YY_STATE_EOF(YY_START);
2725 goto do_action;
2726 }
2727
2728 else
2729 {
2730 if ( ! (yy_did_buffer_switch_on_eof) )
2731 YY_NEW_FILE;
2732 }
2733 break;
2734 }
2735
2736 case EOB_ACT_CONTINUE_SCAN:
2737 (yy_c_buf_p) =
2738 (yytext_ptr) + yy_amount_of_matched_text;
2739
2740 yy_current_state = yy_get_previous_state( );
2741
2742 yy_cp = (yy_c_buf_p);
2743 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
2744 goto yy_match;
2745
2746 case EOB_ACT_LAST_MATCH:
2747 (yy_c_buf_p) =
2748 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
2749
2750 yy_current_state = yy_get_previous_state( );
2751
2752 yy_cp = (yy_c_buf_p);
2753 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
2754 goto yy_find_action;
2755 }
2756 break;
2757 }
2758
2759 default:
2760 YY_FATAL_ERROR(
2761 "fatal flex scanner internal error--no action found" );
2762 } /* end of action switch */
2763 } /* end of scanning one token */
2764 } /* end of zconflex */
2765
2766 /* yy_get_next_buffer - try to read in a new buffer
2767 *
2768 * Returns a code representing an action:
2769 * EOB_ACT_LAST_MATCH -
2770 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
2771 * EOB_ACT_END_OF_FILE - end of file
2772 */
2773 static int yy_get_next_buffer (void)
2774 {
2775 register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
2776 register char *source = (yytext_ptr);
2777 register int number_to_move, i;
2778 int ret_val;
2779
2780 if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
2781 YY_FATAL_ERROR(
2782 "fatal flex scanner internal error--end of buffer missed" );
2783
2784 if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
2785 { /* Don't try to fill the buffer, so this is an EOF. */
2786 if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
2787 {
2788 /* We matched a single character, the EOB, so
2789 * treat this as a final EOF.
2790 */
2791 return EOB_ACT_END_OF_FILE;
2792 }
2793
2794 else
2795 {
2796 /* We matched some text prior to the EOB, first
2797 * process it.
2798 */
2799 return EOB_ACT_LAST_MATCH;
2800 }
2801 }
2802
2803 /* Try to read more data. */
2804
2805 /* First move last chars to start of buffer. */
2806 number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
2807
2808 for ( i = 0; i < number_to_move; ++i )
2809 *(dest++) = *(source++);
2810
2811 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
2812 /* don't do the read, it's not guaranteed to return an EOF,
2813 * just force an EOF
2814 */
2815 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
2816
2817 else
2818 {
2819 size_t num_to_read =
2820 YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
2821
2822 while ( num_to_read <= 0 )
2823 { /* Not enough room in the buffer - grow it. */
2824
2825 /* just a shorter name for the current buffer */
2826 YY_BUFFER_STATE b = YY_CURRENT_BUFFER;
2827
2828 int yy_c_buf_p_offset =
2829 (int) ((yy_c_buf_p) - b->yy_ch_buf);
2830
2831 if ( b->yy_is_our_buffer )
2832 {
2833 int new_size = b->yy_buf_size * 2;
2834
2835 if ( new_size <= 0 )
2836 b->yy_buf_size += b->yy_buf_size / 8;
2837 else
2838 b->yy_buf_size *= 2;
2839
2840 b->yy_ch_buf = (char *)
2841 /* Include room in for 2 EOB chars. */
2842 zconfrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 );
2843 }
2844 else
2845 /* Can't grow it, we don't own it. */
2846 b->yy_ch_buf = 0;
2847
2848 if ( ! b->yy_ch_buf )
2849 YY_FATAL_ERROR(
2850 "fatal error - scanner input buffer overflow" );
2851
2852 (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
2853
2854 num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
2855 number_to_move - 1;
2856
2857 }
2858
2859 if ( num_to_read > YY_READ_BUF_SIZE )
2860 num_to_read = YY_READ_BUF_SIZE;
2861
2862 /* Read in more data. */
2863 YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
2864 (yy_n_chars), num_to_read );
2865
2866 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
2867 }
2868
2869 if ( (yy_n_chars) == 0 )
2870 {
2871 if ( number_to_move == YY_MORE_ADJ )
2872 {
2873 ret_val = EOB_ACT_END_OF_FILE;
2874 zconfrestart(zconfin );
2875 }
2876
2877 else
2878 {
2879 ret_val = EOB_ACT_LAST_MATCH;
2880 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
2881 YY_BUFFER_EOF_PENDING;
2882 }
2883 }
2884
2885 else
2886 ret_val = EOB_ACT_CONTINUE_SCAN;
2887
2888 (yy_n_chars) += number_to_move;
2889 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
2890 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
2891
2892 (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
2893
2894 return ret_val;
2895 }
2896
2897 /* yy_get_previous_state - get the state just before the EOB char was reached */
2898
2899 static yy_state_type yy_get_previous_state (void)
2900 {
2901 register yy_state_type yy_current_state;
2902 register char *yy_cp;
2903
2904 yy_current_state = (yy_start);
2905
2906 for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
2907 {
2908 yy_current_state = yy_nxt[yy_current_state][(*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1)];
2909 }
2910
2911 return yy_current_state;
2912 }
2913
2914 /* yy_try_NUL_trans - try to make a transition on the NUL character
2915 *
2916 * synopsis
2917 * next_state = yy_try_NUL_trans( current_state );
2918 */
2919 static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state )
2920 {
2921 register int yy_is_jam;
2922
2923 yy_current_state = yy_nxt[yy_current_state][1];
2924 yy_is_jam = (yy_current_state <= 0);
2925
2926 return yy_is_jam ? 0 : yy_current_state;
2927 }
2928
2929 static void yyunput (int c, register char * yy_bp )
2930 {
2931 register char *yy_cp;
2932
2933 yy_cp = (yy_c_buf_p);
2934
2935 /* undo effects of setting up zconftext */
2936 *yy_cp = (yy_hold_char);
2937
2938 if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
2939 { /* need to shift things up to make room */
2940 /* +2 for EOB chars. */
2941 register int number_to_move = (yy_n_chars) + 2;
2942 register char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[
2943 YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2];
2944 register char *source =
2945 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move];
2946
2947 while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
2948 *--dest = *--source;
2949
2950 yy_cp += (int) (dest - source);
2951 yy_bp += (int) (dest - source);
2952 YY_CURRENT_BUFFER_LVALUE->yy_n_chars =
2953 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_buf_size;
2954
2955 if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
2956 YY_FATAL_ERROR( "flex scanner push-back overflow" );
2957 }
2958
2959 *--yy_cp = (char) c;
2960
2961 (yytext_ptr) = yy_bp;
2962 (yy_hold_char) = *yy_cp;
2963 (yy_c_buf_p) = yy_cp;
2964 }
2965
2966 #ifndef YY_NO_INPUT
2967 #ifdef __cplusplus
2968 static int yyinput (void)
2969 #else
2970 static int input (void)
2971 #endif
2972
2973 {
2974 int c;
2975
2976 *(yy_c_buf_p) = (yy_hold_char);
2977
2978 if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
2979 {
2980 /* yy_c_buf_p now points to the character we want to return.
2981 * If this occurs *before* the EOB characters, then it's a
2982 * valid NUL; if not, then we've hit the end of the buffer.
2983 */
2984 if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
2985 /* This was really a NUL. */
2986 *(yy_c_buf_p) = '\0';
2987
2988 else
2989 { /* need more input */
2990 int offset = (yy_c_buf_p) - (yytext_ptr);
2991 ++(yy_c_buf_p);
2992
2993 switch ( yy_get_next_buffer( ) )
2994 {
2995 case EOB_ACT_LAST_MATCH:
2996 /* This happens because yy_g_n_b()
2997 * sees that we've accumulated a
2998 * token and flags that we need to
2999 * try matching the token before
3000 * proceeding. But for input(),
3001 * there's no matching to consider.
3002 * So convert the EOB_ACT_LAST_MATCH
3003 * to EOB_ACT_END_OF_FILE.
3004 */
3005
3006 /* Reset buffer status. */
3007 zconfrestart(zconfin );
3008
3009 /*FALLTHROUGH*/
3010
3011 case EOB_ACT_END_OF_FILE:
3012 {
3013 if ( zconfwrap( ) )
3014 return EOF;
3015
3016 if ( ! (yy_did_buffer_switch_on_eof) )
3017 YY_NEW_FILE;
3018 #ifdef __cplusplus
3019 return yyinput();
3020 #else
3021 return input();
3022 #endif
3023 }
3024
3025 case EOB_ACT_CONTINUE_SCAN:
3026 (yy_c_buf_p) = (yytext_ptr) + offset;
3027 break;
3028 }
3029 }
3030 }
3031
3032 c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */
3033 *(yy_c_buf_p) = '\0'; /* preserve zconftext */
3034 (yy_hold_char) = *++(yy_c_buf_p);
3035
3036 return c;
3037 }
3038 #endif /* ifndef YY_NO_INPUT */
3039
3040 /** Immediately switch to a different input stream.
3041 * @param input_file A readable stream.
3042 *
3043 * @note This function does not reset the start condition to @c INITIAL .
3044 */
3045 void zconfrestart (FILE * input_file )
3046 {
3047
3048 if ( ! YY_CURRENT_BUFFER ){
3049 zconfensure_buffer_stack ();
3050 YY_CURRENT_BUFFER_LVALUE =
3051 zconf_create_buffer(zconfin,YY_BUF_SIZE );
3052 }
3053
3054 zconf_init_buffer(YY_CURRENT_BUFFER,input_file );
3055 zconf_load_buffer_state( );
3056 }
3057
3058 /** Switch to a different input buffer.
3059 * @param new_buffer The new input buffer.
3060 *
3061 */
3062 void zconf_switch_to_buffer (YY_BUFFER_STATE new_buffer )
3063 {
3064
3065 /* TODO. We should be able to replace this entire function body
3066 * with
3067 * zconfpop_buffer_state();
3068 * zconfpush_buffer_state(new_buffer);
3069 */
3070 zconfensure_buffer_stack ();
3071 if ( YY_CURRENT_BUFFER == new_buffer )
3072 return;
3073
3074 if ( YY_CURRENT_BUFFER )
3075 {
3076 /* Flush out information for old buffer. */
3077 *(yy_c_buf_p) = (yy_hold_char);
3078 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
3079 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
3080 }
3081
3082 YY_CURRENT_BUFFER_LVALUE = new_buffer;
3083 zconf_load_buffer_state( );
3084
3085 /* We don't actually know whether we did this switch during
3086 * EOF (zconfwrap()) processing, but the only time this flag
3087 * is looked at is after zconfwrap() is called, so it's safe
3088 * to go ahead and always set it.
3089 */
3090 (yy_did_buffer_switch_on_eof) = 1;
3091 }
3092
3093 static void zconf_load_buffer_state (void)
3094 {
3095 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
3096 (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
3097 zconfin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
3098 (yy_hold_char) = *(yy_c_buf_p);
3099 }
3100
3101 /** Allocate and initialize an input buffer state.
3102 * @param file A readable stream.
3103 * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
3104 *
3105 * @return the allocated buffer state.
3106 */
3107 YY_BUFFER_STATE zconf_create_buffer (FILE * file, int size )
3108 {
3109 YY_BUFFER_STATE b;
3110
3111 b = (YY_BUFFER_STATE) zconfalloc(sizeof( struct yy_buffer_state ) );
3112 if ( ! b )
3113 YY_FATAL_ERROR( "out of dynamic memory in zconf_create_buffer()" );
3114
3115 b->yy_buf_size = size;
3116
3117 /* yy_ch_buf has to be 2 characters longer than the size given because
3118 * we need to put in 2 end-of-buffer characters.
3119 */
3120 b->yy_ch_buf = (char *) zconfalloc(b->yy_buf_size + 2 );
3121 if ( ! b->yy_ch_buf )
3122 YY_FATAL_ERROR( "out of dynamic memory in zconf_create_buffer()" );
3123
3124 b->yy_is_our_buffer = 1;
3125
3126 zconf_init_buffer(b,file );
3127
3128 return b;
3129 }
3130
3131 /** Destroy the buffer.
3132 * @param b a buffer created with zconf_create_buffer()
3133 *
3134 */
3135 void zconf_delete_buffer (YY_BUFFER_STATE b )
3136 {
3137
3138 if ( ! b )
3139 return;
3140
3141 if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
3142 YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
3143
3144 if ( b->yy_is_our_buffer )
3145 zconffree((void *) b->yy_ch_buf );
3146
3147 zconffree((void *) b );
3148 }
3149
3150 /* Initializes or reinitializes a buffer.
3151 * This function is sometimes called more than once on the same buffer,
3152 * such as during a zconfrestart() or at EOF.
3153 */
3154 static void zconf_init_buffer (YY_BUFFER_STATE b, FILE * file )
3155
3156 {
3157 int oerrno = errno;
3158
3159 zconf_flush_buffer(b );
3160
3161 b->yy_input_file = file;
3162 b->yy_fill_buffer = 1;
3163
3164 /* If b is the current buffer, then zconf_init_buffer was _probably_
3165 * called from zconfrestart() or through yy_get_next_buffer.
3166 * In that case, we don't want to reset the lineno or column.
3167 */
3168 if (b != YY_CURRENT_BUFFER){
3169 b->yy_bs_lineno = 1;
3170 b->yy_bs_column = 0;
3171 }
3172
3173 b->yy_is_interactive = 0;
3174
3175 errno = oerrno;
3176 }
3177
3178 /** Discard all buffered characters. On the next scan, YY_INPUT will be called.
3179 * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
3180 *
3181 */
3182 void zconf_flush_buffer (YY_BUFFER_STATE b )
3183 {
3184 if ( ! b )
3185 return;
3186
3187 b->yy_n_chars = 0;
3188
3189 /* We always need two end-of-buffer characters. The first causes
3190 * a transition to the end-of-buffer state. The second causes
3191 * a jam in that state.
3192 */
3193 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
3194 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
3195
3196 b->yy_buf_pos = &b->yy_ch_buf[0];
3197
3198 b->yy_at_bol = 1;
3199 b->yy_buffer_status = YY_BUFFER_NEW;
3200
3201 if ( b == YY_CURRENT_BUFFER )
3202 zconf_load_buffer_state( );
3203 }
3204
3205 /** Pushes the new state onto the stack. The new state becomes
3206 * the current state. This function will allocate the stack
3207 * if necessary.
3208 * @param new_buffer The new state.
3209 *
3210 */
3211 void zconfpush_buffer_state (YY_BUFFER_STATE new_buffer )
3212 {
3213 if (new_buffer == NULL)
3214 return;
3215
3216 zconfensure_buffer_stack();
3217
3218 /* This block is copied from zconf_switch_to_buffer. */
3219 if ( YY_CURRENT_BUFFER )
3220 {
3221 /* Flush out information for old buffer. */
3222 *(yy_c_buf_p) = (yy_hold_char);
3223 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
3224 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
3225 }
3226
3227 /* Only push if top exists. Otherwise, replace top. */
3228 if (YY_CURRENT_BUFFER)
3229 (yy_buffer_stack_top)++;
3230 YY_CURRENT_BUFFER_LVALUE = new_buffer;
3231
3232 /* copied from zconf_switch_to_buffer. */
3233 zconf_load_buffer_state( );
3234 (yy_did_buffer_switch_on_eof) = 1;
3235 }
3236
3237 /** Removes and deletes the top of the stack, if present.
3238 * The next element becomes the new top.
3239 *
3240 */
3241 void zconfpop_buffer_state (void)
3242 {
3243 if (!YY_CURRENT_BUFFER)
3244 return;
3245
3246 zconf_delete_buffer(YY_CURRENT_BUFFER );
3247 YY_CURRENT_BUFFER_LVALUE = NULL;
3248 if ((yy_buffer_stack_top) > 0)
3249 --(yy_buffer_stack_top);
3250
3251 if (YY_CURRENT_BUFFER) {
3252 zconf_load_buffer_state( );
3253 (yy_did_buffer_switch_on_eof) = 1;
3254 }
3255 }
3256
3257 /* Allocates the stack if it does not exist.
3258 * Guarantees space for at least one push.
3259 */
3260 static void zconfensure_buffer_stack (void)
3261 {
3262 int num_to_alloc;
3263
3264 if (!(yy_buffer_stack)) {
3265
3266 /* First allocation is just for 2 elements, since we don't know if this
3267 * scanner will even need a stack. We use 2 instead of 1 to avoid an
3268 * immediate realloc on the next call.
3269 */
3270 num_to_alloc = 1;
3271 (yy_buffer_stack) = (struct yy_buffer_state**)zconfalloc
3272 (num_to_alloc * sizeof(struct yy_buffer_state*)
3273 );
3274
3275 memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
3276
3277 (yy_buffer_stack_max) = num_to_alloc;
3278 (yy_buffer_stack_top) = 0;
3279 return;
3280 }
3281
3282 if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
3283
3284 /* Increase the buffer to prepare for a possible push. */
3285 int grow_size = 8 /* arbitrary grow size */;
3286
3287 num_to_alloc = (yy_buffer_stack_max) + grow_size;
3288 (yy_buffer_stack) = (struct yy_buffer_state**)zconfrealloc
3289 ((yy_buffer_stack),
3290 num_to_alloc * sizeof(struct yy_buffer_state*)
3291 );
3292
3293 /* zero only the new slots.*/
3294 memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
3295 (yy_buffer_stack_max) = num_to_alloc;
3296 }
3297 }
3298
3299 /** Setup the input buffer state to scan directly from a user-specified character buffer.
3300 * @param base the character buffer
3301 * @param size the size in bytes of the character buffer
3302 *
3303 * @return the newly allocated buffer state object.
3304 */
3305 YY_BUFFER_STATE zconf_scan_buffer (char * base, yy_size_t size )
3306 {
3307 YY_BUFFER_STATE b;
3308
3309 if ( size < 2 ||
3310 base[size-2] != YY_END_OF_BUFFER_CHAR ||
3311 base[size-1] != YY_END_OF_BUFFER_CHAR )
3312 /* They forgot to leave room for the EOB's. */
3313 return 0;
3314
3315 b = (YY_BUFFER_STATE) zconfalloc(sizeof( struct yy_buffer_state ) );
3316 if ( ! b )
3317 YY_FATAL_ERROR( "out of dynamic memory in zconf_scan_buffer()" );
3318
3319 b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
3320 b->yy_buf_pos = b->yy_ch_buf = base;
3321 b->yy_is_our_buffer = 0;
3322 b->yy_input_file = 0;
3323 b->yy_n_chars = b->yy_buf_size;
3324 b->yy_is_interactive = 0;
3325 b->yy_at_bol = 1;
3326 b->yy_fill_buffer = 0;
3327 b->yy_buffer_status = YY_BUFFER_NEW;
3328
3329 zconf_switch_to_buffer(b );
3330
3331 return b;
3332 }
3333
3334 /** Setup the input buffer state to scan a string. The next call to zconflex() will
3335 * scan from a @e copy of @a str.
3336 * @param str a NUL-terminated string to scan
3337 *
3338 * @return the newly allocated buffer state object.
3339 * @note If you want to scan bytes that may contain NUL values, then use
3340 * zconf_scan_bytes() instead.
3341 */
3342 YY_BUFFER_STATE zconf_scan_string (yyconst char * str )
3343 {
3344
3345 return zconf_scan_bytes(str,strlen(str) );
3346 }
3347
3348 /** Setup the input buffer state to scan the given bytes. The next call to zconflex() will
3349 * scan from a @e copy of @a bytes.
3350 * @param bytes the byte buffer to scan
3351 * @param len the number of bytes in the buffer pointed to by @a bytes.
3352 *
3353 * @return the newly allocated buffer state object.
3354 */
3355 YY_BUFFER_STATE zconf_scan_bytes (yyconst char * bytes, int len )
3356 {
3357 YY_BUFFER_STATE b;
3358 char *buf;
3359 yy_size_t n;
3360 int i;
3361
3362 /* Get memory for full buffer, including space for trailing EOB's. */
3363 n = len + 2;
3364 buf = (char *) zconfalloc(n );
3365 if ( ! buf )
3366 YY_FATAL_ERROR( "out of dynamic memory in zconf_scan_bytes()" );
3367
3368 for ( i = 0; i < len; ++i )
3369 buf[i] = bytes[i];
3370
3371 buf[len] = buf[len+1] = YY_END_OF_BUFFER_CHAR;
3372
3373 b = zconf_scan_buffer(buf,n );
3374 if ( ! b )
3375 YY_FATAL_ERROR( "bad buffer in zconf_scan_bytes()" );
3376
3377 /* It's okay to grow etc. this buffer, and we should throw it
3378 * away when we're done.
3379 */
3380 b->yy_is_our_buffer = 1;
3381
3382 return b;
3383 }
3384
3385 #ifndef YY_EXIT_FAILURE
3386 #define YY_EXIT_FAILURE 2
3387 #endif
3388
3389 static void yy_fatal_error (yyconst char* msg )
3390 {
3391 (void) fprintf( stderr, "%s\n", msg );
3392 exit( YY_EXIT_FAILURE );
3393 }
3394
3395 /* Redefine yyless() so it works in section 3 code. */
3396
3397 #undef yyless
3398 #define yyless(n) \
3399 do \
3400 { \
3401 /* Undo effects of setting up zconftext. */ \
3402 int yyless_macro_arg = (n); \
3403 YY_LESS_LINENO(yyless_macro_arg);\
3404 zconftext[zconfleng] = (yy_hold_char); \
3405 (yy_c_buf_p) = zconftext + yyless_macro_arg; \
3406 (yy_hold_char) = *(yy_c_buf_p); \
3407 *(yy_c_buf_p) = '\0'; \
3408 zconfleng = yyless_macro_arg; \
3409 } \
3410 while ( 0 )
3411
3412 /* Accessor methods (get/set functions) to struct members. */
3413
3414 /** Get the current line number.
3415 *
3416 */
3417 int zconfget_lineno (void)
3418 {
3419
3420 return zconflineno;
3421 }
3422
3423 /** Get the input stream.
3424 *
3425 */
3426 FILE *zconfget_in (void)
3427 {
3428 return zconfin;
3429 }
3430
3431 /** Get the output stream.
3432 *
3433 */
3434 FILE *zconfget_out (void)
3435 {
3436 return zconfout;
3437 }
3438
3439 /** Get the length of the current token.
3440 *
3441 */
3442 int zconfget_leng (void)
3443 {
3444 return zconfleng;
3445 }
3446
3447 /** Get the current token.
3448 *
3449 */
3450
3451 char *zconfget_text (void)
3452 {
3453 return zconftext;
3454 }
3455
3456 /** Set the current line number.
3457 * @param line_number
3458 *
3459 */
3460 void zconfset_lineno (int line_number )
3461 {
3462
3463 zconflineno = line_number;
3464 }
3465
3466 /** Set the input stream. This does not discard the current
3467 * input buffer.
3468 * @param in_str A readable stream.
3469 *
3470 * @see zconf_switch_to_buffer
3471 */
3472 void zconfset_in (FILE * in_str )
3473 {
3474 zconfin = in_str ;
3475 }
3476
3477 void zconfset_out (FILE * out_str )
3478 {
3479 zconfout = out_str ;
3480 }
3481
3482 int zconfget_debug (void)
3483 {
3484 return zconf_flex_debug;
3485 }
3486
3487 void zconfset_debug (int bdebug )
3488 {
3489 zconf_flex_debug = bdebug ;
3490 }
3491
3492 /* zconflex_destroy is for both reentrant and non-reentrant scanners. */
3493 int zconflex_destroy (void)
3494 {
3495
3496 /* Pop the buffer stack, destroying each element. */
3497 while(YY_CURRENT_BUFFER){
3498 zconf_delete_buffer(YY_CURRENT_BUFFER );
3499 YY_CURRENT_BUFFER_LVALUE = NULL;
3500 zconfpop_buffer_state();
3501 }
3502
3503 /* Destroy the stack itself. */
3504 zconffree((yy_buffer_stack) );
3505 (yy_buffer_stack) = NULL;
3506
3507 return 0;
3508 }
3509
3510 /*
3511 * Internal utility routines.
3512 */
3513
3514 #ifndef yytext_ptr
3515 static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
3516 {
3517 register int i;
3518 for ( i = 0; i < n; ++i )
3519 s1[i] = s2[i];
3520 }
3521 #endif
3522
3523 #ifdef YY_NEED_STRLEN
3524 static int yy_flex_strlen (yyconst char * s )
3525 {
3526 register int n;
3527 for ( n = 0; s[n]; ++n )
3528 ;
3529
3530 return n;
3531 }
3532 #endif
3533
3534 void *zconfalloc (yy_size_t size )
3535 {
3536 return (void *) malloc( size );
3537 }
3538
3539 void *zconfrealloc (void * ptr, yy_size_t size )
3540 {
3541 /* The cast to (char *) in the following accommodates both
3542 * implementations that use char* generic pointers, and those
3543 * that use void* generic pointers. It works with the latter
3544 * because both ANSI C and C++ allow castless assignment from
3545 * any pointer type to void*, and deal with argument conversions
3546 * as though doing an assignment.
3547 */
3548 return (void *) realloc( (char *) ptr, size );
3549 }
3550
3551 void zconffree (void * ptr )
3552 {
3553 free( (char *) ptr ); /* see zconfrealloc() for (char *) cast */
3554 }
3555
3556 #define YYTABLES_NAME "yytables"
3557
3558 #undef YY_NEW_FILE
3559 #undef YY_FLUSH_BUFFER
3560 #undef yy_set_bol
3561 #undef yy_new_buffer
3562 #undef yy_set_interactive
3563 #undef yytext_ptr
3564 #undef YY_DO_BEFORE_ACTION
3565
3566 #ifdef YY_DECL_IS_OURS
3567 #undef YY_DECL_IS_OURS
3568 #undef YY_DECL
3569 #endif
3570
3571 void zconf_starthelp(void)
3572 {
3573 new_string();
3574 last_ts = first_ts = 0;
3575 BEGIN(HELP);
3576 }
3577
3578 static void zconf_endhelp(void)
3579 {
3580 zconflval.string = text;
3581 BEGIN(INITIAL);
3582 }
3583
3584 /*
3585 * Try to open specified file with following names:
3586 * ./name
3587 * $(srctree)/name
3588 * The latter is used when srctree is separate from objtree
3589 * when compiling the kernel.
3590 * Return NULL if file is not found.
3591 */
3592 FILE *zconf_fopen(const char *name)
3593 {
3594 char *env, fullname[PATH_MAX+1];
3595 FILE *f;
3596
3597 f = fopen(name, "r");
3598 if (!f && name[0] != '/') {
3599 env = getenv(SRCTREE);
3600 if (env) {
3601 sprintf(fullname, "%s/%s", env, name);
3602 f = fopen(fullname, "r");
3603 }
3604 }
3605 return f;
3606 }
3607
3608 void zconf_initscan(const char *name)
3609 {
3610 zconfin = zconf_fopen(name);
3611 if (!zconfin) {
3612 printf("can't find file %s\n", name);
3613 exit(1);
3614 }
3615
3616 current_buf = malloc(sizeof(*current_buf));
3617 memset(current_buf, 0, sizeof(*current_buf));
3618
3619 current_file = file_lookup(name);
3620 current_file->lineno = 1;
3621 current_file->flags = FILE_BUSY;
3622 }
3623
3624 void zconf_nextfile(const char *name)
3625 {
3626 size_t i;
3627 int retval;
3628 glob_t files;
3629 char *filename;
3630 struct file *file;
3631 struct buffer *buf;
3632
3633 retval = glob(name, GLOB_ERR | GLOB_MARK, NULL, &files);
3634 if (retval == GLOB_NOSPACE || retval == GLOB_ABORTED || retval == GLOB_NOMATCH) {
3635 printf("%s:%d: glob failed: %s \"%s\"\n", zconf_curname(), zconf_lineno(),
3636 retval == GLOB_NOSPACE ? "failed to allocate memory" :
3637 retval == GLOB_ABORTED ? "read error" : "no match",
3638 name);
3639 exit(1);
3640 }
3641
3642 for (i = files.gl_pathc-1; i != (size_t)-1; --i) {
3643 filename = files.gl_pathv[i];
3644
3645 file = file_lookup(filename);
3646 buf = malloc(sizeof(*buf));
3647 memset(buf, 0, sizeof(*buf));
3648 current_buf->state = YY_CURRENT_BUFFER;
3649 zconfin = zconf_fopen(filename);
3650 if (!zconfin) {
3651 printf("%s:%d: can't open file \"%s\"\n",
3652 zconf_curname(), zconf_lineno(), filename);
3653 exit(1);
3654 }
3655 zconf_switch_to_buffer(zconf_create_buffer(zconfin,YY_BUF_SIZE));
3656 buf->parent = current_buf;
3657 current_buf = buf;
3658
3659 if (file->flags & FILE_BUSY) {
3660 printf("recursive scan (%s)?\n", filename);
3661 exit(1);
3662 }
3663 if (file->flags & FILE_SCANNED) {
3664 printf("file %s already scanned?\n", filename);
3665 exit(1);
3666 }
3667 file->flags |= FILE_BUSY;
3668 file->lineno = 1;
3669 file->parent = current_file;
3670 current_file = file;
3671 }
3672 }
3673
3674 static struct buffer *zconf_endfile(void)
3675 {
3676 struct buffer *parent;
3677
3678 current_file->flags |= FILE_SCANNED;
3679 current_file->flags &= ~FILE_BUSY;
3680 current_file = current_file->parent;
3681
3682 parent = current_buf->parent;
3683 if (parent) {
3684 fclose(zconfin);
3685 zconf_delete_buffer(YY_CURRENT_BUFFER);
3686 zconf_switch_to_buffer(parent->state);
3687 }
3688 free(current_buf);
3689 current_buf = parent;
3690
3691 return parent;
3692 }
3693
3694 int zconf_lineno(void)
3695 {
3696 if (current_buf)
3697 return current_file->lineno - 1;
3698 else
3699 return 0;
3700 }
3701
3702 char *zconf_curname(void)
3703 {
3704 if (current_buf)
3705 return current_file->name;
3706 else
3707 return "<none>";
3708 }
3709
This page took 0.197794 seconds and 5 git commands to generate.