1#include "config.h"
2#include "util/configyyrename.h"
3
4#line 2 "<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>
45typedef int8_t flex_int8_t;
46typedef uint8_t flex_uint8_t;
47typedef int16_t flex_int16_t;
48typedef uint16_t flex_uint16_t;
49typedef int32_t flex_int32_t;
50typedef uint32_t flex_uint32_t;
51#else
52typedef signed char flex_int8_t;
53typedef short int flex_int16_t;
54typedef int flex_int32_t;
55typedef unsigned char flex_uint8_t;
56typedef unsigned short int flex_uint16_t;
57typedef 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
151typedef struct yy_buffer_state *YY_BUFFER_STATE;
152#endif
153
154#ifndef YY_TYPEDEF_YY_SIZE_T
155#define YY_TYPEDEF_YY_SIZE_T
156typedef size_t yy_size_t;
157#endif
158
159extern int yyleng;
160
161extern 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
187struct 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. */
251static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
252static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
253static 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. */
270static char yy_hold_char;
271static int yy_n_chars;		/* number of characters read into yy_ch_buf */
272int yyleng;
273
274/* Points to current character in buffer. */
275static char *yy_c_buf_p = NULL;
276static int yy_init = 0;		/* whether we need to initialize */
277static 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 */
282static int yy_did_buffer_switch_on_eof;
283
284void yyrestart ( FILE *input_file  );
285void yy_switch_to_buffer ( YY_BUFFER_STATE new_buffer  );
286YY_BUFFER_STATE yy_create_buffer ( FILE *file, int size  );
287void yy_delete_buffer ( YY_BUFFER_STATE b  );
288void yy_flush_buffer ( YY_BUFFER_STATE b  );
289void yypush_buffer_state ( YY_BUFFER_STATE new_buffer  );
290void yypop_buffer_state ( void );
291
292static void yyensure_buffer_stack ( void );
293static void yy_load_buffer_state ( void );
294static void yy_init_buffer ( YY_BUFFER_STATE b, FILE *file  );
295#define YY_FLUSH_BUFFER yy_flush_buffer( YY_CURRENT_BUFFER )
296
297YY_BUFFER_STATE yy_scan_buffer ( char *base, yy_size_t size  );
298YY_BUFFER_STATE yy_scan_string ( const char *yy_str  );
299YY_BUFFER_STATE yy_scan_bytes ( const char *bytes, int len  );
300
301void *yyalloc ( yy_size_t  );
302void *yyrealloc ( void *, yy_size_t  );
303void 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 */
327typedef flex_uint8_t YY_CHAR;
328
329FILE *yyin = NULL, *yyout = NULL;
330
331typedef int yy_state_type;
332
333extern int yylineno;
334int yylineno = 1;
335
336extern char *yytext;
337#ifdef yytext_ptr
338#undef yytext_ptr
339#endif
340#define yytext_ptr yytext
341
342static yy_state_type yy_get_previous_state ( void );
343static yy_state_type yy_try_NUL_trans ( yy_state_type current_state  );
344static int yy_get_next_buffer ( void );
345static 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 392
358#define YY_END_OF_BUFFER 393
359/* This struct is not used in this scanner,
360   but its presence is necessary. */
361struct yy_trans_info
362	{
363	flex_int32_t yy_verify;
364	flex_int32_t yy_nxt;
365	};
366static const flex_int16_t yy_accept[3905] =
367    {   0,
368        1,    1,  366,  366,  370,  370,  374,  374,  378,  378,
369        1,    1,  382,  382,  386,  386,  393,  390,    1,  364,
370      364,  391,    2,  390,  390,  390,  390,  390,  390,  390,
371      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
372      390,  390,  390,  390,  390,  390,  391,  366,  367,  367,
373      368,  391,  370,  371,  371,  372,  391,  377,  374,  375,
374      375,  376,  391,  378,  379,  379,  380,  391,  389,  365,
375        2,  369,  389,  391,  385,  382,  383,  383,  384,  391,
376      386,  387,  387,  388,  391,  390,    0,    1,    2,    2,
377        2,    2,  390,  390,  390,  390,  390,  390,  390,  390,
378
379      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
380      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
381      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
382      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
383      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
384      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
385      390,  390,  366,    0,  370,    0,  377,    0,  374,  378,
386        0,  389,    0,    2,    2,  389,  385,    0,  382,  386,
387        0,  390,  390,  390,  390,  390,  390,  390,  390,  390,
388      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
389
390      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
391      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
392      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
393      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
394      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
395      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
396      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
397      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
398      390,  389,  390,  390,  390,  390,  390,  390,  390,  390,
399      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
400
401      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
402      390,  390,  390,  390,  390,  390,  362,  390,  390,  390,
403      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
404      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
405      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
406      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
407      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
408      390,  390,  390,  390,  390,  390,  137,  390,  390,  390,
409      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
410      390,  390,  390,  390,  390,  390,  390,  390,  147,  390,
411
412      390,  390,  390,  390,  390,  390,  390,  389,  390,  390,
413      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
414      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
415      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
416      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
417      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
418      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
419      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
420      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
421      390,  390,  390,  390,  390,  119,  390,  390,  361,  390,
422
423      390,  390,  390,  390,  390,  390,  390,    8,  390,  390,
424      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
425      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
426      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
427      138,  390,  390,  390,  390,  390,  390,  390,  390,  390,
428      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
429      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
430      390,  390,  390,  390,  152,  390,  390,  390,  389,  390,
431      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
432      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
433
434      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
435      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
436      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
437      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
438      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
439      390,  390,  390,  352,  390,  390,  390,  390,  390,  390,
440      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
441      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
442      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
443      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
444
445      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
446      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
447      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
448      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
449      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
450      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
451      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
452      390,  390,  390,  389,  390,  390,  390,  390,  390,  390,
453      390,  390,  390,  390,  390,  390,  390,   71,  390,  390,
454      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
455
456      390,  390,  390,  390,  273,  390,   14,   15,  390,  390,
457       20,   19,  390,  390,  247,  390,  390,  390,  390,  390,
458      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
459      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
460      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
461      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
462      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
463      145,  390,  390,  390,  390,  390,  390,  390,  390,  390,
464      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
465      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
466
467      245,  390,  390,  390,  390,  390,  390,  390,  390,  390,
468      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
469      390,  390,    3,  390,  390,  390,  390,  390,  390,  390,
470      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
471      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
472      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
473      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
474      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
475      390,  390,  390,  390,  390,  389,  390,  390,  390,  390,
476      390,  390,  390,  390,  341,  390,  390,  390,  340,  390,
477
478      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
479      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
480      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
481      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
482      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
483      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
484      390,  390,  390,  373,  390,  390,  390,  390,  390,  390,
485      390,  390,   70,  390,  390,  390,  390,  390,  390,  390,
486      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
487       74,  390,  310,  390,  390,  390,  390,  390,  390,  390,
488
489      390,  390,  390,  390,  353,  354,  390,  390,  390,  390,
490      390,  390,  390,  390,  390,   75,  390,  390,  146,  390,
491      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
492      390,  390,  390,  390,  390,  141,  390,  390,  390,  390,
493      390,  390,  390,  390,  390,  390,  234,  390,  390,  390,
494      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
495      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
496       22,  390,  390,  390,  390,  390,  390,  390,  390,  390,
497      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
498      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
499
500      390,  390,  390,  173,  390,  390,  390,  390,  390,  390,
501      389,  373,  390,  390,  390,  390,  390,  390,  390,  390,
502      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
503      390,  390,  390,  390,  390,  390,  390,  117,  390,  390,
504      390,  390,  390,  390,  390,  390,  390,  318,  390,  390,
505      390,  390,  390,  390,  390,  390,  390,  390,   16,  390,
506      390,  390,  390,  390,  390,  390,  390,  201,  390,  390,
507      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
508      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
509      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
510
511      172,  390,  390,  390,  390,  390,  390,  390,  390,  390,
512      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
513      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
514      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
515      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
516      390,  116,  390,  390,  390,  390,  390,  390,  390,  390,
517      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
518      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
519      390,  390,  390,  390,   37,  390,  390,  390,  390,  390,
520      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
521
522      390,  390,  390,  390,  390,  390,  390,   38,  390,  390,
523      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
524      390,  390,  390,  390,   72,  390,  390,  390,  390,  390,
525      390,  390,  390,  390,  390,  390,  144,  390,  390,  390,
526      389,  390,  390,  390,  390,  390,  390,  136,  390,  390,
527      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
528      390,  390,  390,  390,  390,  390,   73,  390,  390,  390,
529      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
530      390,  277,  390,  390,  390,  390,  390,  390,  390,  390,
531      390,  390,  390,  390,  390,  390,  202,  390,  390,  390,
532
533      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
534      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
535      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
536      390,  390,  390,  390,  390,  390,  390,  390,   60,  390,
537      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
538      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
539      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
540      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
541      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
542      390,  390,  390,  390,  390,  390,  390,  390,  296,  390,
543
544      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
545      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
546       65,  390,   66,  390,  390,  390,  390,  390,  390,  120,
547      390,  121,  390,  390,  390,  390,  390,  118,  390,  390,
548      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
549      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
550      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
551      390,    7,  390,  390,  390,  390,  390,  389,  390,  390,
552      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
553      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
554
555      390,  262,  390,  390,  390,  390,  390,  390,  176,  390,
556      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
557      390,  390,  390,  390,  390,  278,  390,  390,  390,  390,
558      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
559      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
560      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
561      390,  390,  390,  390,  390,  390,  390,   51,  390,  390,
562      390,  390,  390,  390,  390,  390,  390,  390,  390,   61,
563      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
564      390,  390,  390,  390,  225,  390,  224,  390,  390,  390,
565
566      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
567      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
568      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
569      390,   17,   18,  390,  390,  390,  390,  390,  390,  390,
570      390,  390,  390,  390,  390,  390,  390,  390,   76,  390,
571      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
572      390,  390,  233,  390,  390,  390,  390,  390,  390,  390,
573      123,  390,  122,  390,  390,  390,  390,  390,  390,  390,
574      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
575      390,  390,  390,  390,  390,  390,  390,  390,  390,  215,
576
577      390,  390,  390,  390,  390,  390,  390,  390,  390,  153,
578      390,  253,  390,  390,  390,  389,  390,  390,  390,  390,
579      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
580      111,  390,  390,  390,  390,  390,  390,  390,  390,  390,
581      390,   98,  390,  390,  390,  390,  390,  390,  390,  390,
582      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
583      390,  390,  390,  390,  390,  390,  390,  390,  390,  246,
584      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
585      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
586      103,  390,  390,  390,  390,  390,  390,  390,  390,  390,
587
588      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
589      390,  390,  390,  390,  390,  390,  390,  390,   69,  390,
590      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
591      390,  390,  390,  390,  390,  390,  390,  390,  218,  219,
592      390,  390,  390,  312,  390,  390,  390,  390,  390,  390,
593      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
594        6,  390,  390,  390,  390,  390,  390,  390,  331,  390,
595      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
596      390,  390,  390,  390,  390,  390,  390,  390,  390,  316,
597      390,  390,  390,  390,  390,  390,  390,  342,  390,  390,
598
599      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
600      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
601      390,  390,  390,   48,  390,  390,  390,  390,  390,   50,
602      390,  390,  390,   99,  390,  390,  390,  390,  390,   58,
603      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
604      390,  390,  390,  389,  390,  211,  390,  390,  390,  148,
605      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
606      390,  390,  390,  390,  238,  390,  390,  212,  390,  390,
607      390,  390,  390,  258,  390,  390,  390,  390,  390,  390,
608      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
609
610      390,  390,  390,  390,   59,  390,  390,  390,  390,  390,
611      390,  390,  390,  390,  390,  390,  150,  129,  390,  130,
612      390,  390,  390,  390,  128,  390,  390,  390,  390,  390,
613      390,  390,  390,  390,  390,  169,  390,  390,   56,  390,
614      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
615      390,  390,  390,  390,  390,  390,  390,  390,  390,  294,
616      390,  390,  390,  390,  390,  390,  390,  390,  390,  213,
617      390,  390,  390,  390,  390,  223,  216,  390,  222,  390,
618      390,  390,  390,  390,  390,  390,  390,  257,  390,  390,
619      390,  390,  390,  390,  261,  390,  390,  390,  390,  390,
620
621      390,  390,  390,  390,  390,  390,  115,  390,  390,  390,
622      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
623      390,  390,  390,  390,  390,  390,  390,  390,  142,  390,
624      390,  390,  390,  390,  390,  390,  390,   67,  390,  390,
625      390,  390,   31,  390,  390,  390,  390,  390,  390,  390,
626      390,  390,  390,  390,  390,   21,  390,  390,  390,  390,
627      390,  390,  390,   32,   41,  390,  181,  390,  390,  390,
628      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
629      390,  390,  390,  209,  390,  390,  389,  390,  390,  390,
630      390,  357,  390,  390,   84,  390,   87,  390,  390,  390,
631
632      390,  390,  390,  390,  390,  390,  358,  390,  390,  390,
633      390,  390,  390,  390,  390,  320,  390,  390,  390,  390,
634      274,  390,  390,  390,  390,  390,  390,  390,  390,  390,
635      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
636      390,  390,  390,  390,  131,  390,  390,  390,  390,  390,
637      390,  390,  390,  390,  390,  390,  390,  168,  390,   52,
638      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
639      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
640      268,  390,  390,  390,  390,  390,  390,  390,  390,  335,
641      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
642
643      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
644      390,  175,  390,  390,  390,  390,  390,  390,  390,  390,
645      390,  390,  390,  390,  390,  329,  390,  390,  390,  390,
646      244,  390,  390,  390,  390,  390,  390,  390,  390,  390,
647      390,  390,  349,  390,  390,  390,  390,  390,  390,  390,
648      390,  390,  390,  390,  390,  194,  390,  390,  390,  390,
649      390,  390,  390,  390,  390,  390,  390,  124,  390,  390,
650      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
651      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
652      390,  188,  390,  203,  390,  390,  390,  390,  390,  390,
653
654      390,  390,  390,  389,  390,  156,  390,  390,  390,  390,
655      390,  390,  390,  390,  110,  390,  390,  390,  390,  236,
656      390,  390,  390,  390,  390,  390,  390,  390,  259,  390,
657      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
658      390,  390,  390,  390,  390,  286,  390,  390,  390,  390,
659      390,  390,  390,  390,  390,  390,  390,  149,  390,  390,
660      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
661      390,  390,  390,  390,  390,  390,  192,  390,  390,  390,
662      390,  390,  390,  390,   88,  390,   89,  390,  390,  390,
663      390,  390,  271,  390,  390,  390,  390,  390,   68,  338,
664
665      390,  390,  390,  390,  390,   97,  204,  390,  226,  390,
666      263,  390,  390,  217,  313,  390,  390,  390,  390,  308,
667      390,  390,  390,   80,  390,  206,  390,  390,  390,  390,
668      390,  390,    9,  390,  390,  390,  390,  390,  114,  390,
669      390,  390,  390,  390,  390,  300,  390,  390,  390,  390,
670      390,  390,  235,  390,  390,  390,  390,  390,  390,  390,
671      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
672      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
673      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
674      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
675
676      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
677      390,  389,  390,  390,  390,  390,  191,  390,  390,  390,
678      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
679      193,  252,  177,  390,  319,  390,  390,  390,  390,  390,
680      285,  390,  390,  390,  390,  390,  390,  390,  390,  390,
681      390,  390,  248,  390,  390,  390,  390,  390,  390,  311,
682      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
683      390,  390,  390,  390,  390,  390,  390,  390,  174,  390,
684      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
685      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
686
687      339,  390,  205,  390,  390,  390,  390,  390,  390,  390,
688      390,  390,   79,   81,  390,  390,  390,  390,  390,  390,
689      390,  390,  390,  390,  113,  390,  390,  390,  390,  390,
690      390,  298,  390,  390,  390,  390,  390,  390,  390,  315,
691      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
692      390,  390,  390,  240,  390,   39,   33,   35,  390,  390,
693      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
694      390,   40,  390,   34,   36,  390,   42,  390,  390,  390,
695      390,  390,  390,  390,  109,  390,  187,  390,  390,  390,
696      390,  390,  390,  390,  390,  390,  389,  390,  390,  390,
697
698      390,  390,  390,  390,  390,  343,  390,  390,  390,  390,
699      390,  242,  239,  390,  390,  390,  390,  390,  390,  390,
700      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
701      390,  390,   78,  390,  390,  390,  151,  390,  132,  390,
702      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
703      170,   53,  390,  390,  390,  381,   13,  390,  390,  390,
704      390,  390,  390,  390,  157,  390,  390,  390,  390,  390,
705      390,  390,  390,  333,  390,  336,  390,  390,  390,  390,
706      390,  390,  390,  390,  390,  390,  390,  390,  390,   12,
707      390,  390,   23,  390,  390,  390,  390,  390,  390,  390,
708
709      304,  390,  390,  351,  390,  390,  390,  390,  317,  390,
710      390,  390,  390,   82,  390,  250,  390,  390,  390,  390,
711      390,  241,  390,  390,  390,  390,   77,  390,  390,  390,
712      390,  390,  390,   24,  390,  390,   49,  390,  390,  390,
713      390,  390,  390,  390,  390,  390,  390,  390,  390,  186,
714      185,  390,  390,  390,  390,  381,  390,  390,  390,  390,
715      390,  390,  390,  390,  390,  390,  390,  243,  237,  390,
716      260,  390,  390,  321,  390,  390,  390,  390,  390,  390,
717      390,  390,  390,  390,  390,  390,  390,  390,  199,  390,
718      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
719
720      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
721      390,   90,  390,  390,  390,  390,  390,  390,  390,  390,
722      299,  390,  390,  390,  390,  221,  390,  390,  390,  390,
723      390,  390,  249,  390,  390,  390,  390,  390,  390,  390,
724      390,  390,  390,  306,  390,  390,  390,  345,  390,  347,
725      346,  183,  390,  390,  390,   83,  390,  390,  390,  390,
726      195,  390,  390,  390,  390,  390,  125,  127,  126,  390,
727      390,  390,   26,  390,  390,  178,  390,  180,  390,  227,
728      390,  390,  390,  390,  184,  390,  390,  254,  390,  390,
729      390,  390,  264,  390,  390,  390,  390,  390,  390,  390,
730
731      390,  390,  159,  390,  390,  390,  390,  390,  390,  390,
732      390,  390,  390,  390,  390,  276,  390,  390,  390,  390,
733      390,  390,  390,  359,  390,   28,  390,  314,  390,  390,
734      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
735      390,  390,  390,  390,  390,  390,   95,  228,  390,  390,
736      270,  390,  390,  390,  297,  390,  337,  390,  220,  390,
737      390,  309,  390,  390,  390,  307,   62,  390,  390,  390,
738      390,  390,  390,  390,    4,  390,  390,  390,  390,  390,
739      140,  390,  158,  390,  390,  390,  200,   30,  390,  390,
740      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
741
742      390,  390,  390,  390,  390,  390,  390,  390,  390,  267,
743       43,   44,  390,  390,  390,  390,  390,  390,  390,  390,
744      390,  322,  390,  390,  390,  390,  390,  390,  390,  284,
745      390,  390,  390,  390,  390,  390,  390,  390,  231,  390,
746      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
747      390,  390,  390,  390,   94,   93,  390,  390,   63,  390,
748      390,  295,  303,  390,  272,  390,  390,  390,  390,  390,
749       11,  390,  390,  390,  390,  363,  390,  390,  390,  390,
750      390,  139,  390,  390,  390,  390,  390,  390,  229,  100,
751      390,  390,   46,  390,  390,  390,  390,  390,  390,  390,
752
753      390,  190,  390,  255,  390,  390,  390,  390,  390,  390,
754      390,  390,  390,  161,  390,  390,  390,  390,  275,  390,
755      390,  390,  390,  390,  283,  390,  390,  390,  390,  154,
756      390,  390,  390,  133,  135,  134,  390,  390,  390,  102,
757      106,  101,  390,  171,  390,  390,  390,  390,   91,  390,
758      269,  305,  390,  390,  390,  390,  390,  390,   10,  390,
759      390,  390,  390,  390,  301,  350,  390,  390,  390,  390,
760      390,  390,  390,  390,  356,   45,  390,  390,  390,  390,
761      390,  189,  390,  390,  390,  390,  390,  390,  390,  390,
762      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
763
764      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
765      107,  105,  390,  390,   57,  390,  390,   92,  390,  334,
766      390,  390,  390,  390,   25,  390,  390,  390,  390,  390,
767      214,  390,  390,  348,  390,  390,  390,  390,  230,  390,
768      390,  390,  390,  390,  390,  390,  390,  390,  390,  210,
769      390,  390,  179,   85,   86,  390,  390,  390,  390,  390,
770      390,  323,  390,  390,  390,  390,  390,  390,  390,  280,
771      390,  390,  279,  155,  390,  390,  104,  390,   54,  390,
772      390,  162,  163,  166,  167,  164,  165,   96,  332,  390,
773      390,  302,  143,  390,  390,  390,  390,   27,  390,  182,
774
775      390,  390,  390,  390,  390,  208,  390,  266,  390,  390,
776      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
777      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
778      390,  197,  196,  232,   47,  390,  390,  390,  390,  390,
779      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
780      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
781      390,  330,  390,  390,  390,  390,  112,  390,  390,  265,
782      390,  390,  293,  327,  390,  390,  390,  390,  390,  390,
783      390,  390,  390,  390,  390,  360,  390,  108,   55,   64,
784        5,  390,  390,  251,  390,  390,  390,  390,  328,  390,
785
786      390,  390,  390,  390,  390,  390,  390,  390,  281,   29,
787      390,  390,  390,  256,  390,  390,  390,  390,  390,  390,
788      390,  390,  390,  390,  282,  390,  390,  390,  390,  160,
789      390,  390,  390,  390,  390,  390,  390,  390,  198,  390,
790      207,  390,  390,  390,  390,  390,  390,  390,  390,  390,
791      390,  390,  324,  390,  390,  390,  390,  390,  390,  390,
792      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
793      390,  355,  344,  390,  390,  289,  390,  390,  390,  390,
794      390,  325,  390,  390,  390,  390,  390,  390,  326,  390,
795      390,  390,  287,  390,  290,  291,  390,  390,  390,  390,
796
797      390,  288,  292,    0
798    } ;
799
800static const YY_CHAR yy_ec[256] =
801    {   0,
802        1,    1,    1,    1,    1,    1,    1,    1,    2,    3,
803        1,    1,    4,    1,    1,    1,    1,    1,    1,    1,
804        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
805        1,    2,    1,    5,    6,    1,    1,    1,    7,    1,
806        1,    1,    1,    1,    8,    1,    1,    1,    9,    1,
807       10,   11,    1,   12,    1,    1,    1,   13,    1,    1,
808        1,    1,    1,    1,   14,   15,   16,   17,   18,   19,
809       20,   21,   22,   23,   24,   25,   26,   27,   28,   29,
810       30,   31,   32,   33,   34,   35,   36,   37,   38,   39,
811        1,   40,    1,    1,    1,    1,   41,   42,   43,   44,
812
813       45,   46,   47,   48,   49,   50,   51,   52,   53,   54,
814       55,   56,   57,   58,   59,   60,   61,   62,   63,   64,
815       65,   66,    1,    1,    1,    1,    1,    1,    1,    1,
816        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
817        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
818        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
819        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
820        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
821        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
822        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
823
824        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
825        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
826        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
827        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
828        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
829        1,    1,    1,    1,    1
830    } ;
831
832static const YY_CHAR yy_meta[67] =
833    {   0,
834        1,    2,    3,    4,    5,    1,    6,    1,    1,    1,
835        1,    1,    7,    1,    1,    1,    1,    1,    1,    1,
836        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
837        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
838        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
839        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
840        1,    1,    1,    1,    1,    1
841    } ;
842
843static const flex_int16_t yy_base[3923] =
844    {   0,
845        0,    0,   64,   67,   70,   72,   78,   84,   89,   92,
846      131,  137,  112,  118,  123,  142,  572,  520,   96,11109,
847    11109,11109,  160,  185,  116,  183,  229,  132,  175,  173,
848      232,   50,   66,  120,  263,  275,  159,  323,  134,  375,
849      416,  286,  308,  283,  177,  126,  258,  471,11109,11109,
850    11109,   95,  462,11109,11109,11109,  236,  438,  436,11109,
851    11109,11109,  351,  388,11109,11109,11109,  104,  385,11109,
852      369,11109,  167,  375,  345,  368,11109,11109,11109,  390,
853      309,11109,11109,11109,  146,  291,  394,  177,    0,  406,
854        0,    0,  210,  224,  235,  281,  310,  259,  343,  389,
855
856      256,  187,  396,  428,  426,  325,  382,  446,  303,  425,
857      402,  463,  344,  381,  423,  450,  451,  454,  473,  469,
858      472,  480,  501,  498,  496,  507,  453,  513,  487,  518,
859      503,  509,  535,  523,  538,  528,  543,  537,  386,  547,
860      559,  556,  351,  561,  573,  568,  594,  565,  592,  599,
861      585,  596,  595,  609,  627,  618,  626,  620,  621,  636,
862      637,  635,  273,  180,  270,  238,  268,  678,  296,  230,
863      342,  152,  689,  693,    0,  668,  150,  697,  176,  128,
864      455,  669,  666,  672,  677,  680,  697,  683,  698,  681,
865      696,  704,  695,  702,  707,  740,  701,  732,  743,  226,
866
867      749,  793,  750,  733,  754,  728,  753,  756,  772,  762,
868      767,  788,  795,  785,  777,  783,  811,  748,  803,  816,
869      853,  828,  817,  789,  240,  835,  850,  250,  819,  607,
870      852,  847,  723,  860,   91,  768,  845,  863,  887,  872,
871      569,  864,  855,  879,  883,  877,  895,  880,  904,  842,
872      898,  892,  891,  929,  910,  899,  923,  912,  938,  928,
873      930,  948,  925,  944,  951,  939,  952,  956,  965,  943,
874      968,  955,  950,  980,  969,  992,  989,  986,  970,  979,
875      985,  991,  982,  994,  984,  995, 1011, 1009, 1028, 1029,
876     1020, 1030, 1038, 1024, 1026, 1027, 1033, 1032, 1036, 1023,
877
878     1054, 1055, 1041, 1063, 1073,  233, 1059, 1075, 1078, 1067,
879     1092, 1081, 1085, 1086, 1087, 1090,11109, 1097, 1101, 1102,
880     1116, 1103, 1117, 1098, 1122, 1136, 1137, 1113, 1123, 1125,
881     1126, 1134, 1144, 1140, 1151, 1150, 1152, 1171, 1157, 1173,
882     1168, 1162, 1178, 1174, 1217, 1179, 1196, 1185, 1262, 1189,
883     1191, 1212, 1225, 1230,  486, 1219, 1211, 1249, 1218, 1232,
884     1255, 1241, 1261, 1258, 1282, 1274, 1277, 1259, 1276, 1285,
885     1286, 1296, 1299, 1301, 1164, 1321,11109, 1300, 1325, 1215,
886     1326, 1327, 1334, 1336, 1341, 1353, 1335, 1354, 1346, 1370,
887     1371, 1403, 1451, 1358, 1381, 1373, 1380, 1396,11109, 1390,
888
889     1399, 1500, 1417, 1419, 1391, 1392, 1429, 1420, 1430, 1423,
890     1444, 1439, 1450, 1446, 1434, 1462, 1469, 1480, 1499, 1473,
891     1478, 1491, 1518, 1527, 1509, 1468, 1507, 1501, 1525, 1520,
892     1530, 1558, 1465, 1539, 1551, 1562, 1543, 1547, 1552, 1553,
893     1559, 1570, 1571, 1585, 1577, 1597, 1583, 1590, 1591, 1586,
894     1603, 1593, 1617, 1662, 1596, 1613, 1614, 1623, 1629, 1636,
895     1624, 1641, 1631, 1654, 1650, 1651, 1658, 1660, 1642, 1665,
896     1677, 1687, 1666, 1686, 1692, 1684, 1674, 1700, 1703, 1711,
897     1697, 1701, 1698, 1717, 1728, 1713, 1732, 1736, 1738, 1733,
898     1748, 1746, 1750, 1752, 1735,11109, 1755, 1765,11109, 1760,
899
900     1759, 1762, 1761, 1764, 1769, 1775, 1778,11109, 1786, 1782,
901     1787, 1808, 1797, 1820, 1809, 1821, 1794, 1805, 1817, 1826,
902     1816, 1822, 1814, 1844, 1831, 1839, 1845, 1840, 1855, 1843,
903     1841, 1857, 1856, 1869, 1864, 1870, 1877, 1867, 1872, 1920,
904    11109, 1878, 1882, 1880, 1904, 1891, 1906, 1900, 1925, 1945,
905     1917, 1937, 1941, 1949, 1970, 1956, 1963, 1977, 1951, 1966,
906     1981, 1967, 1987, 1976, 1983, 1984, 2004, 1993, 1892, 2011,
907     2008, 2002, 2009, 1918,11109, 2013, 2014, 2026, 2029, 1922,
908     2015, 2019, 2018, 2035, 2001, 2032, 2040, 2051, 2050, 2064,
909     2041, 2061, 2070, 2076, 2060, 2078, 2080, 2067, 2081, 2075,
910
911     2068, 2093, 2082, 2097, 2103, 2088, 2123, 2101, 2117, 2121,
912      158, 2106, 2126, 2129, 2137, 2140, 2116, 2115, 2133, 2135,
913     2142, 2132, 2144, 2154, 2150, 2143, 2149, 2169, 2159, 2160,
914     2171, 2165, 2184, 2174, 2190, 2170, 2178, 2198, 2187, 2192,
915     2193, 2163, 2204, 2207, 2234, 2205, 2226, 2211, 2212, 2217,
916     2236, 2233, 2243,11109, 2248, 2250, 2249, 2261, 2262, 2266,
917     2264, 2273, 2268, 2272, 2275, 2270, 2291, 2286, 2224, 2292,
918     2285, 2298, 2294, 2293, 2300, 2313, 2312, 2331, 2323, 2332,
919     2338, 2325, 2342, 2339, 2328, 2333, 2334, 2349, 2351, 2337,
920     2352, 2358, 2360, 2355, 2362, 2361, 2391, 2379, 2382, 2393,
921
922     2388, 2381, 2387, 2394, 2383, 2401, 2404, 2409, 2430, 2422,
923     2423, 2419, 2442, 2440, 2420, 2450, 2436, 2451, 2437, 2438,
924     2463, 2466, 2467, 2468, 2449, 2469, 2462, 2472, 2476, 2474,
925     2478, 2504, 2494, 2475, 2490, 2498, 2508, 2503, 2502, 2513,
926     2524, 2515, 2511, 2526, 2538, 2539, 2542, 2536, 2548, 2545,
927     2560, 2553, 2551, 2563, 2565, 2571, 2566, 2577, 2568, 2592,
928     2595, 2598, 2583, 2597, 2606, 2594, 2608, 2604, 2603, 2609,
929     2619, 2625, 2479, 2636, 2640, 2644, 2633, 2642, 2634, 2650,
930     2645, 2635, 2654, 2657, 2687, 2668, 2670,11109, 2669, 2550,
931     2671, 2672, 2685, 2682, 2676, 2684, 2696, 2709, 2697, 2700,
932
933     2695, 2683, 2698, 2744,11109, 2715,11109,11109,  759, 2714,
934    11109,11109, 2711, 2727,11109, 2721, 2745, 2741, 2758, 2748,
935     2754, 2760, 2773, 2768, 2775, 2772, 2742, 2819, 2777, 2798,
936     2785, 2787, 2814, 2783, 2824, 2822, 2790, 2830, 2841, 2834,
937     2812, 2767, 2836, 2851, 2845, 2861, 2868, 2870, 2871, 2872,
938     2873, 2878, 2864, 2862, 2886, 2865, 2887, 2901, 2883, 2900,
939     2896, 2904, 2893, 2907, 2910, 2897, 2931, 2924, 2930, 2940,
940    11109, 2927, 2943, 2921, 2928, 2933, 2946, 2945, 2949, 2958,
941     2956, 2955, 2964, 2965, 2951, 2960, 2957, 2966, 2977, 2972,
942     2976, 2970, 2982, 3000, 2996, 2999, 3010, 3016, 2997, 2993,
943
944    11109, 3008, 3009, 2995, 3014, 3020, 3021, 3028, 3033, 3026,
945     3024, 3041, 3046, 3066, 3048, 3053, 3055, 3044, 3060, 3061,
946     3056, 3081,11109, 3076, 3064, 3073, 3090, 3077, 3097, 3052,
947     3086, 3087, 3096, 3101, 3103, 3111, 3100, 3112, 3125, 3123,
948     3122, 3119, 3121, 3127, 3138, 3139, 3137, 3150, 3156, 3153,
949     3143, 3148, 3149, 3152, 3161, 3164, 3166, 3174, 3175, 3178,
950     3197, 3184, 3202, 3189, 3180, 3209, 3211, 3206, 3196, 3208,
951     3212, 3205, 3213, 3223, 3224, 3231, 3225, 3232, 3236, 3229,
952     3246, 3230, 3241, 3255, 3261, 3267, 3251, 3265, 3270, 3258,
953     3263, 3259, 3284, 3276,11109, 3275, 3286, 3305,11109, 3296,
954
955     3294, 3291, 3344, 3310, 3316, 3321, 3330, 3324, 3304, 3354,
956     3341, 3335, 3352, 3362, 3356, 3369, 3364, 3376, 3391, 3383,
957     3394, 3389, 3379, 3388, 3378, 3387, 3405, 3403, 3415, 3417,
958     3422, 3418, 3429, 3404,  760, 3438, 3421, 3432, 3434, 3479,
959     3428, 3436, 3448, 3445, 3463, 3468, 3461, 3467, 3470, 3488,
960     3455, 3484, 3494, 3465, 3504, 3506, 3501, 3500, 3517, 3520,
961     3477, 3530, 3521,11109, 3522, 3536, 3523, 3546, 3527, 3528,
962     3547, 3537,11109, 3544, 3549, 3543, 3565, 3563, 3562, 3570,
963     3557, 3568, 3586, 3571, 3576, 3584, 3585, 3590, 3583, 3606,
964    11109, 3589,11109, 3608, 3599, 3603, 3602, 3611, 3612, 3610,
965
966     3618, 3625, 3637, 3638,11109,11109, 3639, 3645, 3632, 3646,
967     3630, 3653, 3651, 3661, 3662,11109, 3663, 3686,11109, 3681,
968     3668, 3688, 3670, 3672, 3677, 3687, 3678, 3703, 3702, 3705,
969     3704, 3706, 3707, 3720, 3712,11109, 3727, 3732, 3715, 3733,
970     3740, 3721, 3741, 3751, 3752, 3734,11109, 3760, 3742, 3764,
971     3753, 3776, 3775, 3772, 3768, 3779, 3787, 3771, 3773, 3784,
972     3791, 3783, 3795, 3810, 3812, 3815, 3819, 3817, 3821, 3822,
973    11109, 3823, 3807, 3809, 3832, 3830, 3833, 3831, 3834, 3836,
974     3827, 3846, 3861, 3863, 3858, 3870, 3853, 3862, 3857, 3882,
975     3883, 3872, 3881, 3879, 3885, 3880, 3888, 3893, 1348, 3898,
976
977     3896, 3899, 3892,11109, 3903, 3915, 3928, 3921, 3930, 3931,
978     3913,  115, 3920, 3926, 3925, 3945, 3956, 3939, 3946, 3947,
979     3944, 3964, 3961, 3955, 3959, 3971, 3977, 3973, 3966, 3981,
980     3982, 3974, 3991, 3996, 4004, 3997, 3994,11109, 3990, 4001,
981     4016, 4018, 4007, 4014, 4024, 4026, 4044,11109, 4028, 4034,
982     4043, 4050, 4057, 4051, 4066, 4053, 4056, 4059,11109, 4062,
983     4078, 4076, 4071, 4077, 4086, 4091, 4087,11109, 4081, 4105,
984     4107, 4096, 4114, 4113, 4111, 4115, 4121, 4126, 4146, 4135,
985     4144, 4140, 4137, 4133, 4141, 4155, 4160, 4163, 4084, 4108,
986     4164, 4171, 4177, 4170, 4181, 4176, 4169, 4185, 4204, 4186,
987
988    11109, 4210, 4199, 4201, 4209, 4198, 4207, 4219, 4220, 4235,
989     4221, 4225, 4216, 4237, 4267, 4242, 4251, 4254, 4256, 4265,
990     4269, 4252, 4258, 4266, 4284, 4300, 4283, 4305, 4309, 4288,
991     4302, 4282, 4296, 4315, 4310, 4323, 4317, 4307, 4333, 4329,
992     4332, 4330, 4335, 4348, 4341, 4373, 4353, 4347, 4368, 3439,
993     4365,11109, 4359, 4356, 4357, 4379, 4385, 4407, 4390, 4392,
994     4383, 4403, 4409, 4402, 4406, 4412, 4413, 4418, 4414, 4410,
995     4435, 4430, 4441, 4433, 4439, 4449, 4437, 4426, 4454, 4326,
996     4450, 4461, 4458, 4467,11109, 4476, 4475, 4468, 4482, 4472,
997     4473, 4484, 4488, 4492, 4477, 4496, 4500, 4501, 4485, 4509,
998
999     4507, 4502, 4513, 4525, 4524, 4529, 4520,11109, 4532, 4527,
1000     4528, 4534, 4536, 4540, 4556, 4565, 4568, 4569, 4572, 4575,
1001     4558, 4578, 4579, 4577,11109, 4548, 4551, 4582, 4583, 4594,
1002     4599, 4593, 4605, 4618, 4602, 4603,11109, 4614, 4606, 4615,
1003     4613, 4607, 4621, 4636, 4641, 4631, 4642,11109, 4643, 4645,
1004     4646, 4651, 4652, 4647, 4649, 4648, 4663, 4676, 4664, 4670,
1005     4678, 4680, 4682, 4698, 4679, 4694,11109, 4691, 4687, 4703,
1006     4720, 4706, 4704, 4709, 4705, 4723, 4727, 4744, 4726, 4732,
1007     4741,11109, 4746, 4753, 4737, 4763, 4747, 4751, 4765, 4762,
1008     4776, 4780, 4768, 4771, 4782, 4779,11109, 4774, 4778, 4784,
1009
1010     4815, 4793, 4801, 4798, 4805, 4809, 4806, 4808, 4820, 4823,
1011     4824, 4818, 4825, 4833, 4826, 4841, 4842, 4849, 4846, 4861,
1012     4848, 4865, 4851, 4876, 4884, 4885, 4858, 4880, 4887, 4888,
1013     4875, 4879, 4890, 4889, 4898, 4901, 4904, 4918,11109, 4909,
1014     4906, 4914, 4902, 4912, 4916, 4927, 4928, 4925, 4929, 4936,
1015     4943, 4945, 4939, 4973, 4979, 4956, 4957, 4963, 4961, 4962,
1016     4969, 4987, 4974, 4975, 4976, 5002, 5004, 4997, 4990, 4984,
1017     4986, 5003, 5006, 5017, 5021, 5008, 5019, 5013, 5022, 5024,
1018     5026, 5020, 5035, 5042, 5037, 5055, 5044, 5047, 5048, 4934,
1019     5067, 5068, 5072, 5064, 5065, 5069, 5075, 5095,11109, 5071,
1020
1021     5083, 5103, 5091, 5092, 5093, 5111, 5116, 5122, 5110, 5113,
1022     5128, 5124, 5123, 5130, 5138, 5141, 5133, 5143, 5137, 5144,
1023    11109, 5148,11109, 5150, 5146, 5157, 5171, 5151, 5154,11109,
1024     5176,11109, 5177, 5179, 5175, 5181, 5184,11109, 5185, 5189,
1025     5193, 5178, 5199, 5194, 5202, 5204, 5209, 5218, 5216, 5214,
1026     5231, 5224, 5220, 5227, 5236, 5229, 5247, 5239, 5244, 5259,
1027     5252, 5268, 5266, 5257, 5271, 5251, 5263, 5274, 5279, 5284,
1028     5287,11109, 5281, 5307, 5293, 5300, 5310, 5289, 5299, 5304,
1029     5302, 5311, 5308, 5319, 5323, 5331, 5327, 5334, 5337, 5338,
1030     5340, 5343, 5344, 5351, 5342, 5370, 5368, 5380, 5361, 5382,
1031
1032     5371,11109, 5365, 5385, 5374, 5375, 5386, 5384,11109, 5399,
1033     5392, 5395, 5409, 5400, 5397, 5413, 5402, 5424, 5412, 5421,
1034     5418, 5441, 5439, 5445, 5443,11109, 5440, 5448, 5429, 5455,
1035     5461, 5460, 5468, 5469, 5473, 5482, 5489, 5474, 5486, 5466,
1036     5476, 5480, 5477, 5495, 5507, 5513, 5517, 5487, 5520, 5500,
1037     5524, 5528, 5525, 5514, 5511, 5518, 5516, 5519, 5522, 5534,
1038     5540, 5546, 5543, 5538, 5551, 5552, 5565,11109, 5562, 5570,
1039     5563, 5588, 5557, 5569, 5566, 5573, 5599, 5604, 5597,11109,
1040     5594, 5590, 5603, 5595, 5615, 5596, 5613, 5601, 5618, 5630,
1041     5626, 5637, 5646, 5632,11109, 5645,11109, 5643, 5624, 5647,
1042
1043     5619, 5656, 5657, 5662, 5664, 5678, 5666, 5671, 5676, 5692,
1044     5683, 5674, 5694, 5685, 5684, 5693, 5696, 5716, 5706, 5705,
1045     5721, 5709, 5711, 5717, 5722, 5729, 5726, 5723, 5751, 5749,
1046     5746,11109,11109, 5734, 5742, 5762, 5765, 5755, 5761, 5774,
1047     5776, 5784, 5767, 5782, 5787, 5786, 5790, 5821,11109, 5798,
1048     5800, 5797, 5817, 5814, 5831, 5811, 5830, 5836, 5832, 5826,
1049     5838, 5839,11109, 5823, 5827, 5846, 5841, 5848, 5868, 5856,
1050    11109, 5854,11109, 5857, 5859, 5863, 5872, 5864, 5870, 5881,
1051     5883, 5887, 5888, 5897, 5901, 5890, 5898, 5909, 5903, 5913,
1052     5906, 5905, 5915, 5918, 5924, 5925, 5919, 5928, 5929,11109,
1053
1054     5931, 5939, 5950, 5930, 5940, 5943, 5958, 5956, 5946,11109,
1055     5975,11109, 5961, 5967, 5977, 5970, 5964, 5984, 5974, 5983,
1056     5981, 5998, 6007, 5999, 6008, 6002, 6010, 6006, 6019, 6001,
1057    11109, 6004, 6016, 6024, 6020, 6031, 6046, 6038, 6050, 6034,
1058     6055,11109, 6051, 6065, 6047, 6057, 6069, 6067, 6058, 6073,
1059     6068, 6079, 6064, 6083, 6085, 6082, 6100, 6081, 6092, 6096,
1060     6102, 6113, 6098, 6131, 6110, 6106, 6120, 6129, 6123,11109,
1061     6125, 6127, 6132, 6137, 6140, 6155, 6158, 6138, 6161, 6169,
1062     6156, 6175, 6178, 6165, 6168, 6170, 6177, 6190, 6195, 6197,
1063    11109, 6198, 6192, 6203, 6184, 6204, 6187, 6205, 6215, 6206,
1064
1065     6218, 6220, 6213, 6217, 6224, 6236, 6242, 6244, 6251, 6245,
1066     6234, 6248, 6240, 6253, 6262, 6263, 6267, 6268,11109, 6297,
1067     6284, 6281, 6250, 6277, 6287, 6304, 6294, 6285, 6286, 6306,
1068     6290, 6317, 6299, 6300, 6327, 6320, 6335, 6321,11109,11109,
1069     6336, 6312, 6329,11109, 6331, 6330, 6347, 6333, 6334, 6339,
1070     6359, 6348, 6355, 6364, 6363, 6357, 6375, 6373, 6361, 6365,
1071    11109, 6390, 6384, 6398, 6374, 6388, 6409, 6403,11109, 6393,
1072     6411, 6407, 6408, 6410, 6414, 6404, 6399, 6420, 6415, 6425,
1073     6426, 6422, 6432, 6462, 6431, 6466, 6445, 6449, 6459,11109,
1074     6447, 6446, 6472, 6469, 6454, 6461, 6470,11109, 6481, 6483,
1075
1076     6497, 6476, 6475, 6501, 6504, 6511, 6505, 6517, 6499, 6508,
1077     6510, 6514, 6503, 6525, 6531, 6538, 6535, 6539, 6550, 6544,
1078     6534, 6558, 6556,11109, 6561, 6552, 6547, 6564, 6573,11109,
1079     6575, 6598, 6581,11109, 6594, 6577, 6587, 6589, 6604,11109,
1080     6593, 6602, 6595, 6608, 6585, 6616, 6591, 6620, 6611, 6612,
1081     6623, 6622, 6625, 6619, 6615,11109, 6636, 6637, 6650,11109,
1082     6657, 6658, 6659, 6662, 6664, 6666, 6663, 6652, 6649, 6675,
1083     6668, 6673, 6691, 6671,11109, 6676, 6699,11109, 6701, 6702,
1084     6688, 6698, 6711,11109, 6705, 6707, 6708, 6714, 6718, 6715,
1085     6716, 6746, 6723, 6731, 6743, 6735, 6736, 6756, 6754, 6761,
1086
1087     6739, 6758, 6747, 6750,11109, 6788, 6772, 6766, 6786, 6776,
1088     6770, 6792, 6793, 6783, 6802, 6798,11109,11109, 6806,11109,
1089     6809, 6808, 6810, 6814,11109, 6825, 6828, 6819, 6827, 6820,
1090     6816, 6835, 6832, 6856, 6852,11109, 6858, 6862,11109, 6838,
1091     6864, 6869, 6854, 6859, 6851, 6855, 6871, 6883, 6853, 6882,
1092     6891, 6889, 6893, 6880, 6899, 6897, 6922, 6900, 6934,11109,
1093     6918, 6902, 6916, 6914, 6924, 6927, 6941, 6943, 6939,11109,
1094     6951, 6955, 6954, 6968, 6969,11109,11109, 6970,11109, 6967,
1095     6978, 6950, 6986, 6971, 6981, 6965, 6982,11109, 6989, 6993,
1096     7004, 6984, 7014, 7020,11109, 7016, 7018, 7006, 7008, 7005,
1097
1098     7032, 7031, 7017, 7027, 7060, 7034,11109, 7037, 7048, 7053,
1099     7040, 7067, 7059, 7057, 7051, 7078, 7069, 7075, 7058, 7084,
1100     7092, 7082, 7079, 7087, 7089, 7098, 7105, 7094,11109, 7109,
1101     7111, 7122, 7121, 7131, 7116, 7132, 7117,11109, 7133, 7118,
1102     7147, 7148,11109, 7149, 7157, 7145, 7161, 7160, 7164, 7167,
1103     7170, 7168, 7169, 7175, 7194,11109, 7188, 7189, 7187, 7198,
1104     7206, 7209, 7204,11109,11109, 7213,11109, 7202, 7214, 7224,
1105     7225, 7217, 7238, 7171, 7241, 7248, 7235, 7236, 7252, 7249,
1106     7244, 7245, 7258,11109, 7267, 7263, 7266, 7296, 7272, 7294,
1107     7270,11109, 7284, 7275,11109, 7281,11109, 7280, 7291, 7298,
1108
1109     7305, 7307, 7310, 7311, 7302, 7299,11109, 7329, 7325, 7315,
1110     7322, 7344, 7346, 7343, 7355,11109, 7347, 7333, 7357, 7339,
1111    11109, 7338, 7364, 7354, 7368, 7371, 7367, 7373, 7372, 7374,
1112     7375, 7387, 7401, 7393, 7402, 7391, 7395, 7399, 7403, 7404,
1113     7406, 7400, 7419, 7425,11109, 7431, 7422, 7424, 7426, 7432,
1114     7430, 7442, 7435, 7448, 7444, 7452, 7468,11109, 7458,11109,
1115     7463, 7453, 7471, 7472, 7464, 7478, 7481, 7490, 7483, 7482,
1116     7475, 7494, 7511, 7497, 7513, 7514, 7503, 7504, 7509, 7524,
1117    11109, 7526, 7531, 7520, 7536, 7545, 7529, 7543, 7539,11109,
1118     7555, 7541, 7547, 7538, 7548, 7569, 7559, 7573, 7558, 7579,
1119
1120     7565, 7584, 7583, 7590, 7577, 7586, 7592, 7581, 7597, 7585,
1121     7582,11109, 7609, 7602, 7596, 7621, 7612, 7622, 7625, 7629,
1122     7634, 7633, 7618, 7628, 7636,11109, 7651, 7648, 7644, 7645,
1123    11109, 7626, 7653, 7624, 7654, 7672, 7679, 7663, 7678, 7680,
1124     7670, 7686,11109, 7688, 7671, 7693, 7675, 7690, 7703, 7677,
1125     7696, 7723, 7716, 7727, 7735,11109, 7731, 7720, 7734, 7736,
1126     7737, 7719, 7747, 7746, 7748, 7765, 7750,11109, 7773, 7774,
1127     7780, 7766, 7745, 7788, 7768, 7771, 7793, 7791, 7794, 7777,
1128     7797, 7787, 7805, 7800, 7813, 7819, 7821, 7817, 7816, 7824,
1129     7829,11109, 7814,11109, 7815, 7836, 7837, 7844, 7858, 7839,
1130
1131     7851, 7860, 7846, 7849, 7848,11109, 7863, 7866, 7883, 7873,
1132     7875, 7880, 7890, 7886,11109, 7887, 7876, 7893, 7900,11109,
1133     7901, 7916, 7902, 7911, 7905, 7924, 7930, 7932,11109, 7934,
1134     7937, 7931, 7942, 7946, 7935, 7945, 7938, 7953, 7943, 7960,
1135     7949, 7965, 7951, 7961, 7972,11109, 7979, 7981, 7985, 7986,
1136     7989, 7987, 7988, 7978, 7999, 7990, 8006,11109, 7995, 8008,
1137     8009, 8011, 7993, 8033, 8012, 8035, 8014, 8036, 8043, 8046,
1138     8027, 8030, 8034, 8060, 8054, 8050,11109, 8039, 8052, 8077,
1139     8057, 8088, 8078, 8083,11109, 8080,11109, 8076, 8079, 8095,
1140     8091, 8097,11109, 8105, 8084, 8111, 8074, 8118,11109,11109,
1141
1142     8124, 8102, 8121, 8130, 8122,11109,11109, 8134,11109, 8125,
1143    11109, 8123, 8120,11109,11109, 8135, 8127, 8138, 8145,11109,
1144     8154, 8163, 8142,11109, 8144,11109, 8178, 8155, 8173, 8160,
1145     8157, 8172,11109, 8169, 8182, 8180, 8186, 8189,11109, 8181,
1146     8201, 8205, 8196, 8199, 8203,11109, 8194, 8219, 8212, 8208,
1147     8223, 8202,11109, 8230, 8233, 8229, 8235, 8239, 8238, 8247,
1148     8257, 8241, 8249, 8260, 8262, 8244, 8261, 8268, 8277, 8270,
1149     8283, 8292, 8293, 8284, 8299, 8280, 8297, 8304, 8308, 8312,
1150     8291, 8294, 8310, 8307, 8317, 8290, 8315, 8324, 8345, 8346,
1151     8336, 8348, 8340, 8349, 8341, 8330, 8354, 8335, 8344, 8358,
1152
1153     8351, 8361, 8363, 8372, 8371, 8342, 8380, 8386, 8385, 8374,
1154     8398, 8390, 8403, 8399, 8391, 8405,11109, 8410, 8387, 8412,
1155     8433, 8415, 8417, 8442, 8427, 8443, 8444, 8446, 8450, 8451,
1156    11109,11109,11109, 8455,11109, 8457, 8435, 8463, 8462, 8471,
1157    11109, 8467, 8470, 8469, 8472, 8484, 8475, 8498, 8483, 8489,
1158     8494, 8504,11109, 8502, 8509, 8510, 8501, 8508, 8526,11109,
1159     8529, 8540, 8525, 8527, 8528, 8534, 8532, 8530, 8531, 8544,
1160     8550, 8558, 8556, 8564, 8566, 8559, 8570, 8572,11109, 8580,
1161     8581, 8587, 8574, 8576, 8583, 8585, 8586, 8590, 8584, 8582,
1162     8596, 8606, 8607, 8609, 8608, 8619, 8630, 8637, 8636, 8639,
1163
1164    11109, 8621,11109, 8633, 8622, 8644, 8634, 8645, 8653, 8647,
1165     8655, 8643,11109,11109, 8658, 8666, 8683, 8676, 8672, 8670,
1166     8690, 8680, 8677, 8694,11109, 8681, 8697, 8689, 8702, 8701,
1167     8707,11109, 8711, 8709, 8710, 8708, 8723, 8721, 8732,11109,
1168     8728, 8733, 8739, 8744, 8746, 8737, 8749, 8747, 8753, 8759,
1169     8751, 8757, 8761,11109, 8760,11109,11109,11109, 8764, 8773,
1170     8771, 8785, 8783, 8784, 8786, 8792, 8794, 8798, 8795, 8809,
1171     8790,11109, 8806,11109,11109, 8810,11109, 8811, 8800, 8813,
1172     8823, 8820, 8826, 8836,11109, 8833,11109, 8841, 8847, 8834,
1173     8851, 8854, 8850, 8842, 8859, 8853, 8865, 8860, 8878, 8870,
1174
1175     8871, 8875, 8880, 8890, 8879,11109, 8899, 8881, 8898, 8901,
1176     8904,11109,11109, 8905, 8909, 8908, 8919, 8916, 8924, 8920,
1177     8938, 8933, 8935, 8930, 8926, 8936, 8928, 8947, 8955, 8953,
1178     8942, 8952,11109, 8963, 8967, 8956,11109, 8961,11109, 8979,
1179     8982, 8986, 8971, 8965, 8966, 8968, 8995, 8992, 8999, 9002,
1180    11109,11109, 8990, 9015, 9006,11109,11109, 9005, 9000, 9011,
1181     9017, 9021, 9018, 9022,11109, 9028, 9034, 9039, 9035, 9044,
1182     9042, 9046, 9055,11109, 9045,11109, 9056, 9061, 9054, 9064,
1183     9080, 9083, 9066, 9068, 9084, 9090, 9088, 9072, 9093,11109,
1184     9091, 9081,11109, 9107, 9101, 9102, 9087, 9095, 9119, 9111,
1185
1186    11109, 9129, 9117,11109, 9137, 9116, 9140, 9141,11109, 9142,
1187     9143, 9144, 9136,11109, 9148,11109, 9131, 9150, 9153, 9159,
1188     9161,11109, 9163, 9164, 9167, 9178,11109, 9181, 9185, 9189,
1189     9190, 9182, 9186,11109, 9196, 9180,11109, 9177, 9201, 9202,
1190     9215, 9204, 9218, 9208, 9209, 9220, 9237, 9233, 9235,11109,
1191    11109, 9243, 9238, 9242, 9244,   73, 9255, 9217, 9231, 9232,
1192     9247, 9261, 9262, 9268, 9248, 9277, 9272,11109,11109, 9278,
1193    11109, 9276, 9282,11109, 9265, 9288, 9286, 9279, 9289, 9275,
1194     9299, 9308, 9298, 9313, 9325, 9315, 9311, 9323,11109, 9337,
1195     9339, 9314, 9343, 9344, 9346, 9350, 9352, 9358, 9349, 9356,
1196
1197     9342, 9341, 9366, 9368, 9376, 9371, 9379, 9378, 9377, 9380,
1198     9392,11109, 9391, 9396, 9398, 9395, 9399, 9407, 9411, 9402,
1199    11109, 9415, 9414, 9430, 9426,11109, 9432, 9424, 9427, 9435,
1200     9437, 9440,11109, 9434, 9444, 9445, 9451, 9441, 9447, 9454,
1201     9460, 9463, 9485,11109, 9457, 9477, 9484,11109, 9474,11109,
1202    11109,11109, 9464, 9494, 9481,11109, 9498, 9491, 9482, 9496,
1203    11109, 9499, 9500, 9497, 9508, 9516,11109,11109,11109, 9492,
1204     9515, 9521,11109, 9509, 9536,11109, 9525,11109, 9518,11109,
1205     9533, 9535, 9545, 9541,11109, 9544, 9547,11109, 9542, 9557,
1206     9564, 9581,11109, 9554, 9559, 9575, 9574, 9567, 9569, 9571,
1207
1208     9573, 9588,11109, 9584, 9594, 9598, 9595, 9586, 9606, 9602,
1209     9619, 9609, 9611, 9607, 9628,11109, 9631, 9634, 9636, 9642,
1210     9621, 9622, 9629,11109, 9633,11109, 9647,11109, 9652, 9659,
1211     9660, 9671, 9667, 9661, 9662, 9670, 9679, 9663, 9687, 9690,
1212     9686, 9694, 9689, 9682, 9693, 9700,11109,11109, 9701, 9709,
1213    11109, 9718, 9725, 9726,11109, 9708,11109, 9730,11109, 9716,
1214     9717,11109, 9735, 9721, 9736,11109,11109, 9731, 9727, 9746,
1215     9743, 9738, 9749, 9750,11109, 9765, 9757, 9753, 9760, 9775,
1216    11109, 9784,11109, 9763, 9786, 9780,11109,11109, 9767, 9774,
1217     9791, 9795, 9782, 9788, 9804, 9792, 9805, 9801, 9811, 9798,
1218
1219     9822, 9806, 9820, 9824, 9836, 9825, 9839, 9843, 9844,11109,
1220    11109,11109, 9847, 9835, 9837, 9849, 9848, 9858, 9862, 9873,
1221     9860,11109, 9872, 9879, 9875, 9864, 9893, 9891, 9890,11109,
1222     9884, 9876, 9870, 9885, 9901, 9897, 9899, 9904,11109, 9914,
1223     9919, 9927, 9924, 9918, 9925, 9933, 9934, 9937, 9935, 9938,
1224     9926, 9921, 9954, 9945,11109,11109, 9955, 9942,11109, 9963,
1225     9967,11109,11109, 9949,11109, 9948, 9951, 9960, 9961, 9985,
1226    11109, 9980, 9965, 9974, 9975,11109, 9976, 9990, 9984, 9998,
1227    10000,11109, 9987,10013, 9995,10002,10014,10023,11109,11109,
1228    10003,10009,11109,10033,10029,10025,10040,10026,10035,10037,
1229
1230    10042,11109,10048,11109,10045,10052,10051,10053,10054,10065,
1231    10070,10067,10081,11109,10075,10069,10079,10091,11109,10089,
1232    10074,10102,10100,10098,11109,10108,10104,10096,10117,11109,
1233    10112,10125,10123,11109,11109,11109,10133,10137,10138,11109,
1234    11109,11109,10126,11109,10143,10140,10135,10156,11109,10146,
1235    11109,11109,10157,10176,10178,10158,10180,10162,11109,10177,
1236    10181,10171,10168,10173,11109,11109,10191,10193,10172,10195,
1237    10196,10197,10184,10205,11109,11109,10185,10199,10212,10218,
1238    10219,11109,10213,10228,10233,10235,10232,10243,10236,10247,
1239    10248,10229,10249,10245,10257,10285,10254,10261,10252,10262,
1240
1241    10268,10277,10271,10287,10297,10293,10301,10302,10288,10300,
1242    11109,11109,10306,10294,11109,10307,10309,11109,10298,11109,
1243    10311,10319,10322,10323,11109,10331,10337,10339,10340,10315,
1244    11109,10335,10347,11109,10348,10342,10343,10332,11109,10338,
1245    10354,10357,10356,10345,10350,10361,10384,10374,10389,11109,
1246    10377,10391,11109,11109,11109,10388,10378,10394,10372,10401,
1247    10390,11109,10403,10399,10395,10405,10412,10416,10411,11109,
1248    10435,10433,11109,11109,10436,10429,11109,10445,11109,10421,
1249    10430,11109,11109,11109,11109,11109,11109,11109,11109,10448,
1250    10449,11109,11109,10438,10455,10459,10464,11109,10466,11109,
1251
1252    10458,10461,10479,10467,10469,11109,10475,11109,10495,10476,
1253    10490,10493,10502,10485,10491,10494,10486,10497,10514,10508,
1254    10521,10528,10511,10534,10519,10531,10542,10525,10545,10529,
1255    10546,11109,11109,11109,11109,10548,10557,10553,10556,10576,
1256    10554,10563,10558,10582,10587,10569,10571,10590,10589,10592,
1257    10574,10585,10607,10596,10601,10603,10605,10602,10611,10625,
1258    10631,11109,10633,10621,10620,10641,11109,10627,10632,11109,
1259    10626,10628,11109,11109,10644,10655,10637,10638,10666,10667,
1260    10660,10662,10659,10671,10679,11109,10680,11109,11109,11109,
1261    11109,10664,10661,11109,10682,10690,10683,10688,11109,10677,
1262
1263    10695,10694,10698,10701,10710,10715,10725,10716,11109,11109,
1264    10712,10717,10726,11109,10722,10733,10741,10723,10747,10749,
1265    10750,10756,10744,10739,11109,10751,10759,10765,10752,11109,
1266    10776,10766,10760,10777,10779,10774,10781,10782,11109,10783,
1267    11109,10794,10789,10793,10808,10809,10811,10804,10814,10819,
1268    10820,10835,11109,10792,10836,10829,10842,10849,10847,10827,
1269    10840,10853,10858,10860,10866,10871,10874,10875,10864,10867,
1270    10869,11109,11109,10873,10870,11109,10879,10885,10886,10895,
1271    10902,11109,10904,10899,10900,10906,10920,10916,11109,10921,
1272    10924,10928,11109,10931,11109,11109,10932,10925,10930,10938,
1273
1274    10939,11109,11109,11109,10989,10996,11003,11010,11017,11024,
1275    11031,  100,11038,11045,11052,11059,11066,11073,11080,11087,
1276    11094,11101
1277    } ;
1278
1279static const flex_int16_t yy_def[3923] =
1280    {   0,
1281     3904,    1, 3905, 3905, 3906, 3906, 3907, 3907, 3908, 3908,
1282     3909, 3909, 3910, 3910, 3911, 3911, 3904, 3912, 3904, 3904,
1283     3904, 3904, 3913, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1284     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1285     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3914, 3904, 3904,
1286     3904, 3914, 3915, 3904, 3904, 3904, 3915, 3916, 3904, 3904,
1287     3904, 3904, 3916, 3917, 3904, 3904, 3904, 3917, 3918, 3904,
1288     3919, 3904, 3918, 3918, 3920, 3904, 3904, 3904, 3904, 3920,
1289     3921, 3904, 3904, 3904, 3921, 3912, 3912, 3904, 3922, 3913,
1290     3922, 3913, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1291
1292     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1293     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1294     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1295     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1296     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1297     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1298     3912, 3912, 3914, 3914, 3915, 3915, 3916, 3916, 3904, 3917,
1299     3917, 3918, 3918, 3919, 3919, 3918, 3920, 3920, 3904, 3921,
1300     3921, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1301     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1302
1303     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1304     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1305     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1306     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1307     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1308     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1309     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1310     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1311     3912, 3918, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1312     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1313
1314     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1315     3912, 3912, 3912, 3912, 3912, 3912, 3904, 3912, 3912, 3912,
1316     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1317     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1318     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1319     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1320     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1321     3912, 3912, 3912, 3912, 3912, 3912, 3904, 3912, 3912, 3912,
1322     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1323     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3904, 3912,
1324
1325     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3918, 3912, 3912,
1326     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1327     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1328     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1329     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1330     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1331     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1332     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1333     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1334     3912, 3912, 3912, 3912, 3912, 3904, 3912, 3912, 3904, 3912,
1335
1336     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3904, 3912, 3912,
1337     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1338     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1339     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1340     3904, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1341     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1342     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1343     3912, 3912, 3912, 3912, 3904, 3912, 3912, 3912, 3918, 3912,
1344     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1345     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1346
1347     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1348     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1349     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1350     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1351     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1352     3912, 3912, 3912, 3904, 3912, 3912, 3912, 3912, 3912, 3912,
1353     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1354     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1355     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1356     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1357
1358     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1359     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1360     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1361     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1362     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1363     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1364     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1365     3912, 3912, 3912, 3918, 3912, 3912, 3912, 3912, 3912, 3912,
1366     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3904, 3912, 3912,
1367     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1368
1369     3912, 3912, 3912, 3912, 3904, 3912, 3904, 3904, 3912, 3912,
1370     3904, 3904, 3912, 3912, 3904, 3912, 3912, 3912, 3912, 3912,
1371     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1372     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1373     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1374     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1375     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1376     3904, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1377     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1378     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1379
1380     3904, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1381     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1382     3912, 3912, 3904, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1383     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1384     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1385     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1386     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1387     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1388     3912, 3912, 3912, 3912, 3912, 3918, 3912, 3912, 3912, 3912,
1389     3912, 3912, 3912, 3912, 3904, 3912, 3912, 3912, 3904, 3912,
1390
1391     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1392     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1393     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1394     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1395     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1396     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1397     3912, 3912, 3912, 3904, 3912, 3912, 3912, 3912, 3912, 3912,
1398     3912, 3912, 3904, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1399     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1400     3904, 3912, 3904, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1401
1402     3912, 3912, 3912, 3912, 3904, 3904, 3912, 3912, 3912, 3912,
1403     3912, 3912, 3912, 3912, 3912, 3904, 3912, 3912, 3904, 3912,
1404     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1405     3912, 3912, 3912, 3912, 3912, 3904, 3912, 3912, 3912, 3912,
1406     3912, 3912, 3912, 3912, 3912, 3912, 3904, 3912, 3912, 3912,
1407     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1408     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1409     3904, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1410     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1411     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1412
1413     3912, 3912, 3912, 3904, 3912, 3912, 3912, 3912, 3912, 3912,
1414     3918, 3918, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1415     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1416     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3904, 3912, 3912,
1417     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3904, 3912, 3912,
1418     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3904, 3912,
1419     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3904, 3912, 3912,
1420     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1421     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1422     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1423
1424     3904, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1425     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1426     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1427     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1428     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1429     3912, 3904, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1430     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1431     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1432     3912, 3912, 3912, 3912, 3904, 3912, 3912, 3912, 3912, 3912,
1433     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1434
1435     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3904, 3912, 3912,
1436     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1437     3912, 3912, 3912, 3912, 3904, 3912, 3912, 3912, 3912, 3912,
1438     3912, 3912, 3912, 3912, 3912, 3912, 3904, 3912, 3912, 3912,
1439     3918, 3912, 3912, 3912, 3912, 3912, 3912, 3904, 3912, 3912,
1440     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1441     3912, 3912, 3912, 3912, 3912, 3912, 3904, 3912, 3912, 3912,
1442     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1443     3912, 3904, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1444     3912, 3912, 3912, 3912, 3912, 3912, 3904, 3912, 3912, 3912,
1445
1446     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1447     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1448     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1449     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3904, 3912,
1450     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1451     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1452     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1453     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1454     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1455     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3904, 3912,
1456
1457     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1458     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1459     3904, 3912, 3904, 3912, 3912, 3912, 3912, 3912, 3912, 3904,
1460     3912, 3904, 3912, 3912, 3912, 3912, 3912, 3904, 3912, 3912,
1461     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1462     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1463     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1464     3912, 3904, 3912, 3912, 3912, 3912, 3912, 3918, 3912, 3912,
1465     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1466     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1467
1468     3912, 3904, 3912, 3912, 3912, 3912, 3912, 3912, 3904, 3912,
1469     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1470     3912, 3912, 3912, 3912, 3912, 3904, 3912, 3912, 3912, 3912,
1471     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1472     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1473     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1474     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3904, 3912, 3912,
1475     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3904,
1476     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1477     3912, 3912, 3912, 3912, 3904, 3912, 3904, 3912, 3912, 3912,
1478
1479     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1480     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1481     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1482     3912, 3904, 3904, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1483     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3904, 3912,
1484     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1485     3912, 3912, 3904, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1486     3904, 3912, 3904, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1487     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1488     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3904,
1489
1490     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3904,
1491     3912, 3904, 3912, 3912, 3912, 3918, 3912, 3912, 3912, 3912,
1492     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1493     3904, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1494     3912, 3904, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1495     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1496     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3904,
1497     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1498     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1499     3904, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1500
1501     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1502     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3904, 3912,
1503     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1504     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3904, 3904,
1505     3912, 3912, 3912, 3904, 3912, 3912, 3912, 3912, 3912, 3912,
1506     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1507     3904, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3904, 3912,
1508     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1509     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3904,
1510     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3904, 3912, 3912,
1511
1512     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1513     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1514     3912, 3912, 3912, 3904, 3912, 3912, 3912, 3912, 3912, 3904,
1515     3912, 3912, 3912, 3904, 3912, 3912, 3912, 3912, 3912, 3904,
1516     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1517     3912, 3912, 3912, 3918, 3912, 3904, 3912, 3912, 3912, 3904,
1518     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1519     3912, 3912, 3912, 3912, 3904, 3912, 3912, 3904, 3912, 3912,
1520     3912, 3912, 3912, 3904, 3912, 3912, 3912, 3912, 3912, 3912,
1521     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1522
1523     3912, 3912, 3912, 3912, 3904, 3912, 3912, 3912, 3912, 3912,
1524     3912, 3912, 3912, 3912, 3912, 3912, 3904, 3904, 3912, 3904,
1525     3912, 3912, 3912, 3912, 3904, 3912, 3912, 3912, 3912, 3912,
1526     3912, 3912, 3912, 3912, 3912, 3904, 3912, 3912, 3904, 3912,
1527     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1528     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3904,
1529     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3904,
1530     3912, 3912, 3912, 3912, 3912, 3904, 3904, 3912, 3904, 3912,
1531     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3904, 3912, 3912,
1532     3912, 3912, 3912, 3912, 3904, 3912, 3912, 3912, 3912, 3912,
1533
1534     3912, 3912, 3912, 3912, 3912, 3912, 3904, 3912, 3912, 3912,
1535     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1536     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3904, 3912,
1537     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3904, 3912, 3912,
1538     3912, 3912, 3904, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1539     3912, 3912, 3912, 3912, 3912, 3904, 3912, 3912, 3912, 3912,
1540     3912, 3912, 3912, 3904, 3904, 3912, 3904, 3912, 3912, 3912,
1541     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1542     3912, 3912, 3912, 3904, 3912, 3912, 3918, 3912, 3912, 3912,
1543     3912, 3904, 3912, 3912, 3904, 3912, 3904, 3912, 3912, 3912,
1544
1545     3912, 3912, 3912, 3912, 3912, 3912, 3904, 3912, 3912, 3912,
1546     3912, 3912, 3912, 3912, 3912, 3904, 3912, 3912, 3912, 3912,
1547     3904, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1548     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1549     3912, 3912, 3912, 3912, 3904, 3912, 3912, 3912, 3912, 3912,
1550     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3904, 3912, 3904,
1551     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1552     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1553     3904, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3904,
1554     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1555
1556     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1557     3912, 3904, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1558     3912, 3912, 3912, 3912, 3912, 3904, 3912, 3912, 3912, 3912,
1559     3904, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1560     3912, 3912, 3904, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1561     3912, 3912, 3912, 3912, 3912, 3904, 3912, 3912, 3912, 3912,
1562     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3904, 3912, 3912,
1563     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1564     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1565     3912, 3904, 3912, 3904, 3912, 3912, 3912, 3912, 3912, 3912,
1566
1567     3912, 3912, 3912, 3918, 3912, 3904, 3912, 3912, 3912, 3912,
1568     3912, 3912, 3912, 3912, 3904, 3912, 3912, 3912, 3912, 3904,
1569     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3904, 3912,
1570     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1571     3912, 3912, 3912, 3912, 3912, 3904, 3912, 3912, 3912, 3912,
1572     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3904, 3912, 3912,
1573     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1574     3912, 3912, 3912, 3912, 3912, 3912, 3904, 3912, 3912, 3912,
1575     3912, 3912, 3912, 3912, 3904, 3912, 3904, 3912, 3912, 3912,
1576     3912, 3912, 3904, 3912, 3912, 3912, 3912, 3912, 3904, 3904,
1577
1578     3912, 3912, 3912, 3912, 3912, 3904, 3904, 3912, 3904, 3912,
1579     3904, 3912, 3912, 3904, 3904, 3912, 3912, 3912, 3912, 3904,
1580     3912, 3912, 3912, 3904, 3912, 3904, 3912, 3912, 3912, 3912,
1581     3912, 3912, 3904, 3912, 3912, 3912, 3912, 3912, 3904, 3912,
1582     3912, 3912, 3912, 3912, 3912, 3904, 3912, 3912, 3912, 3912,
1583     3912, 3912, 3904, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1584     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1585     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1586     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1587     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1588
1589     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1590     3912, 3918, 3912, 3912, 3912, 3912, 3904, 3912, 3912, 3912,
1591     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1592     3904, 3904, 3904, 3912, 3904, 3912, 3912, 3912, 3912, 3912,
1593     3904, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1594     3912, 3912, 3904, 3912, 3912, 3912, 3912, 3912, 3912, 3904,
1595     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1596     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3904, 3912,
1597     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1598     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1599
1600     3904, 3912, 3904, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1601     3912, 3912, 3904, 3904, 3912, 3912, 3912, 3912, 3912, 3912,
1602     3912, 3912, 3912, 3912, 3904, 3912, 3912, 3912, 3912, 3912,
1603     3912, 3904, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3904,
1604     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1605     3912, 3912, 3912, 3904, 3912, 3904, 3904, 3904, 3912, 3912,
1606     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1607     3912, 3904, 3912, 3904, 3904, 3912, 3904, 3912, 3912, 3912,
1608     3912, 3912, 3912, 3912, 3904, 3912, 3904, 3912, 3912, 3912,
1609     3912, 3912, 3912, 3912, 3912, 3912, 3918, 3912, 3912, 3912,
1610
1611     3912, 3912, 3912, 3912, 3912, 3904, 3912, 3912, 3912, 3912,
1612     3912, 3904, 3904, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1613     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1614     3912, 3912, 3904, 3912, 3912, 3912, 3904, 3912, 3904, 3912,
1615     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1616     3904, 3904, 3912, 3912, 3912, 3904, 3904, 3912, 3912, 3912,
1617     3912, 3912, 3912, 3912, 3904, 3912, 3912, 3912, 3912, 3912,
1618     3912, 3912, 3912, 3904, 3912, 3904, 3912, 3912, 3912, 3912,
1619     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3904,
1620     3912, 3912, 3904, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1621
1622     3904, 3912, 3912, 3904, 3912, 3912, 3912, 3912, 3904, 3912,
1623     3912, 3912, 3912, 3904, 3912, 3904, 3912, 3912, 3912, 3912,
1624     3912, 3904, 3912, 3912, 3912, 3912, 3904, 3912, 3912, 3912,
1625     3912, 3912, 3912, 3904, 3912, 3912, 3904, 3912, 3912, 3912,
1626     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3904,
1627     3904, 3912, 3912, 3912, 3912, 3918, 3912, 3912, 3912, 3912,
1628     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3904, 3904, 3912,
1629     3904, 3912, 3912, 3904, 3912, 3912, 3912, 3912, 3912, 3912,
1630     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3904, 3912,
1631     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1632
1633     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1634     3912, 3904, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1635     3904, 3912, 3912, 3912, 3912, 3904, 3912, 3912, 3912, 3912,
1636     3912, 3912, 3904, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1637     3912, 3912, 3912, 3904, 3912, 3912, 3912, 3904, 3912, 3904,
1638     3904, 3904, 3912, 3912, 3912, 3904, 3912, 3912, 3912, 3912,
1639     3904, 3912, 3912, 3912, 3912, 3912, 3904, 3904, 3904, 3912,
1640     3912, 3912, 3904, 3912, 3912, 3904, 3912, 3904, 3912, 3904,
1641     3912, 3912, 3912, 3912, 3904, 3912, 3912, 3904, 3912, 3912,
1642     3912, 3912, 3904, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1643
1644     3912, 3912, 3904, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1645     3912, 3912, 3912, 3912, 3912, 3904, 3912, 3912, 3912, 3912,
1646     3912, 3912, 3912, 3904, 3912, 3904, 3912, 3904, 3912, 3912,
1647     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1648     3912, 3912, 3912, 3912, 3912, 3912, 3904, 3904, 3912, 3912,
1649     3904, 3912, 3912, 3912, 3904, 3912, 3904, 3912, 3904, 3912,
1650     3912, 3904, 3912, 3912, 3912, 3904, 3904, 3912, 3912, 3912,
1651     3912, 3912, 3912, 3912, 3904, 3912, 3912, 3912, 3912, 3912,
1652     3904, 3912, 3904, 3912, 3912, 3912, 3904, 3904, 3912, 3912,
1653     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1654
1655     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3904,
1656     3904, 3904, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1657     3912, 3904, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3904,
1658     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3904, 3912,
1659     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1660     3912, 3912, 3912, 3912, 3904, 3904, 3912, 3912, 3904, 3912,
1661     3912, 3904, 3904, 3912, 3904, 3912, 3912, 3912, 3912, 3912,
1662     3904, 3912, 3912, 3912, 3912, 3904, 3912, 3912, 3912, 3912,
1663     3912, 3904, 3912, 3912, 3912, 3912, 3912, 3912, 3904, 3904,
1664     3912, 3912, 3904, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1665
1666     3912, 3904, 3912, 3904, 3912, 3912, 3912, 3912, 3912, 3912,
1667     3912, 3912, 3912, 3904, 3912, 3912, 3912, 3912, 3904, 3912,
1668     3912, 3912, 3912, 3912, 3904, 3912, 3912, 3912, 3912, 3904,
1669     3912, 3912, 3912, 3904, 3904, 3904, 3912, 3912, 3912, 3904,
1670     3904, 3904, 3912, 3904, 3912, 3912, 3912, 3912, 3904, 3912,
1671     3904, 3904, 3912, 3912, 3912, 3912, 3912, 3912, 3904, 3912,
1672     3912, 3912, 3912, 3912, 3904, 3904, 3912, 3912, 3912, 3912,
1673     3912, 3912, 3912, 3912, 3904, 3904, 3912, 3912, 3912, 3912,
1674     3912, 3904, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1675     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1676
1677     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1678     3904, 3904, 3912, 3912, 3904, 3912, 3912, 3904, 3912, 3904,
1679     3912, 3912, 3912, 3912, 3904, 3912, 3912, 3912, 3912, 3912,
1680     3904, 3912, 3912, 3904, 3912, 3912, 3912, 3912, 3904, 3912,
1681     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3904,
1682     3912, 3912, 3904, 3904, 3904, 3912, 3912, 3912, 3912, 3912,
1683     3912, 3904, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3904,
1684     3912, 3912, 3904, 3904, 3912, 3912, 3904, 3912, 3904, 3912,
1685     3912, 3904, 3904, 3904, 3904, 3904, 3904, 3904, 3904, 3912,
1686     3912, 3904, 3904, 3912, 3912, 3912, 3912, 3904, 3912, 3904,
1687
1688     3912, 3912, 3912, 3912, 3912, 3904, 3912, 3904, 3912, 3912,
1689     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1690     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1691     3912, 3904, 3904, 3904, 3904, 3912, 3912, 3912, 3912, 3912,
1692     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1693     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1694     3912, 3904, 3912, 3912, 3912, 3912, 3904, 3912, 3912, 3904,
1695     3912, 3912, 3904, 3904, 3912, 3912, 3912, 3912, 3912, 3912,
1696     3912, 3912, 3912, 3912, 3912, 3904, 3912, 3904, 3904, 3904,
1697     3904, 3912, 3912, 3904, 3912, 3912, 3912, 3912, 3904, 3912,
1698
1699     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3904, 3904,
1700     3912, 3912, 3912, 3904, 3912, 3912, 3912, 3912, 3912, 3912,
1701     3912, 3912, 3912, 3912, 3904, 3912, 3912, 3912, 3912, 3904,
1702     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3904, 3912,
1703     3904, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1704     3912, 3912, 3904, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1705     3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1706     3912, 3904, 3904, 3912, 3912, 3904, 3912, 3912, 3912, 3912,
1707     3912, 3904, 3912, 3912, 3912, 3912, 3912, 3912, 3904, 3912,
1708     3912, 3912, 3904, 3912, 3904, 3904, 3912, 3912, 3912, 3912,
1709
1710     3912, 3904, 3904,    0, 3904, 3904, 3904, 3904, 3904, 3904,
1711     3904, 3904, 3904, 3904, 3904, 3904, 3904, 3904, 3904, 3904,
1712     3904, 3904
1713    } ;
1714
1715static const flex_int16_t yy_nxt[11176] =
1716    {   0,
1717       18,   19,   20,   21,   22,   23,   22,   18,   18,   18,
1718       18,   18,   22,   24,   25,   26,   27,   28,   29,   18,
1719       30,   31,   32,   33,   34,   35,   36,   37,   38,   39,
1720       40,   41,   42,   43,   44,   45,   18,   18,   46,   47,
1721       24,   25,   26,   27,   28,   29,   18,   30,   31,   32,
1722       33,   34,   35,   36,   37,   38,   39,   40,   41,   42,
1723       43,   44,   45,   18,   18,   46,   49,   50,   51,   49,
1724       50,   51,   54,   55,   54,   55,   56,  121,   56,   59,
1725       60,   61,   62,  122,   22,   59,   60,   61,   62,   87,
1726       22,   65,   66,   67,   65,   66,   67,   88,  163,  163,
1727
1728       86,   89,  355,   52,  121,   87,   52,  170,  170,   57,
1729      122,   57,  173,   76,   77,   78,   79,   63,   22,   76,
1730       77,   78,   79,   63,   22,   82,   83,   84,   68,   99,
1731       87,   68,   19,   20,   21,   70,   71,   72,   19,   20,
1732       21,   70,   71,   72,   82,   83,   84,  123,  110,  180,
1733      180,   80,   73,  162,  173,   87,   99,   80,   73,   87,
1734      139,   91,   85,   91,   91,   87,   91,  181,  111,  809,
1735       74,   87,   91,   87,  123,  110,   74,  179,   88,   73,
1736      162,   85,   89,  163,  163,   73,  114,  139,  112,  178,
1737      161,  173,  132,  176,  115,  111,  100,   87,   87,   92,
1738
1739       93,   94,  113,  101,   95,  116,  173,  102,  192,   96,
1740      103,   97,   87,  114,   87,  112,   87,  161,   98,  132,
1741      176,  115,   87,  100,   87,  182,   87,   93,   94,  113,
1742      101,   95,  116,  305,  102,  192,   96,  103,   97,  165,
1743      183,  165,  165,  432,  165,   98,  104,  343,  117,   87,
1744      105,  118,  182,  106,  184,  107,  108,  347,  119,   86,
1745      120,   86,   86,   87,   86,   87,  109,  183,   87,  171,
1746       86,   87,   87,  104,   87,  117,  124,  105,  118,   87,
1747      106,  184,  107,  108,  125,  119,  191,  120,  128,   87,
1748      126,  187,  129,  109,  127,   87,  158,  169,   87,  150,
1749
1750      159,  151,   87,  124,  160,  185,  130,  168,  131,  166,
1751      152,  125,  164,  191,   87,  128,  153,  126,  187,  129,
1752       87,  127,   87,  158,  154,   87,  150,  159,  151,  204,
1753       87,  160,  185,  130,  155,  131,  133,  152,  156,  157,
1754      134,  186,   87,  153,  135,  170,  170,   87,  181,   87,
1755      136,  154,  167,  137,  167,  167,  204,  167,  188,  200,
1756      138,  155,   87,  133,   87,  156,  157,  134,  186,  179,
1757       91,  135,   91,   91,  211,   91,  172,  136,  172,  172,
1758      137,  172,   87,   87,  178,  188,  200,  138,  140,  254,
1759       87,  177,  141,  177,  177,   86,  177,   86,   86,  248,
1760
1761       86,  211,  142,  143,  189,  144,   86,   91,  175,   91,
1762       91,  212,   91,  201,   87,  140,  254,  190,   91,  141,
1763       87,   87,  193,  194,  173,   87,  248,  171,   87,  142,
1764      143,  189,  144,  145,  207,   87,  146,  169,  212,  213,
1765      201,   87,  205,  147,  190,   92,  195,  148,  149,  193,
1766      194,  206,  196,  202,  197,   87,  198,  199,  180,  180,
1767      145,  207,   87,  146,   87,   87,  213,   87,  215,  205,
1768      147,  203,  233,  195,  148,  149,  221,  168,  206,  196,
1769      216,  197,  214,  198,  199,   87,  208,  209,  217,   87,
1770       87,  218,   87,   87,  210,  215,  497,  224,  203,  233,
1771
1772      222,  166,   87,  223,  219,  220,  236,  216,   87,  214,
1773      164,   87,   87,  208,  209,  217,  226,  225,  218,   87,
1774      227,  210,  231,  232,  224,   87,   87,  222,  238,  229,
1775      223,  219,  220,  236,  230,   87,  228,   87,  234,  237,
1776       87,  239,   87,  226,  225,  235,   87,  227,   87,  231,
1777      232,  240,   87,  241,  242,  238,  229,   87,  243,   87,
1778      244,  230,   87,  228,  245,  234,  237,   87,  239,  247,
1779      246, 3904,  235, 3904,   87,  250,   87,   87,  240,  249,
1780      241,  242,   87,  253,  251,  243,   87,  244,  256,  262,
1781      252,  245,  255,  259,  362,   87,  247,  246,   87,  257,
1782
1783       87,  260,  250,  258,   87,  263,  249,   87,   87,  261,
1784      253,  251,   87,  268,  349,  256,  262,  252,  266,  255,
1785      259,  362,  264, 3904,   87,  265,  257,  269,  270,  267,
1786      258,   87,  263,   87,   87,   87,  261,  271,   87, 3904,
1787      268,  272,  275,  276,  277,  266,   87, 3904,   87,  264,
1788      273,  278,  265,  279,  269,  270,  267,   87,  280,   87,
1789       87,  281,  274, 3904,  271,   87,   87, 3904,  272,  275,
1790      276,  277, 3904,  284,   87,   87,   87,  273,  278,  167,
1791      279,  167,  167,  282,  167,  280,  283,  285,  281,  274,
1792      172, 3904,  172,  172,   91,  172,   91,   91,  177,   91,
1793
1794      177,  177,  286,  177,  287,   87,  291,  173,   87, 3904,
1795      282,   87,  293,  283,  285,  288,   87,  289,  292,   87,
1796       87,  295,   87,  294,  290,  297, 3904,  296,  298,  286,
1797      353,  287,  175,  291,   87,   87,   87,   87,  301,  293,
1798       87,   87,  288,   87,  289,  292,   87,  299,  295,  302,
1799      294,  290,  297,  300,  296,  298,  303,  315,  304,  318,
1800      306,  316,   87,  314,  307,  301,  317,   87, 1269, 1025,
1801      319,   87,   87,  320,  323,  356,  302, 3904,  332,   87,
1802      300,  308,   87,  303,  315,  304,  318,   87,   87,   87,
1803      314,  307,   87,   87,  322,   87,  321,  319,   87,   87,
1804
1805      320,   87,  324,  328,  325,  332,   87,   87,  308,  309,
1806      329,   87,  326,  327,  310, 3904,   87,  342, 3904,  311,
1807      333,  322,   87,  321,   87,  312,  313,   87,   87,  324,
1808      328,  325,   87,  334,   87,  330,  309,  329,  331,  326,
1809      327,  310,   87, 3904,  342,  340,  311,  333,  344,  341,
1810       87,  348,  312,  313, 3904,   87,   87,  345,   87,  350,
1811      334,  357,  330,  372, 3904,  331,  335,   87,  346,  336,
1812      358,  337,  340,  351,   87,  344,  341,  354,  348,  361,
1813      352,   87,  363,  338,   87,  339,   87,  364,  357,   87,
1814      372,   87,   87,  335,   87,  346,  336,  365,  337,   87,
1815
1816      351,  359,   87,   87,  354,  370,  360,  352,  366,  363,
1817      338,   87,  339,  368,  364,  369,   87,  367,   87,   87,
1818      374,  371,   87,  375,  365,  373,   87,  378,  359,  379,
1819       87,   87,  370,  360,   87,  366,  376,   87,   87,  380,
1820      368,  377,  369,   87,  367,  382,  381,  374,  371,   87,
1821      375,   87,  373,  385,  378,  386,  379,  387,  383,  384,
1822     3904,  388,   87,  392,   87,  389,  380,   87,   87,   87,
1823      390,  391,  393,  381,  394,  395,  397,   87,   87,  396,
1824      385,  399,   87,   87,  387,  383,  384,   87,  388,   87,
1825       87,   87,  389,  398,   87,   87,  402,  390,  391,  400,
1826
1827      403,  394,  407,  397,   87,  405,  396,   87,   87,   87,
1828     3904,  406,  412,  409,  410,  408,  411,  404,   87,   87,
1829      398,   87,  401,   87,   87,   87,  414,  403,   87,  407,
1830      173,   87,  405,   87,   87,  415,  416,  417,  406,  412,
1831      409,  410,  408,  411,  404,  419,  413,  418,   87,  401,
1832       87,  420,  421,  414,  423,  429,  425,  422,  424,   87,
1833      426,  427,   87,   87,  417,   87,   87,   87,   87,   87,
1834      428,   87,   87,  413,  418,   87,  430,   87,  420,  421,
1835       87,  423,  429,  425,  422,  424,  431,  426,  434,  433,
1836     3904,  435, 3904,   87,   87,  436,  439,  428,   87, 3904,
1837
1838     3904,  440,   87,  430,  444,  437,   87,  441,  442,  446,
1839      448,  451,   87,  431,   87,  434,  433,   87,  435,  438,
1840       87,  443,  436,  439,   87,   87,   87,  445,  440,   87,
1841      447,   87,  437,  449,  441,  442,   87,   87,  451,  452,
1842       87,   87,   87,  453,  454,  456,  438,  460,  443, 3904,
1843      450,  459,   87,  457,  445,   87,   87,  447,  458,  461,
1844      449,   87,   87, 3904,   87,   87,  452,  463,  455,  471,
1845      462,  519,  456,   87,  460,   87,   87,  450,  459,   87,
1846      457,  464,  465,   87,  466,  458,  461,  467,  468,   87,
1847       87,   87,  470,  472,  463,  455,   87,  462,  473, 3904,
1848
1849      481,   87,  483,   87,  490,  469, 3904,   87,  464,  465,
1850       87,  466,   87,   87,  467,  468,  491,   87,   87,  470,
1851      472, 3904,  526,  499,   87,  473,  482,  481,   87,  483,
1852       87,  490,  469,  474,  498,   87,  492,  495,  475,  493,
1853      494,  476,  496,  491, 3904,  502,  477,  478,  479,  480,
1854       87,   87, 3904,  482,   87, 3904,   87,   87,   87,  503,
1855      474,  498,  506,  492,   87,  475,  493,  494,  476,   87,
1856      508,   87,  502,  477,  478,  479,  480,  484,  500,  485,
1857       87,  501,  507, 3904,  504,  505,  503,  510,   87,  506,
1858      511,  486,  487,  488,   87,  489,  512,   87,   87,  509,
1859
1860       87,   87,  514,  513,  484,  500,  485, 3904,  501,  507,
1861      515,  504,  505,   87,  510,   87,   87,  511,  486,  487,
1862      488,   87,  489,  512,   87,   87,  509,  516,  518,  514,
1863      513,  517,  524, 3904,  520,   87,  521,  515,   87,   87,
1864       87, 3904,  525,  527,  528,  522, 3904, 3904,  533,  530,
1865      529,  531,  523,  540,  516,  518,  538, 1430,  517,  524,
1866       87,  520,  532,  521,   87,   87,   87,  539,  534,  525,
1867      527,  528,  522,   87,   87,   87,  530,  529,  531,  523,
1868       87,  535,  541,  538,  536,   87,  537,   87,  542,  532,
1869      555, 3904,   87,   87,  539,  534,  556,   87,  574,  576,
1870
1871      558, 3904, 3904,  575, 3904,  561, 3904,  559,  535,   87,
1872       87,  536,   87,  537,  557,  542,  543,  555,  544,   87,
1873       87,  562,  560,  556,  545,  563, 3904,  558,  546,   87,
1874       87,   87,  561,  547,  559,   87,  548, 3904,   87, 3904,
1875      573,  557,   87,  543,  572,  544, 3904,  577,  562,  560,
1876      581,  545,  563,  579,  578,  546,   87,  584,   87,  173,
1877      547,  580,   87,  548,  549,  582,  550,  573,   87,   87,
1878      583,  572,  586,   87,  577,  599,  585,  581,   87,  551,
1879      579,  578,  552,   87,  553,   87,  554,  589,  580,   87,
1880       87,  549,  582,  550,  587,  588,  590,  583, 3904,  586,
1881
1882     3904,   87,  606,  585,   87,  593,  551,   87,   87,  552,
1883      594,  553,   87,  554,  564,  565,  591,   87,  595,   87,
1884      600,  587,  588,  590,  566,  567,  568,  569,  570,  606,
1885       87,  571,  593,  601,  592,  596,  598,  594,   87,   87,
1886       87,  564,  565,  591,  597,  595,   87,  600,   87,  602,
1887      603,  566,  567,  568,  569,  570,  604,   87,  571,   87,
1888      601,  592,  596,  598,   87,  605,   87,  607,  608,   87,
1889     3904,  597,  609,  610, 3904,  611,  602,  603,   87,  612,
1890      613,  614,   87,  604,  616,  615,   87, 3904,  617, 3904,
1891       87,   87,   87,  621,  607,  608,  624,   87,   87,  618,
1892
1893      619,   87,  611,  640, 3904, 3904,  612,  613,  614,   87,
1894       87,  616,  615,  622,  627,  617,   87,  620,  626,  629,
1895      621,  625,   87,  624,   87,   87,  618,  619,  623,   87,
1896       87,  642,   87,  628,  641,   87,   87,  630,  631,  643,
1897      622,  627,   87,  645,  620,  626,  629,  648,  625,  632,
1898      644,  633,   87,   87,  654,  623,   87,  646,  642,  647,
1899      628,  641,   87,   87,  630,  631,  643,  650,   87,  649,
1900       87,  652, 3904,  658,  648,   87,  632,  644,  633,  634,
1901       87,   87,  655,  651,  646,  653,  647,  635,  636,   87,
1902       87,  637,  638,   87,  650,  639,  649,   87,  652,   87,
1903
1904      657,   87,  656,  659,   87,   87,  634,  662,  660,  655,
1905      651,  661,  653,   87,  635,  636,   87,  663,  637,  638,
1906      664,  667,  639,   87,  665,   87,   87,  657,  669,  656,
1907      659,   87,  666,  668,  662,  660,   87,   87,  661,   87,
1908       87,  670,   87,  671,  663, 3904,  672,  664,  667,  673,
1909       87,  665,   87,  674,  675,  669,   87,  676, 3904,  666,
1910      668,  677,  682,  678, 3904,  680, 3904,   87,  670,  681,
1911      671,   87,   87,  672,   87,   87,  673,   87,  683,  685,
1912      674,  675,  687,  679,  676,   87,  689,   87,  677,   87,
1913      678,   87,  680,  684,   87,  686,  681,  688,   87,   87,
1914
1915       87,   87,  691,   87,   87,  683,  685,  690,   87,  687,
1916      679,  701,  694,  689,   87,  696,  692,   87,  693,  695,
1917      684,   87,  686,  697,  688,   87,   87,  698,  700,  691,
1918      699,  702, 3904,   87,  690,  708,   87,  703,  701,  694,
1919      704,  705,  706,  692,   87,  693,  695,   87,   87,  707,
1920      697,  709,  712,   87,  711,   87,   87,  699,  702,   87,
1921       87,   87,  708,  710,  703,   87,  714,  704,  705,  706,
1922       87, 3904,  715,  718,  717,  713,  707,  716,   87,   87,
1923       87,  711,   87,   87,   87,  719,  720,  722, 3904, 3904,
1924      710,  721, 3904,  714,   87,   87,   87,  725,  724,  715,
1925
1926      718,  717,  713,   87,  716,  723,   87,  736,   87,   87,
1927      734,   87,  719,  720,  722,  735,   87,   87,  721,   87,
1928      737,   87,  738,  739,  725,  724,  765, 3904,  740,  775,
1929       87,   87,  723,  726,  736, 3904,  770,  734,  727,   87,
1930      728,  741,  735,   87,  744,   87,  729,  737,  730,  738,
1931      739,  731,  732,  765,  745,  740,   87,   87,  733,   87,
1932      726,   87,  742,  770,   87,  727,  743,  728,  741,  747,
1933      749,  744,  748,  729,  746,  730,   87,  750,  731,  732,
1934       87,  745, 3904,  752,   87,  733,  755,  751,   87,  742,
1935       87,  753,  754,  743,  757,   87,  747,  749,  756,  748,
1936
1937      759,  746,   87,  760,  758,   87,   87,  761,  780,   87,
1938      752,  762, 3904,  755,  751,   87,   87,  763,  753,  754,
1939       87,  757,   87,   87,  764,  756,   87,  759,  766,  767,
1940      760,  758,   87,  768,  761,  772,  769,  771,  762,  776,
1941       87,   87,  773,   87,  763,  774,  777,   87,   87,  778,
1942       87,  764,   87,   87,   87,  766,  767,   87,   87,  781,
1943      768,  779,  772,  769,  771,   87,  776,  783,  173,  773,
1944      782,   87,  774,  777,   87,  784,  778,  786,  785,   87,
1945       87,  787,  788,  789,  790,  791,  781,  792,  779,   87,
1946       87,  793, 3904, 3904,  783,  796,  794,  782,  798,   87,
1947
1948       87,  795,  784,   87,  786,  785,   87,   87,  787,   87,
1949      797,  790,  799,  810,   87,   87,  803,   87,  793,   87,
1950       87,   87,  796,  794,  800,  798,  806,   87,  795,  807,
1951      804,  801,   87,  808,  802,  805,   87,  797,  811,  799,
1952       87,  812,   87,  803,  813,   87,  816,  814,  817, 3904,
1953      819,  800,  815,  806,   87,   87,   87,  818,  801,  820,
1954       87,  802,   87,  821,  822,   87,  828,  824,   87,  823,
1955      841,   87,   87,  816,   87,  817,   87,  819,  825,   87,
1956      826,   87,   87,   87,  818,  827,  820,  830,   87,   87,
1957      821,  822,  829,   87,  824,  831,  823,  835,   87,   87,
1958
1959      833,  832,   87,  834,   87,  825, 3904,  826,   87,   87,
1960       87,  836,  827,   87,  830,  837, 3904,   87,  838,  829,
1961      839,  842,  831,   87,  835,  840,   87,  833,  832,   87,
1962      834,   87,   87,  843,  852,  848,  871,   87,  836,  849,
1963      851,  850,  837,   87,   87,  838,   87,  839,  842,  844,
1964       87,   87,  840,  853,  845,  856,   87,  846,  847,  854,
1965      843,  852,  848,   87,  858,   87,  849,  851,  850, 3904,
1966      855,  857,   87,   87, 3904,   87,  844,  859, 3904,  863,
1967      853,  845,   87,  862,  846,  847,  854,   87,   87,   87,
1968      864,  858, 3904,  861,  867,  868,  865,  855,  857,  860,
1969
1970       87,   87,  866,   87,  859,   87,  863,   87,  869,   87,
1971      862,   87,   87,  872,   87,  874,  873,  864,  870,  876,
1972      861,  867,  868,  865,   87,   87,  860,  875,  877,  866,
1973       87,   87,   87,   87,  878,  869,  879,   87,  880,   87,
1974      872,  881,  874,  873,  893,  870,  876,  882,  883,  884,
1975     3904,   87,   87,  885,  875,  877,  887,  886,  888,  889,
1976      890,  878,   87,  879,   87,  895,  891,   87,  881,  894,
1977       87,   87,   87,   87,  882,  896,   87,   87,   87,  898,
1978      885,   87,  892,  887,  886,  888,  889,  890,   87,  899,
1979       87,   87,  897,  891,   87,  908,  894,   87,  900,   87,
1980
1981       87,   87,  896,  901,  902, 3904,  898,  903,  910,  892,
1982      904,  911,  909, 3904,  913,  912,  899,  905,   87,  897,
1983       87,   87,   87,  914,  906,  907,   87,   87,  915,  918,
1984       87,  902,   87,   87,  903,  910,  920,  904,  911,  909,
1985       87,  913,  912,   87,  905,  916,  921,  919,   87,  922,
1986      914,  906,  907,  924,  923,  915,  935,  925,   87,   87,
1987      917,   87,   87,  920,  926,  928, 3904,  927,  930,   87,
1988      929, 3904,  916,  921,  919,   87,   87,   87, 3904,   87,
1989      924,   87,  945,  937,  925,  936,  985,  917,   87,   87,
1990       87,  926,  928,  931,  927,  930,  932,  929,  933,  938,
1991
1992      934,   87,   87,  939,  940,   87,   87,   87,   87,  941,
1993      937,   87,  936,   87,   87,   87, 3904,   87,   87,  942,
1994      931,  944,  946,  932,  947,  933,  938,  934,  943,   87,
1995      939,  940,  948,   87,  949,  950,  941,   87, 3904,  954,
1996      952,   87,   87,   87,  951,  953,  942,   87,  944,  946,
1997       87,  947,   87,  960,   87,  943,  955, 1003,  962,  948,
1998     3904,  949,  950,   87, 3904,   87,  954,  952,  956,  957,
1999      958,  951,  953,  959,  961,   87,  963,   87,   87,  964,
2000      960,   87,  965,  955,   87,  962,  966,   87,  968,   87,
2001       87,  967,   87,  971,  969,  956,  957,  958, 3904,   87,
2002
2003      959,  961,   87,  963,   87,   87,  964,   87,  970,  965,
2004       87,  972,  973,  966,  976,  968,   87,  974,  967,  975,
2005      971,  969,   87,  977,  978,  980, 3904,  979, 3904,  981,
2006      982,   87, 3904,   87,   87,  970,   87,   87,  972,  973,
2007      983,  976,   87,   87,  974,   87,  975,   87,   87,  984,
2008      977,  978,  980,  986,  979,  987,  981,  982,   87,  989,
2009      988,  991, 3904,  990,   87,  992,  995,  983,  994, 3904,
2010      996,  993,   87,   87,   87,  173,  984, 3904,  997,   87,
2011      986,   87,  987,   87,   87, 1000,  989,  988,  991,   87,
2012      990, 1001,  992,   87,  998,  994,   87,  996,  993,  999,
2013
2014     1002, 1006, 1004, 1010, 1005,  997, 1007,   87,   87,   87,
2015       87,   87, 1000, 1008, 1009,   87, 1011, 1012, 1001, 1013,
2016     1015,   87,   87,   87,   87, 1014,   87, 1002, 1006, 1004,
2017     1016, 1005, 1027, 1007,   87,   87,   87,   87, 3904,   87,
2018     1008, 1009, 1024, 1026, 1012, 1028, 1013, 1015,   87, 1040,
2019       87, 3904, 1014,   87,   87, 1029, 3904, 1016, 1017, 1027,
2020       87, 1018, 1031, 1030, 1033, 1019,   87, 1034, 1020, 1024,
2021     1026, 3904, 1028, 1035, 1063, 1021, 1022, 3904, 1023, 1064,
2022       87,   87, 1029,   87,   87, 1017, 1032,   87, 1018, 1031,
2023     1030, 1033, 1019,   87, 1034, 1020, 1036,   87, 1037,   87,
2024
2025     1035, 1038, 1021, 1022, 1039, 1023,   87,   87, 3904, 1049,
2026     3904,   87,   87, 1032,   87, 1050,   87, 1052, 1051, 1054,
2027     3904, 1058,   87, 1036,   87, 1037,   87, 1062, 1038,   87,
2028     1053, 1039, 1041, 1042, 3904, 1043, 1049,   87, 1044, 1057,
2029     1055, 3904, 1050, 1045, 1052, 1051, 1054, 1059, 1058, 1046,
2030     1047,   87, 1048,   87, 1062, 1065, 1056, 1053,   87, 1041,
2031     1042,   87, 1043,   87, 1066, 1044, 1057, 1055, 1060,   87,
2032     1045, 1061, 1067,   87, 1059,   87, 1046, 1047, 1068, 1048,
2033       87, 1069, 1065, 1056,   87, 1073, 1071, 1070, 1075, 1072,
2034       87, 1066, 1074, 1076, 3904, 1060, 1081, 1078, 1061, 1067,
2035
2036       87,   87, 1077,   87,   87, 1068, 1085,   87, 1069,   87,
2037       87,   87,   87, 1071, 1070, 1075, 1072,   87, 1079, 1074,
2038     1076, 1080,   87, 1081, 1078,   87,   87, 1082, 1083, 1077,
2039     1084, 1088,   87, 1085, 1087,   87,   87, 1086, 1089,   87,
2040       87, 1090, 1091,   87, 1094, 1079,   87, 1092, 1080,   87,
2041     1095, 1096, 1093, 1099, 1082, 1083, 1101, 1084, 1088, 1097,
2042       87, 1087, 1100,   87, 1086, 1098,   87,   87, 1090,   87,
2043       87, 1094,   87, 1102, 1103, 1104, 1105, 1106, 1096,   87,
2044     1108, 1107,   87, 1110,   87,   87, 1097, 1109,   87, 1100,
2045       87, 1112, 1098, 1111,   87,   87,   87,   87, 1114,   87,
2046
2047     1102, 1103, 1104,   87,   87,   87, 1113, 1108, 1107,   87,
2048     1110,   87, 1116, 1115, 1109,   87,   87, 1117, 1112, 1118,
2049     1111,   87, 1119, 1120, 1122, 1114, 3904, 1121, 3904, 1123,
2050     1124, 1125,   87, 1113,   87,   87,   87, 1127,   87,   87,
2051     1115, 1126, 1128, 1129, 1117, 3904, 1118,   87,   87,   87,
2052     1130, 1122, 1131,   87, 1121,   87, 1123, 1124, 1125,   87,
2053       87, 1132, 1133,   87, 1127,   87, 1138,   87, 1126, 1128,
2054     1129, 1134,   87, 1135, 1137, 1140, 1147, 1130, 1136, 1131,
2055       87, 1141, 1139,   87, 1152,   87, 1143,   87, 1132, 1133,
2056     1146,   87,   87, 1138,   87,   87, 1144, 1142, 1134,   87,
2057
2058       87, 1137, 1140,   87, 1145,   87, 1148, 1149, 1141, 1139,
2059     1150, 1152,   87, 1143, 1151,   87,   87, 1146, 1153, 3904,
2060       87, 1154, 1156, 1144, 1142,   87,   87, 1158, 1155,   87,
2061     1159, 1145, 1161, 1148, 1149,   87,   87, 1150, 1157,   87,
2062       87, 1151,   87, 1160, 1162, 1153, 1163, 1164, 1154, 1156,
2063       87,   87, 1165, 1166, 1158, 1155, 1167, 1159,   87, 1168,
2064       87,   87,   87, 1169,   87, 1157,   87, 1170, 1171, 1174,
2065     1160, 1162, 1176, 1163, 1164, 1173,   87,   87,   87, 1165,
2066     1166, 1175,   87, 1167, 1172, 1182, 1168,   87,   87,   87,
2067     1169,   87,   87, 1177, 1170,   87, 1174, 1179, 1178, 1176,
2068
2069       87, 3904, 1173,   87, 1183,   87, 1180, 1181, 1175, 1185,
2070     1184, 1172, 1187,   87,   87, 1186, 1188,   87, 1189,   87,
2071     1177, 3904, 1190,   87, 1179, 1178, 1196, 1191,   87, 1194,
2072     1197, 1198, 1192, 1180, 1181,   87,   87, 1184, 1195, 1187,
2073     1193,   87, 1186, 1202,   87,   87, 1199,   87,   87, 1190,
2074       87,   87,   87, 1196, 1191, 1200, 1194, 1201, 1204, 1192,
2075     1205, 1203,   87,   87,   87, 1195, 1206, 1193,   87,   87,
2076       87,   87, 1207, 1199, 1211,   87, 1208, 3904, 1213, 1212,
2077       87, 1214, 1200, 1215, 1201,   87, 1218, 1205, 1203, 1209,
2078       87, 1210, 1216, 1206,   87, 1217, 3904,   87,   87, 1207,
2079
2080       87, 1219,   87, 1208,   87, 1213,  173, 1220, 1214,   87,
2081     1215, 1221, 1222, 1218,   87,   87, 1209, 3904, 1210, 1216,
2082     1223, 1225, 1217,   87, 1227,   87, 1226, 1234, 1219, 1235,
2083       87, 1224, 3904,   87, 1220,   87, 1238, 1236, 1221, 1222,
2084     3904, 1239, 3904,   87,   87, 3904, 3904, 1223, 1225,   87,
2085     3904, 1227, 3904, 1226, 1234,   87, 1235, 1237, 1224, 1228,
2086       87, 1229, 1243,   87, 1236, 1230, 3904, 1231, 1239,   87,
2087     1240, 1241, 1232, 1242,   87, 3904, 1247, 1233, 1244, 1245,
2088       87, 1248, 1246,   87, 1237, 1249, 1228, 3904, 1229, 1243,
2089     1259,   87, 1230,   87, 1231,   87, 1257, 1240, 1241, 1232,
2090
2091     1242,   87, 1250,   87, 1233, 1244, 1245, 1251,   87, 1246,
2092     1253, 1254, 1249, 1256, 1258,   87, 1268,   87,   87, 1252,
2093     1260, 1255,   87, 1257, 1262, 1266,   87,   87,   87, 1250,
2094       87, 1261, 1263,   87, 1251, 1264, 1267, 1253, 1254, 1265,
2095     1256, 1258,   87,   87,   87, 1270, 1252, 1260, 1255, 1590,
2096     1591, 1262, 1281, 1282,   87, 1271,   87,   87, 1261, 1263,
2097       87,   87, 1264, 1272, 1273, 3904, 1265,   87,   87, 1284,
2098     3904,   87, 1294,   87, 1283,   87, 1285,   87,   87, 1281,
2099     1282, 1287, 1271, 3904,   87, 1286, 1291,   87, 3904, 1301,
2100     1272, 1273, 1274, 1288,   87, 3904, 1284, 1275, 1289, 1276,
2101
2102       87, 1283,   87, 1285,   87, 1277,   87,   87, 1287,   87,
2103     1278, 1279, 1286, 1291, 1290, 1292,   87, 1280,   87, 1274,
2104     1288, 1295, 1293,   87, 1275, 1289, 1276,   87, 1298, 1304,
2105     1296, 1297, 1277,   87, 3904, 1309, 3904, 1278, 1279,   87,
2106       87, 1290, 1292,   87, 1280,   87, 1302, 1299, 1295, 1293,
2107     1300, 1305, 1308, 1303, 1306, 1298,   87, 1296, 1297,   87,
2108       87,   87,   87, 1307, 1310, 1312,   87,   87, 1311,   87,
2109     1313, 1314, 1315, 1302, 1299,   87,   87, 1300, 1305, 1308,
2110     1303, 1306,   87,   87, 1316,   87,   87, 1318,   87, 1319,
2111     1307, 1310, 1312, 1317, 1320, 1311,   87, 1313, 1314, 1321,
2112
2113     1323,   87,   87, 1322,   87, 1324, 1325,   87, 1326,   87,
2114       87, 1316, 1327, 1328, 1318,   87, 1319, 1329, 1334, 1333,
2115     1317, 1320,   87,   87,   87,   87, 1321, 1323,   87,   87,
2116     1322, 1331, 1324, 1325, 1330, 1326, 1336, 1345,   87, 1327,
2117     1332,   87,   87, 1335, 1329,   87, 1333,   87, 1337,   87,
2118       87,   87, 1338, 1343, 1339, 1340, 1341,   87, 1331, 1344,
2119     1346, 1330, 1342, 1336,   87, 3904, 3904, 1332, 3904,   87,
2120     1335,   87, 1347, 3904, 3904, 1337,   87,   87,   87, 1338,
2121     1343, 1339, 1340, 1341,   87,   87, 1344, 1349, 1348, 1342,
2122       87, 1350,   87, 1351, 1353, 1355, 1357, 1354, 1352, 1347,
2123
2124       87,   87,   87, 1356, 1358, 1359, 1360,   87, 1361,   87,
2125     3904,   87, 1364, 1366, 1349, 1348,   87,   87, 1350, 3904,
2126       87, 1353, 1355, 1357, 1354,   87,   87,   87, 1362, 1363,
2127     1356, 1358, 1359, 1360, 1367, 1361, 1365, 1368, 1369, 3904,
2128     1370,   87,   87,   87,   87,   87,   87, 1371, 1372, 1375,
2129     1373,   87, 3904, 3904,   87, 1362, 1363, 1374, 1379,   87,
2130       87, 1367, 1376, 1365, 1368, 1369,   87, 1370, 1377, 1378,
2131     1381,   87,   87,   87, 1371, 1372, 1375, 1373, 1380,   87,
2132       87,   87, 1382, 1384, 1374, 1379, 1383, 1385, 3904, 1376,
2133       87,   87,   87, 1386, 1388, 1377, 1378, 1381, 1387,   87,
2134
2135     1389, 1390, 1395,   87, 1391, 1380, 1393,   87, 1394, 1382,
2136       87,   87,   87, 1383,   87,   87, 1392, 1396,   87, 1397,
2137     1386, 1388,   87,   87, 1400, 1387,   87, 1389, 1390, 1402,
2138       87, 1391, 1398, 1393,   87, 1394, 1399, 1404, 1401, 1406,
2139     1403, 1405, 3904, 1392, 3904, 1408,   87, 1407,   87,   87,
2140     3904,   87, 1409, 1411,   87, 1410,   87, 1412,   87, 1398,
2141       87,   87,   87, 1399, 1404, 1401,   87, 1403, 1405,   87,
2142       87,   87,   87,   87, 1407,   87, 1414, 1413, 1415, 1409,
2143     1411, 1416, 1410, 1418, 1412,   87, 1419, 1417, 1420, 1421,
2144     1422, 1425,   87, 3904, 3904, 3904,   87,   87, 1424, 1423,
2145
2146       87,   87,   87, 1414, 1413, 1415, 1427, 3904, 1416,   87,
2147     1418,   87, 1428, 1419, 1417, 1420, 1426, 1432,   87,   87,
2148       87,   87,   87, 1429,   87, 1424, 1423,   87, 1431, 1434,
2149     1433,   87,   87, 1427, 1435,   87, 1436,   87,   87, 1428,
2150     1437, 1438,   87, 1426, 1432, 1441, 1442, 1439, 1440, 1444,
2151     1429, 1450,  173, 1443,   87, 1431, 1434, 1433, 1448,   87,
2152       87, 1435, 1445, 1436,   87,   87, 1447,   87, 1438,   87,
2153       87, 1451, 1441, 1442, 1439, 1440, 1444, 1446,   87, 1449,
2154     1443, 1452, 1453,   87,   87,   87,   87, 1454, 1455, 1445,
2155     1457, 1456, 1458, 1447,   87,   87, 3904, 3904,   87, 1460,
2156
2157       87, 1461, 1467,   87, 1446,   87, 1449, 1459, 1452, 1453,
2158       87, 1463,   87,   87, 1454, 1455,   87, 1457, 1456, 1458,
2159       87,   87, 1462, 1464, 1465, 1466, 1460, 1468, 1461,   87,
2160       87, 3904, 1469,   87, 1459,   87,   87, 1471, 1463, 1470,
2161       87, 1472, 1473,   87, 1479, 3904,   87, 1480, 3904, 1462,
2162     1464, 1465, 1466,   87, 1468,   87, 3904,   87, 1474, 1469,
2163     1481, 1475, 1482,   87, 1471,   87, 1470,   87, 1472, 1473,
2164     1476, 1479, 1477,   87, 1480, 1478, 1483, 1484, 1492, 1489,
2165     1488, 1485,   87,   87, 1486, 1474, 1487, 1481, 1475,   87,
2166       87, 1518,   87, 1497, 1493,   87,   87, 1476,   87, 1477,
2167
2168     1491,   87, 1478, 1483, 1484,   87, 1489, 1488, 1485, 1490,
2169       87, 1486, 1494, 1487, 1495,   87,   87,   87, 1496, 3904,
2170       87, 1493, 1498,   87, 1499,   87,   87, 1491, 1500, 1502,
2171       87, 1501, 1503, 3904, 3904,   87, 1490, 3904, 3904, 1494,
2172     1519, 1495, 1504, 3904,   87, 1496,   87,   87, 1505, 1498,
2173       87, 1499,   87,   87,   87, 1500, 1502, 1506, 1501, 1503,
2174       87, 1507, 1509, 1510, 1511,   87, 1513, 1519, 1512, 1504,
2175     1508, 1514,   87, 1515,   87, 1505,   87, 3904, 3904,   87,
2176       87, 3904, 3904,   87, 1506,   87, 1517, 1516, 1507, 1509,
2177     1510, 1511, 1521, 1513,   87, 1512, 1520, 1508, 1514,   87,
2178
2179     1515, 1523,   87,   87, 1522, 1524, 1526, 1525,   87,   87,
2180       87, 1528, 1527, 1517, 1516,   87,   87, 1530, 1529, 1521,
2181       87, 3904, 3904, 1520,   87,   87, 1531, 1532, 1523, 1533,
2182     1534, 1522, 1524, 1526, 1525, 1535, 1536,   87,   87, 1527,
2183       87, 1542, 1538,   87, 1537, 1529,   87, 1539,   87,   87,
2184     1543, 1541, 1540, 1531, 1532,   87, 1533, 1534,   87,   87,
2185       87, 1553, 1535, 1536,   87, 1558, 3904, 1551, 1542, 1554,
2186     3904, 1537, 1552, 1557,   87, 3904,   87, 1543, 1541, 1540,
2187     1544,   87, 1555, 1559, 1545, 1556, 3904, 1546, 1547, 1568,
2188       87,   87, 1548,   87, 1551,   87, 1554,   87, 1549, 1552,
2189
2190     1557, 1560, 1550, 1569,   87,   87,   87, 1544,   87, 1555,
2191     1559, 1545, 1556, 1561, 1546, 1547, 1562, 3904, 1563, 1548,
2192     1566,   87,   87,   87, 1564, 1549, 1565,   87, 1560, 1550,
2193     1570, 1571, 1567, 1574, 1573,   87, 1576, 1578, 1621,   87,
2194     1561,   87, 3904, 1562,   87, 1563,   87, 1566,   87,   87,
2195     1577, 1564, 1579, 1565,   87, 1572,   87, 1570, 1571, 1567,
2196     1574, 1573,   87, 1575, 1580,   87, 1581, 3904,   87,   87,
2197     1587,   87,   87, 1588,   87, 1593, 3904, 1577, 3904, 1579,
2198       87, 1589, 1572, 1594, 3904, 3904,   87,   87, 1592, 1595,
2199     1575, 1580,   87, 1581, 1582,   87,   87, 1587,   87, 1583,
2200
2201     1588, 1584, 1593, 1585,   87, 1586, 1597,   87, 1589, 1596,
2202     1594, 1600,   87, 1601, 1598, 1592, 1595, 1602,   87, 1599,
2203     1603, 1582,   87, 1605,   87, 1609, 1583, 1610, 1584,   87,
2204     1585,   87, 1586, 1597, 1611, 1604, 1596, 1606, 1600, 1608,
2205     1601,   87,   87, 1607, 1602,   87,   87, 1603,   87,   87,
2206     1605,   87,   87,   87, 1610, 1612, 1613,   87, 1614, 1615,
2207     1616, 1611, 1604, 1619, 1606,   87, 1608, 1618, 1617,   87,
2208     1607, 1620,   87, 1623,   87, 1624,   87, 1622,   87, 3904,
2209       87, 1625, 1612, 1613, 1630, 1614, 1615, 1616,   87,   87,
2210     1619, 1626, 1627,   87, 1618, 1617, 1632,   87, 1620, 1628,
2211
2212       87, 1633, 1624, 1629, 1622, 1631,   87,   87, 1625, 1634,
2213     1635,   87,   87, 1638,   87,   87,   87, 1639, 1626, 1627,
2214     1643,   87, 1641,   87,   87, 3904, 1628,   87, 1633, 1636,
2215     1629,   87, 1631, 1637, 1642,   87, 1634, 1635, 1640,   87,
2216       87,   87, 1644, 1646, 1639, 1645,   87, 1648,   87, 1641,
2217     1647, 1651,   87, 1650, 1649, 1664, 1636, 1653, 1665,   87,
2218     1637, 1642, 1652,   87,   87, 1640,   87,   87,   87, 1644,
2219     1646,   87, 1645,   87, 1648,   87, 1654, 1647, 1651,   87,
2220     1650, 1649, 1655, 1656, 1653, 1658, 1657,   87, 1660, 1652,
2221       87, 3904, 1659, 3904, 3904,   87, 1661,   87, 1662, 1666,
2222
2223     1667, 1668, 1663, 1654,   87, 3904, 3904,   87,   87, 1655,
2224     1656,   87, 1658, 1657,   87, 1660,   87,   87,   87, 1659,
2225     1669,   87,   87, 1661, 1670, 1662, 1666, 1667, 1671, 1663,
2226     1672, 1675,   87,   87, 1673, 1674, 1676, 1677,   87, 1679,
2227     1678,   87,   87, 1681,   87,   87,   87, 1669, 1682, 1683,
2228     1685, 1670,  173,   87,   87, 1671, 1680,   87, 1675, 1691,
2229       87, 1673, 1674, 1676, 1677, 1684, 1679, 1678, 1690, 3904,
2230       87, 1686, 1688, 1693, 1694,   87, 1683, 1687, 1689, 1692,
2231       87,   87,   87, 1680,   87,   87,   87,   87,   87, 1696,
2232       87,   87, 1684, 1695, 3904, 1690, 1697, 1700, 1686, 1688,
2233
2234     1693, 1694,   87,   87, 1687, 1689, 1692, 1698, 1699,   87,
2235     1702, 1704, 1701, 1706, 1703,   87, 1696,   87,   87,   87,
2236     1695,   87, 1705, 1697, 1700, 1711,   87, 1708, 1707, 1712,
2237       87, 1713, 1709,   87, 1698, 1699, 1710,   87, 1704, 1701,
2238     1706, 1703,   87,   87,   87,   87, 1720, 1719,   87, 1705,
2239     1714, 3904, 1711, 1722, 1715, 1707, 1712, 1716, 1713,   87,
2240     1724, 1717,   87, 1710, 1718,   87,   87, 1721, 3904, 1723,
2241     1725,   87, 3904, 1720, 1719, 1726,   87, 1714, 1727, 1730,
2242       87, 1715, 3904,   87, 1716,   87,   87, 1724, 1717, 1728,
2243       87, 1718,   87, 1731, 1721, 1729, 1723, 1732, 1733, 1735,
2244
2245     1737,   87,   87, 1734,   87, 1727, 1730,   87, 1738, 1741,
2246       87, 1736, 1744,   87, 1739,   87, 1728,   87,   87,   87,
2247     1731,   87, 1729,   87, 1732, 1733, 1735, 1737, 1740, 1743,
2248     1734, 1742,   87, 1745, 1746, 1738, 1741,   87, 1736, 1747,
2249       87, 1739, 1752, 1754,   87,   87, 1748,   87,   87, 1751,
2250     1749, 1750, 1753, 3904,   87, 1740, 1743,   87, 1742,   87,
2251     1745, 1746,   87,   87,   87,   87, 1747, 1758, 1756, 1752,
2252     1754, 1755,   87, 1748, 1759, 1760, 1751, 1749, 1750, 1753,
2253       87,   87, 1757, 1762, 1766,   87, 1761,   87,   87, 1763,
2254       87, 1764, 1765, 1767, 1758, 1756, 1773,   87, 1755, 1768,
2255
2256       87, 1759, 1760, 1770,   87, 1774, 1769, 1772, 1775, 1757,
2257     1762, 1766, 1771, 1761,   87,   87, 1763, 1776,   87,   87,
2258     1767, 1780, 1781,   87,   87, 3904,   87,   87,   87,   87,
2259     1770, 1777, 1783, 1769, 1772, 1782, 1784,   87, 1788, 1771,
2260       87,   87, 1785,   87, 1776,   87, 1832, 1787,   87, 1781,
2261     1778,   87, 1779,   87, 1786,   87, 1790,   87, 1777, 1783,
2262     1791, 1789, 1782, 1784,   87, 1788,   87,   87,   87, 1785,
2263     1793, 1792, 1798,   87, 1787,   87, 1800, 1778,   87, 1779,
2264     1794, 1786,   87, 1790,   87, 1795, 1796, 1791, 1789, 1799,
2265     1803, 1797, 1801, 1802, 3904,   87,   87, 1793, 1792, 1798,
2266
2267       87,   87,   87, 1800, 1804, 1805, 1807, 1806,   87, 1808,
2268     1814, 1812,   87,   87,   87,   87, 1799, 1803,   87, 1801,
2269     1802, 1809, 1811,   87, 1813,   87,   87, 1810, 1817,   87,
2270     3904, 1804, 1805, 1807, 1806, 1816,   87, 1815, 1812, 1818,
2271     1819,   87,   87,   87, 1820,   87, 1824,   87, 1809, 1811,
2272     1827, 1813,   87, 1821, 1810, 1822,   87, 1823,   87,   87,
2273       87,   87, 1816,   87, 1815,   87, 1818, 1819, 1825, 1826,
2274     1828, 1820, 1831, 1824,   87, 1829,   87, 1827, 1830, 1833,
2275     1821,   87, 1822,   87, 1823, 1834,   87,   87, 1835, 1836,
2276     1838, 3904, 1837, 3904,   87, 1825, 1826, 1828, 1844, 1831,
2277
2278     1839, 1843, 1829,   87,   87, 1830,   87,   87,   87, 1840,
2279       87,   87, 1834, 1841,   87, 1835, 1836, 1838, 1846, 1837,
2280     1845, 1848,   87, 1849, 1847, 1844, 1842, 1839, 1843, 1851,
2281       87,   87,   87, 1850,   87, 1854, 1840, 1852, 1853, 1856,
2282     1841, 1855,   87, 3904, 1862, 1846, 1857, 1845, 1848,   87,
2283       87, 1847,   87, 1842, 1860,   87, 1863, 1865, 1869, 3904,
2284     1850,   87,   87,   87, 1852, 1853, 1856,   87, 1855,   87,
2285     1858, 1859,   87, 1857, 1867, 1861,   87,   87, 1864, 1866,
2286       87, 1860,   87,   87, 1868,   87, 1870,   87, 1871,   87,
2287       87, 1873, 1872,   87, 3904, 3904,   87, 1858, 1859, 1880,
2288
2289     1877, 1867, 1861, 1874, 3904, 1864, 1866, 1882, 3904, 1875,
2290       87, 1868, 1876, 1870,   87,   87,   87,   87,   87, 1872,
2291       87, 1888, 1878,   87,   87, 1879, 1880, 1877,   87, 1883,
2292     1874, 1881,   87,   87, 1882, 1886, 1875, 1884,   87, 1876,
2293     1885,   87, 1887,   87, 1889, 1890, 3904, 3904,   87, 1878,
2294     1891, 3904, 1879,   87, 1892,   87, 1883,   87, 1881,   87,
2295     1895, 1894, 1886,   87, 1884, 1896,   87, 1885,   87, 1887,
2296       87, 1889, 1890, 1893, 1897,   87, 1898, 1891,   87, 1899,
2297     1900, 1892, 1901,   87, 1903, 1904,   87, 1895, 1894, 1902,
2298       87,   87, 1896, 1910, 1905, 1907,   87, 1906,   87, 3904,
2299
2300     1893, 1897,   87, 1898, 1909,   87, 1899,   87, 1913, 1901,
2301       87, 1903, 1904,   87, 1911, 1908, 1902, 1916,   87, 1912,
2302       87, 1905, 1907,   87, 1906, 1914,   87, 1915,  173, 1917,
2303     1918, 1909,   87, 1919, 1920, 1913, 1924, 1921,   87,   87,
2304     1923,   87, 1908,   87, 1916, 1922,   87,   87, 1925,   87,
2305       87, 1927, 1914, 1929, 1915, 1931, 1917, 1918,   87, 1926,
2306     1919, 1920,   87, 1924, 1921, 1932,   87, 1923, 1933, 1928,
2307       87, 1930, 1922,   87, 1934, 1925,   87,   87, 1927,   87,
2308     1929,   87,   87,   87, 1935, 1936, 1926, 1937, 1940, 1939,
2309       87, 1941, 1932, 1938, 3904, 1933, 1928, 1942, 1930, 3904,
2310
2311       87, 1934, 1946, 1945,   87, 1943, 1944,   87, 1949,   87,
2312       87, 1935, 1936,   87,   87, 1940, 1947, 1954, 1941,   87,
2313     1938,   87, 1950,   87,   87,   87, 1951, 1952, 1948, 1946,
2314     1945,   87, 1943, 1944,   87, 1949,   87, 1955,   87,   87,
2315     1953,   87, 1956, 1947, 1954, 1957, 1962, 3904,   87, 1950,
2316     1958,   87,   87, 1951, 1952, 1948, 1959,   87, 1964, 1960,
2317       87, 1966, 1963,   87, 1955, 1967, 1968, 1953,   87, 1956,
2318     1969, 1961, 1957, 1970, 1965, 1972, 1973, 1958,   87,   87,
2319       87, 1977,   87, 1959,   87, 1964, 1960,   87, 1966, 1963,
2320     1974, 1979, 1967, 1968,   87, 1975, 1971, 1969, 1961,   87,
2321
2322       87, 1965, 1976, 1978, 1987,   87, 1980,   87,   87, 1982,
2323     1983, 1981,   87,   87, 1984,   87,   87, 1974, 1979,   87,
2324     1985,   87, 1975, 1971, 1986,   87,   87, 1988,   87, 1976,
2325     1978, 1987, 3904, 1980,   87, 1989, 1982, 1983, 1981,   87,
2326     1991, 1990, 1992, 1994, 1993, 1995,   87, 1996, 1998, 3904,
2327       87, 1997,   87,   87, 2003,   87,   87,   87,   87,   87,
2328     1999,   87, 1989,   87,   87, 2004, 2000,   87, 1990, 1992,
2329     1994, 1993, 1995,   87, 1996, 1998, 2001,   87, 1997,   87,
2330     2002, 2003,   87, 2005, 2006,   87, 2007, 1999, 2009, 2011,
2331       87,   87, 2004, 2000, 2008, 2010,   87, 2012, 2013, 2014,
2332
2333     3904,   87,   87, 2001,   87,   87, 2019, 2002,   87,   87,
2334     2005, 2006,   87, 2007, 2015, 2009, 2011, 2017, 2018, 2022,
2335     2021, 2008, 2020, 2024, 2012, 2013, 2014,   87, 2023,   87,
2336     3904, 2039, 2016,   87,   87,   87,   87, 2026,   87, 2025,
2337       87, 2015,   87,   87, 2017, 2018, 2022, 2021, 2027, 2020,
2338     2024, 2028,   87, 2029,   87, 2023, 2030,   87,   87, 2016,
2339     2033, 2037, 2038,   87, 2026,   87, 2025, 2031, 2040,   87,
2340     2032,   87, 2034, 2036, 3904, 2027,   87, 2035, 2028, 2043,
2341     2029, 2041,   87, 2030,   87,   87,   87, 2033, 2037, 2038,
2342     2044, 2045, 2042, 2047, 2031,   87,   87, 2032, 2049, 2034,
2343
2344     2036,   87, 2046,   87, 2035,   87, 2043, 2050, 2041, 2048,
2345       87, 2051, 2053,   87, 2054,   87, 2052,   87, 2045, 2042,
2346     2047, 2061,   87,   87,   87, 2049, 2059, 2055, 2060, 2046,
2347     2062,   87,   87,   87, 2050,   87, 2048, 2056, 2051, 2053,
2348     2057, 2054, 2058, 2052,   87,   87, 3904, 2064,   87, 2063,
2349       87, 2067, 2066, 2059, 2055,   87,   87, 2062, 2068, 2065,
2350       87,   87,   87, 2069, 2056,   87, 2070, 2057,   87, 2058,
2351     2071, 2072, 2073,   87, 2064, 2074, 2063, 3904, 2067, 2066,
2352     2075,   87, 2077, 2076, 2084,   87, 2065, 2078,   87, 2080,
2353       87, 2079, 3904, 2070,   87, 2085, 3904, 2071, 2072, 2073,
2354
2355       87,   87, 2074, 2081,   87, 2082,   87, 2075, 2083, 2077,
2356     2076, 2084, 3904,   87, 2078,   87, 2080, 2086, 2079, 2087,
2357     2088,   87, 2085,   87, 2091,   87,   87, 2092, 2089,   87,
2358     2081, 2093, 2082, 2090, 2094, 2083,   87,   87, 2096,   87,
2359     2095, 2097, 2098, 2099, 2086, 2102, 2087, 2088, 2107, 2100,
2360       87, 2091, 2101,   87, 2092, 2104,   87, 2103, 2093, 2105,
2361       87, 2094,   87, 2111, 3904,   87,   87, 2095, 2097,   87,
2362       87,   87, 2106, 2108, 2112,   87, 2100,   87,   87, 2101,
2363       87, 2117, 2104, 2109, 2103,   87, 2105,   87, 2113, 2110,
2364     2114, 2118, 2116,   87, 2115,   87,   87, 2126,   87, 2106,
2365
2366     2108, 2112,   87,   87, 2120, 2127, 2119,   87, 2117,   87,
2367     2109,   87, 2121, 2124, 2122, 2113, 2110, 2114, 2118, 2116,
2368       87, 2115,   87, 2123, 2128, 2130,   87,   87, 2129,   87,
2369     2134, 2120, 2136, 2119, 2125, 2132,   87,   87, 2131, 2121,
2370       87, 2122,   87, 2140,   87,   87, 2133, 2143,   87, 2135,
2371     2123, 2128,   87, 2137,   87, 2129, 2138,   87,   87, 2139,
2372     2145, 2125, 2132,   87,   87, 2131, 2142,   87,   87,   87,
2373       87, 2141, 2144, 2133, 2143, 2146, 2135, 2147,   87,   87,
2374     2137, 2148,   87, 2138, 2151,   87, 2139, 2145, 2152,   87,
2375     2149, 2155, 2153, 2142, 2154,   87, 2156,   87, 2141, 2144,
2376
2377       87, 2150, 2146,   87, 2147, 2157,   87, 2158, 2148,  173,
2378     2160, 2151, 2159,   87,   87, 2152,   87, 2149, 2155, 2153,
2379       87, 2154,   87,   87, 2161, 2162, 2164, 2163, 2150, 2165,
2380     2166, 2171, 2157, 2168, 2158, 2169, 3904,   87,   87, 2159,
2381       87,   87, 2167,   87, 2172,   87,   87,   87, 2170,   87,
2382     2175, 2161, 2162, 2164, 2163,   87, 2165, 2166,   87,   87,
2383     2168, 2173, 2169,   87, 2174, 2176, 2177, 2178, 2179, 2167,
2384       87, 2172, 2180,   87, 2181, 2170, 2183,   87, 2182, 2184,
2385     3904, 3904, 2185, 2187, 3904,   87,   87, 2186, 2173,   87,
2386       87, 2174, 2176, 2177,   87, 2179,   87,   87, 2189, 2192,
2387
2388     3904, 2181, 2194,   87,   87, 2182,   87,   87,   87, 2185,
2389     2187, 2188,   87, 2190, 2186, 2191, 2195, 2193,   87, 2197,
2390       87,   87,   87, 2196,   87, 2189, 2192, 2203, 3904, 2194,
2391     2200,   87, 2205, 2204, 2198,   87, 2206,   87, 2188,   87,
2392     2190,   87, 2191, 2195, 2193,   87, 2197, 2199, 2201,   87,
2393     2196, 2216,   87, 2208, 2203, 2202, 2207, 2200, 2209,   87,
2394     2204, 2198,   87, 2210,   87, 2211,   87, 3904,   87, 2213,
2395       87,   87, 2212, 2217, 2199, 2201,   87,   87, 2216,   87,
2396     2208, 2218, 2202, 2207, 2214, 2209, 2215, 2220, 2219, 2225,
2397     2210, 2221, 2211, 3904,   87,   87, 2213,   87, 2222, 2212,
2398
2399       87, 2223, 2227, 2224,   87, 2229, 2226,   87,   87,   87,
2400     2231, 2214, 2228, 2215,   87, 2219,   87,   87, 2221, 2232,
2401     2235, 2233, 2230,   87, 2234, 2222,   87, 2236, 2223,   87,
2402     2224,   87, 2239, 2226,   87, 2238,   87,   87, 2237, 2228,
2403     2240, 2242,   87,   87,   87,   87, 2232, 2235, 2233, 2230,
2404     2241, 2234,   87, 2243,   87, 2244,   87,   87, 2246,   87,
2405     2254, 2245, 2238,   87, 2263, 2237, 2251, 2240, 2242, 2247,
2406     2248, 2249, 2253,   87, 3904,   87, 2250, 2241, 2252,   87,
2407     2243,   87, 2244,   87,   87, 2258, 2257,   87, 2245,   87,
2408       87, 2263,   87, 2251, 2255, 2256, 2247, 2248, 2249, 2253,
2409
2410     2264,   87,   87, 2250, 2259, 2252,   87,   87, 2262, 2260,
2411     2261, 2266, 2258, 2257, 2265, 2267,   87, 2268, 2270, 2269,
2412       87, 2255, 2256,   87,   87,   87,   87, 2264, 2271,   87,
2413     2272, 2273, 2276,   87, 2274, 2262,   87, 2261,   87,   87,
2414     2275, 2265, 2267,   87, 2268,   87, 2269, 2277, 2279, 2280,
2415     2281,   87, 2282, 2278, 2284, 2271,   87, 2272, 2273,   87,
2416       87, 2274, 2286, 2283, 2285, 2287,   87, 2275,   87,   87,
2417       87, 2288,   87,   87,   87,   87, 2280, 2281,   87, 2282,
2418     2278, 2289, 2290, 2291, 2292, 2295,   87,   87, 2294, 2286,
2419     2283, 2285, 2287, 2297,   87, 2293,   87, 2298,   87, 2296,
2420
2421       87, 2299,   87,   87,   87, 2300, 2301, 2302, 2289, 2290,
2422     2291, 2292,   87,   87,   87, 2294, 2303, 2304, 2306, 2307,
2423     2297, 3904, 2293,   87, 2305, 2308, 2296,   87, 2299,   87,
2424     2312, 2309,   87, 2301, 2302, 2313, 2311,   87,   87, 2314,
2425     2315, 2310,   87,   87, 2304, 2318,   87,   87,   87,   87,
2426       87, 2305, 2308,   87,   87, 2320, 2316, 2312, 2309,   87,
2427     2317,   87, 2313, 2311,   87,   87, 2314, 2315, 2310, 2319,
2428       87,   87, 2318, 2321, 3904, 2324, 2323, 2322, 3904, 2326,
2429     2327, 2329, 2320, 2316,   87,   87,   87, 2317,   87, 2328,
2430     2330, 2325, 2331,   87, 2336, 3904, 2337, 2332,   87, 2334,
2431
2432       87,   87, 2324, 2323, 2322,   87, 2326, 2327,   87,   87,
2433     2335,   87, 2333, 2338,   87,   87, 2328, 2330, 2325, 2331,
2434       87, 2336,   87, 2337, 2332, 2339, 2334, 2340, 2341, 2343,
2435     3904, 2347, 2344, 2342, 2345, 2348,   87, 2335,   87, 2333,
2436       87, 2346,   87,   87,   87, 2351, 2356,   87, 3904,   87,
2437       87, 3904, 2339,   87, 2340, 2341,   87, 2349, 2347, 2344,
2438     2342, 2345, 2348, 2350,   87, 2352, 2353, 2354, 2346, 2355,
2439       87, 2357, 2358,   87,   87, 2360, 3904,   87,   87, 2362,
2440     2361, 2363, 2359,   87, 2349, 2364,   87, 2365, 2368,   87,
2441     2350,   87, 2352, 2353, 2354,   87, 2355,   87, 2357, 2358,
2442
2443       87, 2369, 2360,   87, 2371, 2366, 2362, 2361, 2363, 2359,
2444     2367, 2373,   87, 2372,   87, 2370,   87, 2374, 2375, 2376,
2445       87, 2377, 2378, 2379,   87, 2380,   87, 2381,   87, 2383,
2446       87, 2371,   87,   87,   87, 2384, 2387,   87, 2382, 2388,
2447     2372,   87, 2370,   87, 2374, 2375, 2376,   87, 2377, 2378,
2448       87,   87, 2380, 2385,   87,   87, 2383, 2386,  173,   87,
2449     2389,   87,   87, 2387,   87, 2382, 2388, 2391, 2390, 2392,
2450     2398, 3904, 2394, 2393, 2395,   87,   87, 2396, 2397, 2399,
2451     2385, 2400, 2401, 3904, 2386, 3904, 2402, 2389,   87,   87,
2452     2403,   87, 2405, 2406, 2391, 2390,   87,   87,   87, 2394,
2453
2454     2393,   87,   87,   87, 2396,   87, 2399,   87, 2400, 2404,
2455       87, 2407,   87, 2402,   87,   87, 2408, 2403, 2409, 2405,
2456     2406, 2410, 2411, 3904, 2412, 2415, 2416,   87, 3904, 2413,
2457       87, 2414, 2418, 2419, 3904, 2421, 2404,   87,   87, 2417,
2458       87,   87, 3904, 2408,   87, 2409,   87,   87, 2410, 2411,
2459       87, 2412, 2415,   87,   87,   87, 2413,   87, 2414, 2418,
2460     2419, 2420,   87, 2422, 2423, 2424, 2417, 2425, 2428, 2429,
2461       87, 2427, 2426, 3904,   87,   87, 2432, 2431,   87, 2430,
2462     3904, 3904,   87, 2439, 3904,   87,   87, 2436, 2420,   87,
2463     2422, 2423, 2424,   87, 2425,   87, 2429,   87, 2427, 2426,
2464
2465       87, 2433, 2435, 2432, 2431,   87, 2430, 2437, 2438,   87,
2466     2439,   87, 2434, 2440, 2436,   87, 2442, 2441, 2445, 2443,
2467     3904, 3904,   87, 2444, 2446,   87, 2452,   87, 2433, 2435,
2468     2455,   87,   87, 2454, 2437, 2438, 2447,   87, 2448, 2434,
2469     2440,   87, 2449, 2442, 2441,   87, 2443,   87,   87,   87,
2470     2444, 2446, 2450,   87, 2451,   87, 2453, 2455,   87,   87,
2471     2454, 2456, 2457, 2447,   87, 2448,   87,   87, 2458, 2449,
2472     2460,   87, 2459, 2462,   87, 2461, 2464,   87, 2466, 2450,
2473     2465, 2451, 2463, 2453, 2469, 2467, 2472, 2468, 2456, 2457,
2474       87,   87,   87,   87,   87,   87, 2470,   87,   87, 2459,
2475
2476     2462,   87, 2461,   87, 2471, 2466, 2473, 2465,   87, 2463,
2477       87, 2469, 2467, 2472, 2468, 2474, 2475, 2476, 2477,   87,
2478     2478,   87,   87, 2470, 2479, 3904, 2490, 3904,   87, 2480,
2479       87, 2471,   87, 2473, 2481, 2482,   87, 2488,   87,   87,
2480     2489,   87, 2474, 2475, 2476, 2477, 3904, 2478, 2483, 2484,
2481     2487, 2479, 2485,   87, 2491,   87, 2493,   87, 3904, 2492,
2482     2494,   87, 2482,   87, 2488, 2486,   87, 2489, 2496, 2497,
2483     3904, 2495, 2508,   87, 2504, 2483, 2484, 2487,   87, 2485,
2484       87, 2491,   87, 2493, 2498, 2499, 2492, 2494, 2500,   87,
2485       87, 2501, 2486,   87,   87, 2496, 2497, 2502, 2495, 2503,
2486
2487     2505, 2504, 2506, 2510,   87, 3904,   87,   87,   87,   87,
2488       87, 2498, 2499, 2507, 2509, 2500, 2512,   87, 2501, 2511,
2489       87,   87, 2513,   87, 2502,   87, 2503, 2505,   87, 2506,
2490     2510, 2514,   87, 2516, 2515, 2517, 2518, 2520, 2519, 2521,
2491     2507, 2509, 2523,   87,   87,   87, 2511,   87, 2522, 2513,
2492     3904, 2524, 2531,   87, 2527,   87,   87,   87, 2514,   87,
2493     2516, 2515, 2517, 2518, 2520, 2519,   87, 2525, 2528, 2523,
2494       87,   87, 2526,   87, 2529, 2522,   87, 2530, 2524,   87,
2495     2532, 2527, 2533, 2535, 2534, 2536, 2537,   87, 2539, 2538,
2496       87, 2540,   87, 3904, 2543, 2528,   87,   87,   87,   87,
2497
2498     2545, 2529, 2546, 2544, 2530, 3904,   87, 2532,   87, 2533,
2499     2535, 2534, 2541, 2537,   87, 2539, 2538,   87,   87, 2547,
2500     2542,   87, 2548,   87, 2549, 2550,   87, 2545,   87, 2546,
2501     2544,   87, 2551,   87, 3904, 2552, 2553,   87, 2555, 2541,
2502     2557, 2559, 2561, 2556,   87, 3904, 2547, 2542,   87, 2548,
2503       87, 2549, 2550, 2558, 2554,   87,   87,   87, 2560, 2551,
2504       87,   87, 2552, 2553, 2562, 2563, 2567, 2557, 2559, 2561,
2505       87,   87,   87, 2568, 2564, 3904, 3904, 2565, 3904, 3904,
2506     2558, 2554, 3904, 2592,   87, 2560,   87,   87,   87, 2566,
2507     2569, 2562, 2563, 2567, 2570, 2574,   87, 2571, 2572,   87,
2508
2509       87, 2564, 2575,   87, 2565, 2573,   87,   87,   87,   87,
2510       87, 2576, 2577, 2578,   87, 2580, 2566, 2569, 3904, 2579,
2511     2586, 2570, 2574, 2581, 2571, 2572,   87,   87,   87, 2575,
2512     2582, 2584, 2573,   87, 2583, 3904, 3904,   87, 2576, 2577,
2513     2578,   87, 2580,   87, 2585,   87, 2579, 2586,   87, 2587,
2514     2581, 2588,   87,   87, 2590, 2589,   87, 2582, 2584, 2591,
2515     2594, 2583, 2593,   87,   87, 2595, 2598, 2596, 2597, 2599,
2516     2603, 2585, 2600, 3904,   87,   87, 2587,   87, 2588, 2607,
2517       87, 2590, 2589,   87,   87, 2609, 2591,   87,   87, 2593,
2518     2601,   87, 2595, 2598, 2596, 2597, 2599,   87, 2602, 2600,
2519
2520     2604, 2608,   87, 2605, 2610,  173,   87, 2611, 2606,   87,
2521     2615,   87, 2609, 2612,   87, 2613, 3904, 2601, 2616,   87,
2522       87, 2614, 2620,   87, 2621, 2602, 2622, 2604, 2619, 2623,
2523       87, 2610, 2617,   87, 2611,   87, 2624,   87,   87, 2627,
2524     2612,   87, 2613, 2618,   87, 2616,   87, 2626, 2614,   87,
2525       87, 2621, 2625, 2622,   87, 2619, 2623, 2628, 2629, 2617,
2526     2630,   87, 2631, 2632,   87, 2633, 2627, 3904,   87, 3904,
2527     2618, 2635,   87, 2634, 2626, 2636, 3904,   87,   87, 2625,
2528     3904, 2637,   87,   87, 2628,   87,   87, 2630, 2640, 2638,
2529     2632, 2644, 2633,   87,   87, 2639,   87, 2641, 2635, 2646,
2530
2531     2634, 2642, 2636,   87, 2643, 3904,   87,   87, 2637, 2645,
2532       87,   87,   87,   87,   87, 2640, 2638, 2647, 2644, 2649,
2533     2648, 2650, 2639, 2655, 2641, 2656,   87, 2653, 2642, 2652,
2534       87, 2643,   87, 2651,   87, 2654, 2645, 2658,   87,   87,
2535       87,   87,   87,   87, 2647,   87, 2649, 2648, 2650, 2657,
2536     2655, 2659, 2656, 2660, 2653, 2661, 2652, 2662,   87, 2669,
2537     2651,   87, 2654,   87,   87,   87, 2664, 2663, 2666,   87,
2538       87,   87, 2667, 2665,   87, 2670, 2657, 2668, 2659, 2673,
2539     2660,   87, 2661,   87, 2662, 2671, 2675,   87, 2672, 2674,
2540     2677,   87,   87, 2664, 2663, 2666, 2676,   87, 2678, 2667,
2541
2542     2665, 2682,   87,   87, 2668, 2679, 2673,   87, 2680, 2685,
2543       87,   87, 2671, 2675,   87, 2672, 2674,   87, 2681, 2683,
2544       87,   87,   87, 2676, 2684, 2678, 2687, 2686, 2682,   87,
2545     2688, 2689, 2679,   87, 2690, 2680,   87, 2691, 2693, 3904,
2546     2692, 2699,   87,   87, 2694, 2681, 2683, 2695,   87, 2696,
2547       87, 2684,   87,   87, 2686, 2700, 2701, 2688, 2689,   87,
2548     2706, 2690, 2705,   87, 2691,   87, 2697, 2692,   87, 2698,
2549       87, 2694, 2702, 2703, 2695,   87, 2696,   87,   87, 2704,
2550       87, 2707,   87, 2701,   87, 2709,   87,   87, 2710, 2705,
2551     2708, 2711, 2712, 2697,   87, 2714, 2698,   87,   87, 2702,
2552
2553     2703, 2713, 2715, 2716,   87, 2718, 2704, 2717,   87, 2720,
2554     2719, 2721,   87, 2722, 2724, 2710,   87, 2708,   87, 2712,
2555       87,   87,   87,   87,   87,   87, 2723, 2725, 2713,   87,
2556     2716,   87, 2718, 2726, 2717,   87,   87, 2719, 2721, 2728,
2557     2722,   87, 2727, 2729, 2730, 2733, 3904, 2731,   87, 2734,
2558     2736,   87, 2740, 2723, 2725, 2735, 2739,   87, 2741, 2743,
2559       87,   87, 2732,   87,   87,   87, 2728,   87,   87, 2727,
2560     2729, 2730,   87,   87, 2731,   87, 2734, 2736, 2737, 2738,
2561     2742, 2744, 2735,   87,   87, 2741, 2743,   87, 2745, 2732,
2562       87, 2746,   87,   87, 2747, 2748, 2749, 2750, 3904, 2751,
2563
2564     2753, 2756,   87, 2754, 2759, 2737, 2738, 2742, 2744,   87,
2565       87,   87, 2755, 2752,   87, 2745,   87,   87,   87,   87,
2566     2757, 2747, 2748, 2749, 2750,   87, 2751,   87, 2756,   87,
2567     2754, 2759,   87, 2758, 2760,   87, 2761, 2762, 2767, 2755,
2568     2752, 2763,   87, 3904, 2768, 3904, 3904, 2757, 3904, 3904,
2569     2764, 2769, 2782, 2770, 2771,   87, 2772, 3904,   87,   87,
2570     2758, 2760,   87, 2761, 2762, 2765,   87, 2766, 2763, 2775,
2571       87, 2768, 2773,   87,   87,   87,   87, 2764, 2769, 2774,
2572     2770, 2771, 2776, 2772,   87,   87,   87,   87, 2777,   87,
2573     2778, 2779, 2765, 2781, 2766, 2783, 2775, 2780, 2785, 2773,
2574
2575     2786, 2784, 2791, 3904,   87,   87, 2774,   87, 2787, 2776,
2576       87, 2788,   87,   87, 2789, 2777,   87, 2778, 2779,   87,
2577     2781, 2793, 2790, 2798, 2780, 2785,   87,   87, 2784, 2791,
2578       87, 2799,   87,   87, 2794, 2787,   87, 2792, 2788,   87,
2579     2795, 2789, 2796, 2797,   87, 2800, 2801, 2802, 2793, 2790,
2580     2804, 2805,   87,   87,   87,   87,   87, 2803,   87, 2811,
2581       87, 2794, 2808,   87, 2792, 2809, 2812, 2795,   87, 2796,
2582     2797, 2806, 2800, 2801, 2802,   87,   87, 2804,   87, 2807,
2583     2813, 2810, 2814,   87, 2803,   87, 2811,   87,  173, 2808,
2584       87, 2815, 2809, 2812, 2816, 2817, 2819,   87, 2806,   87,
2585
2586     2818, 2820,   87, 2822, 2824,   87, 2807, 2813, 2810, 2814,
2587     2821, 2823,   87, 3904,   87,   87, 2827, 2831, 2815,   87,
2588     2825, 2816,   87, 2819, 2826,   87,   87, 2818, 2820,   87,
2589     2822, 2824,   87, 2828, 2829, 2830, 2832, 2821, 2823,   87,
2590       87,   87, 2833, 2827,   87, 2834, 2835, 2825, 2837, 2838,
2591       87, 2826, 2836, 2839, 3904,   87, 2840, 2841, 2848, 3904,
2592     2828, 2829, 2830,   87, 2842, 3904, 2843, 2844, 3904,   87,
2593       87,   87, 2834,   87,   87, 2837,   87,   87, 2847, 2836,
2594     2846,   87,   87, 2840,   87,   87, 2845, 2849,   87, 2850,
2595       87, 2842,   87, 2843, 2844, 2851, 2852, 2853, 3904,   87,
2596
2597       87, 3904, 2860, 2854,   87, 2847, 2855, 2846, 2856, 2857,
2598     2858,   87, 2862, 2845, 2849, 2859, 2850,   87,   87, 2866,
2599       87, 2870, 2851, 2852,   87,   87,   87,   87,   87,   87,
2600     2854, 2861,   87, 2855,   87, 2856, 2857, 2858,   87, 2862,
2601     2863, 2864, 2859, 2865, 2868,   87, 2866,   87,   87, 2867,
2602       87,   87, 2869,   87, 2871, 3904, 2872, 2874, 2861, 2873,
2603     3904, 2875, 2879, 2880, 2883, 2876,   87, 2863, 2864,   87,
2604     2865, 2868,   87,   87,   87,   87, 2867, 2877,   87, 2869,
2605     2881, 2871,   87, 2872, 2874,   87, 2873, 2878, 2875,   87,
2606     2880,   87, 2876,   87, 2882, 2884,   87, 2886, 2885,   87,
2607
2608     3904, 2887, 2888, 3904, 2877, 2889, 2891, 2881, 2890, 2899,
2609     2892, 2894, 2896,   87, 2878,   87,   87,   87,   87,   87,
2610     2893, 2882,   87,   87, 2886, 2885, 2895,   87, 2887, 2888,
2611       87, 2897, 2889, 2891,   87, 2890,   87, 2892, 2894, 2896,
2612     2898,   87, 2901, 2902,   87, 2900, 2903, 2893, 2906, 2905,
2613       87, 3904, 2907, 2895, 2913, 2904, 2914,   87, 2897,   87,
2614       87,   87,   87,   87,   87, 2908,   87, 2898, 2909,   87,
2615     2902, 2911, 2900,   87,   87, 2906, 2905,   87, 2910, 2907,
2616     2912,   87, 2904,   87,   87, 2915, 2917, 2916, 2918, 2920,
2617     3904, 2919, 2908,   87,   87, 2909,   87, 2922, 2911,   87,
2618
2619     2921, 2925,   87, 2929, 2923, 2910, 2932, 2912,   87, 2926,
2620     2924,   87,   87, 2917, 2916, 2918, 2920,   87, 2919,   87,
2621       87,   87, 2927, 2928, 2922,   87, 2934, 2921,   87, 2930,
2622     2931, 2923, 2938,   87, 2933,   87, 2926, 2924,   87, 2935,
2623       87,   87,   87, 2939,   87, 2940, 2941,   87, 3904, 2927,
2624     2928,   87, 3904, 2934, 2936, 2937, 2930, 2931,   87, 2938,
2625     2943, 2933,   87, 2944, 2945, 2942, 2935, 2947,   87,   87,
2626     2939, 2946,   87, 2941,   87, 2948, 2951,   87,   87, 2950,
2627       87, 2936, 2937,   87, 2949, 2953,   87, 2943,   87, 2954,
2628     2944, 2945, 2942, 2952, 2947, 2956,   87, 2955, 2946,   87,
2629
2630       87,   87, 2948, 2951, 2957, 2958, 2950,   87, 2959,   87,
2631     2961, 2949, 2953, 2960, 2962, 2966,   87, 2963, 2971,   87,
2632     2952, 2964,   87,   87, 2955, 2965, 2967, 2972, 3904,   87,
2633       87,   87,   87,   87, 2968, 2959,   87, 2961,   87, 2969,
2634     2960, 2962, 2966,   87, 2963, 2971,   87,   87, 2964,   87,
2635     2970,   87, 2965, 2967,   87, 2973,   87, 2974, 2975, 2976,
2636     2977, 2968, 2981,   87, 2978, 2980, 2969, 2983, 2979,   87,
2637     2985, 2982, 2986, 2987,   87,   87, 2984, 2970, 2991,   87,
2638       87,   87, 2973,   87,   87,   87, 2976,   87,   87, 2981,
2639       87, 2978, 2980,   87, 2983, 2979, 2990,   87, 2982, 2986,
2640
2641       87, 2988,   87, 2984, 2989, 2991, 2992, 2993, 2995, 2994,
2642       87,   87, 2996,   87, 2997, 3904, 2998, 3904, 3000,   87,
2643     2999, 3003, 3904, 2990,   87,   87,   87, 3006, 2988,  173,
2644       87, 2989, 3001, 2992, 2993, 2995, 2994,   87,   87, 2996,
2645     3002, 2997,   87, 2998,   87, 3000, 3004, 2999, 3003,   87,
2646     3005,   87, 3007, 3009,   87, 3904,   87, 3008, 3012, 3001,
2647     3010, 3011, 3013, 3904, 3014, 3017,   87, 3002, 3015, 3904,
2648     3016, 3904,   87, 3004,   87, 3904, 3904, 3005, 3904, 3007,
2649     3009,   87,   87,   87, 3008,   87, 3018, 3010, 3011,   87,
2650       87, 3014, 3017, 3019,   87, 3015,   87, 3016, 3020, 3021,
2651
2652     3022,   87,   87, 3023, 3024, 3025,   87, 3026,   87,   87,
2653       87,   87, 3027, 3018,   87, 3028, 3904, 3031, 3032, 3029,
2654     3019, 3033,   87,   87, 3030, 3020, 3021, 3022,   87, 3036,
2655     3023, 3024, 3025,   87, 3026, 3035, 3034,   87, 3037, 3027,
2656       87,   87, 3028,   87, 3031, 3032, 3029,   87,   87,   87,
2657     3038, 3030, 3039, 3043, 3904, 3040, 3036, 3041, 3042, 3044,
2658     3045, 3046, 3035, 3034,   87,   87,   87,   87,   87,   87,
2659       87,   87, 3047,   87, 3049, 3050, 3051, 3038, 3052,   87,
2660     3043, 3048, 3040,   87, 3041, 3042, 3044, 3045, 3046,   87,
2661     3055, 3053, 3056, 3057, 3058,   87, 3065,   87,   87, 3047,
2662
2663     3054, 3049, 3050,   87, 3059,   87, 3060, 3064, 3048,   87,
2664     3061,   87, 3063,   87, 3066,   87, 3062, 3055, 3053,   87,
2665       87,   87,   87,   87,   87,   87,   87, 3054, 3067,   87,
2666     3069, 3059, 3070, 3060, 3064,   87, 3072, 3061, 3068, 3063,
2667     3071, 3066, 3904, 3062, 3073,   87,   87,   87,   87, 3074,
2668     3075, 3076, 3077, 3079, 3078, 3067, 3904, 3069,   87, 3070,
2669       87,   87, 3082, 3072, 3084, 3068, 3081, 3071, 3080,   87,
2670     3904, 3073,   87,   87, 3086,   87,   87, 3075,   87, 3077,
2671     3079, 3078,   87,   87,   87, 3083,   87, 3085, 3090, 3082,
2672     3087, 3084,   87, 3081,   87, 3080, 3088,   87, 3089, 3091,
2673
2674     3092, 3086, 3093, 3094, 3095,   87, 3904, 3099, 3097,   87,
2675     3096,   87, 3083, 3101, 3085,   87,   87, 3087, 3100,   87,
2676       87, 3104,   87, 3088, 3098, 3089, 3091, 3092,   87,   87,
2677     3094, 3095, 3102,   87, 3099, 3097,   87, 3096, 3103, 3106,
2678       87,   87, 3105, 3107, 3109, 3100,   87,   87,   87,   87,
2679       87, 3098, 3110, 3108, 3111, 3112, 3904, 3113, 3114, 3102,
2680       87, 3116,   87, 3904, 3117, 3103, 3106,   87, 3115, 3105,
2681     3107,   87,   87, 3122, 3118, 3120,   87, 3124,   87, 3110,
2682     3108, 3111, 3112,   87, 3113,   87,   87, 3119,   87, 3121,
2683       87, 3117,   87, 3123, 3125, 3115,   87, 3127,   87,   87,
2684
2685       87, 3118, 3120,   87, 3124, 3126, 3904, 3134, 3128, 3129,
2686       87, 3130,   87, 3131, 3119, 3132, 3121, 3136, 3137, 3133,
2687     3123, 3125,   87,   87,   87,   87, 3140, 3138, 3139,   87,
2688     3141,   87, 3126,   87,   87, 3128, 3129,   87, 3130,   87,
2689     3131, 3135, 3132, 3142, 3136,   87, 3133, 3144,   87,   87,
2690       87, 3143,   87, 3140, 3138, 3139, 3145, 3141, 3147,   87,
2691     3146, 3149,   87, 3150, 3148,   87, 3151, 3152, 3135, 3153,
2692     3142, 3904,   87,   87, 3144,   87, 3154, 3156, 3143, 3157,
2693       87,   87, 3161, 3145, 3155, 3147,   87, 3146, 3149,   87,
2694       87, 3148,   87,   87, 3152, 3158, 3153, 3162,   87,   87,
2695
2696     3159, 3160, 3904, 3154,  173, 3164, 3157, 3163, 3166,   87,
2697       87, 3155, 3165, 3168,   87, 3167, 3169,   87,   87,   87,
2698       87, 3171, 3158, 3172, 3162, 3904, 3173, 3159, 3160,   87,
2699     3170, 3174, 3164, 3175, 3163, 3166, 3904,   87,   87, 3165,
2700       87, 3176, 3167,   87,   87, 3178, 3177,   87,   87, 3179,
2701     3172, 3181, 3180, 3182, 3185,   87, 3183, 3170,   87,   87,
2702     3175, 3184, 3186,   87, 3189,   87, 3188,   87, 3176,   87,
2703     3187, 3192,   87, 3177,   87,   87, 3179,   87, 3181, 3180,
2704     3182,   87, 3190, 3183, 3191, 3193,   87, 3199, 3184, 3200,
2705     3198,   87,   87, 3188,   87,   87, 3194, 3187, 3192, 3195,
2706
2707       87, 3197,   87, 3196,   87,   87,   87,   87, 3201, 3190,
2708       87, 3191, 3193, 3202, 3199, 3203, 3200, 3198,   87, 3204,
2709     3205,   87, 3206, 3194, 3207,   87, 3195, 3904, 3197,   87,
2710     3196,   87, 3209, 3212,   87, 3201, 3208, 3213,   87,   87,
2711     3202,   87, 3203, 3210,   87,   87, 3204, 3205, 3211, 3215,
2712       87, 3207, 3217, 3214,   87, 3216,   87,   87, 3221, 3209,
2713       87,   87, 3218, 3208, 3213, 3219, 3226,   87, 3904, 3220,
2714     3210, 3904, 3223,   87,   87, 3211, 3215, 3225,   87, 3217,
2715     3214,   87, 3216,   87,   87,   87, 3222, 3228, 3224, 3218,
2716     3229, 3232, 3219,   87,   87,   87, 3220, 3230, 3231, 3223,
2717
2718       87, 3227, 3233,   87, 3225,   87, 3238,   87, 3234, 3235,
2719     3236,   87, 3237, 3222, 3239, 3224, 3240, 3242, 3241,   87,
2720       87, 3243,   87,   87, 3230, 3231,   87,   87, 3227,   87,
2721       87, 3244,   87, 3238,   87, 3234, 3235, 3236, 3245, 3237,
2722       87,   87, 3246, 3240, 3242, 3241,   87, 3247, 3243, 3248,
2723       87, 3249, 3250, 3251, 3252,   87,   87, 3255,   87, 3253,
2724     3256, 3254, 3904, 3257, 3904, 3245, 3260, 3258,   87, 3246,
2725       87, 3261, 3904, 3904, 3247,   87,   87, 3259, 3249,   87,
2726       87,   87,   87,   87, 3255, 3262, 3253,   87, 3254,   87,
2727     3257, 3266,   87, 3267, 3258, 3263, 3264, 3268,   87, 3265,
2728
2729       87, 3269,   87,   87, 3259, 3270,   87, 3271, 3273, 3275,
2730     3274, 3272, 3262, 3276, 3904, 3277,   87,   87, 3266,   87,
2731       87,   87, 3263, 3264,   87,   87, 3265, 3278,   87,   87,
2732     3280, 3279, 3270, 3281, 3271,   87, 3275, 3274, 3272, 3282,
2733       87,   87, 3277,   87, 3284, 3285, 3283,   87,   87, 3290,
2734     3287, 3286, 3294, 3289,   87, 3288,   87,   87, 3279,   87,
2735     3281, 3291, 3292, 3295, 3296, 3297, 3282, 3293, 3298, 3299,
2736       87,   87,   87, 3283,   87, 3300,   87,   87, 3286, 3294,
2737     3289,   87,   87,   87, 3303, 3301,   87,   87, 3291, 3904,
2738     3295, 3296, 3297, 3302,   87, 3304, 3305, 3306, 3904, 3309,
2739
2740       87,   87, 3307, 3308,   87, 3313, 3312,   87, 3310, 3311,
2741     3316,   87, 3301, 3904,   87,   87,   87,   87,   87, 3904,
2742     3302,   87, 3304, 3305, 3306,   87, 3309,   87,   87, 3307,
2743     3308, 3314, 3313, 3312, 3315, 3310, 3311,   87,   87, 3317,
2744     3318, 3320, 3321, 3322, 3323, 3327, 3325,   87, 3319, 3324,
2745       87, 3326,   87,   87,   87, 3328, 3904, 3329, 3314, 3330,
2746     3904, 3315,   87, 3331,   87, 3332, 3317, 3318, 3320, 3321,
2747     3322, 3333, 3327, 3335, 3336, 3319,   87, 3334,   87, 3337,
2748       87,   87,   87,   87, 3329,   87, 3330, 3338,   87,   87,
2749     3331,   87, 3332, 3340, 3339,   87, 3342,   87, 3333, 3343,
2750
2751     3335, 3336, 3341, 3347, 3334,   87, 3337,   87, 3348, 3344,
2752       87, 3351, 3345, 3349, 3338,   87,   87,   87,   87,   87,
2753     3340, 3339, 3350, 3342, 3346, 3352, 3343, 3355, 3353, 3341,
2754       87,   87, 3354, 3356,   87,   87, 3344,   87,   87, 3345,
2755     3349,   87, 3357, 3358, 3359, 3360,   87, 3362, 3361, 3350,
2756       87, 3346, 3352,   87,   87, 3353, 3366, 3367, 3363, 3354,
2757     3356, 3364, 3369,   87, 3365,   87,   87, 3368, 3904,   87,
2758     3358,   87, 3360,   87,   87, 3361,   87, 3371, 3370,   87,
2759       87, 3380, 3376,   87,   87, 3363,   87, 3372, 3364, 3369,
2760       87, 3365, 3374,   87, 3368, 3373,   87, 3375, 3377,   87,
2761
2762     3378, 3379,   87,   87, 3371, 3370, 3381, 3382, 3380, 3376,
2763     3383, 3387, 3388,   87, 3372, 3390,   87, 3384, 3389, 3385,
2764       87,   87, 3373,   87,   87, 3377, 3386, 3378, 3379, 3392,
2765       87,   87, 3393,   87, 3382,   87,   87,   87,   87,   87,
2766     3391, 3395, 3394, 3396, 3384, 3389, 3385,   87,   87, 3397,
2767     3399, 3398, 3400, 3386,   87,   87, 3392,   87, 3401, 3393,
2768       87, 3403, 3402, 3904,   87, 3405, 3410, 3391, 3395, 3394,
2769     3904, 3411,   87, 3404,   87,   87, 3397, 3399, 3398, 3400,
2770       87,   87, 3406,   87,   87, 3401,   87, 3412, 3403, 3402,
2771     3407, 3419, 3405,   87, 3408, 3413,   87, 3409,   87, 3414,
2772
2773     3404, 3415, 3416,   87, 3417, 3418,   87, 3422,   87, 3406,
2774       87, 3420,   87,   87,   87, 3421, 3423, 3407, 3428, 3904,
2775       87, 3408, 3413,   87, 3409,   87, 3414,   87, 3415, 3416,
2776     3424, 3417, 3418,   87,   87, 3425, 3426,   87, 3420, 3427,
2777     3430,   87, 3421, 3423, 3429,   87,   87, 3431,   87, 3436,
2778       87, 3432, 3435, 3433, 3904, 3434, 3437, 3424,   87, 3439,
2779       87,   87, 3425, 3426, 3904, 3438, 3427,   87,   87, 3904,
2780       87, 3429,   87,   87, 3431,   87, 3436, 3440, 3432, 3435,
2781     3433,   87, 3434, 3437, 3441, 3442,   87, 3443, 3444, 3445,
2782     3447,   87, 3438, 3446, 3455, 3449, 3448, 3904,   87,   87,
2783
2784       87,   87,   87, 3451, 3440, 3456,   87, 3452, 3458,   87,
2785       87, 3441, 3442, 3459, 3443, 3444, 3445, 3447,   87, 3450,
2786     3446,   87, 3449, 3448, 3453,   87,   87, 3454,   87,   87,
2787     3451, 3457,   87,   87, 3452, 3460, 3461, 3462, 3463,   87,
2788       87, 3464, 3465, 3471, 3466, 3467, 3450,   87,   87, 3469,
2789     3474, 3453, 3468, 3470, 3454,   87,   87,   87, 3457, 3472,
2790       87, 3476, 3460, 3461,   87,   87,   87, 3473, 3464,   87,
2791       87, 3466, 3467, 3475,   87,   87, 3469,   87, 3478, 3468,
2792     3470, 3477,   87, 3479, 3480,   87, 3472, 3482,   87,   87,
2793     3481, 3483,   87, 3485, 3473, 3484,   87, 3486, 3904,   87,
2794
2795     3475, 3487,   87, 3489,   87, 3478,   87, 3490, 3477, 3491,
2796     3479, 3480, 3488,   87,   87, 3495, 3493, 3481, 3498,   87,
2797     3492,   87, 3484,   87, 3486,   87, 3496,   87, 3487, 3499,
2798       87,   87, 3502, 3497,   87, 3494, 3491,   87, 3501, 3488,
2799       87, 3503, 3495,   87,   87,   87, 3500, 3492, 3504, 3904,
2800       87, 3904, 3505, 3496, 3506, 3513, 3499, 3508, 3507,   87,
2801     3497,   87, 3494,   87,   87, 3501, 3512, 3510, 3503, 3511,
2802     3514, 3509, 3904, 3500,   87,   87,   87, 3515,   87, 3505,
2803     3516, 3506,   87,   87, 3508, 3507,   87,   87,   87, 3518,
2804     3517, 3519, 3520, 3512, 3510, 3521, 3511,   87, 3509,   87,
2805
2806     3522,   87, 3525,   87, 3515, 3904, 3527, 3528, 3526,   87,
2807     3529,   87,   87, 3530,   87,   87, 3518, 3517,   87, 3520,
2808     3523, 3524, 3521,   87,   87, 3533, 3534, 3532, 3531,   87,
2809       87, 3535,   87, 3527, 3528, 3526,   87, 3529,   87, 3536,
2810       87, 3537, 3539,   87, 3538, 3540, 3541, 3523, 3524, 3542,
2811     3544, 3545, 3533,   87, 3532, 3531, 3543,   87,   87, 3546,
2812       87, 3547, 3548,   87,   87,   87,   87, 3549, 3537, 3539,
2813     3550, 3538,   87,   87,   87, 3551,   87,   87, 3545, 3552,
2814     3553,   87, 3554, 3543,   87, 3555, 3546,   87,   87, 3548,
2815       87, 3556, 3559,   87,   87, 3557, 3565, 3550, 3558,   87,
2816
2817       87, 3562,   87, 3560,   87, 3561,   87, 3553, 3563, 3554,
2818     3566, 3564, 3555,   87,   87,   87, 3567, 3568, 3556,   87,
2819     3569, 3575, 3557,   87,   87, 3558,   87, 3570, 3562,   87,
2820     3560, 3572, 3561, 3571,   87, 3563, 3574,   87, 3564,   87,
2821     3573,   87,   87, 3567, 3568, 3576, 3577, 3579,   87, 3582,
2822     3580, 3578,   87,   87, 3570, 3581, 3904, 3904, 3572, 3583,
2823     3571, 3585,   87, 3574,   87,   87, 3904, 3573,   87, 3586,
2824     3904, 3589,   87, 3577,   87, 3904,   87, 3580, 3578,   87,
2825     3584,   87, 3581, 3587,   87, 3588, 3583,   87, 3585, 3590,
2826       87,   87,   87,   87, 3591, 3594, 3586, 3592, 3589, 3593,
2827
2828     3595, 3904, 3599, 3606,   87, 3904,   87, 3584,   87,   87,
2829     3587, 3596, 3588,   87,   87, 3603, 3590, 3904,   87, 3598,
2830       87, 3591, 3594, 3597, 3592, 3604, 3593, 3595,   87, 3599,
2831       87, 3600, 3601, 3602, 3607,   87, 3605,   87, 3596,   87,
2832     3609,   87, 3603,   87, 3608, 3611, 3598,   87, 3610, 3612,
2833     3597,   87, 3604, 3614, 3613, 3615,   87, 3616, 3600, 3601,
2834     3602, 3607,   87, 3605,   87,   87, 3617, 3609, 3618, 3620,
2835     3625, 3608,   87, 3619,   87, 3610,   87,   87, 3628,   87,
2836     3614, 3613,   87, 3631, 3616,   87, 3621, 3622, 3623, 3624,
2837     3626, 3627, 3904, 3617, 3629,   87,   87,   87, 3632, 3633,
2838
2839     3619,   87, 3630, 3634, 3636, 3628, 3635,   87, 3904, 3639,
2840       87,   87,   87, 3638, 3640,   87,   87,   87, 3643,   87,
2841       87, 3629, 3642,   87,   87, 3632, 3633, 3637, 3644, 3630,
2842       87, 3636,   87, 3635,   87,   87,   87, 3641,   87, 3645,
2843     3638, 3640, 3648, 3647,   87, 3643, 3646, 3650, 3653, 3642,
2844     3649,   87,   87, 3651, 3637, 3644, 3652,   87,   87, 3654,
2845     3655, 3663, 3658, 3656, 3641, 3904, 3645,   87,   87, 3648,
2846     3647,   87,   87, 3646,   87,   87, 3657, 3649, 3659, 3665,
2847     3651, 3660,   87, 3652,   87, 3667,   87,   87,   87, 3658,
2848     3656,   87, 3661,   87, 3668, 3666,   87, 3662, 3664, 3670,
2849
2850       87,   87, 3669, 3657, 3671, 3659, 3665,   87, 3660, 3904,
2851       87, 3672, 3667, 3673, 3674, 3675,   87, 3676, 3677, 3679,
2852     3678, 3668, 3666, 3682,   87, 3664,   87,   87, 3681, 3669,
2853     3680, 3683,   87,   87, 3684, 3685,   87,   87, 3672,   87,
2854       87,   87, 3675, 3686, 3676,   87,   87, 3678,   87, 3687,
2855       87, 3688, 3689, 3690,   87, 3681, 3691, 3680,   87, 3692,
2856     3693,   87,   87, 3694, 3696, 3697, 3698, 3695, 3700, 3904,
2857       87,   87, 3701, 3904,   87, 3702,   87,   87,   87,   87,
2858     3690,   87,   87, 3691,   87, 3703,   87,   87, 3699,   87,
2859     3694, 3696, 3697,   87, 3695,   87,   87, 3704, 3705, 3701,
2860
2861       87, 3706, 3702, 3708, 3707, 3709, 3716, 3904, 3710, 3711,
2862     3712,   87, 3703,   87, 3713, 3699,   87,   87, 3715, 3904,
2863     3714, 3717, 3718,   87, 3704, 3705, 3904,   87,   87,   87,
2864       87, 3707, 3709,   87,   87, 3710, 3711, 3712,   87, 3721,
2865       87, 3713,   87, 3719,   87, 3715, 3720, 3714, 3717, 3718,
2866       87,   87, 3724, 3722, 3723,   87, 3725, 3904, 3726, 3727,
2867       87, 3904, 3728, 3731, 3730, 3729, 3721, 3732,   87,   87,
2868     3719, 3733,   87, 3720,   87,   87, 3734,   87, 3735, 3724,
2869     3722, 3723, 3737, 3725,   87, 3726, 3727,   87,   87, 3728,
2870     3731, 3730, 3729, 3736,   87, 3738, 3740,   87,   87, 3739,
2871
2872       87, 3741, 3742,   87, 3748,   87,   87, 3904,   87, 3737,
2873     3745, 3743, 3747, 3744,   87,   87, 3746, 3750,   87, 3749,
2874     3736, 3904, 3738, 3740,   87,   87, 3739, 3751, 3741,   87,
2875       87, 3748,   87,   87,   87, 3756,   87, 3745, 3743, 3747,
2876     3744,   87, 3752, 3746, 3750, 3753, 3749,   87, 3754, 3755,
2877       87, 3757, 3758,   87, 3751, 3759, 3761, 3762,   87, 3760,
2878       87, 3763, 3756, 3764,   87, 3767, 3770,   87,   87, 3752,
2879       87, 3772, 3753,   87, 3765, 3754, 3755, 3768, 3757, 3758,
2880     3771,   87, 3759, 3761,   87,   87, 3760,   87, 3763, 3766,
2881     3764, 3769,   87,   87, 3773,   87,   87,   87, 3772, 3774,
2882
2883     3775, 3765,   87, 3776, 3768, 3777, 3778, 3771,   87, 3779,
2884       87, 3780, 3781,   87, 3782,   87, 3766, 3786, 3769, 3904,
2885     3785,   87, 3783, 3788,   87, 3784,   87, 3775,   87,   87,
2886     3776,   87, 3777, 3778, 3787,   87, 3779, 3789, 3780, 3781,
2887       87,   87,   87, 3790,   87, 3791,   87, 3785, 3792, 3783,
2888       87, 3793, 3784, 3794, 3795, 3796, 3799, 3801, 3798,   87,
2889       87, 3787, 3797, 3904,   87,   87,   87,   87, 3800, 3802,
2890       87,   87,   87, 3803, 3804, 3792,   87,   87, 3793, 3904,
2891       87, 3795, 3796,   87, 3801, 3798, 3805, 3806, 3808, 3797,
2892     3807, 3809, 3810, 3812,   87, 3800, 3802, 3811,   87,   87,
2893
2894       87,   87, 3814,   87, 3816,   87,   87, 3904, 3813, 3817,
2895       87, 3815, 3818, 3805, 3806, 3808,   87, 3807,   87,   87,
2896     3812,   87,   87, 3820, 3811, 3819, 3821,   87, 3825,   87,
2897     3832, 3816, 3823,   87,   87, 3813, 3817,   87, 3815, 3818,
2898       87, 3822, 3824, 3829, 3826, 3830, 3838, 3827, 3904,   87,
2899     3820,   87, 3819, 3821,   87,   87,   87, 3828, 3831, 3823,
2900     3833,   87,   87, 3839,   87,   87, 3834, 3835, 3822, 3824,
2901     3829, 3826,   87, 3836, 3827, 3837, 3840, 3841,   87, 3845,
2902       87, 3848, 3842,   87, 3828, 3831,   87, 3833,   87,   87,
2903       87,   87, 3843, 3834, 3835,   87, 3851, 3844,   87,   87,
2904
2905     3836, 3853, 3837, 3840,   87,   87, 3845, 3850, 3846, 3842,
2906     3847, 3852, 3849,   87, 3854,   87,   87, 3855,   87, 3843,
2907       87,   87,   87, 3851, 3844, 3856, 3904, 3860,   87, 3859,
2908     3864,   87,   87,   87, 3850, 3846, 3861, 3847, 3852, 3849,
2909     3857, 3854, 3858,   87, 3855, 3862, 3870,   87,   87, 3865,
2910       87, 3863, 3856,   87, 3860, 3867, 3859, 3864,   87,   87,
2911     3866, 3904, 3868, 3861, 3869, 3872,   87, 3857,   87, 3858,
2912     3873, 3871, 3862, 3870,   87,   87, 3865, 3874, 3863,   87,
2913     3875,   87, 3867, 3876, 3880, 3882,   87, 3866,   87, 3868,
2914     3904, 3869,   87, 3877, 3878, 3879, 3884,   87, 3871,   87,
2915
2916     3881, 3883, 3885,   87, 3874,   87,   87, 3875,   87,   87,
2917       87, 3880,   87,   87,   87, 3888, 3889, 3886,   87, 3892,
2918     3877, 3878, 3879, 3884,   87,   87, 3887, 3881, 3883, 3885,
2919     3890, 3891, 3893, 3895,   87, 3894, 3896, 3904,   87,   87,
2920     3904,   87, 3888,   87, 3886,   87, 3892, 3897, 3898, 3899,
2921     3902, 3903, 3904, 3887, 3904,   87, 3900, 3890, 3891,   87,
2922       87, 3901, 3894,   87,   87, 3904, 3904,   87, 3904,   87,
2923       87,   87, 3904, 3904, 3897, 3898, 3899,   87,   87, 3904,
2924     3904, 3904, 3904, 3900, 3904, 3904, 3904, 3904, 3901,   48,
2925       48,   48,   48,   48,   48,   48,   53,   53,   53,   53,
2926
2927       53,   53,   53,   58,   58,   58,   58,   58,   58,   58,
2928       64,   64,   64,   64,   64,   64,   64,   69,   69,   69,
2929       69,   69,   69,   69,   75,   75,   75,   75,   75,   75,
2930       75,   81,   81,   81,   81,   81,   81,   81,   90,   90,
2931     3904,   90,   90,   90,   90,  163,  163, 3904, 3904, 3904,
2932      163,  163,  165,  165, 3904, 3904,  165, 3904,  165,  167,
2933     3904, 3904, 3904, 3904, 3904,  167,  170,  170, 3904, 3904,
2934     3904,  170,  170,  172, 3904, 3904, 3904, 3904, 3904,  172,
2935      174,  174, 3904,  174,  174,  174,  174,  177, 3904, 3904,
2936     3904, 3904, 3904,  177,  180,  180, 3904, 3904, 3904,  180,
2937
2938      180,   91,   91, 3904,   91,   91,   91,   91,   17, 3904,
2939     3904, 3904, 3904, 3904, 3904, 3904, 3904, 3904, 3904, 3904,
2940     3904, 3904, 3904, 3904, 3904, 3904, 3904, 3904, 3904, 3904,
2941     3904, 3904, 3904, 3904, 3904, 3904, 3904, 3904, 3904, 3904,
2942     3904, 3904, 3904, 3904, 3904, 3904, 3904, 3904, 3904, 3904,
2943     3904, 3904, 3904, 3904, 3904, 3904, 3904, 3904, 3904, 3904,
2944     3904, 3904, 3904, 3904, 3904, 3904, 3904, 3904, 3904, 3904,
2945     3904, 3904, 3904, 3904, 3904
2946    } ;
2947
2948static const flex_int16_t yy_chk[11176] =
2949    {   0,
2950        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
2951        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
2952        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
2953        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
2954        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
2955        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
2956        1,    1,    1,    1,    1,    1,    3,    3,    3,    4,
2957        4,    4,    5,    5,    6,    6,    5,   32,    6,    7,
2958        7,    7,    7,   33,    7,    8,    8,    8,    8,   32,
2959        8,    9,    9,    9,   10,   10,   10,   19,   52,   52,
2960
2961     3912,   19,  235,    3,   32,   33,    4,   68,   68,    5,
2962       33,    6, 3156,   13,   13,   13,   13,    7,   13,   14,
2963       14,   14,   14,    8,   14,   15,   15,   15,    9,   25,
2964      235,   10,   11,   11,   11,   11,   11,   11,   12,   12,
2965       12,   12,   12,   12,   16,   16,   16,   34,   28,   85,
2966       85,   13,   11,   46, 1212,   25,   25,   14,   12,   34,
2967       39,   23,   15,   23,   23,   46,   23,  180,   28,  611,
2968       11,   28,   23,   39,   34,   28,   12,  179,   88,   11,
2969       46,   16,   88,  164,  164,   12,   30,   39,   29,  177,
2970       45,  172,   37,   73,   30,   28,   26,  611,   37,   23,
2971
2972       24,   24,   29,   26,   24,   30,   73,   26,  102,   24,
2973       26,   24,   30,   30,   29,   29,   45,   45,   24,   37,
2974       73,   30,   26,   26,   24,   93,  102,   24,   24,   29,
2975       26,   24,   30,  200,   26,  102,   24,   26,   24,   57,
2976       94,  166,   57,  306,  166,   24,   27,  225,   31,   93,
2977       27,   31,   93,   27,   95,   27,   27,  228,   31,   47,
2978       31,   47,   47,   94,   47,  200,   27,   94,   27,  170,
2979       47,   31,  306,   27,   95,   31,   35,   27,   31,  225,
2980       27,   95,   27,   27,   35,   31,  101,   31,   36,  228,
2981       35,   98,   36,   27,   35,  101,   44,  169,   98,   42,
2982
2983       44,   42,   35,   35,   44,   96,   36,  167,   36,  165,
2984       42,   35,  163,  101,   36,   36,   42,   35,   98,   36,
2985       96,   35,   44,   44,   43,   42,   42,   44,   42,  109,
2986       86,   44,   96,   36,   43,   36,   38,   42,   43,   43,
2987       38,   97,  109,   42,   38,  171,  171,   43,   81,   97,
2988       38,   43,   63,   38,   63,   63,  109,   63,   99,  106,
2989       38,   43,   38,   38,  106,   43,   43,   38,   97,   76,
2990       71,   38,   71,   71,  113,   71,   74,   38,   74,   74,
2991       38,   74,   99,  113,   75,   99,  106,   38,   40,  143,
2992      143,   80,   40,   80,   80,   87,   80,   87,   87,  139,
2993
2994       87,  113,   40,   40,  100,   40,   87,   90,   71,   90,
2995       90,  114,   90,  107,   40,   40,  143,  100,   90,   40,
2996      114,  107,  103,  103,   69,  139,  139,   64,  100,   40,
2997       40,  100,   40,   41,  111,  103,   41,   59,  114,  115,
2998      107,  111,  110,   41,  100,   90,  104,   41,   41,  103,
2999      103,  110,  104,  108,  104,   41,  105,  105,  181,  181,
3000       41,  111,  115,   41,  110,  105,  115,  104,  117,  110,
3001       41,  108,  127,  104,   41,   41,  120,   58,  110,  104,
3002      118,  104,  116,  105,  105,  108,  112,  112,  119,  116,
3003      117,  119,  127,  118,  112,  117,  355,  122,  108,  127,
3004
3005      120,   53,  112,  121,  119,  119,  129,  118,  120,  116,
3006       48,  121,  119,  112,  112,  119,  123,  122,  119,  122,
3007      123,  112,  125,  126,  122,  355,  129,  120,  131,  124,
3008      121,  119,  119,  129,  124,  125,  123,  124,  128,  130,
3009      123,  132,  131,  123,  122,  128,  126,  123,  132,  125,
3010      126,  133,  128,  134,  135,  131,  124,  130,  136,   18,
3011      137,  124,  134,  123,  137,  128,  130,  136,  132,  138,
3012      137,   17,  128,    0,  133,  141,  138,  135,  133,  140,
3013      134,  135,  137,  142,  141,  136,  140,  137,  145,  148,
3014      141,  137,  144,  146,  241,  142,  138,  137,  141,  145,
3015
3016      144,  147,  141,  145,  148,  149,  140,  146,  241,  147,
3017      142,  141,  145,  151,  230,  145,  148,  141,  150,  144,
3018      146,  241,  149,    0,  151,  149,  145,  152,  153,  150,
3019      145,  149,  149,  147,  153,  152,  147,  154,  150,    0,
3020      151,  155,  156,  157,  158,  150,  230,    0,  154,  149,
3021      155,  159,  149,  160,  152,  153,  150,  156,  161,  158,
3022      159,  162,  155,    0,  154,  157,  155,    0,  155,  156,
3023      157,  158,    0,  183,  162,  160,  161,  155,  159,  168,
3024      160,  168,  168,  176,  168,  161,  182,  183,  162,  155,
3025      173,    0,  173,  173,  174,  173,  174,  174,  178,  174,
3026
3027      178,  178,  184,  178,  185,  183,  188,  176,  182,    0,
3028      176,  184,  190,  182,  183,  186,  185,  187,  189,  186,
3029      190,  192,  188,  191,  187,  194,    0,  193,  195,  184,
3030      233,  185,  174,  188,  193,  191,  187,  189,  197,  190,
3031      197,  194,  186,  192,  187,  189,  195,  196,  192,  198,
3032      191,  187,  194,  196,  193,  195,  199,  204,  199,  206,
3033      201,  205,  233,  203,  201,  197,  205,  206, 1035,  809,
3034      207,  198,  204,  208,  211,  236,  198,    0,  218,  196,
3035      196,  201,  199,  199,  204,  199,  206,  218,  201,  203,
3036      203,  201,  207,  205,  210,  208,  209,  207,  809, 1035,
3037
3038      208,  210,  211,  215,  212,  218,  211,  236,  201,  202,
3039      216,  209,  213,  214,  202,    0,  215,  224,    0,  202,
3040      219,  210,  216,  209,  214,  202,  202,  212,  224,  211,
3041      215,  212,  202,  220,  213,  217,  202,  216,  217,  213,
3042      214,  202,  219,    0,  224,  222,  202,  219,  226,  223,
3043      217,  229,  202,  202,    0,  220,  223,  227,  229,  231,
3044      220,  237,  217,  250,    0,  217,  221,  222,  227,  221,
3045      238,  221,  222,  231,  226,  226,  223,  234,  229,  240,
3046      232,  250,  242,  221,  237,  221,  232,  243,  237,  227,
3047      250,  231,  221,  221,  243,  227,  221,  244,  221,  234,
3048
3049      231,  239,  238,  242,  234,  248,  239,  232,  245,  242,
3050      221,  240,  221,  246,  243,  247,  246,  245,  244,  248,
3051      252,  249,  245,  253,  244,  251,  239,  255,  239,  256,
3052      253,  252,  248,  239,  247,  245,  254,  251,  256,  257,
3053      246,  254,  247,  249,  245,  259,  258,  252,  249,  255,
3054      253,  258,  251,  261,  255,  262,  256,  263,  260,  260,
3055        0,  264,  257,  268,  263,  265,  257,  260,  254,  261,
3056      266,  267,  269,  258,  270,  271,  273,  259,  266,  272,
3057      261,  275,  270,  264,  263,  260,  260,  262,  264,  273,
3058      265,  267,  265,  274,  272,  268,  277,  266,  267,  276,
3059
3060      278,  270,  281,  273,  269,  279,  272,  271,  275,  279,
3061        0,  280,  286,  283,  284,  282,  285,  278,  280,  274,
3062      274,  283,  276,  285,  281,  278,  288,  278,  277,  281,
3063      282,  276,  279,  284,  286,  289,  290,  291,  280,  286,
3064      283,  284,  282,  285,  278,  293,  287,  292,  288,  276,
3065      287,  294,  295,  288,  297,  303,  299,  296,  298,  291,
3066      300,  301,  300,  294,  291,  295,  296,  289,  290,  292,
3067      302,  298,  297,  287,  292,  299,  304,  293,  294,  295,
3068      303,  297,  303,  299,  296,  298,  305,  300,  308,  307,
3069        0,  309,    0,  301,  302,  310,  312,  302,  307,    0,
3070
3071        0,  313,  304,  304,  318,  311,  310,  314,  315,  320,
3072      322,  324,  305,  305,  308,  308,  307,  309,  309,  311,
3073      312,  316,  310,  312,  313,  314,  315,  319,  313,  316,
3074      321,  311,  311,  323,  314,  315,  318,  324,  324,  325,
3075      319,  320,  322,  326,  327,  328,  311,  332,  316,    0,
3076      323,  331,  328,  329,  319,  321,  323,  321,  330,  333,
3077      323,  325,  329,    0,  330,  331,  325,  335,  327,  342,
3078      334,  375,  328,  332,  332,  326,  327,  323,  331,  334,
3079      329,  336,  337,  333,  338,  330,  333,  339,  340,  336,
3080      335,  337,  341,  343,  335,  327,  339,  334,  344,    0,
3081
3082      346,  342,  348,  375,  350,  340,    0,  341,  336,  337,
3083      338,  338,  340,  344,  339,  340,  351,  343,  346,  341,
3084      343,    0,  380,  357,  348,  344,  347,  346,  350,  348,
3085      351,  350,  340,  345,  356,  347,  352,  354,  345,  353,
3086      353,  345,  354,  351,    0,  359,  345,  345,  345,  345,
3087      357,  352,    0,  347,  380,    0,  345,  359,  356,  360,
3088      345,  356,  362,  352,  353,  345,  353,  353,  345,  354,
3089      364,  360,  359,  345,  345,  345,  345,  349,  358,  349,
3090      362,  358,  363,    0,  361,  361,  360,  366,  358,  362,
3091      367,  349,  349,  349,  361,  349,  368,  364,  368,  365,
3092
3093      363,  349,  370,  369,  349,  358,  349,    0,  358,  363,
3094      371,  361,  361,  366,  366,  369,  367,  367,  349,  349,
3095      349,  365,  349,  368,  370,  371,  365,  372,  374,  370,
3096      369,  373,  378,    0,  376,  372,  376,  371,  373,  378,
3097      374,    0,  379,  381,  382,  376,    0,    0,  385,  383,
3098      382,  383,  376,  389,  372,  374,  387, 1199,  373,  378,
3099      376,  376,  384,  376,  379,  381,  382,  388,  386,  379,
3100      381,  382,  376,  383,  387,  384,  383,  382,  383,  376,
3101      385,  386,  390,  387,  386,  389,  386, 1199,  391,  384,
3102      394,    0,  386,  388,  388,  386,  395,  394,  405,  406,
3103
3104      396,    0,    0,  405,    0,  400,    0,  397,  386,  390,
3105      391,  386,  396,  386,  395,  391,  392,  394,  392,  397,
3106      395,  400,  398,  395,  392,  401,    0,  396,  392,  400,
3107      405,  406,  400,  392,  397,  398,  392,    0,  401,    0,
3108      404,  395,  392,  392,  403,  392,    0,  407,  400,  398,
3109      410,  392,  401,  408,  407,  392,  403,  413,  404,  408,
3110      392,  409,  410,  392,  393,  411,  393,  404,  407,  409,
3111      412,  403,  415,  415,  407,  426,  414,  410,  412,  393,
3112      408,  407,  393,  411,  393,  414,  393,  418,  409,  413,
3113      393,  393,  411,  393,  416,  417,  418,  412,    0,  415,
3114
3115        0,  416,  433,  414,  433,  420,  393,  426,  417,  393,
3116      421,  393,  420,  393,  402,  402,  419,  421,  422,  418,
3117      427,  416,  417,  418,  402,  402,  402,  402,  402,  433,
3118      422,  402,  420,  428,  419,  423,  425,  421,  419,  402,
3119      428,  402,  402,  419,  424,  422,  427,  427,  425,  429,
3120      430,  402,  402,  402,  402,  402,  431,  423,  402,  430,
3121      428,  419,  423,  425,  429,  432,  424,  434,  435,  431,
3122        0,  424,  436,  436,    0,  437,  429,  430,  434,  438,
3123      439,  440,  437,  431,  442,  441,  438,    0,  443,    0,
3124      435,  439,  440,  445,  434,  435,  447,  432,  441,  444,
3125
3126      444,  436,  437,  455,    0,    0,  438,  439,  440,  442,
3127      443,  442,  441,  446,  450,  443,  445,  444,  449,  452,
3128      445,  448,  447,  447,  444,  450,  444,  444,  446,  448,
3129      449,  457,  452,  451,  456,  455,  446,  453,  453,  458,
3130      446,  450,  451,  460,  444,  449,  452,  463,  448,  453,
3131      459,  453,  456,  457,  469,  446,  453,  461,  457,  462,
3132      451,  456,  458,  461,  453,  453,  458,  465,  459,  464,
3133      463,  467,    0,  473,  463,  460,  453,  459,  453,  454,
3134      462,  469,  470,  466,  461,  468,  462,  454,  454,  465,
3135      466,  454,  454,  464,  465,  454,  464,  467,  467,  468,
3136
3137      472,  454,  471,  474,  470,  473,  454,  477,  475,  470,
3138      466,  476,  468,  477,  454,  454,  471,  478,  454,  454,
3139      479,  481,  454,  476,  480,  474,  472,  472,  483,  471,
3140      474,  475,  480,  482,  477,  475,  481,  483,  476,  478,
3141      482,  484,  479,  485,  478,    0,  486,  479,  481,  487,
3142      480,  480,  486,  488,  489,  483,  484,  490,    0,  480,
3143      482,  491,  497,  492,    0,  494,    0,  485,  484,  495,
3144      485,  487,  490,  486,  495,  488,  487,  489,  498,  501,
3145      488,  489,  503,  493,  490,  492,  505,  491,  491,  493,
3146      492,  494,  494,  500,  497,  502,  495,  504,  501,  500,
3147
3148      503,  502,  507,  504,  498,  498,  501,  506,  505,  503,
3149      493,  517,  510,  505,  506,  512,  509,  507,  509,  511,
3150      500,  510,  502,  513,  504,  509,  511,  514,  516,  507,
3151      515,  518,    0,  517,  506,  523,  513,  519,  517,  510,
3152      519,  520,  521,  509,  518,  509,  511,  512,  515,  522,
3153      513,  524,  527,  523,  526,  521,  519,  515,  518,  514,
3154      516,  522,  523,  525,  519,  520,  528,  519,  520,  521,
3155      525,    0,  529,  532,  531,  527,  522,  530,  526,  528,
3156      531,  526,  530,  524,  527,  533,  534,  536,    0,    0,
3157      525,  535,    0,  528,  529,  533,  532,  539,  538,  529,
3158
3159      532,  531,  527,  535,  530,  537,  538,  544,  534,  536,
3160      542,  539,  533,  534,  536,  543,  537,  542,  535,  544,
3161      545,  543,  546,  547,  539,  538,  569,    0,  548,  580,
3162      546,  569,  537,  540,  544,    0,  574,  542,  540,  548,
3163      540,  549,  543,  545,  551,  547,  540,  545,  540,  546,
3164      547,  540,  540,  569,  552,  548,  551,  574,  540,  540,
3165      540,  580,  550,  574,  549,  540,  550,  540,  549,  553,
3166      554,  551,  553,  540,  552,  540,  552,  555,  540,  540,
3167      553,  552,    0,  556,  550,  540,  559,  555,  554,  550,
3168      559,  557,  558,  550,  561,  556,  553,  554,  560,  553,
3169
3170      563,  552,  557,  564,  562,  560,  562,  565,  585,  555,
3171      556,  566,    0,  559,  555,  564,  558,  567,  557,  558,
3172      561,  561,  565,  566,  568,  560,  563,  563,  570,  571,
3173      564,  562,  568,  572,  565,  577,  573,  576,  566,  581,
3174      585,  572,  578,  567,  567,  579,  582,  571,  573,  583,
3175      570,  568,  576,  577,  581,  570,  571,  583,  582,  586,
3176      572,  584,  577,  573,  576,  578,  581,  588,  579,  578,
3177      587,  586,  579,  582,  584,  589,  583,  591,  590,  587,
3178      591,  592,  593,  594,  595,  596,  586,  597,  584,  589,
3179      588,  598,    0,    0,  588,  601,  599,  587,  603,  595,
3180
3181      592,  600,  589,  590,  591,  590,  598,  601,  592,  593,
3182      602,  595,  604,  612,  600,  594,  606,  596,  598,  597,
3183      599,  603,  601,  599,  605,  603,  608,  606,  600,  609,
3184      607,  605,  602,  610,  605,  607,  604,  602,  613,  604,
3185      608,  614,  605,  606,  615,  612,  617,  616,  618,    0,
3186      620,  605,  616,  608,  618,  617,  609,  619,  605,  621,
3187      610,  605,  607,  622,  623,  613,  629,  625,  614,  624,
3188      642,  622,  619,  617,  620,  618,  615,  620,  626,  616,
3189      627,  621,  626,  623,  619,  628,  621,  631,  627,  625,
3190      622,  623,  630,  624,  625,  632,  624,  636,  629,  630,
3191
3192      634,  633,  642,  635,  632,  626,    0,  627,  628,  636,
3193      631,  637,  628,  634,  631,  638,    0,  637,  639,  630,
3194      640,  643,  632,  633,  636,  641,  639,  634,  633,  635,
3195      635,  640,  641,  644,  650,  646,  669,  638,  637,  647,
3196      649,  648,  638,  643,  646,  639,  644,  640,  643,  645,
3197      648,  649,  641,  651,  645,  655,  650,  645,  645,  652,
3198      644,  650,  646,  669,  657,  647,  647,  649,  648,    0,
3199      653,  656,  652,  645,    0,  651,  645,  658,    0,  661,
3200      651,  645,  653,  660,  645,  645,  652,  655,  657,  656,
3201      662,  657,    0,  659,  665,  666,  663,  653,  656,  658,
3202
3203      658,  659,  664,  661,  658,  660,  661,  663,  667,  666,
3204      660,  664,  662,  670,  665,  672,  671,  662,  668,  674,
3205      659,  665,  666,  663,  671,  668,  658,  673,  675,  664,
3206      667,  670,  674,  673,  676,  667,  677,  672,  678,  675,
3207      670,  679,  672,  671,  690,  668,  674,  680,  681,  681,
3208        0,  677,  676,  682,  673,  675,  684,  683,  685,  686,
3209      687,  676,  679,  677,  682,  692,  688,  685,  679,  691,
3210      678,  680,  686,  687,  680,  693,  690,  681,  684,  695,
3211      682,  683,  689,  684,  683,  685,  686,  687,  688,  696,
3212      689,  691,  694,  688,  694,  701,  691,  692,  697,  693,
3213
3214      696,  695,  693,  697,  698,    0,  695,  699,  703,  689,
3215      700,  704,  702,    0,  706,  705,  696,  700,  698,  694,
3216      702,  699,  705,  707,  700,  700,  703,  701,  708,  710,
3217      697,  698,  700,  704,  699,  703,  712,  700,  704,  702,
3218      706,  706,  705,  707,  700,  709,  712,  711,  708,  713,
3219      707,  700,  700,  714,  713,  708,  725,  715,  712,  715,
3220      709,  710,  711,  712,  716,  718,    0,  717,  720,  709,
3221      719,    0,  709,  712,  711,  717,  719,  720,    0,  714,
3222      714,  713,  734,  727,  715,  726,  773,  709,  725,  716,
3223      718,  716,  718,  721,  717,  720,  722,  719,  723,  728,
3224
3225      724,  727,  721,  729,  730,  722,  723,  724,  726,  731,
3226      727,  728,  726,  730,  734,  729,    0,  731,  773,  732,
3227      721,  733,  735,  722,  736,  723,  728,  724,  732,  735,
3228      729,  730,  737,  733,  738,  739,  731,  736,    0,  743,
3229      741,  739,  738,  732,  740,  742,  732,  737,  733,  735,
3230      743,  736,  740,  748,  742,  732,  744,  790,  750,  737,
3231        0,  738,  739,  741,    0,  744,  743,  741,  745,  745,
3232      746,  740,  742,  747,  749,  748,  751,  745,  746,  752,
3233      748,  747,  753,  744,  750,  750,  754,  749,  756,  790,
3234      753,  755,  752,  759,  757,  745,  745,  746,    0,  751,
3235
3236      747,  749,  754,  751,  755,  757,  752,  759,  758,  753,
3237      756,  760,  761,  754,  764,  756,  758,  762,  755,  763,
3238      759,  757,  763,  765,  766,  768,    0,  767,    0,  769,
3239      770,  760,    0,  766,  761,  758,  764,  762,  760,  761,
3240      771,  764,  769,  768,  762,  765,  763,  767,  770,  772,
3241      765,  766,  768,  774,  767,  775,  769,  770,  771,  777,
3242      776,  779,    0,  778,  772,  780,  783,  771,  782,    0,
3243      784,  781,  777,  779,  782,  774,  772,    0,  784,  775,
3244      774,  778,  775,  776,  781,  786,  777,  776,  779,  780,
3245      778,  787,  780,  783,  785,  782,  784,  784,  781,  785,
3246
3247      789,  793,  791,  797,  792,  784,  794,  786,  789,  787,
3248      791,  792,  786,  795,  796,  795,  798,  799,  787,  800,
3249      802,  794,  802,  796,  793,  801,  785,  789,  793,  791,
3250      803,  792,  813,  794,  801,  797,  799,  803,    0,  800,
3251      795,  796,  806,  810,  799,  814,  800,  802,  798,  827,
3252      813,    0,  801,  810,  806,  816,    0,  803,  804,  813,
3253      816,  804,  818,  817,  820,  804,  814,  821,  804,  806,
3254      810,    0,  814,  822,  842,  804,  804,    0,  804,  842,
3255      818,  827,  816,  804,  817,  804,  819,  820,  804,  818,
3256      817,  820,  804,  821,  821,  804,  823,  819,  824,  822,
3257
3258      822,  825,  804,  804,  826,  804,  842,  824,    0,  829,
3259        0,  826,  823,  819,  825,  830,  829,  832,  831,  834,
3260        0,  837,  834,  823,  831,  824,  832,  841,  825,  837,
3261      833,  826,  828,  828,    0,  828,  829,  830,  828,  836,
3262      835,    0,  830,  828,  832,  831,  834,  838,  837,  828,
3263      828,  841,  828,  833,  841,  843,  835,  833,  828,  828,
3264      828,  836,  828,  835,  844,  828,  836,  835,  839,  838,
3265      828,  840,  845,  840,  838,  843,  828,  828,  846,  828,
3266      839,  847,  843,  835,  845,  851,  849,  848,  853,  850,
3267      844,  844,  852,  854,    0,  839,  859,  856,  840,  845,
3268
3269      846,  854,  855,  853,  856,  846,  863,  847,  847,  848,
3270      849,  850,  851,  849,  848,  853,  850,  852,  857,  852,
3271      854,  858,  859,  859,  856,  855,  857,  860,  861,  855,
3272      862,  866,  863,  863,  865,  861,  866,  864,  867,  860,
3273      858,  868,  869,  862,  872,  857,  864,  870,  858,  865,
3274      873,  874,  870,  877,  860,  861,  879,  862,  866,  875,
3275      874,  865,  878,  868,  864,  876,  872,  875,  868,  869,
3276      867,  872,  876,  880,  881,  882,  883,  884,  874,  870,
3277      886,  885,  873,  888,  878,  877,  875,  887,  879,  878,
3278      885,  890,  876,  889,  882,  881,  887,  880,  892,  886,
3279
3280      880,  881,  882,  883,  884,  888,  891,  886,  885,  892,
3281      888,  890,  894,  893,  887,  891,  889,  895,  890,  896,
3282      889,  893,  897,  898,  900,  892,    0,  899,    0,  902,
3283      903,  904,  900,  891,  904,  895,  899,  906,  896,  894,
3284      893,  905,  907,  908,  895,    0,  896,  902,  903,  897,
3285      909,  900,  910,  905,  899,  898,  902,  903,  904,  906,
3286      907,  911,  912,  911,  906,  910,  916,  908,  905,  907,
3287      908,  913,  909,  914,  915,  918,  925,  909,  914,  910,
3288      912,  919,  917,  918,  930,  913,  921,  915,  911,  912,
3289      924,  930,  916,  916,  917,  921,  922,  920,  913,  919,
3290
3291      920,  915,  918,  925,  922,  914,  926,  927,  919,  917,
3292      928,  930,  926,  921,  929,  924,  928,  924,  931,    0,
3293      922,  932,  934,  922,  920,  931,  932,  936,  933,  927,
3294      937,  922,  939,  926,  927,  933,  929,  928,  935,  937,
3295      934,  929,  935,  938,  940,  931,  941,  942,  932,  934,
3296      936,  938,  943,  944,  936,  933,  945,  937,  942,  946,
3297      943,  941,  940,  947,  939,  935,  944,  948,  949,  952,
3298      938,  940,  954,  941,  942,  951,  947,  945,  946,  943,
3299      944,  953,  951,  945,  950,  960,  946,  952,  953,  948,
3300      947,  954,  950,  955,  948,  949,  952,  957,  956,  954,
3301
3302      955,    0,  951,  956,  961,  957,  958,  959,  953,  963,
3303      962,  950,  965,  958,  959,  964,  966,  960,  967,  965,
3304      955,    0,  968,  962,  957,  956,  973,  969,  964,  971,
3305      974,  975,  970,  958,  959,  969,  961,  962,  972,  965,
3306      970,  963,  964,  979,  972,  968,  976,  970,  966,  968,
3307      967,  971,  973,  973,  969,  977,  971,  978,  981,  970,
3308      982,  980,  974,  975,  977,  972,  983,  970,  980,  982,
3309      976,  978,  984,  976,  986,  979,  985,    0,  987,  986,
3310      983,  988,  977,  989,  978,  981,  992,  982,  980,  985,
3311      987,  985,  990,  983,  984,  991,    0,  990,  992,  984,
3312
3313      985,  993,  991,  985,  988,  987,  986,  994,  988,  989,
3314      989,  996,  997,  992,  996,  994,  985,    0,  985,  990,
3315      998, 1000,  991,  993, 1002,  997, 1001, 1004,  993, 1005,
3316     1002,  998,    0, 1001,  994, 1000, 1008, 1006,  996,  997,
3317        0, 1009,    0, 1009,  998,    0,    0,  998, 1000, 1004,
3318        0, 1002,    0, 1001, 1004, 1005, 1005, 1007,  998, 1003,
3319     1006, 1003, 1012, 1008, 1006, 1003,    0, 1003, 1009, 1007,
3320     1010, 1010, 1003, 1011, 1012,    0, 1016, 1003, 1013, 1014,
3321     1011, 1016, 1015, 1003, 1007, 1017, 1003,    0, 1003, 1012,
3322     1025, 1013, 1003, 1010, 1003, 1015, 1023, 1010, 1010, 1003,
3323
3324     1011, 1014, 1018, 1017, 1003, 1013, 1014, 1019, 1016, 1015,
3325     1020, 1021, 1017, 1022, 1024, 1018, 1034, 1025, 1023, 1019,
3326     1026, 1021, 1020, 1023, 1028, 1032, 1026, 1024, 1022, 1018,
3327     1019, 1027, 1029, 1021, 1019, 1030, 1033, 1020, 1021, 1031,
3328     1022, 1024, 1028, 1034, 1027, 1036, 1019, 1026, 1021, 1350,
3329     1350, 1028, 1041, 1042, 1029, 1037, 1030, 1032, 1027, 1029,
3330     1037, 1031, 1030, 1038, 1039,    0, 1031, 1041, 1033, 1044,
3331        0, 1038, 1054, 1039, 1043, 1042, 1045, 1036, 1350, 1041,
3332     1042, 1047, 1037,    0, 1044, 1046, 1051, 1043,    0, 1061,
3333     1038, 1039, 1040, 1048, 1051,    0, 1044, 1040, 1049, 1040,
3334
3335     1047, 1043, 1045, 1045, 1054, 1040, 1048, 1046, 1047, 1049,
3336     1040, 1040, 1046, 1051, 1050, 1052, 1061, 1040, 1040, 1040,
3337     1048, 1055, 1053, 1052, 1040, 1049, 1040, 1050, 1058, 1065,
3338     1056, 1057, 1040, 1053,    0, 1070,    0, 1040, 1040, 1058,
3339     1057, 1050, 1052, 1055, 1040, 1056, 1062, 1059, 1055, 1053,
3340     1060, 1066, 1069, 1063, 1067, 1058, 1059, 1056, 1057, 1060,
3341     1063, 1065, 1067, 1068, 1071, 1074, 1069, 1070, 1072, 1062,
3342     1075, 1076, 1077, 1062, 1059, 1066, 1072, 1060, 1066, 1069,
3343     1063, 1067, 1076, 1074, 1078, 1068, 1071, 1080, 1075, 1081,
3344     1068, 1071, 1074, 1079, 1082, 1072, 1081, 1075, 1076, 1083,
3345
3346     1085, 1079, 1078, 1084, 1077, 1086, 1087, 1082, 1088, 1080,
3347     1084, 1078, 1089, 1090, 1080, 1085, 1081, 1092, 1098, 1097,
3348     1079, 1082, 1089, 1086, 1087, 1083, 1083, 1085, 1092, 1088,
3349     1084, 1095, 1086, 1087, 1094, 1088, 1100, 1111, 1095, 1089,
3350     1096, 1097, 1096, 1099, 1092, 1090, 1097, 1094, 1101, 1100,
3351     1098, 1099, 1102, 1109, 1103, 1104, 1107, 1101, 1095, 1110,
3352     1112, 1094, 1108, 1100, 1102,    0,    0, 1096,    0, 1111,
3353     1099, 1109, 1113,    0,    0, 1101, 1103, 1104, 1107, 1102,
3354     1109, 1103, 1104, 1107, 1108, 1110, 1110, 1115, 1114, 1108,
3355     1113, 1117, 1112, 1118, 1120, 1121, 1123, 1120, 1118, 1113,
3356
3357     1114, 1115, 1117, 1122, 1124, 1125, 1126, 1121, 1127, 1123,
3358        0, 1124, 1130, 1132, 1115, 1114, 1125, 1127, 1117,    0,
3359     1120, 1120, 1121, 1123, 1120, 1118, 1126, 1122, 1128, 1129,
3360     1122, 1124, 1125, 1126, 1133, 1127, 1131, 1134, 1135,    0,
3361     1137, 1129, 1128, 1131, 1130, 1132, 1133, 1138, 1139, 1142,
3362     1140, 1135,    0,    0, 1139, 1128, 1129, 1141, 1146, 1134,
3363     1142, 1133, 1143, 1131, 1134, 1135, 1137, 1137, 1144, 1145,
3364     1149, 1138, 1140, 1146, 1138, 1139, 1142, 1140, 1148, 1141,
3365     1143, 1149, 1150, 1152, 1141, 1146, 1151, 1153,    0, 1143,
3366     1144, 1145, 1151, 1154, 1156, 1144, 1145, 1149, 1155, 1148,
3367
3368     1157, 1158, 1163, 1150, 1159, 1148, 1161, 1155, 1162, 1150,
3369     1158, 1154, 1159, 1151, 1153, 1152, 1160, 1164, 1156, 1165,
3370     1154, 1156, 1162, 1160, 1168, 1155, 1157, 1157, 1158, 1170,
3371     1161, 1159, 1166, 1161, 1163, 1162, 1167, 1173, 1169, 1175,
3372     1172, 1174,    0, 1160,    0, 1177, 1173, 1176, 1174, 1164,
3373        0, 1165, 1178, 1180, 1166, 1179, 1168, 1181, 1167, 1166,
3374     1169, 1170, 1172, 1167, 1173, 1169, 1181, 1172, 1174, 1176,
3375     1178, 1175, 1177, 1179, 1176, 1180, 1183, 1182, 1184, 1178,
3376     1180, 1185, 1179, 1187, 1181, 1182, 1188, 1186, 1189, 1190,
3377     1191, 1194, 1187,    0,    0,    0, 1189, 1185, 1193, 1192,
3378
3379     1183, 1188, 1184, 1183, 1182, 1184, 1196,    0, 1185, 1186,
3380     1187, 1192, 1197, 1188, 1186, 1189, 1195, 1201, 1194, 1196,
3381     1193, 1190, 1191, 1198, 1195, 1193, 1192, 1197, 1200, 1203,
3382     1202, 1203, 1198, 1196, 1205, 1201, 1206, 1200, 1202, 1197,
3383     1207, 1208, 1205, 1195, 1201, 1211, 1213, 1209, 1210, 1215,
3384     1198, 1221, 1211, 1214, 1206, 1200, 1203, 1202, 1219, 1213,
3385     1208, 1205, 1216, 1206, 1215, 1214, 1218, 1207, 1208, 1209,
3386     1210, 1222, 1211, 1213, 1209, 1210, 1215, 1217, 1218, 1220,
3387     1214, 1223, 1224, 1221, 1216, 1219, 1220, 1225, 1226, 1216,
3388     1228, 1227, 1229, 1218, 1224, 1217,    0,    0, 1225, 1231,
3389
3390     1223, 1232, 1239, 1222, 1217, 1229, 1220, 1230, 1223, 1224,
3391     1226, 1234, 1228, 1232, 1225, 1226, 1227, 1228, 1227, 1229,
3392     1230, 1231, 1233, 1235, 1236, 1237, 1231, 1240, 1232, 1239,
3393     1233,    0, 1241, 1237, 1230, 1234, 1236, 1243, 1234, 1242,
3394     1240, 1244, 1245, 1235, 1249,    0, 1243, 1250,    0, 1233,
3395     1235, 1236, 1237, 1244, 1240, 1241,    0, 1242, 1246, 1241,
3396     1251, 1247, 1252, 1245, 1243, 1246, 1242, 1249, 1244, 1245,
3397     1247, 1249, 1247, 1250, 1250, 1247, 1253, 1254, 1263, 1260,
3398     1258, 1255, 1251, 1247, 1256, 1246, 1257, 1251, 1247, 1252,
3399     1254, 1289, 1256, 1269, 1264, 1257, 1253, 1247, 1258, 1247,
3400
3401     1262, 1260, 1247, 1253, 1254, 1255, 1260, 1258, 1255, 1261,
3402     1263, 1256, 1265, 1257, 1266, 1262, 1264, 1261, 1267,    0,
3403     1269, 1264, 1270, 1289, 1271, 1265, 1267, 1262, 1272, 1274,
3404     1266, 1273, 1275,    0,    0, 1272, 1261,    0,    0, 1265,
3405     1290, 1266, 1276,    0, 1270, 1267, 1271, 1290, 1277, 1270,
3406     1275, 1271, 1274, 1273, 1276, 1272, 1274, 1278, 1273, 1275,
3407     1277, 1279, 1280, 1281, 1282, 1278, 1284, 1290, 1283, 1276,
3408     1279, 1285, 1284, 1286, 1280, 1277, 1283,    0,    0, 1282,
3409     1285,    0,    0, 1281, 1278, 1279, 1288, 1287, 1279, 1280,
3410     1281, 1282, 1292, 1284, 1286, 1283, 1291, 1279, 1285, 1287,
3411
3412     1286, 1294, 1288, 1291, 1293, 1295, 1297, 1296, 1297, 1294,
3413     1292, 1299, 1298, 1288, 1287, 1296, 1293, 1302, 1300, 1292,
3414     1295,    0,    0, 1291, 1298, 1300, 1303, 1304, 1294, 1305,
3415     1306, 1293, 1295, 1297, 1296, 1307, 1308, 1306, 1303, 1298,
3416     1304, 1313, 1310, 1299, 1309, 1300, 1307, 1310, 1305, 1302,
3417     1314, 1312, 1311, 1303, 1304, 1313, 1305, 1306, 1308, 1309,
3418     1311, 1318, 1307, 1308, 1312, 1323,    0, 1316, 1313, 1319,
3419        0, 1309, 1317, 1322, 1310,    0, 1314, 1314, 1312, 1311,
3420     1315, 1316, 1320, 1324, 1315, 1321,    0, 1315, 1315, 1332,
3421     1317, 1322, 1315, 1318, 1316, 1319, 1319, 1323, 1315, 1317,
3422
3423     1322, 1325, 1315, 1333, 1320, 1324, 1315, 1315, 1321, 1320,
3424     1324, 1315, 1321, 1326, 1315, 1315, 1327,    0, 1328, 1315,
3425     1330, 1332, 1327, 1325, 1329, 1315, 1329, 1330, 1325, 1315,
3426     1334, 1335, 1331, 1338, 1337, 1333, 1340, 1342, 1380, 1326,
3427     1326, 1331,    0, 1327, 1328, 1328, 1338, 1330, 1329, 1335,
3428     1341, 1329, 1343, 1329, 1334, 1336, 1337, 1334, 1335, 1331,
3429     1338, 1337, 1336, 1339, 1344, 1380, 1345,    0, 1340, 1342,
3430     1347, 1341, 1339, 1348, 1343, 1353,    0, 1341,    0, 1343,
3431     1345, 1349, 1336, 1354,    0,    0, 1348, 1344, 1351, 1355,
3432     1339, 1344, 1347, 1345, 1346, 1354, 1355, 1347, 1353, 1346,
3433
3434     1348, 1346, 1353, 1346, 1351, 1346, 1357, 1349, 1349, 1356,
3435     1354, 1359, 1346, 1360, 1358, 1351, 1355, 1361, 1356, 1358,
3436     1362, 1346, 1361, 1364, 1357, 1368, 1346, 1369, 1346, 1359,
3437     1346, 1360, 1346, 1357, 1370, 1363, 1356, 1365, 1359, 1367,
3438     1360, 1364, 1362, 1366, 1361, 1365, 1358, 1362, 1363, 1370,
3439     1364, 1366, 1367, 1369, 1369, 1371, 1372, 1368, 1373, 1374,
3440     1375, 1370, 1363, 1378, 1365, 1378, 1367, 1377, 1376, 1372,
3441     1366, 1379, 1374, 1382, 1371, 1383, 1377, 1381, 1375,    0,
3442     1373, 1384, 1371, 1372, 1390, 1373, 1374, 1375, 1376, 1381,
3443     1378, 1386, 1387, 1379, 1377, 1376, 1392, 1383, 1379, 1388,
3444
3445     1382, 1393, 1383, 1389, 1381, 1391, 1384, 1388, 1384, 1394,
3446     1395, 1390, 1391, 1398, 1387, 1386, 1395, 1399, 1386, 1387,
3447     1403, 1389, 1401, 1392, 1399,    0, 1388, 1393, 1393, 1396,
3448     1389, 1394, 1391, 1397, 1402, 1396, 1394, 1395, 1400, 1397,
3449     1398, 1402, 1404, 1406, 1399, 1405, 1401, 1409, 1400, 1401,
3450     1407, 1412, 1403, 1411, 1410, 1426, 1396, 1414, 1427, 1407,
3451     1397, 1402, 1413, 1405, 1404, 1400, 1410, 1411, 1406, 1404,
3452     1406, 1409, 1405, 1412, 1409, 1413, 1415, 1407, 1412, 1414,
3453     1411, 1410, 1416, 1417, 1414, 1419, 1418, 1426, 1421, 1413,
3454     1427,    0, 1420,    0,    0, 1415, 1422, 1421, 1423, 1428,
3455
3456     1429, 1430, 1424, 1415, 1416,    0,    0, 1417, 1418, 1416,
3457     1417, 1419, 1419, 1418, 1420, 1421, 1424, 1422, 1423, 1420,
3458     1431, 1428, 1429, 1422, 1432, 1423, 1428, 1429, 1433, 1424,
3459     1434, 1438, 1432, 1430, 1435, 1436, 1439, 1440, 1431, 1442,
3460     1441, 1435, 1436, 1444, 1433, 1439, 1442, 1431, 1445, 1446,
3461     1449, 1432, 1441, 1438, 1440, 1433, 1443, 1434, 1438, 1453,
3462     1443, 1435, 1436, 1439, 1440, 1447, 1442, 1441, 1452,    0,
3463     1446, 1450, 1451, 1455, 1456, 1444, 1446, 1450, 1451, 1454,
3464     1445, 1447, 1449, 1443, 1450, 1451, 1454, 1456, 1455, 1458,
3465     1452, 1453, 1447, 1457,    0, 1452, 1459, 1462, 1450, 1451,
3466
3467     1455, 1456, 1457, 1459, 1450, 1451, 1454, 1460, 1461, 1460,
3468     1464, 1466, 1463, 1469, 1465, 1458, 1458, 1461, 1465, 1462,
3469     1457, 1463, 1468, 1459, 1462, 1473, 1469, 1471, 1470, 1474,
3470     1468, 1475, 1471, 1466, 1460, 1461, 1472, 1464, 1466, 1463,
3471     1469, 1465, 1470, 1473, 1475, 1472, 1480, 1479, 1474, 1468,
3472     1476,    0, 1473, 1483, 1477, 1470, 1474, 1477, 1475, 1471,
3473     1485, 1478, 1476, 1472, 1478, 1479, 1477, 1481,    0, 1484,
3474     1486, 1480,    0, 1480, 1479, 1486, 1485, 1476, 1487, 1490,
3475     1481, 1477,    0, 1478, 1477, 1483, 1487, 1485, 1478, 1488,
3476     1488, 1478, 1484, 1491, 1481, 1489, 1484, 1492, 1493, 1495,
3477
3478     1498, 1490, 1486, 1494, 1489, 1487, 1490, 1493, 1499, 1502,
3479     1494, 1496, 1505, 1498, 1500, 1491, 1488, 1499, 1496, 1492,
3480     1491, 1495, 1489, 1500, 1492, 1493, 1495, 1498, 1501, 1504,
3481     1494, 1503, 1502, 1506, 1507, 1499, 1502, 1504, 1496, 1508,
3482     1503, 1500, 1513, 1515, 1505, 1507, 1509, 1508, 1506, 1512,
3483     1510, 1511, 1514,    0, 1501, 1501, 1504, 1512, 1503, 1509,
3484     1506, 1507, 1510, 1511, 1513, 1515, 1508, 1519, 1517, 1513,
3485     1515, 1516, 1514, 1509, 1520, 1521, 1512, 1510, 1511, 1514,
3486     1516, 1517, 1518, 1523, 1527, 1519, 1522, 1521, 1518, 1524,
3487     1523, 1525, 1526, 1528, 1519, 1517, 1534, 1527, 1516, 1529,
3488
3489     1520, 1520, 1521, 1531, 1522, 1535, 1530, 1533, 1536, 1518,
3490     1523, 1527, 1532, 1522, 1531, 1524, 1524, 1537, 1532, 1528,
3491     1528, 1540, 1541, 1525, 1526,    0, 1529, 1530, 1534, 1533,
3492     1531, 1538, 1543, 1530, 1533, 1542, 1544, 1535, 1548, 1532,
3493     1536, 1543, 1545, 1537, 1537, 1541, 1590, 1547, 1540, 1541,
3494     1538, 1544, 1538, 1542, 1546, 1545, 1550, 1538, 1538, 1543,
3495     1551, 1549, 1542, 1544, 1548, 1548, 1546, 1547, 1549, 1545,
3496     1553, 1552, 1556, 1590, 1547, 1550, 1558, 1538, 1553, 1538,
3497     1554, 1546, 1551, 1550, 1552, 1554, 1555, 1551, 1549, 1557,
3498     1561, 1555, 1559, 1560,    0, 1556, 1557, 1553, 1552, 1556,
3499
3500     1559, 1560, 1558, 1558, 1562, 1563, 1565, 1564, 1561, 1566,
3501     1572, 1570, 1554, 1563, 1564, 1565, 1557, 1561, 1555, 1559,
3502     1560, 1567, 1569, 1570, 1571, 1571, 1562, 1568, 1575, 1569,
3503        0, 1562, 1563, 1565, 1564, 1574, 1568, 1573, 1570, 1576,
3504     1577, 1566, 1572, 1567, 1578, 1573, 1582, 1576, 1567, 1569,
3505     1585, 1571, 1578, 1579, 1568, 1580, 1574, 1581, 1577, 1582,
3506     1575, 1579, 1574, 1580, 1573, 1581, 1576, 1577, 1583, 1584,
3507     1586, 1578, 1589, 1582, 1583, 1587, 1585, 1585, 1588, 1591,
3508     1579, 1584, 1580, 1587, 1581, 1592, 1588, 1589, 1593, 1594,
3509     1596,    0, 1595,    0, 1586, 1583, 1584, 1586, 1601, 1589,
3510
3511     1597, 1600, 1587, 1594, 1595, 1588, 1591, 1592, 1596, 1598,
3512     1600, 1593, 1592, 1598, 1597, 1593, 1594, 1596, 1603, 1595,
3513     1602, 1605, 1601, 1606, 1604, 1601, 1598, 1597, 1600, 1608,
3514     1603, 1604, 1605, 1607, 1598, 1611, 1598, 1609, 1610, 1613,
3515     1598, 1612, 1602,    0, 1619, 1603, 1614, 1602, 1605, 1609,
3516     1606, 1604, 1610, 1598, 1617, 1607, 1620, 1624, 1628,    0,
3517     1607, 1608, 1613, 1612, 1609, 1610, 1613, 1611, 1612, 1614,
3518     1615, 1616, 1617, 1614, 1626, 1618, 1619, 1615, 1622, 1625,
3519     1616, 1617, 1618, 1620, 1627, 1625, 1629, 1622, 1631, 1624,
3520     1628, 1634, 1633, 1629,    0,    0, 1626, 1615, 1616, 1642,
3521
3522     1639, 1626, 1618, 1635,    0, 1622, 1625, 1644,    0, 1636,
3523     1627, 1627, 1637, 1629, 1635, 1631, 1633, 1642, 1634, 1633,
3524     1636, 1650, 1640, 1637, 1639, 1641, 1642, 1639, 1640, 1645,
3525     1635, 1643, 1641, 1644, 1644, 1648, 1636, 1646, 1643, 1637,
3526     1647, 1645, 1649, 1646, 1651, 1652,    0,    0, 1647, 1640,
3527     1653,    0, 1641, 1650, 1654, 1649, 1645, 1648, 1643, 1653,
3528     1657, 1656, 1648, 1652, 1646, 1658, 1654, 1647, 1656, 1649,
3529     1651, 1651, 1652, 1655, 1659, 1655, 1660, 1653, 1658, 1661,
3530     1662, 1654, 1663, 1659, 1665, 1666, 1657, 1657, 1656, 1664,
3531     1666, 1661, 1658, 1673, 1667, 1669, 1664, 1668, 1660,    0,
3532
3533     1655, 1659, 1667, 1660, 1671, 1663, 1661, 1662, 1675, 1663,
3534     1665, 1665, 1666, 1668, 1674, 1670, 1664, 1678, 1669, 1674,
3535     1673, 1667, 1669, 1670, 1668, 1676, 1671, 1677, 1678, 1679,
3536     1680, 1671, 1675, 1681, 1681, 1675, 1685, 1682, 1679, 1676,
3537     1684, 1681, 1670, 1680, 1678, 1683, 1674, 1683, 1686, 1677,
3538     1682, 1688, 1676, 1690, 1677, 1692, 1679, 1680, 1684, 1687,
3539     1681, 1681, 1685, 1685, 1682, 1693, 1687, 1684, 1694, 1689,
3540     1686, 1691, 1683, 1688, 1695, 1686, 1689, 1690, 1688, 1691,
3541     1690, 1695, 1692, 1693, 1696, 1697, 1687, 1698, 1701, 1700,
3542     1694, 1703, 1693, 1699,    0, 1694, 1689, 1704, 1691,    0,
3543
3544     1699, 1695, 1708, 1707, 1703, 1705, 1706, 1697, 1712, 1696,
3545     1701, 1696, 1697, 1705, 1706, 1701, 1710, 1717, 1703, 1698,
3546     1699, 1700, 1713, 1708, 1704, 1707, 1714, 1715, 1711, 1708,
3547     1707, 1711, 1705, 1706, 1712, 1712, 1715, 1718, 1710, 1714,
3548     1716, 1717, 1719, 1710, 1717, 1720, 1723,    0, 1713, 1713,
3549     1721, 1719, 1716, 1714, 1715, 1711, 1722, 1721, 1725, 1722,
3550     1720, 1727, 1724, 1718, 1718, 1728, 1729, 1716, 1729, 1719,
3551     1730, 1722, 1720, 1731, 1725, 1733, 1734, 1721, 1723, 1727,
3552     1722, 1738, 1725, 1722, 1724, 1725, 1722, 1728, 1727, 1724,
3553     1735, 1740, 1728, 1729, 1730, 1736, 1732, 1730, 1722, 1732,
3554
3555     1731, 1725, 1737, 1739, 1748, 1740, 1741, 1733, 1734, 1743,
3556     1744, 1742, 1735, 1738, 1745, 1741, 1743, 1735, 1740, 1742,
3557     1746, 1736, 1736, 1732, 1747, 1739, 1748, 1749, 1737, 1737,
3558     1739, 1748,    0, 1741, 1744, 1750, 1743, 1744, 1742, 1750,
3559     1752, 1751, 1753, 1755, 1754, 1756, 1745, 1757, 1759,    0,
3560     1755, 1758, 1746, 1754, 1764, 1757, 1747, 1756, 1758, 1749,
3561     1760, 1759, 1750, 1751, 1753, 1765, 1761, 1752, 1751, 1753,
3562     1755, 1754, 1756, 1760, 1757, 1759, 1762, 1764, 1758, 1761,
3563     1763, 1764, 1763, 1766, 1767, 1762, 1769, 1760, 1771, 1773,
3564     1765, 1766, 1765, 1761, 1770, 1772, 1773, 1774, 1775, 1776,
3565
3566        0, 1769, 1771, 1762, 1767, 1775, 1781, 1763, 1774, 1770,
3567     1766, 1767, 1776, 1769, 1777, 1771, 1773, 1778, 1779, 1784,
3568     1783, 1770, 1782, 1786, 1774, 1775, 1776, 1772, 1785, 1782,
3569        0, 1801, 1777, 1781, 1784, 1786, 1779, 1788, 1777, 1787,
3570     1788, 1777, 1783, 1778, 1778, 1779, 1784, 1783, 1789, 1782,
3571     1786, 1790, 1787, 1791, 1785, 1785, 1792, 1789, 1801, 1777,
3572     1794, 1799, 1800, 1799, 1788, 1791, 1787, 1793, 1802, 1790,
3573     1793, 1794, 1796, 1798,    0, 1789, 1792, 1796, 1790, 1805,
3574     1791, 1803, 1798, 1792, 1796, 1793, 1800, 1794, 1799, 1800,
3575     1806, 1807, 1804, 1809, 1793, 1802, 1803, 1793, 1811, 1796,
3576
3577     1798, 1804, 1808, 1805, 1796, 1807, 1805, 1812, 1803, 1810,
3578     1808, 1813, 1815, 1812, 1816, 1809, 1814, 1806, 1807, 1804,
3579     1809, 1822, 1811, 1815, 1814, 1811, 1820, 1817, 1821, 1808,
3580     1823, 1810, 1816, 1813, 1812, 1817, 1810, 1818, 1813, 1815,
3581     1818, 1816, 1819, 1814, 1820, 1819,    0, 1825, 1822, 1824,
3582     1823, 1828, 1827, 1820, 1817, 1818, 1824, 1823, 1829, 1826,
3583     1821, 1825, 1828, 1829, 1818, 1827, 1830, 1818, 1826, 1819,
3584     1831, 1834, 1835, 1834, 1825, 1836, 1824,    0, 1828, 1827,
3585     1837, 1835, 1839, 1838, 1843, 1831, 1826, 1840, 1830, 1841,
3586     1829, 1840,    0, 1830, 1838, 1844,    0, 1831, 1834, 1835,
3587
3588     1839, 1836, 1836, 1841, 1837, 1842, 1843, 1837, 1842, 1839,
3589     1838, 1843,    0, 1840, 1840, 1841, 1841, 1845, 1840, 1846,
3590     1847, 1844, 1844, 1842, 1850, 1846, 1845, 1851, 1848, 1847,
3591     1841, 1852, 1842, 1848, 1853, 1842, 1852, 1850, 1855, 1851,
3592     1854, 1856, 1857, 1858, 1845, 1861, 1846, 1847, 1867, 1859,
3593     1856, 1850, 1860, 1854, 1851, 1864, 1853, 1862, 1852, 1865,
3594     1848, 1853, 1864, 1870,    0, 1860, 1865, 1854, 1856, 1857,
3595     1855, 1859, 1866, 1868, 1872, 1858, 1859, 1861, 1862, 1860,
3596     1867, 1878, 1864, 1869, 1862, 1866, 1865, 1868, 1874, 1869,
3597     1875, 1879, 1877, 1872, 1876, 1870, 1874, 1886, 1875, 1866,
3598
3599     1868, 1872, 1876, 1878, 1881, 1887, 1880, 1869, 1878, 1879,
3600     1869, 1877, 1882, 1885, 1883, 1874, 1869, 1875, 1879, 1877,
3601     1880, 1876, 1881, 1884, 1888, 1890, 1882, 1883, 1889, 1886,
3602     1894, 1881, 1896, 1880, 1885, 1892, 1884, 1887, 1891, 1882,
3603     1885, 1883, 1889, 1901, 1892, 1891, 1893, 1904, 1888, 1895,
3604     1884, 1888, 1890, 1897, 1893, 1889, 1898, 1894, 1897, 1899,
3605     1906, 1885, 1892, 1895, 1896, 1891, 1903, 1898, 1899, 1904,
3606     1901, 1902, 1905, 1893, 1904, 1907, 1895, 1908, 1902, 1905,
3607     1897, 1909, 1906, 1898, 1913, 1909, 1899, 1906, 1914, 1903,
3608     1911, 1917, 1915, 1903, 1916, 1908, 1918, 1907, 1902, 1905,
3609
3610     1913, 1911, 1907, 1917, 1908, 1919, 1914, 1920, 1909, 1916,
3611     1922, 1913, 1921, 1919, 1911, 1914, 1915, 1911, 1917, 1915,
3612     1921, 1916, 1920, 1918, 1923, 1924, 1926, 1925, 1911, 1927,
3613     1928, 1934, 1919, 1930, 1920, 1932,    0, 1922, 1924, 1921,
3614     1930, 1926, 1929, 1932, 1935, 1928, 1923, 1925, 1933, 1927,
3615     1938, 1923, 1924, 1926, 1925, 1933, 1927, 1928, 1929, 1935,
3616     1930, 1936, 1932, 1934, 1937, 1939, 1940, 1941, 1943, 1929,
3617     1936, 1935, 1944, 1940, 1945, 1933, 1947, 1938, 1946, 1948,
3618        0,    0, 1949, 1951,    0, 1937, 1945, 1950, 1936, 1939,
3619     1943, 1937, 1939, 1940, 1941, 1943, 1946, 1949, 1953, 1956,
3620
3621        0, 1945, 1958, 1953, 1944, 1946, 1948, 1951, 1947, 1949,
3622     1951, 1952, 1950, 1954, 1950, 1955, 1959, 1957, 1952, 1961,
3623     1958, 1956, 1954, 1960, 1955, 1953, 1956, 1965,    0, 1958,
3624     1963, 1959, 1967, 1966, 1962, 1960, 1968, 1963, 1952, 1957,
3625     1954, 1961, 1955, 1959, 1957, 1966, 1961, 1962, 1964, 1965,
3626     1960, 1978, 1962, 1971, 1965, 1964, 1969, 1963, 1972, 1967,
3627     1966, 1962, 1969, 1973, 1971, 1974, 1972,    0, 1968, 1976,
3628     1964, 1973, 1975, 1979, 1962, 1964, 1974, 1978, 1978, 1975,
3629     1971, 1980, 1964, 1969, 1977, 1972, 1977, 1982, 1981, 1987,
3630     1973, 1983, 1974,    0, 1976, 1981, 1976, 1977, 1984, 1975,
3631
3632     1979, 1985, 1989, 1986, 1984, 1992, 1988, 1985, 1980, 1986,
3633     1994, 1977, 1990, 1977, 1982, 1981, 1987, 1983, 1983, 1995,
3634     1998, 1996, 1993, 1995, 1997, 1984, 1997, 1999, 1985, 1988,
3635     1986, 1993, 2002, 1988, 1989, 2001, 1990, 1992, 2000, 1990,
3636     2003, 2005, 1994, 1996, 1998, 2000, 1995, 1998, 1996, 1993,
3637     2004, 1997, 2003, 2006, 1999, 2007, 2004, 2001, 2009, 2002,
3638     2014, 2008, 2001, 2005, 2023, 2000, 2011, 2003, 2005, 2010,
3639     2010, 2010, 2013, 2011,    0, 2006, 2010, 2004, 2012, 2013,
3640     2006, 2007, 2007, 2008, 2010, 2018, 2017, 2012, 2008, 2023,
3641     2009, 2023, 2014, 2011, 2015, 2016, 2010, 2010, 2010, 2013,
3642
3643     2024, 2015, 2016, 2010, 2020, 2012, 2017, 2018, 2022, 2020,
3644     2021, 2026, 2018, 2017, 2025, 2027, 2024, 2028, 2030, 2029,
3645     2022, 2015, 2016, 2021, 2028, 2029, 2025, 2024, 2031, 2031,
3646     2032, 2033, 2036, 2027, 2034, 2022, 2020, 2021, 2033, 2034,
3647     2035, 2025, 2027, 2026, 2028, 2030, 2029, 2037, 2041, 2042,
3648     2043, 2042, 2045, 2038, 2047, 2031, 2032, 2032, 2033, 2036,
3649     2038, 2034, 2049, 2046, 2048, 2050, 2035, 2035, 2043, 2046,
3650     2045, 2051, 2048, 2049, 2037, 2041, 2042, 2043, 2050, 2045,
3651     2038, 2052, 2053, 2054, 2055, 2058, 2047, 2052, 2057, 2049,
3652     2046, 2048, 2050, 2060, 2053, 2056, 2056, 2062, 2051, 2059,
3653
3654     2059, 2063, 2055, 2054, 2060, 2064, 2065, 2066, 2052, 2053,
3655     2054, 2055, 2058, 2065, 2057, 2057, 2067, 2068, 2071, 2072,
3656     2060,    0, 2056, 2063, 2070, 2073, 2059, 2066, 2063, 2062,
3657     2077, 2074, 2070, 2065, 2066, 2078, 2076, 2064, 2077, 2079,
3658     2080, 2075, 2068, 2076, 2068, 2083, 2072, 2073, 2067, 2074,
3659     2071, 2070, 2073, 2075, 2079, 2085, 2081, 2077, 2074, 2078,
3660     2082, 2082, 2078, 2076, 2080, 2081, 2079, 2080, 2075, 2084,
3661     2085, 2083, 2083, 2086,    0, 2089, 2088, 2087,    0, 2091,
3662     2092, 2094, 2085, 2081, 2087, 2092, 2091, 2082, 2088, 2093,
3663     2095, 2089, 2096, 2095, 2102,    0, 2103, 2097, 2089, 2100,
3664
3665     2096, 2084, 2089, 2088, 2087, 2086, 2091, 2092, 2094, 2097,
3666     2101, 2093, 2099, 2104, 2103, 2102, 2093, 2095, 2089, 2096,
3667     2099, 2102, 2100, 2103, 2097, 2105, 2100, 2106, 2107, 2108,
3668        0, 2112, 2109, 2107, 2110, 2113, 2101, 2101, 2109, 2099,
3669     2104, 2111, 2113, 2105, 2107, 2116, 2121, 2110,    0, 2111,
3670     2106,    0, 2105, 2112, 2106, 2107, 2108, 2114, 2112, 2109,
3671     2107, 2110, 2113, 2115, 2114, 2117, 2118, 2119, 2111, 2120,
3672     2115, 2122, 2123, 2121, 2117, 2126,    0, 2116, 2118, 2127,
3673     2126, 2128, 2125, 2120, 2114, 2129, 2127, 2131, 2133, 2119,
3674     2115, 2126, 2117, 2118, 2119, 2123, 2120, 2122, 2122, 2123,
3675
3676     2125, 2135, 2126, 2128, 2137, 2132, 2127, 2126, 2128, 2125,
3677     2132, 2139, 2129, 2138, 2131, 2136, 2136, 2141, 2142, 2143,
3678     2133, 2144, 2145, 2146, 2145, 2147, 2137, 2148, 2138, 2150,
3679     2147, 2137, 2141, 2135, 2143, 2151, 2154, 2132, 2149, 2155,
3680     2138, 2142, 2136, 2139, 2141, 2142, 2143, 2144, 2144, 2145,
3681     2149, 2150, 2147, 2152, 2155, 2146, 2150, 2153, 2154, 2148,
3682     2157, 2152, 2151, 2154, 2153, 2149, 2155, 2159, 2158, 2161,
3683     2167,    0, 2163, 2162, 2164, 2157, 2158, 2165, 2166, 2168,
3684     2152, 2169, 2170,    0, 2153,    0, 2171, 2157, 2169, 2159,
3685     2172, 2168, 2174, 2176, 2159, 2158, 2161, 2162, 2163, 2163,
3686
3687     2162, 2164, 2167, 2165, 2165, 2166, 2168, 2171, 2169, 2173,
3688     2174, 2177, 2172, 2171, 2170, 2176, 2179, 2172, 2180, 2174,
3689     2176, 2181, 2182,    0, 2183, 2187, 2188, 2181,    0, 2185,
3690     2173, 2186, 2190, 2191,    0, 2193, 2173, 2182, 2177, 2189,
3691     2179, 2180,    0, 2179, 2185, 2180, 2186, 2187, 2181, 2182,
3692     2183, 2183, 2187, 2188, 2190, 2191, 2185, 2189, 2186, 2190,
3693     2191, 2192, 2193, 2194, 2195, 2196, 2189, 2197, 2200, 2201,
3694     2194, 2199, 2198,    0, 2196, 2197, 2204, 2203, 2201, 2202,
3695        0,    0, 2195, 2211,    0, 2192, 2203, 2208, 2192, 2204,
3696     2194, 2195, 2196, 2199, 2197, 2198, 2201, 2202, 2199, 2198,
3697
3698     2200, 2206, 2207, 2204, 2203, 2208, 2202, 2209, 2210, 2211,
3699     2211, 2207, 2206, 2212, 2208, 2210, 2214, 2213, 2219, 2215,
3700        0,    0, 2214, 2216, 2221, 2209, 2228, 2206, 2206, 2207,
3701     2231, 2212, 2213, 2230, 2209, 2210, 2222, 2216, 2223, 2206,
3702     2212, 2215, 2224, 2214, 2213, 2219, 2215, 2222, 2221, 2223,
3703     2216, 2221, 2226, 2224, 2227, 2231, 2229, 2231, 2228, 2230,
3704     2230, 2232, 2233, 2222, 2226, 2223, 2229, 2227, 2234, 2224,
3705     2237, 2233, 2235, 2240, 2232, 2238, 2242, 2240, 2244, 2226,
3706     2243, 2227, 2241, 2229, 2247, 2245, 2249, 2246, 2232, 2233,
3707     2245, 2235, 2249, 2243, 2246, 2234, 2248, 2237, 2244, 2235,
3708
3709     2240, 2238, 2238, 2241, 2248, 2244, 2250, 2243, 2242, 2241,
3710     2247, 2247, 2245, 2249, 2246, 2251, 2252, 2253, 2254, 2254,
3711     2255, 2250, 2248, 2248, 2256,    0, 2264,    0, 2252, 2257,
3712     2251, 2248, 2253, 2250, 2257, 2258, 2256, 2262, 2255, 2258,
3713     2263, 2262, 2251, 2252, 2253, 2254,    0, 2255, 2259, 2259,
3714     2261, 2256, 2259, 2264, 2265, 2263, 2267, 2261,    0, 2266,
3715     2268, 2257, 2258, 2265, 2262, 2259, 2266, 2263, 2271, 2272,
3716        0, 2269, 2286, 2259, 2282, 2259, 2259, 2261, 2269, 2259,
3717     2267, 2265, 2268, 2267, 2273, 2274, 2266, 2268, 2275, 2282,
3718     2271, 2278, 2259, 2273, 2272, 2271, 2272, 2280, 2269, 2281,
3719
3720     2283, 2282, 2284, 2289, 2286,    0, 2280, 2274, 2275, 2278,
3721     2284, 2273, 2274, 2285, 2287, 2275, 2291, 2281, 2278, 2290,
3722     2285, 2287, 2292, 2292, 2280, 2283, 2281, 2283, 2289, 2284,
3723     2289, 2293, 2290, 2296, 2294, 2297, 2298, 2300, 2299, 2301,
3724     2285, 2287, 2303, 2291, 2300, 2298, 2290, 2299, 2302, 2292,
3725        0, 2304, 2311, 2293, 2306, 2296, 2303, 2297, 2293, 2294,
3726     2296, 2294, 2297, 2298, 2300, 2299, 2304, 2305, 2308, 2303,
3727     2302, 2301, 2305, 2306, 2309, 2302, 2308, 2310, 2304, 2311,
3728     2312, 2306, 2313, 2315, 2314, 2316, 2317, 2309, 2319, 2318,
3729     2315, 2320, 2310,    0, 2322, 2308, 2314, 2319, 2313, 2305,
3730
3731     2324, 2309, 2325, 2323, 2310,    0, 2312, 2312, 2317, 2313,
3732     2315, 2314, 2321, 2317, 2318, 2319, 2318, 2316, 2323, 2326,
3733     2321, 2322, 2327, 2320, 2328, 2330, 2324, 2324, 2325, 2325,
3734     2323, 2321, 2331, 2328,    0, 2331, 2332, 2326, 2334, 2321,
3735     2335, 2337, 2340, 2334, 2327,    0, 2326, 2321, 2330, 2327,
3736     2331, 2328, 2330, 2336, 2333, 2335, 2337, 2340, 2339, 2331,
3737     2333, 2332, 2331, 2332, 2341, 2342, 2346, 2335, 2337, 2340,
3738     2334, 2336, 2339, 2347, 2344,    0,    0, 2345,    0,    0,
3739     2336, 2333,    0, 2374, 2346, 2339, 2341, 2342, 2344, 2345,
3740     2348, 2341, 2342, 2346, 2349, 2353, 2345, 2350, 2351, 2348,
3741
3742     2347, 2344, 2354, 2349, 2345, 2352, 2350, 2352, 2353, 2351,
3743     2374, 2355, 2357, 2358, 2354, 2360, 2345, 2348,    0, 2359,
3744     2368, 2349, 2353, 2361, 2350, 2351, 2359, 2357, 2358, 2354,
3745     2362, 2366, 2352, 2355, 2363,    0,    0, 2360, 2355, 2357,
3746     2358, 2368, 2360, 2363, 2366, 2361, 2359, 2368, 2362, 2369,
3747     2361, 2370, 2366, 2369, 2372, 2371, 2372, 2362, 2366, 2373,
3748     2376, 2363, 2375, 2370, 2371, 2377, 2380, 2378, 2379, 2381,
3749     2386, 2366, 2382,    0, 2377, 2378, 2369, 2373, 2370, 2389,
3750     2375, 2372, 2371, 2381, 2382, 2391, 2373, 2376, 2380, 2375,
3751     2383, 2379, 2377, 2380, 2378, 2379, 2381, 2383, 2385, 2382,
3752
3753     2387, 2390, 2386, 2388, 2393, 2387, 2385, 2394, 2388, 2391,
3754     2400, 2389, 2391, 2396, 2394, 2398,    0, 2383, 2401, 2398,
3755     2396, 2399, 2403, 2393, 2404, 2385, 2405, 2387, 2402, 2406,
3756     2399, 2393, 2401, 2390, 2394, 2388, 2408, 2400, 2406, 2411,
3757     2396, 2405, 2398, 2401, 2401, 2401, 2402, 2410, 2399, 2403,
3758     2404, 2404, 2409, 2405, 2410, 2402, 2406, 2412, 2413, 2401,
3759     2414, 2411, 2415, 2417, 2409, 2418, 2411,    0, 2408,    0,
3760     2401, 2420, 2418, 2419, 2410, 2422,    0, 2422, 2420, 2409,
3761        0, 2423, 2414, 2412, 2412, 2413, 2417, 2414, 2426, 2424,
3762     2417, 2430, 2418, 2424, 2415, 2425, 2419, 2427, 2420, 2432,
3763
3764     2419, 2428, 2422, 2423, 2429,    0, 2427, 2425, 2423, 2431,
3765     2426, 2429, 2428, 2430, 2431, 2426, 2424, 2433, 2430, 2435,
3766     2434, 2436, 2425, 2441, 2427, 2442, 2432, 2439, 2428, 2438,
3767     2436, 2429, 2434, 2437, 2437, 2440, 2431, 2444, 2438, 2442,
3768     2433, 2435, 2439, 2440, 2433, 2441, 2435, 2434, 2436, 2443,
3769     2441, 2446, 2442, 2447, 2439, 2448, 2438, 2449, 2443, 2456,
3770     2437, 2447, 2440, 2448, 2444, 2449, 2451, 2450, 2453, 2451,
3771     2446, 2450, 2454, 2452, 2453, 2457, 2443, 2455, 2446, 2462,
3772     2447, 2452, 2448, 2455, 2449, 2459, 2464, 2454, 2461, 2463,
3773     2466, 2456, 2462, 2451, 2450, 2453, 2465, 2459, 2467, 2454,
3774
3775     2452, 2471, 2461, 2465, 2455, 2468, 2462, 2457, 2469, 2474,
3776     2463, 2464, 2459, 2464, 2471, 2461, 2463, 2466, 2470, 2472,
3777     2467, 2470, 2469, 2465, 2473, 2467, 2476, 2475, 2471, 2468,
3778     2477, 2478, 2468, 2472, 2479, 2469, 2474, 2480, 2482,    0,
3779     2480, 2487, 2477, 2478, 2483, 2470, 2472, 2484, 2479, 2485,
3780     2473, 2473, 2475, 2476, 2475, 2488, 2489, 2477, 2478, 2484,
3781     2495, 2479, 2494, 2480, 2480, 2482, 2486, 2480, 2487, 2486,
3782     2483, 2483, 2491, 2492, 2484, 2485, 2485, 2494, 2489, 2493,
3783     2492, 2496, 2488, 2489, 2486, 2498, 2493, 2495, 2499, 2494,
3784     2497, 2500, 2501, 2486, 2491, 2503, 2486, 2499, 2497, 2491,
3785
3786     2492, 2502, 2504, 2505, 2501, 2507, 2493, 2506, 2496, 2509,
3787     2508, 2510, 2498, 2511, 2514, 2499, 2505, 2497, 2500, 2501,
3788     2508, 2511, 2503, 2502, 2510, 2506, 2513, 2515, 2502, 2504,
3789     2505, 2507, 2507, 2516, 2506, 2515, 2509, 2508, 2510, 2518,
3790     2511, 2514, 2517, 2519, 2520, 2522,    0, 2521, 2513, 2523,
3791     2525, 2517, 2530, 2513, 2515, 2524, 2529, 2523, 2532, 2534,
3792     2516, 2518, 2521, 2534, 2519, 2532, 2518, 2524, 2520, 2517,
3793     2519, 2520, 2522, 2521, 2521, 2525, 2523, 2525, 2527, 2528,
3794     2533, 2535, 2524, 2529, 2530, 2532, 2534, 2528, 2536, 2521,
3795     2527, 2537, 2533, 2535, 2538, 2539, 2540, 2541,    0, 2542,
3796
3797     2544, 2547, 2538, 2545, 2550, 2527, 2528, 2533, 2535, 2541,
3798     2545, 2536, 2546, 2542, 2547, 2536, 2550, 2539, 2537, 2540,
3799     2548, 2538, 2539, 2540, 2541, 2542, 2542, 2544, 2547, 2548,
3800     2545, 2550, 2546, 2549, 2551, 2551, 2552, 2553, 2557, 2546,
3801     2542, 2554, 2549,    0, 2558,    0,    0, 2548,    0,    0,
3802     2555, 2559, 2573, 2560, 2561, 2553, 2562,    0, 2562, 2558,
3803     2549, 2551, 2552, 2552, 2553, 2555, 2554, 2555, 2554, 2565,
3804     2557, 2558, 2563, 2559, 2555, 2560, 2561, 2555, 2559, 2564,
3805     2560, 2561, 2566, 2562, 2573, 2564, 2563, 2565, 2567, 2567,
3806     2569, 2570, 2555, 2572, 2555, 2574, 2565, 2571, 2576, 2563,
3807
3808     2577, 2575, 2582,    0, 2566, 2572, 2564, 2575, 2578, 2566,
3809     2576, 2579, 2569, 2570, 2580, 2567, 2580, 2569, 2570, 2571,
3810     2572, 2584, 2581, 2589, 2571, 2576, 2582, 2574, 2575, 2582,
3811     2578, 2590, 2577, 2579, 2585, 2578, 2581, 2583, 2579, 2584,
3812     2586, 2580, 2587, 2588, 2583, 2591, 2593, 2595, 2584, 2581,
3813     2597, 2598, 2585, 2593, 2595, 2589, 2588, 2596, 2586, 2603,
3814     2587, 2585, 2600, 2590, 2583, 2601, 2604, 2586, 2591, 2587,
3815     2588, 2599, 2591, 2593, 2595, 2596, 2597, 2597, 2600, 2599,
3816     2605, 2602, 2605, 2598, 2596, 2603, 2603, 2605, 2604, 2600,
3817     2601, 2607, 2601, 2604, 2608, 2609, 2611, 2599, 2599, 2602,
3818
3819     2610, 2612, 2607, 2614, 2617, 2608, 2599, 2605, 2602, 2605,
3820     2613, 2616, 2610,    0, 2611, 2617, 2621, 2625, 2607, 2612,
3821     2618, 2608, 2609, 2611, 2619, 2614, 2616, 2610, 2612, 2613,
3822     2614, 2617, 2618, 2622, 2623, 2624, 2626, 2613, 2616, 2619,
3823     2621, 2623, 2627, 2621, 2625, 2628, 2630, 2618, 2632, 2633,
3824     2624, 2619, 2631, 2634,    0, 2622, 2635, 2636, 2643,    0,
3825     2622, 2623, 2624, 2626, 2637,    0, 2638, 2639,    0, 2627,
3826     2632, 2628, 2628, 2630, 2635, 2632, 2631, 2637, 2642, 2631,
3827     2641, 2633, 2639, 2635, 2636, 2634, 2640, 2644, 2641, 2645,
3828     2643, 2637, 2638, 2638, 2639, 2647, 2648, 2649,    0, 2640,
3829
3830     2644,    0, 2656, 2650, 2642, 2642, 2651, 2641, 2652, 2653,
3831     2654, 2645, 2659, 2640, 2644, 2655, 2645, 2654, 2647, 2663,
3832     2648, 2667, 2647, 2648, 2649, 2650, 2652, 2653, 2651, 2656,
3833     2650, 2657, 2663, 2651, 2659, 2652, 2653, 2654, 2655, 2659,
3834     2660, 2661, 2655, 2662, 2665, 2657, 2663, 2660, 2661, 2664,
3835     2662, 2665, 2666, 2667, 2668,    0, 2669, 2671, 2657, 2670,
3836        0, 2672, 2676, 2678, 2681, 2673, 2671, 2660, 2661, 2672,
3837     2662, 2665, 2664, 2673, 2666, 2668, 2664, 2674, 2678, 2666,
3838     2679, 2668, 2669, 2669, 2671, 2670, 2670, 2675, 2672, 2676,
3839     2678, 2679, 2673, 2675, 2680, 2682, 2681, 2684, 2683, 2674,
3840
3841        0, 2686, 2688,    0, 2674, 2689, 2691, 2679, 2690, 2702,
3842     2692, 2695, 2697, 2697, 2675, 2688, 2680, 2683, 2689, 2686,
3843     2694, 2680, 2684, 2695, 2684, 2683, 2696, 2682, 2686, 2688,
3844     2691, 2698, 2689, 2691, 2690, 2690, 2692, 2692, 2695, 2697,
3845     2701, 2702, 2704, 2705, 2694, 2703, 2708, 2694, 2713, 2712,
3846     2696,    0, 2716, 2696, 2723, 2710, 2725, 2698, 2698, 2713,
3847     2703, 2705, 2712, 2701, 2710, 2717, 2717, 2701, 2718, 2704,
3848     2705, 2721, 2703, 2708, 2716, 2713, 2712, 2718, 2719, 2716,
3849     2722, 2723, 2710, 2725, 2719, 2727, 2729, 2728, 2730, 2732,
3850        0, 2731, 2717, 2721, 2728, 2718, 2731, 2735, 2721, 2730,
3851
3852     2734, 2738, 2722, 2743, 2736, 2719, 2747, 2722, 2734, 2740,
3853     2737, 2732, 2729, 2729, 2728, 2730, 2732, 2727, 2731, 2736,
3854     2740, 2735, 2741, 2742, 2735, 2737, 2749, 2734, 2738, 2744,
3855     2745, 2736, 2752, 2747, 2748, 2743, 2740, 2737, 2744, 2750,
3856     2741, 2752, 2745, 2754, 2742, 2755, 2756, 2750,    0, 2741,
3857     2742, 2749,    0, 2749, 2751, 2751, 2744, 2745, 2748, 2752,
3858     2758, 2748, 2751, 2759, 2760, 2757, 2750, 2762, 2756, 2754,
3859     2754, 2761, 2755, 2756, 2757, 2763, 2766, 2759, 2758, 2765,
3860     2762, 2751, 2751, 2766, 2764, 2768, 2760, 2758, 2763, 2769,
3861     2759, 2760, 2757, 2767, 2762, 2771, 2761, 2770, 2761, 2764,
3862
3863     2767, 2765, 2763, 2766, 2772, 2773, 2765, 2768, 2774, 2770,
3864     2776, 2764, 2768, 2775, 2777, 2781, 2769, 2778, 2786, 2776,
3865     2767, 2779, 2771, 2774, 2770, 2780, 2782, 2787,    0, 2786,
3866     2781, 2772, 2773, 2782, 2783, 2774, 2777, 2776, 2775, 2784,
3867     2775, 2777, 2781, 2778, 2778, 2786, 2784, 2779, 2779, 2783,
3868     2785, 2780, 2780, 2782, 2787, 2788, 2785, 2789, 2790, 2791,
3869     2792, 2783, 2796, 2788, 2793, 2795, 2784, 2798, 2794, 2796,
3870     2800, 2797, 2801, 2802, 2798, 2791, 2799, 2785, 2806, 2793,
3871     2795, 2806, 2788, 2799, 2789, 2790, 2791, 2792, 2794, 2796,
3872     2801, 2793, 2795, 2797, 2798, 2794, 2805, 2800, 2797, 2801,
3873
3874     2802, 2803, 2803, 2799, 2804, 2806, 2807, 2808, 2810, 2809,
3875     2805, 2804, 2811, 2810, 2812,    0, 2813,    0, 2815, 2807,
3876     2814, 2819,    0, 2805, 2809, 2808, 2819, 2822, 2803, 2812,
3877     2815, 2804, 2816, 2807, 2808, 2810, 2809, 2811, 2814, 2811,
3878     2818, 2812, 2813, 2813, 2816, 2815, 2820, 2814, 2819, 2818,
3879     2821, 2820, 2823, 2825, 2822,    0, 2823, 2824, 2828, 2816,
3880     2826, 2827, 2829,    0, 2830, 2837, 2825, 2818, 2834,    0,
3881     2836,    0, 2821, 2820, 2837,    0,    0, 2821,    0, 2823,
3882     2825, 2824, 2826, 2827, 2824, 2828, 2838, 2826, 2827, 2829,
3883     2830, 2830, 2837, 2839, 2834, 2834, 2836, 2836, 2840, 2842,
3884
3885     2843, 2839, 2838, 2844, 2845, 2846, 2842, 2847, 2844, 2843,
3886     2840, 2845, 2848, 2838, 2847, 2849,    0, 2852, 2854, 2850,
3887     2839, 2855, 2849, 2846, 2851, 2840, 2842, 2843, 2850, 2858,
3888     2844, 2845, 2846, 2851, 2847, 2857, 2856, 2848, 2859, 2848,
3889     2857, 2854, 2849, 2852, 2852, 2854, 2850, 2858, 2855, 2856,
3890     2861, 2851, 2862, 2866,    0, 2863, 2858, 2864, 2865, 2867,
3891     2868, 2869, 2857, 2856, 2863, 2859, 2864, 2865, 2861, 2868,
3892     2869, 2867, 2870, 2866, 2872, 2873, 2874, 2861, 2875, 2862,
3893     2866, 2871, 2863, 2870, 2864, 2865, 2867, 2868, 2869, 2871,
3894     2878, 2876, 2880, 2881, 2882, 2873, 2889, 2872, 2876, 2870,
3895
3896     2877, 2872, 2873, 2874, 2883, 2875, 2884, 2888, 2871, 2877,
3897     2885, 2878, 2887, 2883, 2890, 2884, 2886, 2878, 2876, 2880,
3898     2881, 2890, 2885, 2889, 2886, 2887, 2882, 2877, 2891, 2888,
3899     2893, 2883, 2894, 2884, 2888, 2891, 2896, 2885, 2892, 2887,
3900     2895, 2890,    0, 2886, 2897, 2892, 2893, 2895, 2894, 2898,
3901     2899, 2900, 2902, 2905, 2904, 2891,    0, 2893, 2896, 2894,
3902     2902, 2905, 2908, 2896, 2910, 2892, 2907, 2895, 2906, 2897,
3903        0, 2897, 2904, 2907, 2912, 2899, 2898, 2899, 2900, 2902,
3904     2905, 2904, 2912, 2906, 2908, 2909, 2910, 2911, 2918, 2908,
3905     2915, 2910, 2909, 2907, 2911, 2906, 2916, 2915, 2917, 2919,
3906
3907     2920, 2912, 2921, 2922, 2923, 2916,    0, 2928, 2926, 2920,
3908     2924, 2919, 2909, 2930, 2911, 2918, 2923, 2915, 2929, 2922,
3909     2926, 2934, 2917, 2916, 2927, 2917, 2919, 2920, 2928, 2921,
3910     2922, 2923, 2931, 2924, 2928, 2926, 2927, 2924, 2933, 2936,
3911     2930, 2929, 2935, 2937, 2939, 2929, 2931, 2936, 2934, 2935,
3912     2933, 2927, 2941, 2938, 2942, 2943,    0, 2944, 2945, 2931,
3913     2938, 2947, 2937,    0, 2948, 2933, 2936, 2941, 2946, 2935,
3914     2937, 2939, 2942, 2953, 2949, 2951, 2946, 2959, 2943, 2941,
3915     2938, 2942, 2943, 2944, 2944, 2945, 2948, 2950, 2947, 2952,
3916     2951, 2948, 2949, 2955, 2960, 2946, 2952, 2962, 2950, 2955,
3917
3918     2953, 2949, 2951, 2959, 2959, 2961,    0, 2969, 2963, 2964,
3919     2961, 2965, 2960, 2966, 2950, 2967, 2952, 2971, 2973, 2968,
3920     2955, 2960, 2963, 2964, 2962, 2965, 2979, 2976, 2978, 2971,
3921     2980, 2966, 2961, 2967, 2969, 2963, 2964, 2968, 2965, 2979,
3922     2966, 2970, 2967, 2981, 2971, 2973, 2968, 2983, 2970, 2976,
3923     2978, 2982, 2980, 2979, 2976, 2978, 2984, 2980, 2988, 2982,
3924     2986, 2990, 2981, 2991, 2989, 2983, 2992, 2993, 2970, 2994,
3925     2981,    0, 2986, 2990, 2983, 2984, 2995, 2997, 2982, 2998,
3926     2988, 2994, 3002, 2984, 2996, 2988, 2989, 2986, 2990, 2993,
3927     2991, 2989, 2996, 2992, 2993, 2999, 2994, 3003, 2995, 2998,
3928
3929     3000, 3001,    0, 2995, 2997, 3005, 2998, 3004, 3008, 3000,
3930     3001, 2996, 3007, 3010, 3002, 3009, 3011, 2999, 3005, 3003,
3931     3008, 3015, 2999, 3016, 3003,    0, 3017, 3000, 3001, 3004,
3932     3014, 3017, 3005, 3018, 3004, 3008,    0, 3009, 3007, 3007,
3933     3010, 3019, 3009, 3011, 3014, 3021, 3020, 3016, 3015, 3022,
3934     3016, 3024, 3023, 3025, 3028, 3018, 3026, 3014, 3017, 3020,
3935     3018, 3027, 3029, 3019, 3032, 3025, 3031, 3027, 3019, 3024,
3936     3030, 3036, 3022, 3020, 3023, 3026, 3022, 3021, 3024, 3023,
3937     3025, 3031, 3034, 3026, 3035, 3038, 3028, 3045, 3027, 3046,
3938     3044, 3032, 3030, 3031, 3029, 3036, 3040, 3030, 3036, 3041,
3939
3940     3038, 3043, 3034, 3042, 3044, 3045, 3035, 3046, 3047, 3034,
3941     3043, 3035, 3038, 3048, 3045, 3049, 3046, 3044, 3040, 3050,
3942     3053, 3041, 3054, 3040, 3055, 3042, 3041,    0, 3043, 3053,
3943     3042, 3048, 3059, 3062, 3047, 3047, 3058, 3063, 3049, 3059,
3944     3048, 3050, 3049, 3060, 3058, 3055, 3050, 3053, 3061, 3066,
3945     3060, 3055, 3068, 3064, 3054, 3067, 3061, 3063, 3072, 3059,
3946     3062, 3064, 3069, 3058, 3063, 3070, 3079, 3066,    0, 3071,
3947     3060,    0, 3075, 3067, 3069, 3061, 3066, 3078, 3068, 3068,
3948     3064, 3071, 3067, 3070, 3075, 3072, 3073, 3081, 3077, 3069,
3949     3082, 3085, 3070, 3079, 3073, 3077, 3071, 3083, 3084, 3075,
3950
3951     3078, 3080, 3086, 3080, 3078, 3083, 3092, 3084, 3087, 3088,
3952     3089, 3088, 3091, 3073, 3094, 3077, 3095, 3097, 3096, 3081,
3953     3092, 3098, 3082, 3085, 3083, 3084, 3097, 3087, 3080, 3086,
3954     3091, 3099, 3089, 3092, 3098, 3087, 3088, 3089, 3100, 3091,
3955     3095, 3096, 3102, 3095, 3097, 3096, 3094, 3103, 3098, 3105,
3956     3100, 3106, 3107, 3108, 3110, 3106, 3103, 3113, 3099, 3111,
3957     3115, 3112,    0, 3117,    0, 3100, 3120, 3118, 3102, 3102,
3958     3117, 3120,    0,    0, 3103, 3113, 3105, 3119, 3106, 3107,
3959     3108, 3110, 3111, 3112, 3113, 3121, 3111, 3115, 3112, 3118,
3960     3117, 3126, 3119, 3128, 3118, 3123, 3124, 3129, 3120, 3125,
3961
3962     3121, 3130, 3123, 3124, 3119, 3131, 3125, 3132, 3135, 3138,
3963     3136, 3133, 3121, 3139,    0, 3140, 3138, 3126, 3126, 3136,
3964     3128, 3132, 3123, 3124, 3129, 3133, 3125, 3141, 3130, 3131,
3965     3143, 3142, 3131, 3144, 3132, 3135, 3138, 3136, 3133, 3145,
3966     3139, 3140, 3140, 3142, 3147, 3148, 3146, 3144, 3145, 3154,
3967     3152, 3149, 3158, 3153, 3141, 3152, 3158, 3143, 3142, 3146,
3968     3144, 3155, 3157, 3159, 3160, 3161, 3145, 3157, 3162, 3163,
3969     3159, 3160, 3148, 3146, 3149, 3164, 3147, 3153, 3149, 3158,
3970     3153, 3154, 3152, 3155, 3167, 3165, 3161, 3165, 3155,    0,
3971     3159, 3160, 3161, 3166, 3157, 3170, 3172, 3173,    0, 3177,
3972
3973     3162, 3163, 3175, 3176, 3175, 3180, 3179, 3164, 3178, 3178,
3974     3183, 3167, 3165,    0, 3180, 3172, 3166, 3170, 3178,    0,
3975     3166, 3173, 3170, 3172, 3173, 3177, 3177, 3176, 3179, 3175,
3976     3176, 3181, 3180, 3179, 3182, 3178, 3178, 3183, 3181, 3184,
3977     3185, 3186, 3187, 3188, 3190, 3192, 3191, 3182, 3185, 3190,
3978     3187, 3191, 3184, 3192, 3186, 3193,    0, 3194, 3181, 3195,
3979        0, 3182, 3188, 3196, 3185, 3197, 3184, 3185, 3186, 3187,
3980     3188, 3198, 3192, 3200, 3201, 3185, 3190, 3199, 3191, 3202,
3981     3202, 3201, 3193, 3194, 3194, 3195, 3195, 3203, 3199, 3196,
3982     3196, 3197, 3197, 3205, 3204, 3200, 3207, 3198, 3198, 3208,
3983
3984     3200, 3201, 3206, 3213, 3199, 3203, 3202, 3204, 3214, 3209,
3985     3206, 3217, 3210, 3215, 3203, 3205, 3209, 3208, 3207, 3210,
3986     3205, 3204, 3216, 3207, 3211, 3218, 3208, 3222, 3219, 3206,
3987     3213, 3211, 3220, 3223, 3216, 3214, 3209, 3215, 3217, 3210,
3988     3215, 3220, 3224, 3225, 3227, 3228, 3218, 3230, 3229, 3216,
3989     3219, 3211, 3218, 3223, 3222, 3219, 3235, 3236, 3231, 3220,
3990     3223, 3232, 3238, 3228, 3234, 3225, 3229, 3237,    0, 3224,
3991     3225, 3227, 3228, 3234, 3230, 3229, 3231, 3240, 3239, 3232,
3992     3238, 3253, 3245, 3235, 3236, 3231, 3239, 3241, 3232, 3238,
3993     3237, 3234, 3243, 3240, 3237, 3242, 3245, 3243, 3246, 3241,
3994
3995     3247, 3249, 3242, 3253, 3240, 3239, 3254, 3255, 3253, 3245,
3996     3257, 3262, 3263, 3249, 3241, 3265, 3246, 3258, 3264, 3259,
3997     3255, 3259, 3242, 3247, 3243, 3246, 3260, 3247, 3249, 3270,
3998     3258, 3270, 3271, 3254, 3255, 3260, 3264, 3257, 3262, 3263,
3999     3266, 3274, 3272, 3275, 3258, 3264, 3259, 3265, 3274, 3277,
4000     3281, 3279, 3282, 3260, 3271, 3266, 3270, 3279, 3283, 3271,
4001     3272, 3286, 3284,    0, 3277, 3289, 3294, 3266, 3274, 3272,
4002        0, 3295, 3281, 3287, 3282, 3275, 3277, 3281, 3279, 3282,
4003     3284, 3289, 3290, 3286, 3283, 3283, 3287, 3296, 3286, 3284,
4004     3291, 3304, 3289, 3294, 3292, 3297, 3290, 3292, 3295, 3298,
4005
4006     3287, 3299, 3300, 3291, 3301, 3302, 3298, 3307, 3299, 3290,
4007     3300, 3305, 3301, 3297, 3296, 3306, 3308, 3291, 3313,    0,
4008     3292, 3292, 3297, 3304, 3292, 3308, 3298, 3302, 3299, 3300,
4009     3309, 3301, 3302, 3305, 3307, 3310, 3311, 3306, 3305, 3312,
4010     3315, 3310, 3306, 3308, 3314, 3309, 3314, 3317, 3312, 3322,
4011     3313, 3318, 3321, 3319,    0, 3320, 3323, 3309, 3311, 3327,
4012     3321, 3322, 3310, 3311,    0, 3325, 3312, 3315, 3323,    0,
4013     3317, 3314, 3325, 3318, 3317, 3319, 3322, 3329, 3318, 3321,
4014     3319, 3320, 3320, 3323, 3330, 3331, 3327, 3332, 3333, 3334,
4015     3336, 3329, 3325, 3335, 3344, 3338, 3337,    0, 3330, 3331,
4016
4017     3334, 3335, 3338, 3340, 3329, 3345, 3333, 3341, 3349, 3336,
4018     3332, 3330, 3331, 3349, 3332, 3333, 3334, 3336, 3337, 3339,
4019     3335, 3344, 3338, 3337, 3342, 3341, 3339, 3343, 3343, 3340,
4020     3340, 3346, 3345, 3342, 3341, 3350, 3352, 3353, 3354, 3346,
4021     3349, 3356, 3358, 3368, 3360, 3361, 3339, 3356, 3350, 3364,
4022     3371, 3342, 3363, 3365, 3343, 3360, 3361, 3352, 3346, 3369,
4023     3364, 3373, 3350, 3352, 3353, 3354, 3369, 3370, 3356, 3358,
4024     3368, 3360, 3361, 3372, 3363, 3365, 3364, 3372, 3376, 3363,
4025     3365, 3374, 3371, 3377, 3378, 3370, 3369, 3380, 3373, 3374,
4026     3379, 3382, 3378, 3385, 3370, 3384, 3377, 3386,    0, 3379,
4027
4028     3372, 3389, 3384, 3391, 3376, 3376, 3389, 3392, 3374, 3393,
4029     3377, 3378, 3390, 3390, 3380, 3396, 3395, 3379, 3399, 3386,
4030     3394, 3393, 3384, 3382, 3386, 3385, 3397, 3394, 3389, 3400,
4031     3391, 3396, 3403, 3398, 3392, 3395, 3393, 3400, 3402, 3390,
4032     3398, 3404, 3396, 3395, 3397, 3402, 3401, 3394, 3405,    0,
4033     3399,    0, 3406, 3397, 3407, 3417, 3400, 3409, 3408, 3403,
4034     3398, 3401, 3395, 3404, 3406, 3402, 3416, 3414, 3404, 3415,
4035     3418, 3413,    0, 3401, 3414, 3405, 3415, 3419, 3407, 3406,
4036     3420, 3407, 3408, 3409, 3409, 3408, 3413, 3417, 3416, 3423,
4037     3421, 3424, 3425, 3416, 3414, 3426, 3415, 3418, 3413, 3421,
4038
4039     3427, 3419, 3429, 3426, 3419,    0, 3432, 3433, 3431, 3433,
4040     3434, 3423, 3420, 3435, 3425, 3432, 3423, 3421, 3424, 3425,
4041     3428, 3428, 3426, 3431, 3434, 3438, 3440, 3437, 3436, 3429,
4042     3428, 3441, 3427, 3432, 3433, 3431, 3436, 3434, 3437, 3442,
4043     3435, 3443, 3445, 3438, 3444, 3446, 3447, 3428, 3428, 3448,
4044     3450, 3451, 3438, 3440, 3437, 3436, 3449, 3444, 3441, 3452,
4045     3452, 3453, 3454, 3443, 3445, 3451, 3442, 3457, 3443, 3445,
4046     3458, 3444, 3446, 3447, 3449, 3460, 3448, 3450, 3451, 3461,
4047     3464, 3458, 3466, 3449, 3454, 3467, 3452, 3466, 3464, 3454,
4048     3467, 3468, 3472, 3453, 3457, 3469, 3479, 3458, 3470, 3468,
4049
4050     3469, 3475, 3460, 3473, 3473, 3474, 3461, 3464, 3477, 3466,
4051     3480, 3478, 3467, 3474, 3475, 3477, 3481, 3483, 3468, 3472,
4052     3484, 3492, 3469, 3479, 3470, 3470, 3483, 3485, 3475, 3478,
4053     3473, 3487, 3474, 3486, 3485, 3477, 3491, 3480, 3478, 3481,
4054     3488, 3486, 3491, 3481, 3483, 3494, 3495, 3497, 3492, 3500,
4055     3498, 3496, 3484, 3487, 3485, 3499,    0,    0, 3487, 3501,
4056     3486, 3505, 3488, 3491, 3496, 3498,    0, 3488, 3495, 3506,
4057        0, 3509, 3494, 3495, 3499,    0, 3500, 3498, 3496, 3497,
4058     3503, 3501, 3499, 3507, 3505, 3508, 3501, 3503, 3505, 3510,
4059     3507, 3506, 3508, 3509, 3511, 3515, 3506, 3512, 3509, 3513,
4060
4061     3516,    0, 3521, 3528, 3510,    0, 3512, 3503, 3516, 3511,
4062     3507, 3517, 3508, 3521, 3515, 3524, 3510,    0, 3517, 3520,
4063     3513, 3511, 3515, 3518, 3512, 3526, 3513, 3516, 3520, 3521,
4064     3518, 3522, 3522, 3523, 3529, 3528, 3527, 3524, 3517, 3523,
4065     3532, 3522, 3524, 3527, 3531, 3537, 3520, 3526, 3533, 3538,
4066     3518, 3531, 3526, 3543, 3539, 3545, 3529, 3546, 3522, 3522,
4067     3523, 3529, 3533, 3527, 3532, 3543, 3547, 3532, 3548, 3553,
4068     3556, 3531, 3537, 3550, 3547, 3533, 3538, 3539, 3558, 3546,
4069     3543, 3539, 3545, 3562, 3546, 3550, 3554, 3554, 3555, 3555,
4070     3557, 3557,    0, 3547, 3560, 3548, 3553, 3556, 3563, 3564,
4071
4072     3550, 3558, 3561, 3567, 3569, 3558, 3568, 3563,    0, 3572,
4073     3562, 3569, 3564, 3571, 3573, 3554, 3560, 3555, 3578, 3557,
4074     3561, 3560, 3577, 3573, 3577, 3563, 3564, 3570, 3579, 3561,
4075     3567, 3569, 3568, 3568, 3570, 3571, 3572, 3574, 3578, 3580,
4076     3571, 3573, 3584, 3583, 3574, 3578, 3581, 3586, 3589, 3577,
4077     3585, 3579, 3583, 3587, 3570, 3579, 3588, 3580, 3581, 3590,
4078     3591, 3597, 3594, 3592, 3574,    0, 3580, 3584, 3592, 3584,
4079     3583, 3587, 3585, 3581, 3586, 3589, 3593, 3585, 3595, 3599,
4080     3587, 3595, 3588, 3588, 3594, 3601, 3590, 3591, 3593, 3594,
4081     3592, 3599, 3596, 3597, 3602, 3600, 3595, 3596, 3598, 3604,
4082
4083     3598, 3600, 3603, 3593, 3605, 3595, 3599, 3601, 3595,    0,
4084     3603, 3606, 3601, 3607, 3608, 3609, 3602, 3610, 3613, 3616,
4085     3614, 3602, 3600, 3621, 3596, 3598, 3604, 3609, 3619, 3603,
4086     3617, 3622, 3606, 3614, 3623, 3624, 3605, 3619, 3606, 3610,
4087     3607, 3608, 3609, 3626, 3610, 3613, 3616, 3614, 3617, 3627,
4088     3621, 3628, 3629, 3630, 3630, 3619, 3632, 3617, 3622, 3633,
4089     3635, 3623, 3624, 3636, 3638, 3640, 3641, 3637, 3643,    0,
4090     3626, 3638, 3644,    0, 3632, 3645, 3627, 3640, 3628, 3629,
4091     3630, 3636, 3637, 3632, 3644, 3646, 3633, 3635, 3642, 3645,
4092     3636, 3638, 3640, 3641, 3637, 3643, 3642, 3647, 3648, 3644,
4093
4094     3646, 3649, 3645, 3652, 3651, 3656, 3664,    0, 3657, 3658,
4095     3659, 3659, 3646, 3648, 3660, 3642, 3651, 3657, 3663,    0,
4096     3661, 3665, 3666, 3647, 3647, 3648,    0, 3656, 3649, 3661,
4097     3652, 3651, 3656, 3658, 3665, 3657, 3658, 3659, 3664, 3669,
4098     3660, 3660, 3663, 3667, 3666, 3663, 3668, 3661, 3665, 3666,
4099     3669, 3667, 3675, 3671, 3672, 3668, 3676,    0, 3678, 3680,
4100     3680,    0, 3681, 3694, 3691, 3690, 3669, 3695, 3676, 3681,
4101     3667, 3696, 3672, 3668, 3671, 3675, 3697, 3694, 3699, 3675,
4102     3671, 3672, 3702, 3676, 3678, 3678, 3680, 3690, 3691, 3681,
4103     3694, 3691, 3690, 3701, 3695, 3703, 3705, 3701, 3696, 3704,
4104
4105     3702, 3707, 3709, 3697, 3715, 3699, 3704,    0, 3705, 3702,
4106     3712, 3710, 3714, 3711, 3707, 3710, 3713, 3717, 3703, 3716,
4107     3701,    0, 3703, 3705, 3714, 3717, 3704, 3718, 3707, 3711,
4108     3715, 3715, 3712, 3716, 3709, 3723, 3718, 3712, 3710, 3714,
4109     3711, 3713, 3719, 3713, 3717, 3720, 3716, 3720, 3721, 3722,
4110     3723, 3724, 3725, 3719, 3718, 3726, 3728, 3729, 3725, 3727,
4111     3721, 3730, 3723, 3731, 3728, 3738, 3741, 3722, 3730, 3719,
4112     3726, 3743, 3720, 3724, 3736, 3721, 3722, 3739, 3724, 3725,
4113     3742, 3727, 3726, 3728, 3729, 3731, 3727, 3736, 3730, 3737,
4114     3731, 3740, 3738, 3741, 3744, 3739, 3737, 3743, 3743, 3745,
4115
4116     3746, 3736, 3742, 3747, 3739, 3748, 3749, 3742, 3746, 3750,
4117     3747, 3751, 3752, 3751, 3753, 3740, 3737, 3757, 3740,    0,
4118     3756, 3744, 3754, 3759, 3752, 3755, 3745, 3746, 3749, 3748,
4119     3747, 3750, 3748, 3749, 3758, 3754, 3750, 3760, 3751, 3752,
4120     3755, 3758, 3756, 3761, 3757, 3763, 3753, 3756, 3764, 3754,
4121     3759, 3765, 3755, 3766, 3768, 3769, 3775, 3777, 3772, 3765,
4122     3764, 3758, 3771,    0, 3760, 3771, 3768, 3772, 3776, 3778,
4123     3761, 3769, 3763, 3779, 3780, 3764, 3777, 3778, 3765,    0,
4124     3766, 3768, 3769, 3775, 3777, 3772, 3781, 3782, 3784, 3771,
4125     3783, 3785, 3787, 3793, 3776, 3776, 3778, 3792, 3783, 3781,
4126
4127     3793, 3782, 3796, 3792, 3798, 3779, 3780,    0, 3795, 3800,
4128     3784, 3797, 3801, 3781, 3782, 3784, 3800, 3783, 3785, 3787,
4129     3793, 3795, 3797, 3803, 3792, 3802, 3804, 3798, 3808, 3796,
4130     3818, 3798, 3806, 3802, 3801, 3795, 3800, 3803, 3797, 3801,
4131     3804, 3805, 3807, 3815, 3811, 3816, 3824, 3812,    0, 3805,
4132     3803, 3811, 3802, 3804, 3806, 3808, 3812, 3813, 3817, 3806,
4133     3819, 3815, 3818, 3826, 3807, 3813, 3820, 3821, 3805, 3807,
4134     3815, 3811, 3816, 3822, 3812, 3823, 3827, 3828, 3824, 3833,
4135     3817, 3836, 3829, 3823, 3813, 3817, 3819, 3819, 3820, 3821,
4136     3826, 3829, 3831, 3820, 3821, 3822, 3840, 3832, 3827, 3833,
4137
4138     3822, 3843, 3823, 3827, 3828, 3832, 3833, 3838, 3834, 3829,
4139     3835, 3842, 3837, 3836, 3844, 3831, 3834, 3844, 3835, 3831,
4140     3837, 3838, 3840, 3840, 3832, 3845,    0, 3849, 3843, 3848,
4141     3854, 3854, 3844, 3842, 3838, 3834, 3850, 3835, 3842, 3837,
4142     3846, 3844, 3847, 3848, 3844, 3851, 3860, 3845, 3846, 3855,
4143     3847, 3852, 3845, 3849, 3849, 3857, 3848, 3854, 3850, 3851,
4144     3856,    0, 3858, 3850, 3859, 3862, 3860, 3846, 3856, 3847,
4145     3863, 3861, 3851, 3860, 3852, 3855, 3855, 3864, 3852, 3861,
4146     3865, 3857, 3857, 3866, 3870, 3874, 3859, 3856, 3858, 3858,
4147        0, 3859, 3862, 3867, 3868, 3869, 3877, 3863, 3861, 3864,
4148
4149     3871, 3875, 3878, 3869, 3864, 3865, 3870, 3865, 3871, 3875,
4150     3866, 3870, 3874, 3867, 3868, 3881, 3883, 3879, 3877, 3886,
4151     3867, 3868, 3869, 3877, 3878, 3879, 3880, 3871, 3875, 3878,
4152     3884, 3885, 3887, 3890, 3880, 3888, 3891,    0, 3884, 3885,
4153        0, 3881, 3881, 3883, 3879, 3886, 3886, 3892, 3894, 3897,
4154     3900, 3901,    0, 3880,    0, 3888, 3898, 3884, 3885, 3887,
4155     3890, 3899, 3888, 3891, 3898,    0,    0, 3892,    0, 3899,
4156     3894, 3897,    0,    0, 3892, 3894, 3897, 3900, 3901,    0,
4157        0,    0,    0, 3898,    0,    0,    0,    0, 3899, 3905,
4158     3905, 3905, 3905, 3905, 3905, 3905, 3906, 3906, 3906, 3906,
4159
4160     3906, 3906, 3906, 3907, 3907, 3907, 3907, 3907, 3907, 3907,
4161     3908, 3908, 3908, 3908, 3908, 3908, 3908, 3909, 3909, 3909,
4162     3909, 3909, 3909, 3909, 3910, 3910, 3910, 3910, 3910, 3910,
4163     3910, 3911, 3911, 3911, 3911, 3911, 3911, 3911, 3913, 3913,
4164        0, 3913, 3913, 3913, 3913, 3914, 3914,    0,    0,    0,
4165     3914, 3914, 3915, 3915,    0,    0, 3915,    0, 3915, 3916,
4166        0,    0,    0,    0,    0, 3916, 3917, 3917,    0,    0,
4167        0, 3917, 3917, 3918,    0,    0,    0,    0,    0, 3918,
4168     3919, 3919,    0, 3919, 3919, 3919, 3919, 3920,    0,    0,
4169        0,    0,    0, 3920, 3921, 3921,    0,    0,    0, 3921,
4170
4171     3921, 3922, 3922,    0, 3922, 3922, 3922, 3922, 3904, 3904,
4172     3904, 3904, 3904, 3904, 3904, 3904, 3904, 3904, 3904, 3904,
4173     3904, 3904, 3904, 3904, 3904, 3904, 3904, 3904, 3904, 3904,
4174     3904, 3904, 3904, 3904, 3904, 3904, 3904, 3904, 3904, 3904,
4175     3904, 3904, 3904, 3904, 3904, 3904, 3904, 3904, 3904, 3904,
4176     3904, 3904, 3904, 3904, 3904, 3904, 3904, 3904, 3904, 3904,
4177     3904, 3904, 3904, 3904, 3904, 3904, 3904, 3904, 3904, 3904,
4178     3904, 3904, 3904, 3904, 3904
4179    } ;
4180
4181static yy_state_type yy_last_accepting_state;
4182static char *yy_last_accepting_cpos;
4183
4184extern int yy_flex_debug;
4185int yy_flex_debug = 0;
4186
4187/* The intent behind this definition is that it'll catch
4188 * any uses of REJECT which flex missed.
4189 */
4190#define REJECT reject_used_but_not_detected
4191static int yy_more_flag = 0;
4192static int yy_more_len = 0;
4193#define yymore() ((yy_more_flag) = 1)
4194#define YY_MORE_ADJ (yy_more_len)
4195#define YY_RESTORE_YY_MORE_OFFSET
4196char *yytext;
4197#line 1 "util/configlexer.lex"
4198#line 2 "util/configlexer.lex"
4199/*
4200 * configlexer.lex - lexical analyzer for unbound config file
4201 *
4202 * Copyright (c) 2001-2006, NLnet Labs. All rights reserved
4203 *
4204 * See LICENSE for the license.
4205 *
4206 */
4207
4208/* because flex keeps having sign-unsigned compare problems that are unfixed*/
4209#if defined(__clang__)||(defined(__GNUC__)&&((__GNUC__ >4)||(defined(__GNUC_MINOR__)&&(__GNUC__ ==4)&&(__GNUC_MINOR__ >=2))))
4210#pragma GCC diagnostic ignored "-Wsign-compare"
4211#endif
4212
4213#include <ctype.h>
4214#include <strings.h>
4215#ifdef HAVE_GLOB_H
4216# include <glob.h>
4217#endif
4218
4219#include "util/config_file.h"
4220#include "util/configparser.h"
4221void ub_c_error(const char *message);
4222
4223#if 0
4224#define LEXOUT(s)  printf s /* used ONLY when debugging */
4225#else
4226#define LEXOUT(s)
4227#endif
4228
4229/** avoid warning in about fwrite return value */
4230#define ECHO ub_c_error_msg("syntax error at text: %s", yytext)
4231
4232/** A parser variable, this is a statement in the config file which is
4233 * of the form variable: value1 value2 ...  nargs is the number of values. */
4234#define YDVAR(nargs, var) \
4235	num_args=(nargs); \
4236	LEXOUT(("v(%s%d) ", yytext, num_args)); \
4237	if(num_args > 0) { BEGIN(val); } \
4238	return (var);
4239
4240struct inc_state {
4241	char* filename;
4242	int line;
4243	YY_BUFFER_STATE buffer;
4244	struct inc_state* next;
4245	int inc_toplevel;
4246};
4247static struct inc_state* config_include_stack = NULL;
4248static int inc_depth = 0;
4249static int inc_prev = 0;
4250static int num_args = 0;
4251static int inc_toplevel = 0;
4252
4253void init_cfg_parse(void)
4254{
4255	config_include_stack = NULL;
4256	inc_depth = 0;
4257	inc_prev = 0;
4258	num_args = 0;
4259	inc_toplevel = 0;
4260}
4261
4262static void config_start_include(const char* filename, int toplevel)
4263{
4264	FILE *input;
4265	struct inc_state* s;
4266	char* nm;
4267	if(inc_depth+1 > 100000) {
4268		ub_c_error_msg("too many include files");
4269		return;
4270	}
4271	if(*filename == '\0') {
4272		ub_c_error_msg("empty include file name");
4273		return;
4274	}
4275	s = (struct inc_state*)malloc(sizeof(*s));
4276	if(!s) {
4277		ub_c_error_msg("include %s: malloc failure", filename);
4278		return;
4279	}
4280	if(cfg_parser->chroot && strncmp(filename, cfg_parser->chroot,
4281		strlen(cfg_parser->chroot)) == 0) {
4282		filename += strlen(cfg_parser->chroot);
4283	}
4284	nm = strdup(filename);
4285	if(!nm) {
4286		ub_c_error_msg("include %s: strdup failure", filename);
4287		free(s);
4288		return;
4289	}
4290	input = fopen(filename, "r");
4291	if(!input) {
4292		ub_c_error_msg("cannot open include file '%s': %s",
4293			filename, strerror(errno));
4294		free(s);
4295		free(nm);
4296		return;
4297	}
4298	LEXOUT(("switch_to_include_file(%s)\n", filename));
4299	inc_depth++;
4300	s->filename = cfg_parser->filename;
4301	s->line = cfg_parser->line;
4302	s->buffer = YY_CURRENT_BUFFER;
4303	s->inc_toplevel = inc_toplevel;
4304	s->next = config_include_stack;
4305	config_include_stack = s;
4306	cfg_parser->filename = nm;
4307	cfg_parser->line = 1;
4308	inc_toplevel = toplevel;
4309	yy_switch_to_buffer(yy_create_buffer(input, YY_BUF_SIZE));
4310}
4311
4312static void config_start_include_glob(const char* filename, int toplevel)
4313{
4314
4315	/* check for wildcards */
4316#ifdef HAVE_GLOB
4317	glob_t g;
4318	int i, r, flags;
4319	if(!(!strchr(filename, '*') && !strchr(filename, '?') && !strchr(filename, '[') &&
4320		!strchr(filename, '{') && !strchr(filename, '~'))) {
4321		flags = 0
4322#ifdef GLOB_ERR
4323			| GLOB_ERR
4324#endif
4325			 /* do not set GLOB_NOSORT so the results are sorted
4326			    and in a predictable order. */
4327#ifdef GLOB_BRACE
4328			| GLOB_BRACE
4329#endif
4330#ifdef GLOB_TILDE
4331			| GLOB_TILDE
4332#endif
4333		;
4334		memset(&g, 0, sizeof(g));
4335		if(cfg_parser->chroot && strncmp(filename, cfg_parser->chroot,
4336			strlen(cfg_parser->chroot)) == 0) {
4337			filename += strlen(cfg_parser->chroot);
4338		}
4339		r = glob(filename, flags, NULL, &g);
4340		if(r) {
4341			/* some error */
4342			globfree(&g);
4343			if(r == GLOB_NOMATCH)
4344				return; /* no matches for pattern */
4345			config_start_include(filename, toplevel); /* let original deal with it */
4346			return;
4347		}
4348		/* process files found, if any */
4349		for(i=(int)g.gl_pathc-1; i>=0; i--) {
4350			config_start_include(g.gl_pathv[i], toplevel);
4351		}
4352		globfree(&g);
4353		return;
4354	}
4355#endif /* HAVE_GLOB */
4356
4357	config_start_include(filename, toplevel);
4358}
4359
4360static void config_end_include(void)
4361{
4362	struct inc_state* s = config_include_stack;
4363	--inc_depth;
4364	if(!s) return;
4365	free(cfg_parser->filename);
4366	cfg_parser->filename = s->filename;
4367	cfg_parser->line = s->line;
4368	yy_delete_buffer(YY_CURRENT_BUFFER);
4369	yy_switch_to_buffer(s->buffer);
4370	config_include_stack = s->next;
4371	inc_toplevel = s->inc_toplevel;
4372	free(s);
4373}
4374
4375#ifndef yy_set_bol /* compat definition, for flex 2.4.6 */
4376#define yy_set_bol(at_bol) \
4377        { \
4378	        if ( ! yy_current_buffer ) \
4379	                yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
4380	        yy_current_buffer->yy_ch_buf[0] = ((at_bol)?'\n':' '); \
4381        }
4382#endif
4383
4384#line 4382 "<stdout>"
4385#define YY_NO_INPUT 1
4386#line 191 "util/configlexer.lex"
4387#ifndef YY_NO_UNPUT
4388#define YY_NO_UNPUT 1
4389#endif
4390#ifndef YY_NO_INPUT
4391#define YY_NO_INPUT 1
4392#endif
4393#line 4391 "<stdout>"
4394
4395#line 4393 "<stdout>"
4396
4397#define INITIAL 0
4398#define quotedstring 1
4399#define singlequotedstr 2
4400#define include 3
4401#define include_quoted 4
4402#define val 5
4403#define include_toplevel 6
4404#define include_toplevel_quoted 7
4405
4406#ifndef YY_NO_UNISTD_H
4407/* Special case for "unistd.h", since it is non-ANSI. We include it way
4408 * down here because we want the user's section 1 to have been scanned first.
4409 * The user has a chance to override it with an option.
4410 */
4411#include <unistd.h>
4412#endif
4413
4414#ifndef YY_EXTRA_TYPE
4415#define YY_EXTRA_TYPE void *
4416#endif
4417
4418static int yy_init_globals ( void );
4419
4420/* Accessor methods to globals.
4421   These are made visible to non-reentrant scanners for convenience. */
4422
4423int yylex_destroy ( void );
4424
4425int yyget_debug ( void );
4426
4427void yyset_debug ( int debug_flag  );
4428
4429YY_EXTRA_TYPE yyget_extra ( void );
4430
4431void yyset_extra ( YY_EXTRA_TYPE user_defined  );
4432
4433FILE *yyget_in ( void );
4434
4435void yyset_in  ( FILE * _in_str  );
4436
4437FILE *yyget_out ( void );
4438
4439void yyset_out  ( FILE * _out_str  );
4440
4441			int yyget_leng ( void );
4442
4443char *yyget_text ( void );
4444
4445int yyget_lineno ( void );
4446
4447void yyset_lineno ( int _line_number  );
4448
4449/* Macros after this point can all be overridden by user definitions in
4450 * section 1.
4451 */
4452
4453#ifndef YY_SKIP_YYWRAP
4454#ifdef __cplusplus
4455extern "C" int yywrap ( void );
4456#else
4457extern int yywrap ( void );
4458#endif
4459#endif
4460
4461#ifndef YY_NO_UNPUT
4462
4463#endif
4464
4465#ifndef yytext_ptr
4466static void yy_flex_strncpy ( char *, const char *, int );
4467#endif
4468
4469#ifdef YY_NEED_STRLEN
4470static int yy_flex_strlen ( const char * );
4471#endif
4472
4473#ifndef YY_NO_INPUT
4474#ifdef __cplusplus
4475static int yyinput ( void );
4476#else
4477static int input ( void );
4478#endif
4479
4480#endif
4481
4482/* Amount of stuff to slurp up with each read. */
4483#ifndef YY_READ_BUF_SIZE
4484#ifdef __ia64__
4485/* On IA-64, the buffer size is 16k, not 8k */
4486#define YY_READ_BUF_SIZE 16384
4487#else
4488#define YY_READ_BUF_SIZE 8192
4489#endif /* __ia64__ */
4490#endif
4491
4492/* Copy whatever the last rule matched to the standard output. */
4493#ifndef ECHO
4494/* This used to be an fputs(), but since the string might contain NUL's,
4495 * we now use fwrite().
4496 */
4497#define ECHO do { if (fwrite( yytext, (size_t) yyleng, 1, yyout )) {} } while (0)
4498#endif
4499
4500/* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
4501 * is returned in "result".
4502 */
4503#ifndef YY_INPUT
4504#define YY_INPUT(buf,result,max_size) \
4505	if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
4506		{ \
4507		int c = '*'; \
4508		int n; \
4509		for ( n = 0; n < max_size && \
4510			     (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
4511			buf[n] = (char) c; \
4512		if ( c == '\n' ) \
4513			buf[n++] = (char) c; \
4514		if ( c == EOF && ferror( yyin ) ) \
4515			YY_FATAL_ERROR( "input in flex scanner failed" ); \
4516		result = n; \
4517		} \
4518	else \
4519		{ \
4520		errno=0; \
4521		while ( (result = (int) fread(buf, 1, (yy_size_t) max_size, yyin)) == 0 && ferror(yyin)) \
4522			{ \
4523			if( errno != EINTR) \
4524				{ \
4525				YY_FATAL_ERROR( "input in flex scanner failed" ); \
4526				break; \
4527				} \
4528			errno=0; \
4529			clearerr(yyin); \
4530			} \
4531		}\
4532\
4533
4534#endif
4535
4536/* No semi-colon after return; correct usage is to write "yyterminate();" -
4537 * we don't want an extra ';' after the "return" because that will cause
4538 * some compilers to complain about unreachable statements.
4539 */
4540#ifndef yyterminate
4541#define yyterminate() return YY_NULL
4542#endif
4543
4544/* Number of entries by which start-condition stack grows. */
4545#ifndef YY_START_STACK_INCR
4546#define YY_START_STACK_INCR 25
4547#endif
4548
4549/* Report a fatal error. */
4550#ifndef YY_FATAL_ERROR
4551#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
4552#endif
4553
4554/* end tables serialization structures and prototypes */
4555
4556/* Default declaration of generated scanner - a define so the user can
4557 * easily add parameters.
4558 */
4559#ifndef YY_DECL
4560#define YY_DECL_IS_OURS 1
4561
4562extern int yylex (void);
4563
4564#define YY_DECL int yylex (void)
4565#endif /* !YY_DECL */
4566
4567/* Code executed at the beginning of each rule, after yytext and yyleng
4568 * have been set up.
4569 */
4570#ifndef YY_USER_ACTION
4571#define YY_USER_ACTION
4572#endif
4573
4574/* Code executed at the end of each rule. */
4575#ifndef YY_BREAK
4576#define YY_BREAK /*LINTED*/break;
4577#endif
4578
4579#define YY_RULE_SETUP \
4580	YY_USER_ACTION
4581
4582/** The main scanner function which does all the work.
4583 */
4584YY_DECL
4585{
4586	yy_state_type yy_current_state;
4587	char *yy_cp, *yy_bp;
4588	int yy_act;
4589
4590	if ( !(yy_init) )
4591		{
4592		(yy_init) = 1;
4593
4594#ifdef YY_USER_INIT
4595		YY_USER_INIT;
4596#endif
4597
4598		if ( ! (yy_start) )
4599			(yy_start) = 1;	/* first start state */
4600
4601		if ( ! yyin )
4602			yyin = stdin;
4603
4604		if ( ! yyout )
4605			yyout = stdout;
4606
4607		if ( ! YY_CURRENT_BUFFER ) {
4608			yyensure_buffer_stack ();
4609			YY_CURRENT_BUFFER_LVALUE =
4610				yy_create_buffer( yyin, YY_BUF_SIZE );
4611		}
4612
4613		yy_load_buffer_state(  );
4614		}
4615
4616	{
4617#line 211 "util/configlexer.lex"
4618
4619#line 4617 "<stdout>"
4620
4621	while ( /*CONSTCOND*/1 )		/* loops until end-of-file is reached */
4622		{
4623		(yy_more_len) = 0;
4624		if ( (yy_more_flag) )
4625			{
4626			(yy_more_len) = (int) ((yy_c_buf_p) - (yytext_ptr));
4627			(yy_more_flag) = 0;
4628			}
4629		yy_cp = (yy_c_buf_p);
4630
4631		/* Support of yytext. */
4632		*yy_cp = (yy_hold_char);
4633
4634		/* yy_bp points to the position in yy_ch_buf of the start of
4635		 * the current run.
4636		 */
4637		yy_bp = yy_cp;
4638
4639		yy_current_state = (yy_start);
4640yy_match:
4641		do
4642			{
4643			YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)] ;
4644			if ( yy_accept[yy_current_state] )
4645				{
4646				(yy_last_accepting_state) = yy_current_state;
4647				(yy_last_accepting_cpos) = yy_cp;
4648				}
4649			while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
4650				{
4651				yy_current_state = (int) yy_def[yy_current_state];
4652				if ( yy_current_state >= 3905 )
4653					yy_c = yy_meta[yy_c];
4654				}
4655			yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
4656			++yy_cp;
4657			}
4658		while ( yy_base[yy_current_state] != 11109 );
4659
4660yy_find_action:
4661		yy_act = yy_accept[yy_current_state];
4662		if ( yy_act == 0 )
4663			{ /* have to back up */
4664			yy_cp = (yy_last_accepting_cpos);
4665			yy_current_state = (yy_last_accepting_state);
4666			yy_act = yy_accept[yy_current_state];
4667			}
4668
4669		YY_DO_BEFORE_ACTION;
4670
4671do_action:	/* This label is used only to access EOF actions. */
4672
4673		switch ( yy_act )
4674	{ /* beginning of action switch */
4675			case 0: /* must back up */
4676			/* undo the effects of YY_DO_BEFORE_ACTION */
4677			*yy_cp = (yy_hold_char);
4678			yy_cp = (yy_last_accepting_cpos);
4679			yy_current_state = (yy_last_accepting_state);
4680			goto yy_find_action;
4681
4682case 1:
4683YY_RULE_SETUP
4684#line 212 "util/configlexer.lex"
4685{
4686	LEXOUT(("SP ")); /* ignore */ }
4687	YY_BREAK
4688case 2:
4689YY_RULE_SETUP
4690#line 214 "util/configlexer.lex"
4691{
4692	/* note that flex makes the longest match and '.' is any but not nl */
4693	LEXOUT(("comment(%s) ", yytext)); /* ignore */ }
4694	YY_BREAK
4695case 3:
4696YY_RULE_SETUP
4697#line 217 "util/configlexer.lex"
4698{ YDVAR(0, VAR_SERVER) }
4699	YY_BREAK
4700case 4:
4701YY_RULE_SETUP
4702#line 218 "util/configlexer.lex"
4703{ YDVAR(1, VAR_QNAME_MINIMISATION) }
4704	YY_BREAK
4705case 5:
4706YY_RULE_SETUP
4707#line 219 "util/configlexer.lex"
4708{ YDVAR(1, VAR_QNAME_MINIMISATION_STRICT) }
4709	YY_BREAK
4710case 6:
4711YY_RULE_SETUP
4712#line 220 "util/configlexer.lex"
4713{ YDVAR(1, VAR_NUM_THREADS) }
4714	YY_BREAK
4715case 7:
4716YY_RULE_SETUP
4717#line 221 "util/configlexer.lex"
4718{ YDVAR(1, VAR_VERBOSITY) }
4719	YY_BREAK
4720case 8:
4721YY_RULE_SETUP
4722#line 222 "util/configlexer.lex"
4723{ YDVAR(1, VAR_PORT) }
4724	YY_BREAK
4725case 9:
4726YY_RULE_SETUP
4727#line 223 "util/configlexer.lex"
4728{ YDVAR(1, VAR_OUTGOING_RANGE) }
4729	YY_BREAK
4730case 10:
4731YY_RULE_SETUP
4732#line 224 "util/configlexer.lex"
4733{ YDVAR(1, VAR_OUTGOING_PORT_PERMIT) }
4734	YY_BREAK
4735case 11:
4736YY_RULE_SETUP
4737#line 225 "util/configlexer.lex"
4738{ YDVAR(1, VAR_OUTGOING_PORT_AVOID) }
4739	YY_BREAK
4740case 12:
4741YY_RULE_SETUP
4742#line 226 "util/configlexer.lex"
4743{ YDVAR(1, VAR_OUTGOING_NUM_TCP) }
4744	YY_BREAK
4745case 13:
4746YY_RULE_SETUP
4747#line 227 "util/configlexer.lex"
4748{ YDVAR(1, VAR_INCOMING_NUM_TCP) }
4749	YY_BREAK
4750case 14:
4751YY_RULE_SETUP
4752#line 228 "util/configlexer.lex"
4753{ YDVAR(1, VAR_DO_IP4) }
4754	YY_BREAK
4755case 15:
4756YY_RULE_SETUP
4757#line 229 "util/configlexer.lex"
4758{ YDVAR(1, VAR_DO_IP6) }
4759	YY_BREAK
4760case 16:
4761YY_RULE_SETUP
4762#line 230 "util/configlexer.lex"
4763{ YDVAR(1, VAR_DO_NAT64) }
4764	YY_BREAK
4765case 17:
4766YY_RULE_SETUP
4767#line 231 "util/configlexer.lex"
4768{ YDVAR(1, VAR_PREFER_IP4) }
4769	YY_BREAK
4770case 18:
4771YY_RULE_SETUP
4772#line 232 "util/configlexer.lex"
4773{ YDVAR(1, VAR_PREFER_IP6) }
4774	YY_BREAK
4775case 19:
4776YY_RULE_SETUP
4777#line 233 "util/configlexer.lex"
4778{ YDVAR(1, VAR_DO_UDP) }
4779	YY_BREAK
4780case 20:
4781YY_RULE_SETUP
4782#line 234 "util/configlexer.lex"
4783{ YDVAR(1, VAR_DO_TCP) }
4784	YY_BREAK
4785case 21:
4786YY_RULE_SETUP
4787#line 235 "util/configlexer.lex"
4788{ YDVAR(1, VAR_TCP_UPSTREAM) }
4789	YY_BREAK
4790case 22:
4791YY_RULE_SETUP
4792#line 236 "util/configlexer.lex"
4793{ YDVAR(1, VAR_TCP_MSS) }
4794	YY_BREAK
4795case 23:
4796YY_RULE_SETUP
4797#line 237 "util/configlexer.lex"
4798{ YDVAR(1, VAR_OUTGOING_TCP_MSS) }
4799	YY_BREAK
4800case 24:
4801YY_RULE_SETUP
4802#line 238 "util/configlexer.lex"
4803{ YDVAR(1, VAR_TCP_IDLE_TIMEOUT) }
4804	YY_BREAK
4805case 25:
4806YY_RULE_SETUP
4807#line 239 "util/configlexer.lex"
4808{ YDVAR(1, VAR_MAX_REUSE_TCP_QUERIES) }
4809	YY_BREAK
4810case 26:
4811YY_RULE_SETUP
4812#line 240 "util/configlexer.lex"
4813{ YDVAR(1, VAR_TCP_REUSE_TIMEOUT) }
4814	YY_BREAK
4815case 27:
4816YY_RULE_SETUP
4817#line 241 "util/configlexer.lex"
4818{ YDVAR(1, VAR_TCP_AUTH_QUERY_TIMEOUT) }
4819	YY_BREAK
4820case 28:
4821YY_RULE_SETUP
4822#line 242 "util/configlexer.lex"
4823{ YDVAR(1, VAR_EDNS_TCP_KEEPALIVE) }
4824	YY_BREAK
4825case 29:
4826YY_RULE_SETUP
4827#line 243 "util/configlexer.lex"
4828{ YDVAR(1, VAR_EDNS_TCP_KEEPALIVE_TIMEOUT) }
4829	YY_BREAK
4830case 30:
4831YY_RULE_SETUP
4832#line 244 "util/configlexer.lex"
4833{ YDVAR(1, VAR_SOCK_QUEUE_TIMEOUT) }
4834	YY_BREAK
4835case 31:
4836YY_RULE_SETUP
4837#line 245 "util/configlexer.lex"
4838{ YDVAR(1, VAR_SSL_UPSTREAM) }
4839	YY_BREAK
4840case 32:
4841YY_RULE_SETUP
4842#line 246 "util/configlexer.lex"
4843{ YDVAR(1, VAR_SSL_UPSTREAM) }
4844	YY_BREAK
4845case 33:
4846YY_RULE_SETUP
4847#line 247 "util/configlexer.lex"
4848{ YDVAR(1, VAR_SSL_SERVICE_KEY) }
4849	YY_BREAK
4850case 34:
4851YY_RULE_SETUP
4852#line 248 "util/configlexer.lex"
4853{ YDVAR(1, VAR_SSL_SERVICE_KEY) }
4854	YY_BREAK
4855case 35:
4856YY_RULE_SETUP
4857#line 249 "util/configlexer.lex"
4858{ YDVAR(1, VAR_SSL_SERVICE_PEM) }
4859	YY_BREAK
4860case 36:
4861YY_RULE_SETUP
4862#line 250 "util/configlexer.lex"
4863{ YDVAR(1, VAR_SSL_SERVICE_PEM) }
4864	YY_BREAK
4865case 37:
4866YY_RULE_SETUP
4867#line 251 "util/configlexer.lex"
4868{ YDVAR(1, VAR_SSL_PORT) }
4869	YY_BREAK
4870case 38:
4871YY_RULE_SETUP
4872#line 252 "util/configlexer.lex"
4873{ YDVAR(1, VAR_SSL_PORT) }
4874	YY_BREAK
4875case 39:
4876YY_RULE_SETUP
4877#line 253 "util/configlexer.lex"
4878{ YDVAR(1, VAR_TLS_CERT_BUNDLE) }
4879	YY_BREAK
4880case 40:
4881YY_RULE_SETUP
4882#line 254 "util/configlexer.lex"
4883{ YDVAR(1, VAR_TLS_CERT_BUNDLE) }
4884	YY_BREAK
4885case 41:
4886YY_RULE_SETUP
4887#line 255 "util/configlexer.lex"
4888{ YDVAR(1, VAR_TLS_WIN_CERT) }
4889	YY_BREAK
4890case 42:
4891YY_RULE_SETUP
4892#line 256 "util/configlexer.lex"
4893{ YDVAR(1, VAR_TLS_WIN_CERT) }
4894	YY_BREAK
4895case 43:
4896YY_RULE_SETUP
4897#line 257 "util/configlexer.lex"
4898{ YDVAR(1, VAR_TLS_ADDITIONAL_PORT) }
4899	YY_BREAK
4900case 44:
4901YY_RULE_SETUP
4902#line 258 "util/configlexer.lex"
4903{ YDVAR(1, VAR_TLS_ADDITIONAL_PORT) }
4904	YY_BREAK
4905case 45:
4906YY_RULE_SETUP
4907#line 259 "util/configlexer.lex"
4908{ YDVAR(1, VAR_TLS_ADDITIONAL_PORT) }
4909	YY_BREAK
4910case 46:
4911YY_RULE_SETUP
4912#line 260 "util/configlexer.lex"
4913{ YDVAR(1, VAR_TLS_ADDITIONAL_PORT) }
4914	YY_BREAK
4915case 47:
4916YY_RULE_SETUP
4917#line 261 "util/configlexer.lex"
4918{ YDVAR(1, VAR_TLS_SESSION_TICKET_KEYS) }
4919	YY_BREAK
4920case 48:
4921YY_RULE_SETUP
4922#line 262 "util/configlexer.lex"
4923{ YDVAR(1, VAR_TLS_CIPHERS) }
4924	YY_BREAK
4925case 49:
4926YY_RULE_SETUP
4927#line 263 "util/configlexer.lex"
4928{ YDVAR(1, VAR_TLS_CIPHERSUITES) }
4929	YY_BREAK
4930case 50:
4931YY_RULE_SETUP
4932#line 264 "util/configlexer.lex"
4933{ YDVAR(1, VAR_TLS_USE_SNI) }
4934	YY_BREAK
4935case 51:
4936YY_RULE_SETUP
4937#line 265 "util/configlexer.lex"
4938{ YDVAR(1, VAR_HTTPS_PORT) }
4939	YY_BREAK
4940case 52:
4941YY_RULE_SETUP
4942#line 266 "util/configlexer.lex"
4943{ YDVAR(1, VAR_HTTP_ENDPOINT) }
4944	YY_BREAK
4945case 53:
4946YY_RULE_SETUP
4947#line 267 "util/configlexer.lex"
4948{ YDVAR(1, VAR_HTTP_MAX_STREAMS) }
4949	YY_BREAK
4950case 54:
4951YY_RULE_SETUP
4952#line 268 "util/configlexer.lex"
4953{ YDVAR(1, VAR_HTTP_QUERY_BUFFER_SIZE) }
4954	YY_BREAK
4955case 55:
4956YY_RULE_SETUP
4957#line 269 "util/configlexer.lex"
4958{ YDVAR(1, VAR_HTTP_RESPONSE_BUFFER_SIZE) }
4959	YY_BREAK
4960case 56:
4961YY_RULE_SETUP
4962#line 270 "util/configlexer.lex"
4963{ YDVAR(1, VAR_HTTP_NODELAY) }
4964	YY_BREAK
4965case 57:
4966YY_RULE_SETUP
4967#line 271 "util/configlexer.lex"
4968{ YDVAR(1, VAR_HTTP_NOTLS_DOWNSTREAM) }
4969	YY_BREAK
4970case 58:
4971YY_RULE_SETUP
4972#line 272 "util/configlexer.lex"
4973{ YDVAR(1, VAR_USE_SYSTEMD) }
4974	YY_BREAK
4975case 59:
4976YY_RULE_SETUP
4977#line 273 "util/configlexer.lex"
4978{ YDVAR(1, VAR_DO_DAEMONIZE) }
4979	YY_BREAK
4980case 60:
4981YY_RULE_SETUP
4982#line 274 "util/configlexer.lex"
4983{ YDVAR(1, VAR_INTERFACE) }
4984	YY_BREAK
4985case 61:
4986YY_RULE_SETUP
4987#line 275 "util/configlexer.lex"
4988{ YDVAR(1, VAR_INTERFACE) }
4989	YY_BREAK
4990case 62:
4991YY_RULE_SETUP
4992#line 276 "util/configlexer.lex"
4993{ YDVAR(1, VAR_OUTGOING_INTERFACE) }
4994	YY_BREAK
4995case 63:
4996YY_RULE_SETUP
4997#line 277 "util/configlexer.lex"
4998{ YDVAR(1, VAR_INTERFACE_AUTOMATIC) }
4999	YY_BREAK
5000case 64:
5001YY_RULE_SETUP
5002#line 278 "util/configlexer.lex"
5003{ YDVAR(1, VAR_INTERFACE_AUTOMATIC_PORTS) }
5004	YY_BREAK
5005case 65:
5006YY_RULE_SETUP
5007#line 279 "util/configlexer.lex"
5008{ YDVAR(1, VAR_SO_RCVBUF) }
5009	YY_BREAK
5010case 66:
5011YY_RULE_SETUP
5012#line 280 "util/configlexer.lex"
5013{ YDVAR(1, VAR_SO_SNDBUF) }
5014	YY_BREAK
5015case 67:
5016YY_RULE_SETUP
5017#line 281 "util/configlexer.lex"
5018{ YDVAR(1, VAR_SO_REUSEPORT) }
5019	YY_BREAK
5020case 68:
5021YY_RULE_SETUP
5022#line 282 "util/configlexer.lex"
5023{ YDVAR(1, VAR_IP_TRANSPARENT) }
5024	YY_BREAK
5025case 69:
5026YY_RULE_SETUP
5027#line 283 "util/configlexer.lex"
5028{ YDVAR(1, VAR_IP_FREEBIND) }
5029	YY_BREAK
5030case 70:
5031YY_RULE_SETUP
5032#line 284 "util/configlexer.lex"
5033{ YDVAR(1, VAR_IP_DSCP) }
5034	YY_BREAK
5035case 71:
5036YY_RULE_SETUP
5037#line 285 "util/configlexer.lex"
5038{ YDVAR(1, VAR_CHROOT) }
5039	YY_BREAK
5040case 72:
5041YY_RULE_SETUP
5042#line 286 "util/configlexer.lex"
5043{ YDVAR(1, VAR_USERNAME) }
5044	YY_BREAK
5045case 73:
5046YY_RULE_SETUP
5047#line 287 "util/configlexer.lex"
5048{ YDVAR(1, VAR_DIRECTORY) }
5049	YY_BREAK
5050case 74:
5051YY_RULE_SETUP
5052#line 288 "util/configlexer.lex"
5053{ YDVAR(1, VAR_LOGFILE) }
5054	YY_BREAK
5055case 75:
5056YY_RULE_SETUP
5057#line 289 "util/configlexer.lex"
5058{ YDVAR(1, VAR_PIDFILE) }
5059	YY_BREAK
5060case 76:
5061YY_RULE_SETUP
5062#line 290 "util/configlexer.lex"
5063{ YDVAR(1, VAR_ROOT_HINTS) }
5064	YY_BREAK
5065case 77:
5066YY_RULE_SETUP
5067#line 291 "util/configlexer.lex"
5068{ YDVAR(1, VAR_STREAM_WAIT_SIZE) }
5069	YY_BREAK
5070case 78:
5071YY_RULE_SETUP
5072#line 292 "util/configlexer.lex"
5073{ YDVAR(1, VAR_EDNS_BUFFER_SIZE) }
5074	YY_BREAK
5075case 79:
5076YY_RULE_SETUP
5077#line 293 "util/configlexer.lex"
5078{ YDVAR(1, VAR_MSG_BUFFER_SIZE) }
5079	YY_BREAK
5080case 80:
5081YY_RULE_SETUP
5082#line 294 "util/configlexer.lex"
5083{ YDVAR(1, VAR_MSG_CACHE_SIZE) }
5084	YY_BREAK
5085case 81:
5086YY_RULE_SETUP
5087#line 295 "util/configlexer.lex"
5088{ YDVAR(1, VAR_MSG_CACHE_SLABS) }
5089	YY_BREAK
5090case 82:
5091YY_RULE_SETUP
5092#line 296 "util/configlexer.lex"
5093{ YDVAR(1, VAR_RRSET_CACHE_SIZE) }
5094	YY_BREAK
5095case 83:
5096YY_RULE_SETUP
5097#line 297 "util/configlexer.lex"
5098{ YDVAR(1, VAR_RRSET_CACHE_SLABS) }
5099	YY_BREAK
5100case 84:
5101YY_RULE_SETUP
5102#line 298 "util/configlexer.lex"
5103{ YDVAR(1, VAR_CACHE_MAX_TTL) }
5104	YY_BREAK
5105case 85:
5106YY_RULE_SETUP
5107#line 299 "util/configlexer.lex"
5108{ YDVAR(1, VAR_CACHE_MAX_NEGATIVE_TTL) }
5109	YY_BREAK
5110case 86:
5111YY_RULE_SETUP
5112#line 300 "util/configlexer.lex"
5113{ YDVAR(1, VAR_CACHE_MIN_NEGATIVE_TTL) }
5114	YY_BREAK
5115case 87:
5116YY_RULE_SETUP
5117#line 301 "util/configlexer.lex"
5118{ YDVAR(1, VAR_CACHE_MIN_TTL) }
5119	YY_BREAK
5120case 88:
5121YY_RULE_SETUP
5122#line 302 "util/configlexer.lex"
5123{ YDVAR(1, VAR_INFRA_HOST_TTL) }
5124	YY_BREAK
5125case 89:
5126YY_RULE_SETUP
5127#line 303 "util/configlexer.lex"
5128{ YDVAR(1, VAR_INFRA_LAME_TTL) }
5129	YY_BREAK
5130case 90:
5131YY_RULE_SETUP
5132#line 304 "util/configlexer.lex"
5133{ YDVAR(1, VAR_INFRA_CACHE_SLABS) }
5134	YY_BREAK
5135case 91:
5136YY_RULE_SETUP
5137#line 305 "util/configlexer.lex"
5138{ YDVAR(1, VAR_INFRA_CACHE_NUMHOSTS) }
5139	YY_BREAK
5140case 92:
5141YY_RULE_SETUP
5142#line 306 "util/configlexer.lex"
5143{ YDVAR(1, VAR_INFRA_CACHE_LAME_SIZE) }
5144	YY_BREAK
5145case 93:
5146YY_RULE_SETUP
5147#line 307 "util/configlexer.lex"
5148{ YDVAR(1, VAR_INFRA_CACHE_MIN_RTT) }
5149	YY_BREAK
5150case 94:
5151YY_RULE_SETUP
5152#line 308 "util/configlexer.lex"
5153{ YDVAR(1, VAR_INFRA_CACHE_MAX_RTT) }
5154	YY_BREAK
5155case 95:
5156YY_RULE_SETUP
5157#line 309 "util/configlexer.lex"
5158{ YDVAR(1, VAR_INFRA_KEEP_PROBING) }
5159	YY_BREAK
5160case 96:
5161YY_RULE_SETUP
5162#line 310 "util/configlexer.lex"
5163{ YDVAR(1, VAR_NUM_QUERIES_PER_THREAD) }
5164	YY_BREAK
5165case 97:
5166YY_RULE_SETUP
5167#line 311 "util/configlexer.lex"
5168{ YDVAR(1, VAR_JOSTLE_TIMEOUT) }
5169	YY_BREAK
5170case 98:
5171YY_RULE_SETUP
5172#line 312 "util/configlexer.lex"
5173{ YDVAR(1, VAR_DELAY_CLOSE) }
5174	YY_BREAK
5175case 99:
5176YY_RULE_SETUP
5177#line 313 "util/configlexer.lex"
5178{ YDVAR(1, VAR_UDP_CONNECT) }
5179	YY_BREAK
5180case 100:
5181YY_RULE_SETUP
5182#line 314 "util/configlexer.lex"
5183{ YDVAR(1, VAR_TARGET_FETCH_POLICY) }
5184	YY_BREAK
5185case 101:
5186YY_RULE_SETUP
5187#line 315 "util/configlexer.lex"
5188{ YDVAR(1, VAR_HARDEN_SHORT_BUFSIZE) }
5189	YY_BREAK
5190case 102:
5191YY_RULE_SETUP
5192#line 316 "util/configlexer.lex"
5193{ YDVAR(1, VAR_HARDEN_LARGE_QUERIES) }
5194	YY_BREAK
5195case 103:
5196YY_RULE_SETUP
5197#line 317 "util/configlexer.lex"
5198{ YDVAR(1, VAR_HARDEN_GLUE) }
5199	YY_BREAK
5200case 104:
5201YY_RULE_SETUP
5202#line 318 "util/configlexer.lex"
5203{ YDVAR(1, VAR_HARDEN_DNSSEC_STRIPPED) }
5204	YY_BREAK
5205case 105:
5206YY_RULE_SETUP
5207#line 319 "util/configlexer.lex"
5208{ YDVAR(1, VAR_HARDEN_BELOW_NXDOMAIN) }
5209	YY_BREAK
5210case 106:
5211YY_RULE_SETUP
5212#line 320 "util/configlexer.lex"
5213{ YDVAR(1, VAR_HARDEN_REFERRAL_PATH) }
5214	YY_BREAK
5215case 107:
5216YY_RULE_SETUP
5217#line 321 "util/configlexer.lex"
5218{ YDVAR(1, VAR_HARDEN_ALGO_DOWNGRADE) }
5219	YY_BREAK
5220case 108:
5221YY_RULE_SETUP
5222#line 322 "util/configlexer.lex"
5223{ YDVAR(1, VAR_HARDEN_UNKNOWN_ADDITIONAL) }
5224	YY_BREAK
5225case 109:
5226YY_RULE_SETUP
5227#line 323 "util/configlexer.lex"
5228{ YDVAR(1, VAR_USE_CAPS_FOR_ID) }
5229	YY_BREAK
5230case 110:
5231YY_RULE_SETUP
5232#line 324 "util/configlexer.lex"
5233{ YDVAR(1, VAR_CAPS_WHITELIST) }
5234	YY_BREAK
5235case 111:
5236YY_RULE_SETUP
5237#line 325 "util/configlexer.lex"
5238{ YDVAR(1, VAR_CAPS_WHITELIST) }
5239	YY_BREAK
5240case 112:
5241YY_RULE_SETUP
5242#line 326 "util/configlexer.lex"
5243{ YDVAR(1, VAR_UNWANTED_REPLY_THRESHOLD) }
5244	YY_BREAK
5245case 113:
5246YY_RULE_SETUP
5247#line 327 "util/configlexer.lex"
5248{ YDVAR(1, VAR_PRIVATE_ADDRESS) }
5249	YY_BREAK
5250case 114:
5251YY_RULE_SETUP
5252#line 328 "util/configlexer.lex"
5253{ YDVAR(1, VAR_PRIVATE_DOMAIN) }
5254	YY_BREAK
5255case 115:
5256YY_RULE_SETUP
5257#line 329 "util/configlexer.lex"
5258{ YDVAR(1, VAR_PREFETCH_KEY) }
5259	YY_BREAK
5260case 116:
5261YY_RULE_SETUP
5262#line 330 "util/configlexer.lex"
5263{ YDVAR(1, VAR_PREFETCH) }
5264	YY_BREAK
5265case 117:
5266YY_RULE_SETUP
5267#line 331 "util/configlexer.lex"
5268{ YDVAR(1, VAR_DENY_ANY) }
5269	YY_BREAK
5270case 118:
5271YY_RULE_SETUP
5272#line 332 "util/configlexer.lex"
5273{ YDVAR(0, VAR_STUB_ZONE) }
5274	YY_BREAK
5275case 119:
5276YY_RULE_SETUP
5277#line 333 "util/configlexer.lex"
5278{ YDVAR(1, VAR_NAME) }
5279	YY_BREAK
5280case 120:
5281YY_RULE_SETUP
5282#line 334 "util/configlexer.lex"
5283{ YDVAR(1, VAR_STUB_ADDR) }
5284	YY_BREAK
5285case 121:
5286YY_RULE_SETUP
5287#line 335 "util/configlexer.lex"
5288{ YDVAR(1, VAR_STUB_HOST) }
5289	YY_BREAK
5290case 122:
5291YY_RULE_SETUP
5292#line 336 "util/configlexer.lex"
5293{ YDVAR(1, VAR_STUB_PRIME) }
5294	YY_BREAK
5295case 123:
5296YY_RULE_SETUP
5297#line 337 "util/configlexer.lex"
5298{ YDVAR(1, VAR_STUB_FIRST) }
5299	YY_BREAK
5300case 124:
5301YY_RULE_SETUP
5302#line 338 "util/configlexer.lex"
5303{ YDVAR(1, VAR_STUB_NO_CACHE) }
5304	YY_BREAK
5305case 125:
5306YY_RULE_SETUP
5307#line 339 "util/configlexer.lex"
5308{ YDVAR(1, VAR_STUB_SSL_UPSTREAM) }
5309	YY_BREAK
5310case 126:
5311YY_RULE_SETUP
5312#line 340 "util/configlexer.lex"
5313{ YDVAR(1, VAR_STUB_SSL_UPSTREAM) }
5314	YY_BREAK
5315case 127:
5316YY_RULE_SETUP
5317#line 341 "util/configlexer.lex"
5318{ YDVAR(1, VAR_STUB_TCP_UPSTREAM) }
5319	YY_BREAK
5320case 128:
5321YY_RULE_SETUP
5322#line 342 "util/configlexer.lex"
5323{ YDVAR(0, VAR_FORWARD_ZONE) }
5324	YY_BREAK
5325case 129:
5326YY_RULE_SETUP
5327#line 343 "util/configlexer.lex"
5328{ YDVAR(1, VAR_FORWARD_ADDR) }
5329	YY_BREAK
5330case 130:
5331YY_RULE_SETUP
5332#line 344 "util/configlexer.lex"
5333{ YDVAR(1, VAR_FORWARD_HOST) }
5334	YY_BREAK
5335case 131:
5336YY_RULE_SETUP
5337#line 345 "util/configlexer.lex"
5338{ YDVAR(1, VAR_FORWARD_FIRST) }
5339	YY_BREAK
5340case 132:
5341YY_RULE_SETUP
5342#line 346 "util/configlexer.lex"
5343{ YDVAR(1, VAR_FORWARD_NO_CACHE) }
5344	YY_BREAK
5345case 133:
5346YY_RULE_SETUP
5347#line 347 "util/configlexer.lex"
5348{ YDVAR(1, VAR_FORWARD_SSL_UPSTREAM) }
5349	YY_BREAK
5350case 134:
5351YY_RULE_SETUP
5352#line 348 "util/configlexer.lex"
5353{ YDVAR(1, VAR_FORWARD_SSL_UPSTREAM) }
5354	YY_BREAK
5355case 135:
5356YY_RULE_SETUP
5357#line 349 "util/configlexer.lex"
5358{ YDVAR(1, VAR_FORWARD_TCP_UPSTREAM) }
5359	YY_BREAK
5360case 136:
5361YY_RULE_SETUP
5362#line 350 "util/configlexer.lex"
5363{ YDVAR(0, VAR_AUTH_ZONE) }
5364	YY_BREAK
5365case 137:
5366YY_RULE_SETUP
5367#line 351 "util/configlexer.lex"
5368{ YDVAR(0, VAR_RPZ) }
5369	YY_BREAK
5370case 138:
5371YY_RULE_SETUP
5372#line 352 "util/configlexer.lex"
5373{ YDVAR(1, VAR_TAGS) }
5374	YY_BREAK
5375case 139:
5376YY_RULE_SETUP
5377#line 353 "util/configlexer.lex"
5378{ YDVAR(1, VAR_RPZ_ACTION_OVERRIDE) }
5379	YY_BREAK
5380case 140:
5381YY_RULE_SETUP
5382#line 354 "util/configlexer.lex"
5383{ YDVAR(1, VAR_RPZ_CNAME_OVERRIDE) }
5384	YY_BREAK
5385case 141:
5386YY_RULE_SETUP
5387#line 355 "util/configlexer.lex"
5388{ YDVAR(1, VAR_RPZ_LOG) }
5389	YY_BREAK
5390case 142:
5391YY_RULE_SETUP
5392#line 356 "util/configlexer.lex"
5393{ YDVAR(1, VAR_RPZ_LOG_NAME) }
5394	YY_BREAK
5395case 143:
5396YY_RULE_SETUP
5397#line 357 "util/configlexer.lex"
5398{ YDVAR(1, VAR_RPZ_SIGNAL_NXDOMAIN_RA) }
5399	YY_BREAK
5400case 144:
5401YY_RULE_SETUP
5402#line 358 "util/configlexer.lex"
5403{ YDVAR(1, VAR_ZONEFILE) }
5404	YY_BREAK
5405case 145:
5406YY_RULE_SETUP
5407#line 359 "util/configlexer.lex"
5408{ YDVAR(1, VAR_MASTER) }
5409	YY_BREAK
5410case 146:
5411YY_RULE_SETUP
5412#line 360 "util/configlexer.lex"
5413{ YDVAR(1, VAR_MASTER) }
5414	YY_BREAK
5415case 147:
5416YY_RULE_SETUP
5417#line 361 "util/configlexer.lex"
5418{ YDVAR(1, VAR_URL) }
5419	YY_BREAK
5420case 148:
5421YY_RULE_SETUP
5422#line 362 "util/configlexer.lex"
5423{ YDVAR(1, VAR_ALLOW_NOTIFY) }
5424	YY_BREAK
5425case 149:
5426YY_RULE_SETUP
5427#line 363 "util/configlexer.lex"
5428{ YDVAR(1, VAR_FOR_DOWNSTREAM) }
5429	YY_BREAK
5430case 150:
5431YY_RULE_SETUP
5432#line 364 "util/configlexer.lex"
5433{ YDVAR(1, VAR_FOR_UPSTREAM) }
5434	YY_BREAK
5435case 151:
5436YY_RULE_SETUP
5437#line 365 "util/configlexer.lex"
5438{ YDVAR(1, VAR_FALLBACK_ENABLED) }
5439	YY_BREAK
5440case 152:
5441YY_RULE_SETUP
5442#line 366 "util/configlexer.lex"
5443{ YDVAR(0, VAR_VIEW) }
5444	YY_BREAK
5445case 153:
5446YY_RULE_SETUP
5447#line 367 "util/configlexer.lex"
5448{ YDVAR(1, VAR_VIEW_FIRST) }
5449	YY_BREAK
5450case 154:
5451YY_RULE_SETUP
5452#line 368 "util/configlexer.lex"
5453{ YDVAR(1, VAR_DO_NOT_QUERY_ADDRESS) }
5454	YY_BREAK
5455case 155:
5456YY_RULE_SETUP
5457#line 369 "util/configlexer.lex"
5458{ YDVAR(1, VAR_DO_NOT_QUERY_LOCALHOST) }
5459	YY_BREAK
5460case 156:
5461YY_RULE_SETUP
5462#line 370 "util/configlexer.lex"
5463{ YDVAR(2, VAR_ACCESS_CONTROL) }
5464	YY_BREAK
5465case 157:
5466YY_RULE_SETUP
5467#line 371 "util/configlexer.lex"
5468{ YDVAR(2, VAR_INTERFACE_ACTION) }
5469	YY_BREAK
5470case 158:
5471YY_RULE_SETUP
5472#line 372 "util/configlexer.lex"
5473{ YDVAR(1, VAR_SEND_CLIENT_SUBNET) }
5474	YY_BREAK
5475case 159:
5476YY_RULE_SETUP
5477#line 373 "util/configlexer.lex"
5478{ YDVAR(1, VAR_CLIENT_SUBNET_ZONE) }
5479	YY_BREAK
5480case 160:
5481YY_RULE_SETUP
5482#line 374 "util/configlexer.lex"
5483{ YDVAR(1, VAR_CLIENT_SUBNET_ALWAYS_FORWARD) }
5484	YY_BREAK
5485case 161:
5486YY_RULE_SETUP
5487#line 375 "util/configlexer.lex"
5488{ YDVAR(1, VAR_CLIENT_SUBNET_OPCODE) }
5489	YY_BREAK
5490case 162:
5491YY_RULE_SETUP
5492#line 376 "util/configlexer.lex"
5493{ YDVAR(1, VAR_MAX_CLIENT_SUBNET_IPV4) }
5494	YY_BREAK
5495case 163:
5496YY_RULE_SETUP
5497#line 377 "util/configlexer.lex"
5498{ YDVAR(1, VAR_MAX_CLIENT_SUBNET_IPV6) }
5499	YY_BREAK
5500case 164:
5501YY_RULE_SETUP
5502#line 378 "util/configlexer.lex"
5503{ YDVAR(1, VAR_MIN_CLIENT_SUBNET_IPV4) }
5504	YY_BREAK
5505case 165:
5506YY_RULE_SETUP
5507#line 379 "util/configlexer.lex"
5508{ YDVAR(1, VAR_MIN_CLIENT_SUBNET_IPV6) }
5509	YY_BREAK
5510case 166:
5511YY_RULE_SETUP
5512#line 380 "util/configlexer.lex"
5513{ YDVAR(1, VAR_MAX_ECS_TREE_SIZE_IPV4) }
5514	YY_BREAK
5515case 167:
5516YY_RULE_SETUP
5517#line 381 "util/configlexer.lex"
5518{ YDVAR(1, VAR_MAX_ECS_TREE_SIZE_IPV6) }
5519	YY_BREAK
5520case 168:
5521YY_RULE_SETUP
5522#line 382 "util/configlexer.lex"
5523{ YDVAR(1, VAR_HIDE_IDENTITY) }
5524	YY_BREAK
5525case 169:
5526YY_RULE_SETUP
5527#line 383 "util/configlexer.lex"
5528{ YDVAR(1, VAR_HIDE_VERSION) }
5529	YY_BREAK
5530case 170:
5531YY_RULE_SETUP
5532#line 384 "util/configlexer.lex"
5533{ YDVAR(1, VAR_HIDE_TRUSTANCHOR) }
5534	YY_BREAK
5535case 171:
5536YY_RULE_SETUP
5537#line 385 "util/configlexer.lex"
5538{ YDVAR(1, VAR_HIDE_HTTP_USER_AGENT) }
5539	YY_BREAK
5540case 172:
5541YY_RULE_SETUP
5542#line 386 "util/configlexer.lex"
5543{ YDVAR(1, VAR_IDENTITY) }
5544	YY_BREAK
5545case 173:
5546YY_RULE_SETUP
5547#line 387 "util/configlexer.lex"
5548{ YDVAR(1, VAR_VERSION) }
5549	YY_BREAK
5550case 174:
5551YY_RULE_SETUP
5552#line 388 "util/configlexer.lex"
5553{ YDVAR(1, VAR_HTTP_USER_AGENT) }
5554	YY_BREAK
5555case 175:
5556YY_RULE_SETUP
5557#line 389 "util/configlexer.lex"
5558{ YDVAR(1, VAR_MODULE_CONF) }
5559	YY_BREAK
5560case 176:
5561YY_RULE_SETUP
5562#line 390 "util/configlexer.lex"
5563{ YDVAR(1, VAR_DLV_ANCHOR) }
5564	YY_BREAK
5565case 177:
5566YY_RULE_SETUP
5567#line 391 "util/configlexer.lex"
5568{ YDVAR(1, VAR_DLV_ANCHOR_FILE) }
5569	YY_BREAK
5570case 178:
5571YY_RULE_SETUP
5572#line 392 "util/configlexer.lex"
5573{ YDVAR(1, VAR_TRUST_ANCHOR_FILE) }
5574	YY_BREAK
5575case 179:
5576YY_RULE_SETUP
5577#line 393 "util/configlexer.lex"
5578{ YDVAR(1, VAR_AUTO_TRUST_ANCHOR_FILE) }
5579	YY_BREAK
5580case 180:
5581YY_RULE_SETUP
5582#line 394 "util/configlexer.lex"
5583{ YDVAR(1, VAR_TRUSTED_KEYS_FILE) }
5584	YY_BREAK
5585case 181:
5586YY_RULE_SETUP
5587#line 395 "util/configlexer.lex"
5588{ YDVAR(1, VAR_TRUST_ANCHOR) }
5589	YY_BREAK
5590case 182:
5591YY_RULE_SETUP
5592#line 396 "util/configlexer.lex"
5593{ YDVAR(1, VAR_TRUST_ANCHOR_SIGNALING) }
5594	YY_BREAK
5595case 183:
5596YY_RULE_SETUP
5597#line 397 "util/configlexer.lex"
5598{ YDVAR(1, VAR_ROOT_KEY_SENTINEL) }
5599	YY_BREAK
5600case 184:
5601YY_RULE_SETUP
5602#line 398 "util/configlexer.lex"
5603{ YDVAR(1, VAR_VAL_OVERRIDE_DATE) }
5604	YY_BREAK
5605case 185:
5606YY_RULE_SETUP
5607#line 399 "util/configlexer.lex"
5608{ YDVAR(1, VAR_VAL_SIG_SKEW_MIN) }
5609	YY_BREAK
5610case 186:
5611YY_RULE_SETUP
5612#line 400 "util/configlexer.lex"
5613{ YDVAR(1, VAR_VAL_SIG_SKEW_MAX) }
5614	YY_BREAK
5615case 187:
5616YY_RULE_SETUP
5617#line 401 "util/configlexer.lex"
5618{ YDVAR(1, VAR_VAL_MAX_RESTART) }
5619	YY_BREAK
5620case 188:
5621YY_RULE_SETUP
5622#line 402 "util/configlexer.lex"
5623{ YDVAR(1, VAR_BOGUS_TTL) }
5624	YY_BREAK
5625case 189:
5626YY_RULE_SETUP
5627#line 403 "util/configlexer.lex"
5628{ YDVAR(1, VAR_VAL_CLEAN_ADDITIONAL) }
5629	YY_BREAK
5630case 190:
5631YY_RULE_SETUP
5632#line 404 "util/configlexer.lex"
5633{ YDVAR(1, VAR_VAL_PERMISSIVE_MODE) }
5634	YY_BREAK
5635case 191:
5636YY_RULE_SETUP
5637#line 405 "util/configlexer.lex"
5638{ YDVAR(1, VAR_AGGRESSIVE_NSEC) }
5639	YY_BREAK
5640case 192:
5641YY_RULE_SETUP
5642#line 406 "util/configlexer.lex"
5643{ YDVAR(1, VAR_IGNORE_CD_FLAG) }
5644	YY_BREAK
5645case 193:
5646YY_RULE_SETUP
5647#line 407 "util/configlexer.lex"
5648{ YDVAR(1, VAR_DISABLE_EDNS_DO) }
5649	YY_BREAK
5650case 194:
5651YY_RULE_SETUP
5652#line 408 "util/configlexer.lex"
5653{ YDVAR(1, VAR_SERVE_EXPIRED) }
5654	YY_BREAK
5655case 195:
5656YY_RULE_SETUP
5657#line 409 "util/configlexer.lex"
5658{ YDVAR(1, VAR_SERVE_EXPIRED_TTL) }
5659	YY_BREAK
5660case 196:
5661YY_RULE_SETUP
5662#line 410 "util/configlexer.lex"
5663{ YDVAR(1, VAR_SERVE_EXPIRED_TTL_RESET) }
5664	YY_BREAK
5665case 197:
5666YY_RULE_SETUP
5667#line 411 "util/configlexer.lex"
5668{ YDVAR(1, VAR_SERVE_EXPIRED_REPLY_TTL) }
5669	YY_BREAK
5670case 198:
5671YY_RULE_SETUP
5672#line 412 "util/configlexer.lex"
5673{ YDVAR(1, VAR_SERVE_EXPIRED_CLIENT_TIMEOUT) }
5674	YY_BREAK
5675case 199:
5676YY_RULE_SETUP
5677#line 413 "util/configlexer.lex"
5678{ YDVAR(1, VAR_EDE_SERVE_EXPIRED) }
5679	YY_BREAK
5680case 200:
5681YY_RULE_SETUP
5682#line 414 "util/configlexer.lex"
5683{ YDVAR(1, VAR_SERVE_ORIGINAL_TTL) }
5684	YY_BREAK
5685case 201:
5686YY_RULE_SETUP
5687#line 415 "util/configlexer.lex"
5688{ YDVAR(1, VAR_FAKE_DSA) }
5689	YY_BREAK
5690case 202:
5691YY_RULE_SETUP
5692#line 416 "util/configlexer.lex"
5693{ YDVAR(1, VAR_FAKE_SHA1) }
5694	YY_BREAK
5695case 203:
5696YY_RULE_SETUP
5697#line 417 "util/configlexer.lex"
5698{ YDVAR(1, VAR_VAL_LOG_LEVEL) }
5699	YY_BREAK
5700case 204:
5701YY_RULE_SETUP
5702#line 418 "util/configlexer.lex"
5703{ YDVAR(1, VAR_KEY_CACHE_SIZE) }
5704	YY_BREAK
5705case 205:
5706YY_RULE_SETUP
5707#line 419 "util/configlexer.lex"
5708{ YDVAR(1, VAR_KEY_CACHE_SLABS) }
5709	YY_BREAK
5710case 206:
5711YY_RULE_SETUP
5712#line 420 "util/configlexer.lex"
5713{ YDVAR(1, VAR_NEG_CACHE_SIZE) }
5714	YY_BREAK
5715case 207:
5716YY_RULE_SETUP
5717#line 421 "util/configlexer.lex"
5718{
5719				  YDVAR(1, VAR_VAL_NSEC3_KEYSIZE_ITERATIONS) }
5720	YY_BREAK
5721case 208:
5722YY_RULE_SETUP
5723#line 423 "util/configlexer.lex"
5724{ YDVAR(1, VAR_ZONEMD_PERMISSIVE_MODE) }
5725	YY_BREAK
5726case 209:
5727YY_RULE_SETUP
5728#line 424 "util/configlexer.lex"
5729{ YDVAR(1, VAR_ZONEMD_CHECK) }
5730	YY_BREAK
5731case 210:
5732YY_RULE_SETUP
5733#line 425 "util/configlexer.lex"
5734{ YDVAR(1, VAR_ZONEMD_REJECT_ABSENCE) }
5735	YY_BREAK
5736case 211:
5737YY_RULE_SETUP
5738#line 426 "util/configlexer.lex"
5739{ YDVAR(1, VAR_ADD_HOLDDOWN) }
5740	YY_BREAK
5741case 212:
5742YY_RULE_SETUP
5743#line 427 "util/configlexer.lex"
5744{ YDVAR(1, VAR_DEL_HOLDDOWN) }
5745	YY_BREAK
5746case 213:
5747YY_RULE_SETUP
5748#line 428 "util/configlexer.lex"
5749{ YDVAR(1, VAR_KEEP_MISSING) }
5750	YY_BREAK
5751case 214:
5752YY_RULE_SETUP
5753#line 429 "util/configlexer.lex"
5754{ YDVAR(1, VAR_PERMIT_SMALL_HOLDDOWN) }
5755	YY_BREAK
5756case 215:
5757YY_RULE_SETUP
5758#line 430 "util/configlexer.lex"
5759{ YDVAR(1, VAR_USE_SYSLOG) }
5760	YY_BREAK
5761case 216:
5762YY_RULE_SETUP
5763#line 431 "util/configlexer.lex"
5764{ YDVAR(1, VAR_LOG_IDENTITY) }
5765	YY_BREAK
5766case 217:
5767YY_RULE_SETUP
5768#line 432 "util/configlexer.lex"
5769{ YDVAR(1, VAR_LOG_TIME_ASCII) }
5770	YY_BREAK
5771case 218:
5772YY_RULE_SETUP
5773#line 433 "util/configlexer.lex"
5774{ YDVAR(1, VAR_LOG_QUERIES) }
5775	YY_BREAK
5776case 219:
5777YY_RULE_SETUP
5778#line 434 "util/configlexer.lex"
5779{ YDVAR(1, VAR_LOG_REPLIES) }
5780	YY_BREAK
5781case 220:
5782YY_RULE_SETUP
5783#line 435 "util/configlexer.lex"
5784{ YDVAR(1, VAR_LOG_TAG_QUERYREPLY) }
5785	YY_BREAK
5786case 221:
5787YY_RULE_SETUP
5788#line 436 "util/configlexer.lex"
5789{ YDVAR(1, VAR_LOG_LOCAL_ACTIONS) }
5790	YY_BREAK
5791case 222:
5792YY_RULE_SETUP
5793#line 437 "util/configlexer.lex"
5794{ YDVAR(1, VAR_LOG_SERVFAIL) }
5795	YY_BREAK
5796case 223:
5797YY_RULE_SETUP
5798#line 438 "util/configlexer.lex"
5799{ YDVAR(1, VAR_LOG_DESTADDR) }
5800	YY_BREAK
5801case 224:
5802YY_RULE_SETUP
5803#line 439 "util/configlexer.lex"
5804{ YDVAR(2, VAR_LOCAL_ZONE) }
5805	YY_BREAK
5806case 225:
5807YY_RULE_SETUP
5808#line 440 "util/configlexer.lex"
5809{ YDVAR(1, VAR_LOCAL_DATA) }
5810	YY_BREAK
5811case 226:
5812YY_RULE_SETUP
5813#line 441 "util/configlexer.lex"
5814{ YDVAR(1, VAR_LOCAL_DATA_PTR) }
5815	YY_BREAK
5816case 227:
5817YY_RULE_SETUP
5818#line 442 "util/configlexer.lex"
5819{ YDVAR(1, VAR_UNBLOCK_LAN_ZONES) }
5820	YY_BREAK
5821case 228:
5822YY_RULE_SETUP
5823#line 443 "util/configlexer.lex"
5824{ YDVAR(1, VAR_INSECURE_LAN_ZONES) }
5825	YY_BREAK
5826case 229:
5827YY_RULE_SETUP
5828#line 444 "util/configlexer.lex"
5829{ YDVAR(1, VAR_STATISTICS_INTERVAL) }
5830	YY_BREAK
5831case 230:
5832YY_RULE_SETUP
5833#line 445 "util/configlexer.lex"
5834{ YDVAR(1, VAR_STATISTICS_CUMULATIVE) }
5835	YY_BREAK
5836case 231:
5837YY_RULE_SETUP
5838#line 446 "util/configlexer.lex"
5839{ YDVAR(1, VAR_EXTENDED_STATISTICS) }
5840	YY_BREAK
5841case 232:
5842YY_RULE_SETUP
5843#line 447 "util/configlexer.lex"
5844{ YDVAR(1, VAR_STATISTICS_INHIBIT_ZERO) }
5845	YY_BREAK
5846case 233:
5847YY_RULE_SETUP
5848#line 448 "util/configlexer.lex"
5849{ YDVAR(1, VAR_SHM_ENABLE) }
5850	YY_BREAK
5851case 234:
5852YY_RULE_SETUP
5853#line 449 "util/configlexer.lex"
5854{ YDVAR(1, VAR_SHM_KEY) }
5855	YY_BREAK
5856case 235:
5857YY_RULE_SETUP
5858#line 450 "util/configlexer.lex"
5859{ YDVAR(0, VAR_REMOTE_CONTROL) }
5860	YY_BREAK
5861case 236:
5862YY_RULE_SETUP
5863#line 451 "util/configlexer.lex"
5864{ YDVAR(1, VAR_CONTROL_ENABLE) }
5865	YY_BREAK
5866case 237:
5867YY_RULE_SETUP
5868#line 452 "util/configlexer.lex"
5869{ YDVAR(1, VAR_CONTROL_INTERFACE) }
5870	YY_BREAK
5871case 238:
5872YY_RULE_SETUP
5873#line 453 "util/configlexer.lex"
5874{ YDVAR(1, VAR_CONTROL_PORT) }
5875	YY_BREAK
5876case 239:
5877YY_RULE_SETUP
5878#line 454 "util/configlexer.lex"
5879{ YDVAR(1, VAR_CONTROL_USE_CERT) }
5880	YY_BREAK
5881case 240:
5882YY_RULE_SETUP
5883#line 455 "util/configlexer.lex"
5884{ YDVAR(1, VAR_SERVER_KEY_FILE) }
5885	YY_BREAK
5886case 241:
5887YY_RULE_SETUP
5888#line 456 "util/configlexer.lex"
5889{ YDVAR(1, VAR_SERVER_CERT_FILE) }
5890	YY_BREAK
5891case 242:
5892YY_RULE_SETUP
5893#line 457 "util/configlexer.lex"
5894{ YDVAR(1, VAR_CONTROL_KEY_FILE) }
5895	YY_BREAK
5896case 243:
5897YY_RULE_SETUP
5898#line 458 "util/configlexer.lex"
5899{ YDVAR(1, VAR_CONTROL_CERT_FILE) }
5900	YY_BREAK
5901case 244:
5902YY_RULE_SETUP
5903#line 459 "util/configlexer.lex"
5904{ YDVAR(1, VAR_PYTHON_SCRIPT) }
5905	YY_BREAK
5906case 245:
5907YY_RULE_SETUP
5908#line 460 "util/configlexer.lex"
5909{ YDVAR(0, VAR_PYTHON) }
5910	YY_BREAK
5911case 246:
5912YY_RULE_SETUP
5913#line 461 "util/configlexer.lex"
5914{ YDVAR(1, VAR_DYNLIB_FILE) }
5915	YY_BREAK
5916case 247:
5917YY_RULE_SETUP
5918#line 462 "util/configlexer.lex"
5919{ YDVAR(0, VAR_DYNLIB) }
5920	YY_BREAK
5921case 248:
5922YY_RULE_SETUP
5923#line 463 "util/configlexer.lex"
5924{ YDVAR(1, VAR_DOMAIN_INSECURE) }
5925	YY_BREAK
5926case 249:
5927YY_RULE_SETUP
5928#line 464 "util/configlexer.lex"
5929{ YDVAR(1, VAR_MINIMAL_RESPONSES) }
5930	YY_BREAK
5931case 250:
5932YY_RULE_SETUP
5933#line 465 "util/configlexer.lex"
5934{ YDVAR(1, VAR_RRSET_ROUNDROBIN) }
5935	YY_BREAK
5936case 251:
5937YY_RULE_SETUP
5938#line 466 "util/configlexer.lex"
5939{ YDVAR(1, VAR_UNKNOWN_SERVER_TIME_LIMIT) }
5940	YY_BREAK
5941case 252:
5942YY_RULE_SETUP
5943#line 467 "util/configlexer.lex"
5944{ YDVAR(1, VAR_DISCARD_TIMEOUT) }
5945	YY_BREAK
5946case 253:
5947YY_RULE_SETUP
5948#line 468 "util/configlexer.lex"
5949{ YDVAR(1, VAR_WAIT_LIMIT) }
5950	YY_BREAK
5951case 254:
5952YY_RULE_SETUP
5953#line 469 "util/configlexer.lex"
5954{ YDVAR(1, VAR_WAIT_LIMIT_COOKIE) }
5955	YY_BREAK
5956case 255:
5957YY_RULE_SETUP
5958#line 470 "util/configlexer.lex"
5959{ YDVAR(1, VAR_WAIT_LIMIT_NETBLOCK) }
5960	YY_BREAK
5961case 256:
5962YY_RULE_SETUP
5963#line 471 "util/configlexer.lex"
5964{ YDVAR(1, VAR_WAIT_LIMIT_COOKIE_NETBLOCK) }
5965	YY_BREAK
5966case 257:
5967YY_RULE_SETUP
5968#line 472 "util/configlexer.lex"
5969{ YDVAR(1, VAR_MAX_UDP_SIZE) }
5970	YY_BREAK
5971case 258:
5972YY_RULE_SETUP
5973#line 473 "util/configlexer.lex"
5974{ YDVAR(1, VAR_DNS64_PREFIX) }
5975	YY_BREAK
5976case 259:
5977YY_RULE_SETUP
5978#line 474 "util/configlexer.lex"
5979{ YDVAR(1, VAR_DNS64_SYNTHALL) }
5980	YY_BREAK
5981case 260:
5982YY_RULE_SETUP
5983#line 475 "util/configlexer.lex"
5984{ YDVAR(1, VAR_DNS64_IGNORE_AAAA) }
5985	YY_BREAK
5986case 261:
5987YY_RULE_SETUP
5988#line 476 "util/configlexer.lex"
5989{ YDVAR(1, VAR_NAT64_PREFIX) }
5990	YY_BREAK
5991case 262:
5992YY_RULE_SETUP
5993#line 477 "util/configlexer.lex"
5994{ YDVAR(1, VAR_DEFINE_TAG) }
5995	YY_BREAK
5996case 263:
5997YY_RULE_SETUP
5998#line 478 "util/configlexer.lex"
5999{ YDVAR(2, VAR_LOCAL_ZONE_TAG) }
6000	YY_BREAK
6001case 264:
6002YY_RULE_SETUP
6003#line 479 "util/configlexer.lex"
6004{ YDVAR(2, VAR_ACCESS_CONTROL_TAG) }
6005	YY_BREAK
6006case 265:
6007YY_RULE_SETUP
6008#line 480 "util/configlexer.lex"
6009{ YDVAR(3, VAR_ACCESS_CONTROL_TAG_ACTION) }
6010	YY_BREAK
6011case 266:
6012YY_RULE_SETUP
6013#line 481 "util/configlexer.lex"
6014{ YDVAR(3, VAR_ACCESS_CONTROL_TAG_DATA) }
6015	YY_BREAK
6016case 267:
6017YY_RULE_SETUP
6018#line 482 "util/configlexer.lex"
6019{ YDVAR(2, VAR_ACCESS_CONTROL_VIEW) }
6020	YY_BREAK
6021case 268:
6022YY_RULE_SETUP
6023#line 483 "util/configlexer.lex"
6024{ YDVAR(2, VAR_INTERFACE_TAG) }
6025	YY_BREAK
6026case 269:
6027YY_RULE_SETUP
6028#line 484 "util/configlexer.lex"
6029{ YDVAR(3, VAR_INTERFACE_TAG_ACTION) }
6030	YY_BREAK
6031case 270:
6032YY_RULE_SETUP
6033#line 485 "util/configlexer.lex"
6034{ YDVAR(3, VAR_INTERFACE_TAG_DATA) }
6035	YY_BREAK
6036case 271:
6037YY_RULE_SETUP
6038#line 486 "util/configlexer.lex"
6039{ YDVAR(2, VAR_INTERFACE_VIEW) }
6040	YY_BREAK
6041case 272:
6042YY_RULE_SETUP
6043#line 487 "util/configlexer.lex"
6044{ YDVAR(3, VAR_LOCAL_ZONE_OVERRIDE) }
6045	YY_BREAK
6046case 273:
6047YY_RULE_SETUP
6048#line 488 "util/configlexer.lex"
6049{ YDVAR(0, VAR_DNSTAP) }
6050	YY_BREAK
6051case 274:
6052YY_RULE_SETUP
6053#line 489 "util/configlexer.lex"
6054{ YDVAR(1, VAR_DNSTAP_ENABLE) }
6055	YY_BREAK
6056case 275:
6057YY_RULE_SETUP
6058#line 490 "util/configlexer.lex"
6059{ YDVAR(1, VAR_DNSTAP_BIDIRECTIONAL) }
6060	YY_BREAK
6061case 276:
6062YY_RULE_SETUP
6063#line 491 "util/configlexer.lex"
6064{ YDVAR(1, VAR_DNSTAP_SOCKET_PATH) }
6065	YY_BREAK
6066case 277:
6067YY_RULE_SETUP
6068#line 492 "util/configlexer.lex"
6069{ YDVAR(1, VAR_DNSTAP_IP) }
6070	YY_BREAK
6071case 278:
6072YY_RULE_SETUP
6073#line 493 "util/configlexer.lex"
6074{ YDVAR(1, VAR_DNSTAP_TLS) }
6075	YY_BREAK
6076case 279:
6077YY_RULE_SETUP
6078#line 494 "util/configlexer.lex"
6079{ YDVAR(1, VAR_DNSTAP_TLS_SERVER_NAME) }
6080	YY_BREAK
6081case 280:
6082YY_RULE_SETUP
6083#line 495 "util/configlexer.lex"
6084{ YDVAR(1, VAR_DNSTAP_TLS_CERT_BUNDLE) }
6085	YY_BREAK
6086case 281:
6087YY_RULE_SETUP
6088#line 496 "util/configlexer.lex"
6089{
6090		YDVAR(1, VAR_DNSTAP_TLS_CLIENT_KEY_FILE) }
6091	YY_BREAK
6092case 282:
6093YY_RULE_SETUP
6094#line 498 "util/configlexer.lex"
6095{
6096		YDVAR(1, VAR_DNSTAP_TLS_CLIENT_CERT_FILE) }
6097	YY_BREAK
6098case 283:
6099YY_RULE_SETUP
6100#line 500 "util/configlexer.lex"
6101{ YDVAR(1, VAR_DNSTAP_SEND_IDENTITY) }
6102	YY_BREAK
6103case 284:
6104YY_RULE_SETUP
6105#line 501 "util/configlexer.lex"
6106{ YDVAR(1, VAR_DNSTAP_SEND_VERSION) }
6107	YY_BREAK
6108case 285:
6109YY_RULE_SETUP
6110#line 502 "util/configlexer.lex"
6111{ YDVAR(1, VAR_DNSTAP_IDENTITY) }
6112	YY_BREAK
6113case 286:
6114YY_RULE_SETUP
6115#line 503 "util/configlexer.lex"
6116{ YDVAR(1, VAR_DNSTAP_VERSION) }
6117	YY_BREAK
6118case 287:
6119YY_RULE_SETUP
6120#line 504 "util/configlexer.lex"
6121{
6122		YDVAR(1, VAR_DNSTAP_LOG_RESOLVER_QUERY_MESSAGES) }
6123	YY_BREAK
6124case 288:
6125YY_RULE_SETUP
6126#line 506 "util/configlexer.lex"
6127{
6128		YDVAR(1, VAR_DNSTAP_LOG_RESOLVER_RESPONSE_MESSAGES) }
6129	YY_BREAK
6130case 289:
6131YY_RULE_SETUP
6132#line 508 "util/configlexer.lex"
6133{
6134		YDVAR(1, VAR_DNSTAP_LOG_CLIENT_QUERY_MESSAGES) }
6135	YY_BREAK
6136case 290:
6137YY_RULE_SETUP
6138#line 510 "util/configlexer.lex"
6139{
6140		YDVAR(1, VAR_DNSTAP_LOG_CLIENT_RESPONSE_MESSAGES) }
6141	YY_BREAK
6142case 291:
6143YY_RULE_SETUP
6144#line 512 "util/configlexer.lex"
6145{
6146		YDVAR(1, VAR_DNSTAP_LOG_FORWARDER_QUERY_MESSAGES) }
6147	YY_BREAK
6148case 292:
6149YY_RULE_SETUP
6150#line 514 "util/configlexer.lex"
6151{
6152		YDVAR(1, VAR_DNSTAP_LOG_FORWARDER_RESPONSE_MESSAGES) }
6153	YY_BREAK
6154case 293:
6155YY_RULE_SETUP
6156#line 516 "util/configlexer.lex"
6157{ YDVAR(1, VAR_DISABLE_DNSSEC_LAME_CHECK) }
6158	YY_BREAK
6159case 294:
6160YY_RULE_SETUP
6161#line 517 "util/configlexer.lex"
6162{ YDVAR(1, VAR_IP_RATELIMIT) }
6163	YY_BREAK
6164case 295:
6165YY_RULE_SETUP
6166#line 518 "util/configlexer.lex"
6167{ YDVAR(1, VAR_IP_RATELIMIT_COOKIE) }
6168	YY_BREAK
6169case 296:
6170YY_RULE_SETUP
6171#line 519 "util/configlexer.lex"
6172{ YDVAR(1, VAR_RATELIMIT) }
6173	YY_BREAK
6174case 297:
6175YY_RULE_SETUP
6176#line 520 "util/configlexer.lex"
6177{ YDVAR(1, VAR_IP_RATELIMIT_SLABS) }
6178	YY_BREAK
6179case 298:
6180YY_RULE_SETUP
6181#line 521 "util/configlexer.lex"
6182{ YDVAR(1, VAR_RATELIMIT_SLABS) }
6183	YY_BREAK
6184case 299:
6185YY_RULE_SETUP
6186#line 522 "util/configlexer.lex"
6187{ YDVAR(1, VAR_IP_RATELIMIT_SIZE) }
6188	YY_BREAK
6189case 300:
6190YY_RULE_SETUP
6191#line 523 "util/configlexer.lex"
6192{ YDVAR(1, VAR_RATELIMIT_SIZE) }
6193	YY_BREAK
6194case 301:
6195YY_RULE_SETUP
6196#line 524 "util/configlexer.lex"
6197{ YDVAR(2, VAR_RATELIMIT_FOR_DOMAIN) }
6198	YY_BREAK
6199case 302:
6200YY_RULE_SETUP
6201#line 525 "util/configlexer.lex"
6202{ YDVAR(2, VAR_RATELIMIT_BELOW_DOMAIN) }
6203	YY_BREAK
6204case 303:
6205YY_RULE_SETUP
6206#line 526 "util/configlexer.lex"
6207{ YDVAR(1, VAR_IP_RATELIMIT_FACTOR) }
6208	YY_BREAK
6209case 304:
6210YY_RULE_SETUP
6211#line 527 "util/configlexer.lex"
6212{ YDVAR(1, VAR_RATELIMIT_FACTOR) }
6213	YY_BREAK
6214case 305:
6215YY_RULE_SETUP
6216#line 528 "util/configlexer.lex"
6217{ YDVAR(1, VAR_IP_RATELIMIT_BACKOFF) }
6218	YY_BREAK
6219case 306:
6220YY_RULE_SETUP
6221#line 529 "util/configlexer.lex"
6222{ YDVAR(1, VAR_RATELIMIT_BACKOFF) }
6223	YY_BREAK
6224case 307:
6225YY_RULE_SETUP
6226#line 530 "util/configlexer.lex"
6227{ YDVAR(1, VAR_OUTBOUND_MSG_RETRY) }
6228	YY_BREAK
6229case 308:
6230YY_RULE_SETUP
6231#line 531 "util/configlexer.lex"
6232{ YDVAR(1, VAR_MAX_SENT_COUNT) }
6233	YY_BREAK
6234case 309:
6235YY_RULE_SETUP
6236#line 532 "util/configlexer.lex"
6237{ YDVAR(1, VAR_MAX_QUERY_RESTARTS) }
6238	YY_BREAK
6239case 310:
6240YY_RULE_SETUP
6241#line 533 "util/configlexer.lex"
6242{ YDVAR(1, VAR_LOW_RTT) }
6243	YY_BREAK
6244case 311:
6245YY_RULE_SETUP
6246#line 534 "util/configlexer.lex"
6247{ YDVAR(1, VAR_FAST_SERVER_NUM) }
6248	YY_BREAK
6249case 312:
6250YY_RULE_SETUP
6251#line 535 "util/configlexer.lex"
6252{ YDVAR(1, VAR_FAST_SERVER_PERMIL) }
6253	YY_BREAK
6254case 313:
6255YY_RULE_SETUP
6256#line 536 "util/configlexer.lex"
6257{ YDVAR(1, VAR_FAST_SERVER_PERMIL) }
6258	YY_BREAK
6259case 314:
6260YY_RULE_SETUP
6261#line 537 "util/configlexer.lex"
6262{ YDVAR(1, VAR_FAST_SERVER_PERMIL) }
6263	YY_BREAK
6264case 315:
6265YY_RULE_SETUP
6266#line 538 "util/configlexer.lex"
6267{ YDVAR(2, VAR_RESPONSE_IP_TAG) }
6268	YY_BREAK
6269case 316:
6270YY_RULE_SETUP
6271#line 539 "util/configlexer.lex"
6272{ YDVAR(2, VAR_RESPONSE_IP) }
6273	YY_BREAK
6274case 317:
6275YY_RULE_SETUP
6276#line 540 "util/configlexer.lex"
6277{ YDVAR(2, VAR_RESPONSE_IP_DATA) }
6278	YY_BREAK
6279case 318:
6280YY_RULE_SETUP
6281#line 541 "util/configlexer.lex"
6282{ YDVAR(0, VAR_DNSCRYPT) }
6283	YY_BREAK
6284case 319:
6285YY_RULE_SETUP
6286#line 542 "util/configlexer.lex"
6287{ YDVAR(1, VAR_DNSCRYPT_ENABLE) }
6288	YY_BREAK
6289case 320:
6290YY_RULE_SETUP
6291#line 543 "util/configlexer.lex"
6292{ YDVAR(1, VAR_DNSCRYPT_PORT) }
6293	YY_BREAK
6294case 321:
6295YY_RULE_SETUP
6296#line 544 "util/configlexer.lex"
6297{ YDVAR(1, VAR_DNSCRYPT_PROVIDER) }
6298	YY_BREAK
6299case 322:
6300YY_RULE_SETUP
6301#line 545 "util/configlexer.lex"
6302{ YDVAR(1, VAR_DNSCRYPT_SECRET_KEY) }
6303	YY_BREAK
6304case 323:
6305YY_RULE_SETUP
6306#line 546 "util/configlexer.lex"
6307{ YDVAR(1, VAR_DNSCRYPT_PROVIDER_CERT) }
6308	YY_BREAK
6309case 324:
6310YY_RULE_SETUP
6311#line 547 "util/configlexer.lex"
6312{ YDVAR(1, VAR_DNSCRYPT_PROVIDER_CERT_ROTATED) }
6313	YY_BREAK
6314case 325:
6315YY_RULE_SETUP
6316#line 548 "util/configlexer.lex"
6317{
6318		YDVAR(1, VAR_DNSCRYPT_SHARED_SECRET_CACHE_SIZE) }
6319	YY_BREAK
6320case 326:
6321YY_RULE_SETUP
6322#line 550 "util/configlexer.lex"
6323{
6324		YDVAR(1, VAR_DNSCRYPT_SHARED_SECRET_CACHE_SLABS) }
6325	YY_BREAK
6326case 327:
6327YY_RULE_SETUP
6328#line 552 "util/configlexer.lex"
6329{ YDVAR(1, VAR_DNSCRYPT_NONCE_CACHE_SIZE) }
6330	YY_BREAK
6331case 328:
6332YY_RULE_SETUP
6333#line 553 "util/configlexer.lex"
6334{ YDVAR(1, VAR_DNSCRYPT_NONCE_CACHE_SLABS) }
6335	YY_BREAK
6336case 329:
6337YY_RULE_SETUP
6338#line 554 "util/configlexer.lex"
6339{ YDVAR(1, VAR_PAD_RESPONSES) }
6340	YY_BREAK
6341case 330:
6342YY_RULE_SETUP
6343#line 555 "util/configlexer.lex"
6344{ YDVAR(1, VAR_PAD_RESPONSES_BLOCK_SIZE) }
6345	YY_BREAK
6346case 331:
6347YY_RULE_SETUP
6348#line 556 "util/configlexer.lex"
6349{ YDVAR(1, VAR_PAD_QUERIES) }
6350	YY_BREAK
6351case 332:
6352YY_RULE_SETUP
6353#line 557 "util/configlexer.lex"
6354{ YDVAR(1, VAR_PAD_QUERIES_BLOCK_SIZE) }
6355	YY_BREAK
6356case 333:
6357YY_RULE_SETUP
6358#line 558 "util/configlexer.lex"
6359{ YDVAR(1, VAR_IPSECMOD_ENABLED) }
6360	YY_BREAK
6361case 334:
6362YY_RULE_SETUP
6363#line 559 "util/configlexer.lex"
6364{ YDVAR(1, VAR_IPSECMOD_IGNORE_BOGUS) }
6365	YY_BREAK
6366case 335:
6367YY_RULE_SETUP
6368#line 560 "util/configlexer.lex"
6369{ YDVAR(1, VAR_IPSECMOD_HOOK) }
6370	YY_BREAK
6371case 336:
6372YY_RULE_SETUP
6373#line 561 "util/configlexer.lex"
6374{ YDVAR(1, VAR_IPSECMOD_MAX_TTL) }
6375	YY_BREAK
6376case 337:
6377YY_RULE_SETUP
6378#line 562 "util/configlexer.lex"
6379{ YDVAR(1, VAR_IPSECMOD_WHITELIST) }
6380	YY_BREAK
6381case 338:
6382YY_RULE_SETUP
6383#line 563 "util/configlexer.lex"
6384{ YDVAR(1, VAR_IPSECMOD_WHITELIST) }
6385	YY_BREAK
6386case 339:
6387YY_RULE_SETUP
6388#line 564 "util/configlexer.lex"
6389{ YDVAR(1, VAR_IPSECMOD_STRICT) }
6390	YY_BREAK
6391case 340:
6392YY_RULE_SETUP
6393#line 565 "util/configlexer.lex"
6394{ YDVAR(0, VAR_CACHEDB) }
6395	YY_BREAK
6396case 341:
6397YY_RULE_SETUP
6398#line 566 "util/configlexer.lex"
6399{ YDVAR(1, VAR_CACHEDB_BACKEND) }
6400	YY_BREAK
6401case 342:
6402YY_RULE_SETUP
6403#line 567 "util/configlexer.lex"
6404{ YDVAR(1, VAR_CACHEDB_SECRETSEED) }
6405	YY_BREAK
6406case 343:
6407YY_RULE_SETUP
6408#line 568 "util/configlexer.lex"
6409{ YDVAR(1, VAR_CACHEDB_NO_STORE) }
6410	YY_BREAK
6411case 344:
6412YY_RULE_SETUP
6413#line 569 "util/configlexer.lex"
6414{ YDVAR(1, VAR_CACHEDB_CHECK_WHEN_SERVE_EXPIRED) }
6415	YY_BREAK
6416case 345:
6417YY_RULE_SETUP
6418#line 570 "util/configlexer.lex"
6419{ YDVAR(1, VAR_CACHEDB_REDISHOST) }
6420	YY_BREAK
6421case 346:
6422YY_RULE_SETUP
6423#line 571 "util/configlexer.lex"
6424{ YDVAR(1, VAR_CACHEDB_REDISPORT) }
6425	YY_BREAK
6426case 347:
6427YY_RULE_SETUP
6428#line 572 "util/configlexer.lex"
6429{ YDVAR(1, VAR_CACHEDB_REDISPATH) }
6430	YY_BREAK
6431case 348:
6432YY_RULE_SETUP
6433#line 573 "util/configlexer.lex"
6434{ YDVAR(1, VAR_CACHEDB_REDISPASSWORD) }
6435	YY_BREAK
6436case 349:
6437YY_RULE_SETUP
6438#line 574 "util/configlexer.lex"
6439{ YDVAR(1, VAR_CACHEDB_REDISTIMEOUT) }
6440	YY_BREAK
6441case 350:
6442YY_RULE_SETUP
6443#line 575 "util/configlexer.lex"
6444{ YDVAR(1, VAR_CACHEDB_REDISEXPIRERECORDS) }
6445	YY_BREAK
6446case 351:
6447YY_RULE_SETUP
6448#line 576 "util/configlexer.lex"
6449{ YDVAR(1, VAR_CACHEDB_REDISLOGICALDB) }
6450	YY_BREAK
6451case 352:
6452YY_RULE_SETUP
6453#line 577 "util/configlexer.lex"
6454{ YDVAR(0, VAR_IPSET) }
6455	YY_BREAK
6456case 353:
6457YY_RULE_SETUP
6458#line 578 "util/configlexer.lex"
6459{ YDVAR(1, VAR_IPSET_NAME_V4) }
6460	YY_BREAK
6461case 354:
6462YY_RULE_SETUP
6463#line 579 "util/configlexer.lex"
6464{ YDVAR(1, VAR_IPSET_NAME_V6) }
6465	YY_BREAK
6466case 355:
6467YY_RULE_SETUP
6468#line 580 "util/configlexer.lex"
6469{ YDVAR(1, VAR_UDP_UPSTREAM_WITHOUT_DOWNSTREAM) }
6470	YY_BREAK
6471case 356:
6472YY_RULE_SETUP
6473#line 581 "util/configlexer.lex"
6474{ YDVAR(2, VAR_TCP_CONNECTION_LIMIT) }
6475	YY_BREAK
6476case 357:
6477YY_RULE_SETUP
6478#line 582 "util/configlexer.lex"
6479{ YDVAR(1, VAR_ANSWER_COOKIE ) }
6480	YY_BREAK
6481case 358:
6482YY_RULE_SETUP
6483#line 583 "util/configlexer.lex"
6484{ YDVAR(1, VAR_COOKIE_SECRET) }
6485	YY_BREAK
6486case 359:
6487YY_RULE_SETUP
6488#line 584 "util/configlexer.lex"
6489{ YDVAR(2, VAR_EDNS_CLIENT_STRING) }
6490	YY_BREAK
6491case 360:
6492YY_RULE_SETUP
6493#line 585 "util/configlexer.lex"
6494{ YDVAR(1, VAR_EDNS_CLIENT_STRING_OPCODE) }
6495	YY_BREAK
6496case 361:
6497YY_RULE_SETUP
6498#line 586 "util/configlexer.lex"
6499{ YDVAR(1, VAR_NSID ) }
6500	YY_BREAK
6501case 362:
6502YY_RULE_SETUP
6503#line 587 "util/configlexer.lex"
6504{ YDVAR(1, VAR_EDE ) }
6505	YY_BREAK
6506case 363:
6507YY_RULE_SETUP
6508#line 588 "util/configlexer.lex"
6509{ YDVAR(1, VAR_PROXY_PROTOCOL_PORT) }
6510	YY_BREAK
6511case 364:
6512/* rule 364 can match eol */
6513YY_RULE_SETUP
6514#line 589 "util/configlexer.lex"
6515{ LEXOUT(("NL\n")); cfg_parser->line++; }
6516	YY_BREAK
6517/* Quoted strings. Strip leading and ending quotes */
6518case 365:
6519YY_RULE_SETUP
6520#line 592 "util/configlexer.lex"
6521{ BEGIN(quotedstring); LEXOUT(("QS ")); }
6522	YY_BREAK
6523case YY_STATE_EOF(quotedstring):
6524#line 593 "util/configlexer.lex"
6525{
6526        yyerror("EOF inside quoted string");
6527	if(--num_args == 0) { BEGIN(INITIAL); }
6528	else		    { BEGIN(val); }
6529}
6530	YY_BREAK
6531case 366:
6532YY_RULE_SETUP
6533#line 598 "util/configlexer.lex"
6534{ LEXOUT(("STR(%s) ", yytext)); yymore(); }
6535	YY_BREAK
6536case 367:
6537/* rule 367 can match eol */
6538YY_RULE_SETUP
6539#line 599 "util/configlexer.lex"
6540{ yyerror("newline inside quoted string, no end \"");
6541			  cfg_parser->line++; BEGIN(INITIAL); }
6542	YY_BREAK
6543case 368:
6544YY_RULE_SETUP
6545#line 601 "util/configlexer.lex"
6546{
6547        LEXOUT(("QE "));
6548	if(--num_args == 0) { BEGIN(INITIAL); }
6549	else		    { BEGIN(val); }
6550        yytext[yyleng - 1] = '\0';
6551	yylval.str = strdup(yytext);
6552	if(!yylval.str)
6553		yyerror("out of memory");
6554        return STRING_ARG;
6555}
6556	YY_BREAK
6557/* Single Quoted strings. Strip leading and ending quotes */
6558case 369:
6559YY_RULE_SETUP
6560#line 613 "util/configlexer.lex"
6561{ BEGIN(singlequotedstr); LEXOUT(("SQS ")); }
6562	YY_BREAK
6563case YY_STATE_EOF(singlequotedstr):
6564#line 614 "util/configlexer.lex"
6565{
6566        yyerror("EOF inside quoted string");
6567	if(--num_args == 0) { BEGIN(INITIAL); }
6568	else		    { BEGIN(val); }
6569}
6570	YY_BREAK
6571case 370:
6572YY_RULE_SETUP
6573#line 619 "util/configlexer.lex"
6574{ LEXOUT(("STR(%s) ", yytext)); yymore(); }
6575	YY_BREAK
6576case 371:
6577/* rule 371 can match eol */
6578YY_RULE_SETUP
6579#line 620 "util/configlexer.lex"
6580{ yyerror("newline inside quoted string, no end '");
6581			     cfg_parser->line++; BEGIN(INITIAL); }
6582	YY_BREAK
6583case 372:
6584YY_RULE_SETUP
6585#line 622 "util/configlexer.lex"
6586{
6587        LEXOUT(("SQE "));
6588	if(--num_args == 0) { BEGIN(INITIAL); }
6589	else		    { BEGIN(val); }
6590        yytext[yyleng - 1] = '\0';
6591	yylval.str = strdup(yytext);
6592	if(!yylval.str)
6593		yyerror("out of memory");
6594        return STRING_ARG;
6595}
6596	YY_BREAK
6597/* include: directive */
6598case 373:
6599YY_RULE_SETUP
6600#line 634 "util/configlexer.lex"
6601{
6602	LEXOUT(("v(%s) ", yytext)); inc_prev = YYSTATE; BEGIN(include); }
6603	YY_BREAK
6604case YY_STATE_EOF(include):
6605#line 636 "util/configlexer.lex"
6606{
6607        yyerror("EOF inside include directive");
6608        BEGIN(inc_prev);
6609}
6610	YY_BREAK
6611case 374:
6612YY_RULE_SETUP
6613#line 640 "util/configlexer.lex"
6614{ LEXOUT(("ISP ")); /* ignore */ }
6615	YY_BREAK
6616case 375:
6617/* rule 375 can match eol */
6618YY_RULE_SETUP
6619#line 641 "util/configlexer.lex"
6620{ LEXOUT(("NL\n")); cfg_parser->line++;}
6621	YY_BREAK
6622case 376:
6623YY_RULE_SETUP
6624#line 642 "util/configlexer.lex"
6625{ LEXOUT(("IQS ")); BEGIN(include_quoted); }
6626	YY_BREAK
6627case 377:
6628YY_RULE_SETUP
6629#line 643 "util/configlexer.lex"
6630{
6631	LEXOUT(("Iunquotedstr(%s) ", yytext));
6632	config_start_include_glob(yytext, 0);
6633	BEGIN(inc_prev);
6634}
6635	YY_BREAK
6636case YY_STATE_EOF(include_quoted):
6637#line 648 "util/configlexer.lex"
6638{
6639        yyerror("EOF inside quoted string");
6640        BEGIN(inc_prev);
6641}
6642	YY_BREAK
6643case 378:
6644YY_RULE_SETUP
6645#line 652 "util/configlexer.lex"
6646{ LEXOUT(("ISTR(%s) ", yytext)); yymore(); }
6647	YY_BREAK
6648case 379:
6649/* rule 379 can match eol */
6650YY_RULE_SETUP
6651#line 653 "util/configlexer.lex"
6652{ yyerror("newline before \" in include name");
6653				  cfg_parser->line++; BEGIN(inc_prev); }
6654	YY_BREAK
6655case 380:
6656YY_RULE_SETUP
6657#line 655 "util/configlexer.lex"
6658{
6659	LEXOUT(("IQE "));
6660	yytext[yyleng - 1] = '\0';
6661	config_start_include_glob(yytext, 0);
6662	BEGIN(inc_prev);
6663}
6664	YY_BREAK
6665case YY_STATE_EOF(INITIAL):
6666case YY_STATE_EOF(val):
6667#line 661 "util/configlexer.lex"
6668{
6669	LEXOUT(("LEXEOF "));
6670	yy_set_bol(1); /* Set beginning of line, so "^" rules match.  */
6671	if (!config_include_stack) {
6672		yyterminate();
6673	} else {
6674		int prev_toplevel = inc_toplevel;
6675		fclose(yyin);
6676		config_end_include();
6677		if(prev_toplevel) return (VAR_FORCE_TOPLEVEL);
6678	}
6679}
6680	YY_BREAK
6681/* include-toplevel: directive */
6682case 381:
6683YY_RULE_SETUP
6684#line 675 "util/configlexer.lex"
6685{
6686	LEXOUT(("v(%s) ", yytext)); inc_prev = YYSTATE; BEGIN(include_toplevel);
6687}
6688	YY_BREAK
6689case YY_STATE_EOF(include_toplevel):
6690#line 678 "util/configlexer.lex"
6691{
6692	yyerror("EOF inside include_toplevel directive");
6693	BEGIN(inc_prev);
6694}
6695	YY_BREAK
6696case 382:
6697YY_RULE_SETUP
6698#line 682 "util/configlexer.lex"
6699{ LEXOUT(("ITSP ")); /* ignore */ }
6700	YY_BREAK
6701case 383:
6702/* rule 383 can match eol */
6703YY_RULE_SETUP
6704#line 683 "util/configlexer.lex"
6705{ LEXOUT(("NL\n")); cfg_parser->line++; }
6706	YY_BREAK
6707case 384:
6708YY_RULE_SETUP
6709#line 684 "util/configlexer.lex"
6710{ LEXOUT(("ITQS ")); BEGIN(include_toplevel_quoted); }
6711	YY_BREAK
6712case 385:
6713YY_RULE_SETUP
6714#line 685 "util/configlexer.lex"
6715{
6716	LEXOUT(("ITunquotedstr(%s) ", yytext));
6717	config_start_include_glob(yytext, 1);
6718	BEGIN(inc_prev);
6719	return (VAR_FORCE_TOPLEVEL);
6720}
6721	YY_BREAK
6722case YY_STATE_EOF(include_toplevel_quoted):
6723#line 691 "util/configlexer.lex"
6724{
6725	yyerror("EOF inside quoted string");
6726	BEGIN(inc_prev);
6727}
6728	YY_BREAK
6729case 386:
6730YY_RULE_SETUP
6731#line 695 "util/configlexer.lex"
6732{ LEXOUT(("ITSTR(%s) ", yytext)); yymore(); }
6733	YY_BREAK
6734case 387:
6735/* rule 387 can match eol */
6736YY_RULE_SETUP
6737#line 696 "util/configlexer.lex"
6738{
6739	yyerror("newline before \" in include name");
6740	cfg_parser->line++; BEGIN(inc_prev);
6741}
6742	YY_BREAK
6743case 388:
6744YY_RULE_SETUP
6745#line 700 "util/configlexer.lex"
6746{
6747	LEXOUT(("ITQE "));
6748	yytext[yyleng - 1] = '\0';
6749	config_start_include_glob(yytext, 1);
6750	BEGIN(inc_prev);
6751	return (VAR_FORCE_TOPLEVEL);
6752}
6753	YY_BREAK
6754case 389:
6755YY_RULE_SETUP
6756#line 708 "util/configlexer.lex"
6757{ LEXOUT(("unquotedstr(%s) ", yytext));
6758			if(--num_args == 0) { BEGIN(INITIAL); }
6759			yylval.str = strdup(yytext); return STRING_ARG; }
6760	YY_BREAK
6761case 390:
6762YY_RULE_SETUP
6763#line 712 "util/configlexer.lex"
6764{
6765	ub_c_error_msg("unknown keyword '%s'", yytext);
6766	}
6767	YY_BREAK
6768case 391:
6769YY_RULE_SETUP
6770#line 716 "util/configlexer.lex"
6771{
6772	ub_c_error_msg("stray '%s'", yytext);
6773	}
6774	YY_BREAK
6775case 392:
6776YY_RULE_SETUP
6777#line 720 "util/configlexer.lex"
6778ECHO;
6779	YY_BREAK
6780#line 6778 "<stdout>"
6781
6782	case YY_END_OF_BUFFER:
6783		{
6784		/* Amount of text matched not including the EOB char. */
6785		int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
6786
6787		/* Undo the effects of YY_DO_BEFORE_ACTION. */
6788		*yy_cp = (yy_hold_char);
6789		YY_RESTORE_YY_MORE_OFFSET
6790
6791		if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
6792			{
6793			/* We're scanning a new file or input source.  It's
6794			 * possible that this happened because the user
6795			 * just pointed yyin at a new source and called
6796			 * yylex().  If so, then we have to assure
6797			 * consistency between YY_CURRENT_BUFFER and our
6798			 * globals.  Here is the right place to do so, because
6799			 * this is the first action (other than possibly a
6800			 * back-up) that will match for the new input source.
6801			 */
6802			(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
6803			YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
6804			YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
6805			}
6806
6807		/* Note that here we test for yy_c_buf_p "<=" to the position
6808		 * of the first EOB in the buffer, since yy_c_buf_p will
6809		 * already have been incremented past the NUL character
6810		 * (since all states make transitions on EOB to the
6811		 * end-of-buffer state).  Contrast this with the test
6812		 * in input().
6813		 */
6814		if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
6815			{ /* This was really a NUL. */
6816			yy_state_type yy_next_state;
6817
6818			(yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
6819
6820			yy_current_state = yy_get_previous_state(  );
6821
6822			/* Okay, we're now positioned to make the NUL
6823			 * transition.  We couldn't have
6824			 * yy_get_previous_state() go ahead and do it
6825			 * for us because it doesn't know how to deal
6826			 * with the possibility of jamming (and we don't
6827			 * want to build jamming into it because then it
6828			 * will run more slowly).
6829			 */
6830
6831			yy_next_state = yy_try_NUL_trans( yy_current_state );
6832
6833			yy_bp = (yytext_ptr) + YY_MORE_ADJ;
6834
6835			if ( yy_next_state )
6836				{
6837				/* Consume the NUL. */
6838				yy_cp = ++(yy_c_buf_p);
6839				yy_current_state = yy_next_state;
6840				goto yy_match;
6841				}
6842
6843			else
6844				{
6845				yy_cp = (yy_c_buf_p);
6846				goto yy_find_action;
6847				}
6848			}
6849
6850		else switch ( yy_get_next_buffer(  ) )
6851			{
6852			case EOB_ACT_END_OF_FILE:
6853				{
6854				(yy_did_buffer_switch_on_eof) = 0;
6855
6856				if ( yywrap(  ) )
6857					{
6858					/* Note: because we've taken care in
6859					 * yy_get_next_buffer() to have set up
6860					 * yytext, we can now set up
6861					 * yy_c_buf_p so that if some total
6862					 * hoser (like flex itself) wants to
6863					 * call the scanner after we return the
6864					 * YY_NULL, it'll still work - another
6865					 * YY_NULL will get returned.
6866					 */
6867					(yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
6868
6869					yy_act = YY_STATE_EOF(YY_START);
6870					goto do_action;
6871					}
6872
6873				else
6874					{
6875					if ( ! (yy_did_buffer_switch_on_eof) )
6876						YY_NEW_FILE;
6877					}
6878				break;
6879				}
6880
6881			case EOB_ACT_CONTINUE_SCAN:
6882				(yy_c_buf_p) =
6883					(yytext_ptr) + yy_amount_of_matched_text;
6884
6885				yy_current_state = yy_get_previous_state(  );
6886
6887				yy_cp = (yy_c_buf_p);
6888				yy_bp = (yytext_ptr) + YY_MORE_ADJ;
6889				goto yy_match;
6890
6891			case EOB_ACT_LAST_MATCH:
6892				(yy_c_buf_p) =
6893				&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
6894
6895				yy_current_state = yy_get_previous_state(  );
6896
6897				yy_cp = (yy_c_buf_p);
6898				yy_bp = (yytext_ptr) + YY_MORE_ADJ;
6899				goto yy_find_action;
6900			}
6901		break;
6902		}
6903
6904	default:
6905		YY_FATAL_ERROR(
6906			"fatal flex scanner internal error--no action found" );
6907	} /* end of action switch */
6908		} /* end of scanning one token */
6909	} /* end of user's declarations */
6910} /* end of yylex */
6911
6912/* yy_get_next_buffer - try to read in a new buffer
6913 *
6914 * Returns a code representing an action:
6915 *	EOB_ACT_LAST_MATCH -
6916 *	EOB_ACT_CONTINUE_SCAN - continue scanning from current position
6917 *	EOB_ACT_END_OF_FILE - end of file
6918 */
6919static int yy_get_next_buffer (void)
6920{
6921    	char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
6922	char *source = (yytext_ptr);
6923	int number_to_move, i;
6924	int ret_val;
6925
6926	if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
6927		YY_FATAL_ERROR(
6928		"fatal flex scanner internal error--end of buffer missed" );
6929
6930	if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
6931		{ /* Don't try to fill the buffer, so this is an EOF. */
6932		if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
6933			{
6934			/* We matched a single character, the EOB, so
6935			 * treat this as a final EOF.
6936			 */
6937			return EOB_ACT_END_OF_FILE;
6938			}
6939
6940		else
6941			{
6942			/* We matched some text prior to the EOB, first
6943			 * process it.
6944			 */
6945			return EOB_ACT_LAST_MATCH;
6946			}
6947		}
6948
6949	/* Try to read more data. */
6950
6951	/* First move last chars to start of buffer. */
6952	number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr) - 1);
6953
6954	for ( i = 0; i < number_to_move; ++i )
6955		*(dest++) = *(source++);
6956
6957	if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
6958		/* don't do the read, it's not guaranteed to return an EOF,
6959		 * just force an EOF
6960		 */
6961		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
6962
6963	else
6964		{
6965			int num_to_read =
6966			YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
6967
6968		while ( num_to_read <= 0 )
6969			{ /* Not enough room in the buffer - grow it. */
6970
6971			/* just a shorter name for the current buffer */
6972			YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE;
6973
6974			int yy_c_buf_p_offset =
6975				(int) ((yy_c_buf_p) - b->yy_ch_buf);
6976
6977			if ( b->yy_is_our_buffer )
6978				{
6979				int new_size = b->yy_buf_size * 2;
6980
6981				if ( new_size <= 0 )
6982					b->yy_buf_size += b->yy_buf_size / 8;
6983				else
6984					b->yy_buf_size *= 2;
6985
6986				b->yy_ch_buf = (char *)
6987					/* Include room in for 2 EOB chars. */
6988					yyrealloc( (void *) b->yy_ch_buf,
6989							 (yy_size_t) (b->yy_buf_size + 2)  );
6990				}
6991			else
6992				/* Can't grow it, we don't own it. */
6993				b->yy_ch_buf = NULL;
6994
6995			if ( ! b->yy_ch_buf )
6996				YY_FATAL_ERROR(
6997				"fatal error - scanner input buffer overflow" );
6998
6999			(yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
7000
7001			num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
7002						number_to_move - 1;
7003
7004			}
7005
7006		if ( num_to_read > YY_READ_BUF_SIZE )
7007			num_to_read = YY_READ_BUF_SIZE;
7008
7009		/* Read in more data. */
7010		YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
7011			(yy_n_chars), num_to_read );
7012
7013		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
7014		}
7015
7016	if ( (yy_n_chars) == 0 )
7017		{
7018		if ( number_to_move == YY_MORE_ADJ )
7019			{
7020			ret_val = EOB_ACT_END_OF_FILE;
7021			yyrestart( yyin  );
7022			}
7023
7024		else
7025			{
7026			ret_val = EOB_ACT_LAST_MATCH;
7027			YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
7028				YY_BUFFER_EOF_PENDING;
7029			}
7030		}
7031
7032	else
7033		ret_val = EOB_ACT_CONTINUE_SCAN;
7034
7035	if (((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
7036		/* Extend the array by 50%, plus the number we really need. */
7037		int new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
7038		YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc(
7039			(void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf, (yy_size_t) new_size  );
7040		if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
7041			YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
7042		/* "- 2" to take care of EOB's */
7043		YY_CURRENT_BUFFER_LVALUE->yy_buf_size = (int) (new_size - 2);
7044	}
7045
7046	(yy_n_chars) += number_to_move;
7047	YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
7048	YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
7049
7050	(yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
7051
7052	return ret_val;
7053}
7054
7055/* yy_get_previous_state - get the state just before the EOB char was reached */
7056
7057    static yy_state_type yy_get_previous_state (void)
7058{
7059	yy_state_type yy_current_state;
7060	char *yy_cp;
7061
7062	yy_current_state = (yy_start);
7063
7064	for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
7065		{
7066		YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
7067		if ( yy_accept[yy_current_state] )
7068			{
7069			(yy_last_accepting_state) = yy_current_state;
7070			(yy_last_accepting_cpos) = yy_cp;
7071			}
7072		while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
7073			{
7074			yy_current_state = (int) yy_def[yy_current_state];
7075			if ( yy_current_state >= 3905 )
7076				yy_c = yy_meta[yy_c];
7077			}
7078		yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
7079		}
7080
7081	return yy_current_state;
7082}
7083
7084/* yy_try_NUL_trans - try to make a transition on the NUL character
7085 *
7086 * synopsis
7087 *	next_state = yy_try_NUL_trans( current_state );
7088 */
7089    static yy_state_type yy_try_NUL_trans  (yy_state_type yy_current_state )
7090{
7091	int yy_is_jam;
7092    	char *yy_cp = (yy_c_buf_p);
7093
7094	YY_CHAR yy_c = 1;
7095	if ( yy_accept[yy_current_state] )
7096		{
7097		(yy_last_accepting_state) = yy_current_state;
7098		(yy_last_accepting_cpos) = yy_cp;
7099		}
7100	while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
7101		{
7102		yy_current_state = (int) yy_def[yy_current_state];
7103		if ( yy_current_state >= 3905 )
7104			yy_c = yy_meta[yy_c];
7105		}
7106	yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
7107	yy_is_jam = (yy_current_state == 3904);
7108
7109		return yy_is_jam ? 0 : yy_current_state;
7110}
7111
7112#ifndef YY_NO_UNPUT
7113
7114#endif
7115
7116#ifndef YY_NO_INPUT
7117#ifdef __cplusplus
7118    static int yyinput (void)
7119#else
7120    static int input  (void)
7121#endif
7122
7123{
7124	int c;
7125
7126	*(yy_c_buf_p) = (yy_hold_char);
7127
7128	if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
7129		{
7130		/* yy_c_buf_p now points to the character we want to return.
7131		 * If this occurs *before* the EOB characters, then it's a
7132		 * valid NUL; if not, then we've hit the end of the buffer.
7133		 */
7134		if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
7135			/* This was really a NUL. */
7136			*(yy_c_buf_p) = '\0';
7137
7138		else
7139			{ /* need more input */
7140			int offset = (int) ((yy_c_buf_p) - (yytext_ptr));
7141			++(yy_c_buf_p);
7142
7143			switch ( yy_get_next_buffer(  ) )
7144				{
7145				case EOB_ACT_LAST_MATCH:
7146					/* This happens because yy_g_n_b()
7147					 * sees that we've accumulated a
7148					 * token and flags that we need to
7149					 * try matching the token before
7150					 * proceeding.  But for input(),
7151					 * there's no matching to consider.
7152					 * So convert the EOB_ACT_LAST_MATCH
7153					 * to EOB_ACT_END_OF_FILE.
7154					 */
7155
7156					/* Reset buffer status. */
7157					yyrestart( yyin );
7158
7159					/*FALLTHROUGH*/
7160
7161				case EOB_ACT_END_OF_FILE:
7162					{
7163					if ( yywrap(  ) )
7164						return 0;
7165
7166					if ( ! (yy_did_buffer_switch_on_eof) )
7167						YY_NEW_FILE;
7168#ifdef __cplusplus
7169					return yyinput();
7170#else
7171					return input();
7172#endif
7173					}
7174
7175				case EOB_ACT_CONTINUE_SCAN:
7176					(yy_c_buf_p) = (yytext_ptr) + offset;
7177					break;
7178				}
7179			}
7180		}
7181
7182	c = *(unsigned char *) (yy_c_buf_p);	/* cast for 8-bit char's */
7183	*(yy_c_buf_p) = '\0';	/* preserve yytext */
7184	(yy_hold_char) = *++(yy_c_buf_p);
7185
7186	return c;
7187}
7188#endif	/* ifndef YY_NO_INPUT */
7189
7190/** Immediately switch to a different input stream.
7191 * @param input_file A readable stream.
7192 *
7193 * @note This function does not reset the start condition to @c INITIAL .
7194 */
7195    void yyrestart  (FILE * input_file )
7196{
7197
7198	if ( ! YY_CURRENT_BUFFER ){
7199        yyensure_buffer_stack ();
7200		YY_CURRENT_BUFFER_LVALUE =
7201            yy_create_buffer( yyin, YY_BUF_SIZE );
7202	}
7203
7204	yy_init_buffer( YY_CURRENT_BUFFER, input_file );
7205	yy_load_buffer_state(  );
7206}
7207
7208/** Switch to a different input buffer.
7209 * @param new_buffer The new input buffer.
7210 *
7211 */
7212    void yy_switch_to_buffer  (YY_BUFFER_STATE  new_buffer )
7213{
7214
7215	/* TODO. We should be able to replace this entire function body
7216	 * with
7217	 *		yypop_buffer_state();
7218	 *		yypush_buffer_state(new_buffer);
7219     */
7220	yyensure_buffer_stack ();
7221	if ( YY_CURRENT_BUFFER == new_buffer )
7222		return;
7223
7224	if ( YY_CURRENT_BUFFER )
7225		{
7226		/* Flush out information for old buffer. */
7227		*(yy_c_buf_p) = (yy_hold_char);
7228		YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
7229		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
7230		}
7231
7232	YY_CURRENT_BUFFER_LVALUE = new_buffer;
7233	yy_load_buffer_state(  );
7234
7235	/* We don't actually know whether we did this switch during
7236	 * EOF (yywrap()) processing, but the only time this flag
7237	 * is looked at is after yywrap() is called, so it's safe
7238	 * to go ahead and always set it.
7239	 */
7240	(yy_did_buffer_switch_on_eof) = 1;
7241}
7242
7243static void yy_load_buffer_state  (void)
7244{
7245    	(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
7246	(yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
7247	yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
7248	(yy_hold_char) = *(yy_c_buf_p);
7249}
7250
7251/** Allocate and initialize an input buffer state.
7252 * @param file A readable stream.
7253 * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
7254 *
7255 * @return the allocated buffer state.
7256 */
7257    YY_BUFFER_STATE yy_create_buffer  (FILE * file, int  size )
7258{
7259	YY_BUFFER_STATE b;
7260
7261	b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state )  );
7262	if ( ! b )
7263		YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
7264
7265	b->yy_buf_size = size;
7266
7267	/* yy_ch_buf has to be 2 characters longer than the size given because
7268	 * we need to put in 2 end-of-buffer characters.
7269	 */
7270	b->yy_ch_buf = (char *) yyalloc( (yy_size_t) (b->yy_buf_size + 2)  );
7271	if ( ! b->yy_ch_buf )
7272		YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
7273
7274	b->yy_is_our_buffer = 1;
7275
7276	yy_init_buffer( b, file );
7277
7278	return b;
7279}
7280
7281/** Destroy the buffer.
7282 * @param b a buffer created with yy_create_buffer()
7283 *
7284 */
7285    void yy_delete_buffer (YY_BUFFER_STATE  b )
7286{
7287
7288	if ( ! b )
7289		return;
7290
7291	if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
7292		YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
7293
7294	if ( b->yy_is_our_buffer )
7295		yyfree( (void *) b->yy_ch_buf  );
7296
7297	yyfree( (void *) b  );
7298}
7299
7300/* Initializes or reinitializes a buffer.
7301 * This function is sometimes called more than once on the same buffer,
7302 * such as during a yyrestart() or at EOF.
7303 */
7304    static void yy_init_buffer  (YY_BUFFER_STATE  b, FILE * file )
7305
7306{
7307	int oerrno = errno;
7308
7309	yy_flush_buffer( b );
7310
7311	b->yy_input_file = file;
7312	b->yy_fill_buffer = 1;
7313
7314    /* If b is the current buffer, then yy_init_buffer was _probably_
7315     * called from yyrestart() or through yy_get_next_buffer.
7316     * In that case, we don't want to reset the lineno or column.
7317     */
7318    if (b != YY_CURRENT_BUFFER){
7319        b->yy_bs_lineno = 1;
7320        b->yy_bs_column = 0;
7321    }
7322
7323        b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
7324
7325	errno = oerrno;
7326}
7327
7328/** Discard all buffered characters. On the next scan, YY_INPUT will be called.
7329 * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
7330 *
7331 */
7332    void yy_flush_buffer (YY_BUFFER_STATE  b )
7333{
7334    	if ( ! b )
7335		return;
7336
7337	b->yy_n_chars = 0;
7338
7339	/* We always need two end-of-buffer characters.  The first causes
7340	 * a transition to the end-of-buffer state.  The second causes
7341	 * a jam in that state.
7342	 */
7343	b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
7344	b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
7345
7346	b->yy_buf_pos = &b->yy_ch_buf[0];
7347
7348	b->yy_at_bol = 1;
7349	b->yy_buffer_status = YY_BUFFER_NEW;
7350
7351	if ( b == YY_CURRENT_BUFFER )
7352		yy_load_buffer_state(  );
7353}
7354
7355/** Pushes the new state onto the stack. The new state becomes
7356 *  the current state. This function will allocate the stack
7357 *  if necessary.
7358 *  @param new_buffer The new state.
7359 *
7360 */
7361void yypush_buffer_state (YY_BUFFER_STATE new_buffer )
7362{
7363    	if (new_buffer == NULL)
7364		return;
7365
7366	yyensure_buffer_stack();
7367
7368	/* This block is copied from yy_switch_to_buffer. */
7369	if ( YY_CURRENT_BUFFER )
7370		{
7371		/* Flush out information for old buffer. */
7372		*(yy_c_buf_p) = (yy_hold_char);
7373		YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
7374		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
7375		}
7376
7377	/* Only push if top exists. Otherwise, replace top. */
7378	if (YY_CURRENT_BUFFER)
7379		(yy_buffer_stack_top)++;
7380	YY_CURRENT_BUFFER_LVALUE = new_buffer;
7381
7382	/* copied from yy_switch_to_buffer. */
7383	yy_load_buffer_state(  );
7384	(yy_did_buffer_switch_on_eof) = 1;
7385}
7386
7387/** Removes and deletes the top of the stack, if present.
7388 *  The next element becomes the new top.
7389 *
7390 */
7391void yypop_buffer_state (void)
7392{
7393    	if (!YY_CURRENT_BUFFER)
7394		return;
7395
7396	yy_delete_buffer(YY_CURRENT_BUFFER );
7397	YY_CURRENT_BUFFER_LVALUE = NULL;
7398	if ((yy_buffer_stack_top) > 0)
7399		--(yy_buffer_stack_top);
7400
7401	if (YY_CURRENT_BUFFER) {
7402		yy_load_buffer_state(  );
7403		(yy_did_buffer_switch_on_eof) = 1;
7404	}
7405}
7406
7407/* Allocates the stack if it does not exist.
7408 *  Guarantees space for at least one push.
7409 */
7410static void yyensure_buffer_stack (void)
7411{
7412	yy_size_t num_to_alloc;
7413
7414	if (!(yy_buffer_stack)) {
7415
7416		/* First allocation is just for 2 elements, since we don't know if this
7417		 * scanner will even need a stack. We use 2 instead of 1 to avoid an
7418		 * immediate realloc on the next call.
7419         */
7420      num_to_alloc = 1; /* After all that talk, this was set to 1 anyways... */
7421		(yy_buffer_stack) = (struct yy_buffer_state**)yyalloc
7422								(num_to_alloc * sizeof(struct yy_buffer_state*)
7423								);
7424		if ( ! (yy_buffer_stack) )
7425			YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
7426
7427		memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
7428
7429		(yy_buffer_stack_max) = num_to_alloc;
7430		(yy_buffer_stack_top) = 0;
7431		return;
7432	}
7433
7434	if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
7435
7436		/* Increase the buffer to prepare for a possible push. */
7437		yy_size_t grow_size = 8 /* arbitrary grow size */;
7438
7439		num_to_alloc = (yy_buffer_stack_max) + grow_size;
7440		(yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc
7441								((yy_buffer_stack),
7442								num_to_alloc * sizeof(struct yy_buffer_state*)
7443								);
7444		if ( ! (yy_buffer_stack) )
7445			YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
7446
7447		/* zero only the new slots.*/
7448		memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
7449		(yy_buffer_stack_max) = num_to_alloc;
7450	}
7451}
7452
7453/** Setup the input buffer state to scan directly from a user-specified character buffer.
7454 * @param base the character buffer
7455 * @param size the size in bytes of the character buffer
7456 *
7457 * @return the newly allocated buffer state object.
7458 */
7459YY_BUFFER_STATE yy_scan_buffer  (char * base, yy_size_t  size )
7460{
7461	YY_BUFFER_STATE b;
7462
7463	if ( size < 2 ||
7464	     base[size-2] != YY_END_OF_BUFFER_CHAR ||
7465	     base[size-1] != YY_END_OF_BUFFER_CHAR )
7466		/* They forgot to leave room for the EOB's. */
7467		return NULL;
7468
7469	b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state )  );
7470	if ( ! b )
7471		YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
7472
7473	b->yy_buf_size = (int) (size - 2);	/* "- 2" to take care of EOB's */
7474	b->yy_buf_pos = b->yy_ch_buf = base;
7475	b->yy_is_our_buffer = 0;
7476	b->yy_input_file = NULL;
7477	b->yy_n_chars = b->yy_buf_size;
7478	b->yy_is_interactive = 0;
7479	b->yy_at_bol = 1;
7480	b->yy_fill_buffer = 0;
7481	b->yy_buffer_status = YY_BUFFER_NEW;
7482
7483	yy_switch_to_buffer( b  );
7484
7485	return b;
7486}
7487
7488/** Setup the input buffer state to scan a string. The next call to yylex() will
7489 * scan from a @e copy of @a str.
7490 * @param yystr a NUL-terminated string to scan
7491 *
7492 * @return the newly allocated buffer state object.
7493 * @note If you want to scan bytes that may contain NUL values, then use
7494 *       yy_scan_bytes() instead.
7495 */
7496YY_BUFFER_STATE yy_scan_string (const char * yystr )
7497{
7498
7499	return yy_scan_bytes( yystr, (int) strlen(yystr) );
7500}
7501
7502/** Setup the input buffer state to scan the given bytes. The next call to yylex() will
7503 * scan from a @e copy of @a bytes.
7504 * @param yybytes the byte buffer to scan
7505 * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
7506 *
7507 * @return the newly allocated buffer state object.
7508 */
7509YY_BUFFER_STATE yy_scan_bytes  (const char * yybytes, int  _yybytes_len )
7510{
7511	YY_BUFFER_STATE b;
7512	char *buf;
7513	yy_size_t n;
7514	int i;
7515
7516	/* Get memory for full buffer, including space for trailing EOB's. */
7517	n = (yy_size_t) (_yybytes_len + 2);
7518	buf = (char *) yyalloc( n  );
7519	if ( ! buf )
7520		YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
7521
7522	for ( i = 0; i < _yybytes_len; ++i )
7523		buf[i] = yybytes[i];
7524
7525	buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
7526
7527	b = yy_scan_buffer( buf, n );
7528	if ( ! b )
7529		YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
7530
7531	/* It's okay to grow etc. this buffer, and we should throw it
7532	 * away when we're done.
7533	 */
7534	b->yy_is_our_buffer = 1;
7535
7536	return b;
7537}
7538
7539#ifndef YY_EXIT_FAILURE
7540#define YY_EXIT_FAILURE 2
7541#endif
7542
7543static void yynoreturn yy_fatal_error (const char* msg )
7544{
7545			fprintf( stderr, "%s\n", msg );
7546	exit( YY_EXIT_FAILURE );
7547}
7548
7549/* Redefine yyless() so it works in section 3 code. */
7550
7551#undef yyless
7552#define yyless(n) \
7553	do \
7554		{ \
7555		/* Undo effects of setting up yytext. */ \
7556        int yyless_macro_arg = (n); \
7557        YY_LESS_LINENO(yyless_macro_arg);\
7558		yytext[yyleng] = (yy_hold_char); \
7559		(yy_c_buf_p) = yytext + yyless_macro_arg; \
7560		(yy_hold_char) = *(yy_c_buf_p); \
7561		*(yy_c_buf_p) = '\0'; \
7562		yyleng = yyless_macro_arg; \
7563		} \
7564	while ( 0 )
7565
7566/* Accessor  methods (get/set functions) to struct members. */
7567
7568/** Get the current line number.
7569 *
7570 */
7571int yyget_lineno  (void)
7572{
7573
7574    return yylineno;
7575}
7576
7577/** Get the input stream.
7578 *
7579 */
7580FILE *yyget_in  (void)
7581{
7582        return yyin;
7583}
7584
7585/** Get the output stream.
7586 *
7587 */
7588FILE *yyget_out  (void)
7589{
7590        return yyout;
7591}
7592
7593/** Get the length of the current token.
7594 *
7595 */
7596int yyget_leng  (void)
7597{
7598        return yyleng;
7599}
7600
7601/** Get the current token.
7602 *
7603 */
7604
7605char *yyget_text  (void)
7606{
7607        return yytext;
7608}
7609
7610/** Set the current line number.
7611 * @param _line_number line number
7612 *
7613 */
7614void yyset_lineno (int  _line_number )
7615{
7616
7617    yylineno = _line_number;
7618}
7619
7620/** Set the input stream. This does not discard the current
7621 * input buffer.
7622 * @param _in_str A readable stream.
7623 *
7624 * @see yy_switch_to_buffer
7625 */
7626void yyset_in (FILE *  _in_str )
7627{
7628        yyin = _in_str ;
7629}
7630
7631void yyset_out (FILE *  _out_str )
7632{
7633        yyout = _out_str ;
7634}
7635
7636int yyget_debug  (void)
7637{
7638        return yy_flex_debug;
7639}
7640
7641void yyset_debug (int  _bdebug )
7642{
7643        yy_flex_debug = _bdebug ;
7644}
7645
7646static int yy_init_globals (void)
7647{
7648        /* Initialization is the same as for the non-reentrant scanner.
7649     * This function is called from yylex_destroy(), so don't allocate here.
7650     */
7651
7652    (yy_buffer_stack) = NULL;
7653    (yy_buffer_stack_top) = 0;
7654    (yy_buffer_stack_max) = 0;
7655    (yy_c_buf_p) = NULL;
7656    (yy_init) = 0;
7657    (yy_start) = 0;
7658
7659/* Defined in main.c */
7660#ifdef YY_STDINIT
7661    yyin = stdin;
7662    yyout = stdout;
7663#else
7664    yyin = NULL;
7665    yyout = NULL;
7666#endif
7667
7668    /* For future reference: Set errno on error, since we are called by
7669     * yylex_init()
7670     */
7671    return 0;
7672}
7673
7674/* yylex_destroy is for both reentrant and non-reentrant scanners. */
7675int yylex_destroy  (void)
7676{
7677
7678    /* Pop the buffer stack, destroying each element. */
7679	while(YY_CURRENT_BUFFER){
7680		yy_delete_buffer( YY_CURRENT_BUFFER  );
7681		YY_CURRENT_BUFFER_LVALUE = NULL;
7682		yypop_buffer_state();
7683	}
7684
7685	/* Destroy the stack itself. */
7686	yyfree((yy_buffer_stack) );
7687	(yy_buffer_stack) = NULL;
7688
7689    /* Reset the globals. This is important in a non-reentrant scanner so the next time
7690     * yylex() is called, initialization will occur. */
7691    yy_init_globals( );
7692
7693    return 0;
7694}
7695
7696/*
7697 * Internal utility routines.
7698 */
7699
7700#ifndef yytext_ptr
7701static void yy_flex_strncpy (char* s1, const char * s2, int n )
7702{
7703
7704	int i;
7705	for ( i = 0; i < n; ++i )
7706		s1[i] = s2[i];
7707}
7708#endif
7709
7710#ifdef YY_NEED_STRLEN
7711static int yy_flex_strlen (const char * s )
7712{
7713	int n;
7714	for ( n = 0; s[n]; ++n )
7715		;
7716
7717	return n;
7718}
7719#endif
7720
7721void *yyalloc (yy_size_t  size )
7722{
7723			return malloc(size);
7724}
7725
7726void *yyrealloc  (void * ptr, yy_size_t  size )
7727{
7728
7729	/* The cast to (char *) in the following accommodates both
7730	 * implementations that use char* generic pointers, and those
7731	 * that use void* generic pointers.  It works with the latter
7732	 * because both ANSI C and C++ allow castless assignment from
7733	 * any pointer type to void*, and deal with argument conversions
7734	 * as though doing an assignment.
7735	 */
7736	return realloc(ptr, size);
7737}
7738
7739void yyfree (void * ptr )
7740{
7741			free( (char *) ptr );	/* see yyrealloc() for (char *) cast */
7742}
7743
7744#define YYTABLES_NAME "yytables"
7745
7746#line 720 "util/configlexer.lex"
7747
7748
7749