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