xref: /netbsd-src/external/bsd/unbound/dist/util/configlexer.c (revision d90047b5d07facf36e6c01dcc0bded8997ce9cc2)
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 6
13 #define YY_FLEX_SUBMINOR_VERSION 4
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 #ifndef SIZE_MAX
89 #define SIZE_MAX               (~(size_t)0)
90 #endif
91 
92 #endif /* ! C99 */
93 
94 #endif /* ! FLEXINT_H */
95 
96 /* begin standard C++ headers. */
97 
98 /* TODO: this is always defined, so inline it */
99 #define yyconst const
100 
101 #if defined(__GNUC__) && __GNUC__ >= 3
102 #define yynoreturn __attribute__((__noreturn__))
103 #else
104 #define yynoreturn
105 #endif
106 
107 /* Returned upon end-of-file. */
108 #define YY_NULL 0
109 
110 /* Promotes a possibly negative, possibly signed char to an
111  *   integer in range [0..255] for use as an array index.
112  */
113 #define YY_SC_TO_UI(c) ((YY_CHAR) (c))
114 
115 /* Enter a start condition.  This macro really ought to take a parameter,
116  * but we do it the disgusting crufty way forced on us by the ()-less
117  * definition of BEGIN.
118  */
119 #define BEGIN (yy_start) = 1 + 2 *
120 /* Translate the current start state into a value that can be later handed
121  * to BEGIN to return to the state.  The YYSTATE alias is for lex
122  * compatibility.
123  */
124 #define YY_START (((yy_start) - 1) / 2)
125 #define YYSTATE YY_START
126 /* Action number for EOF rule of a given start state. */
127 #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
128 /* Special action meaning "start processing a new file". */
129 #define YY_NEW_FILE yyrestart( yyin  )
130 #define YY_END_OF_BUFFER_CHAR 0
131 
132 /* Size of default input buffer. */
133 #ifndef YY_BUF_SIZE
134 #ifdef __ia64__
135 /* On IA-64, the buffer size is 16k, not 8k.
136  * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case.
137  * Ditto for the __ia64__ case accordingly.
138  */
139 #define YY_BUF_SIZE 32768
140 #else
141 #define YY_BUF_SIZE 16384
142 #endif /* __ia64__ */
143 #endif
144 
145 /* The state buf must be large enough to hold one state per character in the main buffer.
146  */
147 #define YY_STATE_BUF_SIZE   ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
148 
149 #ifndef YY_TYPEDEF_YY_BUFFER_STATE
150 #define YY_TYPEDEF_YY_BUFFER_STATE
151 typedef struct yy_buffer_state *YY_BUFFER_STATE;
152 #endif
153 
154 #ifndef YY_TYPEDEF_YY_SIZE_T
155 #define YY_TYPEDEF_YY_SIZE_T
156 typedef size_t yy_size_t;
157 #endif
158 
159 extern int yyleng;
160 
161 extern FILE *yyin, *yyout;
162 
163 #define EOB_ACT_CONTINUE_SCAN 0
164 #define EOB_ACT_END_OF_FILE 1
165 #define EOB_ACT_LAST_MATCH 2
166 
167     #define YY_LESS_LINENO(n)
168     #define YY_LINENO_REWIND_TO(ptr)
169 
170 /* Return all but the first "n" matched characters back to the input stream. */
171 #define yyless(n) \
172 	do \
173 		{ \
174 		/* Undo effects of setting up yytext. */ \
175         int yyless_macro_arg = (n); \
176         YY_LESS_LINENO(yyless_macro_arg);\
177 		*yy_cp = (yy_hold_char); \
178 		YY_RESTORE_YY_MORE_OFFSET \
179 		(yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
180 		YY_DO_BEFORE_ACTION; /* set up yytext again */ \
181 		} \
182 	while ( 0 )
183 #define unput(c) yyunput( c, (yytext_ptr)  )
184 
185 #ifndef YY_STRUCT_YY_BUFFER_STATE
186 #define YY_STRUCT_YY_BUFFER_STATE
187 struct yy_buffer_state
188 	{
189 	FILE *yy_input_file;
190 
191 	char *yy_ch_buf;		/* input buffer */
192 	char *yy_buf_pos;		/* current position in input buffer */
193 
194 	/* Size of input buffer in bytes, not including room for EOB
195 	 * characters.
196 	 */
197 	int yy_buf_size;
198 
199 	/* Number of characters read into yy_ch_buf, not including EOB
200 	 * characters.
201 	 */
202 	int yy_n_chars;
203 
204 	/* Whether we "own" the buffer - i.e., we know we created it,
205 	 * and can realloc() it to grow it, and should free() it to
206 	 * delete it.
207 	 */
208 	int yy_is_our_buffer;
209 
210 	/* Whether this is an "interactive" input source; if so, and
211 	 * if we're using stdio for input, then we want to use getc()
212 	 * instead of fread(), to make sure we stop fetching input after
213 	 * each newline.
214 	 */
215 	int yy_is_interactive;
216 
217 	/* Whether we're considered to be at the beginning of a line.
218 	 * If so, '^' rules will be active on the next match, otherwise
219 	 * not.
220 	 */
221 	int yy_at_bol;
222 
223     int yy_bs_lineno; /**< The line count. */
224     int yy_bs_column; /**< The column count. */
225 
226 	/* Whether to try to fill the input buffer when we reach the
227 	 * end of it.
228 	 */
229 	int yy_fill_buffer;
230 
231 	int yy_buffer_status;
232 
233 #define YY_BUFFER_NEW 0
234 #define YY_BUFFER_NORMAL 1
235 	/* When an EOF's been seen but there's still some text to process
236 	 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
237 	 * shouldn't try reading from the input source any more.  We might
238 	 * still have a bunch of tokens to match, though, because of
239 	 * possible backing-up.
240 	 *
241 	 * When we actually see the EOF, we change the status to "new"
242 	 * (via yyrestart()), so that the user can continue scanning by
243 	 * just pointing yyin at a new input file.
244 	 */
245 #define YY_BUFFER_EOF_PENDING 2
246 
247 	};
248 #endif /* !YY_STRUCT_YY_BUFFER_STATE */
249 
250 /* Stack of input buffers. */
251 static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
252 static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
253 static YY_BUFFER_STATE * yy_buffer_stack = NULL; /**< Stack as an array. */
254 
255 /* We provide macros for accessing buffer states in case in the
256  * future we want to put the buffer states in a more general
257  * "scanner state".
258  *
259  * Returns the top of the stack, or NULL.
260  */
261 #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
262                           ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
263                           : NULL)
264 /* Same as previous macro, but useful when we know that the buffer stack is not
265  * NULL or when we need an lvalue. For internal use only.
266  */
267 #define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
268 
269 /* yy_hold_char holds the character lost when yytext is formed. */
270 static char yy_hold_char;
271 static int yy_n_chars;		/* number of characters read into yy_ch_buf */
272 int yyleng;
273 
274 /* Points to current character in buffer. */
275 static char *yy_c_buf_p = NULL;
276 static int yy_init = 0;		/* whether we need to initialize */
277 static int yy_start = 0;	/* start state number */
278 
279 /* Flag which is used to allow yywrap()'s to do buffer switches
280  * instead of setting up a fresh yyin.  A bit of a hack ...
281  */
282 static int yy_did_buffer_switch_on_eof;
283 
284 void yyrestart ( FILE *input_file  );
285 void yy_switch_to_buffer ( YY_BUFFER_STATE new_buffer  );
286 YY_BUFFER_STATE yy_create_buffer ( FILE *file, int size  );
287 void yy_delete_buffer ( YY_BUFFER_STATE b  );
288 void yy_flush_buffer ( YY_BUFFER_STATE b  );
289 void yypush_buffer_state ( YY_BUFFER_STATE new_buffer  );
290 void yypop_buffer_state ( void );
291 
292 static void yyensure_buffer_stack ( void );
293 static void yy_load_buffer_state ( void );
294 static void yy_init_buffer ( YY_BUFFER_STATE b, FILE *file  );
295 #define YY_FLUSH_BUFFER yy_flush_buffer( YY_CURRENT_BUFFER )
296 
297 YY_BUFFER_STATE yy_scan_buffer ( char *base, yy_size_t size  );
298 YY_BUFFER_STATE yy_scan_string ( const char *yy_str  );
299 YY_BUFFER_STATE yy_scan_bytes ( const char *bytes, int len  );
300 
301 void *yyalloc ( yy_size_t  );
302 void *yyrealloc ( void *, yy_size_t  );
303 void yyfree ( void *  );
304 
305 #define yy_new_buffer yy_create_buffer
306 #define yy_set_interactive(is_interactive) \
307 	{ \
308 	if ( ! YY_CURRENT_BUFFER ){ \
309         yyensure_buffer_stack (); \
310 		YY_CURRENT_BUFFER_LVALUE =    \
311             yy_create_buffer( yyin, YY_BUF_SIZE ); \
312 	} \
313 	YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
314 	}
315 #define yy_set_bol(at_bol) \
316 	{ \
317 	if ( ! YY_CURRENT_BUFFER ){\
318         yyensure_buffer_stack (); \
319 		YY_CURRENT_BUFFER_LVALUE =    \
320             yy_create_buffer( yyin, YY_BUF_SIZE ); \
321 	} \
322 	YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
323 	}
324 #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
325 
326 /* Begin user sect3 */
327 typedef flex_uint8_t YY_CHAR;
328 
329 FILE *yyin = NULL, *yyout = NULL;
330 
331 typedef int yy_state_type;
332 
333 extern int yylineno;
334 int yylineno = 1;
335 
336 extern char *yytext;
337 #ifdef yytext_ptr
338 #undef yytext_ptr
339 #endif
340 #define yytext_ptr yytext
341 
342 static yy_state_type yy_get_previous_state ( void );
343 static yy_state_type yy_try_NUL_trans ( yy_state_type current_state  );
344 static int yy_get_next_buffer ( void );
345 static void yynoreturn yy_fatal_error ( const char* msg  );
346 
347 /* Done after the current pattern has been matched and before the
348  * corresponding action - sets up yytext.
349  */
350 #define YY_DO_BEFORE_ACTION \
351 	(yytext_ptr) = yy_bp; \
352 	(yytext_ptr) -= (yy_more_len); \
353 	yyleng = (int) (yy_cp - (yytext_ptr)); \
354 	(yy_hold_char) = *yy_cp; \
355 	*yy_cp = '\0'; \
356 	(yy_c_buf_p) = yy_cp;
357 #define YY_NUM_RULES 294
358 #define YY_END_OF_BUFFER 295
359 /* This struct is not used in this scanner,
360    but its presence is necessary. */
361 struct yy_trans_info
362 	{
363 	flex_int32_t yy_verify;
364 	flex_int32_t yy_nxt;
365 	};
366 static const flex_int16_t yy_accept[2913] =
367     {   0,
368         1,    1,  276,  276,  280,  280,  284,  284,  288,  288,
369         1,    1,  295,  292,    1,  274,  274,  293,    2,  292,
370       292,  292,  292,  292,  292,  292,  292,  292,  292,  292,
371       292,  292,  292,  292,  292,  292,  292,  292,  292,  292,
372       292,  293,  276,  277,  277,  278,  293,  280,  281,  281,
373       282,  293,  287,  284,  285,  285,  286,  293,  288,  289,
374       289,  290,  293,  291,  275,    2,  279,  291,  293,  292,
375         0,    1,    2,    2,    2,    2,  292,  292,  292,  292,
376       292,  292,  292,  292,  292,  292,  292,  292,  292,  292,
377       292,  292,  292,  292,  292,  292,  292,  292,  292,  292,
378 
379       292,  292,  292,  292,  292,  292,  292,  292,  292,  292,
380       292,  292,  292,  292,  292,  292,  292,  292,  292,  292,
381       292,  292,  292,  292,  292,  292,  292,  292,  292,  292,
382       292,  292,  292,  292,  292,  292,  292,  292,  292,  276,
383         0,  280,    0,  287,    0,  284,  288,    0,  291,    0,
384         2,    2,  291,  292,  292,  292,  292,  292,  292,  292,
385       292,  292,  292,  292,  292,  292,  292,  292,  292,  292,
386       292,  292,  292,  292,  292,  292,  292,  292,  292,  292,
387       292,  292,  292,  292,  292,  292,  292,  292,  292,  292,
388       292,  292,  292,  292,  292,  292,  292,  292,  292,  292,
389 
390       292,  292,  292,  292,  292,  292,  292,  292,  292,  292,
391       292,  292,  292,  292,  292,  292,  292,  292,  292,  292,
392       292,  292,  292,  292,  292,  292,  292,  292,  292,  292,
393       292,  292,  292,  292,  292,  292,  292,  292,  292,  292,
394       291,  292,  292,  292,  292,  292,  292,  292,  292,  292,
395       292,  292,  292,  292,  292,  292,  292,  292,  292,  292,
396       292,  292,  292,  292,  292,  292,  292,  292,  292,  292,
397       292,  292,  292,  292,  292,  292,  292,  292,  292,  292,
398       292,  292,  292,  292,  292,  292,  292,  292,  292,  292,
399       292,  292,  292,  292,  292,  292,  292,  292,  292,  292,
400 
401       292,  292,  292,  292,  292,  292,  292,  292,  292,  292,
402       292,  292,  292,  292,  292,  292,  292,  292,  292,  292,
403       292,  292,  292,  292,  292,  292,  292,  292,  292,  292,
404       292,  292,  292,  292,  292,  292,  292,  292,  292,  114,
405       292,  292,  292,  292,  292,  292,  292,  291,  292,  292,
406       292,  292,  292,  292,  292,  292,  292,  292,  292,  292,
407       292,  292,  292,  292,  292,  292,  292,  292,  292,  292,
408       292,  292,  292,  292,  292,  292,  292,  292,  292,  292,
409       292,  292,  292,  292,  292,  292,  292,  292,  292,  292,
410       292,  292,  292,  292,  292,  292,  292,  292,  292,  292,
411 
412       292,  292,  292,  292,  292,  292,  292,  292,  292,  292,
413       292,  292,  292,  292,  292,  292,  292,  292,  292,  292,
414       292,  292,   96,  292,  292,  292,  292,  292,  292,    8,
415       292,  292,  292,  292,  292,  292,  292,  292,  292,  292,
416       292,  292,  292,  292,  292,  292,  292,  292,  292,  292,
417       292,  292,  292,  292,  292,  292,  292,  292,  292,  292,
418       292,  292,  292,  292,  292,  292,  292,  292,  292,  292,
419       292,  292,  292,  292,  292,  292,  292,  292,  292,  292,
420       292,  292,  292,  292,  119,  292,  291,  292,  292,  292,
421       292,  292,  292,  292,  292,  292,  292,  292,  292,  292,
422 
423       292,  292,  292,  292,  292,  292,  292,  292,  292,  292,
424       292,  292,  292,  292,  292,  292,  292,  292,  292,  292,
425       292,  292,  292,  292,  292,  292,  292,  292,  292,  292,
426       292,  292,  292,  292,  292,  292,  292,  292,  292,  292,
427       292,  292,  292,  292,  269,  292,  292,  292,  292,  292,
428       292,  292,  292,  292,  292,  292,  292,  292,  292,  292,
429       292,  292,  292,  292,  292,  292,  292,  292,  292,  292,
430       292,  292,  292,  292,  292,  292,  292,  292,  292,  292,
431       292,  292,  292,  292,  292,  292,  292,  292,  292,  292,
432       292,  292,  292,  292,  292,  292,  292,  292,  292,  292,
433 
434       292,  292,  292,  292,  292,  292,  292,  292,  292,  292,
435       292,  292,  292,  292,  292,  292,  292,  292,  292,  292,
436       292,  292,  292,  292,  292,  292,  292,  292,  292,  292,
437       292,  292,  292,  292,  292,  292,  292,  292,  292,  292,
438       292,  291,  292,  292,  292,  292,  292,  292,  292,  292,
439       292,  292,  292,   54,  292,  292,  292,  292,  292,  292,
440       292,  292,  292,  292,  292,  292,  292,  292,  214,  292,
441        14,   15,  292,   18,   17,  292,  292,  292,  292,  292,
442       292,  292,  292,  292,  292,  292,  292,  292,  292,  292,
443       292,  292,  292,  292,  292,  292,  292,  292,  292,  292,
444 
445       292,  292,  292,  292,  292,  292,  292,  292,  292,  292,
446       292,  292,  292,  292,  292,  292,  292,  292,  113,  292,
447       292,  292,  292,  292,  292,  292,  292,  292,  292,  292,
448       292,  292,  292,  292,  292,  292,  292,  292,  292,  198,
449       292,  292,  292,  292,  292,  292,  292,  292,  292,  292,
450       292,  292,  292,  292,    3,  292,  292,  292,  292,  292,
451       292,  292,  292,  292,  292,  292,  292,  292,  292,  292,
452       292,  292,  292,  292,  292,  292,  292,  292,  292,  292,
453       292,  292,  292,  292,  292,  292,  292,  292,  292,  292,
454       292,  292,  292,  292,  292,  292,  292,  292,  292,  292,
455 
456       292,  292,  292,  292,  292,  292,  292,  291,  292,  292,
457       292,  292,  292,  292,  292,  264,  292,  292,  263,  292,
458       292,  292,  292,  292,  292,  292,  292,  292,  292,  292,
459       292,  292,  292,  292,  292,  292,  292,  292,  292,  292,
460       292,  292,  292,  292,  292,  292,  292,  292,  292,  292,
461       292,  292,  292,  292,  292,  292,  292,  292,  292,  292,
462       292,  292,  292,  283,  292,  292,  292,  292,  292,  292,
463       292,  292,  292,  292,  292,  292,  292,  292,  292,  292,
464       292,  292,  292,  292,  292,  292,  292,   57,  292,  238,
465       292,  292,  292,  292,  292,  292,  292,  292,  270,  271,
466 
467       292,  292,  292,  292,  292,   58,  292,  292,  292,  292,
468       292,  292,  292,  292,  292,  292,  292,  292,  292,  292,
469       292,  292,  292,  292,  292,  292,  187,  292,  292,  292,
470       292,  292,  292,  292,  292,  292,  292,  292,  292,  292,
471       292,  292,  292,  292,  292,  292,  292,   20,  292,  292,
472       292,  292,  292,  292,  292,  292,  292,  292,  292,  292,
473       292,  292,  292,  292,  292,  292,  292,  292,  292,  292,
474       292,  292,  292,  292,  292,  138,  292,  292,  283,  292,
475       292,  292,  292,  292,  292,  292,  292,  292,  292,  292,
476       292,  292,  292,  292,  292,  292,  292,  292,  292,   94,
477 
478       292,  292,  292,  292,  292,  292,  292,  246,  292,  292,
479       292,  292,  292,  292,  292,  292,  292,  292,  292,  292,
480       159,  292,  292,  292,  292,  292,  292,  292,  292,  292,
481       292,  292,  292,  292,  292,  292,  292,  292,  292,  292,
482       292,  292,  292,  137,  292,  292,  292,  292,  292,  292,
483       292,  292,  292,  292,  292,  292,  292,  292,  292,  292,
484       292,  292,  292,  292,  292,  292,  292,  292,  292,  292,
485       292,  292,  292,  292,  292,  292,  292,  292,  292,  292,
486       292,  292,  292,  292,   93,  292,  292,  292,  292,  292,
487       292,  292,  292,  292,  292,  292,  292,  292,  292,  292,
488 
489       292,  292,  292,  292,  292,  292,  292,  292,   31,  292,
490       292,  292,  292,  292,  292,  292,  292,  292,  292,  292,
491       292,  292,  292,  292,  292,  292,  292,  292,   32,  292,
492       292,  292,  292,  292,  292,  292,  292,  292,  292,  292,
493       292,  292,   55,  292,  292,  292,  292,  292,  292,  292,
494       292,  292,  112,  292,  292,  292,  292,  292,  111,  292,
495       292,  292,  292,  292,  292,  292,  292,  292,  292,  292,
496       292,  292,  292,   56,  292,  292,  292,  292,  292,  292,
497       292,  292,  292,  292,  292,  292,  292,  292,  292,  292,
498       292,  292,  292,  292,  292,  160,  292,  292,  292,  292,
499 
500       292,  292,  292,  292,  292,  292,  292,  292,  292,  292,
501       292,  292,  292,  292,  292,  292,  292,  292,  292,  292,
502       292,  292,  292,  292,   45,  292,  292,  292,  292,  292,
503       292,  292,  292,  292,  292,  292,  292,  292,  292,  292,
504       292,  292,  292,  292,  292,  292,  292,  292,  292,  292,
505       292,  292,  292,  292,  292,  292,  292,  292,  292,  292,
506       292,  292,  292,  292,  292,  292,  292,  292,  292,  292,
507       292,  292,  292,  229,  292,  292,  292,  292,  292,  292,
508       292,  292,  292,  292,  292,  292,  292,  292,   49,  292,
509        50,  292,  292,  292,  292,  292,   97,  292,   98,  292,
510 
511       292,  292,  292,   95,  292,  292,  292,  292,  292,  292,
512       292,  292,  292,  292,  292,  292,  292,  292,  292,  292,
513       292,  292,  292,  292,  292,  292,  292,  292,  292,  292,
514       292,    7,  292,  292,  292,  292,  292,  292,  292,  292,
515       292,  292,  292,  292,  292,  292,  292,  292,  292,  292,
516       207,  292,  292,  292,  292,  140,  292,  292,  292,  292,
517       292,  292,  292,  292,  292,  292,  292,  292,  292,  292,
518       292,  292,  292,  292,  292,  292,  292,  292,  292,  292,
519       292,  292,  292,  292,  292,  292,  292,  292,  292,  292,
520       292,  292,  292,  292,  292,  292,  292,  292,  292,  292,
521 
522       292,  292,  292,  292,  292,   46,  292,  292,  292,  292,
523       292,  292,  292,  292,  292,  292,  292,  292,  292,  179,
524       292,  178,  292,  292,  292,  292,  292,  292,  292,  292,
525       292,  292,  292,  292,  292,  292,  292,  292,  292,  292,
526       292,  292,  292,  292,  292,  292,  292,  292,   16,  292,
527       292,  292,  292,  292,  292,  292,  292,  292,  292,  292,
528       292,   59,  292,  292,  292,  292,  292,  292,  292,  292,
529       186,  292,  292,  292,  292,  292,  292,  100,  292,   99,
530       292,  292,  292,  292,  292,  292,  292,  292,  292,  292,
531       292,  292,  292,  292,  292,  292,  292,  292,  292,  292,
532 
533       170,  292,  292,  292,  292,  292,  292,  292,  292,  120,
534       292,  292,  292,  292,  292,  292,  292,  292,  292,  292,
535       292,  292,  292,  292,  292,  292,  292,  292,  292,   78,
536       292,  292,  292,  292,  292,  292,  292,  292,  292,  292,
537       292,  292,  292,  292,  292,  292,  292,  292,  292,  292,
538       292,  292,  292,  292,  292,  292,  292,  292,  292,  292,
539       292,  292,  292,  292,  292,  292,  292,  292,  292,   82,
540       292,  292,  292,  292,  292,  292,  292,  292,  292,  292,
541       292,  292,  292,   53,  292,  292,  292,  292,  292,  292,
542       292,  292,  292,  292,  292,  292,  292,  292,  292,  292,
543 
544       292,  173,  174,  292,  292,  292,  240,  292,  292,  292,
545       292,  292,  292,  292,  292,  292,  292,  292,  292,    6,
546       292,  292,  292,  292,  292,  292,  292,  292,  292,  292,
547       292,  292,  292,  292,  292,  292,  292,  292,  292,  292,
548       244,  292,  292,  292,  265,  292,  292,  292,  292,  292,
549       292,  292,  292,  292,  292,  292,  292,  292,  292,  292,
550       292,  292,  292,  292,  292,   41,  292,  292,  292,  292,
551       292,  292,  292,  292,  292,  292,  292,  292,   43,  292,
552       292,  292,  292,  292,  292,  292,  292,  166,  292,  292,
553       292,  115,  292,  292,  292,  292,  292,  292,  292,  292,
554 
555       292,  292,  191,  292,  167,  292,  292,  292,  204,  292,
556       292,  292,  292,  292,  292,  292,  292,  292,  292,  292,
557       292,  292,  292,  292,  292,   44,  292,  292,  292,  292,
558       292,  292,  292,  292,  292,  117,  105,  292,  106,  292,
559       292,  292,  104,  292,  292,  292,  292,  292,  292,  292,
560       292,  135,  292,  292,  292,  292,  292,  292,  292,  292,
561       292,  292,  292,  228,  292,  292,  292,  292,  292,  292,
562       292,  292,  168,  292,  292,  292,  292,  292,  171,  292,
563       177,  292,  292,  292,  292,  292,  203,  292,  292,  292,
564       292,  292,  292,  292,  292,  292,  292,  292,  292,  292,
565 
566       292,   92,  292,  292,  292,  292,  292,  292,  292,  292,
567       292,  292,  292,  292,  292,  292,  292,  292,  292,  292,
568       292,  292,  292,   51,  292,  292,  292,   25,  292,  292,
569       292,  292,  292,  292,  292,  292,  292,   19,  292,  292,
570       292,  292,  292,  292,   26,   35,  292,  145,  292,  292,
571       292,  292,  292,  292,  292,  292,  292,  292,  292,  292,
572       292,  292,  292,  292,  292,  292,  292,   67,   69,  292,
573       292,  292,  292,  292,  292,  292,  292,  292,  292,  292,
574       292,  292,  248,  292,  292,  292,  215,  292,  292,  292,
575       292,  292,  292,  292,  292,  292,  292,  292,  292,  292,
576 
577       292,  292,  292,  292,  292,  107,  292,  292,  292,  292,
578       292,  292,  292,  292,  292,  134,  292,  292,  292,  292,
579       292,  292,  292,  292,  292,  292,  292,  292,  292,  292,
580       292,  259,  292,  292,  292,  292,  292,  292,  292,  292,
581       292,  292,  292,  292,  292,  292,  292,  292,  292,  292,
582       139,  292,  292,  292,  292,  292,  292,  292,  292,  292,
583       292,  292,  292,  292,  197,  292,  292,  292,  292,  292,
584       292,  292,  292,  268,  292,  292,  292,  292,  292,  292,
585       292,  292,  292,  156,  292,  292,  292,  292,  292,  292,
586       292,  292,  101,  292,  292,  292,  292,  292,  292,  292,
587 
588       292,  292,  292,  292,  292,  292,  292,  292,  292,  292,
589       292,  292,  151,  292,  161,  292,  292,  292,  292,  292,
590       123,  292,  292,  292,  292,  292,   88,  292,  292,  292,
591       292,  189,  292,  292,  292,  292,  292,  292,  205,  292,
592       292,  292,  292,  292,  292,  292,  292,  292,  292,  292,
593       292,  220,  292,  292,  292,  292,  292,  292,  292,  292,
594       292,  116,  292,  292,  292,  292,  292,  292,  292,  292,
595       292,  292,  155,  292,  292,  292,  292,  292,   70,   71,
596       292,  292,  292,  292,  292,   52,  292,  292,  292,  292,
597       292,   77,  162,  292,  180,  292,  208,  292,  292,  172,
598 
599       241,  292,  292,  292,  292,  292,   63,  292,  164,  292,
600       292,  292,  292,  292,    9,  292,  292,  292,   91,  292,
601       292,  292,  292,  233,  292,  292,  292,  188,  292,  292,
602       292,  292,  292,  292,  292,  292,  292,  292,  292,  292,
603       292,  292,  292,  292,  292,  292,  292,  292,  292,  292,
604       292,  292,  292,  292,  292,  292,  292,  292,  292,  292,
605       292,  292,  292,  292,  292,  292,  292,  292,  292,  292,
606       292,  292,  292,  154,  292,  292,  292,  292,  292,  292,
607       292,  292,  292,  292,  141,  292,  247,  292,  292,  292,
608       292,  219,  292,  292,  292,  292,  292,  292,  292,  292,
609 
610       199,  292,  292,  292,  292,  239,  292,  292,  292,  292,
611       292,  292,  292,  292,  292,  292,  292,  292,  292,  292,
612       292,  292,  292,  292,  292,  292,  292,  292,  292,  292,
613       262,  292,  163,  292,  292,  292,  292,  292,  292,  292,
614        62,   64,  292,  292,  292,  292,  292,  292,  292,   90,
615       292,  292,  292,  292,  231,  292,  292,  292,  243,  292,
616       292,  292,  292,  292,  292,  292,  193,   33,   27,   29,
617       292,  292,  292,  292,  292,  292,  292,  292,  292,   34,
618       292,   28,   30,  292,  292,  292,  292,  292,  292,  292,
619       292,   87,  292,  292,  292,  292,  292,  292,  292,  292,
620 
621       292,  292,  292,  292,  292,  292,  292,  292,  292,  195,
622       192,  292,  292,  292,  292,  292,  292,  292,  292,  292,
623       292,  292,  292,  292,  292,   61,  292,  292,  118,  292,
624       108,  292,  292,  292,  292,  292,  292,  292,  292,  136,
625        13,  292,  292,  292,  292,  292,  292,  292,  292,  292,
626       257,  292,  260,  292,  292,  292,  292,  292,  292,  292,
627       292,  292,  292,   12,  292,  292,   21,  292,  292,  292,
628       237,  292,  292,  292,  245,  292,   65,  292,  201,  292,
629       292,  194,  292,  292,   60,  292,  292,  292,  292,   22,
630       292,   42,  292,  292,  292,  292,  292,  292,  292,  292,
631 
632       292,  292,  292,  292,  150,  149,  292,  292,  292,  292,
633       292,  292,  292,  292,  292,  196,  190,  292,  206,  292,
634       292,  249,  292,  292,  292,  292,  292,  292,  292,  292,
635       292,  292,  292,  292,  292,  292,  292,  292,  292,  292,
636       292,  292,  292,  292,  292,  292,   72,  292,  292,  292,
637       232,  292,  292,  292,  292,  176,  292,  292,  292,  292,
638       200,  292,  292,  292,  292,  292,  292,  292,  292,  266,
639       267,  147,   66,  292,  292,  157,  292,  292,  102,  103,
640       292,  292,  292,  292,  142,  292,  144,  292,  181,  292,
641       292,  292,  292,  148,  292,  292,  209,  292,  292,  292,
642 
643       292,  292,  292,  292,  125,  292,  292,  292,  292,  292,
644       292,  292,  292,  292,  292,  292,  216,  292,  292,  292,
645        23,  292,  242,  292,  292,  292,  292,  292,  292,  292,
646       292,  292,  292,  292,  182,  292,  292,  230,  292,  261,
647       292,  175,  292,  292,  292,  292,   47,  292,  292,  292,
648       292,    4,  292,  292,  124,  292,  292,  292,  292,  292,
649       292,  292,  292,  292,  292,  292,  292,  292,  292,  292,
650       292,  212,   36,   37,  292,  292,  292,  292,  292,  292,
651       292,  250,  292,  292,  292,  292,  292,  292,  218,  292,
652       292,  292,  185,  292,  292,  292,  292,  292,  292,  292,
653 
654       292,  292,   75,  292,   48,  236,  292,  213,  292,  292,
655       292,  292,   11,  292,  292,  292,  292,  292,  292,  292,
656       183,   79,  292,   39,  292,  292,  292,  292,  292,  292,
657       292,  292,  153,  292,  292,  292,  292,  292,  127,  292,
658       292,  292,  292,  292,  292,  292,  292,  292,  217,  121,
659       292,  292,  109,  110,  292,  292,  292,   81,   85,   80,
660       292,   73,  292,  292,  292,  292,  292,   10,  292,  292,
661       292,  234,  292,  292,  273,   38,  292,  292,  292,  292,
662       292,  152,  292,  292,  292,  292,  292,  292,  292,  292,
663       292,  292,  292,  292,  292,  292,  292,  292,  292,  292,
664 
665        86,   84,  292,   74,  258,  292,  292,  292,  292,  292,
666       292,  292,  169,  292,  292,  292,  184,  292,  292,  292,
667       292,  292,  292,  292,  292,  143,   68,  292,  292,  292,
668       292,  292,  251,  292,  292,  292,  292,  292,  292,  292,
669       122,  292,   83,  128,  129,  132,  133,  130,  131,   76,
670       292,  235,  292,  292,  146,  292,  292,  292,  292,  292,
671       211,  292,  292,  292,  292,  292,  292,  292,  292,  292,
672       292,  292,  292,  292,  292,  158,   40,  292,  292,  292,
673       292,  292,  292,  292,  292,  292,  292,  292,  292,  292,
674       292,  292,  292,  292,  292,  292,  292,  292,   89,  292,
675 
676       210,  292,  227,  255,  292,  292,  292,  292,  292,  292,
677       292,  292,  292,  292,    5,  292,  202,  292,  292,  256,
678       292,  292,  292,  292,  292,  292,  292,  292,   24,  292,
679       292,  292,  292,  292,  292,  292,  292,  292,  292,  292,
680       292,  292,  126,  292,  292,  292,  292,  292,  292,  292,
681       292,  292,  165,  292,  292,  292,  292,  292,  292,  292,
682       292,  292,  252,  292,  292,  292,  292,  292,  292,  292,
683       292,  292,  292,  292,  292,  292,  292,  292,  292,  292,
684       272,  292,  292,  223,  292,  292,  292,  292,  292,  253,
685       292,  292,  292,  292,  292,  292,  254,  292,  292,  292,
686 
687       221,  292,  224,  225,  292,  292,  292,  292,  292,  222,
688       226,    0
689     } ;
690 
691 static const YY_CHAR yy_ec[256] =
692     {   0,
693         1,    1,    1,    1,    1,    1,    1,    1,    2,    3,
694         1,    1,    4,    1,    1,    1,    1,    1,    1,    1,
695         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
696         1,    2,    1,    5,    6,    1,    1,    1,    7,    1,
697         1,    1,    1,    1,    8,    1,    1,    1,    9,    1,
698        10,   11,    1,   12,    1,    1,    1,   13,    1,    1,
699         1,    1,    1,    1,   14,   15,   16,   17,   18,   19,
700        20,   21,   22,   23,   24,   25,   26,   27,   28,   29,
701        30,   31,   32,   33,   34,   35,   36,   37,   38,   39,
702         1,   40,    1,    1,    1,    1,   41,   42,   43,   44,
703 
704        45,   46,   47,   48,   49,   50,   51,   52,   53,   54,
705        55,   56,   57,   58,   59,   60,   61,   62,   63,   64,
706        65,   66,    1,    1,    1,    1,    1,    1,    1,    1,
707         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
708         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
709         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
710         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
711         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
712         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
713         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
714 
715         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
716         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
717         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
718         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
719         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
720         1,    1,    1,    1,    1
721     } ;
722 
723 static const YY_CHAR yy_meta[67] =
724     {   0,
725         1,    2,    3,    4,    5,    1,    6,    1,    1,    1,
726         1,    1,    7,    1,    1,    1,    1,    1,    1,    1,
727         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
728         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
729         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
730         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
731         1,    1,    1,    1,    1,    1
732     } ;
733 
734 static const flex_int16_t yy_base[2927] =
735     {   0,
736         0,    0,   64,   67,   70,   72,   78,   84,   89,   92,
737       131,  137,  352,  307,   96, 8310, 8310, 8310,  109,  171,
738        85,  142,  215,   83,  117,  152,  207,   50,  110,   75,
739       167,  231,  112,  275,  121,  259,  323,  243,  291,  320,
740       170,  368,  289, 8310, 8310, 8310,  104,  288, 8310, 8310,
741      8310,  147,  286,  289, 8310, 8310, 8310,  305,  239, 8310,
742      8310, 8310,  160,  210, 8310,  372, 8310,  177,  382,  201,
743       386,  115,    0,  390,    0,    0,  160,  162,  199,  204,
744       188,  169,  303,  222,  256,  248,  377,  369,  254,  226,
745       313,  271,  365,  382,  296,  327,  396,  392,  381,  423,
746 
747       411,  386,  420,  428,  417,  419,  444,  317,  427,  432,
748       452,  453,  456,  457,  458,  472,  462,  463,  466,  483,
749       479,  478,  504,  485,  212,  499,  514,  501,  500,  517,
750       512,  521,  545,  528,  525,  538,  543,  546,  539,  190,
751       164,  138,  231,  122,  590,  158,   79,  277,   66,  598,
752       602,    0,  572,  571,  591,  579,  586,  596,  594,  599,
753       589,  595,  609,  592,  606,  645,  618,  620,  629,  340,
754       651,  695,  647,  634,  650,  657,  637,  638,  656,  659,
755       661,  544,  676,  685,  642,  687,  696,  719,  702,  713,
756       678,  407,  729,  743,  718,  721,  740,  756,  723,  758,
757 
758       727,  760,  763,  754,  759,  767,  742,  768,  753,  769,
759       766,  786,  788,  783,  787,  785,  802,  790,  812,  799,
760       814,  801,  827,  811,  818,  834,  826,  832,  842,  825,
761       845,  837,  841,  850,  617,  847,  861,  860,  843,  868,
762       863,  864,  859,  876,  880,  874,  886,  889,  893,  894,
763       909,  890,  900,  901,  904,  903,  908,  913,  912,  920,
764       928,  173,  916,  936,  943,  932,  935,  949,  947,  945,
765       958,  953,  962,  963,  971,  978,  968,  979,  973,  966,
766       970,  980,  989,  990, 1000,  992, 1004,  994, 1013, 1005,
767      1022, 1021, 1009, 1017, 1026, 1061, 1036, 1016, 1019, 1063,
768 
769      1055, 1049, 1044, 1072, 1059, 1064, 1092, 1083, 1087, 1094,
770       668, 1099, 1114, 1101, 1108, 1105, 1110, 1100, 1107, 1060,
771      1118, 1119, 1123, 1128, 1143, 1156, 1139, 1155, 1160, 1151,
772      1162, 1163, 1191, 1239, 1164, 1172, 1182, 1187, 1178, 8310,
773      1203, 1196, 1288, 1201, 1198, 1241, 1211, 1205, 1227, 1230,
774      1238, 1229, 1256, 1244, 1188, 1236, 1257, 1269, 1259, 1274,
775      1266, 1293, 1284, 1283, 1308, 1285, 1301, 1310, 1319, 1314,
776      1306, 1311, 1346, 1327, 1326, 1332, 1336, 1356, 1351, 1353,
777      1359, 1343, 1337, 1365, 1370, 1377, 1385, 1384, 1363, 1392,
778      1389, 1406, 1379, 1403, 1410, 1397, 1408, 1412, 1404,  784,
779 
780      1421, 1425, 1441, 1427, 1439, 1430, 1429, 1444, 1446, 1458,
781      1435, 1455, 1461, 1468, 1457, 1477, 1471, 1462, 1486, 1472,
782      1495, 1470, 8310, 1499, 1482, 1497, 1502, 1494, 1489, 8310,
783      1513, 1515, 1498, 1520, 1525, 1522, 1532, 1529, 1540, 1541,
784      1526, 1542, 1559, 1530, 1558, 1552, 1555, 1561, 1575, 1566,
785      1578, 1568, 1570, 1585, 1625, 1567, 1594, 1592, 1572, 1597,
786      1611, 1623, 1607, 1630, 1621, 1620, 1668, 1627, 1658, 1642,
787      1647, 1674, 1652, 1679, 1666, 1664, 1669, 1663, 1683, 1692,
788      1689, 1693, 1672, 1707, 8310, 1706, 1714, 1694, 1710, 1702,
789      1704, 1716, 1711, 1709, 1724, 1733, 1745, 1740, 1600, 1757,
790 
791      1744, 1763, 1749, 1732, 1750, 1751, 1760, 1767, 1780, 1752,
792      1785, 1773, 1781, 1782, 1774, 1798, 1802, 1808, 1783, 1803,
793      1800, 1792, 1807, 1814, 1813, 1797, 1809, 1833, 1819, 1835,
794      1825, 1844, 1830, 1826, 1846, 1834, 1855, 1838, 1853, 1841,
795      1864, 1874, 1870, 1872, 8310, 1877, 1880, 1885, 1891, 1893,
796      1897, 1903, 1876, 1905, 1902, 1913, 1916, 1911, 1910, 1919,
797      1914, 1918, 1930, 1935, 1954, 1936, 1948, 1966, 1949, 1962,
798      1941, 1956, 1961, 1968, 1976, 1969, 1975, 1982, 1971, 1974,
799      1985, 1990, 1989, 1983, 1986, 2003, 1995, 2011, 2010, 2025,
800      2026, 1999, 2032, 2009, 2037, 2022, 2029, 2042, 2038, 2043,
801 
802      2046, 2041, 2035, 2061, 2062, 2064, 2056, 2066, 2065, 2084,
803      2067, 2073, 2079, 2091, 2092, 2068, 2099, 2102, 2103, 2097,
804      2087, 2126, 2113, 2112, 2123, 2118, 2128, 2119, 2137, 2125,
805      2144, 2136, 2150, 2161, 2162, 2152, 2165, 2160, 2159, 2171,
806      2163, 2176, 2179, 2187, 2190, 2186, 2196, 2198, 2189, 2174,
807      2218, 2205, 2206, 8310, 2201, 2226, 2209, 2230, 2223, 2199,
808      2222, 2246, 2236, 2241, 2225, 2233, 2239, 2282, 8310, 2250,
809      8310, 8310, 2252, 8310, 8310, 2263, 2249, 2262, 2276, 2283,
810      2292, 2270, 2288, 2286, 2275, 2303, 2333, 2311, 2296, 2314,
811      2321, 2309, 2326, 2322, 2341, 2339, 2349, 2353, 2344, 2360,
812 
813      2355, 2363, 2364, 2366, 2368, 2367, 2381, 2395, 2384, 2387,
814      2397, 2382, 2391, 2385, 2409, 2412, 2405, 2438, 8310, 2414,
815      2425, 2426, 2424, 2436, 2432, 2431, 2434, 2440, 2443, 2439,
816      2427, 2444, 2441, 2454, 2450, 2451, 2471, 2462, 2461, 8310,
817      2474, 2475, 2477, 2476, 2487, 2481, 2478, 2466, 2493, 2500,
818      2497, 2513, 2472, 2523, 8310, 2527, 2525, 2509, 2528, 2510,
819      2512, 2518, 2519, 2524, 2539, 2540, 2543, 2546, 2550, 2567,
820      2570, 2560, 2557, 2566, 2575, 2568, 2573, 2583, 2565, 2577,
821      2591, 2590, 2594, 2593, 2597, 2599, 2606, 2608, 2628, 2607,
822      2633, 2634, 2626, 2612, 2620, 2639, 2624, 2635, 2642, 2647,
823 
824      2638, 2651, 2653, 2648, 2652, 2655, 2665, 2676, 2666, 2680,
825      2685, 2667, 2678, 2682, 2669, 8310, 2675, 2690, 8310, 2700,
826      2697, 2745, 2705, 2715, 2695, 2701, 2711, 2726, 2725, 2735,
827      2738, 2737, 2744, 2741, 2765, 2758, 2774, 2775, 2770, 2777,
828      2772, 2781, 2763, 2764, 2794, 1268, 2800, 2783, 2790, 2785,
829      2836, 2806, 2814, 2808, 2812, 2825, 2833, 2832, 2820, 2839,
830      2849, 2843, 2853, 8310, 2859, 2845, 2854, 2861, 2883, 2882,
831      2871, 2870, 2884, 2875, 2897, 2885, 2877, 2898, 2888, 2899,
832      2902, 2904, 2910, 2918, 2901, 2915, 2938, 8310, 2920, 8310,
833      2925, 2921, 2931, 2930, 2933, 2940, 2948, 2956, 8310, 8310,
834 
835      2957, 2960, 2963, 2943, 2959, 8310, 2958, 2981, 2991, 2970,
836      2979, 2978, 2976, 2989, 2996, 3009, 2987, 3014, 3010, 3003,
837      3012, 3021, 3015, 3022, 3023, 3020, 8310, 3029, 3030, 3037,
838      3038, 3045, 3051, 3034, 3063, 3067, 3053, 3050, 3054, 3072,
839      3070, 3081, 3087, 3079, 3080, 3086, 3093, 8310, 3082, 3095,
840      3094, 3098, 3092, 3096, 3107, 3099, 3101, 3121, 3118, 3119,
841      3123, 3114, 3141, 3143, 3125, 3134, 3147, 3130, 3144, 3142,
842       410, 3145, 3146, 3156, 3152, 8310, 3159, 3153,   61, 3170,
843      3172, 3176, 3186, 3180, 3165, 3173, 3199, 3200, 3196, 3204,
844      3203, 3195, 3198, 3205, 3202, 3215, 3214, 3223, 3224, 8310,
845 
846      3219, 3226, 3227, 3232, 3246, 3229, 3250, 8310, 3256, 3253,
847      3261, 3248, 3260, 3274, 3272, 3273, 3267, 3293, 3291, 3284,
848      8310, 3297, 3299, 3301, 3287, 3305, 3308, 3300, 3323, 3325,
849      3296, 3329, 3328, 3337, 3333, 3327, 3326, 3330, 3352, 3334,
850      3339, 3342, 3354, 8310, 3356, 3364, 3369, 3360, 3379, 3370,
851      3393, 3373, 3381, 3385, 3400, 3424, 3386, 3394, 3407, 3413,
852      3412, 3409, 3415, 3426, 3430, 3422, 3425, 3453, 3458, 3428,
853      3449, 3456, 3451, 3464, 3452, 3450, 3477, 3487, 3479, 3482,
854      3506, 3500, 1065, 3478, 8310, 3498, 3492, 3485, 3508, 3523,
855      3509, 3505, 3525, 3529, 3521, 3527, 3533, 3543, 3550, 3545,
856 
857      3552, 3544, 3549, 3558, 3564, 3554, 3575, 3576, 8310, 3577,
858      3582, 3573, 3584, 3583, 3579, 3594, 3596, 3590, 3591, 3604,
859      3608, 3607, 3610, 3609, 3611, 3606, 3626, 3614, 8310, 3641,
860      3630, 3642, 3643, 3638, 3653, 3655, 3649, 3656, 3663, 3672,
861      3657, 3666, 8310, 3603, 3667, 3684, 3668, 3677, 3673, 3685,
862      3697, 3682, 8310, 3683, 3691, 3671, 3706, 3701, 8310, 3720,
863      3711, 3712, 3709, 3708, 3699, 3726, 3723, 3715, 3719, 3746,
864      3745, 3733, 3750, 8310, 3738, 3766, 3744, 3754, 3760, 3761,
865      3759, 3776, 3792, 3777, 3771, 3781, 3765, 3788, 3786, 3783,
866      3789, 3806, 3796, 3812, 3802, 8310, 3816, 3810, 3813, 3819,
867 
868      3821, 3824, 3826, 3840, 3838, 3835, 3846, 3841, 3844, 3847,
869      3858, 3857, 3865, 3861, 3867, 3874, 3880, 3872, 3877, 3884,
870      3885, 3887, 3899, 3907, 8310, 3896, 3905, 3901, 3897, 3903,
871      3904, 3906, 3920, 3918, 3931, 3924, 3927, 3930, 3955, 3964,
872      3933, 3942, 3944, 3948, 3952, 3957, 3954, 3958, 3956, 3925,
873      3972, 3960, 3997, 3976, 3987, 4001, 3979, 3983, 3988, 3989,
874      4003, 3991, 3994, 4010, 4016, 4014, 4023, 4022, 4028, 4018,
875      4024, 4029, 4046, 8310, 4035, 4049, 4041, 4047, 4057, 4066,
876      4067, 4073, 4074, 4060, 4068, 4062, 4075, 4081, 8310, 4079,
877      8310, 4089, 4091, 4084, 4088, 4094, 8310, 4103, 8310, 4116,
878 
879      4117, 4104, 4106, 8310, 4123, 4105, 4118, 4128, 4121, 4113,
880      4132, 4130, 4144, 4137, 4142, 4152, 4141, 4169, 4159, 4154,
881      4171, 4162, 4174, 4178, 4163, 4179, 4186, 4164, 4184, 4193,
882      4187, 8310, 4195, 4198, 4203, 4204, 4207, 4201, 4228, 4213,
883      4222, 4227, 4232, 4231, 4237, 4244, 4233, 4266, 4250, 4267,
884      8310, 4258, 4252, 4256, 4274, 8310, 4271, 4254, 4281, 4285,
885      4273, 4277, 4291, 4289, 4309, 4284, 4297, 4322, 4293, 4316,
886      4318, 4324, 4305, 4312, 4331, 4333, 4334, 4345, 4336, 4342,
887      4337, 4341, 4351, 4355, 4363, 4358, 4376, 4374, 4381, 4357,
888      4378, 4387, 4384, 4373, 4368, 4372, 4382, 4390, 4386, 4399,
889 
890      4425, 4401, 4402, 4410, 4406, 8310, 4430, 4414, 4431, 4437,
891      4417, 4426, 4418, 4428, 4441, 4420, 4449, 4462, 4454, 8310,
892      4460, 8310, 4457, 4463, 4472, 4478, 4467, 4468, 4485, 4491,
893      4483, 4473, 4498, 4499, 4489, 4495, 4505, 4501, 4512, 4518,
894      4490, 4529, 4513, 4523, 4516, 4528, 4530, 4525, 8310, 4540,
895      4526, 4548, 4543, 4553, 4561, 4557, 4569, 4550, 4570, 4556,
896      4587, 8310, 4576, 4584, 4580, 4594, 4605, 4597, 4609, 4600,
897      8310, 4592, 4596, 4614, 4603, 4617, 4618, 8310, 4607, 8310,
898      4619, 4621, 4623, 4642, 4622, 4639, 4641, 4643, 4654, 4633,
899      4661, 4646, 4644, 4645, 4658, 4667, 4666, 4665, 4673, 4656,
900 
901      8310, 4676, 4678, 4691, 4692, 4694, 4701, 4700, 4685, 8310,
902      4696, 4710, 4712, 4703, 4713, 4717, 4720, 4722, 4733, 4736,
903      4724, 4726, 4725, 4738, 4737, 4735, 4754, 4763, 4757, 8310,
904      4762, 4760, 4776, 4774, 4768, 4777, 4775, 4765, 4761, 4773,
905      4781, 4792, 4789, 4801, 4794, 4806, 4805, 4795, 4802, 4820,
906      4828, 4810, 4816, 4818, 4819, 4846, 4836, 4829, 4849, 4851,
907      4833, 4859, 4863, 4844, 4847, 4867, 4866, 4874, 4869, 8310,
908      4886, 4871, 4887, 4858, 4881, 4888, 4899, 4892, 4890, 4885,
909      4898, 4911, 4901, 8310, 4939, 4906, 4922, 4926, 4908, 4927,
910      4931, 4932, 4934, 4941, 4916, 4943, 4936, 4935, 4945, 4960,
911 
912      4954, 8310, 8310, 4965, 4950, 4967, 8310, 4969, 4959, 4990,
913      4988, 4968, 4982, 4984, 4995, 4972, 4992, 4986, 4994, 8310,
914      5001, 5005, 5003, 5007, 5013, 5031, 5027, 5024, 5026, 5016,
915      5019, 5030, 5041, 5034, 5021, 5048, 5050, 5039, 5040, 5060,
916      8310, 5058, 5054, 5057, 8310, 5069, 5066, 5077, 5081, 5089,
917      5091, 5087, 5092, 5085, 5097, 5075, 5096, 5093, 5107, 5114,
918      5116, 5121, 5129, 5134, 5128, 8310, 5130, 5133, 5125, 5136,
919      5137, 5147, 5151, 5155, 5141, 5160, 5157, 5156, 8310, 5158,
920      5171, 5161, 5152, 5185, 5159, 5194, 5178, 8310, 5179, 5174,
921      5198, 8310, 5192, 5206, 5199, 5209, 5196, 5215, 5205, 5208,
922 
923      5218, 5219, 8310, 5222, 8310, 5226, 5225, 5230, 8310, 5232,
924      5235, 5234, 5214, 5241, 5243, 5255, 5263, 5245, 5258, 5251,
925      5254, 5272, 5274, 5285, 5270, 8310, 5290, 5268, 5280, 5282,
926      5295, 5281, 5294, 5300, 5301, 8310, 8310, 5298, 8310, 5316,
927      5307, 5308, 8310, 5311, 5322, 5335, 5320, 5332, 5338, 5339,
928      5344, 8310, 5341, 5334, 5355, 5349, 5351, 5357, 5361, 5362,
929      5360, 5365, 5371, 8310, 5375, 5379, 5370, 5376, 5385, 5406,
930      5388, 5396, 8310, 5403, 5412, 5392, 5419, 5404, 8310, 5417,
931      8310, 5407, 5418, 5428, 5445, 5423, 8310, 5446, 5435, 5429,
932      5431, 5454, 5458, 5456, 5463, 5452, 5444, 5471, 5472, 5465,
933 
934      5474, 8310, 5475, 5466, 5489, 5495, 5485, 5483, 5511, 5508,
935      5512, 5509, 5515, 5506, 5519, 5523, 5522, 5544, 5530, 5507,
936      5548, 5545, 5549, 8310, 5550, 5555, 5558, 8310, 5551, 5546,
937      5559, 5565, 5552, 5576, 5580, 5584, 5585, 8310, 5587, 5589,
938      5582, 5603, 5605, 5595, 8310, 8310, 5614, 8310, 5607, 5592,
939      5609, 5621, 5618, 5629, 5617, 5637, 5649, 5631, 5648, 5654,
940      5640, 5662, 5542, 5579, 5658, 5647, 5651, 8310, 8310, 5663,
941      5668, 5675, 5672, 5686, 5679, 5674, 5673, 5688, 5696, 5703,
942      5699, 5710, 8310, 5705, 5702, 5708, 8310, 5700, 5711, 5717,
943      5718, 5723, 5724, 5730, 5707, 5737, 5732, 5743, 5727, 5744,
944 
945      5739, 5757, 5750, 5754, 5761, 8310, 5768, 5759, 5760, 5769,
946      5767, 5774, 5777, 5770, 5781, 8310, 5785, 5807, 5808, 5797,
947      5799, 5801, 5815, 5817, 5821, 5818, 5809, 5829, 5838, 5831,
948      5827, 8310, 5834, 5826, 5835, 5840, 5851, 5863, 5845, 5868,
949      5853, 5869, 5860, 5865, 5876, 5881, 5872, 5874, 5879, 5885,
950      8310, 5884, 5888, 5890, 5894, 5887, 5901, 5897, 5917, 5919,
951      5903, 5908, 5910, 5925, 8310, 5920, 5915, 5924, 5937, 5926,
952      5935, 5928, 5942, 8310, 5948, 5951, 5952, 5947, 5946, 5962,
953      5949, 5975, 5960, 8310, 5970, 5978, 5986, 5967, 5987, 5974,
954      5988, 5985, 8310, 5998, 6001, 5981, 6021, 6005, 6022, 6019,
955 
956      6029, 6010, 6018, 6033, 6030, 6032, 6038, 6043, 6028, 6045,
957      6048, 6040, 8310, 6053, 8310, 6055, 6049, 6059, 6080, 6063,
958      8310, 6068, 6071, 6078, 6077, 6079, 8310, 6082, 6086, 6103,
959      6105, 8310, 6093, 6119, 6106, 6110, 6101, 6130, 8310, 6125,
960      6132, 6129, 6141, 6143, 6127, 6128, 6138, 6136, 6133, 6145,
961      6149, 8310, 6163, 6168, 6173, 6174, 6169, 6160, 6177, 6182,
962      6170, 8310, 6184, 6165, 6166, 6188, 6195, 6194, 6198, 6193,
963      6211, 6200, 8310, 6207, 6219, 6233, 6227, 6229, 8310, 8310,
964      6222, 6238, 6234, 6206, 6241, 8310, 6243, 6245, 6240, 6248,
965      6244, 8310, 8310, 6255, 8310, 6258, 8310, 6259, 6261, 8310,
966 
967      8310, 6278, 6263, 6279, 6282, 6281, 8310, 6291, 8310, 6297,
968      6292, 6280, 6272, 6290, 8310, 6306, 6300, 6301, 8310, 6304,
969      6302, 6308, 6315, 8310, 6332, 6317, 6316, 8310, 6337, 6341,
970      6340, 6342, 6344, 6335, 6352, 6328, 6351, 6350, 6354, 6358,
971      6360, 6368, 6364, 6365, 6383, 6385, 6376, 6377, 6374, 6390,
972      6396, 6381, 6398, 6399, 6391, 6393, 6407, 6410, 6404, 6423,
973      6415, 6416, 6419, 6421, 6412, 6420, 6431, 6429, 6445, 6451,
974      6455, 6439, 6446, 8310, 6442, 6448, 6462, 6465, 6463, 6469,
975      6471, 6483, 6484, 6492, 8310, 6498, 8310, 6501, 6482, 6494,
976      6487, 8310, 6488, 6489, 6491, 6497, 6514, 6510, 6504, 6535,
977 
978      8310, 6538, 6520, 6534, 6539, 8310, 6537, 6545, 6533, 6540,
979      6541, 6544, 6556, 6561, 6560, 6562, 6553, 6555, 6557, 6572,
980      6577, 6575, 6586, 6573, 6578, 6602, 6595, 6596, 6608, 6609,
981      8310, 6611, 8310, 6605, 6612, 6615, 6606, 6623, 6620, 6624,
982      8310, 8310, 6625, 6641, 6646, 6633, 6638, 6649, 6655, 8310,
983      6647, 6657, 6663, 6651, 8310, 6660, 6665, 6666, 8310, 6667,
984      6669, 6676, 6677, 6692, 6686, 6681, 8310, 8310, 8310, 8310,
985      6699, 6683, 6701, 6689, 6696, 6706, 6708, 6711, 6703, 8310,
986      6714, 8310, 8310, 6716, 6726, 6720, 6732, 6738, 6730, 6741,
987      6743, 8310, 6725, 6755, 6757, 6739, 6756, 6763, 6764, 6767,
988 
989      6761, 6768, 6774, 6770, 6784, 6765, 6788, 6796, 6800, 8310,
990      8310, 6790, 6804, 6802, 6814, 6811, 6813, 6815, 6817, 6819,
991      6799, 6807, 6820, 6831, 6825, 8310, 6834, 6830, 8310, 6838,
992      8310, 6848, 6849, 6841, 6843, 6858, 6860, 6861, 6863, 8310,
993      8310, 6852, 6864, 6855, 6873, 6876, 6883, 6878, 6897, 6885,
994      8310, 6887, 8310, 6886, 6903, 6908, 6890, 6914, 6921, 6923,
995      6925, 6918, 6922, 8310, 6919, 6924, 8310, 6932, 6929, 6942,
996      8310, 6938, 6940, 6944, 8310, 6947, 8310, 6958, 8310, 6941,
997      6977, 8310, 6953, 6959, 8310, 6962, 6975, 6976, 6965, 8310,
998      6963, 8310, 6971, 6982, 6992, 6983, 6980, 6994, 6984, 6996,
999 
1000      6985, 7001, 7013, 7011, 8310, 8310, 7030, 7004, 7009, 7012,
1001      7010, 7006, 7019, 7031, 7034, 8310, 8310, 7040, 8310, 7039,
1002      7046, 8310, 7023, 7050, 7051, 7055, 7052, 7061, 7071, 7063,
1003      7064, 7057, 7094, 7074, 7086, 7098, 7101, 7103, 7105, 7084,
1004      7109, 7095, 7090, 7110, 7118, 7120, 8310, 7107, 7121, 7117,
1005      8310, 7123, 7132, 7149, 7147, 8310, 7153, 7145, 7146, 7148,
1006      8310, 7142, 7156, 7159, 7161, 7162, 7196, 7158, 7183, 8310,
1007      8310, 8310, 8310, 7168, 7175, 8310, 7185, 7187, 8310, 8310,
1008      7176, 7191, 7186, 7210, 8310, 7195, 8310, 7188, 8310, 7203,
1009      7211, 7223, 7220, 8310, 7212, 7241, 8310, 7225, 7231, 7232,
1010 
1011      7237, 7228, 7230, 7235, 8310, 7258, 7255, 7256, 7254, 7247,
1012      7250, 7273, 7252, 7268, 7259, 7266, 8310, 7272, 7274, 7276,
1013      8310, 7280, 8310, 7277, 7281, 7298, 7297, 7293, 7295, 7304,
1014      7305, 7300, 7313, 7311, 8310, 7315, 7319, 8310, 7307, 8310,
1015      7335, 8310, 7327, 7329, 7331, 7339, 8310, 7348, 7332, 7337,
1016      7342, 8310, 7349, 7351, 8310, 7358, 7346, 7367, 7380, 7362,
1017      7381, 7372, 7375, 7366, 7396, 7378, 7389, 7392, 7398, 7403,
1018      7413, 8310, 8310, 8310, 7405, 7395, 7408, 7404, 7418, 7423,
1019      7402, 8310, 7429, 7431, 7419, 7442, 7435, 7443, 8310, 7449,
1020      7432, 7445, 8310, 7455, 7457, 7459, 7446, 7461, 7467, 7468,
1021 
1022      7471, 7469, 8310, 7475, 8310, 8310, 7458, 8310, 7470, 7478,
1023      7481, 7482, 8310, 7489, 7485, 7486, 7498, 7490, 7495, 7510,
1024      8310, 8310, 7511, 8310, 7518, 7516, 7509, 7525, 7512, 7520,
1025      7529, 7526, 8310, 7534, 7537, 7535, 7532, 7543, 8310, 7538,
1026      7541, 7552, 7555, 7551, 7547, 7568, 7556, 7561, 8310, 8310,
1027      7571, 7567, 8310, 8310, 7589, 7592, 7593, 8310, 8310, 8310,
1028      7600, 8310, 7601, 7607, 7610, 7612, 7599, 8310, 7614, 7604,
1029      7609, 8310, 7616, 7615, 8310, 8310, 7608, 7618, 7613, 7620,
1030      7631, 8310, 7635, 7642, 7637, 7632, 7654, 7640, 7652, 7659,
1031      7666, 7675, 7647, 7648, 7656, 7680, 7682, 7669, 7676, 7684,
1032 
1033      8310, 8310, 7691, 8310, 8310, 7692, 7694, 7697, 7700, 7701,
1034      7705, 7706, 8310, 7699, 7710, 7693, 8310, 7698, 7722, 7714,
1035      7718, 7711, 7733, 7715, 7736, 8310, 8310, 7721, 7740, 7720,
1036      7750, 7735, 8310, 7749, 7759, 7741, 7760, 7745, 7756, 7768,
1037      8310, 7754, 8310, 8310, 8310, 8310, 8310, 8310, 8310, 8310,
1038      7772, 8310, 7771, 7785, 8310, 7766, 7779, 7786, 7777, 7780,
1039      8310, 7782, 7792, 7795, 7806, 7799, 7809, 7807, 7804, 7811,
1040      7812, 7815, 7830, 7822, 7824, 8310, 8310, 7832, 7833, 7825,
1041      7839, 7854, 7857, 7861, 7862, 7849, 7859, 7860, 7864, 7872,
1042      7867, 7878, 7870, 7884, 7880, 7874, 7883, 7882, 8310, 7888,
1043 
1044      8310, 7890, 8310, 8310, 7912, 7913, 7910, 7897, 7926, 7927,
1045      7909, 7915, 7919, 7931, 8310, 7924, 8310, 7920, 7929, 8310,
1046      7932, 7943, 7930, 7950, 7951, 7947, 7957, 7967, 8310, 7955,
1047      7961, 7968, 7976, 7974, 7982, 7987, 7991, 7993, 7978, 7990,
1048      7999, 7986, 8310, 8002, 8003, 8005, 8008, 8009, 8007, 8018,
1049      8025, 8014, 8310, 8016, 8035, 8041, 8021, 8031, 8043, 8052,
1050      8054, 8048, 8310, 8058, 8062, 8068, 8065, 8071, 8064, 8075,
1051      8078, 8051, 8089, 8074, 8100, 8099, 8101, 8085, 8102, 8091,
1052      8310, 8113, 8096, 8310, 8112, 8114, 8103, 8124, 8131, 8310,
1053      8120, 8126, 8129, 8135, 8125, 8147, 8310, 8138, 8150, 8153,
1054 
1055      8310, 8152, 8310, 8310, 8156, 8149, 8159, 8155, 8164, 8310,
1056      8310, 8310, 8218, 8225, 8232, 8239, 8246,   83, 8253, 8260,
1057      8267, 8274, 8281, 8288, 8295, 8302
1058     } ;
1059 
1060 static const flex_int16_t yy_def[2927] =
1061     {   0,
1062      2912,    1, 2913, 2913, 2914, 2914, 2915, 2915, 2916, 2916,
1063      2917, 2917, 2912, 2918, 2912, 2912, 2912, 2912, 2919, 2918,
1064      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1065      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1066      2918, 2918, 2920, 2912, 2912, 2912, 2920, 2921, 2912, 2912,
1067      2912, 2921, 2922, 2912, 2912, 2912, 2912, 2922, 2923, 2912,
1068      2912, 2912, 2923, 2924, 2912, 2925, 2912, 2924, 2924, 2918,
1069      2918, 2912, 2926, 2919, 2926, 2919, 2918, 2918, 2918, 2918,
1070      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1071      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1072 
1073      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1074      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1075      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1076      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2920,
1077      2920, 2921, 2921, 2922, 2922, 2912, 2923, 2923, 2924, 2924,
1078      2925, 2925, 2924, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1079      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1080      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1081      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1082      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1083 
1084      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1085      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1086      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1087      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1088      2924, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1089      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1090      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1091      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1092      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1093      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1094 
1095      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1096      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1097      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1098      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2912,
1099      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2924, 2918, 2918,
1100      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1101      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1102      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1103      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1104      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1105 
1106      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1107      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1108      2918, 2918, 2912, 2918, 2918, 2918, 2918, 2918, 2918, 2912,
1109      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1110      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1111      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1112      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1113      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1114      2918, 2918, 2918, 2918, 2912, 2918, 2924, 2918, 2918, 2918,
1115      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1116 
1117      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1118      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1119      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1120      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1121      2918, 2918, 2918, 2918, 2912, 2918, 2918, 2918, 2918, 2918,
1122      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1123      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1124      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1125      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1126      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1127 
1128      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1129      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1130      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1131      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1132      2918, 2924, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1133      2918, 2918, 2918, 2912, 2918, 2918, 2918, 2918, 2918, 2918,
1134      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2912, 2918,
1135      2912, 2912, 2918, 2912, 2912, 2918, 2918, 2918, 2918, 2918,
1136      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1137      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1138 
1139      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1140      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2912, 2918,
1141      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1142      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2912,
1143      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1144      2918, 2918, 2918, 2918, 2912, 2918, 2918, 2918, 2918, 2918,
1145      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1146      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1147      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1148      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1149 
1150      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2924, 2918, 2918,
1151      2918, 2918, 2918, 2918, 2918, 2912, 2918, 2918, 2912, 2918,
1152      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1153      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1154      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1155      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1156      2918, 2918, 2918, 2912, 2918, 2918, 2918, 2918, 2918, 2918,
1157      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1158      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2912, 2918, 2912,
1159      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2912, 2912,
1160 
1161      2918, 2918, 2918, 2918, 2918, 2912, 2918, 2918, 2918, 2918,
1162      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1163      2918, 2918, 2918, 2918, 2918, 2918, 2912, 2918, 2918, 2918,
1164      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1165      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2912, 2918, 2918,
1166      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1167      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1168      2918, 2918, 2918, 2918, 2918, 2912, 2918, 2918, 2924, 2918,
1169      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1170      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2912,
1171 
1172      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2912, 2918, 2918,
1173      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1174      2912, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1175      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1176      2918, 2918, 2918, 2912, 2918, 2918, 2918, 2918, 2918, 2918,
1177      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1178      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1179      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1180      2918, 2918, 2918, 2918, 2912, 2918, 2918, 2918, 2918, 2918,
1181      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1182 
1183      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2912, 2918,
1184      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1185      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2912, 2918,
1186      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1187      2918, 2918, 2912, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1188      2918, 2918, 2912, 2918, 2918, 2918, 2918, 2918, 2912, 2918,
1189      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1190      2918, 2918, 2918, 2912, 2918, 2918, 2918, 2918, 2918, 2918,
1191      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1192      2918, 2918, 2918, 2918, 2918, 2912, 2918, 2918, 2918, 2918,
1193 
1194      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1195      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1196      2918, 2918, 2918, 2918, 2912, 2918, 2918, 2918, 2918, 2918,
1197      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1198      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1199      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1200      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1201      2918, 2918, 2918, 2912, 2918, 2918, 2918, 2918, 2918, 2918,
1202      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2912, 2918,
1203      2912, 2918, 2918, 2918, 2918, 2918, 2912, 2918, 2912, 2918,
1204 
1205      2918, 2918, 2918, 2912, 2918, 2918, 2918, 2918, 2918, 2918,
1206      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1207      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1208      2918, 2912, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1209      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1210      2912, 2918, 2918, 2918, 2918, 2912, 2918, 2918, 2918, 2918,
1211      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1212      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1213      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1214      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1215 
1216      2918, 2918, 2918, 2918, 2918, 2912, 2918, 2918, 2918, 2918,
1217      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2912,
1218      2918, 2912, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1219      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1220      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2912, 2918,
1221      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1222      2918, 2912, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1223      2912, 2918, 2918, 2918, 2918, 2918, 2918, 2912, 2918, 2912,
1224      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1225      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1226 
1227      2912, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2912,
1228      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1229      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2912,
1230      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1231      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1232      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1233      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2912,
1234      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1235      2918, 2918, 2918, 2912, 2918, 2918, 2918, 2918, 2918, 2918,
1236      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1237 
1238      2918, 2912, 2912, 2918, 2918, 2918, 2912, 2918, 2918, 2918,
1239      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2912,
1240      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1241      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1242      2912, 2918, 2918, 2918, 2912, 2918, 2918, 2918, 2918, 2918,
1243      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1244      2918, 2918, 2918, 2918, 2918, 2912, 2918, 2918, 2918, 2918,
1245      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2912, 2918,
1246      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2912, 2918, 2918,
1247      2918, 2912, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1248 
1249      2918, 2918, 2912, 2918, 2912, 2918, 2918, 2918, 2912, 2918,
1250      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1251      2918, 2918, 2918, 2918, 2918, 2912, 2918, 2918, 2918, 2918,
1252      2918, 2918, 2918, 2918, 2918, 2912, 2912, 2918, 2912, 2918,
1253      2918, 2918, 2912, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1254      2918, 2912, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1255      2918, 2918, 2918, 2912, 2918, 2918, 2918, 2918, 2918, 2918,
1256      2918, 2918, 2912, 2918, 2918, 2918, 2918, 2918, 2912, 2918,
1257      2912, 2918, 2918, 2918, 2918, 2918, 2912, 2918, 2918, 2918,
1258      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1259 
1260      2918, 2912, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1261      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1262      2918, 2918, 2918, 2912, 2918, 2918, 2918, 2912, 2918, 2918,
1263      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2912, 2918, 2918,
1264      2918, 2918, 2918, 2918, 2912, 2912, 2918, 2912, 2918, 2918,
1265      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1266      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2912, 2912, 2918,
1267      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1268      2918, 2918, 2912, 2918, 2918, 2918, 2912, 2918, 2918, 2918,
1269      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1270 
1271      2918, 2918, 2918, 2918, 2918, 2912, 2918, 2918, 2918, 2918,
1272      2918, 2918, 2918, 2918, 2918, 2912, 2918, 2918, 2918, 2918,
1273      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1274      2918, 2912, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1275      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1276      2912, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1277      2918, 2918, 2918, 2918, 2912, 2918, 2918, 2918, 2918, 2918,
1278      2918, 2918, 2918, 2912, 2918, 2918, 2918, 2918, 2918, 2918,
1279      2918, 2918, 2918, 2912, 2918, 2918, 2918, 2918, 2918, 2918,
1280      2918, 2918, 2912, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1281 
1282      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1283      2918, 2918, 2912, 2918, 2912, 2918, 2918, 2918, 2918, 2918,
1284      2912, 2918, 2918, 2918, 2918, 2918, 2912, 2918, 2918, 2918,
1285      2918, 2912, 2918, 2918, 2918, 2918, 2918, 2918, 2912, 2918,
1286      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1287      2918, 2912, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1288      2918, 2912, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1289      2918, 2918, 2912, 2918, 2918, 2918, 2918, 2918, 2912, 2912,
1290      2918, 2918, 2918, 2918, 2918, 2912, 2918, 2918, 2918, 2918,
1291      2918, 2912, 2912, 2918, 2912, 2918, 2912, 2918, 2918, 2912,
1292 
1293      2912, 2918, 2918, 2918, 2918, 2918, 2912, 2918, 2912, 2918,
1294      2918, 2918, 2918, 2918, 2912, 2918, 2918, 2918, 2912, 2918,
1295      2918, 2918, 2918, 2912, 2918, 2918, 2918, 2912, 2918, 2918,
1296      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1297      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1298      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1299      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1300      2918, 2918, 2918, 2912, 2918, 2918, 2918, 2918, 2918, 2918,
1301      2918, 2918, 2918, 2918, 2912, 2918, 2912, 2918, 2918, 2918,
1302      2918, 2912, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1303 
1304      2912, 2918, 2918, 2918, 2918, 2912, 2918, 2918, 2918, 2918,
1305      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1306      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1307      2912, 2918, 2912, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1308      2912, 2912, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2912,
1309      2918, 2918, 2918, 2918, 2912, 2918, 2918, 2918, 2912, 2918,
1310      2918, 2918, 2918, 2918, 2918, 2918, 2912, 2912, 2912, 2912,
1311      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2912,
1312      2918, 2912, 2912, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1313      2918, 2912, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1314 
1315      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2912,
1316      2912, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1317      2918, 2918, 2918, 2918, 2918, 2912, 2918, 2918, 2912, 2918,
1318      2912, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2912,
1319      2912, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1320      2912, 2918, 2912, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1321      2918, 2918, 2918, 2912, 2918, 2918, 2912, 2918, 2918, 2918,
1322      2912, 2918, 2918, 2918, 2912, 2918, 2912, 2918, 2912, 2918,
1323      2918, 2912, 2918, 2918, 2912, 2918, 2918, 2918, 2918, 2912,
1324      2918, 2912, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1325 
1326      2918, 2918, 2918, 2918, 2912, 2912, 2918, 2918, 2918, 2918,
1327      2918, 2918, 2918, 2918, 2918, 2912, 2912, 2918, 2912, 2918,
1328      2918, 2912, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1329      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1330      2918, 2918, 2918, 2918, 2918, 2918, 2912, 2918, 2918, 2918,
1331      2912, 2918, 2918, 2918, 2918, 2912, 2918, 2918, 2918, 2918,
1332      2912, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2912,
1333      2912, 2912, 2912, 2918, 2918, 2912, 2918, 2918, 2912, 2912,
1334      2918, 2918, 2918, 2918, 2912, 2918, 2912, 2918, 2912, 2918,
1335      2918, 2918, 2918, 2912, 2918, 2918, 2912, 2918, 2918, 2918,
1336 
1337      2918, 2918, 2918, 2918, 2912, 2918, 2918, 2918, 2918, 2918,
1338      2918, 2918, 2918, 2918, 2918, 2918, 2912, 2918, 2918, 2918,
1339      2912, 2918, 2912, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1340      2918, 2918, 2918, 2918, 2912, 2918, 2918, 2912, 2918, 2912,
1341      2918, 2912, 2918, 2918, 2918, 2918, 2912, 2918, 2918, 2918,
1342      2918, 2912, 2918, 2918, 2912, 2918, 2918, 2918, 2918, 2918,
1343      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1344      2918, 2912, 2912, 2912, 2918, 2918, 2918, 2918, 2918, 2918,
1345      2918, 2912, 2918, 2918, 2918, 2918, 2918, 2918, 2912, 2918,
1346      2918, 2918, 2912, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1347 
1348      2918, 2918, 2912, 2918, 2912, 2912, 2918, 2912, 2918, 2918,
1349      2918, 2918, 2912, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1350      2912, 2912, 2918, 2912, 2918, 2918, 2918, 2918, 2918, 2918,
1351      2918, 2918, 2912, 2918, 2918, 2918, 2918, 2918, 2912, 2918,
1352      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2912, 2912,
1353      2918, 2918, 2912, 2912, 2918, 2918, 2918, 2912, 2912, 2912,
1354      2918, 2912, 2918, 2918, 2918, 2918, 2918, 2912, 2918, 2918,
1355      2918, 2912, 2918, 2918, 2912, 2912, 2918, 2918, 2918, 2918,
1356      2918, 2912, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1357      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1358 
1359      2912, 2912, 2918, 2912, 2912, 2918, 2918, 2918, 2918, 2918,
1360      2918, 2918, 2912, 2918, 2918, 2918, 2912, 2918, 2918, 2918,
1361      2918, 2918, 2918, 2918, 2918, 2912, 2912, 2918, 2918, 2918,
1362      2918, 2918, 2912, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1363      2912, 2918, 2912, 2912, 2912, 2912, 2912, 2912, 2912, 2912,
1364      2918, 2912, 2918, 2918, 2912, 2918, 2918, 2918, 2918, 2918,
1365      2912, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1366      2918, 2918, 2918, 2918, 2918, 2912, 2912, 2918, 2918, 2918,
1367      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1368      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2912, 2918,
1369 
1370      2912, 2918, 2912, 2912, 2918, 2918, 2918, 2918, 2918, 2918,
1371      2918, 2918, 2918, 2918, 2912, 2918, 2912, 2918, 2918, 2912,
1372      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2912, 2918,
1373      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1374      2918, 2918, 2912, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1375      2918, 2918, 2912, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1376      2918, 2918, 2912, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1377      2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
1378      2912, 2918, 2918, 2912, 2918, 2918, 2918, 2918, 2918, 2912,
1379      2918, 2918, 2918, 2918, 2918, 2918, 2912, 2918, 2918, 2918,
1380 
1381      2912, 2918, 2912, 2912, 2918, 2918, 2918, 2918, 2918, 2912,
1382      2912,    0, 2912, 2912, 2912, 2912, 2912, 2912, 2912, 2912,
1383      2912, 2912, 2912, 2912, 2912, 2912
1384     } ;
1385 
1386 static const flex_int16_t yy_nxt[8377] =
1387     {   0,
1388        14,   15,   16,   17,   18,   19,   18,   14,   14,   14,
1389        14,   14,   18,   20,   21,   22,   23,   24,   25,   14,
1390        26,   27,   28,   29,   30,   31,   32,   33,   34,   35,
1391        36,   37,   38,   39,   40,   14,   14,   14,   41,   42,
1392        20,   21,   22,   23,   24,   25,   14,   26,   27,   28,
1393        29,   30,   31,   32,   33,   34,   35,   36,   37,   38,
1394        39,   40,   14,   14,   14,   41,   44,   45,   46,   44,
1395        45,   46,   49,   50,   49,   50,   51,  102,   51,   54,
1396        55,   56,   57,   70,   18,   54,   55,   56,   57,   71,
1397        18,   60,   61,   62,   60,   61,   62,   72,   82,   92,
1398 
1399       150,   73,  104,   47,  102,  150,   47,  140,  140,   52,
1400        75,   52,   75,   75,   71,   75,   72,   58,  148,   93,
1401        73,   75,   71,   58,   71,   82,   92,  103,   63,  104,
1402        94,   63,   15,   16,   17,   65,   66,   67,   15,   16,
1403        17,   65,   66,   67,   95,  112,   93,  118,   76,   71,
1404       142,   71,   68,  142,  103,   83,   71,   94,   68,  146,
1405        71,  145,   84,  147,  147,   96,   85,  140,  140,   86,
1406        69,   95,  112,   97,  118,  154,   69,  143,  155,   68,
1407       105,   71,   83,  369,  159,   68,   77,   78,  106,   84,
1408        79,   71,   96,   85,  107,   80,   86,  139,  108,   71,
1409 
1410        97,   71,  154,  153,   81,  155,   71,  105,   71,   71,
1411        71,  159,   71,   77,   78,  106,  150,   79,  156,  222,
1412       158,  107,   80,   98,  139,  108,   99,   71,  157,  141,
1413       153,   81,   87,  100,  142,  101,   88,  142,   71,   89,
1414        71,   90,   91,   71,  109,  156,   71,  158,  110,  150,
1415        98,   71,  162,   99,   71,  157,  128,  171,  129,   87,
1416       100,   71,  101,   88,  111,   71,   89,  130,   90,   91,
1417        71,  109,  119,  131,  164,  110,  120,  163,  148,  162,
1418       147,  147,   71,  128,  171,  129,  121,   71,  170,  122,
1419       146,  111,  113,   71,  130,   71,  114,  174,   71,  119,
1420 
1421       131,  164,  115,  120,  163,  116,  144,  132,  144,  144,
1422        71,  144,  117,  121,   71,  170,  122,  133,  160,  113,
1423       172,  134,  135,  114,  174,  145,  179,  143,  141,  115,
1424        71,  161,  116,  136,  132,   71,  200,  137,  173,  117,
1425       123,  138,   71,  124,  133,  160,   71,  261,  134,  135,
1426       125, 2912,   71,  179,  126,  127,   71,  180,  161,   71,
1427       136, 2912,   71,  200,  137,  173,   71,  123,  138,   70,
1428       124,   70,   70,   75,   70,   75,   75,  125,   75,   71,
1429        70,  126,  127,  149,  180,  149,  149,   70,  149,   70,
1430        70,   75,   70,   75,   75,  165,   75,  175,   70,  168,
1431 
1432       169,  166,   75,  167,   71,  176,  177,  183,   71,  182,
1433      2912,  152,  181,  178,  294, 2912,   71,  190,  188, 1147,
1434        71,   71,  165, 2912,  175,   71,  168,  169,  166,   76,
1435       167,   71,  176,  177,  183,   71,  182,  191,  184,  181,
1436       178,  185,  189,  193,  190,  198,   71,  194,  196,   71,
1437        71,  202,  201,  197,  186,  187,   71,  192,   71,   71,
1438       199, 2912,   71,  195,  191,  184,   71,   71,  185,  189,
1439       193,   71,  198,  206,  194,  196,  211,  203,  202,  201,
1440       197,  186,  187,   71,  192,  204,  205,  199,  207,  208,
1441       195,   71,   71,  209,  210,   71,   71,   71,  212,  213,
1442 
1443       206,   71,   71,  211,  203,   71,  216, 2912,  214,  217,
1444       221,   71,  204,  205,  215,  207,  208,   71,   71,  218,
1445       209,  210,   71,  223,   71,  212,  213,  224,  228, 2912,
1446       219,  227, 2912,  216,  220,  214,  217,  221,   71,   71,
1447        71,  215,  236,   71,  225,  230,  218,  226,  229,  231,
1448       223,   71,  235,   71,  224,  228,   71,  219,  227,  232,
1449        71,  220,  237,  239,   71,  240, 2912,   71,  233,  236,
1450       280,  225,  230,  238,  226,  229,  231,   71,   71,  235,
1451       234, 2912,   71,   71,   71,   71,  232,  241,  242,  237,
1452       239,  144,  240,  144,  144,  233,  144,  280,  243,  149,
1453 
1454       238,  149,  149,   75,  149,   75,   75,  234,   75,  245,
1455        71,  150,  244,  246,  241,  242,  247,  249,   71,  250,
1456       251, 2912,  252,  248,  254,   71,  253,  255,   71,  340,
1457        71,   71, 2912,   71,   71,   71,  245,  259,   71,  244,
1458       246,  152,  260,  247,  249,   71,  250,  251,   71,  252,
1459       248,  254,  256,  253,  255,  258,   71,   71,  257,   71,
1460       270,  274,  262,  276,  259,  271,  263,  272,   71,  260,
1461       275, 2912,  284,   71,  273,  278,   71,   71,  279, 2912,
1462       430,   71,  258,  264,   71,  257,   71,  270,  274,   71,
1463        71,  277,  271,  263,  272,   71,   71,  275,   71,  284,
1464 
1465        71,  273,  278,  281,  285,  279,  293,   71, 2912,  282,
1466       264,  265,  283,  286, 2912,   71,  266,   71,  277,  291,
1467      2912,  267, 2912, 2912,   71,  298,   71,  268,  269, 2912,
1468       281,  285,  287,  293,   71,   71,  282,  288,  265,  283,
1469       286,   71,  295,  266,  305,  292,  291,  300,  267,  289,
1470       296,  290,   71,  299,  268,  269,  303,   71,   71,  287,
1471        71,  297,   71,  301,  288,  304,   71,  306,   71,  295,
1472       307,  305,  292,  308,  311, 2912,  289,  302,  290,   71,
1473       299,   71,   71,  303,  309,  310,  312,  313,  297,  314,
1474      2912,  315,   71,   71, 2912,   71,  545,   71,   71,   71,
1475 
1476       308,  311,   71,  316,  302,   71,   71,   71,   71,  317,
1477       318,  309,  310,  312,  313,  319,  314,  320,  315,  321,
1478       322,  325,   71,   71,   71,   71,   71,   71,  323,   71,
1479       316,  326,  327,  324,  328,  330,  317,  318,   71,  333,
1480        71,   71,  319,  329,  320,  332,  321,  322,  331,  334,
1481        71,   71,  336,   71,  341,  323,  335,   71,  326,  327,
1482       324,  337,  330,  339,   71,   71,   71,  338,  343, 2912,
1483       329,   71,  332,   71,  344,  331,   71,  342,  346,  350,
1484        71,   71,   71,  335,   71,  347,   71,  348,  337,   71,
1485       339,  345, 2912,  354,  338,  349,  355,  352,   71,   71,
1486 
1487        71,  344,  150,   71,  342,  346,  350,   71,  351,  353,
1488       356,  357,  347,   71,  348,   71,  358,  359,  345,   71,
1489       365, 2912,  349,  363,  352,   71,  360,  366,   71,   71,
1490       362,  361,   71,   71,  367,  351,  353,  356,  357,   71,
1491        71,  368,   71,   71,  359,  364,  370,   71,   71,  371,
1492       363,   71,   71,  360,  366,   71,  372,  362,  361,   71,
1493       373,  367,  374,  376,  375,  378,  377,   71,  368,  380,
1494      2912,   71,  364,  370,   71,   71,  371,  381,  382,  379,
1495       387,  385,   71,  372,   71, 2912,   71,  373,   71,  374,
1496       376,  375,   71,  377,  383, 2912,  386,   71,  388, 2912,
1497 
1498       389,   71,   71,  392,  381,   71,  379,   71,  385,   71,
1499        71,  384,   71,  390,  391,  393,  402,   71,   71,   71,
1500       395,  383,  394,  386,  396,  388,  397,  389,   71,   71,
1501       392,   71,  403,   71, 2912,  398,  413,  399,  384,   71,
1502       390,  391,  393,   71,   71,  401,  412,  395,   71,  394,
1503       404,  396,   71,  397,  400,   71,   71,  411,   71,  403,
1504        71,   71,  398,  413,  399,   71,  422,  439,  419, 2912,
1505       417,  423,  401,  412,  418,   71, 1267,  404,  414,  424,
1506       415,  400,  405,   71,  411,  406,  420,  421,   71, 2912,
1507       407,  408,  409,  410,   71,  419,  416,  417,   71,   71,
1508 
1509        71,  418,   71,   71,   71,  414,  424,  415,  428,  405,
1510       427,   71,  406,  420,  421,  429,  431,  407,  408,  409,
1511       410,  425,   71,  416,  426,  434,   71,  432,  433,  435,
1512       442,   71,  437,   71,  438,  428,  441,  427,   71,   71,
1513        71,  436,  429,  431,   71,  443,   71,   71,  425,   71,
1514       440,  426,  434,   71,  432,  433,  435,   71,   71,  437,
1515       444,  438,   71,  441,  454,  448,  445,   71,  436,  455,
1516       449,  446,  443,  447, 2912, 2912, 2912,  440,   71, 2912,
1517       456,  453,   71,  450, 2912, 2912,  451,  444,  452, 2912,
1518        71,  454,  448,  445,   71,   71,  467,  449,  446,   71,
1519 
1520       447,   71,   71,   71,  471,  468,  457,  456,  453,  469,
1521       450,   71,  458,  451,  470,  452,  459,   71,  472,  483,
1522       494,   71,  474,  467,  460, 2912,   71,   71,  482,  486,
1523        71,  471,  468,  457,  473,   71,  469,   71,  487,  458,
1524        71,  470,   71,  459,  150,  472,  483,  494,  484,  474,
1525        71,  460,  461,  485,  462,  482,  486,  489,  488,  490,
1526       491,  473,  495,  492,  496,  487,   71,  463,   71,   71,
1527       464, 2912,  465,  497,  466,   71, 1022,   71,   71,  461,
1528        71,  462,  493,   71,  489,  488,  490,  491, 2912,  495,
1529       504,  499, 2912,  501,  463,   71,   71,  464,   71,  465,
1530 
1531       497,  466,  475,  476,  498,   71,  500,   71,   71,  493,
1532       502,  503,  477,   71,  478,  479,  480,  506,  499,  481,
1533       501,  505,   71,   71,   71,  507,  509,   71,  512,  475,
1534       476,  498,   71,  500,  511, 2912,  508,  502,  503,  477,
1535        71,  478,  479,  480,  506,   71,  481,   71,  505,   71,
1536        71,  510,  507,   71,  516,  512,  513,  514,   71,  515,
1537       517,  511,  518,  508,  526,   71,   71,  521, 2912,  522,
1538       519,   71,  524, 2912,  525,   71,   71, 2912,  510, 2912,
1539       534,  516,   71, 2912,  523,   71,  515,  517,  520,  518,
1540        71,  526,   71,  527,  521,   71,  522,  519,   71,  524,
1541 
1542       528,  525,   71,  529,   71,  533,  530,  534,  535,   71,
1543       536,  523,  538,  537,  541,  520,   71,  531,   71,  532,
1544       527,  539, 2912,   71,   71,  543,  540,  528,   71,  544,
1545       529,   71,  533,  530,  549,  535,   71,  536,  546,  538,
1546       542,  541,   71,   71,  531,   71,  532,   71,  539,   71,
1547       547,   71,  543,  540,  548,  550,  544,  551, 2912,  557,
1548        71,  553,  552,  554,   71,  546,   71,  542,   71,   71,
1549      2912,  555,  561, 2912,   71,  564, 2912,  547,   71,  556,
1550        71,  548,  550,   71,  551,   71,  557,  558,  553,  552,
1551       554,  559,  560,  562,   71,  563,   71,   71,  555,  561,
1552 
1553        71,   71,  564,  565,  568,  566,  556,   71,  567,   71,
1554        71,   71,  569,  574,  558,  570,   71,  571,  559,  560,
1555       562,   71,  563,  572,  578,   71,  573,  579,   71,  581,
1556       565,  568,  566,   71,   71,  567,   71,   71,   71,  569,
1557       574,   71,  570,  575,  571,  576,  580,  577,  586,  582,
1558       572,  578,   71,  573,   71,  583,  591,  588,  587,   71,
1559       584,   71, 2912,  585,   71,   71,  589, 2912,   71,   71,
1560       575,   71,  576,  580,  577,  592,  582,  595, 2912,   71,
1561        71,   71,  583,  591,  588,  587,  593,  584,  594,  590,
1562       585,   71,  596,  597,   71,  598,  599,   71,   71,  610,
1563 
1564        71,  600,  592,  613,  595,   71,   71,   71,  612,   71,
1565       601,   71,  654,  593,   71,  594,  590,   71, 2912,  596,
1566       597,  611,  598,  599,   71,  614,  610,  615,  600, 2912,
1567       613,   71, 2912,   71,  618,  612,   71,  601,  602,   71,
1568       616,  621, 2912,  603,  617,  604,   71,  619,  611,  620,
1569        71,  605,  614,  606,  615,  624,  607,  608, 2912,   71,
1570        71,  618,   71,  609,   71,  602,   71,  616,  621,   71,
1571       603,  617,  604,  625,  619,  622,  620,  626,  605,  627,
1572       606,   71,  624,  607,  608,  623,   71,  628,  632,  629,
1573       609,   71,  630,  631,  634, 2912,  633,   71, 2912,  639,
1574 
1575       625,  643,   71,   71,  626,   71,  627,   71,   71,  636,
1576       637,   71,  623,   71,  628,  632,  629,  635,   71,  630,
1577       631,  634,   71,  633,  638,  640,  639,  641,   71,  645,
1578       642,   71,   71,   71,  644,  646,  636,  637,  648,  649,
1579       650,   71,  647,   71,  635,   71,   71,  659,   71,   71,
1580        71,  638,  640,  150,  641,   71,  645,  642,  651,  652,
1581       653,  644,  646,   71,  655,  648,  649,  650,  656,  647,
1582       657,   71,   71,  658,  659, 2912,  660,  662,  661,   71,
1583       667,  673,  663,   71,   71,  651,  652,  653,   71,   71,
1584        71,   71,  668,  671,  672,  656,   71,  669,  670,   71,
1585 
1586       658,  664,   71,  660,  662,  661,   71,  667,  665,  663,
1587       674,  666,   71,   71,  675,  676,  677,  679,  678,   71,
1588        71,   71,   71,  680,   71,  670,  687,  681,  664,  682,
1589       683,   71,  684,  692, 2912,  665,   71,   71,  666,   71,
1590       685,   71,   71,  677,  679,  678,   71,   71,   71,  686,
1591       680,  688,   71,   71,  681,  689,  682,  683,   71,  684,
1592       694,  690,  691,  693,   71,   71,  699,  685,  698,   71,
1593       695,  700,   71,   71,   71,  696,  686,   71,  688,  697,
1594        71,  701,  689,   71,  705,   71, 2912,  694,  690,  691,
1595       693,  702,   71,  699,   71,  698,  703,  695,  700,  704,
1596 
1597       707,  706,  696,   71,  713, 2912,  697,  708,  701,   71,
1598       710,   71,  711,   71, 2912,   71,   71, 2912,  702,   71,
1599       712,  715,  719,  703,   71, 2912,  704,  707,  706,  709,
1600        71,  713,   71,  717,  708,  714,   71,  710,  716,  711,
1601       720,   71,   71,  718,   71,  721,  722,  712,  715,   71,
1602        71,  723,   71,   71,  726,   71,  709,   71,   71,  724,
1603       717,  725,  714,  727,  730,  716, 2912,  720,  734,   71,
1604       718,  732,  721,  722,   71,   71,  728,  729,  723,  731,
1605        71,  726,  733,  736,  737,  735,  724,   71,   71,  739,
1606       727,  730,  738,   71,  740,   71,  741,  745,  732,  742,
1607 
1608        71,   71,  751,  748,  747,   71,  731,   71,   71,  733,
1609        71,  737,  735,   71,   71,   71,  743,  744,  749,  738,
1610       746,   71,   71,  741,   71,   71,  742,  753,   71,   71,
1611       748,  747,  754,  750,   71,  752,  757,  755,   71,  756,
1612       759, 2912,   71,  743,  744,  749,  758,  746,   71,   71,
1613        71,  760,  761,  766,  753, 2912,  768,  767, 2912,  762,
1614       750,   71,  752,  757,   71,   71,  756,  759,   71,  764,
1615      2912,   71,  763,  758,   71,  765,   71,   71,  760,  761,
1616        71,   71,   71,  768,  767,   71,  762,  772,  769,  770,
1617       773,  775,  774,  776,  771,   71,  764,  777,  781,  763,
1618 
1619        71,   71,  765,   71,   71,   71,   71,   71,  780, 2912,
1620       778, 2912,   71,  787,  772,  769,  770,  773,   71,  774,
1621       776,  771,  779,   71,  777,  781,   71,  782,  786,  789,
1622        71,   71,  783,  784,  785,  780,   71,  778,   71,  788,
1623       787,   71,   71,  790,  792,  793,  791,  794, 2912,  779,
1624       796,   71,   71,  798,  782,  786,  789,   71,   71,  783,
1625       784,  785,   71,  797,   71,   71,  788,   71,  795,  799,
1626       790,  792,  793,  791,  794,   71,   71,  796,  800,  801,
1627       798,  804,  802,   71,  803,  805,  816,  807, 2912,   71,
1628       797,   71,  806,  808,  809,  795,  799, 2912,   71,   71,
1629 
1630        71,   71,   71,  810,   71,  800,  801,  812,  804,  802,
1631        71,  803,  805,   71,  807,  150,  811,  819,   71,  806,
1632       808,  809,  815,  813,  814,   71,   71,  820,   71,   71,
1633       810,  817,  821,  822,  812,   71,  826,   71,   71,  818,
1634        71,  823, 2912,  811,   71,   71,  824,  825,   71,  815,
1635       813,  814,  827,  828,  820,  831,  829,   71,  817,  821,
1636       830,   71,   71,  826,   71,   71,  818,  842,  823,   71,
1637       832,  833,   71,  824,  825,   71, 2912,  839,   71,  827,
1638        71,  840,  831,  829,  841,   71, 2912,  830,   71,   71,
1639       843,   71,  844,  847,  842, 2912,  845,  832,  833,  834,
1640 
1641      2912,   71,   71,  835,  839,  846,  836,  850,  840,   71,
1642       851,  841,  849,  837,   71,   71,  838,  843,  848,  844,
1643       847,   71,   71,  845,  863,   71,  834,   71,  859,  860,
1644       835,   71,  846,  836,  850,   71, 2912, 2912,  864,  849,
1645       837,  865,   71,  838,  861,  848,  852,  853,   71,  854,
1646        71,  863,  855,   71,  866,  859,  860,  856,  862,  870,
1647        71,   71,  868,  857,  858,   71,  867, 2912,  865,  872,
1648       869,  861,   71,  852,  853, 2912,  854,  871,   71,  855,
1649        71,  866,  875,   71,  856,  862,  870,  873,   71,  868,
1650       857,  858,   71,  867,   71,  874,  872,  869,  877,   71,
1651 
1652       876,  878,   71,   71,  871,   71,   71,   71,  879,  875,
1653       882,  880,  883,  881,  873,  884,  886,  888, 2912,  885,
1654        71,   71,  874,   71,   71,  877,   71,  876,  878,  887,
1655        71,  891,  892,  893,   71,  879,   71,  882,  880,  883,
1656       881,  894,  884,  895,   71,  889,  885,  896,   71,  897,
1657       890,   71,  899,   71,  898,  900,  887,  902,  891,  901,
1658       904,  903,  906,   71,   71,   71,   71, 2912,  894,  909,
1659        71,   71,  907,   71,  896,   71,  897,   71,   71,   71,
1660        71,  898,   71,   71,  902,  905,  901,  904,  903,   71,
1661        71,  908,  910,   71,  913,  911,  912,  914,  916,  907,
1662 
1663        71,   71,  915,  918,  917,   71,  919, 2912,  923, 2912,
1664        71,   71,  905,   71,   71,   71,   71,   71,  908,  910,
1665        71,  913,  911,  912,  914,  916,   71,  920,  921,  915,
1666       918,  917,   71,  919,  922,  923,   71,  927,  924,   71,
1667      2912,  926,  928,  930,  931,  929,  925, 2912,   71,   71,
1668       932,   71,   71,  933,  920,  921,  934,   71,   71,  937,
1669       935,  922,   71,   71,   71,  924,   71,   71,  926,  928,
1670       930,  931,  929,  925,  940,  936,  938,  932,   71,   71,
1671       933,  939,   71,  934,  942,   71,  937,  935,  943,   71,
1672       947,  941,  944,  945,  946,  948,   71,  949,  950,   71,
1673 
1674      2912, 2912,  936,  938,   71,   71,   71,   71,  939,   71,
1675       952,  942,   71,  957,   71,  943,   71,  947,  941,  944,
1676       945,  946,   71,  951,  949,  950,  953,  954,  955,   71,
1677        71,  956,   71,   71,  958,  959,   71,  952,   71,  960,
1678       961,  962,  963,  964,  965,   71,   71,   71,  969,  970,
1679       951,   71,  966,  953,  954,  955,  967,  968,  956,   71,
1680       974,  958,  971,   71,  976,   71,  960,   71,  972,  963,
1681       964,  965,   71,   71,   71,  969,  973,   71,   71,  966,
1682       975,   71,  978,  967,  968,  977,   71,   71,  979,  971,
1683        71,   71,   71,  980,   71,  972,  981, 2912,  982,  985,
1684 
1685       986,  983, 2912,  973,   71,   71,   71,  975,   71,  978,
1686       984,  987,  977, 1000,   71,  150,  988,   71,  997,   71,
1687       980,   71,  999,  981,   71,  982,  985,  986,  983,   71,
1688       990,  998,  989, 2912,   71, 2912,   71,  984,  987,   71,
1689        71, 2912, 1002,  988,   71,  997, 2912, 2912, 1001,  999,
1690        71, 1007, 1003, 2912,   71, 1005, 1008,  990,  998,  989,
1691       991, 1004,  992, 1006,   71,   71,  993, 1009,  994, 1002,
1692      1019, 1020, 2912,  995,   71, 1001,   71,   71,  996, 1003,
1693        71, 1010, 1005,   71,   71, 1011, 2912,  991, 1004,  992,
1694      1006, 1012, 1014,  993, 1009,  994, 1015,   71, 1017, 1018,
1695 
1696       995, 1013,   71,   71,   71,  996, 1021, 1023, 1010,   71,
1697      1016,   71, 1011,   71,   71, 1026,   71, 1024, 1012, 1014,
1698        71, 1025,   71, 1015,   71, 1017, 1018, 2912, 1013,   71,
1699      1034, 1035, 2912,   71, 1036, 2912, 1037, 1016, 1038,   71,
1700      2912, 2912, 1026, 2912, 1024,   71, 1041,   71, 1025, 1027,
1701      1039,   71, 1040,   71, 1028, 1044, 1029, 1034, 1035,   71,
1702      1047, 1036, 1030, 1037,   71, 1038, 1046, 1031, 1032, 1045,
1703      1042,   71,   71, 1041, 1033,   71, 1027, 1039,   71, 1040,
1704      1043, 1028,   71, 1029,   71, 1048, 1049, 1047,   71, 1030,
1705      1050, 1053,   71,   71, 1031, 1032, 1045, 1042,   71, 1051,
1706 
1707        71, 1033, 1052, 1055, 1056, 1054, 1057, 1043, 1058,   71,
1708        71, 2912, 1048, 1049,   71, 1059,   71, 2912, 1053, 1066,
1709      1060,   71,   71,   71,   71, 1061, 1051,   71, 1063, 1052,
1710      1055, 1064, 1054, 1057, 1062, 1058,   71,   71,   71, 1065,
1711        71,   71, 1059,   71, 1067, 1068, 1066, 1060, 1069,   71,
1712      1081, 1070, 1061, 1071,   71, 1063, 1073,   71, 1064,   71,
1713        71, 1062, 1072, 1074,   71, 1076, 1065, 1075, 2912,   71,
1714        71, 1067,   71, 1077, 1078, 1069, 1080,   71, 1070,   71,
1715      1071, 1079,   71, 1073, 1082, 1088, 1083,   71, 1084, 1072,
1716      1074, 2912, 1076, 1085, 1075,   71,   71,   71,   71,   71,
1717 
1718      1077, 1078,   71, 1080, 1086, 1089, 1091, 1087, 1079,   71,
1719      1090, 1082, 1088, 1083, 1092,   71, 1094,   71,   71, 1095,
1720        71, 1096, 2912, 1093, 2912, 1097,   71, 2912,   71, 1099,
1721        71, 1086, 1089, 1091, 1087,   71, 1098, 1090, 1100, 1102,
1722      1103, 1092,   71, 1101, 1104, 1108, 1095, 1105,   71,   71,
1723      1093,   71, 1097,   71,   71, 1107, 1099, 1109, 1106,   71,
1724        71,   71,   71, 1098, 1111, 1100, 1102, 1103,   71,   71,
1725      1101, 1104, 1110,   71, 1105, 2912,   71,   71, 1112, 2912,
1726      1113, 1115, 1107, 1114,   71, 1106, 1116, 1117, 1119,   71,
1727        71, 1111,   71,   71, 1120, 1118, 1121, 1122, 2912, 1110,
1728 
1729      1124, 1127,   71, 1123, 1129, 1112,   71, 1113, 1115,   71,
1730      1114,   71, 1125, 1116, 1117, 1128, 1133, 1130,   71,   71,
1731        71,   71, 1118, 1121, 1122,   71,   71, 1126, 1131, 1132,
1732      1123,   71,   71,   71,   71,   71, 1134,   71,   71, 1125,
1733        71, 1135, 1128, 1133, 1130, 1138,   71, 1137, 1139, 1136,
1734      1140, 1142, 1141,   71, 1126, 1131, 1132,   71,   71, 1143,
1735        71, 1144,   71, 1134,   71, 1153, 1146, 1149, 1135,   71,
1736      1145, 2912, 1138,   71, 1137, 1148, 1136, 1159, 1142, 1141,
1737        71,   71,   71,   71,   71,   71,   71, 1150, 1144, 1151,
1738      1152,   71,   71, 1146, 1149,   71, 1154, 1145,   71, 1155,
1739 
1740      1156, 1158, 1148, 1157,   71, 1160, 1161, 1162, 2912,   71,
1741      2912,   71,   71, 1163, 1150,   71, 1151, 1152, 1164,   71,
1742      1165, 1166, 1168, 1154, 1167,   71, 1155, 1156, 1158, 1169,
1743      1157, 1174, 1160, 1171,   71,   71, 2912,   71,   71,   71,
1744      1163,   71,   71,   71,   71, 1164, 1170, 1165, 1166, 1168,
1745      1172, 1167, 1175,   71,   71, 1173, 1169, 1176,   71, 1177,
1746      1171, 1179,   71,   71, 1178,   71,   71, 1180,   71, 1184,
1747      1185,   71, 2912, 1170, 1187, 1188, 1181, 1172, 1182, 1175,
1748      1186, 1183, 1173, 2912, 1176,   71, 1177,   71, 1179,   71,
1749      1191, 1178,   71, 1190, 1180,   71, 1184, 1185, 1192,   71,
1750 
1751        71, 1187, 1188, 1181, 1189, 1182,   71, 1186, 1183, 1196,
1752      1193,   71,   71,   71, 1194, 1195, 1197, 1191, 1198, 1199,
1753      1190, 1202, 1200,   71, 1201, 1192,   71, 1205, 2912, 2912,
1754        71, 1189,   71, 2912, 2912,   71,   71, 1193,   71,   71,
1755        71, 1194, 1195, 1197,   71, 1198, 1199,   71, 1202, 1200,
1756      1203, 1201, 1204, 1206, 1205, 1207, 1208, 1209, 1210, 1211,
1757      1212, 1214,   71, 1218,   71,   71,   71,   71,   71,   71,
1758      1213, 1215,   71,   71, 1216, 1217,   71, 1203,   71, 1204,
1759      1206,   71, 1207, 1208, 1209, 1210, 1211, 1212, 1214, 1220,
1760      1219,   71, 1221,   71, 1223,   71, 1222, 1213, 1215,   71,
1761 
1762      1224, 1216, 1217,   71, 1226, 1225, 2912, 1227,   71,   71,
1763      1228, 1236,   71, 1229, 1238, 1237, 1220, 1219,   71, 1221,
1764        71, 1223, 1242, 1222,   71,   71, 1239, 2912, 2912, 1240,
1765      1241, 1226,   71,   71, 1227, 1245, 2912, 1228, 1236,   71,
1766      1229, 1230, 1237, 1243, 1231, 1232,   71, 1244,   71, 1233,
1767      2912,   71,   71, 1239,   71, 1234, 1240, 1241, 1246, 1235,
1768      1250,   71, 1245,   71,   71,   71, 1247,   71, 1230,   71,
1769      1243, 1231, 1232, 1248, 1244, 1249, 1233, 1252, 1255, 1251,
1770      1256, 1254, 1234, 1253, 1257, 1246, 1235, 1250,   71,   71,
1771        71,   71,   71, 1247, 1258,   71, 1259,   71, 1260, 2912,
1772 
1773      1248, 1268, 1249,   71, 1252, 1255, 1251, 1256, 1254, 2912,
1774      1253, 2912, 2912, 1266, 1269, 1271,   71,   71,   71, 1270,
1775      2912,   71, 1276, 1259,   71, 1260,   71, 1261, 1268, 1272,
1776      1273,   71, 1262, 2912, 1263, 1274, 1264,   71, 1265,   71,
1777      1266, 1269, 1271, 1275,   71,   71, 1270,   71,   71, 1276,
1778      1278, 1277, 1279, 1281, 1261, 2912, 1272, 2912, 1280, 1262,
1779        71, 1263,   71, 1264,   71, 1265,   71, 1283,   71, 1282,
1780      1275, 1284,   71, 1285, 1286, 1288, 1289, 1278, 1277, 1279,
1781      1281, 1290,   71,   71,   71, 1280, 1287, 1291,   71,   71,
1782      1292,   71, 1293,   71, 1283, 1297, 1282,   71, 1284, 1294,
1783 
1784      1285, 1286, 1288,   71, 1295, 1296, 1299, 1301, 1290, 1300,
1785      1325, 1298,   71, 1287,   71,   71,   71, 1292,   71, 1293,
1786      1304,   71,   71,   71, 1302, 1306, 1294, 1309, 1308,   71,
1787        71, 1295, 1296,   71, 1301,   71, 1300, 1303, 1298, 1305,
1788      1310, 1307,   71,   71, 1311,   71,   71,   71,   71,   71,
1789        71, 1302, 1306,   71, 1309, 1308, 1312, 1313, 1316, 1314,
1790      1315, 2912, 1319, 2912, 1303,   71, 1305, 1310, 1307,   71,
1791      1317, 1311, 1318, 1320, 1326, 1328, 1323,   71, 1336, 2912,
1792        71,   71,   71, 1312, 1313, 1316, 1314, 1315,   71, 1319,
1793      1322, 1324,   71, 1321,   71,   71,   71, 1317, 1329, 1318,
1794 
1795      1320, 1327,   71, 1323, 1330,   71,   71,   71, 1331, 1332,
1796        71,   71,   71, 1337, 1333, 1334,   71, 1322, 1324, 1338,
1797      1321,   71,   71,   71,   71, 1329, 1335, 1339, 1327, 1345,
1798        71, 1330, 2912, 1343, 1344, 1331,   71, 1340,   71, 1346,
1799        71, 1333, 1334, 1341, 1342,   71, 1338,   71,   71, 1349,
1800        71,   71, 1348, 1335,   71, 1347, 1345, 1351,   71,   71,
1801      1343, 1344,   71, 1350, 1340,   71, 1346, 1353, 1352, 1354,
1802      1341, 1342,   71, 1355, 1357, 1358, 1349,   71, 1356, 1348,
1803      1359, 1369, 1347,   71,   71,   71, 1361, 1360, 1368,   71,
1804      1350, 1366, 2912,   71, 1353, 1352, 1354, 1367,   71,   71,
1805 
1806        71, 1357, 1358, 1362,   71,   71, 1363, 1359, 1369, 1364,
1807        71, 1370, 1365, 1361, 1360,   71,   71, 1371, 1366, 1373,
1808        71, 1372,   71, 1374, 1367,   71, 1375,   71,   71, 1376,
1809      1362,   71, 1381, 1363, 1377,   71, 1364, 1382, 1370, 1365,
1810      1379,   71, 1378, 1380, 1371,   71, 1373, 1385, 1372,   71,
1811      1374,   71,   71, 1375, 1383,   71, 1376, 1384,   71, 1381,
1812        71, 1377, 1386,   71, 1382,   71, 1387, 1379, 1389, 1378,
1813      1380, 1390, 1388, 2912,   71, 1392, 1393,   71, 1391,   71,
1814        71, 1383, 1394,   71, 1384,   71,   71, 1397, 1396, 1386,
1815      1399, 1395, 1402, 1387, 1403, 1389,   71,   71, 1390, 1388,
1816 
1817        71, 1401, 1392, 1393,   71, 1391,   71, 1398, 1406, 1394,
1818      1400,   71, 1404,   71, 1397, 1396,   71, 1399, 1395,   71,
1819      1405, 1407, 1408,   71,   71, 1412,   71, 1409, 1401, 1410,
1820      2912, 1411, 1432, 1413, 1398,   71,   71, 1400,   71, 1404,
1821        71, 1416,   71,   71,   71,   71,   71, 1405, 1407, 1408,
1822      1414, 1415, 1412, 1417, 1409, 1424, 1410,   71, 1411,   71,
1823      1413, 1418, 1419,   71,   71, 1423,   71, 1420, 1416,   71,
1824        71, 1421,   71, 1427, 1428, 1425, 1422, 1414, 1415, 1426,
1825      1417,   71, 1424,   71, 2912, 1429, 1431,   71, 1418, 1433,
1826      1430,   71, 1423,   71,   71,   71,   71,   71, 1434,   71,
1827 
1828      1427, 1428, 1425,   71, 1435, 1437, 1426, 1436, 1438, 2912,
1829      1439,   71, 1429, 1431, 1440,   71, 1433, 1430,   71, 1441,
1830      1442, 1445,   71, 1446, 1444, 1434,   71,   71,   71, 1443,
1831        71, 1447, 1437,   71, 1436, 1449,   71, 1439, 1448, 1450,
1832        71, 1440,   71, 1452, 1451, 1453, 1441, 1442, 1445,   71,
1833      1446, 1444, 1458,   71, 1454,   71, 1443,   71, 1447, 2912,
1834      1455,   71,   71,   71, 1456, 1448, 1450,   71,   71, 1462,
1835      1452, 1451, 1453, 1460,   71, 1461, 1459, 1457, 2912, 1458,
1836        71, 1454, 1470, 1463, 1464,   71,   71, 1455,   71, 1465,
1837      1466, 1456, 1467, 1471, 1469, 1476,   71, 1475, 1468,   71,
1838 
1839      1460,   71, 1461, 1459, 1457,   71,   71,   71, 1474, 1472,
1840      1463, 1464,   71,   71,   71, 1478, 1465, 1466,   71, 1467,
1841        71, 1469, 1473,   71, 1475, 1468, 1477,   71,   71, 1480,
1842        71, 1479, 1481,   71, 1482, 1474, 1472, 1484, 1483, 1485,
1843      2912, 1486,   71,   71,   71,   71, 1488, 1490, 1487, 1473,
1844      1492, 2912,   71, 1477, 2912,   71,   71,   71, 1479, 1481,
1845        71, 1482,   71, 1489, 1484, 1483, 1485,   71, 1486,   71,
1846      1491,   71, 1493, 1488, 1490, 1487,   71, 1492, 1495, 1494,
1847        71,   71, 1496,   71, 1498, 1497, 1501, 1506, 1499, 1500,
1848      1489,   71, 1504,   71, 1502, 1503, 2912, 1491,   71, 1493,
1849 
1850      1507,   71,   71,   71, 1509, 1495, 1494, 1510,   71, 1496,
1851        71, 1498, 1497,   71, 1506, 1499, 1500,   71,   71, 1504,
1852      1505, 1502, 1503,   71, 1508,   71,   71, 1507, 1511, 1512,
1853      1518, 1509,   71, 1515,   71, 1513, 1514,   71, 1516, 2912,
1854        71, 1517,   71,   71, 2912, 2912,   71, 1505, 1522, 2912,
1855      1525, 1508,   71, 1521, 1519, 1511, 1512, 1518, 1524, 1520,
1856      1515,   71, 1513, 1514, 1530, 1516,   71,   71, 1517, 1523,
1857        71,   71,   71, 1526, 1528, 1522,   71, 1525, 2912, 2912,
1858      1521, 1519, 1527,   71, 1529, 1524, 1520, 1531, 1533,   71,
1859      1534,   71, 1532,   71, 1535,   71, 1523,   71, 1536, 1537,
1860 
1861      1547, 2912, 2912, 2912, 1540,   71,   71, 1538, 1542, 1527,
1862        71, 1529,   71,   71, 1531, 1533,   71, 1534, 1539, 1532,
1863        71, 1535, 1541,   71,   71, 1536, 1537, 1552,   71, 1543,
1864        71, 1540,   71, 1548, 1538, 1542,   71, 1544, 1553, 1549,
1865      1545, 1550, 1551, 1557,   71, 1539, 2912, 1555,   71, 1541,
1866      1554,   71, 1546, 2912, 1552,   71, 1543,   71, 1556, 1558,
1867      1548,   71, 1559,   71, 1544, 1564, 1549, 1545, 1550, 1551,
1868        71, 1560,   71,   71, 1555,   71,   71, 1554, 1563, 1546,
1869        71,   71, 1561, 1565,   71, 1556, 1558, 1562, 1567, 1559,
1870        71, 1566, 1568, 2912,   71, 1569,   71,   71, 1560, 1570,
1871 
1872      1573, 1571,   71, 1572, 1574, 1563, 2912,   71, 1575, 1561,
1873      1577,   71,   71,   71, 1562,   71, 1576,   71, 1566, 1568,
1874        71,   71, 1569,   71, 1578,   71,   71, 1573, 1571,   71,
1875      1572, 1574, 1579, 1580, 1581, 1575, 1582, 1577,   71, 1583,
1876        71,   71, 1584, 1576, 1588,   71, 1585, 1593, 1586,   71,
1877      1587, 1578, 1589,   71, 1590, 2912,   71,   71, 1591,   71,
1878      1580, 1581, 1592, 1582,   71,   71, 1583,   71, 1594,   71,
1879        71, 1588, 2912, 1585, 1593, 1586,   71, 1587, 1601, 1589,
1880        71, 1590, 1597, 1595, 1602, 1591, 1596, 1598,   71, 1592,
1881      1603, 1604, 1599,   71, 1600, 1594,   71, 1619, 1605,   71,
1882 
1883      1606,   71,   71, 1607, 1609, 1601,   71,   71, 1608, 1597,
1884      1595,   71,   71, 1596, 1598, 1610, 1611,   71, 1604, 1599,
1885      1612, 1600,   71, 1613,   71, 1605, 1614, 1606,   71,   71,
1886        71, 1609, 1615, 1616,   71, 1608, 1617,   71,   71, 1618,
1887        71, 1620, 1610, 1611,   71, 1621, 1623, 1612, 1622, 1626,
1888      1613,   71,   71, 1614, 1624,   71, 1628,   71, 1625, 1615,
1889      1616, 1629,   71, 1617,   71,   71, 1618,   71,   71,   71,
1890      1633, 1630, 1621, 1623, 1631, 1622, 1626, 1627, 1632,   71,
1891      1637, 1624,   71, 1628, 1634, 1625, 1639,   71, 1629,   71,
1892      1635, 1643,   71, 1636, 1640,   71,   71, 1633, 1630, 1641,
1893 
1894        71, 1631, 1642, 1638, 1627, 1632, 1645, 1637,   71,   71,
1895      1644, 1634, 1646, 1639, 1647,   71, 1648, 1635, 1649,   71,
1896      1636, 1652, 1651,   71, 1650, 1656,   71, 1657, 1653, 1642,
1897      1638,   71, 1654,   71, 2912,   71,   71, 1644, 1655,   71,
1898      1668, 1647,   71, 1660,   71, 1649,   71, 1662,   71, 1651,
1899      1658, 1650, 1659,   71, 1657, 1653,   71,   71,   71, 1654,
1900        71,   71,   71, 1661, 1663, 1655, 1666, 1664, 1669, 1665,
1901      1660, 1670,   71, 1675, 1662, 1672, 1671, 1658,   71, 1659,
1902        71,   71,   71,   71,   71,   71, 1678, 1667, 1679, 1673,
1903      1661, 1663, 1674,   71, 1664,   71, 1665,   71, 1670, 1676,
1904 
1905        71, 1677, 1672, 1671,   71,   71,   71, 1681, 2912, 1682,
1906      1680, 1683,   71, 1678, 1667,   71, 1673,   71, 1684, 1674,
1907      1686, 1685, 1688, 1687,   71, 2912, 1676, 1690, 1677, 1692,
1908        71,   71, 1699,   71, 1681,   71, 1682, 1680, 1683,   71,
1909        71, 1694,   71, 1689, 1691, 1684, 1693, 1686, 1685,   71,
1910      1687,   71,   71, 1702, 1690, 1697,   71, 1695, 1698,   71,
1911      1696,   71, 1700,   71,   71,   71, 1703, 1701, 1694, 1705,
1912      1689, 1691,   71, 1693,   71,   71,   71,   71, 1704, 1706,
1913      1702, 1707, 1697, 1708, 1695, 1698, 1709, 1696, 2912, 1700,
1914      1712, 1711, 1710,   71, 1701, 1714,   71, 1713, 2912,   71,
1915 
1916        71,   71,   71, 1715,   71, 1704, 1706,   71, 1707, 1717,
1917      1718, 1716,   71,   71,   71,   71,   71, 1712, 1711, 1710,
1918        71, 1720, 1714, 1721, 1713, 1719, 1722, 1724,   71, 1725,
1919      1715,   71, 1726,   71,   71, 1727, 1717, 1718, 1716, 1723,
1920        71,   71, 1735, 1728,   71,   71, 1730, 1729, 1720,   71,
1921      1721, 1731, 1719, 1722, 1724,   71, 1725,   71,   71,   71,
1922      1732, 1736, 1733, 1737, 1734, 1738, 1723,   71,   71, 1735,
1923      1728, 1739,   71, 1730, 1729,   71, 1740, 1741, 1731, 1743,
1924      1742, 1745, 1744,   71, 1746,   71,   71, 1732,   71, 1733,
1925        71, 1734, 1738, 1747, 1749, 1750, 1751,   71,   71, 1754,
1926 
1927      1752, 1748,   71, 1740, 1741,   71,   71, 1742,   71, 1744,
1928        71, 1746, 1753,   71, 1755, 1756, 1757, 1759, 1761, 2912,
1929        71, 1758, 1750, 1751,   71,   71,   71,   71, 1748,   71,
1930      1760,   71, 1765, 1762, 1769, 1768, 1766,   71,   71, 1753,
1931        71, 1755, 1756, 1757, 1759,   71, 1763,   71, 1758, 1767,
1932        71, 1764, 1770, 1773, 1774,   71, 1775, 1760, 1778, 1765,
1933      1762,   71, 1768, 1766, 1771,   71,   71, 1772, 1776, 1777,
1934        71,   71, 1779,   71,   71,   71, 1767, 1781,   71, 1770,
1935        71, 1774,   71, 1775,   71, 1778, 1780, 1782, 1783,   71,
1936      1784, 1771, 1785,   71, 1772, 1776, 1777, 1786,   71,   71,
1937 
1938      1787, 1788, 2912, 1790,   71, 1793,   71,   71,   71, 1789,
1939      1792,   71, 1797, 1780, 1782, 1783, 1791, 1784, 1796, 1785,
1940      1800,   71, 1795,   71, 1794,   71, 1799,   71, 1788,   71,
1941      1790,   71, 1793,   71,   71, 1798, 1789, 1792, 1801, 1802,
1942        71, 1803,   71, 1791,   71, 1796,   71, 1804, 1805, 1795,
1943      1806, 1794,   71, 1799, 1807,   71, 1808, 1812,   71, 1810,
1944        71, 1811, 1798,   71, 1809,   71,   71, 1814, 1803,   71,
1945        71, 1813, 2912,   71, 1804, 1805, 1815, 1806,   71,   71,
1946        71, 1807, 1821, 1808, 1819, 1818, 1810,   71, 1811,   71,
1947      1817, 1809, 1816,   71, 1814, 1822,   71,   71, 1813,   71,
1948 
1949      1820, 1824, 1823, 1815, 1828,   71, 1831, 1825,   71, 1821,
1950      1826, 1819, 1818, 1832,   71, 1827,   71, 1817, 1829, 1816,
1951        71, 1835, 1822, 1830,   71, 1833,   71, 1820,   71, 1823,
1952        71,   71,   71, 1831, 1825,   71,   71, 1826, 1837, 1834,
1953      1832, 1838, 1827, 1836, 1840, 1829,   71, 1839, 1845, 1846,
1954      1830, 1841, 1833,   71, 1847,   71, 1842, 1844, 1849, 1848,
1955        71, 1843, 1850, 1854,   71, 1837, 1834,   71,   71,   71,
1956      1836, 1840,   71,   71, 1839,   71,   71, 1852, 1841, 1851,
1957        71, 1853, 1855, 1842, 1844, 1857,   71, 1856, 1843, 1858,
1958        71,   71, 1859, 1860,   71,   71,   71,   71,   71,   71,
1959 
1960        71, 1861, 1862, 1863, 1852, 1864, 1851, 1866, 1853, 1855,
1961        71, 1868, 1857,   71, 1856, 1865, 1858,   71,   71, 1867,
1962      1860, 1869, 1871, 1872,   71, 1873, 1883, 2912, 1870, 1862,
1963      1863,   71, 1864,   71, 1866,   71, 1874,   71,   71, 1876,
1964      1875, 1877, 1865, 1879,   71,   71, 1867,   71,   71, 1878,
1965      1872, 1882, 1873,   71,   71, 1870, 1880,   71,   71, 1881,
1966      1885,   71, 1884, 1874,   71,   71, 1876, 1875, 1877,   71,
1967      1879,   71, 1886,   71,   71, 1887, 1878, 1888, 1882, 1889,
1968        71, 1890,   71, 1880,   71, 1891, 1881, 1885, 1892, 1884,
1969        71, 1893, 1894,   71,   71, 1900, 1895,   71, 1898, 1886,
1970 
1971      2912, 1899,   71, 1896, 1888, 1902, 1889,   71, 1890,   71,
1972      1906,   71, 1891,   71, 1897, 1892, 1901, 1904, 1893,   71,
1973        71,   71, 1900, 1895,   71, 1898, 1905, 1903, 1899,   71,
1974      1896, 1907, 1902,   71,   71, 1908, 1909,   71, 1910,   71,
1975        71, 1897, 1912, 1901, 1904, 1914,   71,   71, 1911, 1913,
1976        71, 1916, 1915, 1905, 1903,   71, 2912, 2912, 1907,   71,
1977      1918,   71, 1908, 1909, 1917, 1910, 1919, 2912, 1920, 2912,
1978      1921,   71, 1914,   71,   71, 1911, 1913,   71,   71, 1915,
1979        71, 1923, 1932,   71, 1922, 1924, 1925, 1918,   71, 1928,
1980        71, 1917, 1927, 1919,   71, 1920,   71, 1921, 1926,   71,
1981 
1982        71,   71, 1929, 1931,   71, 1936, 1933, 1930, 1923,   71,
1983        71, 1922, 1924, 1925,   71,   71, 1928, 1934,   71, 1927,
1984      1938, 1935, 1940, 1942,   71, 1926, 1939,   71, 1937, 1929,
1985      1931,   71, 1936, 1933, 1930,   71, 1941, 1944, 1943, 1945,
1986      2912, 1951,   71,   71, 1934,   71,   71, 1938, 1935, 1940,
1987      1942,   71, 1946, 1939, 1948, 1937,   71,   71,   71, 1947,
1988      1949, 1950,   71, 1941, 1944, 1943, 1945,   71,   71, 1952,
1989        71, 1953, 1954, 1955,   71, 2912, 1958, 2912, 1959, 1946,
1990      1956, 1948, 1957,   71,   71,   71, 1947, 1949, 1950, 1960,
1991      1961,   71, 1964,   71, 1962,   71, 1952,   71, 1953, 1954,
1992 
1993      1955, 1965,   71, 1958,   71,   71, 1963, 1956, 1966, 1957,
1994        71,   71, 1967,   71,   71, 1968, 1960, 1961, 1969, 1964,
1995      2912, 1962,   71, 2912,   71, 1970, 1971, 1974,   71, 1972,
1996      1975, 2912, 1976, 1963,   71, 1966, 1977, 1973, 2912, 1967,
1997      1982, 2912, 1968, 1978, 1981,   71,   71,   71,   71, 2022,
1998        71,   71, 1970, 1971,   71, 1983, 1972, 1975,   71, 1976,
1999      1984,   71,   71, 1977, 1973, 1979, 1985, 1982, 1980,   71,
2000      1978, 1981, 1988, 1986, 1987, 1989, 1990, 1993, 1991, 2912,
2001      1992,   71, 1994,   71,   71,   71, 2023,   71,   71,   71,
2002        71,   71, 1979, 1985,   71, 1980, 2912,   71,   71, 1988,
2003 
2004      1986, 1987, 1989, 1990,   71, 1991, 1995, 1992, 1996, 1994,
2005      1997, 1999, 1998, 2000, 2001,   71, 2004, 2912,   71,   71,
2006      2002,   71, 2003,   71,   71, 2007,   71, 2008,   71, 2013,
2007      2912,   71, 2005, 1995,   71, 1996, 2009, 1997, 1999, 1998,
2008      2000, 2001,   71, 2004,   71, 2006,   71, 2002,   71, 2003,
2009      2012, 2010, 2007,   71, 2008, 2011,   71,   71, 2014, 2005,
2010        71, 2015, 2016, 2009, 2017, 2019, 2912, 2025,   71, 2020,
2011        71, 2018, 2006, 2024, 2021, 2027,   71, 2012, 2010,   71,
2012      2036, 2028, 2011, 2026, 2032, 2014,   71,   71,   71, 2016,
2013        71, 2017, 2019,   71, 2025, 2029, 2031,   71, 2018, 2033,
2014 
2015      2024,   71,   71, 2034, 2035, 2037, 2030,   71, 2028, 2038,
2016      2026,   71,   71,   71,   71, 2039, 2040, 2041,   71, 2052,
2017      2912, 2042, 2029, 2031, 2044,   71, 2033,   71, 2046, 2912,
2018      2034, 2035, 2037, 2030, 2043,   71, 2038, 2045,   71,   71,
2019      2049,   71,   71, 2040,   71, 2048,   71,   71, 2042,   71,
2020        71, 2044, 2047, 2053, 2050, 2046,   71,   71, 2051, 2054,
2021      2055, 2043,   71,   71, 2045, 2056,   71, 2049, 2057,   71,
2022      2058,   71, 2048, 2062, 2059, 2060,   71, 2912,   71, 2047,
2023      2053, 2050,   71,   71, 2061, 2051, 2054, 2055, 2063,   71,
2024      2064, 2065, 2056,   71, 2070, 2057,   71, 2058,   71,   71,
2025 
2026        71, 2059, 2060, 2067, 2066, 2068,   71,   71,   71,   71,
2027      2069, 2061, 2072,   71, 2071, 2063,   71, 2064, 2065, 2073,
2028        71, 2070, 2075, 2074,   71, 2076, 2077, 2912, 2078, 2079,
2029      2067, 2066, 2068, 2080, 2082, 2912,   71, 2069,   71, 2072,
2030        71, 2071, 2083, 2086, 2087, 2081,   71,   71,   71, 2075,
2031      2074, 2088, 2076, 2077,   71, 2078,   71,   71, 2089, 2084,
2032        71, 2082, 2085, 2092, 2091,   71,   71, 2090,   71, 2083,
2033        71, 2087, 2081,   71,   71, 2093, 2094,   71, 2088,   71,
2034      2095, 2097, 2099, 2096,   71, 2089, 2084, 2098, 2100, 2085,
2035        71, 2091,   71, 2101, 2090, 2103, 2912, 2912, 2102,   71,
2036 
2037      2107, 2106,   71, 2094,   71, 2104, 2109,   71,   71, 2099,
2038      2096,   71, 2112,   71, 2098,   71, 2105, 2110,   71, 2111,
2039        71, 2108, 2103,   71,   71, 2102,   71,   71, 2106,   71,
2040      2113, 2115, 2104,   71, 2116, 2117,   71, 2119, 2124, 2112,
2041        71, 2118,   71, 2105, 2110, 2114, 2111,   71, 2108,   71,
2042      2121, 2122, 2120, 2123,   71, 2126,   71, 2113,   71,   71,
2043      2128, 2116, 2117,   71,   71,   71, 2125,   71, 2118, 2127,
2044      2134, 2130, 2114, 2131,   71, 2133,   71, 2121, 2122, 2120,
2045      2123,   71, 2126, 2129, 2132,   71,   71,   71,   71, 2135,
2046        71,   71, 2136, 2125, 2137, 2138, 2127, 2134, 2130,   71,
2047 
2048      2131,   71, 2133, 2139, 2140, 2143,   71, 2142, 2147,   71,
2049      2129, 2132, 2141,   71,   71, 2145, 2135,   71, 2146, 2136,
2050        71, 2137, 2138, 2144,   71,   71,   71,   71, 2148, 2150,
2051      2139, 2140, 2143, 2912, 2142, 2147, 2151,   71, 2149, 2141,
2052        71, 2912, 2145, 2154,   71, 2146, 2152, 2153, 2155,   71,
2053      2144, 2156, 2161, 2157, 2160, 2162, 2163,   71,   71, 2158,
2054        71,   71, 2166, 2151, 2159, 2149, 2167,   71,   71,   71,
2055      2154,   71,   71, 2152, 2153, 2155, 2165,   71, 2156,   71,
2056      2157, 2160,   71, 2163,   71, 2164, 2158,   71,   71, 2166,
2057      2174, 2159,   71, 2168,   71, 2170, 2172, 2171,   71, 2173,
2058 
2059      2176, 2169,   71, 2165, 2175, 2912, 2177,   71, 2181, 2912,
2060        71, 2912, 2164, 2185, 2178, 2912,   71,   71,   71,   71,
2061      2168,   71, 2170, 2172, 2171,   71, 2173, 2176, 2169, 2180,
2062      2179, 2175,   71, 2177, 2184, 2181, 2182, 2187, 2183, 2192,
2063        71, 2178,   71, 2186,   71,   71, 2189, 2188, 2190,   71,
2064      2191, 2194, 2912, 2912, 2193, 2912, 2180, 2179,   71, 2196,
2065      2195, 2184, 2198, 2182,   71, 2183,   71,   71,   71,   71,
2066      2186,   71,   71, 2189, 2188,   71, 2197,   71, 2194, 2199,
2067        71, 2193,   71, 2200,   71, 2201, 2196, 2195,   71, 2198,
2068      2203, 2202, 2204, 2205, 2206, 2207, 2912, 2209, 2210,   71,
2069 
2070      2215, 2208,   71, 2197,   71,   71, 2199,   71,   71,   71,
2071      2200, 2212,   71,   71, 2211, 2214,   71, 2203, 2202, 2204,
2072      2205,   71, 2207,   71, 2209, 2210, 2213,   71, 2208, 2216,
2073      2217, 2912,   71,   71,   71, 2218, 2219,   71, 2212,   71,
2074      2220, 2211, 2214, 2222, 2226,   71,   71, 2221, 2223, 2225,
2075        71, 2224, 2229, 2213, 2227, 2912, 2216, 2217,   71, 2228,
2076      2231,   71, 2218, 2219, 2230, 2232,   71, 2233,   71, 2912,
2077      2222, 2226,   71,   71, 2221, 2223, 2225,   71, 2224,   71,
2078        71, 2227,   71,   71,   71, 2235, 2228,   71, 2234, 2236,
2079      2912, 2230, 2232, 2241,   71, 2237, 2239,   71,   71, 2240,
2080 
2081        71, 2238,   71, 2242, 2243, 2244, 2246, 2247, 2245, 2252,
2082      2912,   71, 2235, 2250, 2912, 2234, 2236,   71,   71,   71,
2083        71,   71, 2237, 2239, 2249, 2251, 2240, 2912, 2238,   71,
2084        71,   71, 2244, 2246, 2247, 2245,   71, 2248, 2253,   71,
2085        71,   71, 2254,   71, 2255,   71, 2257,   71, 2256, 2912,
2086      2258, 2249, 2251, 2259,   71,   71,   71, 2260, 2262, 2261,
2087      2265, 2263, 2267, 2912, 2248, 2253, 2268,   71, 2266, 2254,
2088      2269,   71, 2270, 2257,   71, 2256,   71, 2258, 2264,   71,
2089        71,   71, 2273,   71, 2260, 2262, 2261, 2265, 2263,   71,
2090        71,   71, 2271,   71, 2272, 2266, 2274,   71, 2275,   71,
2091 
2092      2276, 2277, 2912,   71,   71, 2264, 2278,   71, 2280, 2273,
2093      2282, 2283, 2281,   71, 2284,   71,   71, 2285, 2279, 2271,
2094        71, 2272,   71, 2274,   71, 2275, 2286, 2276, 2277,   71,
2095        71, 2292,   71, 2278, 2287,   71, 2288,   71,   71, 2281,
2096      2289, 2284, 2293,   71, 2285, 2279,   71, 2290, 2291,   71,
2097      2294,   71, 2295, 2286,   71,   71, 2296, 2912,   71,   71,
2098        71, 2287,   71, 2288, 2299, 2297, 2301, 2289,   71, 2293,
2099        71, 2298, 2303, 2302, 2290, 2291, 2300, 2294,   71, 2295,
2100      2306,   71, 2304, 2296,   71,   71, 2308,   71, 2309, 2307,
2101        71, 2299, 2297, 2301,   71, 2310, 2311, 2305, 2298, 2303,
2102 
2103      2302,   71,   71, 2300,   71, 2312, 2912, 2306,   71, 2304,
2104        71, 2313, 2315, 2308, 2314, 2309, 2307, 2316, 2317, 2319,
2105      2318,   71,   71,   71, 2305, 2320,   71,   71,   71, 2321,
2106        71,   71, 2312,   71, 2324, 2322,   71,   71, 2313, 2315,
2107        71, 2314, 2323,   71, 2316, 2317, 2319, 2318, 2325,   71,
2108      2326, 2329, 2320,   71, 2327, 2328, 2321, 2331, 2330,   71,
2109      2334, 2324, 2322, 2332, 2342, 2340, 2912, 2341, 2912, 2323,
2110      2333, 2335,   71,   71,   71, 2325,   71,   71,   71,   71,
2111        71, 2327, 2328,   71,   71, 2330, 2336, 2334, 2338, 2912,
2112      2332, 2337,   71, 2339,   71,   71,   71, 2333, 2335,   71,
2113 
2114        71,   71, 2343, 2346, 2344, 2347, 2345, 2912, 2351, 2350,
2115      2348,   71,   71, 2336,   71, 2338,   71,   71, 2337, 2349,
2116      2339, 2353, 2352, 2912, 2912,   71, 2355, 2912, 2912, 2343,
2117      2346, 2344, 2347, 2345,   71,   71, 2350, 2348, 2358, 2357,
2118      2359,   71, 2354, 2356,   71,   71, 2349,   71,   71, 2352,
2119        71,   71, 2360, 2355,   71, 2361, 2363, 2362, 2364,   71,
2120      2365, 2367,   71,   71,   71, 2358, 2357, 2359, 2366, 2354,
2121      2356, 2368,   71, 2370, 2369, 2371, 2372,   71, 2375, 2360,
2122        71, 2377, 2361, 2363, 2362,   71,   71, 2365,   71, 2379,
2123        71, 2376, 2373, 2382,   71, 2366,   71, 2374, 2368,   71,
2124 
2125      2370, 2369,   71, 2372,   71,   71,   71, 2378,   71, 2380,
2126      2381, 2912, 2383, 2385, 2386,   71,   71, 2384, 2376, 2373,
2127        71, 2387,   71, 2390, 2374,   71, 2392, 2388,   71, 2389,
2128      2391,   71, 2912, 2393, 2378,   71, 2380, 2381,   71, 2383,
2129        71, 2386,   71, 2394, 2384,   71, 2395,   71, 2387, 2396,
2130        71, 2912, 2401,   71, 2388,   71, 2389, 2391, 2397,   71,
2131      2393, 2398, 2399, 2400,   71,   71, 2404, 2912, 2405,   71,
2132      2394,   71, 2402, 2395, 2403, 2406, 2396,   71,   71, 2401,
2133        71, 2411,   71, 2407, 2408, 2397, 2912, 2412, 2398, 2399,
2134      2400, 2409, 2414, 2404,   71,   71,   71, 2413, 2410, 2402,
2135 
2136        71, 2403,   71,   71,   71, 2415,   71,   71, 2416,   71,
2137      2407, 2408, 2417,   71, 2412, 2418, 2419, 2420, 2409, 2414,
2138      2428, 2421, 2425,   71, 2413, 2410, 2422,   71, 2423,   71,
2139      2424, 2912, 2415, 2426, 2429,   71, 2427, 2912,   71,   71,
2140      2430,   71, 2418,   71, 2420, 2434,   71, 2428, 2431, 2432,
2141        71, 2433,   71,   71,   71, 2423,   71, 2424,   71,   71,
2142      2426, 2429, 2435, 2427,   71, 2436, 2437, 2430, 2439,   71,
2143        71, 2438, 2434,   71, 2442, 2431, 2432,   71, 2433, 2440,
2144        71, 2441,   71, 2444, 2443, 2447, 2446,   71,   71, 2435,
2145      2912,   71, 2436, 2437,   71, 2439, 2445,   71, 2438,   71,
2146 
2147        71, 2442,   71,   71, 2449, 2450, 2440, 2448, 2441, 2451,
2148      2444, 2443,   71, 2446, 2453,   71, 2452,   71, 2454, 2455,
2149      2456, 2458,   71, 2445,   71,   71,   71, 2457, 2459,   71,
2150      2460, 2449, 2450, 2912, 2448, 2912,   71, 2461, 2462, 2463,
2151      2464, 2453,   71, 2452, 2912, 2454, 2455,   71, 2466, 2465,
2152      2912, 2469, 2470,   71, 2457, 2467, 2471,   71,   71, 2472,
2153        71,   71,   71,   71,   71, 2462, 2463, 2464,   71, 2468,
2154      2473,   71, 2478, 2474, 2479, 2466, 2465,   71, 2469,   71,
2155        71,   71, 2467,   71, 2475, 2477,   71, 2480, 2912, 2476,
2156      2482, 2481,   71, 2483, 2485, 2487, 2468,   71,   71, 2478,
2157 
2158      2474,   71,   71, 2484,   71, 2486, 2489, 2488, 2493, 2490,
2159        71, 2492, 2477, 2502,   71,   71,   71, 2482, 2481,   71,
2160      2483,   71,   71,   71,   71, 2494, 2491, 2495, 2501, 2912,
2161      2484,   71, 2486,   71, 2488,   71, 2490, 2496, 2492, 2498,
2162        71, 2499, 2497,   71, 2500,   71, 2505, 2504,   71,   71,
2163        71,   71,   71, 2491, 2495, 2501, 2503, 2506,   71, 2507,
2164      2509, 2508,   71, 2912, 2912, 2510, 2498, 2912, 2499,   71,
2165        71, 2500, 2513,   71, 2504, 2517, 2912, 2519,   71,   71,
2166      2511, 2512, 2514, 2503, 2506,   71, 2507, 2509, 2508,   71,
2167        71,   71, 2510, 2515,   71, 2518,   71, 2516, 2523, 2513,
2168 
2169        71, 2520,   71,   71, 2519, 2522, 2521, 2511, 2512, 2514,
2170        71, 2524, 2528,   71, 2525, 2912, 2526, 2912, 2527, 2535,
2171      2515, 2912, 2518,   71, 2516,   71, 2529, 2530, 2531,   71,
2172      2912, 2532, 2522,   71,   71, 2538, 2536,   71, 2524, 2528,
2173        71, 2525,   71, 2526,   71, 2527,   71, 2537,   71,   71,
2174      2533, 2539, 2534, 2529, 2530, 2531,   71,   71, 2532,   71,
2175        71, 2540,   71, 2536, 2541, 2542, 2543, 2544, 2547, 2545,
2176      2912,   71, 2546, 2912, 2537, 2548, 2912, 2533, 2539, 2534,
2177      2555,   71, 2549, 2553,   71,   71,   71,   71,   71, 2550,
2178      2912, 2541,   71, 2543, 2544,   71, 2545,   71,   71, 2546,
2179 
2180        71,   71, 2548, 2551, 2554, 2556, 2557,   71, 2552, 2549,
2181      2553, 2558, 2560, 2559,   71,   71, 2550, 2562, 2561, 2563,
2182      2565, 2564,   71, 2912,   71,   71,   71,   71, 2566, 2569,
2183        71, 2554, 2556, 2557,   71,   71, 2567, 2572, 2558, 2560,
2184      2559, 2568,   71, 2573, 2574, 2561, 2563, 2565, 2564,   71,
2185        71,   71, 2578, 2912, 2570, 2566, 2569, 2571, 2575,   71,
2186      2576, 2577,   71, 2567,   71, 2579, 2582,   71, 2568,   71,
2187        71,   71, 2580, 2581,   71, 2587,   71, 2583, 2589, 2578,
2188        71, 2570, 2586, 2584, 2571, 2575,   71, 2576, 2577,   71,
2189      2585,   71, 2593,   71,   71,   71, 2588,   71,   71, 2580,
2190 
2191      2581, 2591, 2594, 2590, 2583,   71, 2595,   71, 2592, 2586,
2192      2584,   71,   71,   71, 2596,   71,   71, 2585, 2597,   71,
2193        71, 2598, 2601, 2588, 2600, 2603, 2599, 2605, 2591, 2594,
2194      2590, 2606,   71, 2595,   71, 2592,   71,   71, 2602,   71,
2195      2607, 2596, 2604,   71,   71, 2597,   71, 2608, 2598, 2601,
2196        71, 2600,   71, 2599,   71, 2609, 2612, 2610,   71, 2611,
2197      2613, 2912, 2617, 2912, 2614, 2602,   71, 2607,   71, 2604,
2198        71,   71, 2615, 2616,   71, 2619,   71, 2618,   71, 2621,
2199      2620,   71, 2609, 2612, 2610,   71, 2611,   71,   71, 2617,
2200        71, 2614, 2622, 2624, 2623, 2626, 2627,   71, 2628, 2615,
2201 
2202      2616,   71, 2619, 2629, 2618,   71,   71, 2620, 2912, 2630,
2203      2633,   71, 2625, 2631,   71, 2638, 2639,   71, 2634,   71,
2204        71, 2623, 2626, 2627, 2632, 2628, 2635, 2637,   71, 2636,
2205      2641,   71, 2642, 2640,   71,   71, 2630,   71, 2912, 2625,
2206      2631,   71,   71,   71,   71, 2634, 2643,   71, 2644, 2646,
2207      2645, 2632,   71, 2635, 2637, 2649, 2636,   71,   71, 2642,
2208      2640, 2650,   71, 2651, 2647, 2648, 2652, 2653,   71, 2654,
2209        71,   71, 2656, 2643,   71, 2644, 2655, 2645, 2657, 2658,
2210      2659,   71,   71, 2660,   71,   71, 2661, 2662,   71, 2663,
2211      2651, 2647, 2648, 2652,   71, 2667,   71,   71,   71, 2656,
2212 
2213        71, 2668, 2672, 2655, 2664, 2657,   71,   71,   71,   71,
2214        71, 2669, 2665, 2661,   71, 2666, 2663,   71, 2670, 2671,
2215        71,   71, 2667, 2675,   71,   71, 2673, 2674,   71,   71,
2216      2676, 2664, 2679, 2677,   71, 2678, 2680,   71, 2669, 2665,
2217      2681, 2682, 2666, 2683, 2912, 2670, 2671, 2912,   71,   71,
2218        71,   71, 2686, 2673, 2674,   71, 2687,   71, 2689,   71,
2219      2677, 2688, 2678, 2680,   71,   71, 2684, 2681,   71, 2685,
2220      2683,   71, 2690,   71,   71, 2694,   71,   71, 2698, 2686,
2221        71, 2693,   71, 2687, 2691, 2689,   71, 2692, 2688, 2697,
2222        71,   71, 2700, 2684,   71,   71, 2685, 2695, 2696, 2690,
2223 
2224        71, 2701, 2694, 2699, 2702, 2698,   71,   71, 2693, 2703,
2225        71, 2691, 2704, 2705, 2692, 2712, 2697, 2706, 2707, 2700,
2226      2708, 2709, 2710, 2711, 2695, 2696, 2713, 2717,   71, 2720,
2227      2699,   71,   71, 2716, 2714, 2715, 2703, 2719,   71,   71,
2228        71, 2721, 2712,   71, 2726, 2718,   71,   71,   71,   71,
2229      2725,   71,   71,   71,   71,   71, 2720,   71, 2722,   71,
2230      2716, 2714, 2715, 2724, 2719, 2723, 2727, 2728, 2721, 2729,
2231        71,   71, 2718, 2732,   71, 2736,   71, 2725, 2733,   71,
2232      2730,   71, 2734, 2731, 2735, 2722,   71,   71, 2741, 2737,
2233      2724,   71, 2723,   71, 2728,   71, 2729, 2738,   71, 2739,
2234 
2235      2740, 2742, 2736, 2743, 2744,   71, 2745, 2730,   71, 2746,
2236      2731, 2735, 2747, 2748,   71,   71, 2737, 2749, 2750,   71,
2237      2751,   71, 2752,   71, 2738, 2753, 2739, 2740, 2742, 2754,
2238        71,   71,   71,   71, 2755, 2758,   71,   71,   71,   71,
2239        71, 2756, 2760, 2757,   71,   71, 2759, 2751, 2761,   71,
2240        71, 2762, 2753,   71,   71, 2763, 2754,   71, 2764,   71,
2241        71,   71, 2758, 2765, 2767, 2766, 2768, 2769, 2756, 2760,
2242      2757, 2912,   71, 2759,   71,   71, 2771, 2770, 2762,   71,
2243        71, 2774, 2763, 2776,   71, 2764, 2772, 2775,   71,   71,
2244      2765, 2767, 2766,   71, 2769,   71, 2773, 2777,   71,   71,
2245 
2246      2779, 2778, 2780, 2771, 2770,   71, 2782,   71, 2774, 2781,
2247        71,   71, 2785, 2772, 2775, 2784,   71, 2783,   71,   71,
2248      2786,   71, 2788, 2773,   71,   71, 2787, 2779, 2778, 2780,
2249      2912,   71, 2789, 2782,   71, 2790, 2781, 2799,   71, 2785,
2250      2792, 2791, 2784,   71, 2783,   71,   71, 2786,   71, 2788,
2251        71,   71, 2793, 2787,   71, 2795, 2796, 2794, 2797, 2789,
2252      2800,   71, 2790,   71,   71, 2798, 2801, 2792, 2791,   71,
2253      2802,   71,   71, 2803, 2804, 2807, 2912, 2812,   71, 2793,
2254      2805, 2808, 2795, 2796, 2794, 2797, 2815, 2800,   71, 2809,
2255      2912, 2806, 2798,   71, 2817, 2912,   71, 2802,   71,   71,
2256 
2257        71,   71, 2807,   71, 2810, 2811,   71, 2805, 2808,   71,
2258      2813,   71, 2814,   71, 2816, 2818, 2809,   71, 2806,   71,
2259      2819,   71,   71,   71, 2820, 2912, 2821,   71, 2823,   71,
2260      2822, 2810, 2811, 2824, 2825, 2826,   71, 2813, 2912, 2814,
2261      2827, 2816, 2818, 2829, 2912, 2832, 2831, 2819,   71,   71,
2262      2828,   71,   71, 2821,   71, 2823, 2830, 2822,   71,   71,
2263      2834, 2835, 2826,   71, 2833,   71,   71, 2827,   71,   71,
2264        71,   71, 2832, 2831, 2839, 2836, 2837, 2828, 2838, 2912,
2265      2843, 2845,   71, 2830, 2840, 2841,   71, 2834, 2835,   71,
2266        71, 2833, 2842, 2844,   71, 2846,   71, 2851, 2853, 2912,
2267 
2268        71, 2839, 2836, 2837, 2847, 2838,   71,   71, 2848, 2850,
2269      2849, 2840, 2841,   71, 2859,   71, 2852,   71, 2854, 2842,
2270      2844,   71, 2846, 2912, 2856,   71,   71, 2862, 2863,   71,
2271        71, 2847,   71, 2912, 2855, 2848, 2850, 2849,   71, 2857,
2272      2858,   71,   71, 2852,   71, 2854,   71,   71,   71, 2860,
2273      2861, 2856, 2867,   71, 2862,   71, 2864,   71, 2866, 2865,
2274        71, 2855, 2868, 2881,   71, 2870, 2857, 2858, 2869, 2912,
2275        71, 2871, 2912, 2872,   71, 2874, 2860, 2861, 2876, 2867,
2276        71, 2878,   71, 2864, 2877, 2866, 2865,   71, 2883, 2868,
2277        71,   71, 2870,   71, 2879, 2869, 2873,   71, 2871, 2875,
2278 
2279      2872,   71, 2874,   71,   71, 2876, 2882,   71, 2878, 2880,
2280        71, 2877, 2884,   71,   71, 2883, 2887,   71, 2885, 2888,
2281      2886, 2879, 2889, 2873,   71, 2890, 2875, 2891,   71, 2892,
2282        71, 2893, 2897, 2882, 2894,   71, 2880, 2901,   71,   71,
2283        71,   71,   71, 2887, 2896, 2885, 2888, 2886, 2900, 2889,
2284      2903,   71,   71,   71, 2891, 2895, 2892, 2898, 2893,   71,
2285      2899, 2894, 2904,   71,   71,   71, 2902, 2910,   71, 2906,
2286        71, 2896, 2905, 2907,   71, 2900, 2911,   71, 2912, 2912,
2287      2908, 2912, 2895, 2912, 2898, 2912,   71, 2899,   71,   71,
2288      2909,   71,   71, 2902,   71,   71, 2906, 2912,   71, 2905,
2289 
2290      2907, 2912, 2912,   71, 2912, 2912, 2912, 2908, 2912, 2912,
2291      2912, 2912, 2912, 2912, 2912, 2912, 2912, 2909,   43,   43,
2292        43,   43,   43,   43,   43,   48,   48,   48,   48,   48,
2293        48,   48,   53,   53,   53,   53,   53,   53,   53,   59,
2294        59,   59,   59,   59,   59,   59,   64,   64,   64,   64,
2295        64,   64,   64,   74,   74, 2912,   74,   74,   74,   74,
2296       140,  140, 2912, 2912, 2912,  140,  140,  142,  142, 2912,
2297      2912,  142, 2912,  142,  144, 2912, 2912, 2912, 2912, 2912,
2298       144,  147,  147, 2912, 2912, 2912,  147,  147,  149, 2912,
2299      2912, 2912, 2912, 2912,  149,  151,  151, 2912,  151,  151,
2300 
2301       151,  151,   75,   75, 2912,   75,   75,   75,   75,   13,
2302      2912, 2912, 2912, 2912, 2912, 2912, 2912, 2912, 2912, 2912,
2303      2912, 2912, 2912, 2912, 2912, 2912, 2912, 2912, 2912, 2912,
2304      2912, 2912, 2912, 2912, 2912, 2912, 2912, 2912, 2912, 2912,
2305      2912, 2912, 2912, 2912, 2912, 2912, 2912, 2912, 2912, 2912,
2306      2912, 2912, 2912, 2912, 2912, 2912, 2912, 2912, 2912, 2912,
2307      2912, 2912, 2912, 2912, 2912, 2912, 2912, 2912, 2912, 2912,
2308      2912, 2912, 2912, 2912, 2912, 2912
2309     } ;
2310 
2311 static const flex_int16_t yy_chk[8377] =
2312     {   0,
2313         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
2314         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
2315         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
2316         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
2317         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
2318         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
2319         1,    1,    1,    1,    1,    1,    3,    3,    3,    4,
2320         4,    4,    5,    5,    6,    6,    5,   28,    6,    7,
2321         7,    7,    7, 2918,    7,    8,    8,    8,    8,   28,
2322         8,    9,    9,    9,   10,   10,   10,   15,   21,   24,
2323 
2324       979,   15,   30,    3,   28,  149,    4,   47,   47,    5,
2325        19,    6,   19,   19,   30,   19,   72,    7,  147,   24,
2326        72,   19,   24,    8,   21,   21,   24,   29,    9,   30,
2327        25,   10,   11,   11,   11,   11,   11,   11,   12,   12,
2328        12,   12,   12,   12,   25,   33,   24,   35,   19,   29,
2329        52,   33,   11,   52,   29,   22,   25,   25,   12,  146,
2330        35,  144,   22,   63,   63,   26,   22,  141,  141,   22,
2331        11,   25,   33,   26,   35,   77,   12,  142,   78,   11,
2332        31,   22,   22,  262,   82,   12,   20,   20,   31,   22,
2333        20,   26,   26,   22,   31,   20,   22,   41,   31,   77,
2334 
2335        26,   78,   77,   68,   20,   78,   31,   31,   82,   41,
2336        20,   82,  262,   20,   20,   31,   68,   20,   79,  125,
2337        81,   31,   20,   27,   41,   31,   27,   81,   80,  140,
2338        68,   20,   23,   27,  143,   27,   23,  143,   79,   23,
2339        70,   23,   23,   80,   32,   79,   27,   81,   32,   64,
2340        27,  125,   84,   27,   23,   80,   38,   90,   38,   23,
2341        27,   84,   27,   23,   32,   90,   23,   38,   23,   23,
2342        32,   32,   36,   38,   86,   32,   36,   85,   59,   84,
2343       148,  148,   38,   38,   90,   38,   36,   86,   89,   36,
2344        54,   32,   34,   89,   38,   85,   34,   92,   36,   36,
2345 
2346        38,   86,   34,   36,   85,   34,   58,   39,   58,   58,
2347        92,   58,   34,   36,   34,   89,   36,   39,   83,   34,
2348        91,   39,   39,   34,   92,   53,   95,   48,   43,   34,
2349        39,   83,   34,   40,   39,   95,  108,   40,   91,   34,
2350        37,   40,   83,   37,   39,   83,   14,  170,   39,   39,
2351        37,   13,   91,   95,   37,   37,  108,   96,   83,   40,
2352        40,    0,   37,  108,   40,   91,   96,   37,   40,   42,
2353        37,   42,   42,   66,   42,   66,   66,   37,   66,  170,
2354        42,   37,   37,   69,   96,   69,   69,   71,   69,   71,
2355        71,   74,   71,   74,   74,   87,   74,   93,   71,   88,
2356 
2357        88,   87,   74,   87,   93,   94,   94,   99,   88,   98,
2358         0,   66,   97,   94,  192,    0,   87,  102,  101,  971,
2359        99,   94,   87,    0,   93,  102,   88,   88,   87,   74,
2360        87,   98,   94,   94,   99,   97,   98,  103,  100,   97,
2361        94,  100,  101,  104,  102,  106,  192,  104,  105,  971,
2362       101,  110,  109,  105,  100,  100,  105,  103,  106,  103,
2363       107,    0,  100,  104,  103,  100,  109,  104,  100,  101,
2364       104,  110,  106,  114,  104,  105,  118,  111,  110,  109,
2365       105,  100,  100,  107,  103,  112,  113,  107,  115,  116,
2366       104,  111,  112,  116,  117,  113,  114,  115,  119,  120,
2367 
2368       114,  117,  118,  118,  111,  119,  121,    0,  120,  122,
2369       124,  116,  112,  113,  120,  115,  116,  122,  121,  123,
2370       116,  117,  120,  126,  124,  119,  120,  127,  129,    0,
2371       123,  128,    0,  121,  123,  120,  122,  124,  126,  129,
2372       128,  120,  135,  123,  127,  131,  123,  127,  130,  132,
2373       126,  131,  134,  127,  127,  129,  130,  123,  128,  133,
2374       132,  123,  136,  138,  135,  139,    0,  134,  133,  135,
2375       182,  127,  131,  137,  127,  130,  132,  136,  139,  134,
2376       133,    0,  137,  182,  133,  138,  133,  153,  154,  136,
2377       138,  145,  139,  145,  145,  133,  145,  182,  155,  150,
2378 
2379       137,  150,  150,  151,  150,  151,  151,  133,  151,  156,
2380       154,  153,  155,  157,  153,  154,  158,  159,  156,  160,
2381       161,    0,  162,  158,  164,  157,  163,  165,  161,  235,
2382       155,  164,    0,  159,  162,  158,  156,  168,  160,  155,
2383       157,  151,  169,  158,  159,  165,  160,  161,  163,  162,
2384       158,  164,  166,  163,  165,  167,  235,  167,  166,  168,
2385       173,  177,  171,  179,  168,  174,  171,  175,  169,  169,
2386       178,    0,  185,  174,  176,  180,  177,  178,  181,    0,
2387       311,  185,  167,  171,  166,  166,  173,  173,  177,  175,
2388       171,  179,  174,  171,  175,  179,  176,  178,  180,  185,
2389 
2390       181,  176,  180,  183,  186,  181,  191,  311,    0,  184,
2391       171,  172,  184,  187,    0,  183,  172,  191,  179,  189,
2392         0,  172,    0,    0,  184,  195,  186,  172,  172,    0,
2393       183,  186,  188,  191,  172,  187,  184,  188,  172,  184,
2394       187,  189,  193,  172,  201,  190,  189,  197,  172,  188,
2395       194,  188,  190,  196,  172,  172,  199,  195,  188,  188,
2396       196,  194,  199,  198,  188,  200,  201,  202,  193,  193,
2397       203,  201,  190,  204,  207,    0,  188,  198,  188,  197,
2398       196,  207,  194,  199,  205,  206,  208,  209,  194,  210,
2399         0,  211,  209,  204,    0,  198,  400,  200,  205,  202,
2400 
2401       204,  207,  203,  212,  198,  211,  206,  208,  210,  213,
2402       214,  205,  206,  208,  209,  215,  210,  216,  211,  217,
2403       218,  221,  214,  400,  216,  212,  215,  213,  219,  218,
2404       212,  222,  222,  220,  223,  225,  213,  214,  220,  228,
2405       222,  217,  215,  224,  216,  227,  217,  218,  226,  229,
2406       224,  219,  231,  221,  236,  219,  230,  225,  222,  222,
2407       220,  232,  225,  234,  230,  227,  223,  233,  237,    0,
2408       224,  228,  227,  226,  238,  226,  232,  236,  239,  243,
2409       233,  229,  239,  230,  231,  240,  236,  241,  232,  234,
2410       234,  238,    0,  247,  233,  242,  248,  245,  243,  238,
2411 
2412       237,  238,  241,  242,  236,  239,  243,  240,  244,  246,
2413       249,  250,  240,  246,  241,  244,  251,  252,  238,  245,
2414       258,    0,  242,  256,  245,  247,  253,  259,  248,  252,
2415       255,  254,  249,  250,  260,  244,  246,  249,  250,  253,
2416       254,  261,  256,  255,  252,  257,  263,  257,  251,  264,
2417       256,  259,  258,  253,  259,  263,  265,  255,  254,  260,
2418       266,  260,  267,  269,  268,  271,  270,  261,  261,  273,
2419         0,  266,  257,  263,  267,  264,  264,  274,  275,  272,
2420       279,  277,  265,  265,  270,    0,  269,  266,  268,  267,
2421       269,  268,  272,  270,  276,    0,  278,  271,  280,    0,
2422 
2423       281,  273,  274,  284,  274,  280,  272,  277,  277,  281,
2424       275,  276,  279,  282,  283,  285,  293,  276,  278,  282,
2425       287,  276,  286,  278,  288,  280,  289,  281,  283,  284,
2426       284,  286,  294,  288,    0,  290,  299,  291,  276,  285,
2427       282,  283,  285,  287,  290,  292,  298,  287,  293,  286,
2428       295,  288,  289,  289,  291,  298,  294,  297,  299,  294,
2429       292,  291,  290,  299,  291,  295,  305,  320,  303,    0,
2430       301,  305,  292,  298,  302,  297, 1083,  295,  300,  306,
2431       300,  291,  296,  303,  297,  296,  304,  304,  302,    0,
2432       296,  296,  296,  296,  301,  303,  300,  301,  305,  320,
2433 
2434       296,  302,  300,  306, 1083,  300,  306,  300,  309,  296,
2435       308,  304,  296,  304,  304,  310,  312,  296,  296,  296,
2436       296,  307,  308,  300,  307,  315,  309,  313,  314,  316,
2437       323,  307,  318,  310,  319,  309,  322,  308,  312,  318,
2438       314,  317,  310,  312,  316,  324,  319,  315,  307,  317,
2439       321,  307,  315,  313,  313,  314,  316,  321,  322,  318,
2440       325,  319,  323,  322,  330,  327,  325,  324,  317,  331,
2441       328,  326,  324,  326,    0,    0,    0,  321,  327,    0,
2442       332,  329,  325,  328,    0,    0,  328,  325,  328,    0,
2443       330,  330,  327,  325,  328,  326,  335,  328,  326,  329,
2444 
2445       326,  331,  332,  335,  339,  336,  333,  332,  329,  337,
2446       328,  336,  333,  328,  338,  328,  333,  339,  341,  345,
2447       355,  337,  342,  335,  333,    0,  338,  355,  344,  347,
2448       333,  339,  336,  333,  341,  342,  337,  345,  348,  333,
2449       344,  338,  341,  333,  348,  341,  345,  355,  346,  342,
2450       347,  333,  334,  346,  334,  344,  347,  350,  349,  351,
2451       352,  341,  356,  353,  357,  348,  349,  334,  352,  350,
2452       334,    0,  334,  357,  334,  356,  846,  351,  334,  334,
2453       346,  334,  354,  354,  350,  349,  351,  352,    0,  356,
2454       364,  359,    0,  361,  334,  353,  357,  334,  359,  334,
2455 
2456       357,  334,  343,  343,  358,  361,  360,  846,  358,  354,
2457       362,  363,  343,  360,  343,  343,  343,  366,  359,  343,
2458       361,  365,  364,  363,  366,  367,  369,  343,  372,  343,
2459       343,  358,  362,  360,  371,    0,  368,  362,  363,  343,
2460       367,  343,  343,  343,  366,  371,  343,  365,  365,  368,
2461       372,  370,  367,  370,  375,  372,  373,  373,  369,  374,
2462       376,  371,  377,  368,  383,  375,  374,  379,    0,  380,
2463       378,  376,  381,    0,  382,  377,  383,    0,  370,    0,
2464       389,  375,  382,    0,  380,  373,  374,  376,  378,  377,
2465       379,  383,  380,  384,  379,  378,  380,  378,  381,  381,
2466 
2467       385,  382,  389,  386,  384,  388,  387,  389,  390,  385,
2468       391,  380,  393,  392,  396,  378,  386,  387,  393,  387,
2469       384,  394,    0,  388,  387,  398,  395,  385,  391,  399,
2470       386,  390,  388,  387,  404,  390,  396,  391,  401,  393,
2471       397,  396,  394,  399,  387,  392,  387,  397,  394,  395,
2472       402,  398,  398,  395,  403,  405,  399,  406,    0,  411,
2473       401,  408,  407,  409,  402,  401,  404,  397,  407,  406,
2474         0,  410,  415,    0,  411,  418,    0,  402,  405,  410,
2475       403,  403,  405,  408,  406,  409,  411,  412,  408,  407,
2476       409,  413,  414,  416,  412,  417,  415,  410,  410,  415,
2477 
2478       413,  418,  418,  419,  422,  420,  410,  414,  421,  422,
2479       417,  420,  424,  429,  412,  425,  416,  426,  413,  414,
2480       416,  425,  417,  427,  433,  419,  428,  434,  429,  436,
2481       419,  422,  420,  428,  421,  421,  426,  433,  424,  424,
2482       429,  427,  425,  431,  426,  431,  435,  432,  440,  437,
2483       427,  433,  431,  428,  432,  438,  444,  442,  441,  434,
2484       439,  436,    0,  439,  435,  441,  443,    0,  438,  444,
2485       431,  437,  431,  435,  432,  445,  437,  448,    0,  439,
2486       440,  442,  438,  444,  442,  441,  446,  439,  447,  443,
2487       439,  446,  449,  450,  447,  451,  452,  445,  443,  456,
2488 
2489       448,  453,  445,  459,  448,  450,  456,  452,  458,  453,
2490       454,  459,  499,  446,  449,  447,  443,  451,    0,  449,
2491       450,  457,  451,  452,  454,  460,  456,  461,  453,    0,
2492       459,  458,    0,  457,  463,  458,  460,  454,  455,  499,
2493       462,  466,    0,  455,  462,  455,  463,  464,  457,  465,
2494       461,  455,  460,  455,  461,  468,  455,  455,    0,  466,
2495       465,  463,  462,  455,  455,  455,  468,  462,  466,  464,
2496       455,  462,  455,  469,  464,  467,  465,  470,  455,  471,
2497       455,  470,  468,  455,  455,  467,  471,  472,  476,  473,
2498       455,  473,  474,  475,  478,    0,  477,  469,    0,  483,
2499 
2500       469,  488,  478,  476,  470,  475,  471,  467,  477,  480,
2501       481,  483,  467,  472,  472,  476,  473,  479,  474,  474,
2502       475,  478,  479,  477,  482,  484,  483,  486,  481,  490,
2503       487,  480,  482,  488,  489,  491,  480,  481,  493,  494,
2504       495,  490,  492,  491,  479,  486,  484,  504,  494,  489,
2505       493,  482,  484,  487,  486,  492,  490,  487,  496,  497,
2506       498,  489,  491,  495,  500,  493,  494,  495,  501,  492,
2507       502,  504,  496,  503,  504,    0,  505,  507,  506,  498,
2508       510,  515,  508,  501,  497,  496,  497,  498,  503,  505,
2509       506,  510,  511,  513,  514,  501,  500,  511,  512,  507,
2510 
2511       503,  509,  502,  505,  507,  506,  508,  510,  509,  508,
2512       516,  509,  512,  515,  517,  518,  519,  521,  520,  509,
2513       513,  514,  519,  522,  511,  512,  529,  523,  509,  524,
2514       525,  522,  526,  534,    0,  509,  526,  516,  509,  521,
2515       527,  517,  520,  519,  521,  520,  523,  518,  527,  528,
2516       522,  530,  525,  524,  523,  531,  524,  525,  529,  526,
2517       536,  532,  533,  535,  531,  534,  539,  527,  538,  533,
2518       537,  540,  528,  536,  530,  537,  528,  538,  530,  537,
2519       540,  541,  531,  532,  546,  535,    0,  536,  532,  533,
2520       535,  542,  539,  539,  537,  538,  543,  537,  540,  544,
2521 
2522       548,  547,  537,  541,  553,    0,  537,  549,  541,  543,
2523       550,  544,  551,  542,    0,  553,  546,    0,  542,  547,
2524       552,  555,  559,  543,  548,    0,  544,  548,  547,  549,
2525       549,  553,  550,  557,  549,  554,  551,  550,  556,  551,
2526       560,  555,  552,  558,  554,  561,  562,  552,  555,  559,
2527       558,  563,  556,  561,  566,  557,  549,  562,  560,  564,
2528       557,  565,  554,  567,  569,  556,    0,  560,  573,  563,
2529       558,  571,  561,  562,  564,  566,  568,  568,  563,  570,
2530       571,  566,  572,  575,  576,  574,  564,  567,  569,  578,
2531       567,  569,  577,  565,  578,  572,  579,  582,  571,  580,
2532 
2533       573,  570,  587,  585,  584,  568,  570,  574,  576,  572,
2534       579,  576,  574,  580,  577,  575,  581,  581,  586,  577,
2535       583,  578,  584,  579,  581,  585,  580,  589,  583,  582,
2536       585,  584,  590,  586,  587,  588,  592,  590,  592,  591,
2537       594,    0,  586,  581,  581,  586,  593,  583,  594,  589,
2538       588,  595,  596,  601,  589,    0,  603,  602,    0,  597,
2539       586,  596,  588,  592,  590,  591,  591,  594,  597,  599,
2540         0,  593,  598,  593,  603,  600,  595,  599,  595,  596,
2541       602,  598,  600,  603,  602,  601,  597,  607,  604,  605,
2542       608,  610,  609,  611,  606,  607,  599,  612,  616,  598,
2543 
2544       604,  605,  600,  606,  609,  608,  611,  616,  615,    0,
2545       613,    0,  612,  621,  607,  604,  605,  608,  613,  609,
2546       611,  606,  614,  610,  612,  616,  621,  617,  620,  623,
2547       614,  615,  618,  619,  619,  615,  620,  613,  617,  622,
2548       621,  618,  619,  624,  626,  627,  625,  628,    0,  614,
2549       630,  624,  623,  632,  617,  620,  623,  626,  628,  618,
2550       619,  619,  625,  631,  630,  622,  622,  627,  629,  633,
2551       624,  626,  627,  625,  628,  632,  629,  630,  634,  635,
2552       632,  638,  636,  631,  637,  639,  650,  641,    0,  633,
2553       631,  636,  640,  642,  643,  629,  633,    0,  639,  638,
2554 
2555       634,  635,  641,  644,  637,  634,  635,  646,  638,  636,
2556       640,  637,  639,  650,  641,  642,  645,  652,  643,  640,
2557       642,  643,  649,  647,  648,  646,  644,  653,  649,  645,
2558       644,  651,  655,  656,  646,  647,  660,  648,  660,  651,
2559       655,  657,    0,  645,  652,  653,  658,  659,  657,  649,
2560       647,  648,  661,  662,  653,  665,  663,  651,  651,  655,
2561       664,  661,  659,  660,  665,  656,  651,  677,  657,  658,
2562       666,  667,  666,  658,  659,  663,    0,  670,  667,  661,
2563       664,  673,  665,  663,  676,  662,    0,  664,  677,  670,
2564       678,  673,  679,  682,  677,    0,  680,  666,  667,  668,
2565 
2566         0,  678,  676,  668,  670,  681,  668,  685,  673,  682,
2567       686,  676,  684,  668,  685,  679,  668,  678,  683,  679,
2568       682,  668,  680,  680,  692,  684,  668,  683,  688,  689,
2569       668,  681,  681,  668,  685,  689,    0,    0,  693,  684,
2570       668,  694,  686,  668,  690,  683,  687,  687,  692,  687,
2571       688,  692,  687,  690,  695,  688,  689,  687,  691,  699,
2572       691,  694,  697,  687,  687,  693,  696,    0,  694,  701,
2573       698,  690,  687,  687,  687,    0,  687,  700,  696,  687,
2574       695,  695,  704,  699,  687,  691,  699,  702,  697,  697,
2575       687,  687,  698,  696,  701,  703,  701,  698,  706,  700,
2576 
2577       705,  707,  702,  703,  700,  704,  706,  705,  708,  704,
2578       711,  709,  712,  710,  702,  713,  715,  717,    0,  714,
2579       707,  712,  703,  709,  714,  706,  710,  705,  707,  716,
2580       713,  720,  721,  722,  708,  708,  711,  711,  709,  712,
2581       710,  723,  713,  724,  717,  718,  714,  725,  715,  726,
2582       718,  716,  728,  720,  727,  729,  716,  731,  720,  730,
2583       733,  732,  735,  723,  721,  722,  731,    0,  723,  738,
2584       726,  725,  736,  727,  725,  724,  726,  718,  730,  728,
2585       733,  727,  729,  732,  731,  734,  730,  733,  732,  735,
2586       736,  737,  739,  734,  743,  741,  742,  744,  746,  736,
2587 
2588       739,  738,  745,  748,  747,  748,  749,    0,  753,    0,
2589       737,  753,  734,  741,  742,  744,  743,  747,  737,  739,
2590       746,  743,  741,  742,  744,  746,  745,  750,  751,  745,
2591       748,  747,  749,  749,  752,  753,  751,  757,  754,  750,
2592         0,  756,  758,  760,  761,  759,  754,    0,  758,  760,
2593       762,  761,  752,  763,  750,  751,  764,  762,  763,  767,
2594       765,  752,  754,  764,  757,  754,  756,  759,  756,  758,
2595       760,  761,  759,  754,  770,  766,  768,  762,  765,  766,
2596       763,  769,  767,  764,  772,  768,  767,  765,  773,  769,
2597       777,  771,  774,  775,  776,  778,  773,  779,  780,  772,
2598 
2599         0,    0,  766,  768,  779,  774,  770,  776,  769,  771,
2600       782,  772,  777,  787,  775,  773,  780,  777,  771,  774,
2601       775,  776,  778,  781,  779,  780,  783,  784,  785,  782,
2602       781,  786,  784,  783,  788,  789,  785,  782,  786,  790,
2603       791,  792,  793,  794,  795,  787,  790,  788,  798,  799,
2604       781,  794,  795,  783,  784,  785,  796,  797,  786,  795,
2605       803,  788,  800,  797,  805,  793,  790,  789,  801,  793,
2606       794,  795,  791,  792,  798,  798,  802,  801,  796,  795,
2607       804,  799,  807,  796,  797,  806,  800,  804,  808,  800,
2608       802,  805,  803,  809,  806,  801,  810,    0,  811,  814,
2609 
2610       815,  812,    0,  802,  807,  809,  812,  804,  815,  807,
2611       813,  817,  806,  826,  817,  808,  818,  813,  823,  810,
2612       809,  814,  825,  810,  811,  811,  814,  815,  812,  818,
2613       821,  824,  820,    0,  825,    0,  821,  813,  817,  820,
2614       826,    0,  828,  818,  823,  823,    0,    0,  827,  825,
2615       827,  833,  829,    0,  824,  831,  833,  821,  824,  820,
2616       822,  830,  822,  832,  829,  828,  822,  834,  822,  828,
2617       843,  844,    0,  822,  830,  827,  832,  831,  822,  829,
2618       834,  835,  831,  833,  822,  836,    0,  822,  830,  822,
2619       832,  837,  838,  822,  834,  822,  839,  836,  841,  842,
2620 
2621       822,  837,  843,  844,  835,  822,  845,  847,  835,  839,
2622       840,  841,  836,  837,  838,  850,  840,  848,  837,  838,
2623       842,  849,  848,  839,  850,  841,  842,    0,  837,  849,
2624       852,  853,    0,  845,  854,    0,  855,  840,  856,  847,
2625         0,    0,  850,    0,  848,  852,  859,  854,  849,  851,
2626       857,  855,  858,  853,  851,  862,  851,  852,  853,  859,
2627       866,  854,  851,  855,  856,  856,  865,  851,  851,  863,
2628       860,  858,  857,  859,  851,  851,  851,  857,  860,  858,
2629       861,  851,  862,  851,  866,  867,  868,  866,  861,  851,
2630       869,  872,  863,  867,  851,  851,  863,  860,  865,  870,
2631 
2632       868,  851,  871,  874,  875,  873,  876,  861,  877,  872,
2633       871,    0,  867,  868,  874,  878,  877,    0,  872,  885,
2634       879,  870,  869,  873,  876,  880,  870,  879,  882,  871,
2635       874,  883,  873,  876,  881,  877,  875,  878,  880,  884,
2636       885,  881,  878,  882,  886,  887,  885,  879,  889,  883,
2637       904,  891,  880,  892,  886,  882,  894,  884,  883,  889,
2638       892,  881,  893,  895,  891,  897,  884,  896,    0,  894,
2639       893,  886,  895,  898,  901,  889,  903,  887,  891,  896,
2640       892,  902,  904,  894,  905,  910,  907,  897,  908,  893,
2641       895,    0,  897,  908,  896,  898,  901,  907,  905,  902,
2642 
2643       898,  901,  903,  903,  909,  911,  913,  909,  902,  910,
2644       912,  905,  910,  907,  914,  913,  916,  912,  911,  917,
2645       908,  918,    0,  915,    0,  919,  917,    0,  914,  921,
2646       909,  909,  911,  913,  909,  915,  920,  912,  922,  924,
2647       925,  914,  920,  923,  926,  931,  917,  928,  916,  919,
2648       915,  921,  919,  918,  923,  930,  921,  932,  929,  926,
2649       922,  924,  925,  920,  934,  922,  924,  925,  928,  929,
2650       923,  926,  933,  934,  928,    0,  930,  931,  935,    0,
2651       936,  938,  930,  937,  932,  929,  939,  940,  942,  938,
2652       933,  934,  937,  939,  943,  941,  944,  945,    0,  933,
2653 
2654       947,  951,  935,  946,  953,  935,  936,  936,  938,  941,
2655       937,  940,  949,  939,  940,  952,  957,  954,  944,  945,
2656       942,  949,  941,  944,  945,  946,  943,  950,  955,  956,
2657       946,  953,  947,  951,  950,  954,  958,  952,  956,  949,
2658       957,  959,  952,  957,  954,  962,  955,  961,  963,  960,
2659       964,  966,  965,  962,  950,  955,  956,  959,  960,  967,
2660       958,  968,  961,  958,  965,  978,  970,  973,  959,  968,
2661       969,    0,  962,  966,  961,  972,  960,  985,  966,  965,
2662       963,  970,  964,  969,  972,  973,  967,  974,  968,  975,
2663       977,  975,  978,  970,  973,  974,  980,  969,  977,  981,
2664 
2665       982,  984,  972,  983,  985,  986,  987,  988,    0,  980,
2666         0,  981,  986,  989,  974,  982,  975,  977,  990,  984,
2667       991,  992,  994,  980,  993,  983,  981,  982,  984,  995,
2668       983, 1001,  986,  997,  992,  989,    0,  993,  987,  988,
2669       989,  995,  991,  990,  994,  990,  996,  991,  992,  994,
2670       998,  993, 1002,  997,  996,  999,  995, 1003, 1001, 1004,
2671       997, 1006,  998,  999, 1005, 1002, 1003, 1007, 1006, 1009,
2672      1010, 1004,    0,  996, 1012, 1013, 1007,  998, 1007, 1002,
2673      1011, 1007,  999,    0, 1003, 1005, 1004, 1012, 1006, 1007,
2674      1016, 1005, 1010, 1015, 1007, 1009, 1009, 1010, 1017, 1013,
2675 
2676      1011, 1012, 1013, 1007, 1014, 1007, 1017, 1011, 1007, 1022,
2677      1018, 1015, 1016, 1014, 1019, 1020, 1023, 1016, 1024, 1025,
2678      1015, 1028, 1026, 1020, 1027, 1017, 1025, 1031,    0,    0,
2679      1019, 1014, 1018,    0,    0, 1031, 1022, 1018, 1023, 1028,
2680      1024, 1019, 1020, 1023, 1026, 1024, 1025, 1027, 1028, 1026,
2681      1029, 1027, 1030, 1032, 1031, 1033, 1034, 1035, 1036, 1037,
2682      1038, 1040, 1029, 1045, 1030, 1037, 1036, 1033, 1032, 1038,
2683      1039, 1041, 1035, 1040, 1042, 1043, 1034, 1029, 1041, 1030,
2684      1032, 1042, 1033, 1034, 1035, 1036, 1037, 1038, 1040, 1047,
2685      1046, 1039, 1048, 1043, 1050, 1045, 1049, 1039, 1041, 1048,
2686 
2687      1051, 1042, 1043, 1046, 1052, 1051,    0, 1053, 1047, 1050,
2688      1054, 1057, 1052, 1055, 1059, 1058, 1047, 1046, 1049, 1048,
2689      1053, 1050, 1063, 1049, 1054, 1057, 1060,    0,    0, 1061,
2690      1062, 1052, 1051, 1058, 1053, 1066,    0, 1054, 1057, 1055,
2691      1055, 1056, 1058, 1064, 1056, 1056, 1059, 1065, 1062, 1056,
2692         0, 1061, 1060, 1060, 1063, 1056, 1061, 1062, 1067, 1056,
2693      1070, 1066, 1066, 1056, 1067, 1064, 1068, 1070, 1056, 1065,
2694      1064, 1056, 1056, 1069, 1065, 1069, 1056, 1072, 1075, 1071,
2695      1076, 1074, 1056, 1073, 1077, 1067, 1056, 1070, 1071, 1076,
2696      1073, 1075, 1068, 1068, 1078, 1072, 1079, 1069, 1080,    0,
2697 
2698      1069, 1084, 1069, 1074, 1072, 1075, 1071, 1076, 1074,    0,
2699      1073,    0,    0, 1082, 1086, 1088, 1077, 1084, 1079, 1087,
2700         0, 1080, 1092, 1079, 1088, 1080, 1078, 1081, 1084, 1089,
2701      1090, 1087, 1081,    0, 1081, 1090, 1081, 1086, 1081, 1082,
2702      1082, 1086, 1088, 1091, 1092, 1081, 1087, 1089, 1091, 1092,
2703      1094, 1093, 1095, 1097, 1081,    0, 1089,    0, 1096, 1081,
2704      1095, 1081, 1090, 1081, 1093, 1081, 1096, 1099, 1094, 1098,
2705      1091, 1100, 1097, 1101, 1102, 1104, 1105, 1094, 1093, 1095,
2706      1097, 1106, 1098, 1102, 1100, 1096, 1103, 1107, 1103, 1099,
2707      1108, 1101, 1110, 1106, 1099, 1114, 1098, 1104, 1100, 1111,
2708 
2709      1101, 1102, 1104, 1105, 1112, 1113, 1116, 1118, 1106, 1117,
2710      1144, 1115, 1112, 1103, 1107, 1108, 1110, 1108, 1115, 1110,
2711      1121, 1111, 1114, 1113, 1119, 1123, 1111, 1126, 1125, 1118,
2712      1119, 1112, 1113, 1116, 1118, 1117, 1117, 1120, 1115, 1122,
2713      1127, 1124, 1144, 1120, 1128, 1126, 1122, 1121, 1124, 1123,
2714      1125, 1119, 1123, 1128, 1126, 1125, 1130, 1131, 1134, 1132,
2715      1133,    0, 1137,    0, 1120, 1127, 1122, 1127, 1124, 1131,
2716      1135, 1128, 1136, 1138, 1145, 1147, 1141, 1134, 1156,    0,
2717      1130, 1132, 1133, 1130, 1131, 1134, 1132, 1133, 1137, 1137,
2718      1140, 1142, 1135, 1139, 1136, 1138, 1141, 1135, 1148, 1136,
2719 
2720      1138, 1146, 1139, 1141, 1149, 1142, 1145, 1147, 1150, 1151,
2721      1156, 1140, 1149, 1157, 1152, 1154, 1148, 1140, 1142, 1158,
2722      1139, 1152, 1154, 1146, 1150, 1148, 1155, 1160, 1146, 1165,
2723      1155, 1149,    0, 1163, 1164, 1150, 1151, 1161, 1165, 1166,
2724      1158, 1152, 1154, 1161, 1162, 1157, 1158, 1164, 1163, 1169,
2725      1161, 1162, 1168, 1155, 1168, 1167, 1165, 1171, 1169, 1160,
2726      1163, 1164, 1167, 1170, 1161, 1166, 1166, 1173, 1172, 1175,
2727      1161, 1162, 1172, 1176, 1177, 1178, 1169, 1175, 1176, 1168,
2728      1179, 1187, 1167, 1177, 1171, 1170, 1181, 1180, 1186, 1173,
2729      1170, 1184,    0, 1178, 1173, 1172, 1175, 1185, 1181, 1179,
2730 
2731      1180, 1177, 1178, 1182, 1187, 1176, 1182, 1179, 1187, 1183,
2732      1185, 1188, 1183, 1181, 1180, 1182, 1184, 1189, 1184, 1191,
2733      1186, 1190, 1190, 1192, 1185, 1189, 1193, 1188, 1191, 1194,
2734      1182, 1183, 1200, 1182, 1195, 1193, 1183, 1201, 1188, 1183,
2735      1198, 1195, 1197, 1199, 1189, 1192, 1191, 1204, 1190, 1198,
2736      1192, 1194, 1199, 1193, 1202, 1197, 1194, 1203, 1200, 1200,
2737      1201, 1195, 1205, 1202, 1201, 1203, 1206, 1198, 1208, 1197,
2738      1199, 1209, 1207,    0, 1206, 1211, 1212, 1205, 1210, 1204,
2739      1208, 1202, 1213, 1209, 1203, 1207, 1210, 1216, 1215, 1205,
2740      1218, 1214, 1221, 1206, 1222, 1208, 1212, 1211, 1209, 1207,
2741 
2742      1214, 1220, 1211, 1212, 1213, 1210, 1215, 1217, 1226, 1213,
2743      1219, 1218, 1223, 1216, 1216, 1215, 1219, 1218, 1214, 1217,
2744      1224, 1227, 1228, 1220, 1221, 1232, 1222, 1229, 1220, 1230,
2745         0, 1231, 1250, 1233, 1217, 1226, 1229, 1219, 1223, 1223,
2746      1228, 1236, 1230, 1231, 1227, 1232, 1224, 1224, 1227, 1228,
2747      1234, 1235, 1232, 1237, 1229, 1242, 1230, 1234, 1231, 1233,
2748      1233, 1238, 1239, 1236, 1250, 1241, 1237, 1239, 1236, 1238,
2749      1235, 1240, 1241, 1245, 1246, 1243, 1240, 1234, 1235, 1244,
2750      1237, 1242, 1242, 1243,    0, 1247, 1249, 1244, 1238, 1251,
2751      1248, 1245, 1241, 1247, 1239, 1249, 1246, 1248, 1252, 1252,
2752 
2753      1245, 1246, 1243, 1240, 1253, 1255, 1244, 1254, 1256,    0,
2754      1257, 1251, 1247, 1249, 1258, 1254, 1251, 1248, 1257, 1259,
2755      1260, 1263, 1258, 1264, 1262, 1252, 1255, 1259, 1260, 1261,
2756      1262, 1265, 1255, 1263, 1254, 1267, 1253, 1257, 1266, 1268,
2757      1256, 1258, 1261, 1270, 1269, 1271, 1259, 1260, 1263, 1264,
2758      1264, 1262, 1275, 1266, 1272, 1265, 1261, 1270, 1265,    0,
2759      1273, 1268, 1267, 1271, 1273, 1266, 1268, 1269, 1272, 1279,
2760      1270, 1269, 1271, 1277, 1275, 1278, 1276, 1273,    0, 1275,
2761      1277, 1272, 1287, 1280, 1281, 1273, 1278, 1273, 1276, 1282,
2762      1283, 1273, 1284, 1288, 1286, 1295, 1279, 1294, 1285, 1284,
2763 
2764      1277, 1286, 1278, 1276, 1273, 1280, 1281, 1285, 1293, 1290,
2765      1280, 1281, 1282, 1283, 1287, 1298, 1282, 1283, 1290, 1284,
2766      1288, 1286, 1292, 1294, 1294, 1285, 1296, 1295, 1292, 1301,
2767      1293, 1300, 1302, 1296, 1303, 1293, 1290, 1306, 1305, 1307,
2768         0, 1308, 1298, 1302, 1306, 1303, 1310, 1312, 1309, 1292,
2769      1314,    0, 1310, 1296,    0, 1300, 1301, 1307, 1300, 1302,
2770      1309, 1303, 1305, 1311, 1306, 1305, 1307, 1308, 1308, 1312,
2771      1313, 1311, 1315, 1310, 1312, 1309, 1314, 1314, 1317, 1316,
2772      1317, 1315, 1318, 1313, 1320, 1319, 1323, 1328, 1321, 1322,
2773      1311, 1316, 1326, 1320, 1324, 1325,    0, 1313, 1319, 1315,
2774 
2775      1329, 1322, 1325, 1328, 1331, 1317, 1316, 1333, 1318, 1318,
2776      1321, 1320, 1319, 1323, 1328, 1321, 1322, 1324, 1326, 1326,
2777      1327, 1324, 1325, 1329, 1330, 1327, 1331, 1329, 1334, 1335,
2778      1340, 1331, 1330, 1337, 1333, 1336, 1336, 1334, 1338,    0,
2779      1338, 1339, 1335, 1336,    0,    0, 1337, 1327, 1344,    0,
2780      1347, 1330, 1340, 1343, 1341, 1334, 1335, 1340, 1346, 1342,
2781      1337, 1341, 1336, 1336, 1353, 1338, 1342, 1339, 1339, 1345,
2782      1344, 1343, 1347, 1348, 1350, 1344, 1345, 1347,    0,    0,
2783      1343, 1341, 1349, 1346, 1352, 1346, 1342, 1354, 1357, 1349,
2784      1358, 1353, 1355, 1358, 1359, 1354, 1345, 1352, 1360, 1361,
2785 
2786      1369,    0,    0,    0, 1364, 1348, 1350, 1362, 1366, 1349,
2787      1357, 1352, 1361, 1355, 1354, 1357, 1362, 1358, 1363, 1355,
2788      1359, 1359, 1365, 1366, 1360, 1360, 1361, 1374, 1364, 1367,
2789      1363, 1364, 1369, 1370, 1362, 1366, 1367, 1368, 1375, 1371,
2790      1368, 1372, 1373, 1379, 1373, 1363,    0, 1377, 1365, 1365,
2791      1376, 1374, 1368,    0, 1374, 1370, 1367, 1371, 1378, 1380,
2792      1370, 1368, 1381, 1372, 1368, 1386, 1371, 1368, 1372, 1373,
2793      1375, 1382, 1376, 1377, 1377, 1379, 1381, 1376, 1385, 1368,
2794      1382, 1380, 1383, 1387, 1378, 1378, 1380, 1384, 1389, 1381,
2795      1383, 1388, 1390,    0, 1384, 1391, 1390, 1386, 1382, 1392,
2796 
2797      1395, 1393, 1385, 1394, 1396, 1385,    0, 1395, 1397, 1383,
2798      1399, 1396, 1394, 1388, 1384, 1387, 1398, 1391, 1388, 1390,
2799      1389, 1397, 1391, 1393, 1400, 1399, 1392, 1395, 1393, 1398,
2800      1394, 1396, 1401, 1402, 1403, 1397, 1404, 1399, 1400, 1405,
2801      1402, 1403, 1407, 1398, 1411, 1405, 1408, 1416, 1409, 1404,
2802      1410, 1400, 1412, 1408, 1413,    0, 1411, 1413, 1414, 1416,
2803      1402, 1403, 1415, 1404, 1401, 1412, 1405, 1414, 1417, 1407,
2804      1409, 1411,    0, 1408, 1416, 1409, 1410, 1410, 1424, 1412,
2805      1415, 1413, 1419, 1418, 1425, 1414, 1418, 1421, 1417, 1415,
2806      1426, 1427, 1421, 1419, 1423, 1417, 1423, 1441, 1428, 1421,
2807 
2808      1429, 1418, 1424, 1430, 1432, 1424, 1427, 1428, 1431, 1419,
2809      1418, 1425, 1432, 1418, 1421, 1433, 1434, 1426, 1427, 1421,
2810      1435, 1423, 1431, 1436, 1429, 1428, 1437, 1429, 1435, 1441,
2811      1430, 1432, 1438, 1439, 1436, 1431, 1439, 1433, 1434, 1440,
2812      1438, 1442, 1433, 1434, 1437, 1443, 1445, 1435, 1444, 1448,
2813      1436, 1439, 1443, 1437, 1446, 1445, 1451, 1440, 1447, 1438,
2814      1439, 1452, 1444, 1439, 1448, 1451, 1440, 1446, 1442, 1447,
2815      1456, 1453, 1443, 1445, 1454, 1444, 1448, 1450, 1455, 1450,
2816      1458, 1446, 1453, 1451, 1456, 1447, 1460, 1452, 1452, 1458,
2817      1457, 1464, 1454, 1457, 1461, 1460, 1456, 1456, 1453, 1461,
2818 
2819      1455, 1454, 1463, 1459, 1450, 1455, 1466, 1458, 1457, 1459,
2820      1465, 1456, 1467, 1460, 1468, 1463, 1469, 1457, 1470, 1465,
2821      1457, 1474, 1473, 1464, 1472, 1477, 1461, 1479, 1475, 1463,
2822      1459, 1472, 1476, 1466,    0, 1473, 1468, 1465, 1476, 1470,
2823      1490, 1468, 1475, 1483, 1467, 1470, 1479, 1485, 1469, 1473,
2824      1481, 1472, 1482, 1474, 1479, 1475, 1476, 1477, 1481, 1476,
2825      1482, 1485, 1483, 1484, 1486, 1476, 1489, 1487, 1491, 1488,
2826      1483, 1492, 1490, 1497, 1485, 1494, 1493, 1481, 1486, 1482,
2827      1487, 1484, 1488, 1493, 1494, 1492, 1500, 1489, 1502, 1495,
2828      1484, 1486, 1496, 1489, 1487, 1500, 1488, 1495, 1492, 1498,
2829 
2830      1491, 1499, 1494, 1493, 1498, 1497, 1496, 1504,    0, 1505,
2831      1503, 1506, 1499, 1500, 1489, 1502, 1495, 1503, 1507, 1496,
2832      1509, 1508, 1512, 1511, 1509,    0, 1498, 1514, 1499, 1516,
2833      1504, 1505, 1523, 1506, 1504, 1511, 1505, 1503, 1506, 1508,
2834      1507, 1518, 1514, 1513, 1515, 1507, 1517, 1509, 1508, 1512,
2835      1511, 1513, 1515, 1526, 1514, 1521, 1516, 1519, 1522, 1517,
2836      1520, 1518, 1524, 1521, 1523, 1522, 1527, 1525, 1518, 1529,
2837      1513, 1515, 1519, 1517, 1526, 1520, 1525, 1524, 1528, 1531,
2838      1526, 1532, 1521, 1533, 1519, 1522, 1534, 1520,    0, 1524,
2839      1537, 1536, 1535, 1527, 1525, 1539, 1529, 1538,    0, 1532,
2840 
2841      1539, 1531, 1528, 1540, 1538, 1528, 1531, 1535, 1532, 1542,
2842      1543, 1541, 1540, 1534, 1537, 1533, 1536, 1537, 1536, 1535,
2843      1541, 1545, 1539, 1546, 1538, 1544, 1547, 1548, 1543, 1549,
2844      1540, 1542, 1550, 1545, 1548, 1551, 1542, 1543, 1541, 1547,
2845      1544, 1549, 1558, 1552, 1547, 1546, 1554, 1553, 1545, 1552,
2846      1546, 1555, 1544, 1547, 1548, 1553, 1549, 1554, 1555, 1550,
2847      1556, 1559, 1557, 1560, 1557, 1561, 1547, 1551, 1558, 1558,
2848      1552, 1562, 1561, 1554, 1553, 1557, 1563, 1564, 1555, 1566,
2849      1565, 1568, 1567, 1564, 1569, 1556, 1565, 1556, 1559, 1557,
2850      1560, 1557, 1561, 1571, 1573, 1574, 1575, 1574, 1562, 1578,
2851 
2852      1576, 1572, 1563, 1563, 1564, 1567, 1566, 1565, 1569, 1567,
2853      1572, 1569, 1577, 1568, 1579, 1579, 1579, 1580, 1582,    0,
2854      1575, 1579, 1574, 1575, 1580, 1571, 1573, 1576, 1572, 1579,
2855      1581, 1578, 1586, 1583, 1590, 1589, 1587, 1581, 1577, 1577,
2856      1583, 1579, 1579, 1579, 1580, 1586, 1585, 1589, 1579, 1588,
2857      1582, 1585, 1591, 1594, 1595, 1595, 1596, 1581, 1599, 1586,
2858      1583, 1587, 1589, 1587, 1592, 1588, 1590, 1593, 1597, 1598,
2859      1591, 1592, 1600, 1593, 1598, 1597, 1588, 1604, 1585, 1591,
2860      1594, 1595, 1596, 1596, 1599, 1599, 1601, 1605, 1606, 1605,
2861      1608, 1592, 1609, 1601, 1593, 1597, 1598, 1610, 1609, 1600,
2862 
2863      1611, 1612,    0, 1614, 1604, 1617, 1606, 1612, 1608, 1613,
2864      1616, 1616, 1622, 1601, 1605, 1606, 1615, 1608, 1621, 1609,
2865      1625, 1613, 1619, 1614, 1618, 1618, 1624, 1611, 1612, 1610,
2866      1614, 1617, 1617, 1619, 1615, 1623, 1613, 1616, 1626, 1627,
2867      1621, 1628, 1623, 1615, 1622, 1621, 1624, 1629, 1630, 1619,
2868      1631, 1618, 1625, 1624, 1632, 1630, 1633, 1637, 1631, 1635,
2869      1635, 1636, 1623, 1628, 1634, 1629, 1627, 1639, 1628, 1632,
2870      1626, 1638,    0, 1634, 1629, 1630, 1640, 1631, 1638, 1639,
2871      1633, 1632, 1647, 1633, 1644, 1643, 1635, 1636, 1636, 1637,
2872      1642, 1634, 1640, 1643, 1639, 1648, 1644, 1642, 1638, 1640,
2873 
2874      1646, 1650, 1649, 1640, 1653, 1647, 1656, 1651, 1646, 1647,
2875      1652, 1644, 1643, 1657, 1656, 1652, 1648, 1642, 1654, 1640,
2876      1649, 1660, 1648, 1655, 1654, 1658, 1652, 1646, 1650, 1649,
2877      1651, 1653, 1658, 1656, 1651, 1657, 1655, 1652, 1662, 1659,
2878      1657, 1663, 1652, 1661, 1665, 1654, 1659, 1664, 1670, 1671,
2879      1655, 1667, 1658, 1660, 1672, 1661, 1668, 1669, 1673, 1672,
2880      1662, 1668, 1674, 1678, 1669, 1662, 1659, 1665, 1663, 1667,
2881      1661, 1665, 1668, 1664, 1664, 1670, 1671, 1676, 1667, 1675,
2882      1675, 1677, 1680, 1668, 1669, 1682, 1672, 1681, 1668, 1683,
2883      1673, 1683, 1684, 1685, 1674, 1678, 1677, 1680, 1685, 1676,
2884 
2885      1682, 1686, 1687, 1689, 1676, 1690, 1675, 1693, 1677, 1680,
2886      1681, 1695, 1682, 1690, 1681, 1691, 1683, 1687, 1689, 1694,
2887      1685, 1696, 1698, 1699, 1684, 1700, 1713,    0, 1697, 1687,
2888      1689, 1693, 1690, 1686, 1693, 1697, 1701, 1691, 1695, 1704,
2889      1702, 1706, 1691, 1708, 1699, 1694, 1694, 1700, 1696, 1707,
2890      1699, 1712, 1700, 1713, 1698, 1697, 1710, 1701, 1702, 1711,
2891      1715, 1704, 1714, 1701, 1707, 1706, 1704, 1702, 1706, 1708,
2892      1708, 1710, 1716, 1712, 1711, 1717, 1707, 1718, 1712, 1719,
2893      1714, 1720, 1715, 1710, 1718, 1721, 1711, 1715, 1722, 1714,
2894      1720, 1723, 1724, 1721, 1716, 1730, 1725, 1719, 1728, 1716,
2895 
2896         0, 1729, 1717, 1727, 1718, 1732, 1719, 1728, 1720, 1725,
2897      1738, 1722, 1721, 1723, 1727, 1722, 1731, 1734, 1723, 1729,
2898      1732, 1730, 1730, 1725, 1724, 1728, 1735, 1733, 1729, 1727,
2899      1727, 1740, 1732, 1733, 1731, 1741, 1742, 1738, 1744, 1734,
2900      1735, 1727, 1746, 1731, 1734, 1748, 1741, 1742, 1745, 1747,
2901      1744, 1750, 1749, 1735, 1733, 1740,    0,    0, 1740, 1747,
2902      1753, 1745, 1741, 1742, 1751, 1744, 1754,    0, 1755,    0,
2903      1756, 1748, 1748, 1754, 1746, 1745, 1747, 1749, 1750, 1749,
2904      1753, 1758, 1767, 1751, 1757, 1759, 1760, 1753, 1756, 1763,
2905      1757, 1751, 1762, 1754, 1755, 1755, 1758, 1756, 1761, 1761,
2906 
2907      1759, 1760, 1763, 1766, 1762, 1771, 1768, 1765, 1758, 1767,
2908      1763, 1757, 1759, 1760, 1765, 1768, 1763, 1769, 1766, 1762,
2909      1774, 1770, 1776, 1778, 1769, 1761, 1775, 1771, 1772, 1763,
2910      1766, 1776, 1771, 1768, 1765, 1772, 1777, 1782, 1780, 1783,
2911         0, 1790, 1774, 1778, 1769, 1770, 1782, 1774, 1770, 1776,
2912      1778, 1775, 1784, 1775, 1786, 1772, 1780, 1783, 1777, 1785,
2913      1788, 1789, 1786, 1777, 1782, 1780, 1783, 1784, 1790, 1791,
2914      1791, 1792, 1793, 1794, 1789,    0, 1797,    0, 1798, 1784,
2915      1795, 1786, 1796, 1797, 1785, 1788, 1785, 1788, 1789, 1799,
2916      1800, 1796, 1804, 1792, 1801, 1794, 1791, 1793, 1792, 1793,
2917 
2918      1794, 1805, 1795, 1797, 1800, 1804, 1803, 1795, 1806, 1796,
2919      1798, 1799, 1807, 1801, 1803, 1808, 1799, 1800, 1809, 1804,
2920         0, 1801, 1808,    0, 1807, 1810, 1811, 1813, 1805, 1812,
2921      1814,    0, 1815, 1803, 1806, 1806, 1816, 1812,    0, 1807,
2922      1820,    0, 1808, 1817, 1819, 1814, 1820, 1810, 1812, 1863,
2923      1809, 1811, 1810, 1811, 1813, 1821, 1812, 1814, 1815, 1815,
2924      1821, 1817, 1816, 1816, 1812, 1818, 1822, 1820, 1818, 1819,
2925      1817, 1819, 1826, 1823, 1825, 1827, 1829, 1832, 1830,    0,
2926      1831, 1863, 1833, 1818, 1822, 1830, 1864, 1821, 1823, 1825,
2927      1829, 1833, 1818, 1822, 1826, 1818,    0, 1827, 1831, 1826,
2928 
2929      1823, 1825, 1827, 1829, 1832, 1830, 1834, 1831, 1835, 1833,
2930      1836, 1839, 1837, 1840, 1841, 1834, 1844,    0, 1864, 1835,
2931      1842, 1841, 1843, 1836, 1837, 1849, 1839, 1850, 1840, 1855,
2932         0, 1850, 1847, 1834, 1844, 1835, 1851, 1836, 1839, 1837,
2933      1840, 1841, 1842, 1844, 1843, 1847, 1849, 1842, 1851, 1843,
2934      1854, 1852, 1849, 1847, 1850, 1853, 1855, 1853, 1856, 1847,
2935      1852, 1857, 1858, 1851, 1859, 1861,    0, 1866, 1854, 1862,
2936      1858, 1860, 1847, 1865, 1862, 1870, 1856, 1854, 1852, 1861,
2937      1877, 1871, 1853, 1867, 1873, 1856, 1866, 1859, 1857, 1858,
2938      1867, 1859, 1861, 1860, 1866, 1871, 1872, 1865, 1860, 1874,
2939 
2940      1865, 1862, 1870, 1875, 1876, 1878, 1871, 1871, 1871, 1879,
2941      1867, 1873, 1877, 1876, 1872, 1880, 1881, 1882, 1875, 1895,
2942         0, 1884, 1871, 1872, 1886, 1874, 1874, 1878, 1889,    0,
2943      1875, 1876, 1878, 1871, 1885, 1879, 1879, 1888, 1881, 1888,
2944      1892, 1885, 1880, 1881, 1884, 1891, 1895, 1886, 1884, 1882,
2945      1889, 1886, 1890, 1896, 1893, 1889, 1890, 1891, 1894, 1897,
2946      1898, 1885, 1892, 1893, 1888, 1899, 1899, 1892, 1900, 1894,
2947      1901, 1897, 1891, 1905, 1902, 1903, 1896,    0, 1901, 1890,
2948      1896, 1893, 1898, 1900, 1904, 1894, 1897, 1898, 1907, 1903,
2949      1908, 1909, 1899, 1904, 1914, 1900, 1902, 1901, 1908, 1909,
2950 
2951      1905, 1902, 1903, 1911, 1910, 1912, 1911, 1907, 1910, 1914,
2952      1913, 1904, 1917, 1912, 1915, 1907, 1913, 1908, 1909, 1918,
2953      1915, 1914, 1920, 1919, 1917, 1921, 1922,    0, 1923, 1924,
2954      1911, 1910, 1912, 1925, 1927,    0, 1920, 1913, 1921, 1917,
2955      1922, 1915, 1928, 1930, 1931, 1926, 1918, 1919, 1927, 1920,
2956      1919, 1933, 1921, 1922, 1923, 1923, 1924, 1926, 1934, 1929,
2957      1925, 1927, 1929, 1937, 1936, 1934, 1931, 1935, 1928, 1928,
2958      1930, 1931, 1926, 1933, 1935, 1938, 1939, 1929, 1933, 1936,
2959      1940, 1942, 1944, 1941, 1939, 1934, 1929, 1943, 1945, 1929,
2960      1937, 1936, 1941, 1946, 1935, 1948,    0,    0, 1947, 1943,
2961 
2962      1953, 1952, 1938, 1939, 1944, 1949, 1955, 1940, 1942, 1944,
2963      1941, 1947, 1958, 1948, 1943, 1945, 1950, 1956, 1949, 1957,
2964      1946, 1954, 1948, 1952, 1950, 1947, 1956, 1953, 1952, 1954,
2965      1959, 1960, 1949, 1955, 1961, 1962, 1958, 1964, 1970, 1958,
2966      1957, 1963, 1961, 1950, 1956, 1959, 1957, 1962, 1954, 1963,
2967      1967, 1968, 1966, 1969, 1967, 1972, 1959, 1959, 1960, 1966,
2968      1975, 1961, 1962, 1968, 1964, 1970, 1971, 1972, 1963, 1973,
2969      1981, 1977, 1959, 1978, 1971, 1980, 1969, 1967, 1968, 1966,
2970      1969, 1973, 1972, 1976, 1979, 1979, 1978, 1975, 1981, 1982,
2971      1976, 1977, 1983, 1971, 1985, 1986, 1973, 1981, 1977, 1983,
2972 
2973      1978, 1980, 1980, 1987, 1988, 1991, 1988, 1990, 1996, 1985,
2974      1976, 1979, 1989, 1990, 1982, 1994, 1982, 1986, 1995, 1983,
2975      1996, 1985, 1986, 1992, 1992, 1987, 1989, 1991, 1997, 1999,
2976      1987, 1988, 1991,    0, 1990, 1996, 2000, 1994, 1998, 1989,
2977      1995,    0, 1994, 2003, 1998, 1995, 2001, 2002, 2004, 2002,
2978      1992, 2005, 2010, 2006, 2009, 2011, 2012, 2003, 2000, 2007,
2979      1997, 1999, 2017, 2000, 2008, 1998, 2018, 2009, 2001, 2005,
2980      2003, 2006, 2004, 2001, 2002, 2004, 2016, 2007, 2005, 2012,
2981      2006, 2009, 2008, 2012, 2010, 2014, 2007, 2011, 2017, 2017,
2982      2024, 2008, 2014, 2019, 2016, 2020, 2022, 2020, 2018, 2023,
2983 
2984      2026, 2019, 2020, 2016, 2025,    0, 2028, 2022, 2033,    0,
2985      2023,    0, 2014, 2037, 2029,    0, 2025, 2024, 2026, 2019,
2986      2019, 2028, 2020, 2022, 2020, 2029, 2023, 2026, 2019, 2031,
2987      2030, 2025, 2033, 2028, 2036, 2033, 2034, 2040, 2035, 2045,
2988      2037, 2029, 2030, 2038, 2031, 2035, 2042, 2041, 2043, 2036,
2989      2044, 2047,    0,    0, 2046,    0, 2031, 2030, 2034, 2049,
2990      2048, 2036, 2051, 2034, 2040, 2035, 2045, 2046, 2042, 2038,
2991      2038, 2041, 2049, 2042, 2041, 2048, 2050, 2047, 2047, 2053,
2992      2043, 2046, 2044, 2054, 2050, 2055, 2049, 2048, 2051, 2051,
2993      2057, 2056, 2058, 2059, 2060, 2061,    0, 2064, 2065, 2058,
2994 
2995      2070, 2063, 2053, 2050, 2064, 2065, 2053, 2054, 2057, 2061,
2996      2054, 2067, 2055, 2056, 2066, 2069, 2059, 2057, 2056, 2058,
2997      2059, 2060, 2061, 2063, 2064, 2065, 2068, 2066, 2063, 2071,
2998      2072,    0, 2070, 2068, 2067, 2074, 2075, 2069, 2067, 2072,
2999      2076, 2066, 2069, 2078, 2084, 2084, 2074, 2077, 2081, 2083,
3000      2071, 2082, 2088, 2068, 2085,    0, 2071, 2072, 2075, 2087,
3001      2090, 2081, 2074, 2075, 2089, 2091, 2077, 2094, 2078,    0,
3002      2078, 2084, 2076, 2083, 2077, 2081, 2083, 2082, 2082, 2089,
3003      2085, 2085, 2087, 2091, 2088, 2098, 2087, 2090, 2096, 2099,
3004         0, 2089, 2091, 2106, 2094, 2102, 2104, 2096, 2098, 2105,
3005 
3006      2099, 2103, 2103, 2108, 2110, 2111, 2113, 2114, 2112, 2121,
3007         0, 2113, 2098, 2118,    0, 2096, 2099, 2102, 2104, 2112,
3008      2106, 2105, 2102, 2104, 2117, 2120, 2105,    0, 2103, 2114,
3009      2108, 2111, 2111, 2113, 2114, 2112, 2110, 2116, 2122, 2117,
3010      2118, 2121, 2123, 2120, 2125, 2116, 2127, 2122, 2126,    0,
3011      2129, 2117, 2120, 2130, 2123, 2127, 2126, 2131, 2133, 2132,
3012      2136, 2134, 2138,    0, 2116, 2122, 2139, 2136, 2137, 2123,
3013      2140, 2125, 2141, 2127, 2134, 2126, 2129, 2129, 2135, 2131,
3014      2130, 2132, 2144, 2133, 2131, 2133, 2132, 2136, 2134, 2138,
3015      2137, 2135, 2142, 2139, 2143, 2137, 2145, 2140, 2146, 2141,
3016 
3017      2147, 2148,    0, 2143, 2144, 2135, 2149, 2142, 2151, 2144,
3018      2153, 2154, 2152, 2149, 2155, 2147, 2148, 2156, 2150, 2142,
3019      2152, 2143, 2145, 2145, 2146, 2146, 2157, 2147, 2148, 2150,
3020      2155, 2163, 2156, 2149, 2158, 2151, 2159, 2153, 2154, 2152,
3021      2160, 2155, 2164, 2159, 2156, 2150, 2157, 2161, 2162, 2158,
3022      2165, 2165, 2166, 2157, 2161, 2162, 2167,    0, 2163, 2166,
3023      2164, 2158, 2160, 2159, 2170, 2168, 2172, 2160, 2168, 2164,
3024      2167, 2169, 2175, 2173, 2161, 2162, 2171, 2165, 2172, 2166,
3025      2178, 2175, 2176, 2167, 2169, 2173, 2180, 2176, 2181, 2179,
3026      2170, 2170, 2168, 2172, 2171, 2182, 2183, 2177, 2169, 2175,
3027 
3028      2173, 2177, 2179, 2171, 2178, 2184,    0, 2178, 2180, 2176,
3029      2181, 2186, 2189, 2180, 2188, 2181, 2179, 2190, 2191, 2194,
3030      2193, 2189, 2182, 2183, 2177, 2195, 2191, 2193, 2194, 2196,
3031      2195, 2184, 2184, 2190, 2199, 2197, 2196, 2186, 2186, 2189,
3032      2188, 2188, 2198, 2199, 2190, 2191, 2194, 2193, 2200, 2198,
3033      2202, 2205, 2195, 2197, 2203, 2204, 2196, 2208, 2207, 2203,
3034      2211, 2199, 2197, 2209, 2219, 2217,    0, 2218,    0, 2198,
3035      2210, 2212, 2209, 2204, 2200, 2200, 2207, 2202, 2205, 2210,
3036      2211, 2203, 2204, 2212, 2208, 2207, 2213, 2211, 2215,    0,
3037      2209, 2214, 2217, 2216, 2218, 2213, 2219, 2210, 2212, 2215,
3038 
3039      2214, 2216, 2220, 2223, 2221, 2224, 2222,    0, 2228, 2227,
3040      2225, 2220, 2224, 2213, 2222, 2215, 2221, 2225, 2214, 2226,
3041      2216, 2230, 2229,    0,    0, 2223, 2234,    0,    0, 2220,
3042      2223, 2221, 2224, 2222, 2227, 2228, 2227, 2225, 2237, 2236,
3043      2238, 2226, 2232, 2235, 2234, 2237, 2226, 2229, 2230, 2229,
3044      2232, 2235, 2239, 2234, 2236, 2240, 2244, 2243, 2245, 2239,
3045      2246, 2248, 2238, 2240, 2243, 2237, 2236, 2238, 2247, 2232,
3046      2235, 2249, 2246, 2252, 2251, 2253, 2254, 2247, 2258, 2239,
3047      2244, 2261, 2240, 2244, 2243, 2245, 2251, 2246, 2248, 2263,
3048      2254, 2260, 2256, 2266, 2249, 2247, 2252, 2257, 2249, 2256,
3049 
3050      2252, 2251, 2253, 2254, 2257, 2258, 2260, 2262, 2261, 2264,
3051      2265,    0, 2271, 2273, 2274, 2262, 2263, 2272, 2260, 2256,
3052      2266, 2275, 2272, 2278, 2257, 2265, 2281, 2276, 2274, 2277,
3053      2279, 2264,    0, 2284, 2262, 2275, 2264, 2265, 2271, 2271,
3054      2273, 2274, 2279, 2285, 2272, 2276, 2286, 2277, 2275, 2287,
3055      2278,    0, 2293, 2281, 2276, 2284, 2277, 2279, 2288, 2286,
3056      2284, 2289, 2290, 2291, 2293, 2285, 2296,    0, 2297, 2289,
3057      2285, 2287, 2294, 2286, 2295, 2298, 2287, 2288, 2296, 2293,
3058      2290, 2303, 2291, 2299, 2300, 2288,    0, 2304, 2289, 2290,
3059      2291, 2301, 2306, 2296, 2294, 2297, 2295, 2305, 2302, 2294,
3060 
3061      2301, 2295, 2298, 2299, 2306, 2307, 2300, 2302, 2308, 2304,
3062      2299, 2300, 2309, 2303, 2304, 2312, 2313, 2314, 2301, 2306,
3063      2321, 2315, 2318, 2305, 2305, 2302, 2315, 2307, 2316, 2312,
3064      2317,    0, 2307, 2319, 2322, 2308, 2320,    0, 2321, 2309,
3065      2323, 2314, 2312, 2313, 2314, 2328, 2322, 2321, 2324, 2325,
3066      2316, 2327, 2317, 2315, 2318, 2316, 2319, 2317, 2320, 2323,
3067      2319, 2322, 2330, 2320, 2325, 2332, 2333, 2323, 2335, 2328,
3068      2324, 2334, 2328, 2327, 2338, 2324, 2325, 2330, 2327, 2336,
3069      2334, 2337, 2335, 2342, 2339, 2345, 2344, 2332, 2333, 2330,
3070         0, 2342, 2332, 2333, 2344, 2335, 2343, 2336, 2334, 2337,
3071 
3072      2338, 2338, 2339, 2343, 2347, 2348, 2336, 2346, 2337, 2349,
3073      2342, 2339, 2345, 2344, 2352, 2346, 2350, 2348, 2354, 2355,
3074      2356, 2358, 2347, 2343, 2350, 2354, 2352, 2357, 2359, 2357,
3075      2360, 2347, 2348,    0, 2346,    0, 2349, 2361, 2362, 2363,
3076      2365, 2352, 2355, 2350,    0, 2354, 2355, 2356, 2368, 2366,
3077         0, 2372, 2373, 2358, 2357, 2369, 2374, 2362, 2365, 2376,
3078      2359, 2363, 2360, 2366, 2361, 2362, 2363, 2365, 2369, 2370,
3079      2378, 2368, 2384, 2380, 2386, 2368, 2366, 2372, 2372, 2373,
3080      2380, 2370, 2369, 2374, 2381, 2383, 2376, 2387,    0, 2381,
3081      2389, 2388, 2383, 2391, 2394, 2396, 2370, 2378, 2384, 2384,
3082 
3083      2380, 2386, 2391, 2393, 2389, 2395, 2398, 2397, 2402, 2399,
3084      2393, 2401, 2383, 2412, 2387, 2388, 2381, 2389, 2388, 2397,
3085      2391, 2394, 2396, 2399, 2401, 2403, 2400, 2404, 2411,    0,
3086      2393, 2395, 2395, 2398, 2397, 2400, 2399, 2407, 2401, 2408,
3087      2402, 2409, 2407, 2408, 2410, 2412, 2415, 2414, 2409, 2411,
3088      2404, 2410, 2403, 2400, 2404, 2411, 2413, 2418, 2413, 2420,
3089      2423, 2421, 2423,    0,    0, 2424, 2408,    0, 2409, 2407,
3090      2414, 2410, 2426, 2415, 2414, 2430,    0, 2432, 2420, 2418,
3091      2425, 2425, 2427, 2413, 2418, 2421, 2420, 2423, 2421, 2424,
3092      2425, 2427, 2424, 2428, 2426, 2431, 2432, 2429, 2435, 2426,
3093 
3094      2428, 2433, 2430, 2431, 2432, 2434, 2433, 2425, 2425, 2427,
3095      2429, 2436, 2440, 2434, 2437,    0, 2438,    0, 2439, 2448,
3096      2428,    0, 2431, 2440, 2429, 2435, 2441, 2442, 2443, 2443,
3097         0, 2444, 2434, 2433, 2442, 2452, 2449, 2436, 2436, 2440,
3098      2437, 2437, 2438, 2438, 2439, 2439, 2448, 2450, 2441, 2444,
3099      2445, 2453, 2446, 2441, 2442, 2443, 2450, 2445, 2444, 2446,
3100      2449, 2454, 2452, 2449, 2455, 2457, 2458, 2459, 2463, 2460,
3101         0, 2453, 2462,    0, 2450, 2464,    0, 2445, 2453, 2446,
3102      2474, 2462, 2465, 2468, 2458, 2459, 2455, 2460, 2454, 2466,
3103         0, 2455, 2457, 2458, 2459, 2463, 2460, 2468, 2464, 2462,
3104 
3105      2465, 2466, 2464, 2467, 2469, 2475, 2477, 2474, 2467, 2465,
3106      2468, 2478, 2482, 2481, 2475, 2481, 2466, 2484, 2483, 2486,
3107      2490, 2488, 2469,    0, 2477, 2483, 2478, 2488, 2491, 2495,
3108      2482, 2469, 2475, 2477, 2486, 2467, 2492, 2498, 2478, 2482,
3109      2481, 2493, 2490, 2499, 2500, 2483, 2486, 2490, 2488, 2484,
3110      2491, 2495, 2504,    0, 2496, 2491, 2495, 2496, 2501, 2493,
3111      2502, 2503, 2492, 2492, 2498, 2506, 2509, 2502, 2493, 2503,
3112      2499, 2500, 2507, 2508, 2504, 2514, 2501, 2510, 2516, 2504,
3113      2496, 2496, 2513, 2511, 2496, 2501, 2510, 2502, 2503, 2511,
3114      2512, 2513, 2522, 2509, 2507, 2508, 2515, 2506, 2515, 2507,
3115 
3116      2508, 2519, 2524, 2518, 2510, 2516, 2525, 2514, 2520, 2513,
3117      2511, 2518, 2512, 2519, 2526, 2520, 2524, 2512, 2527, 2522,
3118      2525, 2528, 2531, 2515, 2530, 2533, 2529, 2536, 2519, 2524,
3119      2518, 2537, 2528, 2525, 2529, 2520, 2527, 2526, 2532, 2532,
3120      2539, 2526, 2534, 2530, 2531, 2527, 2539, 2541, 2528, 2531,
3121      2534, 2530, 2533, 2529, 2536, 2543, 2546, 2544, 2537, 2545,
3122      2548,    0, 2553,    0, 2549, 2532, 2543, 2539, 2544, 2534,
3123      2545, 2549, 2550, 2551, 2541, 2556, 2550, 2554, 2546, 2558,
3124      2557, 2551, 2543, 2546, 2544, 2557, 2545, 2548, 2553, 2553,
3125      2554, 2549, 2559, 2561, 2560, 2562, 2563, 2556, 2564, 2550,
3126 
3127      2551, 2560, 2556, 2565, 2554, 2564, 2558, 2557,    0, 2566,
3128      2569, 2562, 2561, 2567, 2563, 2577, 2578, 2566, 2570, 2559,
3129      2561, 2560, 2562, 2563, 2568, 2564, 2571, 2576, 2567, 2575,
3130      2580, 2568, 2581, 2579, 2576, 2565, 2566, 2569,    0, 2561,
3131      2567, 2581, 2570, 2578, 2575, 2570, 2583, 2577, 2584, 2586,
3132      2585, 2568, 2571, 2571, 2576, 2588, 2575, 2579, 2585, 2581,
3133      2579, 2590, 2580, 2591, 2587, 2587, 2592, 2594, 2583, 2595,
3134      2584, 2591, 2597, 2583, 2587, 2584, 2596, 2585, 2598, 2599,
3135      2600, 2586, 2588, 2601, 2592, 2597, 2602, 2604, 2590, 2607,
3136      2591, 2587, 2587, 2592, 2594, 2612, 2595, 2607, 2596, 2597,
3137 
3138      2598, 2614, 2618, 2596, 2609, 2598, 2599, 2600, 2602, 2609,
3139      2601, 2615, 2610, 2602, 2604, 2611, 2607, 2610, 2616, 2617,
3140      2611, 2612, 2612, 2623, 2615, 2616, 2619, 2620, 2614, 2618,
3141      2625, 2609, 2628, 2626, 2619, 2627, 2629, 2617, 2615, 2610,
3142      2630, 2631, 2611, 2632,    0, 2616, 2617,    0, 2627, 2620,
3143      2623, 2629, 2636, 2619, 2620, 2626, 2637, 2625, 2640, 2630,
3144      2626, 2638, 2627, 2629, 2628, 2632, 2634, 2630, 2631, 2635,
3145      2632, 2637, 2641, 2634, 2636, 2645, 2635, 2640, 2648, 2636,
3146      2641, 2644, 2638, 2637, 2642, 2640, 2645, 2643, 2638, 2647,
3147      2644, 2642, 2652, 2634, 2643, 2647, 2635, 2646, 2646, 2641,
3148 
3149      2648, 2655, 2645, 2651, 2656, 2648, 2652, 2646, 2644, 2657,
3150      2651, 2642, 2661, 2663, 2643, 2667, 2647, 2664, 2664, 2652,
3151      2665, 2665, 2666, 2666, 2646, 2646, 2669, 2674, 2655, 2679,
3152      2651, 2656, 2657, 2673, 2670, 2671, 2657, 2678, 2667, 2661,
3153      2663, 2680, 2667, 2670, 2686, 2677, 2664, 2677, 2671, 2665,
3154      2685, 2666, 2679, 2669, 2674, 2673, 2679, 2678, 2681, 2680,
3155      2673, 2670, 2671, 2684, 2678, 2683, 2687, 2688, 2680, 2689,
3156      2681, 2686, 2677, 2691, 2683, 2694, 2685, 2685, 2691, 2688,
3157      2690, 2684, 2692, 2690, 2693, 2681, 2693, 2694, 2699, 2695,
3158      2684, 2689, 2683, 2687, 2688, 2695, 2689, 2696, 2690, 2697,
3159 
3160      2698, 2700, 2694, 2703, 2706, 2691, 2707, 2690, 2698, 2708,
3161      2690, 2693, 2709, 2710, 2692, 2699, 2695, 2711, 2712, 2696,
3162      2714, 2697, 2715, 2700, 2696, 2716, 2697, 2698, 2700, 2718,
3163      2703, 2706, 2716, 2707, 2719, 2722, 2708, 2718, 2714, 2709,
3164      2710, 2720, 2724, 2721, 2711, 2712, 2723, 2714, 2725, 2715,
3165      2722, 2728, 2716, 2720, 2724, 2729, 2718, 2721, 2730, 2730,
3166      2728, 2719, 2722, 2731, 2734, 2732, 2735, 2736, 2720, 2724,
3167      2721,    0, 2723, 2723, 2732, 2725, 2738, 2737, 2728, 2729,
3168      2736, 2742, 2729, 2753, 2738, 2730, 2739, 2751, 2734, 2731,
3169      2731, 2734, 2732, 2742, 2736, 2739, 2740, 2754, 2735, 2737,
3170 
3171      2757, 2756, 2758, 2738, 2737, 2756, 2760, 2740, 2742, 2759,
3172      2753, 2751, 2764, 2739, 2751, 2763, 2759, 2762, 2757, 2760,
3173      2765, 2762, 2767, 2740, 2754, 2758, 2766, 2757, 2756, 2758,
3174         0, 2763, 2768, 2760, 2764, 2769, 2759, 2780, 2766, 2764,
3175      2771, 2770, 2763, 2769, 2762, 2765, 2768, 2765, 2767, 2767,
3176      2770, 2771, 2772, 2766, 2772, 2774, 2775, 2773, 2778, 2768,
3177      2781, 2774, 2769, 2775, 2780, 2779, 2782, 2771, 2770, 2773,
3178      2783, 2778, 2779, 2784, 2785, 2788,    0, 2793, 2781, 2772,
3179      2786, 2789, 2774, 2775, 2773, 2778, 2796, 2781, 2786, 2790,
3180         0, 2787, 2779, 2782, 2798,    0, 2783, 2783, 2787, 2788,
3181 
3182      2784, 2785, 2788, 2789, 2791, 2792, 2791, 2786, 2789, 2793,
3183      2794, 2790, 2795, 2796, 2797, 2800, 2790, 2792, 2787, 2795,
3184      2802, 2798, 2797, 2794, 2805,    0, 2806, 2800, 2808, 2802,
3185      2807, 2791, 2792, 2809, 2810, 2811, 2808, 2794,    0, 2795,
3186      2812, 2797, 2800, 2814,    0, 2819, 2818, 2802, 2811, 2807,
3187      2813, 2805, 2806, 2806, 2812, 2808, 2816, 2807, 2813, 2818,
3188      2822, 2823, 2811, 2816, 2821, 2809, 2810, 2812, 2819, 2823,
3189      2814, 2821, 2819, 2818, 2827, 2824, 2825, 2813, 2826,    0,
3190      2832, 2834, 2822, 2816, 2828, 2830, 2826, 2822, 2823, 2824,
3191      2825, 2821, 2831, 2833, 2830, 2835, 2827, 2840, 2842,    0,
3192 
3193      2831, 2827, 2824, 2825, 2836, 2826, 2828, 2832, 2837, 2839,
3194      2838, 2828, 2830, 2834, 2849, 2833, 2841, 2839, 2844, 2831,
3195      2833, 2835, 2835,    0, 2846, 2842, 2836, 2852, 2854, 2840,
3196      2837, 2836, 2838,    0, 2845, 2837, 2839, 2838, 2841, 2847,
3197      2848, 2844, 2845, 2841, 2846, 2844, 2849, 2847, 2848, 2850,
3198      2851, 2846, 2857, 2852, 2852, 2854, 2855, 2850, 2856, 2855,
3199      2857, 2845, 2858, 2872, 2851, 2860, 2847, 2848, 2859,    0,
3200      2858, 2861,    0, 2862, 2855, 2865, 2850, 2851, 2867, 2857,
3201      2856, 2869, 2859, 2855, 2868, 2856, 2855, 2862, 2874, 2858,
3202      2872, 2860, 2860, 2861, 2870, 2859, 2864, 2864, 2861, 2866,
3203 
3204      2862, 2865, 2865, 2869, 2867, 2867, 2873, 2866, 2869, 2871,
3205      2868, 2868, 2875, 2874, 2870, 2874, 2878, 2871, 2876, 2879,
3206      2877, 2870, 2880, 2864, 2878, 2882, 2866, 2883, 2873, 2885,
3207      2880, 2886, 2891, 2873, 2887, 2883, 2871, 2895, 2876, 2875,
3208      2877, 2879, 2887, 2878, 2889, 2876, 2879, 2877, 2894, 2880,
3209      2898, 2885, 2882, 2886, 2883, 2888, 2885, 2892, 2886, 2891,
3210      2893, 2887, 2899, 2888, 2895, 2892, 2896, 2908, 2893, 2902,
3211      2889, 2889, 2900, 2905, 2894, 2894, 2909, 2898,    0,    0,
3212      2906,    0, 2888,    0, 2892,    0, 2896, 2893, 2906, 2899,
3213      2907, 2902, 2900, 2896, 2908, 2905, 2902,    0, 2907, 2900,
3214 
3215      2905,    0,    0, 2909,    0,    0,    0, 2906,    0,    0,
3216         0,    0,    0,    0,    0,    0,    0, 2907, 2913, 2913,
3217      2913, 2913, 2913, 2913, 2913, 2914, 2914, 2914, 2914, 2914,
3218      2914, 2914, 2915, 2915, 2915, 2915, 2915, 2915, 2915, 2916,
3219      2916, 2916, 2916, 2916, 2916, 2916, 2917, 2917, 2917, 2917,
3220      2917, 2917, 2917, 2919, 2919,    0, 2919, 2919, 2919, 2919,
3221      2920, 2920,    0,    0,    0, 2920, 2920, 2921, 2921,    0,
3222         0, 2921,    0, 2921, 2922,    0,    0,    0,    0,    0,
3223      2922, 2923, 2923,    0,    0,    0, 2923, 2923, 2924,    0,
3224         0,    0,    0,    0, 2924, 2925, 2925,    0, 2925, 2925,
3225 
3226      2925, 2925, 2926, 2926,    0, 2926, 2926, 2926, 2926, 2912,
3227      2912, 2912, 2912, 2912, 2912, 2912, 2912, 2912, 2912, 2912,
3228      2912, 2912, 2912, 2912, 2912, 2912, 2912, 2912, 2912, 2912,
3229      2912, 2912, 2912, 2912, 2912, 2912, 2912, 2912, 2912, 2912,
3230      2912, 2912, 2912, 2912, 2912, 2912, 2912, 2912, 2912, 2912,
3231      2912, 2912, 2912, 2912, 2912, 2912, 2912, 2912, 2912, 2912,
3232      2912, 2912, 2912, 2912, 2912, 2912, 2912, 2912, 2912, 2912,
3233      2912, 2912, 2912, 2912, 2912, 2912
3234     } ;
3235 
3236 static yy_state_type yy_last_accepting_state;
3237 static char *yy_last_accepting_cpos;
3238 
3239 extern int yy_flex_debug;
3240 int yy_flex_debug = 0;
3241 
3242 /* The intent behind this definition is that it'll catch
3243  * any uses of REJECT which flex missed.
3244  */
3245 #define REJECT reject_used_but_not_detected
3246 static int yy_more_flag = 0;
3247 static int yy_more_len = 0;
3248 #define yymore() ((yy_more_flag) = 1)
3249 #define YY_MORE_ADJ (yy_more_len)
3250 #define YY_RESTORE_YY_MORE_OFFSET
3251 char *yytext;
3252 #line 1 "util/configlexer.lex"
3253 #line 2 "util/configlexer.lex"
3254 /*
3255  * configlexer.lex - lexical analyzer for unbound config file
3256  *
3257  * Copyright (c) 2001-2006, NLnet Labs. All rights reserved
3258  *
3259  * See LICENSE for the license.
3260  *
3261  */
3262 
3263 /* because flex keeps having sign-unsigned compare problems that are unfixed*/
3264 #if defined(__clang__)||(defined(__GNUC__)&&((__GNUC__ >4)||(defined(__GNUC_MINOR__)&&(__GNUC__ ==4)&&(__GNUC_MINOR__ >=2))))
3265 #pragma GCC diagnostic ignored "-Wsign-compare"
3266 #endif
3267 
3268 #include <ctype.h>
3269 #include <strings.h>
3270 #ifdef HAVE_GLOB_H
3271 # include <glob.h>
3272 #endif
3273 
3274 #include "util/config_file.h"
3275 #include "util/configparser.h"
3276 void ub_c_error(const char *message);
3277 
3278 #if 0
3279 #define LEXOUT(s)  printf s /* used ONLY when debugging */
3280 #else
3281 #define LEXOUT(s)
3282 #endif
3283 
3284 /** avoid warning in about fwrite return value */
3285 #define ECHO ub_c_error_msg("syntax error at text: %s", yytext)
3286 
3287 /** A parser variable, this is a statement in the config file which is
3288  * of the form variable: value1 value2 ...  nargs is the number of values. */
3289 #define YDVAR(nargs, var) \
3290 	num_args=(nargs); \
3291 	LEXOUT(("v(%s%d) ", yytext, num_args)); \
3292 	if(num_args > 0) { BEGIN(val); } \
3293 	return (var);
3294 
3295 struct inc_state {
3296 	char* filename;
3297 	int line;
3298 	YY_BUFFER_STATE buffer;
3299 	struct inc_state* next;
3300 };
3301 static struct inc_state* config_include_stack = NULL;
3302 static int inc_depth = 0;
3303 static int inc_prev = 0;
3304 static int num_args = 0;
3305 
3306 void init_cfg_parse(void)
3307 {
3308 	config_include_stack = NULL;
3309 	inc_depth = 0;
3310 	inc_prev = 0;
3311 	num_args = 0;
3312 }
3313 
3314 static void config_start_include(const char* filename)
3315 {
3316 	FILE *input;
3317 	struct inc_state* s;
3318 	char* nm;
3319 	if(inc_depth++ > 100000) {
3320 		ub_c_error_msg("too many include files");
3321 		return;
3322 	}
3323 	if(*filename == '\0') {
3324 		ub_c_error_msg("empty include file name");
3325 		return;
3326 	}
3327 	s = (struct inc_state*)malloc(sizeof(*s));
3328 	if(!s) {
3329 		ub_c_error_msg("include %s: malloc failure", filename);
3330 		return;
3331 	}
3332 	if(cfg_parser->chroot && strncmp(filename, cfg_parser->chroot,
3333 		strlen(cfg_parser->chroot)) == 0) {
3334 		filename += strlen(cfg_parser->chroot);
3335 	}
3336 	nm = strdup(filename);
3337 	if(!nm) {
3338 		ub_c_error_msg("include %s: strdup failure", filename);
3339 		free(s);
3340 		return;
3341 	}
3342 	input = fopen(filename, "r");
3343 	if(!input) {
3344 		ub_c_error_msg("cannot open include file '%s': %s",
3345 			filename, strerror(errno));
3346 		free(s);
3347 		free(nm);
3348 		return;
3349 	}
3350 	LEXOUT(("switch_to_include_file(%s)\n", filename));
3351 	s->filename = cfg_parser->filename;
3352 	s->line = cfg_parser->line;
3353 	s->buffer = YY_CURRENT_BUFFER;
3354 	s->next = config_include_stack;
3355 	config_include_stack = s;
3356 	cfg_parser->filename = nm;
3357 	cfg_parser->line = 1;
3358 	yy_switch_to_buffer(yy_create_buffer(input, YY_BUF_SIZE));
3359 }
3360 
3361 static void config_start_include_glob(const char* filename)
3362 {
3363 
3364 	/* check for wildcards */
3365 #ifdef HAVE_GLOB
3366 	glob_t g;
3367 	int i, r, flags;
3368 	if(!(!strchr(filename, '*') && !strchr(filename, '?') && !strchr(filename, '[') &&
3369 		!strchr(filename, '{') && !strchr(filename, '~'))) {
3370 		flags = 0
3371 #ifdef GLOB_ERR
3372 			| GLOB_ERR
3373 #endif
3374 			 /* do not set GLOB_NOSORT so the results are sorted
3375 			    and in a predictable order. */
3376 #ifdef GLOB_BRACE
3377 			| GLOB_BRACE
3378 #endif
3379 #ifdef GLOB_TILDE
3380 			| GLOB_TILDE
3381 #endif
3382 		;
3383 		memset(&g, 0, sizeof(g));
3384 		if(cfg_parser->chroot && strncmp(filename, cfg_parser->chroot,
3385 			strlen(cfg_parser->chroot)) == 0) {
3386 			filename += strlen(cfg_parser->chroot);
3387 		}
3388 		r = glob(filename, flags, NULL, &g);
3389 		if(r) {
3390 			/* some error */
3391 			globfree(&g);
3392 			if(r == GLOB_NOMATCH)
3393 				return; /* no matches for pattern */
3394 			config_start_include(filename); /* let original deal with it */
3395 			return;
3396 		}
3397 		/* process files found, if any */
3398 		for(i=(int)g.gl_pathc-1; i>=0; i--) {
3399 			config_start_include(g.gl_pathv[i]);
3400 		}
3401 		globfree(&g);
3402 		return;
3403 	}
3404 #endif /* HAVE_GLOB */
3405 
3406 	config_start_include(filename);
3407 }
3408 
3409 static void config_end_include(void)
3410 {
3411 	struct inc_state* s = config_include_stack;
3412 	--inc_depth;
3413 	if(!s) return;
3414 	free(cfg_parser->filename);
3415 	cfg_parser->filename = s->filename;
3416 	cfg_parser->line = s->line;
3417 	yy_delete_buffer(YY_CURRENT_BUFFER);
3418 	yy_switch_to_buffer(s->buffer);
3419 	config_include_stack = s->next;
3420 	free(s);
3421 }
3422 
3423 #ifndef yy_set_bol /* compat definition, for flex 2.4.6 */
3424 #define yy_set_bol(at_bol) \
3425         { \
3426 	        if ( ! yy_current_buffer ) \
3427 	                yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
3428 	        yy_current_buffer->yy_ch_buf[0] = ((at_bol)?'\n':' '); \
3429         }
3430 #endif
3431 
3432 #line 3431 "<stdout>"
3433 #define YY_NO_INPUT 1
3434 #line 184 "util/configlexer.lex"
3435 #ifndef YY_NO_UNPUT
3436 #define YY_NO_UNPUT 1
3437 #endif
3438 #ifndef YY_NO_INPUT
3439 #define YY_NO_INPUT 1
3440 #endif
3441 #line 3440 "<stdout>"
3442 
3443 #line 3442 "<stdout>"
3444 
3445 #define INITIAL 0
3446 #define quotedstring 1
3447 #define singlequotedstr 2
3448 #define include 3
3449 #define include_quoted 4
3450 #define val 5
3451 
3452 #ifndef YY_NO_UNISTD_H
3453 /* Special case for "unistd.h", since it is non-ANSI. We include it way
3454  * down here because we want the user's section 1 to have been scanned first.
3455  * The user has a chance to override it with an option.
3456  */
3457 #include <unistd.h>
3458 #endif
3459 
3460 #ifndef YY_EXTRA_TYPE
3461 #define YY_EXTRA_TYPE void *
3462 #endif
3463 
3464 static int yy_init_globals ( void );
3465 
3466 /* Accessor methods to globals.
3467    These are made visible to non-reentrant scanners for convenience. */
3468 
3469 int yylex_destroy ( void );
3470 
3471 int yyget_debug ( void );
3472 
3473 void yyset_debug ( int debug_flag  );
3474 
3475 YY_EXTRA_TYPE yyget_extra ( void );
3476 
3477 void yyset_extra ( YY_EXTRA_TYPE user_defined  );
3478 
3479 FILE *yyget_in ( void );
3480 
3481 void yyset_in  ( FILE * _in_str  );
3482 
3483 FILE *yyget_out ( void );
3484 
3485 void yyset_out  ( FILE * _out_str  );
3486 
3487 			int yyget_leng ( void );
3488 
3489 char *yyget_text ( void );
3490 
3491 int yyget_lineno ( void );
3492 
3493 void yyset_lineno ( int _line_number  );
3494 
3495 /* Macros after this point can all be overridden by user definitions in
3496  * section 1.
3497  */
3498 
3499 #ifndef YY_SKIP_YYWRAP
3500 #ifdef __cplusplus
3501 extern "C" int yywrap ( void );
3502 #else
3503 extern int yywrap ( void );
3504 #endif
3505 #endif
3506 
3507 #ifndef YY_NO_UNPUT
3508 
3509 #endif
3510 
3511 #ifndef yytext_ptr
3512 static void yy_flex_strncpy ( char *, const char *, int );
3513 #endif
3514 
3515 #ifdef YY_NEED_STRLEN
3516 static int yy_flex_strlen ( const char * );
3517 #endif
3518 
3519 #ifndef YY_NO_INPUT
3520 #ifdef __cplusplus
3521 static int yyinput ( void );
3522 #else
3523 static int input ( void );
3524 #endif
3525 
3526 #endif
3527 
3528 /* Amount of stuff to slurp up with each read. */
3529 #ifndef YY_READ_BUF_SIZE
3530 #ifdef __ia64__
3531 /* On IA-64, the buffer size is 16k, not 8k */
3532 #define YY_READ_BUF_SIZE 16384
3533 #else
3534 #define YY_READ_BUF_SIZE 8192
3535 #endif /* __ia64__ */
3536 #endif
3537 
3538 /* Copy whatever the last rule matched to the standard output. */
3539 #ifndef ECHO
3540 /* This used to be an fputs(), but since the string might contain NUL's,
3541  * we now use fwrite().
3542  */
3543 #define ECHO do { if (fwrite( yytext, (size_t) yyleng, 1, yyout )) {} } while (0)
3544 #endif
3545 
3546 /* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
3547  * is returned in "result".
3548  */
3549 #ifndef YY_INPUT
3550 #define YY_INPUT(buf,result,max_size) \
3551 	if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
3552 		{ \
3553 		int c = '*'; \
3554 		int n; \
3555 		for ( n = 0; n < max_size && \
3556 			     (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
3557 			buf[n] = (char) c; \
3558 		if ( c == '\n' ) \
3559 			buf[n++] = (char) c; \
3560 		if ( c == EOF && ferror( yyin ) ) \
3561 			YY_FATAL_ERROR( "input in flex scanner failed" ); \
3562 		result = n; \
3563 		} \
3564 	else \
3565 		{ \
3566 		errno=0; \
3567 		while ( (result = (int) fread(buf, 1, (yy_size_t) max_size, yyin)) == 0 && ferror(yyin)) \
3568 			{ \
3569 			if( errno != EINTR) \
3570 				{ \
3571 				YY_FATAL_ERROR( "input in flex scanner failed" ); \
3572 				break; \
3573 				} \
3574 			errno=0; \
3575 			clearerr(yyin); \
3576 			} \
3577 		}\
3578 \
3579 
3580 #endif
3581 
3582 /* No semi-colon after return; correct usage is to write "yyterminate();" -
3583  * we don't want an extra ';' after the "return" because that will cause
3584  * some compilers to complain about unreachable statements.
3585  */
3586 #ifndef yyterminate
3587 #define yyterminate() return YY_NULL
3588 #endif
3589 
3590 /* Number of entries by which start-condition stack grows. */
3591 #ifndef YY_START_STACK_INCR
3592 #define YY_START_STACK_INCR 25
3593 #endif
3594 
3595 /* Report a fatal error. */
3596 #ifndef YY_FATAL_ERROR
3597 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
3598 #endif
3599 
3600 /* end tables serialization structures and prototypes */
3601 
3602 /* Default declaration of generated scanner - a define so the user can
3603  * easily add parameters.
3604  */
3605 #ifndef YY_DECL
3606 #define YY_DECL_IS_OURS 1
3607 
3608 extern int yylex (void);
3609 
3610 #define YY_DECL int yylex (void)
3611 #endif /* !YY_DECL */
3612 
3613 /* Code executed at the beginning of each rule, after yytext and yyleng
3614  * have been set up.
3615  */
3616 #ifndef YY_USER_ACTION
3617 #define YY_USER_ACTION
3618 #endif
3619 
3620 /* Code executed at the end of each rule. */
3621 #ifndef YY_BREAK
3622 #define YY_BREAK /*LINTED*/break;
3623 #endif
3624 
3625 #define YY_RULE_SETUP \
3626 	YY_USER_ACTION
3627 
3628 /** The main scanner function which does all the work.
3629  */
3630 YY_DECL
3631 {
3632 	yy_state_type yy_current_state;
3633 	char *yy_cp, *yy_bp;
3634 	int yy_act;
3635 
3636 	if ( !(yy_init) )
3637 		{
3638 		(yy_init) = 1;
3639 
3640 #ifdef YY_USER_INIT
3641 		YY_USER_INIT;
3642 #endif
3643 
3644 		if ( ! (yy_start) )
3645 			(yy_start) = 1;	/* first start state */
3646 
3647 		if ( ! yyin )
3648 			yyin = stdin;
3649 
3650 		if ( ! yyout )
3651 			yyout = stdout;
3652 
3653 		if ( ! YY_CURRENT_BUFFER ) {
3654 			yyensure_buffer_stack ();
3655 			YY_CURRENT_BUFFER_LVALUE =
3656 				yy_create_buffer( yyin, YY_BUF_SIZE );
3657 		}
3658 
3659 		yy_load_buffer_state(  );
3660 		}
3661 
3662 	{
3663 #line 204 "util/configlexer.lex"
3664 
3665 #line 3664 "<stdout>"
3666 
3667 	while ( /*CONSTCOND*/1 )		/* loops until end-of-file is reached */
3668 		{
3669 		(yy_more_len) = 0;
3670 		if ( (yy_more_flag) )
3671 			{
3672 			(yy_more_len) = (int) ((yy_c_buf_p) - (yytext_ptr));
3673 			(yy_more_flag) = 0;
3674 			}
3675 		yy_cp = (yy_c_buf_p);
3676 
3677 		/* Support of yytext. */
3678 		*yy_cp = (yy_hold_char);
3679 
3680 		/* yy_bp points to the position in yy_ch_buf of the start of
3681 		 * the current run.
3682 		 */
3683 		yy_bp = yy_cp;
3684 
3685 		yy_current_state = (yy_start);
3686 yy_match:
3687 		do
3688 			{
3689 			YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)] ;
3690 			if ( yy_accept[yy_current_state] )
3691 				{
3692 				(yy_last_accepting_state) = yy_current_state;
3693 				(yy_last_accepting_cpos) = yy_cp;
3694 				}
3695 			while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3696 				{
3697 				yy_current_state = (int) yy_def[yy_current_state];
3698 				if ( yy_current_state >= 2913 )
3699 					yy_c = yy_meta[yy_c];
3700 				}
3701 			yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
3702 			++yy_cp;
3703 			}
3704 		while ( yy_base[yy_current_state] != 8310 );
3705 
3706 yy_find_action:
3707 		yy_act = yy_accept[yy_current_state];
3708 		if ( yy_act == 0 )
3709 			{ /* have to back up */
3710 			yy_cp = (yy_last_accepting_cpos);
3711 			yy_current_state = (yy_last_accepting_state);
3712 			yy_act = yy_accept[yy_current_state];
3713 			}
3714 
3715 		YY_DO_BEFORE_ACTION;
3716 
3717 do_action:	/* This label is used only to access EOF actions. */
3718 
3719 		switch ( yy_act )
3720 	{ /* beginning of action switch */
3721 			case 0: /* must back up */
3722 			/* undo the effects of YY_DO_BEFORE_ACTION */
3723 			*yy_cp = (yy_hold_char);
3724 			yy_cp = (yy_last_accepting_cpos);
3725 			yy_current_state = (yy_last_accepting_state);
3726 			goto yy_find_action;
3727 
3728 case 1:
3729 YY_RULE_SETUP
3730 #line 205 "util/configlexer.lex"
3731 {
3732 	LEXOUT(("SP ")); /* ignore */ }
3733 	YY_BREAK
3734 case 2:
3735 YY_RULE_SETUP
3736 #line 207 "util/configlexer.lex"
3737 {
3738 	/* note that flex makes the longest match and '.' is any but not nl */
3739 	LEXOUT(("comment(%s) ", yytext)); /* ignore */ }
3740 	YY_BREAK
3741 case 3:
3742 YY_RULE_SETUP
3743 #line 210 "util/configlexer.lex"
3744 { YDVAR(0, VAR_SERVER) }
3745 	YY_BREAK
3746 case 4:
3747 YY_RULE_SETUP
3748 #line 211 "util/configlexer.lex"
3749 { YDVAR(1, VAR_QNAME_MINIMISATION) }
3750 	YY_BREAK
3751 case 5:
3752 YY_RULE_SETUP
3753 #line 212 "util/configlexer.lex"
3754 { YDVAR(1, VAR_QNAME_MINIMISATION_STRICT) }
3755 	YY_BREAK
3756 case 6:
3757 YY_RULE_SETUP
3758 #line 213 "util/configlexer.lex"
3759 { YDVAR(1, VAR_NUM_THREADS) }
3760 	YY_BREAK
3761 case 7:
3762 YY_RULE_SETUP
3763 #line 214 "util/configlexer.lex"
3764 { YDVAR(1, VAR_VERBOSITY) }
3765 	YY_BREAK
3766 case 8:
3767 YY_RULE_SETUP
3768 #line 215 "util/configlexer.lex"
3769 { YDVAR(1, VAR_PORT) }
3770 	YY_BREAK
3771 case 9:
3772 YY_RULE_SETUP
3773 #line 216 "util/configlexer.lex"
3774 { YDVAR(1, VAR_OUTGOING_RANGE) }
3775 	YY_BREAK
3776 case 10:
3777 YY_RULE_SETUP
3778 #line 217 "util/configlexer.lex"
3779 { YDVAR(1, VAR_OUTGOING_PORT_PERMIT) }
3780 	YY_BREAK
3781 case 11:
3782 YY_RULE_SETUP
3783 #line 218 "util/configlexer.lex"
3784 { YDVAR(1, VAR_OUTGOING_PORT_AVOID) }
3785 	YY_BREAK
3786 case 12:
3787 YY_RULE_SETUP
3788 #line 219 "util/configlexer.lex"
3789 { YDVAR(1, VAR_OUTGOING_NUM_TCP) }
3790 	YY_BREAK
3791 case 13:
3792 YY_RULE_SETUP
3793 #line 220 "util/configlexer.lex"
3794 { YDVAR(1, VAR_INCOMING_NUM_TCP) }
3795 	YY_BREAK
3796 case 14:
3797 YY_RULE_SETUP
3798 #line 221 "util/configlexer.lex"
3799 { YDVAR(1, VAR_DO_IP4) }
3800 	YY_BREAK
3801 case 15:
3802 YY_RULE_SETUP
3803 #line 222 "util/configlexer.lex"
3804 { YDVAR(1, VAR_DO_IP6) }
3805 	YY_BREAK
3806 case 16:
3807 YY_RULE_SETUP
3808 #line 223 "util/configlexer.lex"
3809 { YDVAR(1, VAR_PREFER_IP6) }
3810 	YY_BREAK
3811 case 17:
3812 YY_RULE_SETUP
3813 #line 224 "util/configlexer.lex"
3814 { YDVAR(1, VAR_DO_UDP) }
3815 	YY_BREAK
3816 case 18:
3817 YY_RULE_SETUP
3818 #line 225 "util/configlexer.lex"
3819 { YDVAR(1, VAR_DO_TCP) }
3820 	YY_BREAK
3821 case 19:
3822 YY_RULE_SETUP
3823 #line 226 "util/configlexer.lex"
3824 { YDVAR(1, VAR_TCP_UPSTREAM) }
3825 	YY_BREAK
3826 case 20:
3827 YY_RULE_SETUP
3828 #line 227 "util/configlexer.lex"
3829 { YDVAR(1, VAR_TCP_MSS) }
3830 	YY_BREAK
3831 case 21:
3832 YY_RULE_SETUP
3833 #line 228 "util/configlexer.lex"
3834 { YDVAR(1, VAR_OUTGOING_TCP_MSS) }
3835 	YY_BREAK
3836 case 22:
3837 YY_RULE_SETUP
3838 #line 229 "util/configlexer.lex"
3839 { YDVAR(1, VAR_TCP_IDLE_TIMEOUT) }
3840 	YY_BREAK
3841 case 23:
3842 YY_RULE_SETUP
3843 #line 230 "util/configlexer.lex"
3844 { YDVAR(1, VAR_EDNS_TCP_KEEPALIVE) }
3845 	YY_BREAK
3846 case 24:
3847 YY_RULE_SETUP
3848 #line 231 "util/configlexer.lex"
3849 { YDVAR(1, VAR_EDNS_TCP_KEEPALIVE_TIMEOUT) }
3850 	YY_BREAK
3851 case 25:
3852 YY_RULE_SETUP
3853 #line 232 "util/configlexer.lex"
3854 { YDVAR(1, VAR_SSL_UPSTREAM) }
3855 	YY_BREAK
3856 case 26:
3857 YY_RULE_SETUP
3858 #line 233 "util/configlexer.lex"
3859 { YDVAR(1, VAR_SSL_UPSTREAM) }
3860 	YY_BREAK
3861 case 27:
3862 YY_RULE_SETUP
3863 #line 234 "util/configlexer.lex"
3864 { YDVAR(1, VAR_SSL_SERVICE_KEY) }
3865 	YY_BREAK
3866 case 28:
3867 YY_RULE_SETUP
3868 #line 235 "util/configlexer.lex"
3869 { YDVAR(1, VAR_SSL_SERVICE_KEY) }
3870 	YY_BREAK
3871 case 29:
3872 YY_RULE_SETUP
3873 #line 236 "util/configlexer.lex"
3874 { YDVAR(1, VAR_SSL_SERVICE_PEM) }
3875 	YY_BREAK
3876 case 30:
3877 YY_RULE_SETUP
3878 #line 237 "util/configlexer.lex"
3879 { YDVAR(1, VAR_SSL_SERVICE_PEM) }
3880 	YY_BREAK
3881 case 31:
3882 YY_RULE_SETUP
3883 #line 238 "util/configlexer.lex"
3884 { YDVAR(1, VAR_SSL_PORT) }
3885 	YY_BREAK
3886 case 32:
3887 YY_RULE_SETUP
3888 #line 239 "util/configlexer.lex"
3889 { YDVAR(1, VAR_SSL_PORT) }
3890 	YY_BREAK
3891 case 33:
3892 YY_RULE_SETUP
3893 #line 240 "util/configlexer.lex"
3894 { YDVAR(1, VAR_TLS_CERT_BUNDLE) }
3895 	YY_BREAK
3896 case 34:
3897 YY_RULE_SETUP
3898 #line 241 "util/configlexer.lex"
3899 { YDVAR(1, VAR_TLS_CERT_BUNDLE) }
3900 	YY_BREAK
3901 case 35:
3902 YY_RULE_SETUP
3903 #line 242 "util/configlexer.lex"
3904 { YDVAR(1, VAR_TLS_WIN_CERT) }
3905 	YY_BREAK
3906 case 36:
3907 YY_RULE_SETUP
3908 #line 243 "util/configlexer.lex"
3909 { YDVAR(1, VAR_TLS_ADDITIONAL_PORT) }
3910 	YY_BREAK
3911 case 37:
3912 YY_RULE_SETUP
3913 #line 244 "util/configlexer.lex"
3914 { YDVAR(1, VAR_TLS_ADDITIONAL_PORT) }
3915 	YY_BREAK
3916 case 38:
3917 YY_RULE_SETUP
3918 #line 245 "util/configlexer.lex"
3919 { YDVAR(1, VAR_TLS_ADDITIONAL_PORT) }
3920 	YY_BREAK
3921 case 39:
3922 YY_RULE_SETUP
3923 #line 246 "util/configlexer.lex"
3924 { YDVAR(1, VAR_TLS_ADDITIONAL_PORT) }
3925 	YY_BREAK
3926 case 40:
3927 YY_RULE_SETUP
3928 #line 247 "util/configlexer.lex"
3929 { YDVAR(1, VAR_TLS_SESSION_TICKET_KEYS) }
3930 	YY_BREAK
3931 case 41:
3932 YY_RULE_SETUP
3933 #line 248 "util/configlexer.lex"
3934 { YDVAR(1, VAR_TLS_CIPHERS) }
3935 	YY_BREAK
3936 case 42:
3937 YY_RULE_SETUP
3938 #line 249 "util/configlexer.lex"
3939 { YDVAR(1, VAR_TLS_CIPHERSUITES) }
3940 	YY_BREAK
3941 case 43:
3942 YY_RULE_SETUP
3943 #line 250 "util/configlexer.lex"
3944 { YDVAR(1, VAR_USE_SYSTEMD) }
3945 	YY_BREAK
3946 case 44:
3947 YY_RULE_SETUP
3948 #line 251 "util/configlexer.lex"
3949 { YDVAR(1, VAR_DO_DAEMONIZE) }
3950 	YY_BREAK
3951 case 45:
3952 YY_RULE_SETUP
3953 #line 252 "util/configlexer.lex"
3954 { YDVAR(1, VAR_INTERFACE) }
3955 	YY_BREAK
3956 case 46:
3957 YY_RULE_SETUP
3958 #line 253 "util/configlexer.lex"
3959 { YDVAR(1, VAR_INTERFACE) }
3960 	YY_BREAK
3961 case 47:
3962 YY_RULE_SETUP
3963 #line 254 "util/configlexer.lex"
3964 { YDVAR(1, VAR_OUTGOING_INTERFACE) }
3965 	YY_BREAK
3966 case 48:
3967 YY_RULE_SETUP
3968 #line 255 "util/configlexer.lex"
3969 { YDVAR(1, VAR_INTERFACE_AUTOMATIC) }
3970 	YY_BREAK
3971 case 49:
3972 YY_RULE_SETUP
3973 #line 256 "util/configlexer.lex"
3974 { YDVAR(1, VAR_SO_RCVBUF) }
3975 	YY_BREAK
3976 case 50:
3977 YY_RULE_SETUP
3978 #line 257 "util/configlexer.lex"
3979 { YDVAR(1, VAR_SO_SNDBUF) }
3980 	YY_BREAK
3981 case 51:
3982 YY_RULE_SETUP
3983 #line 258 "util/configlexer.lex"
3984 { YDVAR(1, VAR_SO_REUSEPORT) }
3985 	YY_BREAK
3986 case 52:
3987 YY_RULE_SETUP
3988 #line 259 "util/configlexer.lex"
3989 { YDVAR(1, VAR_IP_TRANSPARENT) }
3990 	YY_BREAK
3991 case 53:
3992 YY_RULE_SETUP
3993 #line 260 "util/configlexer.lex"
3994 { YDVAR(1, VAR_IP_FREEBIND) }
3995 	YY_BREAK
3996 case 54:
3997 YY_RULE_SETUP
3998 #line 261 "util/configlexer.lex"
3999 { YDVAR(1, VAR_CHROOT) }
4000 	YY_BREAK
4001 case 55:
4002 YY_RULE_SETUP
4003 #line 262 "util/configlexer.lex"
4004 { YDVAR(1, VAR_USERNAME) }
4005 	YY_BREAK
4006 case 56:
4007 YY_RULE_SETUP
4008 #line 263 "util/configlexer.lex"
4009 { YDVAR(1, VAR_DIRECTORY) }
4010 	YY_BREAK
4011 case 57:
4012 YY_RULE_SETUP
4013 #line 264 "util/configlexer.lex"
4014 { YDVAR(1, VAR_LOGFILE) }
4015 	YY_BREAK
4016 case 58:
4017 YY_RULE_SETUP
4018 #line 265 "util/configlexer.lex"
4019 { YDVAR(1, VAR_PIDFILE) }
4020 	YY_BREAK
4021 case 59:
4022 YY_RULE_SETUP
4023 #line 266 "util/configlexer.lex"
4024 { YDVAR(1, VAR_ROOT_HINTS) }
4025 	YY_BREAK
4026 case 60:
4027 YY_RULE_SETUP
4028 #line 267 "util/configlexer.lex"
4029 { YDVAR(1, VAR_STREAM_WAIT_SIZE) }
4030 	YY_BREAK
4031 case 61:
4032 YY_RULE_SETUP
4033 #line 268 "util/configlexer.lex"
4034 { YDVAR(1, VAR_EDNS_BUFFER_SIZE) }
4035 	YY_BREAK
4036 case 62:
4037 YY_RULE_SETUP
4038 #line 269 "util/configlexer.lex"
4039 { YDVAR(1, VAR_MSG_BUFFER_SIZE) }
4040 	YY_BREAK
4041 case 63:
4042 YY_RULE_SETUP
4043 #line 270 "util/configlexer.lex"
4044 { YDVAR(1, VAR_MSG_CACHE_SIZE) }
4045 	YY_BREAK
4046 case 64:
4047 YY_RULE_SETUP
4048 #line 271 "util/configlexer.lex"
4049 { YDVAR(1, VAR_MSG_CACHE_SLABS) }
4050 	YY_BREAK
4051 case 65:
4052 YY_RULE_SETUP
4053 #line 272 "util/configlexer.lex"
4054 { YDVAR(1, VAR_RRSET_CACHE_SIZE) }
4055 	YY_BREAK
4056 case 66:
4057 YY_RULE_SETUP
4058 #line 273 "util/configlexer.lex"
4059 { YDVAR(1, VAR_RRSET_CACHE_SLABS) }
4060 	YY_BREAK
4061 case 67:
4062 YY_RULE_SETUP
4063 #line 274 "util/configlexer.lex"
4064 { YDVAR(1, VAR_CACHE_MAX_TTL) }
4065 	YY_BREAK
4066 case 68:
4067 YY_RULE_SETUP
4068 #line 275 "util/configlexer.lex"
4069 { YDVAR(1, VAR_CACHE_MAX_NEGATIVE_TTL) }
4070 	YY_BREAK
4071 case 69:
4072 YY_RULE_SETUP
4073 #line 276 "util/configlexer.lex"
4074 { YDVAR(1, VAR_CACHE_MIN_TTL) }
4075 	YY_BREAK
4076 case 70:
4077 YY_RULE_SETUP
4078 #line 277 "util/configlexer.lex"
4079 { YDVAR(1, VAR_INFRA_HOST_TTL) }
4080 	YY_BREAK
4081 case 71:
4082 YY_RULE_SETUP
4083 #line 278 "util/configlexer.lex"
4084 { YDVAR(1, VAR_INFRA_LAME_TTL) }
4085 	YY_BREAK
4086 case 72:
4087 YY_RULE_SETUP
4088 #line 279 "util/configlexer.lex"
4089 { YDVAR(1, VAR_INFRA_CACHE_SLABS) }
4090 	YY_BREAK
4091 case 73:
4092 YY_RULE_SETUP
4093 #line 280 "util/configlexer.lex"
4094 { YDVAR(1, VAR_INFRA_CACHE_NUMHOSTS) }
4095 	YY_BREAK
4096 case 74:
4097 YY_RULE_SETUP
4098 #line 281 "util/configlexer.lex"
4099 { YDVAR(1, VAR_INFRA_CACHE_LAME_SIZE) }
4100 	YY_BREAK
4101 case 75:
4102 YY_RULE_SETUP
4103 #line 282 "util/configlexer.lex"
4104 { YDVAR(1, VAR_INFRA_CACHE_MIN_RTT) }
4105 	YY_BREAK
4106 case 76:
4107 YY_RULE_SETUP
4108 #line 283 "util/configlexer.lex"
4109 { YDVAR(1, VAR_NUM_QUERIES_PER_THREAD) }
4110 	YY_BREAK
4111 case 77:
4112 YY_RULE_SETUP
4113 #line 284 "util/configlexer.lex"
4114 { YDVAR(1, VAR_JOSTLE_TIMEOUT) }
4115 	YY_BREAK
4116 case 78:
4117 YY_RULE_SETUP
4118 #line 285 "util/configlexer.lex"
4119 { YDVAR(1, VAR_DELAY_CLOSE) }
4120 	YY_BREAK
4121 case 79:
4122 YY_RULE_SETUP
4123 #line 286 "util/configlexer.lex"
4124 { YDVAR(1, VAR_TARGET_FETCH_POLICY) }
4125 	YY_BREAK
4126 case 80:
4127 YY_RULE_SETUP
4128 #line 287 "util/configlexer.lex"
4129 { YDVAR(1, VAR_HARDEN_SHORT_BUFSIZE) }
4130 	YY_BREAK
4131 case 81:
4132 YY_RULE_SETUP
4133 #line 288 "util/configlexer.lex"
4134 { YDVAR(1, VAR_HARDEN_LARGE_QUERIES) }
4135 	YY_BREAK
4136 case 82:
4137 YY_RULE_SETUP
4138 #line 289 "util/configlexer.lex"
4139 { YDVAR(1, VAR_HARDEN_GLUE) }
4140 	YY_BREAK
4141 case 83:
4142 YY_RULE_SETUP
4143 #line 290 "util/configlexer.lex"
4144 { YDVAR(1, VAR_HARDEN_DNSSEC_STRIPPED) }
4145 	YY_BREAK
4146 case 84:
4147 YY_RULE_SETUP
4148 #line 291 "util/configlexer.lex"
4149 { YDVAR(1, VAR_HARDEN_BELOW_NXDOMAIN) }
4150 	YY_BREAK
4151 case 85:
4152 YY_RULE_SETUP
4153 #line 292 "util/configlexer.lex"
4154 { YDVAR(1, VAR_HARDEN_REFERRAL_PATH) }
4155 	YY_BREAK
4156 case 86:
4157 YY_RULE_SETUP
4158 #line 293 "util/configlexer.lex"
4159 { YDVAR(1, VAR_HARDEN_ALGO_DOWNGRADE) }
4160 	YY_BREAK
4161 case 87:
4162 YY_RULE_SETUP
4163 #line 294 "util/configlexer.lex"
4164 { YDVAR(1, VAR_USE_CAPS_FOR_ID) }
4165 	YY_BREAK
4166 case 88:
4167 YY_RULE_SETUP
4168 #line 295 "util/configlexer.lex"
4169 { YDVAR(1, VAR_CAPS_WHITELIST) }
4170 	YY_BREAK
4171 case 89:
4172 YY_RULE_SETUP
4173 #line 296 "util/configlexer.lex"
4174 { YDVAR(1, VAR_UNWANTED_REPLY_THRESHOLD) }
4175 	YY_BREAK
4176 case 90:
4177 YY_RULE_SETUP
4178 #line 297 "util/configlexer.lex"
4179 { YDVAR(1, VAR_PRIVATE_ADDRESS) }
4180 	YY_BREAK
4181 case 91:
4182 YY_RULE_SETUP
4183 #line 298 "util/configlexer.lex"
4184 { YDVAR(1, VAR_PRIVATE_DOMAIN) }
4185 	YY_BREAK
4186 case 92:
4187 YY_RULE_SETUP
4188 #line 299 "util/configlexer.lex"
4189 { YDVAR(1, VAR_PREFETCH_KEY) }
4190 	YY_BREAK
4191 case 93:
4192 YY_RULE_SETUP
4193 #line 300 "util/configlexer.lex"
4194 { YDVAR(1, VAR_PREFETCH) }
4195 	YY_BREAK
4196 case 94:
4197 YY_RULE_SETUP
4198 #line 301 "util/configlexer.lex"
4199 { YDVAR(1, VAR_DENY_ANY) }
4200 	YY_BREAK
4201 case 95:
4202 YY_RULE_SETUP
4203 #line 302 "util/configlexer.lex"
4204 { YDVAR(0, VAR_STUB_ZONE) }
4205 	YY_BREAK
4206 case 96:
4207 YY_RULE_SETUP
4208 #line 303 "util/configlexer.lex"
4209 { YDVAR(1, VAR_NAME) }
4210 	YY_BREAK
4211 case 97:
4212 YY_RULE_SETUP
4213 #line 304 "util/configlexer.lex"
4214 { YDVAR(1, VAR_STUB_ADDR) }
4215 	YY_BREAK
4216 case 98:
4217 YY_RULE_SETUP
4218 #line 305 "util/configlexer.lex"
4219 { YDVAR(1, VAR_STUB_HOST) }
4220 	YY_BREAK
4221 case 99:
4222 YY_RULE_SETUP
4223 #line 306 "util/configlexer.lex"
4224 { YDVAR(1, VAR_STUB_PRIME) }
4225 	YY_BREAK
4226 case 100:
4227 YY_RULE_SETUP
4228 #line 307 "util/configlexer.lex"
4229 { YDVAR(1, VAR_STUB_FIRST) }
4230 	YY_BREAK
4231 case 101:
4232 YY_RULE_SETUP
4233 #line 308 "util/configlexer.lex"
4234 { YDVAR(1, VAR_STUB_NO_CACHE) }
4235 	YY_BREAK
4236 case 102:
4237 YY_RULE_SETUP
4238 #line 309 "util/configlexer.lex"
4239 { YDVAR(1, VAR_STUB_SSL_UPSTREAM) }
4240 	YY_BREAK
4241 case 103:
4242 YY_RULE_SETUP
4243 #line 310 "util/configlexer.lex"
4244 { YDVAR(1, VAR_STUB_SSL_UPSTREAM) }
4245 	YY_BREAK
4246 case 104:
4247 YY_RULE_SETUP
4248 #line 311 "util/configlexer.lex"
4249 { YDVAR(0, VAR_FORWARD_ZONE) }
4250 	YY_BREAK
4251 case 105:
4252 YY_RULE_SETUP
4253 #line 312 "util/configlexer.lex"
4254 { YDVAR(1, VAR_FORWARD_ADDR) }
4255 	YY_BREAK
4256 case 106:
4257 YY_RULE_SETUP
4258 #line 313 "util/configlexer.lex"
4259 { YDVAR(1, VAR_FORWARD_HOST) }
4260 	YY_BREAK
4261 case 107:
4262 YY_RULE_SETUP
4263 #line 314 "util/configlexer.lex"
4264 { YDVAR(1, VAR_FORWARD_FIRST) }
4265 	YY_BREAK
4266 case 108:
4267 YY_RULE_SETUP
4268 #line 315 "util/configlexer.lex"
4269 { YDVAR(1, VAR_FORWARD_NO_CACHE) }
4270 	YY_BREAK
4271 case 109:
4272 YY_RULE_SETUP
4273 #line 316 "util/configlexer.lex"
4274 { YDVAR(1, VAR_FORWARD_SSL_UPSTREAM) }
4275 	YY_BREAK
4276 case 110:
4277 YY_RULE_SETUP
4278 #line 317 "util/configlexer.lex"
4279 { YDVAR(1, VAR_FORWARD_SSL_UPSTREAM) }
4280 	YY_BREAK
4281 case 111:
4282 YY_RULE_SETUP
4283 #line 318 "util/configlexer.lex"
4284 { YDVAR(0, VAR_AUTH_ZONE) }
4285 	YY_BREAK
4286 case 112:
4287 YY_RULE_SETUP
4288 #line 319 "util/configlexer.lex"
4289 { YDVAR(1, VAR_ZONEFILE) }
4290 	YY_BREAK
4291 case 113:
4292 YY_RULE_SETUP
4293 #line 320 "util/configlexer.lex"
4294 { YDVAR(1, VAR_MASTER) }
4295 	YY_BREAK
4296 case 114:
4297 YY_RULE_SETUP
4298 #line 321 "util/configlexer.lex"
4299 { YDVAR(1, VAR_URL) }
4300 	YY_BREAK
4301 case 115:
4302 YY_RULE_SETUP
4303 #line 322 "util/configlexer.lex"
4304 { YDVAR(1, VAR_ALLOW_NOTIFY) }
4305 	YY_BREAK
4306 case 116:
4307 YY_RULE_SETUP
4308 #line 323 "util/configlexer.lex"
4309 { YDVAR(1, VAR_FOR_DOWNSTREAM) }
4310 	YY_BREAK
4311 case 117:
4312 YY_RULE_SETUP
4313 #line 324 "util/configlexer.lex"
4314 { YDVAR(1, VAR_FOR_UPSTREAM) }
4315 	YY_BREAK
4316 case 118:
4317 YY_RULE_SETUP
4318 #line 325 "util/configlexer.lex"
4319 { YDVAR(1, VAR_FALLBACK_ENABLED) }
4320 	YY_BREAK
4321 case 119:
4322 YY_RULE_SETUP
4323 #line 326 "util/configlexer.lex"
4324 { YDVAR(0, VAR_VIEW) }
4325 	YY_BREAK
4326 case 120:
4327 YY_RULE_SETUP
4328 #line 327 "util/configlexer.lex"
4329 { YDVAR(1, VAR_VIEW_FIRST) }
4330 	YY_BREAK
4331 case 121:
4332 YY_RULE_SETUP
4333 #line 328 "util/configlexer.lex"
4334 { YDVAR(1, VAR_DO_NOT_QUERY_ADDRESS) }
4335 	YY_BREAK
4336 case 122:
4337 YY_RULE_SETUP
4338 #line 329 "util/configlexer.lex"
4339 { YDVAR(1, VAR_DO_NOT_QUERY_LOCALHOST) }
4340 	YY_BREAK
4341 case 123:
4342 YY_RULE_SETUP
4343 #line 330 "util/configlexer.lex"
4344 { YDVAR(2, VAR_ACCESS_CONTROL) }
4345 	YY_BREAK
4346 case 124:
4347 YY_RULE_SETUP
4348 #line 331 "util/configlexer.lex"
4349 { YDVAR(1, VAR_SEND_CLIENT_SUBNET) }
4350 	YY_BREAK
4351 case 125:
4352 YY_RULE_SETUP
4353 #line 332 "util/configlexer.lex"
4354 { YDVAR(1, VAR_CLIENT_SUBNET_ZONE) }
4355 	YY_BREAK
4356 case 126:
4357 YY_RULE_SETUP
4358 #line 333 "util/configlexer.lex"
4359 { YDVAR(1, VAR_CLIENT_SUBNET_ALWAYS_FORWARD) }
4360 	YY_BREAK
4361 case 127:
4362 YY_RULE_SETUP
4363 #line 334 "util/configlexer.lex"
4364 { YDVAR(1, VAR_CLIENT_SUBNET_OPCODE) }
4365 	YY_BREAK
4366 case 128:
4367 YY_RULE_SETUP
4368 #line 335 "util/configlexer.lex"
4369 { YDVAR(1, VAR_MAX_CLIENT_SUBNET_IPV4) }
4370 	YY_BREAK
4371 case 129:
4372 YY_RULE_SETUP
4373 #line 336 "util/configlexer.lex"
4374 { YDVAR(1, VAR_MAX_CLIENT_SUBNET_IPV6) }
4375 	YY_BREAK
4376 case 130:
4377 YY_RULE_SETUP
4378 #line 337 "util/configlexer.lex"
4379 { YDVAR(1, VAR_MIN_CLIENT_SUBNET_IPV4) }
4380 	YY_BREAK
4381 case 131:
4382 YY_RULE_SETUP
4383 #line 338 "util/configlexer.lex"
4384 { YDVAR(1, VAR_MIN_CLIENT_SUBNET_IPV6) }
4385 	YY_BREAK
4386 case 132:
4387 YY_RULE_SETUP
4388 #line 339 "util/configlexer.lex"
4389 { YDVAR(1, VAR_MAX_ECS_TREE_SIZE_IPV4) }
4390 	YY_BREAK
4391 case 133:
4392 YY_RULE_SETUP
4393 #line 340 "util/configlexer.lex"
4394 { YDVAR(1, VAR_MAX_ECS_TREE_SIZE_IPV6) }
4395 	YY_BREAK
4396 case 134:
4397 YY_RULE_SETUP
4398 #line 341 "util/configlexer.lex"
4399 { YDVAR(1, VAR_HIDE_IDENTITY) }
4400 	YY_BREAK
4401 case 135:
4402 YY_RULE_SETUP
4403 #line 342 "util/configlexer.lex"
4404 { YDVAR(1, VAR_HIDE_VERSION) }
4405 	YY_BREAK
4406 case 136:
4407 YY_RULE_SETUP
4408 #line 343 "util/configlexer.lex"
4409 { YDVAR(1, VAR_HIDE_TRUSTANCHOR) }
4410 	YY_BREAK
4411 case 137:
4412 YY_RULE_SETUP
4413 #line 344 "util/configlexer.lex"
4414 { YDVAR(1, VAR_IDENTITY) }
4415 	YY_BREAK
4416 case 138:
4417 YY_RULE_SETUP
4418 #line 345 "util/configlexer.lex"
4419 { YDVAR(1, VAR_VERSION) }
4420 	YY_BREAK
4421 case 139:
4422 YY_RULE_SETUP
4423 #line 346 "util/configlexer.lex"
4424 { YDVAR(1, VAR_MODULE_CONF) }
4425 	YY_BREAK
4426 case 140:
4427 YY_RULE_SETUP
4428 #line 347 "util/configlexer.lex"
4429 { YDVAR(1, VAR_DLV_ANCHOR) }
4430 	YY_BREAK
4431 case 141:
4432 YY_RULE_SETUP
4433 #line 348 "util/configlexer.lex"
4434 { YDVAR(1, VAR_DLV_ANCHOR_FILE) }
4435 	YY_BREAK
4436 case 142:
4437 YY_RULE_SETUP
4438 #line 349 "util/configlexer.lex"
4439 { YDVAR(1, VAR_TRUST_ANCHOR_FILE) }
4440 	YY_BREAK
4441 case 143:
4442 YY_RULE_SETUP
4443 #line 350 "util/configlexer.lex"
4444 { YDVAR(1, VAR_AUTO_TRUST_ANCHOR_FILE) }
4445 	YY_BREAK
4446 case 144:
4447 YY_RULE_SETUP
4448 #line 351 "util/configlexer.lex"
4449 { YDVAR(1, VAR_TRUSTED_KEYS_FILE) }
4450 	YY_BREAK
4451 case 145:
4452 YY_RULE_SETUP
4453 #line 352 "util/configlexer.lex"
4454 { YDVAR(1, VAR_TRUST_ANCHOR) }
4455 	YY_BREAK
4456 case 146:
4457 YY_RULE_SETUP
4458 #line 353 "util/configlexer.lex"
4459 { YDVAR(1, VAR_TRUST_ANCHOR_SIGNALING) }
4460 	YY_BREAK
4461 case 147:
4462 YY_RULE_SETUP
4463 #line 354 "util/configlexer.lex"
4464 { YDVAR(1, VAR_ROOT_KEY_SENTINEL) }
4465 	YY_BREAK
4466 case 148:
4467 YY_RULE_SETUP
4468 #line 355 "util/configlexer.lex"
4469 { YDVAR(1, VAR_VAL_OVERRIDE_DATE) }
4470 	YY_BREAK
4471 case 149:
4472 YY_RULE_SETUP
4473 #line 356 "util/configlexer.lex"
4474 { YDVAR(1, VAR_VAL_SIG_SKEW_MIN) }
4475 	YY_BREAK
4476 case 150:
4477 YY_RULE_SETUP
4478 #line 357 "util/configlexer.lex"
4479 { YDVAR(1, VAR_VAL_SIG_SKEW_MAX) }
4480 	YY_BREAK
4481 case 151:
4482 YY_RULE_SETUP
4483 #line 358 "util/configlexer.lex"
4484 { YDVAR(1, VAR_BOGUS_TTL) }
4485 	YY_BREAK
4486 case 152:
4487 YY_RULE_SETUP
4488 #line 359 "util/configlexer.lex"
4489 { YDVAR(1, VAR_VAL_CLEAN_ADDITIONAL) }
4490 	YY_BREAK
4491 case 153:
4492 YY_RULE_SETUP
4493 #line 360 "util/configlexer.lex"
4494 { YDVAR(1, VAR_VAL_PERMISSIVE_MODE) }
4495 	YY_BREAK
4496 case 154:
4497 YY_RULE_SETUP
4498 #line 361 "util/configlexer.lex"
4499 { YDVAR(1, VAR_AGGRESSIVE_NSEC) }
4500 	YY_BREAK
4501 case 155:
4502 YY_RULE_SETUP
4503 #line 362 "util/configlexer.lex"
4504 { YDVAR(1, VAR_IGNORE_CD_FLAG) }
4505 	YY_BREAK
4506 case 156:
4507 YY_RULE_SETUP
4508 #line 363 "util/configlexer.lex"
4509 { YDVAR(1, VAR_SERVE_EXPIRED) }
4510 	YY_BREAK
4511 case 157:
4512 YY_RULE_SETUP
4513 #line 364 "util/configlexer.lex"
4514 { YDVAR(1, VAR_SERVE_EXPIRED_TTL) }
4515 	YY_BREAK
4516 case 158:
4517 YY_RULE_SETUP
4518 #line 365 "util/configlexer.lex"
4519 { YDVAR(1, VAR_SERVE_EXPIRED_TTL_RESET) }
4520 	YY_BREAK
4521 case 159:
4522 YY_RULE_SETUP
4523 #line 366 "util/configlexer.lex"
4524 { YDVAR(1, VAR_FAKE_DSA) }
4525 	YY_BREAK
4526 case 160:
4527 YY_RULE_SETUP
4528 #line 367 "util/configlexer.lex"
4529 { YDVAR(1, VAR_FAKE_SHA1) }
4530 	YY_BREAK
4531 case 161:
4532 YY_RULE_SETUP
4533 #line 368 "util/configlexer.lex"
4534 { YDVAR(1, VAR_VAL_LOG_LEVEL) }
4535 	YY_BREAK
4536 case 162:
4537 YY_RULE_SETUP
4538 #line 369 "util/configlexer.lex"
4539 { YDVAR(1, VAR_KEY_CACHE_SIZE) }
4540 	YY_BREAK
4541 case 163:
4542 YY_RULE_SETUP
4543 #line 370 "util/configlexer.lex"
4544 { YDVAR(1, VAR_KEY_CACHE_SLABS) }
4545 	YY_BREAK
4546 case 164:
4547 YY_RULE_SETUP
4548 #line 371 "util/configlexer.lex"
4549 { YDVAR(1, VAR_NEG_CACHE_SIZE) }
4550 	YY_BREAK
4551 case 165:
4552 YY_RULE_SETUP
4553 #line 372 "util/configlexer.lex"
4554 {
4555 				  YDVAR(1, VAR_VAL_NSEC3_KEYSIZE_ITERATIONS) }
4556 	YY_BREAK
4557 case 166:
4558 YY_RULE_SETUP
4559 #line 374 "util/configlexer.lex"
4560 { YDVAR(1, VAR_ADD_HOLDDOWN) }
4561 	YY_BREAK
4562 case 167:
4563 YY_RULE_SETUP
4564 #line 375 "util/configlexer.lex"
4565 { YDVAR(1, VAR_DEL_HOLDDOWN) }
4566 	YY_BREAK
4567 case 168:
4568 YY_RULE_SETUP
4569 #line 376 "util/configlexer.lex"
4570 { YDVAR(1, VAR_KEEP_MISSING) }
4571 	YY_BREAK
4572 case 169:
4573 YY_RULE_SETUP
4574 #line 377 "util/configlexer.lex"
4575 { YDVAR(1, VAR_PERMIT_SMALL_HOLDDOWN) }
4576 	YY_BREAK
4577 case 170:
4578 YY_RULE_SETUP
4579 #line 378 "util/configlexer.lex"
4580 { YDVAR(1, VAR_USE_SYSLOG) }
4581 	YY_BREAK
4582 case 171:
4583 YY_RULE_SETUP
4584 #line 379 "util/configlexer.lex"
4585 { YDVAR(1, VAR_LOG_IDENTITY) }
4586 	YY_BREAK
4587 case 172:
4588 YY_RULE_SETUP
4589 #line 380 "util/configlexer.lex"
4590 { YDVAR(1, VAR_LOG_TIME_ASCII) }
4591 	YY_BREAK
4592 case 173:
4593 YY_RULE_SETUP
4594 #line 381 "util/configlexer.lex"
4595 { YDVAR(1, VAR_LOG_QUERIES) }
4596 	YY_BREAK
4597 case 174:
4598 YY_RULE_SETUP
4599 #line 382 "util/configlexer.lex"
4600 { YDVAR(1, VAR_LOG_REPLIES) }
4601 	YY_BREAK
4602 case 175:
4603 YY_RULE_SETUP
4604 #line 383 "util/configlexer.lex"
4605 { YDVAR(1, VAR_LOG_TAG_QUERYREPLY) }
4606 	YY_BREAK
4607 case 176:
4608 YY_RULE_SETUP
4609 #line 384 "util/configlexer.lex"
4610 { YDVAR(1, VAR_LOG_LOCAL_ACTIONS) }
4611 	YY_BREAK
4612 case 177:
4613 YY_RULE_SETUP
4614 #line 385 "util/configlexer.lex"
4615 { YDVAR(1, VAR_LOG_SERVFAIL) }
4616 	YY_BREAK
4617 case 178:
4618 YY_RULE_SETUP
4619 #line 386 "util/configlexer.lex"
4620 { YDVAR(2, VAR_LOCAL_ZONE) }
4621 	YY_BREAK
4622 case 179:
4623 YY_RULE_SETUP
4624 #line 387 "util/configlexer.lex"
4625 { YDVAR(1, VAR_LOCAL_DATA) }
4626 	YY_BREAK
4627 case 180:
4628 YY_RULE_SETUP
4629 #line 388 "util/configlexer.lex"
4630 { YDVAR(1, VAR_LOCAL_DATA_PTR) }
4631 	YY_BREAK
4632 case 181:
4633 YY_RULE_SETUP
4634 #line 389 "util/configlexer.lex"
4635 { YDVAR(1, VAR_UNBLOCK_LAN_ZONES) }
4636 	YY_BREAK
4637 case 182:
4638 YY_RULE_SETUP
4639 #line 390 "util/configlexer.lex"
4640 { YDVAR(1, VAR_INSECURE_LAN_ZONES) }
4641 	YY_BREAK
4642 case 183:
4643 YY_RULE_SETUP
4644 #line 391 "util/configlexer.lex"
4645 { YDVAR(1, VAR_STATISTICS_INTERVAL) }
4646 	YY_BREAK
4647 case 184:
4648 YY_RULE_SETUP
4649 #line 392 "util/configlexer.lex"
4650 { YDVAR(1, VAR_STATISTICS_CUMULATIVE) }
4651 	YY_BREAK
4652 case 185:
4653 YY_RULE_SETUP
4654 #line 393 "util/configlexer.lex"
4655 { YDVAR(1, VAR_EXTENDED_STATISTICS) }
4656 	YY_BREAK
4657 case 186:
4658 YY_RULE_SETUP
4659 #line 394 "util/configlexer.lex"
4660 { YDVAR(1, VAR_SHM_ENABLE) }
4661 	YY_BREAK
4662 case 187:
4663 YY_RULE_SETUP
4664 #line 395 "util/configlexer.lex"
4665 { YDVAR(1, VAR_SHM_KEY) }
4666 	YY_BREAK
4667 case 188:
4668 YY_RULE_SETUP
4669 #line 396 "util/configlexer.lex"
4670 { YDVAR(0, VAR_REMOTE_CONTROL) }
4671 	YY_BREAK
4672 case 189:
4673 YY_RULE_SETUP
4674 #line 397 "util/configlexer.lex"
4675 { YDVAR(1, VAR_CONTROL_ENABLE) }
4676 	YY_BREAK
4677 case 190:
4678 YY_RULE_SETUP
4679 #line 398 "util/configlexer.lex"
4680 { YDVAR(1, VAR_CONTROL_INTERFACE) }
4681 	YY_BREAK
4682 case 191:
4683 YY_RULE_SETUP
4684 #line 399 "util/configlexer.lex"
4685 { YDVAR(1, VAR_CONTROL_PORT) }
4686 	YY_BREAK
4687 case 192:
4688 YY_RULE_SETUP
4689 #line 400 "util/configlexer.lex"
4690 { YDVAR(1, VAR_CONTROL_USE_CERT) }
4691 	YY_BREAK
4692 case 193:
4693 YY_RULE_SETUP
4694 #line 401 "util/configlexer.lex"
4695 { YDVAR(1, VAR_SERVER_KEY_FILE) }
4696 	YY_BREAK
4697 case 194:
4698 YY_RULE_SETUP
4699 #line 402 "util/configlexer.lex"
4700 { YDVAR(1, VAR_SERVER_CERT_FILE) }
4701 	YY_BREAK
4702 case 195:
4703 YY_RULE_SETUP
4704 #line 403 "util/configlexer.lex"
4705 { YDVAR(1, VAR_CONTROL_KEY_FILE) }
4706 	YY_BREAK
4707 case 196:
4708 YY_RULE_SETUP
4709 #line 404 "util/configlexer.lex"
4710 { YDVAR(1, VAR_CONTROL_CERT_FILE) }
4711 	YY_BREAK
4712 case 197:
4713 YY_RULE_SETUP
4714 #line 405 "util/configlexer.lex"
4715 { YDVAR(1, VAR_PYTHON_SCRIPT) }
4716 	YY_BREAK
4717 case 198:
4718 YY_RULE_SETUP
4719 #line 406 "util/configlexer.lex"
4720 { YDVAR(0, VAR_PYTHON) }
4721 	YY_BREAK
4722 case 199:
4723 YY_RULE_SETUP
4724 #line 407 "util/configlexer.lex"
4725 { YDVAR(1, VAR_DOMAIN_INSECURE) }
4726 	YY_BREAK
4727 case 200:
4728 YY_RULE_SETUP
4729 #line 408 "util/configlexer.lex"
4730 { YDVAR(1, VAR_MINIMAL_RESPONSES) }
4731 	YY_BREAK
4732 case 201:
4733 YY_RULE_SETUP
4734 #line 409 "util/configlexer.lex"
4735 { YDVAR(1, VAR_RRSET_ROUNDROBIN) }
4736 	YY_BREAK
4737 case 202:
4738 YY_RULE_SETUP
4739 #line 410 "util/configlexer.lex"
4740 { YDVAR(1, VAR_UNKNOWN_SERVER_TIME_LIMIT) }
4741 	YY_BREAK
4742 case 203:
4743 YY_RULE_SETUP
4744 #line 411 "util/configlexer.lex"
4745 { YDVAR(1, VAR_MAX_UDP_SIZE) }
4746 	YY_BREAK
4747 case 204:
4748 YY_RULE_SETUP
4749 #line 412 "util/configlexer.lex"
4750 { YDVAR(1, VAR_DNS64_PREFIX) }
4751 	YY_BREAK
4752 case 205:
4753 YY_RULE_SETUP
4754 #line 413 "util/configlexer.lex"
4755 { YDVAR(1, VAR_DNS64_SYNTHALL) }
4756 	YY_BREAK
4757 case 206:
4758 YY_RULE_SETUP
4759 #line 414 "util/configlexer.lex"
4760 { YDVAR(1, VAR_DNS64_IGNORE_AAAA) }
4761 	YY_BREAK
4762 case 207:
4763 YY_RULE_SETUP
4764 #line 415 "util/configlexer.lex"
4765 { YDVAR(1, VAR_DEFINE_TAG) }
4766 	YY_BREAK
4767 case 208:
4768 YY_RULE_SETUP
4769 #line 416 "util/configlexer.lex"
4770 { YDVAR(2, VAR_LOCAL_ZONE_TAG) }
4771 	YY_BREAK
4772 case 209:
4773 YY_RULE_SETUP
4774 #line 417 "util/configlexer.lex"
4775 { YDVAR(2, VAR_ACCESS_CONTROL_TAG) }
4776 	YY_BREAK
4777 case 210:
4778 YY_RULE_SETUP
4779 #line 418 "util/configlexer.lex"
4780 { YDVAR(3, VAR_ACCESS_CONTROL_TAG_ACTION) }
4781 	YY_BREAK
4782 case 211:
4783 YY_RULE_SETUP
4784 #line 419 "util/configlexer.lex"
4785 { YDVAR(3, VAR_ACCESS_CONTROL_TAG_DATA) }
4786 	YY_BREAK
4787 case 212:
4788 YY_RULE_SETUP
4789 #line 420 "util/configlexer.lex"
4790 { YDVAR(2, VAR_ACCESS_CONTROL_VIEW) }
4791 	YY_BREAK
4792 case 213:
4793 YY_RULE_SETUP
4794 #line 421 "util/configlexer.lex"
4795 { YDVAR(3, VAR_LOCAL_ZONE_OVERRIDE) }
4796 	YY_BREAK
4797 case 214:
4798 YY_RULE_SETUP
4799 #line 422 "util/configlexer.lex"
4800 { YDVAR(0, VAR_DNSTAP) }
4801 	YY_BREAK
4802 case 215:
4803 YY_RULE_SETUP
4804 #line 423 "util/configlexer.lex"
4805 { YDVAR(1, VAR_DNSTAP_ENABLE) }
4806 	YY_BREAK
4807 case 216:
4808 YY_RULE_SETUP
4809 #line 424 "util/configlexer.lex"
4810 { YDVAR(1, VAR_DNSTAP_SOCKET_PATH) }
4811 	YY_BREAK
4812 case 217:
4813 YY_RULE_SETUP
4814 #line 425 "util/configlexer.lex"
4815 { YDVAR(1, VAR_DNSTAP_SEND_IDENTITY) }
4816 	YY_BREAK
4817 case 218:
4818 YY_RULE_SETUP
4819 #line 426 "util/configlexer.lex"
4820 { YDVAR(1, VAR_DNSTAP_SEND_VERSION) }
4821 	YY_BREAK
4822 case 219:
4823 YY_RULE_SETUP
4824 #line 427 "util/configlexer.lex"
4825 { YDVAR(1, VAR_DNSTAP_IDENTITY) }
4826 	YY_BREAK
4827 case 220:
4828 YY_RULE_SETUP
4829 #line 428 "util/configlexer.lex"
4830 { YDVAR(1, VAR_DNSTAP_VERSION) }
4831 	YY_BREAK
4832 case 221:
4833 YY_RULE_SETUP
4834 #line 429 "util/configlexer.lex"
4835 {
4836 		YDVAR(1, VAR_DNSTAP_LOG_RESOLVER_QUERY_MESSAGES) }
4837 	YY_BREAK
4838 case 222:
4839 YY_RULE_SETUP
4840 #line 431 "util/configlexer.lex"
4841 {
4842 		YDVAR(1, VAR_DNSTAP_LOG_RESOLVER_RESPONSE_MESSAGES) }
4843 	YY_BREAK
4844 case 223:
4845 YY_RULE_SETUP
4846 #line 433 "util/configlexer.lex"
4847 {
4848 		YDVAR(1, VAR_DNSTAP_LOG_CLIENT_QUERY_MESSAGES) }
4849 	YY_BREAK
4850 case 224:
4851 YY_RULE_SETUP
4852 #line 435 "util/configlexer.lex"
4853 {
4854 		YDVAR(1, VAR_DNSTAP_LOG_CLIENT_RESPONSE_MESSAGES) }
4855 	YY_BREAK
4856 case 225:
4857 YY_RULE_SETUP
4858 #line 437 "util/configlexer.lex"
4859 {
4860 		YDVAR(1, VAR_DNSTAP_LOG_FORWARDER_QUERY_MESSAGES) }
4861 	YY_BREAK
4862 case 226:
4863 YY_RULE_SETUP
4864 #line 439 "util/configlexer.lex"
4865 {
4866 		YDVAR(1, VAR_DNSTAP_LOG_FORWARDER_RESPONSE_MESSAGES) }
4867 	YY_BREAK
4868 case 227:
4869 YY_RULE_SETUP
4870 #line 441 "util/configlexer.lex"
4871 { YDVAR(1, VAR_DISABLE_DNSSEC_LAME_CHECK) }
4872 	YY_BREAK
4873 case 228:
4874 YY_RULE_SETUP
4875 #line 442 "util/configlexer.lex"
4876 { YDVAR(1, VAR_IP_RATELIMIT) }
4877 	YY_BREAK
4878 case 229:
4879 YY_RULE_SETUP
4880 #line 443 "util/configlexer.lex"
4881 { YDVAR(1, VAR_RATELIMIT) }
4882 	YY_BREAK
4883 case 230:
4884 YY_RULE_SETUP
4885 #line 444 "util/configlexer.lex"
4886 { YDVAR(1, VAR_IP_RATELIMIT_SLABS) }
4887 	YY_BREAK
4888 case 231:
4889 YY_RULE_SETUP
4890 #line 445 "util/configlexer.lex"
4891 { YDVAR(1, VAR_RATELIMIT_SLABS) }
4892 	YY_BREAK
4893 case 232:
4894 YY_RULE_SETUP
4895 #line 446 "util/configlexer.lex"
4896 { YDVAR(1, VAR_IP_RATELIMIT_SIZE) }
4897 	YY_BREAK
4898 case 233:
4899 YY_RULE_SETUP
4900 #line 447 "util/configlexer.lex"
4901 { YDVAR(1, VAR_RATELIMIT_SIZE) }
4902 	YY_BREAK
4903 case 234:
4904 YY_RULE_SETUP
4905 #line 448 "util/configlexer.lex"
4906 { YDVAR(2, VAR_RATELIMIT_FOR_DOMAIN) }
4907 	YY_BREAK
4908 case 235:
4909 YY_RULE_SETUP
4910 #line 449 "util/configlexer.lex"
4911 { YDVAR(2, VAR_RATELIMIT_BELOW_DOMAIN) }
4912 	YY_BREAK
4913 case 236:
4914 YY_RULE_SETUP
4915 #line 450 "util/configlexer.lex"
4916 { YDVAR(1, VAR_IP_RATELIMIT_FACTOR) }
4917 	YY_BREAK
4918 case 237:
4919 YY_RULE_SETUP
4920 #line 451 "util/configlexer.lex"
4921 { YDVAR(1, VAR_RATELIMIT_FACTOR) }
4922 	YY_BREAK
4923 case 238:
4924 YY_RULE_SETUP
4925 #line 452 "util/configlexer.lex"
4926 { YDVAR(1, VAR_LOW_RTT) }
4927 	YY_BREAK
4928 case 239:
4929 YY_RULE_SETUP
4930 #line 453 "util/configlexer.lex"
4931 { YDVAR(1, VAR_FAST_SERVER_NUM) }
4932 	YY_BREAK
4933 case 240:
4934 YY_RULE_SETUP
4935 #line 454 "util/configlexer.lex"
4936 { YDVAR(1, VAR_FAST_SERVER_PERMIL) }
4937 	YY_BREAK
4938 case 241:
4939 YY_RULE_SETUP
4940 #line 455 "util/configlexer.lex"
4941 { YDVAR(1, VAR_FAST_SERVER_PERMIL) }
4942 	YY_BREAK
4943 case 242:
4944 YY_RULE_SETUP
4945 #line 456 "util/configlexer.lex"
4946 { YDVAR(1, VAR_FAST_SERVER_PERMIL) }
4947 	YY_BREAK
4948 case 243:
4949 YY_RULE_SETUP
4950 #line 457 "util/configlexer.lex"
4951 { YDVAR(2, VAR_RESPONSE_IP_TAG) }
4952 	YY_BREAK
4953 case 244:
4954 YY_RULE_SETUP
4955 #line 458 "util/configlexer.lex"
4956 { YDVAR(2, VAR_RESPONSE_IP) }
4957 	YY_BREAK
4958 case 245:
4959 YY_RULE_SETUP
4960 #line 459 "util/configlexer.lex"
4961 { YDVAR(2, VAR_RESPONSE_IP_DATA) }
4962 	YY_BREAK
4963 case 246:
4964 YY_RULE_SETUP
4965 #line 460 "util/configlexer.lex"
4966 { YDVAR(0, VAR_DNSCRYPT) }
4967 	YY_BREAK
4968 case 247:
4969 YY_RULE_SETUP
4970 #line 461 "util/configlexer.lex"
4971 { YDVAR(1, VAR_DNSCRYPT_ENABLE) }
4972 	YY_BREAK
4973 case 248:
4974 YY_RULE_SETUP
4975 #line 462 "util/configlexer.lex"
4976 { YDVAR(1, VAR_DNSCRYPT_PORT) }
4977 	YY_BREAK
4978 case 249:
4979 YY_RULE_SETUP
4980 #line 463 "util/configlexer.lex"
4981 { YDVAR(1, VAR_DNSCRYPT_PROVIDER) }
4982 	YY_BREAK
4983 case 250:
4984 YY_RULE_SETUP
4985 #line 464 "util/configlexer.lex"
4986 { YDVAR(1, VAR_DNSCRYPT_SECRET_KEY) }
4987 	YY_BREAK
4988 case 251:
4989 YY_RULE_SETUP
4990 #line 465 "util/configlexer.lex"
4991 { YDVAR(1, VAR_DNSCRYPT_PROVIDER_CERT) }
4992 	YY_BREAK
4993 case 252:
4994 YY_RULE_SETUP
4995 #line 466 "util/configlexer.lex"
4996 { YDVAR(1, VAR_DNSCRYPT_PROVIDER_CERT_ROTATED) }
4997 	YY_BREAK
4998 case 253:
4999 YY_RULE_SETUP
5000 #line 467 "util/configlexer.lex"
5001 {
5002 		YDVAR(1, VAR_DNSCRYPT_SHARED_SECRET_CACHE_SIZE) }
5003 	YY_BREAK
5004 case 254:
5005 YY_RULE_SETUP
5006 #line 469 "util/configlexer.lex"
5007 {
5008 		YDVAR(1, VAR_DNSCRYPT_SHARED_SECRET_CACHE_SLABS) }
5009 	YY_BREAK
5010 case 255:
5011 YY_RULE_SETUP
5012 #line 471 "util/configlexer.lex"
5013 { YDVAR(1, VAR_DNSCRYPT_NONCE_CACHE_SIZE) }
5014 	YY_BREAK
5015 case 256:
5016 YY_RULE_SETUP
5017 #line 472 "util/configlexer.lex"
5018 { YDVAR(1, VAR_DNSCRYPT_NONCE_CACHE_SLABS) }
5019 	YY_BREAK
5020 case 257:
5021 YY_RULE_SETUP
5022 #line 473 "util/configlexer.lex"
5023 { YDVAR(1, VAR_IPSECMOD_ENABLED) }
5024 	YY_BREAK
5025 case 258:
5026 YY_RULE_SETUP
5027 #line 474 "util/configlexer.lex"
5028 { YDVAR(1, VAR_IPSECMOD_IGNORE_BOGUS) }
5029 	YY_BREAK
5030 case 259:
5031 YY_RULE_SETUP
5032 #line 475 "util/configlexer.lex"
5033 { YDVAR(1, VAR_IPSECMOD_HOOK) }
5034 	YY_BREAK
5035 case 260:
5036 YY_RULE_SETUP
5037 #line 476 "util/configlexer.lex"
5038 { YDVAR(1, VAR_IPSECMOD_MAX_TTL) }
5039 	YY_BREAK
5040 case 261:
5041 YY_RULE_SETUP
5042 #line 477 "util/configlexer.lex"
5043 { YDVAR(1, VAR_IPSECMOD_WHITELIST) }
5044 	YY_BREAK
5045 case 262:
5046 YY_RULE_SETUP
5047 #line 478 "util/configlexer.lex"
5048 { YDVAR(1, VAR_IPSECMOD_STRICT) }
5049 	YY_BREAK
5050 case 263:
5051 YY_RULE_SETUP
5052 #line 479 "util/configlexer.lex"
5053 { YDVAR(0, VAR_CACHEDB) }
5054 	YY_BREAK
5055 case 264:
5056 YY_RULE_SETUP
5057 #line 480 "util/configlexer.lex"
5058 { YDVAR(1, VAR_CACHEDB_BACKEND) }
5059 	YY_BREAK
5060 case 265:
5061 YY_RULE_SETUP
5062 #line 481 "util/configlexer.lex"
5063 { YDVAR(1, VAR_CACHEDB_SECRETSEED) }
5064 	YY_BREAK
5065 case 266:
5066 YY_RULE_SETUP
5067 #line 482 "util/configlexer.lex"
5068 { YDVAR(1, VAR_CACHEDB_REDISHOST) }
5069 	YY_BREAK
5070 case 267:
5071 YY_RULE_SETUP
5072 #line 483 "util/configlexer.lex"
5073 { YDVAR(1, VAR_CACHEDB_REDISPORT) }
5074 	YY_BREAK
5075 case 268:
5076 YY_RULE_SETUP
5077 #line 484 "util/configlexer.lex"
5078 { YDVAR(1, VAR_CACHEDB_REDISTIMEOUT) }
5079 	YY_BREAK
5080 case 269:
5081 YY_RULE_SETUP
5082 #line 485 "util/configlexer.lex"
5083 { YDVAR(0, VAR_IPSET) }
5084 	YY_BREAK
5085 case 270:
5086 YY_RULE_SETUP
5087 #line 486 "util/configlexer.lex"
5088 { YDVAR(1, VAR_IPSET_NAME_V4) }
5089 	YY_BREAK
5090 case 271:
5091 YY_RULE_SETUP
5092 #line 487 "util/configlexer.lex"
5093 { YDVAR(1, VAR_IPSET_NAME_V6) }
5094 	YY_BREAK
5095 case 272:
5096 YY_RULE_SETUP
5097 #line 488 "util/configlexer.lex"
5098 { YDVAR(1, VAR_UDP_UPSTREAM_WITHOUT_DOWNSTREAM) }
5099 	YY_BREAK
5100 case 273:
5101 YY_RULE_SETUP
5102 #line 489 "util/configlexer.lex"
5103 { YDVAR(2, VAR_TCP_CONNECTION_LIMIT) }
5104 	YY_BREAK
5105 case 274:
5106 /* rule 274 can match eol */
5107 YY_RULE_SETUP
5108 #line 490 "util/configlexer.lex"
5109 { LEXOUT(("NL\n")); cfg_parser->line++; }
5110 	YY_BREAK
5111 /* Quoted strings. Strip leading and ending quotes */
5112 case 275:
5113 YY_RULE_SETUP
5114 #line 493 "util/configlexer.lex"
5115 { BEGIN(quotedstring); LEXOUT(("QS ")); }
5116 	YY_BREAK
5117 case YY_STATE_EOF(quotedstring):
5118 #line 494 "util/configlexer.lex"
5119 {
5120         yyerror("EOF inside quoted string");
5121 	if(--num_args == 0) { BEGIN(INITIAL); }
5122 	else		    { BEGIN(val); }
5123 }
5124 	YY_BREAK
5125 case 276:
5126 YY_RULE_SETUP
5127 #line 499 "util/configlexer.lex"
5128 { LEXOUT(("STR(%s) ", yytext)); yymore(); }
5129 	YY_BREAK
5130 case 277:
5131 /* rule 277 can match eol */
5132 YY_RULE_SETUP
5133 #line 500 "util/configlexer.lex"
5134 { yyerror("newline inside quoted string, no end \"");
5135 			  cfg_parser->line++; BEGIN(INITIAL); }
5136 	YY_BREAK
5137 case 278:
5138 YY_RULE_SETUP
5139 #line 502 "util/configlexer.lex"
5140 {
5141         LEXOUT(("QE "));
5142 	if(--num_args == 0) { BEGIN(INITIAL); }
5143 	else		    { BEGIN(val); }
5144         yytext[yyleng - 1] = '\0';
5145 	yylval.str = strdup(yytext);
5146 	if(!yylval.str)
5147 		yyerror("out of memory");
5148         return STRING_ARG;
5149 }
5150 	YY_BREAK
5151 /* Single Quoted strings. Strip leading and ending quotes */
5152 case 279:
5153 YY_RULE_SETUP
5154 #line 514 "util/configlexer.lex"
5155 { BEGIN(singlequotedstr); LEXOUT(("SQS ")); }
5156 	YY_BREAK
5157 case YY_STATE_EOF(singlequotedstr):
5158 #line 515 "util/configlexer.lex"
5159 {
5160         yyerror("EOF inside quoted string");
5161 	if(--num_args == 0) { BEGIN(INITIAL); }
5162 	else		    { BEGIN(val); }
5163 }
5164 	YY_BREAK
5165 case 280:
5166 YY_RULE_SETUP
5167 #line 520 "util/configlexer.lex"
5168 { LEXOUT(("STR(%s) ", yytext)); yymore(); }
5169 	YY_BREAK
5170 case 281:
5171 /* rule 281 can match eol */
5172 YY_RULE_SETUP
5173 #line 521 "util/configlexer.lex"
5174 { yyerror("newline inside quoted string, no end '");
5175 			     cfg_parser->line++; BEGIN(INITIAL); }
5176 	YY_BREAK
5177 case 282:
5178 YY_RULE_SETUP
5179 #line 523 "util/configlexer.lex"
5180 {
5181         LEXOUT(("SQE "));
5182 	if(--num_args == 0) { BEGIN(INITIAL); }
5183 	else		    { BEGIN(val); }
5184         yytext[yyleng - 1] = '\0';
5185 	yylval.str = strdup(yytext);
5186 	if(!yylval.str)
5187 		yyerror("out of memory");
5188         return STRING_ARG;
5189 }
5190 	YY_BREAK
5191 /* include: directive */
5192 case 283:
5193 YY_RULE_SETUP
5194 #line 535 "util/configlexer.lex"
5195 {
5196 	LEXOUT(("v(%s) ", yytext)); inc_prev = YYSTATE; BEGIN(include); }
5197 	YY_BREAK
5198 case YY_STATE_EOF(include):
5199 #line 537 "util/configlexer.lex"
5200 {
5201         yyerror("EOF inside include directive");
5202         BEGIN(inc_prev);
5203 }
5204 	YY_BREAK
5205 case 284:
5206 YY_RULE_SETUP
5207 #line 541 "util/configlexer.lex"
5208 { LEXOUT(("ISP ")); /* ignore */ }
5209 	YY_BREAK
5210 case 285:
5211 /* rule 285 can match eol */
5212 YY_RULE_SETUP
5213 #line 542 "util/configlexer.lex"
5214 { LEXOUT(("NL\n")); cfg_parser->line++;}
5215 	YY_BREAK
5216 case 286:
5217 YY_RULE_SETUP
5218 #line 543 "util/configlexer.lex"
5219 { LEXOUT(("IQS ")); BEGIN(include_quoted); }
5220 	YY_BREAK
5221 case 287:
5222 YY_RULE_SETUP
5223 #line 544 "util/configlexer.lex"
5224 {
5225 	LEXOUT(("Iunquotedstr(%s) ", yytext));
5226 	config_start_include_glob(yytext);
5227 	BEGIN(inc_prev);
5228 }
5229 	YY_BREAK
5230 case YY_STATE_EOF(include_quoted):
5231 #line 549 "util/configlexer.lex"
5232 {
5233         yyerror("EOF inside quoted string");
5234         BEGIN(inc_prev);
5235 }
5236 	YY_BREAK
5237 case 288:
5238 YY_RULE_SETUP
5239 #line 553 "util/configlexer.lex"
5240 { LEXOUT(("ISTR(%s) ", yytext)); yymore(); }
5241 	YY_BREAK
5242 case 289:
5243 /* rule 289 can match eol */
5244 YY_RULE_SETUP
5245 #line 554 "util/configlexer.lex"
5246 { yyerror("newline before \" in include name");
5247 				  cfg_parser->line++; BEGIN(inc_prev); }
5248 	YY_BREAK
5249 case 290:
5250 YY_RULE_SETUP
5251 #line 556 "util/configlexer.lex"
5252 {
5253 	LEXOUT(("IQE "));
5254 	yytext[yyleng - 1] = '\0';
5255 	config_start_include_glob(yytext);
5256 	BEGIN(inc_prev);
5257 }
5258 	YY_BREAK
5259 case YY_STATE_EOF(INITIAL):
5260 case YY_STATE_EOF(val):
5261 #line 562 "util/configlexer.lex"
5262 {
5263 	LEXOUT(("LEXEOF "));
5264 	yy_set_bol(1); /* Set beginning of line, so "^" rules match.  */
5265 	if (!config_include_stack) {
5266 		yyterminate();
5267 	} else {
5268 		fclose(yyin);
5269 		config_end_include();
5270 	}
5271 }
5272 	YY_BREAK
5273 case 291:
5274 YY_RULE_SETUP
5275 #line 573 "util/configlexer.lex"
5276 { LEXOUT(("unquotedstr(%s) ", yytext));
5277 			if(--num_args == 0) { BEGIN(INITIAL); }
5278 			yylval.str = strdup(yytext); return STRING_ARG; }
5279 	YY_BREAK
5280 case 292:
5281 YY_RULE_SETUP
5282 #line 577 "util/configlexer.lex"
5283 {
5284 	ub_c_error_msg("unknown keyword '%s'", yytext);
5285 	}
5286 	YY_BREAK
5287 case 293:
5288 YY_RULE_SETUP
5289 #line 581 "util/configlexer.lex"
5290 {
5291 	ub_c_error_msg("stray '%s'", yytext);
5292 	}
5293 	YY_BREAK
5294 case 294:
5295 YY_RULE_SETUP
5296 #line 585 "util/configlexer.lex"
5297 ECHO;
5298 	YY_BREAK
5299 #line 5298 "<stdout>"
5300 
5301 	case YY_END_OF_BUFFER:
5302 		{
5303 		/* Amount of text matched not including the EOB char. */
5304 		int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
5305 
5306 		/* Undo the effects of YY_DO_BEFORE_ACTION. */
5307 		*yy_cp = (yy_hold_char);
5308 		YY_RESTORE_YY_MORE_OFFSET
5309 
5310 		if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
5311 			{
5312 			/* We're scanning a new file or input source.  It's
5313 			 * possible that this happened because the user
5314 			 * just pointed yyin at a new source and called
5315 			 * yylex().  If so, then we have to assure
5316 			 * consistency between YY_CURRENT_BUFFER and our
5317 			 * globals.  Here is the right place to do so, because
5318 			 * this is the first action (other than possibly a
5319 			 * back-up) that will match for the new input source.
5320 			 */
5321 			(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
5322 			YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
5323 			YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
5324 			}
5325 
5326 		/* Note that here we test for yy_c_buf_p "<=" to the position
5327 		 * of the first EOB in the buffer, since yy_c_buf_p will
5328 		 * already have been incremented past the NUL character
5329 		 * (since all states make transitions on EOB to the
5330 		 * end-of-buffer state).  Contrast this with the test
5331 		 * in input().
5332 		 */
5333 		if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
5334 			{ /* This was really a NUL. */
5335 			yy_state_type yy_next_state;
5336 
5337 			(yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
5338 
5339 			yy_current_state = yy_get_previous_state(  );
5340 
5341 			/* Okay, we're now positioned to make the NUL
5342 			 * transition.  We couldn't have
5343 			 * yy_get_previous_state() go ahead and do it
5344 			 * for us because it doesn't know how to deal
5345 			 * with the possibility of jamming (and we don't
5346 			 * want to build jamming into it because then it
5347 			 * will run more slowly).
5348 			 */
5349 
5350 			yy_next_state = yy_try_NUL_trans( yy_current_state );
5351 
5352 			yy_bp = (yytext_ptr) + YY_MORE_ADJ;
5353 
5354 			if ( yy_next_state )
5355 				{
5356 				/* Consume the NUL. */
5357 				yy_cp = ++(yy_c_buf_p);
5358 				yy_current_state = yy_next_state;
5359 				goto yy_match;
5360 				}
5361 
5362 			else
5363 				{
5364 				yy_cp = (yy_c_buf_p);
5365 				goto yy_find_action;
5366 				}
5367 			}
5368 
5369 		else switch ( yy_get_next_buffer(  ) )
5370 			{
5371 			case EOB_ACT_END_OF_FILE:
5372 				{
5373 				(yy_did_buffer_switch_on_eof) = 0;
5374 
5375 				if ( yywrap(  ) )
5376 					{
5377 					/* Note: because we've taken care in
5378 					 * yy_get_next_buffer() to have set up
5379 					 * yytext, we can now set up
5380 					 * yy_c_buf_p so that if some total
5381 					 * hoser (like flex itself) wants to
5382 					 * call the scanner after we return the
5383 					 * YY_NULL, it'll still work - another
5384 					 * YY_NULL will get returned.
5385 					 */
5386 					(yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
5387 
5388 					yy_act = YY_STATE_EOF(YY_START);
5389 					goto do_action;
5390 					}
5391 
5392 				else
5393 					{
5394 					if ( ! (yy_did_buffer_switch_on_eof) )
5395 						YY_NEW_FILE;
5396 					}
5397 				break;
5398 				}
5399 
5400 			case EOB_ACT_CONTINUE_SCAN:
5401 				(yy_c_buf_p) =
5402 					(yytext_ptr) + yy_amount_of_matched_text;
5403 
5404 				yy_current_state = yy_get_previous_state(  );
5405 
5406 				yy_cp = (yy_c_buf_p);
5407 				yy_bp = (yytext_ptr) + YY_MORE_ADJ;
5408 				goto yy_match;
5409 
5410 			case EOB_ACT_LAST_MATCH:
5411 				(yy_c_buf_p) =
5412 				&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
5413 
5414 				yy_current_state = yy_get_previous_state(  );
5415 
5416 				yy_cp = (yy_c_buf_p);
5417 				yy_bp = (yytext_ptr) + YY_MORE_ADJ;
5418 				goto yy_find_action;
5419 			}
5420 		break;
5421 		}
5422 
5423 	default:
5424 		YY_FATAL_ERROR(
5425 			"fatal flex scanner internal error--no action found" );
5426 	} /* end of action switch */
5427 		} /* end of scanning one token */
5428 	} /* end of user's declarations */
5429 } /* end of yylex */
5430 
5431 /* yy_get_next_buffer - try to read in a new buffer
5432  *
5433  * Returns a code representing an action:
5434  *	EOB_ACT_LAST_MATCH -
5435  *	EOB_ACT_CONTINUE_SCAN - continue scanning from current position
5436  *	EOB_ACT_END_OF_FILE - end of file
5437  */
5438 static int yy_get_next_buffer (void)
5439 {
5440     	char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
5441 	char *source = (yytext_ptr);
5442 	int number_to_move, i;
5443 	int ret_val;
5444 
5445 	if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
5446 		YY_FATAL_ERROR(
5447 		"fatal flex scanner internal error--end of buffer missed" );
5448 
5449 	if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
5450 		{ /* Don't try to fill the buffer, so this is an EOF. */
5451 		if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
5452 			{
5453 			/* We matched a single character, the EOB, so
5454 			 * treat this as a final EOF.
5455 			 */
5456 			return EOB_ACT_END_OF_FILE;
5457 			}
5458 
5459 		else
5460 			{
5461 			/* We matched some text prior to the EOB, first
5462 			 * process it.
5463 			 */
5464 			return EOB_ACT_LAST_MATCH;
5465 			}
5466 		}
5467 
5468 	/* Try to read more data. */
5469 
5470 	/* First move last chars to start of buffer. */
5471 	number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr) - 1);
5472 
5473 	for ( i = 0; i < number_to_move; ++i )
5474 		*(dest++) = *(source++);
5475 
5476 	if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
5477 		/* don't do the read, it's not guaranteed to return an EOF,
5478 		 * just force an EOF
5479 		 */
5480 		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
5481 
5482 	else
5483 		{
5484 			int num_to_read =
5485 			YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
5486 
5487 		while ( num_to_read <= 0 )
5488 			{ /* Not enough room in the buffer - grow it. */
5489 
5490 			/* just a shorter name for the current buffer */
5491 			YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE;
5492 
5493 			int yy_c_buf_p_offset =
5494 				(int) ((yy_c_buf_p) - b->yy_ch_buf);
5495 
5496 			if ( b->yy_is_our_buffer )
5497 				{
5498 				int new_size = b->yy_buf_size * 2;
5499 
5500 				if ( new_size <= 0 )
5501 					b->yy_buf_size += b->yy_buf_size / 8;
5502 				else
5503 					b->yy_buf_size *= 2;
5504 
5505 				b->yy_ch_buf = (char *)
5506 					/* Include room in for 2 EOB chars. */
5507 					yyrealloc( (void *) b->yy_ch_buf,
5508 							 (yy_size_t) (b->yy_buf_size + 2)  );
5509 				}
5510 			else
5511 				/* Can't grow it, we don't own it. */
5512 				b->yy_ch_buf = NULL;
5513 
5514 			if ( ! b->yy_ch_buf )
5515 				YY_FATAL_ERROR(
5516 				"fatal error - scanner input buffer overflow" );
5517 
5518 			(yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
5519 
5520 			num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
5521 						number_to_move - 1;
5522 
5523 			}
5524 
5525 		if ( num_to_read > YY_READ_BUF_SIZE )
5526 			num_to_read = YY_READ_BUF_SIZE;
5527 
5528 		/* Read in more data. */
5529 		YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
5530 			(yy_n_chars), num_to_read );
5531 
5532 		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
5533 		}
5534 
5535 	if ( (yy_n_chars) == 0 )
5536 		{
5537 		if ( number_to_move == YY_MORE_ADJ )
5538 			{
5539 			ret_val = EOB_ACT_END_OF_FILE;
5540 			yyrestart( yyin  );
5541 			}
5542 
5543 		else
5544 			{
5545 			ret_val = EOB_ACT_LAST_MATCH;
5546 			YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
5547 				YY_BUFFER_EOF_PENDING;
5548 			}
5549 		}
5550 
5551 	else
5552 		ret_val = EOB_ACT_CONTINUE_SCAN;
5553 
5554 	if (((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
5555 		/* Extend the array by 50%, plus the number we really need. */
5556 		int new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
5557 		YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc(
5558 			(void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf, (yy_size_t) new_size  );
5559 		if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
5560 			YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
5561 		/* "- 2" to take care of EOB's */
5562 		YY_CURRENT_BUFFER_LVALUE->yy_buf_size = (int) (new_size - 2);
5563 	}
5564 
5565 	(yy_n_chars) += number_to_move;
5566 	YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
5567 	YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
5568 
5569 	(yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
5570 
5571 	return ret_val;
5572 }
5573 
5574 /* yy_get_previous_state - get the state just before the EOB char was reached */
5575 
5576     static yy_state_type yy_get_previous_state (void)
5577 {
5578 	yy_state_type yy_current_state;
5579 	char *yy_cp;
5580 
5581 	yy_current_state = (yy_start);
5582 
5583 	for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
5584 		{
5585 		YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
5586 		if ( yy_accept[yy_current_state] )
5587 			{
5588 			(yy_last_accepting_state) = yy_current_state;
5589 			(yy_last_accepting_cpos) = yy_cp;
5590 			}
5591 		while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
5592 			{
5593 			yy_current_state = (int) yy_def[yy_current_state];
5594 			if ( yy_current_state >= 2913 )
5595 				yy_c = yy_meta[yy_c];
5596 			}
5597 		yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
5598 		}
5599 
5600 	return yy_current_state;
5601 }
5602 
5603 /* yy_try_NUL_trans - try to make a transition on the NUL character
5604  *
5605  * synopsis
5606  *	next_state = yy_try_NUL_trans( current_state );
5607  */
5608     static yy_state_type yy_try_NUL_trans  (yy_state_type yy_current_state )
5609 {
5610 	int yy_is_jam;
5611     	char *yy_cp = (yy_c_buf_p);
5612 
5613 	YY_CHAR yy_c = 1;
5614 	if ( yy_accept[yy_current_state] )
5615 		{
5616 		(yy_last_accepting_state) = yy_current_state;
5617 		(yy_last_accepting_cpos) = yy_cp;
5618 		}
5619 	while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
5620 		{
5621 		yy_current_state = (int) yy_def[yy_current_state];
5622 		if ( yy_current_state >= 2913 )
5623 			yy_c = yy_meta[yy_c];
5624 		}
5625 	yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
5626 	yy_is_jam = (yy_current_state == 2912);
5627 
5628 		return yy_is_jam ? 0 : yy_current_state;
5629 }
5630 
5631 #ifndef YY_NO_UNPUT
5632 
5633 #endif
5634 
5635 #ifndef YY_NO_INPUT
5636 #ifdef __cplusplus
5637     static int yyinput (void)
5638 #else
5639     static int input  (void)
5640 #endif
5641 
5642 {
5643 	int c;
5644 
5645 	*(yy_c_buf_p) = (yy_hold_char);
5646 
5647 	if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
5648 		{
5649 		/* yy_c_buf_p now points to the character we want to return.
5650 		 * If this occurs *before* the EOB characters, then it's a
5651 		 * valid NUL; if not, then we've hit the end of the buffer.
5652 		 */
5653 		if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
5654 			/* This was really a NUL. */
5655 			*(yy_c_buf_p) = '\0';
5656 
5657 		else
5658 			{ /* need more input */
5659 			int offset = (int) ((yy_c_buf_p) - (yytext_ptr));
5660 			++(yy_c_buf_p);
5661 
5662 			switch ( yy_get_next_buffer(  ) )
5663 				{
5664 				case EOB_ACT_LAST_MATCH:
5665 					/* This happens because yy_g_n_b()
5666 					 * sees that we've accumulated a
5667 					 * token and flags that we need to
5668 					 * try matching the token before
5669 					 * proceeding.  But for input(),
5670 					 * there's no matching to consider.
5671 					 * So convert the EOB_ACT_LAST_MATCH
5672 					 * to EOB_ACT_END_OF_FILE.
5673 					 */
5674 
5675 					/* Reset buffer status. */
5676 					yyrestart( yyin );
5677 
5678 					/*FALLTHROUGH*/
5679 
5680 				case EOB_ACT_END_OF_FILE:
5681 					{
5682 					if ( yywrap(  ) )
5683 						return 0;
5684 
5685 					if ( ! (yy_did_buffer_switch_on_eof) )
5686 						YY_NEW_FILE;
5687 #ifdef __cplusplus
5688 					return yyinput();
5689 #else
5690 					return input();
5691 #endif
5692 					}
5693 
5694 				case EOB_ACT_CONTINUE_SCAN:
5695 					(yy_c_buf_p) = (yytext_ptr) + offset;
5696 					break;
5697 				}
5698 			}
5699 		}
5700 
5701 	c = *(unsigned char *) (yy_c_buf_p);	/* cast for 8-bit char's */
5702 	*(yy_c_buf_p) = '\0';	/* preserve yytext */
5703 	(yy_hold_char) = *++(yy_c_buf_p);
5704 
5705 	return c;
5706 }
5707 #endif	/* ifndef YY_NO_INPUT */
5708 
5709 /** Immediately switch to a different input stream.
5710  * @param input_file A readable stream.
5711  *
5712  * @note This function does not reset the start condition to @c INITIAL .
5713  */
5714     void yyrestart  (FILE * input_file )
5715 {
5716 
5717 	if ( ! YY_CURRENT_BUFFER ){
5718         yyensure_buffer_stack ();
5719 		YY_CURRENT_BUFFER_LVALUE =
5720             yy_create_buffer( yyin, YY_BUF_SIZE );
5721 	}
5722 
5723 	yy_init_buffer( YY_CURRENT_BUFFER, input_file );
5724 	yy_load_buffer_state(  );
5725 }
5726 
5727 /** Switch to a different input buffer.
5728  * @param new_buffer The new input buffer.
5729  *
5730  */
5731     void yy_switch_to_buffer  (YY_BUFFER_STATE  new_buffer )
5732 {
5733 
5734 	/* TODO. We should be able to replace this entire function body
5735 	 * with
5736 	 *		yypop_buffer_state();
5737 	 *		yypush_buffer_state(new_buffer);
5738      */
5739 	yyensure_buffer_stack ();
5740 	if ( YY_CURRENT_BUFFER == new_buffer )
5741 		return;
5742 
5743 	if ( YY_CURRENT_BUFFER )
5744 		{
5745 		/* Flush out information for old buffer. */
5746 		*(yy_c_buf_p) = (yy_hold_char);
5747 		YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
5748 		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
5749 		}
5750 
5751 	YY_CURRENT_BUFFER_LVALUE = new_buffer;
5752 	yy_load_buffer_state(  );
5753 
5754 	/* We don't actually know whether we did this switch during
5755 	 * EOF (yywrap()) processing, but the only time this flag
5756 	 * is looked at is after yywrap() is called, so it's safe
5757 	 * to go ahead and always set it.
5758 	 */
5759 	(yy_did_buffer_switch_on_eof) = 1;
5760 }
5761 
5762 static void yy_load_buffer_state  (void)
5763 {
5764     	(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
5765 	(yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
5766 	yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
5767 	(yy_hold_char) = *(yy_c_buf_p);
5768 }
5769 
5770 /** Allocate and initialize an input buffer state.
5771  * @param file A readable stream.
5772  * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
5773  *
5774  * @return the allocated buffer state.
5775  */
5776     YY_BUFFER_STATE yy_create_buffer  (FILE * file, int  size )
5777 {
5778 	YY_BUFFER_STATE b;
5779 
5780 	b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state )  );
5781 	if ( ! b )
5782 		YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
5783 
5784 	b->yy_buf_size = size;
5785 
5786 	/* yy_ch_buf has to be 2 characters longer than the size given because
5787 	 * we need to put in 2 end-of-buffer characters.
5788 	 */
5789 	b->yy_ch_buf = (char *) yyalloc( (yy_size_t) (b->yy_buf_size + 2)  );
5790 	if ( ! b->yy_ch_buf )
5791 		YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
5792 
5793 	b->yy_is_our_buffer = 1;
5794 
5795 	yy_init_buffer( b, file );
5796 
5797 	return b;
5798 }
5799 
5800 /** Destroy the buffer.
5801  * @param b a buffer created with yy_create_buffer()
5802  *
5803  */
5804     void yy_delete_buffer (YY_BUFFER_STATE  b )
5805 {
5806 
5807 	if ( ! b )
5808 		return;
5809 
5810 	if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
5811 		YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
5812 
5813 	if ( b->yy_is_our_buffer )
5814 		yyfree( (void *) b->yy_ch_buf  );
5815 
5816 	yyfree( (void *) b  );
5817 }
5818 
5819 /* Initializes or reinitializes a buffer.
5820  * This function is sometimes called more than once on the same buffer,
5821  * such as during a yyrestart() or at EOF.
5822  */
5823     static void yy_init_buffer  (YY_BUFFER_STATE  b, FILE * file )
5824 
5825 {
5826 	int oerrno = errno;
5827 
5828 	yy_flush_buffer( b );
5829 
5830 	b->yy_input_file = file;
5831 	b->yy_fill_buffer = 1;
5832 
5833     /* If b is the current buffer, then yy_init_buffer was _probably_
5834      * called from yyrestart() or through yy_get_next_buffer.
5835      * In that case, we don't want to reset the lineno or column.
5836      */
5837     if (b != YY_CURRENT_BUFFER){
5838         b->yy_bs_lineno = 1;
5839         b->yy_bs_column = 0;
5840     }
5841 
5842         b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
5843 
5844 	errno = oerrno;
5845 }
5846 
5847 /** Discard all buffered characters. On the next scan, YY_INPUT will be called.
5848  * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
5849  *
5850  */
5851     void yy_flush_buffer (YY_BUFFER_STATE  b )
5852 {
5853     	if ( ! b )
5854 		return;
5855 
5856 	b->yy_n_chars = 0;
5857 
5858 	/* We always need two end-of-buffer characters.  The first causes
5859 	 * a transition to the end-of-buffer state.  The second causes
5860 	 * a jam in that state.
5861 	 */
5862 	b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
5863 	b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
5864 
5865 	b->yy_buf_pos = &b->yy_ch_buf[0];
5866 
5867 	b->yy_at_bol = 1;
5868 	b->yy_buffer_status = YY_BUFFER_NEW;
5869 
5870 	if ( b == YY_CURRENT_BUFFER )
5871 		yy_load_buffer_state(  );
5872 }
5873 
5874 /** Pushes the new state onto the stack. The new state becomes
5875  *  the current state. This function will allocate the stack
5876  *  if necessary.
5877  *  @param new_buffer The new state.
5878  *
5879  */
5880 void yypush_buffer_state (YY_BUFFER_STATE new_buffer )
5881 {
5882     	if (new_buffer == NULL)
5883 		return;
5884 
5885 	yyensure_buffer_stack();
5886 
5887 	/* This block is copied from yy_switch_to_buffer. */
5888 	if ( YY_CURRENT_BUFFER )
5889 		{
5890 		/* Flush out information for old buffer. */
5891 		*(yy_c_buf_p) = (yy_hold_char);
5892 		YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
5893 		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
5894 		}
5895 
5896 	/* Only push if top exists. Otherwise, replace top. */
5897 	if (YY_CURRENT_BUFFER)
5898 		(yy_buffer_stack_top)++;
5899 	YY_CURRENT_BUFFER_LVALUE = new_buffer;
5900 
5901 	/* copied from yy_switch_to_buffer. */
5902 	yy_load_buffer_state(  );
5903 	(yy_did_buffer_switch_on_eof) = 1;
5904 }
5905 
5906 /** Removes and deletes the top of the stack, if present.
5907  *  The next element becomes the new top.
5908  *
5909  */
5910 void yypop_buffer_state (void)
5911 {
5912     	if (!YY_CURRENT_BUFFER)
5913 		return;
5914 
5915 	yy_delete_buffer(YY_CURRENT_BUFFER );
5916 	YY_CURRENT_BUFFER_LVALUE = NULL;
5917 	if ((yy_buffer_stack_top) > 0)
5918 		--(yy_buffer_stack_top);
5919 
5920 	if (YY_CURRENT_BUFFER) {
5921 		yy_load_buffer_state(  );
5922 		(yy_did_buffer_switch_on_eof) = 1;
5923 	}
5924 }
5925 
5926 /* Allocates the stack if it does not exist.
5927  *  Guarantees space for at least one push.
5928  */
5929 static void yyensure_buffer_stack (void)
5930 {
5931 	yy_size_t num_to_alloc;
5932 
5933 	if (!(yy_buffer_stack)) {
5934 
5935 		/* First allocation is just for 2 elements, since we don't know if this
5936 		 * scanner will even need a stack. We use 2 instead of 1 to avoid an
5937 		 * immediate realloc on the next call.
5938          */
5939       num_to_alloc = 1; /* After all that talk, this was set to 1 anyways... */
5940 		(yy_buffer_stack) = (struct yy_buffer_state**)yyalloc
5941 								(num_to_alloc * sizeof(struct yy_buffer_state*)
5942 								);
5943 		if ( ! (yy_buffer_stack) )
5944 			YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
5945 
5946 		memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
5947 
5948 		(yy_buffer_stack_max) = num_to_alloc;
5949 		(yy_buffer_stack_top) = 0;
5950 		return;
5951 	}
5952 
5953 	if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
5954 
5955 		/* Increase the buffer to prepare for a possible push. */
5956 		yy_size_t grow_size = 8 /* arbitrary grow size */;
5957 
5958 		num_to_alloc = (yy_buffer_stack_max) + grow_size;
5959 		(yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc
5960 								((yy_buffer_stack),
5961 								num_to_alloc * sizeof(struct yy_buffer_state*)
5962 								);
5963 		if ( ! (yy_buffer_stack) )
5964 			YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
5965 
5966 		/* zero only the new slots.*/
5967 		memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
5968 		(yy_buffer_stack_max) = num_to_alloc;
5969 	}
5970 }
5971 
5972 /** Setup the input buffer state to scan directly from a user-specified character buffer.
5973  * @param base the character buffer
5974  * @param size the size in bytes of the character buffer
5975  *
5976  * @return the newly allocated buffer state object.
5977  */
5978 YY_BUFFER_STATE yy_scan_buffer  (char * base, yy_size_t  size )
5979 {
5980 	YY_BUFFER_STATE b;
5981 
5982 	if ( size < 2 ||
5983 	     base[size-2] != YY_END_OF_BUFFER_CHAR ||
5984 	     base[size-1] != YY_END_OF_BUFFER_CHAR )
5985 		/* They forgot to leave room for the EOB's. */
5986 		return NULL;
5987 
5988 	b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state )  );
5989 	if ( ! b )
5990 		YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
5991 
5992 	b->yy_buf_size = (int) (size - 2);	/* "- 2" to take care of EOB's */
5993 	b->yy_buf_pos = b->yy_ch_buf = base;
5994 	b->yy_is_our_buffer = 0;
5995 	b->yy_input_file = NULL;
5996 	b->yy_n_chars = b->yy_buf_size;
5997 	b->yy_is_interactive = 0;
5998 	b->yy_at_bol = 1;
5999 	b->yy_fill_buffer = 0;
6000 	b->yy_buffer_status = YY_BUFFER_NEW;
6001 
6002 	yy_switch_to_buffer( b  );
6003 
6004 	return b;
6005 }
6006 
6007 /** Setup the input buffer state to scan a string. The next call to yylex() will
6008  * scan from a @e copy of @a str.
6009  * @param yystr a NUL-terminated string to scan
6010  *
6011  * @return the newly allocated buffer state object.
6012  * @note If you want to scan bytes that may contain NUL values, then use
6013  *       yy_scan_bytes() instead.
6014  */
6015 YY_BUFFER_STATE yy_scan_string (const char * yystr )
6016 {
6017 
6018 	return yy_scan_bytes( yystr, (int) strlen(yystr) );
6019 }
6020 
6021 /** Setup the input buffer state to scan the given bytes. The next call to yylex() will
6022  * scan from a @e copy of @a bytes.
6023  * @param yybytes the byte buffer to scan
6024  * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
6025  *
6026  * @return the newly allocated buffer state object.
6027  */
6028 YY_BUFFER_STATE yy_scan_bytes  (const char * yybytes, int  _yybytes_len )
6029 {
6030 	YY_BUFFER_STATE b;
6031 	char *buf;
6032 	yy_size_t n;
6033 	int i;
6034 
6035 	/* Get memory for full buffer, including space for trailing EOB's. */
6036 	n = (yy_size_t) (_yybytes_len + 2);
6037 	buf = (char *) yyalloc( n  );
6038 	if ( ! buf )
6039 		YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
6040 
6041 	for ( i = 0; i < _yybytes_len; ++i )
6042 		buf[i] = yybytes[i];
6043 
6044 	buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
6045 
6046 	b = yy_scan_buffer( buf, n );
6047 	if ( ! b )
6048 		YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
6049 
6050 	/* It's okay to grow etc. this buffer, and we should throw it
6051 	 * away when we're done.
6052 	 */
6053 	b->yy_is_our_buffer = 1;
6054 
6055 	return b;
6056 }
6057 
6058 #ifndef YY_EXIT_FAILURE
6059 #define YY_EXIT_FAILURE 2
6060 #endif
6061 
6062 static void yynoreturn yy_fatal_error (const char* msg )
6063 {
6064 			fprintf( stderr, "%s\n", msg );
6065 	exit( YY_EXIT_FAILURE );
6066 }
6067 
6068 /* Redefine yyless() so it works in section 3 code. */
6069 
6070 #undef yyless
6071 #define yyless(n) \
6072 	do \
6073 		{ \
6074 		/* Undo effects of setting up yytext. */ \
6075         int yyless_macro_arg = (n); \
6076         YY_LESS_LINENO(yyless_macro_arg);\
6077 		yytext[yyleng] = (yy_hold_char); \
6078 		(yy_c_buf_p) = yytext + yyless_macro_arg; \
6079 		(yy_hold_char) = *(yy_c_buf_p); \
6080 		*(yy_c_buf_p) = '\0'; \
6081 		yyleng = yyless_macro_arg; \
6082 		} \
6083 	while ( 0 )
6084 
6085 /* Accessor  methods (get/set functions) to struct members. */
6086 
6087 /** Get the current line number.
6088  *
6089  */
6090 int yyget_lineno  (void)
6091 {
6092 
6093     return yylineno;
6094 }
6095 
6096 /** Get the input stream.
6097  *
6098  */
6099 FILE *yyget_in  (void)
6100 {
6101         return yyin;
6102 }
6103 
6104 /** Get the output stream.
6105  *
6106  */
6107 FILE *yyget_out  (void)
6108 {
6109         return yyout;
6110 }
6111 
6112 /** Get the length of the current token.
6113  *
6114  */
6115 int yyget_leng  (void)
6116 {
6117         return yyleng;
6118 }
6119 
6120 /** Get the current token.
6121  *
6122  */
6123 
6124 char *yyget_text  (void)
6125 {
6126         return yytext;
6127 }
6128 
6129 /** Set the current line number.
6130  * @param _line_number line number
6131  *
6132  */
6133 void yyset_lineno (int  _line_number )
6134 {
6135 
6136     yylineno = _line_number;
6137 }
6138 
6139 /** Set the input stream. This does not discard the current
6140  * input buffer.
6141  * @param _in_str A readable stream.
6142  *
6143  * @see yy_switch_to_buffer
6144  */
6145 void yyset_in (FILE *  _in_str )
6146 {
6147         yyin = _in_str ;
6148 }
6149 
6150 void yyset_out (FILE *  _out_str )
6151 {
6152         yyout = _out_str ;
6153 }
6154 
6155 int yyget_debug  (void)
6156 {
6157         return yy_flex_debug;
6158 }
6159 
6160 void yyset_debug (int  _bdebug )
6161 {
6162         yy_flex_debug = _bdebug ;
6163 }
6164 
6165 static int yy_init_globals (void)
6166 {
6167         /* Initialization is the same as for the non-reentrant scanner.
6168      * This function is called from yylex_destroy(), so don't allocate here.
6169      */
6170 
6171     (yy_buffer_stack) = NULL;
6172     (yy_buffer_stack_top) = 0;
6173     (yy_buffer_stack_max) = 0;
6174     (yy_c_buf_p) = NULL;
6175     (yy_init) = 0;
6176     (yy_start) = 0;
6177 
6178 /* Defined in main.c */
6179 #ifdef YY_STDINIT
6180     yyin = stdin;
6181     yyout = stdout;
6182 #else
6183     yyin = NULL;
6184     yyout = NULL;
6185 #endif
6186 
6187     /* For future reference: Set errno on error, since we are called by
6188      * yylex_init()
6189      */
6190     return 0;
6191 }
6192 
6193 /* yylex_destroy is for both reentrant and non-reentrant scanners. */
6194 int yylex_destroy  (void)
6195 {
6196 
6197     /* Pop the buffer stack, destroying each element. */
6198 	while(YY_CURRENT_BUFFER){
6199 		yy_delete_buffer( YY_CURRENT_BUFFER  );
6200 		YY_CURRENT_BUFFER_LVALUE = NULL;
6201 		yypop_buffer_state();
6202 	}
6203 
6204 	/* Destroy the stack itself. */
6205 	yyfree((yy_buffer_stack) );
6206 	(yy_buffer_stack) = NULL;
6207 
6208     /* Reset the globals. This is important in a non-reentrant scanner so the next time
6209      * yylex() is called, initialization will occur. */
6210     yy_init_globals( );
6211 
6212     return 0;
6213 }
6214 
6215 /*
6216  * Internal utility routines.
6217  */
6218 
6219 #ifndef yytext_ptr
6220 static void yy_flex_strncpy (char* s1, const char * s2, int n )
6221 {
6222 
6223 	int i;
6224 	for ( i = 0; i < n; ++i )
6225 		s1[i] = s2[i];
6226 }
6227 #endif
6228 
6229 #ifdef YY_NEED_STRLEN
6230 static int yy_flex_strlen (const char * s )
6231 {
6232 	int n;
6233 	for ( n = 0; s[n]; ++n )
6234 		;
6235 
6236 	return n;
6237 }
6238 #endif
6239 
6240 void *yyalloc (yy_size_t  size )
6241 {
6242 			return malloc(size);
6243 }
6244 
6245 void *yyrealloc  (void * ptr, yy_size_t  size )
6246 {
6247 
6248 	/* The cast to (char *) in the following accommodates both
6249 	 * implementations that use char* generic pointers, and those
6250 	 * that use void* generic pointers.  It works with the latter
6251 	 * because both ANSI C and C++ allow castless assignment from
6252 	 * any pointer type to void*, and deal with argument conversions
6253 	 * as though doing an assignment.
6254 	 */
6255 	return realloc(ptr, size);
6256 }
6257 
6258 void yyfree (void * ptr )
6259 {
6260 			free( (char *) ptr );	/* see yyrealloc() for (char *) cast */
6261 }
6262 
6263 #define YYTABLES_NAME "yytables"
6264 
6265 #line 585 "util/configlexer.lex"
6266 
6267 
6268