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