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