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