1 #include "common.h"
2 #line 2 "config_scan.c"
3
4 #line 4 "config_scan.c"
5
6 #define YY_INT_ALIGNED short int
7
8 /* $OpenBSD: flex.skl,v 1.16 2017/05/02 19:16:19 millert Exp $ */
9
10 /* A lexical scanner generated by flex */
11
12 #define yy_create_buffer socks_yy_create_buffer
13 #define yy_delete_buffer socks_yy_delete_buffer
14 #define yy_flex_debug socks_yy_flex_debug
15 #define yy_init_buffer socks_yy_init_buffer
16 #define yy_flush_buffer socks_yy_flush_buffer
17 #define yy_load_buffer_state socks_yy_load_buffer_state
18 #define yy_switch_to_buffer socks_yy_switch_to_buffer
19 #define yyin socks_yyin
20 #define yyleng socks_yyleng
21 #define yylex socks_yylex
22 #define yylineno socks_yylineno
23 #define yyout socks_yyout
24 #define yyrestart socks_yyrestart
25 #define yytext socks_yytext
26 #define yywrap socks_yywrap
27 #define yyalloc socks_yyalloc
28 #define yyrealloc socks_yyrealloc
29 #define yyfree socks_yyfree
30
31 #define FLEX_SCANNER
32 #define YY_FLEX_MAJOR_VERSION 2
33 #define YY_FLEX_MINOR_VERSION 5
34 #define YY_FLEX_SUBMINOR_VERSION 39
35 #if YY_FLEX_SUBMINOR_VERSION > 0
36 #define FLEX_BETA
37 #endif
38
39 /* First, we deal with platform-specific or compiler-specific issues. */
40
41 /* begin standard C headers. */
42 #include <stdio.h>
43 #include <string.h>
44 #include <errno.h>
45 #include <stdlib.h>
46
47 /* end standard C headers. */
48
49 /* $OpenBSD: flexint.h,v 1.1 2015/11/19 19:43:40 tedu Exp $ */
50
51 /* flex integer type definitions */
52
53 #ifndef FLEXINT_H
54 #define FLEXINT_H
55
56 /* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
57
58 #if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
59
60 /* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
61 * if you want the limit (max/min) macros for int types.
62 */
63 #ifndef __STDC_LIMIT_MACROS
64 #define __STDC_LIMIT_MACROS 1
65 #endif
66
67 #include <inttypes.h>
68 typedef int8_t flex_int8_t;
69 typedef uint8_t flex_uint8_t;
70 typedef int16_t flex_int16_t;
71 typedef uint16_t flex_uint16_t;
72 typedef int32_t flex_int32_t;
73 typedef uint32_t flex_uint32_t;
74 #else
75 typedef signed char flex_int8_t;
76 typedef short int flex_int16_t;
77 typedef int flex_int32_t;
78 typedef unsigned char flex_uint8_t;
79 typedef unsigned short int flex_uint16_t;
80 typedef unsigned int flex_uint32_t;
81
82 /* Limits of integral types. */
83 #ifndef INT8_MIN
84 #define INT8_MIN (-128)
85 #endif
86 #ifndef INT16_MIN
87 #define INT16_MIN (-32767-1)
88 #endif
89 #ifndef INT32_MIN
90 #define INT32_MIN (-2147483647-1)
91 #endif
92 #ifndef INT8_MAX
93 #define INT8_MAX (127)
94 #endif
95 #ifndef INT16_MAX
96 #define INT16_MAX (32767)
97 #endif
98 #ifndef INT32_MAX
99 #define INT32_MAX (2147483647)
100 #endif
101 #ifndef UINT8_MAX
102 #define UINT8_MAX (255U)
103 #endif
104 #ifndef UINT16_MAX
105 #define UINT16_MAX (65535U)
106 #endif
107 #ifndef UINT32_MAX
108 #define UINT32_MAX (4294967295U)
109 #endif
110
111 #endif /* ! C99 */
112
113 #endif /* ! FLEXINT_H */
114
115 #ifdef __cplusplus
116
117 /* The "const" storage-class-modifier is valid. */
118 #define YY_USE_CONST
119
120 #else /* ! __cplusplus */
121
122 /* C99 requires __STDC__ to be defined as 1. */
123 #if defined (__STDC__)
124
125 #define YY_USE_CONST
126
127 #endif /* defined (__STDC__) */
128 #endif /* ! __cplusplus */
129
130 #ifdef YY_USE_CONST
131 #define yyconst const
132 #else
133 #define yyconst
134 #endif
135
136 /* Returned upon end-of-file. */
137 #define YY_NULL 0
138
139 /* Promotes a possibly negative, possibly signed char to an unsigned
140 * integer for use as an array index. If the signed char is negative,
141 * we want to instead treat it as an 8-bit unsigned char, hence the
142 * double cast.
143 */
144 #define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
145
146 /* Enter a start condition. This macro really ought to take a parameter,
147 * but we do it the disgusting crufty way forced on us by the ()-less
148 * definition of BEGIN.
149 */
150 #define BEGIN (yy_start) = 1 + 2 *
151
152 /* Translate the current start state into a value that can be later handed
153 * to BEGIN to return to the state. The YYSTATE alias is for lex
154 * compatibility.
155 */
156 #define YY_START (((yy_start) - 1) / 2)
157 #define YYSTATE YY_START
158
159 /* Action number for EOF rule of a given start state. */
160 #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
161
162 /* Special action meaning "start processing a new file". */
163 #define YY_NEW_FILE socks_yyrestart(socks_yyin )
164
165 #define YY_END_OF_BUFFER_CHAR 0
166
167 /* Size of default input buffer. */
168 #ifndef YY_BUF_SIZE
169 #define YY_BUF_SIZE 16384
170 #endif
171
172 /* The state buf must be large enough to hold one state per character in the main buffer.
173 */
174 #define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
175
176 #ifndef YY_TYPEDEF_YY_BUFFER_STATE
177 #define YY_TYPEDEF_YY_BUFFER_STATE
178 typedef struct yy_buffer_state *YY_BUFFER_STATE;
179 #endif
180
181 #ifndef YY_TYPEDEF_YY_SIZE_T
182 #define YY_TYPEDEF_YY_SIZE_T
183 typedef size_t yy_size_t;
184 #endif
185
186 extern yy_size_t socks_yyleng;
187
188 extern FILE *socks_yyin, *socks_yyout;
189
190 #define EOB_ACT_CONTINUE_SCAN 0
191 #define EOB_ACT_END_OF_FILE 1
192 #define EOB_ACT_LAST_MATCH 2
193
194 /* Note: We specifically omit the test for yy_rule_can_match_eol because it requires
195 * access to the local variable yy_act. Since yyless() is a macro, it would break
196 * existing scanners that call yyless() from OUTSIDE socks_yylex.
197 * One obvious solution it to make yy_act a global. I tried that, and saw
198 * a 5% performance hit in a non-socks_yylineno scanner, because yy_act is
199 * normally declared as a register variable-- so it is not worth it.
200 */
201 #define YY_LESS_LINENO(n) \
202 do { \
203 int yyl;\
204 for ( yyl = n; yyl < socks_yyleng; ++yyl )\
205 if ( socks_yytext[yyl] == '\n' )\
206 --socks_yylineno;\
207 }while(0)
208 #define YY_LINENO_REWIND_TO(dst) \
209 do {\
210 const char *p;\
211 for ( p = yy_cp-1; p >= (dst); --p)\
212 if ( *p == '\n' )\
213 --socks_yylineno;\
214 }while(0)
215
216 /* Return all but the first "n" matched characters back to the input stream. */
217 #define yyless(n) \
218 do \
219 { \
220 /* Undo effects of setting up socks_yytext. */ \
221 int yyless_macro_arg = (n); \
222 YY_LESS_LINENO(yyless_macro_arg);\
223 *yy_cp = (yy_hold_char); \
224 YY_RESTORE_YY_MORE_OFFSET \
225 (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
226 YY_DO_BEFORE_ACTION; /* set up socks_yytext again */ \
227 } \
228 while ( 0 )
229
230 #define unput(c) yyunput( c, (yytext_ptr) )
231
232 #ifndef YY_STRUCT_YY_BUFFER_STATE
233 #define YY_STRUCT_YY_BUFFER_STATE
234 struct yy_buffer_state
235 {
236 FILE *yy_input_file;
237
238 char *yy_ch_buf; /* input buffer */
239 char *yy_buf_pos; /* current position in input buffer */
240
241 /* Size of input buffer in bytes, not including room for EOB
242 * characters.
243 */
244 yy_size_t yy_buf_size;
245
246 /* Number of characters read into yy_ch_buf, not including EOB
247 * characters.
248 */
249 yy_size_t yy_n_chars;
250
251 /* Whether we "own" the buffer - i.e., we know we created it,
252 * and can realloc() it to grow it, and should free() it to
253 * delete it.
254 */
255 int yy_is_our_buffer;
256
257 /* Whether this is an "interactive" input source; if so, and
258 * if we're using stdio for input, then we want to use getc()
259 * instead of fread(), to make sure we stop fetching input after
260 * each newline.
261 */
262 int yy_is_interactive;
263
264 /* Whether we're considered to be at the beginning of a line.
265 * If so, '^' rules will be active on the next match, otherwise
266 * not.
267 */
268 int yy_at_bol;
269
270 int yy_bs_lineno; /**< The line count. */
271 int yy_bs_column; /**< The column count. */
272
273 /* Whether to try to fill the input buffer when we reach the
274 * end of it.
275 */
276 int yy_fill_buffer;
277
278 int yy_buffer_status;
279
280 #define YY_BUFFER_NEW 0
281 #define YY_BUFFER_NORMAL 1
282 /* When an EOF's been seen but there's still some text to process
283 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
284 * shouldn't try reading from the input source any more. We might
285 * still have a bunch of tokens to match, though, because of
286 * possible backing-up.
287 *
288 * When we actually see the EOF, we change the status to "new"
289 * (via socks_yyrestart()), so that the user can continue scanning by
290 * just pointing socks_yyin at a new input file.
291 */
292 #define YY_BUFFER_EOF_PENDING 2
293
294 };
295 #endif /* !YY_STRUCT_YY_BUFFER_STATE */
296
297 /* Stack of input buffers. */
298 static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
299 static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
300 static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */
301
302 /* We provide macros for accessing buffer states in case in the
303 * future we want to put the buffer states in a more general
304 * "scanner state".
305 *
306 * Returns the top of the stack, or NULL.
307 */
308 #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
309 ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
310 : NULL)
311
312 /* Same as previous macro, but useful when we know that the buffer stack is not
313 * NULL or when we need an lvalue. For internal use only.
314 */
315 #define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
316
317 /* yy_hold_char holds the character lost when socks_yytext is formed. */
318 static char yy_hold_char;
319 static yy_size_t yy_n_chars; /* number of characters read into yy_ch_buf */
320 yy_size_t socks_yyleng;
321
322 /* Points to current character in buffer. */
323 static char *yy_c_buf_p = (char *) 0;
324 static int yy_init = 0; /* whether we need to initialize */
325 static int yy_start = 0; /* start state number */
326
327 /* Flag which is used to allow socks_yywrap()'s to do buffer switches
328 * instead of setting up a fresh socks_yyin. A bit of a hack ...
329 */
330 static int yy_did_buffer_switch_on_eof;
331
332 void socks_yyrestart (FILE *input_file );
333 void socks_yy_switch_to_buffer (YY_BUFFER_STATE new_buffer );
334 YY_BUFFER_STATE socks_yy_create_buffer (FILE *file,int size );
335 void socks_yy_delete_buffer (YY_BUFFER_STATE b );
336 void socks_yy_flush_buffer (YY_BUFFER_STATE b );
337 void socks_yypush_buffer_state (YY_BUFFER_STATE new_buffer );
338 void socks_yypop_buffer_state (void );
339
340 static void socks_yyensure_buffer_stack (void );
341 static void socks_yy_load_buffer_state (void );
342 static void socks_yy_init_buffer (YY_BUFFER_STATE b,FILE *file );
343
344 #define YY_FLUSH_BUFFER socks_yy_flush_buffer(YY_CURRENT_BUFFER )
345
346 YY_BUFFER_STATE socks_yy_scan_buffer (char *base,yy_size_t size );
347 YY_BUFFER_STATE socks_yy_scan_string (yyconst char *yy_str );
348 YY_BUFFER_STATE socks_yy_scan_bytes (yyconst char *bytes,yy_size_t len );
349
350 void *socks_yyalloc (yy_size_t );
351 void *socks_yyrealloc (void *,yy_size_t );
352 void socks_yyfree (void * );
353
354 #define yy_new_buffer socks_yy_create_buffer
355
356 #define yy_set_interactive(is_interactive) \
357 { \
358 if ( ! YY_CURRENT_BUFFER ){ \
359 socks_yyensure_buffer_stack (); \
360 YY_CURRENT_BUFFER_LVALUE = \
361 socks_yy_create_buffer(socks_yyin,YY_BUF_SIZE ); \
362 } \
363 YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
364 }
365
366 #define yy_set_bol(at_bol) \
367 { \
368 if ( ! YY_CURRENT_BUFFER ){\
369 socks_yyensure_buffer_stack (); \
370 YY_CURRENT_BUFFER_LVALUE = \
371 socks_yy_create_buffer(socks_yyin,YY_BUF_SIZE ); \
372 } \
373 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
374 }
375
376 #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
377
378 /* Begin user sect3 */
379
380 #define socks_yywrap() 1
381 #define YY_SKIP_YYWRAP
382
383 typedef unsigned char YY_CHAR;
384
385 FILE *socks_yyin = (FILE *) 0, *socks_yyout = (FILE *) 0;
386
387 typedef int yy_state_type;
388
389 extern int socks_yylineno;
390
391 int socks_yylineno = 1;
392
393 extern char *socks_yytext;
394 #define yytext_ptr socks_yytext
395
396 static yy_state_type yy_get_previous_state (void );
397 static yy_state_type yy_try_NUL_trans (yy_state_type current_state );
398 static int yy_get_next_buffer (void );
399 static void yy_fatal_error (yyconst char msg[] );
400
401 /* Done after the current pattern has been matched and before the
402 * corresponding action - sets up socks_yytext.
403 */
404 #define YY_DO_BEFORE_ACTION \
405 (yytext_ptr) = yy_bp; \
406 socks_yyleng = (size_t) (yy_cp - yy_bp); \
407 (yy_hold_char) = *yy_cp; \
408 *yy_cp = '\0'; \
409 (yy_c_buf_p) = yy_cp;
410
411 #define YY_NUM_RULES 247
412 #define YY_END_OF_BUFFER 248
413 /* This struct is not used in this scanner,
414 but its presence is necessary. */
415 struct yy_trans_info
416 {
417 flex_int32_t yy_verify;
418 flex_int32_t yy_nxt;
419 };
420 static yyconst flex_int16_t yy_acclist[2228] =
421 { 0,
422 72, 72, 248, 246, 247, 241, 246, 247, 243, 247,
423 246, 247, 242, 246, 247, 246, 247, 240, 246, 247,
424 240, 246, 247, 95, 246, 247, 95, 246, 247, 95,
425 246, 247, 246, 247, 246, 247, 246, 247, 246, 247,
426 246, 247, 246, 247, 246, 247, 246, 247, 246, 247,
427 246, 247, 246, 247, 246, 247, 246, 247, 246, 247,
428 246, 247, 246, 247, 246, 247, 246, 247, 246, 247,
429 246, 247, 245, 246, 247, 241, 246, 247, 246, 247,
430 246, 247, 246, 247, 246, 247, 246, 247, 246, 247,
431 246, 247, 246, 247, 242, 246, 247, 20, 246, 247,
432
433 240, 246, 247, 240, 246, 247, 246, 247, 95, 246,
434 247, 95, 246, 247, 95, 246, 247, 246, 247, 246,
435 247, 246, 247, 246, 247, 246, 247, 246, 247, 246,
436 247, 246, 247, 246, 247, 246, 247, 246, 247, 246,
437 247, 246, 247, 246, 247, 246, 247, 246, 247, 246,
438 247, 246, 247, 246, 247, 246, 247, 245, 246, 247,
439 246, 247, 246, 247, 246, 247, 246, 247, 246, 247,
440 246, 247, 246, 247, 246, 247, 246, 247, 246, 247,
441 71, 246, 247, 246, 247, 246, 247, 246, 247, 72,
442 246, 247, 72, 241, 246, 247, 72, 242, 246, 247,
443
444 72, 240, 246, 247, 72, 240, 246, 247, 72, 246,
445 247, 72, 245, 246, 247, 246, 247, 246, 247, 246,
446 247, 246, 247, 246, 247, 246, 247, 52, 246, 247,
447 52, 242, 246, 247, 52, 240, 246, 247, 52, 240,
448 246, 247, 52, 246, 247, 52, 245, 246, 247, 246,
449 247, 246, 247, 246, 247, 246, 247, 246, 247, 246,
450 247, 246, 247, 246, 247, 246, 247, 246, 247, 246,
451 247, 246, 247, 246, 247, 53, 246, 247, 53, 242,
452 246, 247, 53, 240, 246, 247, 53, 240, 246, 247,
453 53, 246, 247, 53, 245, 246, 247, 54, 246, 247,
454
455 54, 242, 246, 247, 54, 240, 246, 247, 54, 240,
456 246, 247, 54, 246, 247, 54, 245, 246, 247, 55,
457 246, 247, 55, 242, 246, 247, 55, 240, 246, 247,
458 55, 240, 246, 247, 55, 246, 247, 55, 245, 246,
459 247, 246, 247, 246, 247, 246, 247, 246, 247, 246,
460 247, 246, 247, 246, 247, 246, 247, 246, 247, 246,
461 247, 242, 246, 247, 240, 246, 247, 240, 246, 247,
462 246, 247, 245, 246, 247, 246, 247, 242, 246, 247,
463 240, 246, 247, 240, 246, 247, 246, 247, 245, 246,
464 247, 246, 247, 246, 247, 242, 246, 247, 240, 246,
465
466 247, 240, 246, 247, 246, 247, 245, 246, 247, 246,
467 247, 242, 246, 247, 240, 246, 247, 240, 246, 247,
468 246, 247, 245, 246, 247, 246, 247, 242, 246, 247,
469 240, 246, 247, 240, 246, 247, 246, 247, 245, 246,
470 247, 246, 247, 242, 246, 247, 240, 246, 247, 240,
471 246, 247, 246, 247, 245, 246, 247, 65, 246, 247,
472 65, 242, 246, 247, 65, 240, 246, 247, 65, 240,
473 246, 247, 65, 246, 247, 65, 246, 247, 65, 245,
474 246, 247, 63, 246, 247, 63, 242, 246, 247, 63,
475 240, 246, 247, 63, 240, 246, 247, 63, 246, 247,
476
477 63, 245, 246, 247, 64, 246, 247, 64, 242, 246,
478 247, 64, 240, 246, 247, 64, 240, 246, 247, 64,
479 246, 247, 64, 245, 246, 247, 246, 247, 242, 246,
480 247, 240, 246, 247, 240, 246, 247, 246, 247, 245,
481 246, 247, 246, 247, 246, 247, 246, 247, 246, 247,
482 246, 247, 246, 247, 246, 247, 9, 246, 247, 51,
483 246, 247, 70, 246, 247, 70, 242, 246, 247, 70,
484 240, 246, 247, 70, 240, 246, 247, 70, 246, 247,
485 70, 245, 246, 247, 68, 246, 247, 68, 242, 246,
486 247, 68, 240, 246, 247, 68, 240, 246, 247, 68,
487
488 246, 247, 68, 246, 247, 68, 245, 246, 247, 246,
489 247, 246, 247, 246, 247, 246, 247, 84, 246, 247,
490 84, 242, 246, 247, 84, 240, 246, 247, 84, 240,
491 246, 247, 84, 246, 247, 84, 245, 246, 247, 246,
492 247, 246, 247, 246, 247, 246, 247, 246, 247, 246,
493 247, 242, 246, 247, 246, 247, 245, 246, 247, 246,
494 247, 246, 247, 246, 247, 246, 247, 33, 246, 247,
495 33, 243, 247, 33, 242, 246, 247, 33, 246, 247,
496 33, 245, 246, 247, 246, 247, 241, 95, 242, 240,
497 240, 244, 128, 95, 133, 130, 241, 22, 22, 95,
498
499 22, 242, 22, 22, 21, 22, 240, 22, 240, 22,
500 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
501 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
502 22, 128, 22, 22, 22, 22, 22, 22, 22, 22,
503 95, 22, 133, 22, 22, 22, 22, 22, 22, 22,
504 22, 22, 22, 130, 22, 22, 22, 22, 22, 22,
505 22, 22, 22, 22, 72, 72, 241, 72, 242, 72,
506 240, 72, 240, 72, 46, 52, 52, 242, 52, 240,
507 52, 240, 52, 50, 53, 53, 242, 53, 240, 53,
508 240, 53, 54, 54, 242, 54, 240, 54, 240, 54,
509
510 55, 55, 242, 55, 240, 55, 240, 55, 56, 56,
511 56, 242, 56, 242, 56, 240, 56, 240, 56, 57,
512 57, 57, 242, 57, 242, 57, 240, 57, 240, 57,
513 58, 58, 58, 242, 58, 242, 58, 240, 58, 240,
514 58, 60, 60, 60, 242, 60, 242, 60, 240, 60,
515 240, 60, 62, 62, 62, 242, 62, 242, 62, 240,
516 62, 240, 62, 61, 61, 61, 242, 61, 242, 61,
517 240, 61, 240, 61, 65, 65, 242, 65, 240, 65,
518 240, 65, 65, 63, 63, 242, 63, 240, 63, 240,
519 63, 64, 64, 242, 64, 240, 64, 240, 64, 67,
520
521 67, 67, 242, 67, 242, 67, 240, 67, 240, 67,
522 9, 9, 51, 51, 70, 70, 242, 70, 240, 70,
523 240, 70, 68, 68, 242, 68, 240, 68, 240, 68,
524 68, 84, 84, 242, 84, 240, 84, 240, 84, 34,
525 38, 39, 39, 242, 31, 33, 33, 242, 33, 244,
526 24, 131, 132, 22, 22, 22, 22, 22, 22, 22,
527 22, 22, 22, 22, 22, 22, 22, 24, 22, 22,
528 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
529 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
530 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
531
532 22, 22, 22, 22, 22, 131, 22, 132, 22, 22,
533 22, 22, 22, 22, 92, 171, 3, 65, 76, 77,
534 68, 79, 36, 37, 32, 167, 129, 177, 145, 176,
535 150, 99, 176, 22, 22, 22, 22, 22, 22, 167,
536 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
537 22, 22, 22, 129, 22, 22, 22, 22, 22, 22,
538 22, 22, 22, 22, 177, 22, 22, 22, 22, 22,
539 22, 145, 22, 22, 22, 22, 176, 22, 22, 22,
540 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
541 150, 22, 22, 22, 22, 99, 176, 22, 22, 23,
542
543 14, 41, 44, 85, 12, 13, 26, 8, 4, 65,
544 78, 1, 2, 68, 175, 105, 151, 235, 107, 99,
545 99, 175, 106, 107,16482, 22, 22, 22, 22, 22,
546 22, 175, 22, 22, 22, 22, 22, 22, 22, 22,
547 105, 22, 22, 22, 22, 22, 151, 22, 22, 22,
548 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
549 22, 22, 22, 22, 22, 22, 235, 22, 22, 22,
550 107, 22, 22, 22, 22, 22, 22, 22, 22, 22,
551 22, 22, 99, 175, 22, 22, 22, 106, 107, 22,
552 16482, 43, 47, 80, 103, 104, 102, 234, 168, 174,
553
554 108, 106,16482,16480, 168,16481, 22, 22, 103, 22,
555 22, 104, 22, 22, 102, 22, 22, 22, 234, 22,
556 22, 22, 22, 22, 22, 22, 22, 22, 22, 19,
557 22, 22, 168, 22, 22, 22, 22, 22, 22, 22,
558 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
559 22, 174, 22, 22, 22, 22, 22, 22, 22, 22,
560 22, 22, 22, 108, 22, 22, 22, 22, 22, 22,
561 22, 22, 22, 22, 22, 22, 22, 22,16480, 22,
562 168,16481, 86, 88, 8, 6, 66, 69, 35, 27,
563 117, 178, 109, 169, 233, 232, 112,16480,16481, 22,
564
565 22, 22, 22, 22, 22, 22, 22, 117, 22, 22,
566 22, 22, 22, 22, 19, 22, 22, 22, 22, 22,
567 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
568 22, 22, 22, 178, 22, 22, 22, 109, 22, 169,
569 22, 22, 233, 22, 232, 22, 22, 22, 22, 22,
570 22, 22, 22, 22, 22, 22, 22, 112, 22, 22,
571 22, 22, 22, 22, 22, 15, 40, 45, 93, 89,
572 8, 59, 28, 30, 114, 208, 197, 116, 120, 162,
573 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
574 22, 22, 114, 22, 22, 22, 22, 22, 22, 22,
575
576 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
577 22, 22, 22, 22, 208, 22, 197, 22, 22, 22,
578 22, 22, 22, 22, 22, 116, 22, 22, 120, 22,
579 22, 22, 162, 22, 22, 22, 22, 22, 22, 22,
580 22, 22, 22, 22, 18, 94, 87, 10, 11, 25,
581 59, 110, 121, 166, 144, 170, 138, 238, 193, 115,
582 165, 146, 22, 22, 22, 110, 22, 121, 22, 22,
583 22, 22, 22, 22, 22, 22, 166, 22, 22, 22,
584 144, 22, 22, 22, 22, 22, 22, 138, 22, 238,
585 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
586
587 22, 22, 22, 193, 22, 22, 22, 22, 22, 22,
588 115, 22, 165, 22, 22, 22, 22, 22, 22, 146,
589 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
590 22, 22, 22, 22, 22, 22, 22, 17, 12, 7,
591 81, 29, 100, 163, 205, 226, 157, 8290, 22, 100,
592 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
593 163, 22, 22, 22, 22, 22, 22, 22, 22, 22,
594 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
595 22, 22, 22, 22, 22, 22, 22, 205, 22, 22,
596 22, 226, 22, 22, 22, 22, 22, 22, 22, 22,
597
598 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
599 22, 22, 22, 22, 22, 157, 22, 22, 22, 22,
600 22, 22, 22, 22, 42, 5, 83, 187, 203, 215,
601 229, 207, 224, 231, 122, 172, 8288, 8289, 22, 22,
602 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
603 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
604 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
605 22, 22, 22, 22, 22, 22, 22, 187, 22, 22,
606 22, 22, 203, 22, 215, 22, 22, 22, 229, 22,
607 207, 22, 22, 224, 22, 22, 22, 22, 22, 231,
608
609 22, 22, 22, 22, 22, 22, 122, 22, 22, 22,
610 22, 22, 172, 22, 22, 22, 22, 22, 22, 22,
611 22, 22, 22, 44, 49, 90, 173, 139, 134, 180,
612 236, 154, 22, 22, 22, 22, 22, 22, 22, 173,
613 22, 22, 22, 22, 139, 22, 22, 22, 22, 22,
614 22, 22, 22, 22, 134, 22, 22, 22, 22, 22,
615 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
616 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
617 22, 180, 22, 22, 22, 236, 22, 22, 22, 22,
618 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
619
620 22, 22, 22, 154, 22, 22, 22, 16, 48, 91,
621 74, 161, 143, 185, 136, 209, 198, 210, 199, 201,
622 195, 179, 236, 236, 113, 118, 22, 22, 22, 22,
623 22, 22, 22, 161, 22, 22, 22, 143, 22, 22,
624 22, 22, 22, 185, 22, 22, 22, 136, 22, 22,
625 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
626 22, 209, 22, 198, 22, 210, 22, 22, 22, 199,
627 22, 201, 22, 22, 22, 22, 22, 195, 22, 179,
628 22, 22, 236, 22, 236, 22, 22, 22, 113, 22,
629 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
630
631 22, 22, 118, 22, 22, 22, 73, 147, 237, 186,
632 220, 194, 212, 217, 227, 214, 182, 158, 159, 119,
633 22, 22, 22, 22, 147, 22, 22, 22, 22, 237,
634 22, 22, 22, 22, 22, 186, 22, 22, 22, 22,
635 22, 220, 22, 22, 22, 22, 22, 22, 22, 22,
636 194, 22, 22, 22, 212, 22, 217, 22, 22, 227,
637 22, 214, 22, 22, 22, 182, 22, 22, 22, 22,
638 22, 22, 22, 158, 22, 159, 22, 22, 22, 119,
639 22, 22, 22, 75, 147, 147, 140, 135, 206, 188,
640 218, 111, 155, 152, 22, 22, 22, 147, 22, 147,
641
642 22, 22, 22, 22, 140, 22, 22, 22, 22, 135,
643 22, 22, 22, 22, 22, 22, 22, 22, 206, 22,
644 22, 22, 22, 22, 22, 188, 22, 22, 218, 22,
645 22, 22, 111, 22, 22, 22, 22, 22, 22, 22,
646 155, 22, 22, 22, 22, 152, 22, 82, 101, 190,
647 204, 216, 230, 225, 124, 22, 101, 22, 22, 22,
648 22, 22, 22, 22, 22, 22, 22, 22, 22, 190,
649 22, 22, 22, 22, 204, 22, 216, 22, 230, 22,
650 22, 225, 22, 22, 22, 22, 22, 22, 22, 22,
651 22, 124, 22, 22, 22, 22, 22, 22, 183, 149,
652
653 148, 141, 142, 137, 221, 125, 127, 160, 153, 22,
654 183, 22, 149, 22, 148, 22, 22, 141, 22, 142,
655 22, 22, 137, 22, 221, 22, 22, 22, 22, 22,
656 22, 22, 22, 22, 22, 22, 22, 22, 125, 22,
657 127, 22, 22, 22, 22, 160, 22, 22, 22, 153,
658 184, 222, 211, 200, 202, 196, 219, 228, 239, 22,
659 22, 184, 22, 22, 222, 22, 211, 22, 22, 22,
660 200, 22, 202, 22, 196, 22, 22, 219, 22, 228,
661 22, 22, 22, 22, 239, 22, 164, 213, 189, 123,
662 22, 164, 22, 22, 22, 213, 22, 189, 22, 22,
663
664 123, 22, 22, 191, 181, 156, 22, 22, 191, 22,
665 181, 22, 22, 156, 223, 22, 223, 22, 22, 126,
666 22, 22, 126, 22, 192, 22, 192
667 } ;
668
669 static yyconst flex_int16_t yy_accept[2804] =
670 { 0,
671 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
672 1, 1, 1, 2, 3, 3, 3, 3, 3, 3,
673 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
674 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
675 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
676 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
677 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
678 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
679 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
680 3, 3, 3, 3, 3, 3, 3, 3, 3, 4,
681
682 6, 9, 11, 13, 16, 18, 21, 24, 27, 30,
683 33, 35, 37, 39, 41, 43, 45, 47, 49, 51,
684 53, 55, 57, 59, 61, 63, 65, 67, 69, 71,
685 73, 76, 79, 81, 83, 85, 87, 89, 91, 93,
686 95, 98, 101, 104, 107, 109, 112, 115, 118, 120,
687 122, 124, 126, 128, 130, 132, 134, 136, 138, 140,
688 142, 144, 146, 148, 150, 152, 154, 156, 158, 161,
689 163, 165, 167, 169, 171, 173, 175, 177, 179, 181,
690 184, 186, 188, 190, 193, 197, 201, 205, 209, 212,
691 216, 218, 220, 222, 224, 226, 228, 231, 235, 239,
692
693 243, 246, 250, 252, 254, 256, 258, 260, 262, 264,
694 266, 268, 270, 272, 274, 276, 279, 283, 287, 291,
695 294, 298, 301, 305, 309, 313, 316, 320, 323, 327,
696 331, 335, 338, 342, 344, 346, 348, 350, 352, 354,
697 356, 358, 360, 362, 365, 368, 371, 373, 376, 378,
698 381, 384, 387, 389, 392, 394, 396, 399, 402, 405,
699 407, 410, 412, 415, 418, 421, 423, 426, 428, 431,
700 434, 437, 439, 442, 444, 447, 450, 453, 455, 458,
701 461, 465, 469, 473, 476, 479, 483, 486, 490, 494,
702 498, 501, 505, 508, 512, 516, 520, 523, 527, 529,
703
704 532, 535, 538, 540, 543, 545, 547, 549, 551, 553,
705 555, 557, 560, 563, 566, 570, 574, 578, 581, 585,
706 588, 592, 596, 600, 603, 606, 610, 612, 614, 616,
707 618, 621, 625, 629, 633, 636, 640, 642, 644, 646,
708 648, 650, 652, 655, 657, 660, 662, 664, 666, 668,
709 671, 674, 678, 681, 685, 687, 688, 689, 690, 690,
710 690, 691, 692, 692, 693, 693, 693, 693, 693, 693,
711 693, 693, 693, 693, 693, 693, 693, 693, 693, 693,
712 693, 693, 693, 694, 694, 694, 694, 694, 694, 694,
713 694, 695, 696, 696, 696, 696, 696, 696, 696, 696,
714
715 696, 696, 697, 697, 697, 697, 697, 698, 698, 698,
716 698, 698, 698, 698, 698, 698, 698, 698, 698, 698,
717 699, 701, 703, 704, 705, 706, 708, 710, 711, 712,
718 713, 714, 715, 716, 717, 718, 719, 720, 721, 722,
719 723, 724, 725, 726, 727, 728, 729, 730, 731, 733,
720 734, 735, 736, 737, 738, 739, 740, 742, 744, 745,
721 746, 747, 748, 749, 750, 751, 752, 753, 755, 756,
722 757, 758, 759, 760, 761, 762, 763, 764, 765, 765,
723 765, 765, 765, 765, 765, 766, 768, 770, 772, 774,
724 775, 775, 775, 775, 775, 775, 775, 776, 776, 777,
725
726 779, 781, 783, 784, 784, 784, 785, 785, 785, 785,
727 785, 785, 785, 785, 785, 785, 785, 786, 788, 790,
728 792, 793, 794, 796, 798, 800, 801, 802, 804, 806,
729 808, 809, 809, 809, 809, 809, 809, 809, 809, 809,
730 809, 810, 811, 813, 815, 817, 819, 820, 821, 822,
731 824, 826, 828, 830, 831, 831, 832, 833, 835, 837,
732 839, 841, 842, 843, 844, 846, 848, 850, 852, 853,
733 854, 855, 857, 859, 861, 863, 864, 865, 866, 868,
734 870, 872, 874, 875, 876, 878, 880, 882, 883, 884,
735 885, 887, 889, 891, 892, 893, 895, 897, 899, 900,
736
737 901, 902, 904, 906, 908, 910, 911, 911, 911, 911,
738 911, 911, 911, 911, 912, 913, 914, 915, 916, 918,
739 920, 922, 923, 924, 926, 928, 930, 931, 932, 932,
740 932, 932, 932, 932, 933, 935, 937, 939, 940, 941,
741 941, 941, 941, 942, 943, 945, 946, 946, 946, 946,
742 947, 949, 951, 951, 951, 951, 951, 951, 951, 951,
743 951, 951, 951, 951, 951, 951, 951, 952, 952, 952,
744 952, 952, 952, 952, 952, 952, 952, 952, 952, 952,
745 952, 952, 952, 952, 952, 952, 952, 952, 952, 952,
746 952, 952, 952, 952, 952, 952, 952, 952, 952, 952,
747
748 952, 952, 953, 954, 954, 954, 954, 954, 954, 954,
749 954, 954, 954, 954, 954, 954, 955, 956, 957, 958,
750 959, 960, 961, 962, 963, 964, 965, 966, 967, 969,
751 970, 971, 972, 973, 974, 975, 976, 977, 978, 979,
752 980, 981, 982, 983, 984, 985, 986, 987, 988, 989,
753 990, 991, 992, 993, 994, 995, 996, 997, 998, 999,
754 1000, 1001, 1002, 1003, 1004, 1005, 1007, 1009, 1010, 1011,
755 1012, 1013, 1014, 1015, 1015, 1015, 1015, 1015, 1015, 1015,
756 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015,
757 1015, 1015, 1016, 1016, 1016, 1016, 1016, 1016, 1016, 1016,
758
759 1017, 1017, 1017, 1018, 1018, 1018, 1018, 1018, 1019, 1019,
760 1019, 1019, 1019, 1019, 1020, 1021, 1022, 1023, 1023, 1023,
761 1023, 1023, 1023, 1024, 1025, 1025, 1025, 1025, 1025, 1026,
762 1026, 1026, 1026, 1026, 1026, 1027, 1027, 1027, 1027, 1027,
763 1027, 1027, 1027, 1027, 1027, 1027, 1027, 1027, 1028, 1028,
764 1028, 1028, 1028, 1028, 1028, 1028, 1028, 1029, 1029, 1029,
765 1029, 1029, 1029, 1030, 1030, 1030, 1030, 1031, 1031, 1031,
766 1031, 1031, 1031, 1031, 1031, 1031, 1031, 1031, 1031, 1031,
767 1032, 1032, 1032, 1032, 1032, 1032, 1032, 1032, 1032, 1032,
768 1034, 1034, 1034, 1035, 1036, 1037, 1038, 1039, 1041, 1042,
769
770 1043, 1044, 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1052,
771 1053, 1055, 1056, 1057, 1058, 1059, 1060, 1061, 1062, 1063,
772 1064, 1066, 1067, 1068, 1069, 1070, 1071, 1073, 1074, 1075,
773 1076, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086,
774 1087, 1088, 1089, 1090, 1092, 1093, 1094, 1095, 1098, 1099,
775 1100, 1100, 1101, 1101, 1102, 1102, 1102, 1102, 1102, 1103,
776 1103, 1103, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1105,
777 1105, 1105, 1105, 1106, 1106, 1107, 1108, 1108, 1109, 1109,
778 1110, 1110, 1110, 1110, 1111, 1111, 1111, 1111, 1112, 1113,
779 1114, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115,
780
781 1115, 1115, 1115, 1115, 1115, 1115, 1116, 1116, 1116, 1116,
782 1116, 1116, 1116, 1116, 1117, 1117, 1117, 1117, 1117, 1118,
783 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118,
784 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1119, 1119,
785 1119, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120,
786 1120, 1120, 1120, 1120, 1120, 1121, 1121, 1121, 1123, 1123,
787 1123, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1133, 1134,
788 1135, 1136, 1137, 1138, 1139, 1140, 1142, 1143, 1144, 1145,
789 1146, 1146, 1148, 1149, 1150, 1151, 1152, 1153, 1154, 1155,
790 1156, 1157, 1158, 1159, 1160, 1161, 1162, 1163, 1164, 1165,
791
792 1166, 1168, 1169, 1170, 1172, 1173, 1174, 1175, 1176, 1177,
793 1178, 1179, 1180, 1181, 1182, 1185, 1186, 1187, 1190, 1192,
794 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1193, 1193,
795 1193, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194,
796 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194,
797 1194, 1194, 1194, 1194, 1195, 1195, 1195, 1195, 1195, 1195,
798 1195, 1195, 1195, 1195, 1196, 1196, 1197, 1197, 1198, 1198,
799 1198, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199,
800 1199, 1199, 1199, 1200, 1200, 1200, 1200, 1200, 1200, 1200,
801 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200,
802
803 1200, 1200, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201,
804 1201, 1201, 1201, 1202, 1202, 1202, 1202, 1202, 1202, 1202,
805 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1203,
806 1204, 1205, 1207, 1207, 1208, 1210, 1211, 1213, 1214, 1216,
807 1217, 1218, 1220, 1221, 1222, 1223, 1224, 1225, 1226, 1227,
808 1228, 1229, 1230, 1231, 1232, 1234, 1235, 1236, 1237, 1238,
809 1239, 1240, 1241, 1242, 1243, 1244, 1245, 1246, 1247, 1248,
810 1249, 1250, 1251, 1253, 1254, 1255, 1256, 1257, 1258, 1259,
811 1260, 1261, 1262, 1263, 1265, 1266, 1267, 1268, 1269, 1270,
812 1271, 1272, 1273, 1274, 1275, 1276, 1277, 1278, 1280, 1283,
813
814 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283,
815 1283, 1284, 1284, 1284, 1284, 1284, 1285, 1285, 1285, 1285,
816 1285, 1286, 1286, 1287, 1287, 1288, 1288, 1288, 1288, 1288,
817 1289, 1289, 1289, 1289, 1290, 1290, 1291, 1291, 1291, 1291,
818 1291, 1291, 1291, 1291, 1291, 1291, 1292, 1292, 1292, 1292,
819 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292,
820 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292,
821 1292, 1293, 1293, 1293, 1294, 1295, 1295, 1296, 1297, 1297,
822 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297,
823 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1299, 1300,
824
825 1300, 1300, 1300, 1300, 1301, 1302, 1303, 1304, 1305, 1306,
826 1307, 1309, 1310, 1311, 1312, 1313, 1314, 1315, 1316, 1317,
827 1318, 1319, 1320, 1321, 1322, 1323, 1324, 1325, 1326, 1327,
828 1328, 1329, 1330, 1331, 1332, 1333, 1335, 1336, 1337, 1339,
829 1341, 1342, 1344, 1346, 1347, 1348, 1349, 1350, 1351, 1352,
830 1353, 1354, 1355, 1356, 1357, 1359, 1360, 1361, 1362, 1363,
831 1364, 1365, 1366, 1366, 1367, 1367, 1367, 1368, 1368, 1368,
832 1369, 1369, 1369, 1370, 1370, 1370, 1371, 1371, 1371, 1371,
833 1371, 1371, 1372, 1372, 1373, 1373, 1373, 1373, 1373, 1373,
834 1373, 1373, 1374, 1374, 1375, 1375, 1375, 1375, 1375, 1375,
835
836 1375, 1375, 1375, 1375, 1375, 1375, 1376, 1376, 1376, 1376,
837 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376,
838 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1377, 1378,
839 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1379, 1379, 1380,
840 1380, 1380, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381,
841 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381,
842 1382, 1383, 1384, 1385, 1386, 1387, 1388, 1389, 1390, 1391,
843 1392, 1394, 1395, 1396, 1397, 1398, 1399, 1400, 1401, 1402,
844 1403, 1404, 1405, 1406, 1407, 1408, 1409, 1410, 1411, 1412,
845 1413, 1414, 1416, 1418, 1419, 1420, 1421, 1422, 1423, 1424,
846
847 1425, 1427, 1428, 1430, 1431, 1432, 1434, 1435, 1436, 1437,
848 1438, 1439, 1440, 1441, 1442, 1443, 1444, 1445, 1445, 1445,
849 1446, 1446, 1446, 1446, 1446, 1447, 1447, 1447, 1448, 1448,
850 1449, 1450, 1451, 1451, 1452, 1452, 1452, 1452, 1452, 1452,
851 1452, 1452, 1452, 1452, 1452, 1453, 1454, 1454, 1454, 1454,
852 1454, 1454, 1454, 1454, 1455, 1455, 1455, 1456, 1456, 1456,
853 1456, 1457, 1457, 1457, 1458, 1459, 1459, 1459, 1459, 1459,
854 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1460, 1460,
855 1460, 1460, 1460, 1460, 1461, 1462, 1462, 1462, 1462, 1462,
856 1462, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463,
857
858 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463,
859 1463, 1463, 1463, 1463, 1463, 1464, 1465, 1467, 1469, 1470,
860 1471, 1472, 1473, 1474, 1475, 1476, 1478, 1479, 1480, 1482,
861 1483, 1484, 1485, 1486, 1487, 1489, 1491, 1492, 1493, 1494,
862 1495, 1496, 1497, 1498, 1499, 1500, 1501, 1502, 1503, 1505,
863 1506, 1507, 1508, 1509, 1510, 1512, 1514, 1515, 1516, 1517,
864 1518, 1519, 1521, 1522, 1523, 1524, 1525, 1526, 1527, 1528,
865 1529, 1530, 1531, 1532, 1533, 1534, 1535, 1536, 1537, 1538,
866 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1540, 1540,
867 1541, 1541, 1541, 1541, 1541, 1542, 1542, 1543, 1544, 1544,
868
869 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1545, 1545,
870 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545,
871 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545,
872 1545, 1545, 1545, 1545, 1546, 1546, 1546, 1547, 1547, 1547,
873 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547,
874 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547,
875 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548,
876 1548, 1548, 1548, 1548, 1549, 1551, 1552, 1553, 1554, 1555,
877 1556, 1557, 1558, 1559, 1560, 1562, 1563, 1564, 1565, 1566,
878 1567, 1568, 1569, 1570, 1571, 1572, 1573, 1574, 1575, 1576,
879
880 1577, 1578, 1579, 1580, 1581, 1582, 1583, 1584, 1585, 1586,
881 1587, 1589, 1590, 1591, 1593, 1594, 1595, 1596, 1597, 1598,
882 1599, 1600, 1601, 1602, 1603, 1604, 1605, 1606, 1607, 1608,
883 1609, 1610, 1611, 1612, 1613, 1614, 1615, 1617, 1618, 1619,
884 1620, 1621, 1622, 1623, 1624, 1625, 1625, 1626, 1626, 1626,
885 1626, 1626, 1626, 1627, 1627, 1627, 1627, 1627, 1628, 1628,
886 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628,
887 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628,
888 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628,
889 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1629, 1629, 1629,
890
891 1629, 1630, 1631, 1631, 1631, 1632, 1633, 1633, 1634, 1634,
892 1634, 1634, 1634, 1635, 1635, 1635, 1635, 1635, 1635, 1636,
893 1636, 1636, 1636, 1636, 1637, 1637, 1637, 1637, 1637, 1637,
894 1637, 1637, 1637, 1637, 1637, 1637, 1638, 1638, 1639, 1640,
895 1641, 1642, 1643, 1644, 1645, 1646, 1647, 1648, 1649, 1650,
896 1651, 1652, 1653, 1654, 1655, 1656, 1657, 1658, 1659, 1660,
897 1661, 1662, 1663, 1664, 1665, 1666, 1667, 1668, 1669, 1670,
898 1671, 1672, 1673, 1674, 1675, 1676, 1677, 1679, 1680, 1681,
899 1682, 1684, 1686, 1687, 1688, 1690, 1692, 1693, 1695, 1696,
900 1697, 1698, 1699, 1701, 1702, 1703, 1704, 1705, 1706, 1708,
901
902 1709, 1710, 1711, 1712, 1714, 1715, 1716, 1717, 1718, 1719,
903 1720, 1721, 1722, 1723, 1724, 1724, 1725, 1725, 1726, 1727,
904 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727,
905 1727, 1728, 1728, 1728, 1728, 1729, 1729, 1729, 1729, 1729,
906 1729, 1729, 1729, 1729, 1730, 1730, 1730, 1730, 1730, 1730,
907 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730,
908 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730,
909 1731, 1731, 1731, 1732, 1732, 1732, 1732, 1732, 1732, 1732,
910 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732,
911 1733, 1733, 1733, 1733, 1734, 1735, 1736, 1737, 1738, 1739,
912
913 1741, 1742, 1743, 1744, 1746, 1747, 1748, 1749, 1750, 1751,
914 1752, 1753, 1754, 1756, 1757, 1758, 1759, 1760, 1761, 1762,
915 1763, 1764, 1765, 1766, 1767, 1768, 1769, 1770, 1771, 1772,
916 1773, 1774, 1775, 1776, 1777, 1778, 1779, 1780, 1781, 1783,
917 1784, 1785, 1787, 1788, 1789, 1790, 1791, 1792, 1793, 1794,
918 1795, 1796, 1797, 1798, 1799, 1800, 1801, 1802, 1803, 1805,
919 1806, 1807, 1808, 1809, 1810, 1811, 1811, 1811, 1812, 1812,
920 1812, 1812, 1812, 1812, 1812, 1812, 1813, 1813, 1813, 1814,
921 1814, 1814, 1814, 1814, 1815, 1815, 1815, 1816, 1816, 1816,
922 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816,
923
924 1817, 1818, 1819, 1819, 1819, 1820, 1821, 1821, 1821, 1821,
925 1821, 1822, 1823, 1823, 1824, 1825, 1825, 1825, 1826, 1826,
926 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826,
927 1826, 1827, 1827, 1827, 1827, 1828, 1829, 1830, 1831, 1832,
928 1833, 1835, 1836, 1837, 1839, 1840, 1841, 1842, 1843, 1845,
929 1846, 1847, 1849, 1850, 1851, 1852, 1853, 1854, 1855, 1856,
930 1857, 1858, 1859, 1860, 1861, 1863, 1865, 1867, 1868, 1869,
931 1871, 1873, 1874, 1875, 1876, 1877, 1879, 1881, 1882, 1884,
932 1886, 1887, 1888, 1890, 1891, 1892, 1893, 1894, 1895, 1896,
933 1897, 1898, 1899, 1900, 1901, 1902, 1904, 1905, 1906, 1907,
934
935 1907, 1908, 1908, 1908, 1908, 1908, 1909, 1909, 1909, 1909,
936 1910, 1910, 1910, 1910, 1910, 1911, 1911, 1911, 1911, 1911,
937 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1913, 1913,
938 1913, 1914, 1915, 1915, 1916, 1917, 1917, 1917, 1918, 1918,
939 1918, 1918, 1918, 1918, 1918, 1919, 1920, 1920, 1920, 1921,
940 1921, 1921, 1921, 1922, 1923, 1924, 1926, 1927, 1928, 1929,
941 1931, 1932, 1933, 1934, 1935, 1937, 1938, 1939, 1940, 1941,
942 1943, 1944, 1945, 1946, 1947, 1948, 1949, 1950, 1952, 1953,
943 1954, 1956, 1958, 1959, 1961, 1963, 1964, 1965, 1967, 1968,
944 1969, 1970, 1971, 1972, 1973, 1975, 1977, 1978, 1979, 1981,
945
946 1982, 1983, 1984, 1985, 1985, 1985, 1985, 1986, 1987, 1987,
947 1987, 1987, 1988, 1988, 1988, 1988, 1989, 1989, 1989, 1989,
948 1989, 1989, 1989, 1989, 1990, 1990, 1990, 1990, 1990, 1990,
949 1991, 1991, 1992, 1992, 1992, 1993, 1993, 1993, 1993, 1993,
950 1993, 1993, 1994, 1994, 1994, 1994, 1995, 1995, 1996, 1997,
951 1999, 2001, 2002, 2003, 2004, 2006, 2007, 2008, 2009, 2011,
952 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2020, 2021, 2022,
953 2023, 2024, 2025, 2027, 2028, 2030, 2031, 2032, 2034, 2035,
954 2036, 2037, 2038, 2039, 2040, 2042, 2043, 2044, 2045, 2047,
955 2048, 2049, 2050, 2050, 2050, 2050, 2050, 2050, 2050, 2050,
956
957 2050, 2050, 2050, 2050, 2051, 2051, 2051, 2051, 2052, 2053,
958 2054, 2054, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055,
959 2055, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2058, 2059,
960 2060, 2061, 2062, 2063, 2064, 2065, 2066, 2067, 2068, 2069,
961 2071, 2072, 2073, 2074, 2076, 2078, 2080, 2081, 2083, 2084,
962 2085, 2086, 2087, 2088, 2089, 2090, 2091, 2093, 2094, 2095,
963 2096, 2097, 2098, 2099, 2100, 2101, 2102, 2102, 2103, 2104,
964 2104, 2105, 2106, 2106, 2106, 2106, 2106, 2106, 2106, 2106,
965 2106, 2106, 2106, 2106, 2106, 2107, 2108, 2108, 2108, 2108,
966 2109, 2109, 2109, 2110, 2112, 2114, 2116, 2117, 2119, 2121,
967
968 2122, 2124, 2126, 2127, 2128, 2129, 2130, 2131, 2132, 2133,
969 2134, 2135, 2136, 2137, 2138, 2140, 2142, 2143, 2144, 2145,
970 2147, 2148, 2149, 2151, 2151, 2152, 2152, 2153, 2154, 2154,
971 2154, 2155, 2156, 2157, 2157, 2158, 2159, 2159, 2159, 2159,
972 2160, 2160, 2161, 2163, 2164, 2166, 2168, 2169, 2170, 2172,
973 2174, 2176, 2177, 2179, 2181, 2182, 2183, 2184, 2186, 2187,
974 2188, 2188, 2188, 2189, 2190, 2190, 2191, 2191, 2191, 2193,
975 2194, 2195, 2197, 2199, 2200, 2202, 2203, 2204, 2204, 2205,
976 2206, 2206, 2207, 2208, 2210, 2212, 2213, 2215, 2216, 2216,
977 2216, 2218, 2219, 2220, 2220, 2221, 2222, 2224, 2224, 2225,
978
979 2226, 2228, 2228
980 } ;
981
982 static yyconst flex_int32_t yy_ec[256] =
983 { 0,
984 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
985 4, 4, 4, 1, 1, 1, 1, 1, 1, 1,
986 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
987 1, 5, 6, 1, 7, 1, 1, 1, 1, 1,
988 1, 1, 1, 1, 8, 9, 10, 11, 12, 13,
989 14, 15, 16, 17, 13, 13, 18, 19, 1, 20,
990 21, 22, 1, 1, 23, 23, 23, 23, 24, 25,
991 26, 26, 27, 26, 26, 28, 26, 26, 26, 26,
992 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
993 1, 29, 1, 1, 30, 1, 31, 32, 33, 34,
994
995 35, 36, 37, 38, 39, 26, 40, 41, 42, 43,
996 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
997 54, 26, 1, 1, 55, 1, 1, 1, 1, 1,
998 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
999 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1000 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1001 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1002 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1003 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1004 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1005
1006 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1007 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1008 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1009 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1010 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1011 1, 1, 1, 1, 1
1012 } ;
1013
1014 static yyconst flex_int32_t yy_meta[56] =
1015 { 0,
1016 1, 2, 3, 4, 5, 1, 1, 6, 7, 8,
1017 9, 9, 9, 9, 9, 9, 9, 9, 10, 1,
1018 1, 1, 11, 11, 11, 7, 7, 7, 1, 6,
1019 11, 11, 11, 11, 11, 11, 7, 7, 7, 7,
1020 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
1021 7, 7, 12, 7, 1
1022 } ;
1023
1024 static yyconst flex_int16_t yy_base[2964] =
1025 { 0,
1026 0, 54, 102, 156, 19, 160, 203, 0, 39, 41,
1027 4592, 4591, 256, 310, 44, 141, 365, 0, 419, 473,
1028 46, 47, 528, 0, 243, 257, 4590, 4589, 50, 147,
1029 582, 636, 690, 744, 798, 852, 42, 154, 49, 66,
1030 145, 148, 180, 230, 906, 960, 1014, 1068, 150, 159,
1031 1122, 1176, 1230, 1284, 1338, 1392, 1446, 1500, 1554, 1608,
1032 1662, 1716, 1770, 1824, 1878, 1932, 140, 168, 187, 200,
1033 280, 295, 1987, 0, 4588, 4587, 2042, 0, 2096, 2150,
1034 2204, 2258, 264, 316, 2312, 2366, 314, 404, 2421, 0,
1035 2475, 2529, 299, 408, 2583, 2637, 195, 277, 4605, 7246,
1036
1037 65, 7246, 4581, 0, 28, 160, 445, 4580, 7246, 4579,
1038 4596, 4557, 462, 313, 285, 290, 4550, 393, 4552, 173,
1039 433, 435, 128, 180, 133, 464, 216, 243, 4556, 4559,
1040 7246, 586, 473, 475, 4549, 200, 135, 573, 0, 4571,
1041 495, 258, 2683, 645, 0, 4570, 0, 4569, 4586, 4547,
1042 582, 565, 305, 418, 217, 567, 243, 316, 632, 463,
1043 266, 398, 474, 633, 400, 435, 4548, 4551, 0, 679,
1044 584, 478, 638, 480, 639, 4541, 667, 4540, 668, 7246,
1045 4544, 4538, 4547, 0, 216, 0, 2726, 717, 4577, 0,
1046 4535, 317, 4531, 4533, 4543, 4566, 0, 670, 2769, 725,
1047
1048 4571, 0, 4526, 4539, 0, 4523, 4522, 4526, 4515, 4527,
1049 4521, 4508, 4504, 4508, 4506, 0, 677, 2812, 753, 4547,
1050 0, 0, 770, 2855, 765, 4546, 0, 0, 783, 2898,
1051 779, 4545, 0, 4516, 4513, 4502, 4497, 4499, 4509, 4510,
1052 4501, 4491, 627, 802, 2947, 4485, 803, 668, 779, 818,
1053 2996, 4478, 821, 813, 4496, 814, 823, 3045, 4476, 826,
1054 825, 829, 833, 3094, 4475, 853, 831, 841, 871, 3143,
1055 4474, 872, 842, 869, 877, 3192, 4470, 875, 878, 0,
1056 882, 3235, 915, 4495, 4518, 0, 0, 884, 3278, 925,
1057 4517, 0, 0, 893, 3321, 933, 4516, 0, 880, 950,
1058
1059 3370, 4465, 897, 887, 4468, 4478, 4471, 4483, 4468, 4477,
1060 4475, 3423, 3478, 0, 951, 3523, 969, 4505, 0, 0,
1061 986, 3566, 981, 4480, 4503, 0, 4462, 405, 4461, 4468,
1062 0, 999, 3609, 995, 4499, 0, 4456, 4456, 4466, 4464,
1063 0, 0, 521, 4494, 0, 4452, 4451, 4459, 4458, 0,
1064 0, 3661, 4489, 0, 4448, 640, 7246, 0, 4455, 4454,
1065 625, 1023, 0, 7246, 4457, 601, 4444, 4442, 4435, 4450,
1066 4444, 4443, 674, 4431, 4448, 4448, 4431, 4419, 4423, 4422,
1067 4417, 4416, 4412, 4411, 4428, 4426, 553, 4404, 4407, 4412,
1068 4421, 4410, 1009, 4408, 1013, 4401, 4408, 4401, 4415, 4414,
1069
1070 4404, 7246, 4394, 4403, 4406, 4388, 1057, 4394, 4390, 4386,
1071 4398, 4384, 4383, 4382, 4386, 4376, 1012, 4373, 4389, 0,
1072 0, 1048, 4386, 4383, 7246, 3670, 1095, 3713, 4386, 679,
1073 4373, 4371, 4364, 4379, 4373, 4372, 682, 4360, 4377, 4377,
1074 4360, 4357, 4361, 4359, 4359, 4354, 4353, 4351, 4350, 4349,
1075 4366, 4364, 651, 4342, 4345, 4350, 4359, 4348, 1030, 4346,
1076 1018, 4339, 4346, 4339, 4353, 4343, 4333, 0, 4329, 4338,
1077 4341, 4321, 4324, 4328, 4318, 1084, 4315, 4331, 4315, 4315,
1078 4313, 4317, 4316, 4313, 0, 748, 0, 3739, 1131, 3782,
1079 4314, 4307, 4307, 4307, 4303, 4301, 7246, 4336, 0, 1072,
1080
1081 3808, 1141, 3851, 4297, 4298, 0, 4305, 4290, 4306, 4293,
1082 4293, 4301, 4298, 4283, 4298, 4287, 0, 1096, 3877, 1149,
1083 3920, 0, 1166, 3946, 1185, 3989, 0, 1167, 4015, 1195,
1084 4058, 4281, 4288, 4271, 4280, 4275, 4279, 4288, 4278, 4286,
1085 949, 0, 1215, 4316, 4090, 4264, 4133, 995, 0, 1217,
1086 4314, 4182, 4262, 4225, 4283, 1095, 0, 1219, 4311, 4274,
1087 4259, 4317, 1111, 0, 1221, 4309, 4366, 4257, 4409, 1165,
1088 0, 1248, 4307, 4458, 4255, 4501, 1199, 0, 1249, 4305,
1089 4550, 4253, 4593, 0, 1250, 4636, 1259, 4679, 4277, 0,
1090 1259, 4705, 1293, 4748, 0, 1260, 4774, 1303, 4817, 1209,
1091
1092 0, 1261, 4302, 4849, 4250, 4892, 4252, 4266, 4266, 4259,
1093 4247, 4252, 4251, 0, 4945, 0, 5000, 0, 1323, 5045,
1094 1318, 5088, 0, 1342, 5114, 1357, 5157, 4267, 4240, 4249,
1095 4240, 4233, 4234, 0, 1357, 5183, 1366, 5226, 7246, 4247,
1096 4232, 4231, 0, 0, 955, 7246, 651, 4238, 4228, 0,
1097 5261, 0, 4219, 4239, 4228, 4223, 4234, 4234, 4233, 4233,
1098 4222, 4233, 4222, 4227, 978, 4212, 7246, 4204, 4217, 4208,
1099 4216, 4205, 4196, 4214, 4195, 4208, 4203, 4196, 4188, 4208,
1100 237, 4202, 4199, 4195, 4196, 4197, 4222, 739, 4182, 790,
1101 4188, 4189, 4183, 4177, 4190, 4176, 4183, 4184, 4186, 4211,
1102
1103 4172, 7246, 7246, 4174, 4178, 4168, 4167, 4164, 4180, 4179,
1104 4176, 4161, 4161, 4159, 4167, 4173, 4162, 4157, 4168, 4168,
1105 4158, 4158, 4147, 4158, 4147, 4150, 1022, 4141, 0, 4133,
1106 4146, 4137, 4145, 4137, 4159, 4127, 4145, 4126, 4129, 4138,
1107 4133, 4126, 4118, 4132, 915, 4126, 4123, 4121, 4122, 4120,
1108 4145, 955, 4105, 861, 4111, 4112, 4106, 4100, 4113, 4099,
1109 4106, 4107, 4107, 4132, 4093, 0, 0, 4106, 4103, 4088,
1110 4088, 4086, 4094, 4084, 4083, 4082, 4096, 4086, 1045, 4085,
1111 4096, 4093, 4081, 4079, 4084, 4078, 4112, 4089, 4088, 4073,
1112 4082, 0, 4098, 4068, 4069, 4073, 4067, 4071, 4075, 7246,
1113
1114 4058, 4050, 7246, 4058, 4062, 4065, 4043, 4063, 4078, 4052,
1115 4041, 4045, 590, 7246, 7246, 4055, 7246, 4047, 4041, 4032,
1116 4024, 4025, 7246, 7246, 4025, 4025, 4018, 4011, 7246, 4009,
1117 4025, 4016, 4004, 4004, 7246, 4015, 4021, 4003, 4018, 4008,
1118 4019, 4018, 4013, 4010, 3997, 3998, 1056, 7246, 3999, 3998,
1119 4003, 3994, 3998, 4030, 3991, 3996, 7246, 3986, 4004, 3990,
1120 3970, 3970, 7246, 1074, 3969, 3981, 7246, 3971, 3957, 3968,
1121 3962, 3967, 3963, 1048, 3958, 592, 3952, 3951, 741, 3985,
1122 3960, 3957, 3942, 3942, 3940, 3948, 3947, 3943, 3946, 7246,
1123 3949, 814, 3932, 3948, 3939, 3927, 3927, 0, 3938, 3944,
1124
1125 3926, 3941, 3931, 3942, 3941, 3936, 3933, 3920, 3921, 1133,
1126 0, 3957, 3921, 3920, 3911, 3902, 3906, 3938, 3899, 3901,
1127 0, 3891, 3909, 3895, 3880, 3880, 0, 1181, 3879, 3891,
1128 0, 3881, 3870, 3881, 3875, 3880, 27, 1086, 55, 1020,
1129 306, 381, 860, 464, 441, 453, 486, 0, 557, 1246,
1130 573, 7246, 651, 674, 691, 696, 717, 719, 7246, 797,
1131 804, 869, 872, 911, 1085, 916, 945, 971, 7246, 1015,
1132 1008, 981, 1018, 1040, 7246, 7246, 1062, 7246, 1082, 7246,
1133 1080, 1109, 1208, 1154, 1139, 1135, 1134, 7246, 7246, 7246,
1134 1196, 1169, 1191, 1202, 1222, 1223, 1211, 1247, 1234, 1249,
1135
1136 1383, 1410, 1279, 1245, 1253, 7246, 1258, 1263, 1313, 1274,
1137 1281, 1277, 1294, 7246, 1329, 1297, 1298, 1305, 7246, 1319,
1138 1355, 1317, 1328, 5250, 1333, 1331, 1317, 1351, 1357, 1348,
1139 1348, 1364, 1362, 1381, 1370, 1385, 1374, 7246, 1385, 1371,
1140 1414, 1376, 1381, 1382, 1378, 1386, 1382, 1381, 1388, 1389,
1141 1393, 1395, 1394, 1400, 7246, 1405, 1393, 7246, 1393, 1411,
1142 1435, 1441, 1465, 1469, 1476, 1405, 1413, 0, 1420, 1407,
1143 1457, 1427, 1434, 1430, 1447, 0, 1474, 1446, 1441, 1447,
1144 1481, 0, 1453, 1459, 1451, 1460, 5270, 1465, 1463, 1449,
1145 1460, 1466, 1460, 1458, 1472, 1470, 1475, 1473, 1488, 1477,
1146
1147 0, 1488, 1473, 1516, 1478, 1483, 1484, 1481, 1489, 1484,
1148 1483, 1490, 1491, 1495, 0, 1488, 1505, 1532, 1538, 1508,
1149 1510, 1511, 1514, 1500, 1504, 1517, 1508, 7246, 1505, 1517,
1150 7246, 1515, 1515, 1511, 1523, 1513, 1541, 1516, 1562, 1545,
1151 1526, 1548, 1531, 1548, 1536, 1551, 1577, 1569, 0, 1542,
1152 1543, 1550, 0, 7246, 1559, 1547, 1547, 1547, 1553, 1551,
1153 1560, 1553, 1626, 7246, 1636, 7246, 1568, 1569, 1565, 1571,
1154 7246, 1568, 1565, 1575, 1578, 1575, 1567, 1602, 1588, 1595,
1155 1604, 1627, 7246, 1608, 1612, 1600, 1597, 1617, 1614, 1615,
1156 1612, 1605, 1618, 1620, 1612, 1622, 1611, 1615, 1617, 1617,
1157
1158 1625, 7246, 1621, 1640, 1636, 1648, 1636, 1633, 1641, 1639,
1159 1654, 1653, 7246, 1658, 1643, 1649, 0, 1658, 1645, 1646,
1160 1653, 1650, 1659, 1655, 1653, 1658, 1653, 1669, 7246, 1699,
1161 1704, 1700, 1706, 1737, 0, 1745, 0, 1672, 1673, 1669,
1162 1676, 0, 1674, 1671, 1682, 1680, 1677, 1671, 1706, 1681,
1163 1687, 1705, 0, 1734, 0, 1713, 1708, 1704, 1724, 1722,
1164 1723, 1720, 1713, 1726, 1728, 1719, 1730, 1719, 1723, 1725,
1165 1725, 1733, 0, 1729, 1748, 1744, 1756, 1744, 1741, 1749,
1166 1747, 1762, 1761, 0, 1766, 1751, 1757, 1799, 1767, 1754,
1167 1756, 1763, 1760, 1769, 1766, 1764, 1769, 1812, 1808, 1769,
1168
1169 1766, 1772, 1777, 1770, 1777, 1790, 1778, 1775, 1793, 1790,
1170 7246, 1781, 1798, 1779, 1799, 7246, 1802, 1834, 1796, 1807,
1171 0, 1818, 7246, 1840, 0, 1804, 1817, 1816, 1813, 0,
1172 1822, 1819, 1811, 7246, 1813, 7246, 1830, 1813, 1832, 1817,
1173 1816, 1857, 1836, 1824, 1834, 7246, 1838, 1823, 0, 1836,
1174 1830, 1834, 1863, 1841, 1836, 1828, 1833, 1835, 1838, 1840,
1175 1856, 1857, 1859, 1857, 1867, 1869, 1858, 1859, 1867, 1868,
1176 1901, 1870, 1863, 7246, 7246, 1869, 7246, 1906, 1865, 1878,
1177 1877, 1875, 1871, 1877, 1881, 1875, 1916, 1879, 1879, 7246,
1178 1920, 1887, 1882, 1900, 1887, 1899, 1895, 1936, 1937, 2095,
1179
1180 2097, 1911, 1922, 1923, 1908, 1907, 1948, 1927, 1915, 1925,
1181 0, 1931, 1915, 1963, 1929, 1923, 1928, 0, 1935, 1930,
1182 1922, 1925, 1927, 1929, 1931, 1947, 1938, 1940, 1938, 2069,
1183 1949, 1938, 1939, 2064, 2065, 2107, 2075, 2068, 0, 0,
1184 2074, 0, 2111, 2070, 2083, 2083, 2082, 2079, 2085, 2089,
1185 2083, 2124, 2087, 2087, 0, 2128, 2095, 2090, 2109, 2094,
1186 2105, 2100, 2105, 7246, 2114, 2094, 7246, 2114, 2101, 7246,
1187 2123, 2124, 7246, 2120, 2112, 7246, 2113, 2135, 0, 2156,
1188 2138, 0, 2132, 0, 2131, 2131, 2129, 2138, 2137, 2132,
1189 2151, 7246, 2134, 7246, 2135, 2137, 2151, 2149, 2140, 2136,
1190
1191 2148, 2142, 2153, 2154, 2183, 7246, 2152, 2194, 2157, 2166,
1192 2167, 2151, 2222, 2159, 2163, 2190, 2177, 2165, 2180, 2201,
1193 2186, 2186, 2192, 2189, 2194, 2191, 2191, 7246, 7246, 2212,
1194 2213, 2196, 2208, 2216, 2210, 2218, 7246, 2203, 7246, 2206,
1195 2219, 7246, 2240, 2220, 2221, 2219, 2247, 2223, 2215, 2212,
1196 2221, 2216, 2221, 2237, 2250, 2243, 2254, 2247, 2244, 2244,
1197 2246, 2260, 2259, 2250, 2246, 2258, 2252, 2263, 2264, 2293,
1198 0, 2262, 2330, 2263, 2272, 2273, 2341, 2260, 2263, 2274,
1199 2276, 2267, 2270, 2290, 2273, 2286, 2292, 2289, 2295, 2293,
1200 2296, 0, 0, 2317, 2321, 2304, 2315, 2324, 2318, 2325,
1201
1202 0, 2310, 0, 2314, 2327, 0, 2348, 2328, 2329, 2327,
1203 2355, 2331, 2323, 2320, 2329, 2324, 2329, 2332, 2350, 7246,
1204 2358, 2353, 2361, 2358, 7246, 2365, 2358, 7246, 2391, 7246,
1205 7246, 7246, 2358, 0, 2358, 2365, 2365, 2365, 2360, 2356,
1206 2374, 2377, 2382, 2381, 7246, 7246, 2366, 2456, 2371, 2379,
1207 2377, 2377, 2404, 7246, 2496, 2471, 7246, 2446, 2427, 2436,
1208 7246, 2503, 2518, 7246, 7246, 2445, 2476, 2487, 2475, 2478,
1209 2476, 2478, 2489, 2480, 2479, 2496, 2479, 2520, 2498, 2494,
1210 2502, 2494, 2500, 7246, 7246, 2533, 2518, 2517, 2509, 2510,
1211 7246, 2512, 2525, 2511, 2523, 2529, 2521, 2521, 2525, 2526,
1212
1213 2536, 2539, 2540, 2543, 2528, 2529, 2538, 2539, 2535, 2532,
1214 2537, 2534, 2550, 2539, 2558, 2558, 0, 0, 2543, 2564,
1215 2559, 2568, 2566, 2566, 2593, 0, 2611, 2579, 0, 2584,
1216 2565, 2574, 2655, 2630, 0, 0, 2583, 2614, 2616, 2597,
1217 2600, 2595, 2595, 2600, 2592, 2594, 2612, 2597, 2653, 2628,
1218 2623, 2630, 2623, 2629, 0, 0, 2653, 2639, 2638, 2632,
1219 2633, 0, 2638, 2651, 2634, 2646, 2652, 2643, 2643, 2644,
1220 2645, 2655, 2658, 2669, 2672, 2657, 2658, 2667, 2668, 7246,
1221 2677, 2660, 2666, 2670, 2677, 2665, 2683, 7246, 2667, 7246,
1222 2662, 2686, 2674, 2680, 7246, 2685, 7246, 7246, 2677, 2668,
1223
1224 2689, 2685, 2690, 2695, 2683, 2689, 2694, 7246, 2689, 2686,
1225 2688, 2686, 2690, 2691, 2712, 2712, 2698, 2699, 2698, 2709,
1226 2706, 2708, 2706, 2710, 2722, 2722, 2725, 5290, 2714, 2716,
1227 2722, 2722, 2731, 7246, 2720, 2717, 2756, 2731, 2735, 2730,
1228 2721, 2723, 2730, 2729, 2725, 2731, 2760, 2741, 2734, 2745,
1229 2739, 2751, 2737, 2760, 2745, 2742, 2760, 2761, 2753, 2788,
1230 2761, 2754, 2751, 2758, 2771, 2764, 2763, 2754, 2773, 2759,
1231 2775, 2761, 2770, 7246, 0, 2767, 2758, 2779, 2775, 2780,
1232 2785, 2773, 2779, 2784, 0, 2779, 2776, 2787, 2785, 2789,
1233 2790, 2802, 2802, 2788, 2789, 2788, 2799, 2796, 2798, 2796,
1234
1235 2800, 2812, 2812, 2815, 5310, 2804, 2806, 2812, 2812, 2821,
1236 0, 2810, 2807, 2846, 2821, 2825, 2820, 2811, 2813, 2820,
1237 2819, 2815, 2821, 2859, 2840, 2833, 2844, 2829, 2841, 2827,
1238 2850, 2835, 2832, 2850, 2851, 2843, 2878, 2851, 2844, 2841,
1239 2848, 2861, 2854, 2853, 2844, 2847, 7246, 2854, 2863, 2865,
1240 2852, 2859, 7246, 2871, 2854, 2852, 2874, 7246, 2863, 2866,
1241 2876, 2882, 2873, 2871, 2887, 2873, 2879, 2893, 2916, 2889,
1242 2883, 2879, 2896, 2885, 2886, 2878, 2902, 2895, 2904, 2927,
1243 2900, 2894, 2906, 2895, 2896, 2892, 2893, 2913, 2910, 2911,
1244 2908, 2913, 2905, 2919, 2903, 2917, 2947, 2922, 2927, 2920,
1245
1246 7246, 2961, 2933, 2941, 7246, 7246, 2925, 7246, 2930, 2921,
1247 2927, 2958, 7246, 2935, 2948, 2936, 2937, 2947, 7246, 2934,
1248 2940, 2953, 2954, 7246, 2944, 2939, 2946, 2961, 2958, 2956,
1249 2949, 2944, 2961, 2958, 2958, 7246, 2959, 7246, 2959, 2962,
1250 2963, 2969, 2960, 2967, 2983, 2969, 2975, 2989, 3012, 2985,
1251 2979, 2975, 2992, 2981, 2982, 2974, 2998, 2991, 3000, 3023,
1252 2996, 2990, 3002, 2991, 2992, 2988, 2989, 3009, 3006, 3007,
1253 3004, 3009, 3001, 3017, 2999, 3011, 3039, 3018, 3013, 3006,
1254 0, 3057, 3029, 3037, 0, 0, 3021, 0, 3026, 3017,
1255 3023, 3071, 0, 3031, 3044, 3033, 3034, 3044, 0, 3031,
1256
1257 3038, 3051, 3052, 0, 3042, 3037, 3044, 3059, 3057, 3055,
1258 3048, 3043, 3060, 3057, 3062, 7246, 3066, 7246, 7246, 3066,
1259 3052, 3070, 3061, 3073, 3072, 3081, 3082, 3083, 3069, 3081,
1260 7246, 3067, 3072, 3076, 7246, 3115, 3076, 3095, 3087, 3083,
1261 3097, 3097, 3084, 7246, 3123, 3084, 3094, 3086, 3087, 3089,
1262 3091, 3107, 3098, 3100, 3088, 3096, 3097, 3104, 3105, 3113,
1263 3112, 3118, 3117, 3115, 3132, 3129, 3124, 3125, 3115, 7246,
1264 3120, 3150, 3152, 3141, 3131, 3133, 3142, 3129, 3142, 3129,
1265 3129, 3130, 3146, 3149, 3149, 3135, 3149, 3138, 3152, 7246,
1266 3149, 3152, 3149, 3148, 3157, 3158, 3159, 3145, 3159, 0,
1267
1268 3145, 3150, 3154, 0, 3193, 3163, 3182, 3174, 3170, 3184,
1269 3184, 3171, 0, 3210, 3171, 3181, 3173, 3174, 3176, 3178,
1270 3194, 3185, 3187, 3175, 3183, 3184, 3191, 3192, 3198, 3197,
1271 3203, 3202, 3200, 3223, 3204, 3199, 3200, 3190, 0, 3195,
1272 3253, 3254, 3213, 3215, 3219, 3229, 3218, 3231, 3218, 3218,
1273 3219, 3235, 3238, 3240, 3226, 3240, 3229, 3243, 0, 3240,
1274 3243, 3240, 7246, 7246, 7246, 3233, 3245, 7246, 3245, 3250,
1275 3243, 3268, 3248, 3263, 3267, 7246, 3251, 3259, 7246, 3258,
1276 3254, 3269, 3270, 7246, 3271, 3265, 7246, 3264, 3274, 3275,
1277 3267, 3277, 3264, 3264, 3284, 3267, 3268, 3269, 3268, 7246,
1278
1279 7246, 7246, 3285, 3281, 7246, 7246, 3288, 3288, 3271, 3283,
1280 7246, 7246, 3296, 3308, 3309, 3287, 3295, 7246, 3296, 3302,
1281 0, 3293, 3307, 3308, 3312, 3301, 3302, 3309, 3310, 3301,
1282 7246, 3310, 3317, 3318, 3319, 3312, 3354, 3308, 3323, 3328,
1283 0, 3312, 3320, 0, 3319, 3316, 3331, 3332, 0, 3333,
1284 3327, 0, 3326, 3336, 3337, 3332, 3342, 3329, 3329, 3349,
1285 3341, 3342, 3343, 3342, 0, 0, 0, 3359, 3355, 0,
1286 0, 3362, 3362, 3345, 3357, 0, 0, 3370, 3399, 3400,
1287 3361, 3371, 0, 3363, 3369, 3410, 3362, 3377, 3378, 3383,
1288 3372, 3376, 3383, 3386, 3377, 0, 3387, 3398, 3407, 3408,
1289
1290 7246, 3398, 3415, 3418, 3431, 3432, 3415, 3407, 3417, 7246,
1291 3448, 3425, 3420, 3411, 7246, 3418, 3453, 3430, 3415, 3456,
1292 3457, 3433, 3435, 3432, 3431, 3437, 3442, 3465, 3440, 3423,
1293 7246, 3468, 3428, 3474, 7246, 3457, 3462, 7246, 3460, 3453,
1294 3463, 3463, 0, 3457, 7246, 7246, 3478, 3467, 7246, 3476,
1295 3479, 3477, 3482, 3485, 3540, 3541, 3478, 3470, 3480, 0,
1296 3511, 3488, 3483, 3474, 0, 3481, 3516, 3493, 3478, 3519,
1297 3520, 3496, 3511, 3494, 3493, 3513, 3518, 3543, 3518, 3501,
1298 0, 3546, 3504, 3549, 0, 3530, 3527, 0, 3522, 3515,
1299 3525, 3525, 3583, 3519, 0, 0, 3538, 3527, 0, 3536,
1300
1301 3538, 3536, 7246, 3521, 3537, 3545, 3570, 3571, 3549, 3543,
1302 3553, 7246, 3551, 3552, 3566, 7246, 3554, 3568, 3556, 3558,
1303 3564, 3564, 3573, 7246, 3562, 3560, 3576, 3561, 3563, 3602,
1304 3574, 7246, 3582, 3581, 7246, 3584, 3581, 3586, 3580, 3593,
1305 3580, 7246, 3582, 3602, 3596, 7246, 3599, 3586, 3594, 3635,
1306 3636, 3597, 3593, 3602, 0, 3600, 3603, 3617, 0, 3605,
1307 3619, 3607, 3609, 3615, 3617, 3627, 0, 3616, 3613, 3629,
1308 3617, 3620, 3659, 3631, 0, 3639, 3656, 0, 3659, 3656,
1309 3661, 3655, 3659, 3646, 0, 3648, 3668, 3662, 0, 3665,
1310 7246, 7246, 3666, 3667, 3655, 3665, 3664, 3663, 3665, 3667,
1311
1312 3675, 3675, 3675, 3703, 3678, 3673, 3666, 7246, 7246, 7246,
1313 3668, 7246, 3686, 3683, 3678, 3687, 3689, 3668, 3679, 3686,
1314 7246, 3701, 3701, 3704, 3688, 3706, 3708, 0, 3708, 3723,
1315 3711, 3721, 3720, 3719, 3721, 3723, 3731, 3731, 3731, 3759,
1316 3734, 3729, 3722, 0, 0, 0, 3724, 0, 3742, 3739,
1317 3734, 3743, 3745, 3724, 3726, 3733, 0, 3748, 3748, 3748,
1318 3732, 3750, 3752, 7246, 7246, 7246, 3738, 7246, 7246, 3753,
1319 7246, 3780, 3737, 3755, 3763, 3769, 3768, 3766, 3767, 3768,
1320 3757, 3770, 3777, 3786, 7246, 7246, 3784, 3784, 3785, 7246,
1321 3800, 3798, 7246, 0, 0, 0, 3784, 0, 0, 3799,
1322
1323 0, 3826, 3783, 3801, 3800, 3806, 3805, 3803, 3801, 3802,
1324 3791, 3804, 3811, 3806, 0, 0, 3804, 3804, 3805, 0,
1325 3820, 3818, 0, 3799, 7246, 3816, 7246, 7246, 3820, 3816,
1326 7246, 7246, 7246, 3816, 7246, 7246, 3810, 3824, 3811, 7246,
1327 3831, 3817, 0, 3834, 0, 0, 3838, 3837, 0, 0,
1328 0, 3837, 0, 0, 3831, 3845, 3832, 0, 3857, 7246,
1329 3862, 3845, 7246, 7246, 3851, 7246, 3851, 3852, 0, 3867,
1330 3850, 0, 0, 3856, 0, 3856, 3857, 3854, 3899, 7246,
1331 3868, 7246, 3857, 3902, 0, 3871, 0, 7246, 3882, 3879,
1332 0, 3884, 3881, 3876, 7246, 3877, 0, 3878, 3879, 7246,
1333
1334 0, 7246, 5360, 5372, 5384, 5396, 5408, 5420, 5432, 5444,
1335 5456, 5468, 5480, 5492, 5504, 5516, 5528, 5540, 5552, 5564,
1336 5576, 5588, 5600, 5604, 5616, 5628, 5640, 5652, 5658, 5670,
1337 5682, 5694, 5706, 5718, 5730, 5742, 5754, 5766, 5778, 5790,
1338 5802, 5814, 5826, 5838, 5850, 5862, 5874, 5886, 5898, 5910,
1339 5922, 5934, 5946, 5958, 5970, 5982, 5994, 6006, 6018, 6030,
1340 6042, 6054, 6066, 6078, 6090, 6102, 6109, 6121, 6133, 6145,
1341 6157, 6169, 6173, 6177, 6188, 6200, 6212, 6224, 6230, 6242,
1342 6254, 6266, 6278, 6290, 6302, 6314, 6326, 6338, 6350, 6362,
1343 6374, 6386, 6398, 6410, 6422, 6434, 6446, 6458, 6470, 6482,
1344
1345 6494, 6506, 6518, 6530, 6542, 6554, 6566, 6578, 6590, 6602,
1346 6614, 6626, 6638, 6650, 6662, 6674, 6686, 6698, 6710, 6722,
1347 6734, 6746, 6758, 6770, 6782, 6794, 6806, 6818, 6830, 6842,
1348 6854, 6866, 6873, 6885, 6897, 6909, 6921, 6933, 6945, 6957,
1349 6969, 6981, 6993, 7005, 7017, 7029, 7041, 7053, 7065, 7077,
1350 7089, 7101, 7113, 7125, 7137, 7149, 7161, 7173, 7185, 7197,
1351 7209, 7221, 7233
1352 } ;
1353
1354 static yyconst flex_int16_t yy_def[2964] =
1355 { 0,
1356 2802, 1, 2802, 3, 1, 1, 1, 7, 7, 7,
1357 7, 7, 2803, 2803, 7, 7, 2802, 17, 2804, 2804,
1358 7, 7, 2802, 23, 7, 7, 7, 7, 7, 7,
1359 2805, 2805, 2806, 2806, 2807, 2807, 7, 7, 7, 7,
1360 7, 7, 7, 7, 2808, 2808, 2809, 2809, 7, 7,
1361 2810, 2810, 2811, 2811, 2812, 2812, 2813, 2813, 2814, 2814,
1362 2815, 2815, 2816, 2816, 2817, 2817, 7, 7, 7, 7,
1363 7, 7, 2802, 73, 7, 7, 2802, 77, 2818, 2818,
1364 2819, 2819, 7, 7, 2820, 2820, 7, 7, 2802, 89,
1365 2821, 2821, 7, 7, 2822, 2822, 7, 7, 2802, 2802,
1366
1367 2802, 2802, 2802, 2823, 2802, 2824, 2802, 2802, 2802, 2802,
1368 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
1369 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
1370 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2825, 2825,
1371 2826, 2825, 2825, 2825, 2825, 2825, 2825, 2825, 2825, 2825,
1372 2825, 2825, 2825, 2825, 2825, 2825, 2825, 2825, 2825, 2825,
1373 2825, 2825, 2825, 2825, 2825, 2825, 2825, 2825, 2825, 2825,
1374 2825, 2825, 2825, 2825, 2825, 2802, 2802, 2802, 2802, 2802,
1375 2802, 2802, 2802, 2827, 2827, 2828, 2827, 2827, 2827, 2827,
1376 2802, 2802, 2802, 2802, 2802, 2829, 2830, 2831, 2830, 2830,
1377
1378 2830, 2830, 2802, 2802, 2832, 2802, 2802, 2802, 2802, 2802,
1379 2802, 2802, 2802, 2802, 2802, 2833, 2834, 2833, 2833, 2833,
1380 2833, 2835, 2836, 2835, 2835, 2835, 2835, 2837, 2838, 2837,
1381 2837, 2837, 2837, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
1382 2802, 2802, 2839, 2840, 2839, 245, 2839, 2839, 2841, 2842,
1383 2841, 251, 2841, 2841, 2802, 2843, 2844, 2843, 258, 2843,
1384 2843, 2845, 2846, 2845, 264, 2845, 2845, 2847, 2848, 2847,
1385 270, 2847, 2847, 2849, 2850, 2849, 276, 2849, 2849, 2851,
1386 2852, 2851, 2851, 2851, 2851, 2851, 2853, 2854, 2853, 2853,
1387 2853, 2853, 2855, 2856, 2855, 2855, 2855, 2855, 2857, 2858,
1388
1389 2857, 301, 2857, 2857, 2802, 2802, 2802, 2802, 2802, 2802,
1390 2802, 2859, 2860, 2861, 2862, 2861, 2861, 2861, 2861, 2863,
1391 2864, 2863, 2863, 2863, 2863, 2863, 2802, 2802, 2802, 2802,
1392 2865, 2866, 2865, 2865, 2865, 2865, 2802, 2802, 2802, 2802,
1393 2867, 2868, 2869, 2868, 2868, 2802, 2802, 2802, 2802, 2870,
1394 2870, 2871, 2870, 2870, 2802, 2802, 2802, 2872, 2802, 2802,
1395 2873, 2802, 2874, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
1396 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
1397 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
1398 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
1399
1400 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
1401 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2875,
1402 2875, 2876, 2875, 2875, 2802, 2875, 2875, 2875, 2875, 2875,
1403 2875, 2875, 2875, 2875, 2875, 2875, 2875, 2875, 2875, 2875,
1404 2875, 2875, 2875, 2875, 2875, 2875, 2875, 2875, 2875, 2875,
1405 2875, 2875, 2875, 2875, 2875, 2875, 2875, 2875, 2875, 2875,
1406 2875, 2875, 2875, 2875, 2875, 2875, 2875, 2875, 2875, 2875,
1407 2875, 2875, 2875, 2875, 2875, 2875, 2875, 2875, 2802, 2802,
1408 2802, 2802, 2802, 2802, 2877, 2877, 2878, 2877, 2877, 2877,
1409 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2879, 2880, 2881,
1410
1411 2880, 2880, 2880, 2802, 2802, 2882, 2802, 2802, 2802, 2802,
1412 2802, 2802, 2802, 2802, 2802, 2802, 2883, 2884, 2883, 2883,
1413 2883, 2885, 2886, 2885, 2885, 2885, 2887, 2888, 2887, 2887,
1414 2887, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
1415 2889, 2890, 2891, 2892, 2889, 545, 545, 2893, 2894, 2895,
1416 2896, 2893, 552, 552, 2802, 2897, 2898, 2899, 2900, 2897,
1417 560, 560, 2901, 2902, 2903, 2904, 2901, 567, 567, 2905,
1418 2906, 2907, 2908, 2905, 574, 574, 2909, 2910, 2911, 2912,
1419 2909, 581, 581, 2913, 2914, 2913, 2913, 2913, 2913, 2915,
1420 2916, 2915, 2915, 2915, 2917, 2918, 2917, 2917, 2917, 2919,
1421
1422 2920, 2921, 2922, 2919, 604, 604, 2802, 2802, 2802, 2802,
1423 2802, 2802, 2802, 2923, 2924, 2925, 2926, 2927, 2928, 2927,
1424 2927, 2927, 2929, 2930, 2929, 2929, 2929, 2929, 2802, 2802,
1425 2802, 2802, 2802, 2931, 2932, 2931, 2931, 2931, 2802, 2802,
1426 2802, 2802, 2933, 2934, 2935, 2802, 2802, 2802, 2802, 2936,
1427 2937, 2936, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
1428 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
1429 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
1430 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
1431 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
1432
1433 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
1434 2802, 2802, 2802, 2802, 2802, 2938, 2938, 2938, 2938, 2938,
1435 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938,
1436 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938,
1437 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938,
1438 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938,
1439 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938,
1440 2938, 2938, 2938, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
1441 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
1442 2802, 2939, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
1443
1444 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2913, 2802, 2802,
1445 2802, 2802, 2802, 2802, 2802, 2929, 2802, 2802, 2802, 2802,
1446 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
1447 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
1448 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
1449 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
1450 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
1451 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
1452 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
1453 2802, 2802, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938,
1454
1455 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938,
1456 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938,
1457 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938,
1458 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938,
1459 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938,
1460 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
1461 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
1462 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
1463 2802, 2802, 2802, 2913, 2802, 2802, 2802, 2802, 2802, 2802,
1464 2929, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
1465
1466 2802, 2802, 2940, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
1467 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
1468 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
1469 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
1470 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
1471 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
1472 2802, 2802, 2938, 2938, 2941, 2938, 2938, 2938, 2938, 2938,
1473 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938,
1474 2802, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938,
1475 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938,
1476
1477 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938,
1478 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2802,
1479 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
1480 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
1481 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2942, 2802,
1482 2802, 2802, 2943, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
1483 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
1484 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
1485 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
1486 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
1487
1488 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
1489 2802, 2802, 2802, 2802, 2802, 2802, 2944, 2802, 2802, 2802,
1490 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
1491 2802, 2802, 2802, 2938, 2938, 2938, 2938, 2938, 2938, 2938,
1492 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938,
1493 2938, 2938, 2945, 2938, 2938, 2938, 2938, 2938, 2938, 2938,
1494 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938,
1495 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938,
1496 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2946, 2938, 2938,
1497 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2802,
1498
1499 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
1500 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
1501 2947, 2802, 2802, 2802, 2942, 2802, 2802, 2802, 2802, 2943,
1502 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
1503 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2948, 2802,
1504 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
1505 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
1506 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
1507 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
1508 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
1509
1510 2802, 2802, 2802, 2938, 2938, 2938, 2938, 2938, 2938, 2938,
1511 2938, 2938, 2938, 2949, 2938, 2938, 2938, 2945, 2938, 2938,
1512 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938,
1513 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938,
1514 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938,
1515 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938,
1516 2938, 2938, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
1517 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2950, 2802,
1518 2802, 2947, 2802, 2951, 2802, 2802, 2802, 2802, 2802, 2802,
1519 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
1520
1521 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
1522 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
1523 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
1524 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
1525 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
1526 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2938,
1527 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938,
1528 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938,
1529 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938,
1530 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938,
1531
1532 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938,
1533 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2802, 2802, 2802,
1534 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
1535 2802, 2802, 2802, 2951, 2802, 2802, 2802, 2802, 2802, 2802,
1536 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
1537 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
1538 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
1539 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
1540 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
1541 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
1542
1543 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
1544 2802, 2802, 2802, 2802, 2938, 2938, 2938, 2938, 2938, 2938,
1545 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938,
1546 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938,
1547 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938,
1548 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938,
1549 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938,
1550 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2802,
1551 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
1552 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
1553
1554 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
1555 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
1556 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
1557 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
1558 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
1559 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
1560 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
1561 2802, 2802, 2802, 2802, 2938, 2938, 2938, 2938, 2938, 2938,
1562 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938,
1563 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938,
1564
1565 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938,
1566 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938,
1567 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938,
1568 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938,
1569 2938, 2938, 2938, 2938, 2938, 2802, 2802, 2802, 2802, 2802,
1570 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
1571 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
1572 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
1573 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
1574 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
1575
1576 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
1577 2802, 2952, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
1578 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
1579 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2938, 2938,
1580 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938,
1581 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938,
1582 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938,
1583 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938,
1584 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938,
1585 2938, 2953, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938,
1586
1587 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938,
1588 2938, 2938, 2938, 2938, 2802, 2802, 2802, 2802, 2802, 2802,
1589 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
1590 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
1591 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
1592 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
1593 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
1594 2802, 2952, 2954, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
1595 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
1596 2802, 2802, 2802, 2938, 2938, 2938, 2938, 2938, 2938, 2938,
1597
1598 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938,
1599 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938,
1600 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938,
1601 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938,
1602 2953, 2955, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938,
1603 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938,
1604 2938, 2938, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
1605 2802, 2956, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
1606 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
1607 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
1608
1609 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
1610 2802, 2802, 2802, 2954, 2954, 2802, 2802, 2802, 2802, 2802,
1611 2957, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
1612 2802, 2802, 2802, 2802, 2938, 2938, 2958, 2938, 2938, 2938,
1613 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938,
1614 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938,
1615 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938,
1616 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2955, 2955,
1617 2938, 2938, 2938, 2938, 2938, 2959, 2938, 2938, 2938, 2938,
1618 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2802,
1619
1620 2802, 2802, 2802, 2802, 2956, 2960, 2802, 2802, 2802, 2802,
1621 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
1622 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
1623 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
1624 2802, 2802, 2961, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
1625 2802, 2802, 2938, 2938, 2958, 2962, 2938, 2938, 2938, 2938,
1626 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938,
1627 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938,
1628 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938,
1629 2938, 2938, 2963, 2938, 2938, 2938, 2938, 2938, 2938, 2938,
1630
1631 2938, 2938, 2802, 2802, 2802, 2802, 2960, 2960, 2802, 2802,
1632 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
1633 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
1634 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
1635 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2938, 2938, 2962,
1636 2962, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938,
1637 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938,
1638 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938,
1639 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938,
1640 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
1641
1642 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
1643 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
1644 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2938, 2938, 2938,
1645 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938,
1646 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938,
1647 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938,
1648 2938, 2938, 2938, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
1649 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
1650 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
1651 2802, 2802, 2802, 2938, 2938, 2938, 2938, 2938, 2938, 2938,
1652
1653 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938,
1654 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938,
1655 2938, 2938, 2938, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
1656 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
1657 2802, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938,
1658 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2802,
1659 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2938, 2938,
1660 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2802, 2802, 2802,
1661 2802, 2802, 2938, 2938, 2938, 2938, 2938, 2802, 2802, 2802,
1662 2938, 2938, 2938, 2802, 2802, 2938, 2938, 2802, 2938, 2802,
1663
1664 2938, 0, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
1665 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
1666 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
1667 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
1668 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
1669 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
1670 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
1671 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
1672 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
1673 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
1674
1675 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
1676 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
1677 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
1678 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
1679 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
1680 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
1681 2802, 2802, 2802
1682 } ;
1683
1684 static yyconst flex_int16_t yy_nxt[7302] =
1685 { 0,
1686 100, 101, 102, 100, 101, 103, 104, 100, 105, 100,
1687 106, 107, 107, 107, 107, 107, 107, 107, 100, 108,
1688 109, 110, 100, 100, 100, 100, 100, 100, 111, 100,
1689 112, 113, 114, 115, 116, 117, 118, 119, 120, 100,
1690 121, 122, 123, 100, 124, 100, 125, 126, 127, 128,
1691 129, 100, 100, 130, 131, 132, 176, 100, 132, 100,
1692 100, 1104, 100, 177, 100, 100, 356, 100, 100, 356,
1693 181, 182, 181, 182, 359, 360, 191, 192, 193, 236,
1694 203, 203, 194, 234, 100, 133, 134, 213, 183, 235,
1695 183, 135, 195, 1107, 204, 204, 236, 214, 136, 215,
1696
1697 137, 138, 139, 101, 102, 139, 101, 140, 141, 139,
1698 142, 139, 143, 144, 144, 144, 144, 144, 144, 144,
1699 145, 146, 147, 148, 139, 139, 139, 139, 139, 139,
1700 149, 139, 150, 151, 152, 153, 154, 155, 156, 157,
1701 158, 139, 159, 160, 161, 139, 162, 139, 163, 164,
1702 165, 166, 167, 139, 139, 168, 169, 132, 100, 100,
1703 132, 132, 391, 100, 132, 100, 100, 395, 100, 395,
1704 361, 392, 100, 191, 192, 193, 396, 100, 418, 194,
1705 237, 305, 238, 237, 213, 238, 100, 170, 171, 195,
1706 255, 133, 134, 172, 214, 234, 215, 178, 100, 255,
1707
1708 173, 235, 174, 175, 179, 100, 137, 138, 100, 305,
1709 393, 100, 363, 100, 239, 383, 384, 486, 100, 306,
1710 486, 180, 100, 100, 100, 355, 394, 240, 241, 307,
1711 417, 242, 306, 100, 100, 100, 100, 100, 100, 100,
1712 100, 100, 307, 100, 100, 100, 394, 100, 100, 100,
1713 100, 100, 100, 100, 401, 857, 100, 185, 102, 402,
1714 185, 100, 186, 443, 239, 444, 187, 188, 188, 188,
1715 188, 188, 188, 188, 206, 100, 403, 240, 241, 207,
1716 858, 242, 100, 208, 189, 209, 447, 210, 206, 211,
1717 404, 448, 212, 207, 327, 100, 328, 208, 100, 209,
1718
1719 457, 210, 329, 211, 423, 424, 212, 355, 330, 458,
1720 190, 185, 102, 100, 185, 308, 186, 100, 309, 375,
1721 187, 188, 188, 188, 188, 188, 188, 188, 310, 311,
1722 308, 376, 100, 309, 100, 357, 377, 346, 189, 439,
1723 347, 348, 378, 310, 311, 349, 327, 492, 328, 1110,
1724 371, 440, 337, 372, 329, 493, 373, 374, 449, 450,
1725 330, 338, 339, 340, 190, 100, 101, 102, 100, 101,
1726 100, 104, 100, 100, 100, 106, 107, 107, 107, 107,
1727 107, 107, 107, 100, 100, 100, 100, 196, 196, 196,
1728 196, 196, 196, 111, 100, 196, 196, 196, 196, 196,
1729
1730 196, 196, 196, 196, 196, 196, 196, 196, 196, 196,
1731 196, 196, 196, 196, 196, 196, 196, 196, 196, 131,
1732 101, 102, 100, 101, 1111, 198, 100, 357, 459, 199,
1733 200, 200, 200, 200, 200, 200, 200, 100, 467, 380,
1734 381, 357, 337, 468, 460, 630, 346, 201, 631, 347,
1735 348, 338, 339, 340, 349, 361, 362, 362, 362, 362,
1736 362, 362, 362, 421, 441, 388, 385, 357, 469, 389,
1737 442, 386, 1114, 202, 101, 102, 387, 101, 390, 198,
1738 1115, 357, 470, 199, 200, 200, 200, 200, 200, 200,
1739 200, 100, 366, 454, 397, 1116, 358, 455, 398, 358,
1740
1741 367, 201, 368, 366, 358, 369, 456, 399, 461, 370,
1742 400, 367, 371, 414, 461, 415, 369, 462, 373, 374,
1743 370, 475, 358, 477, 1117, 358, 448, 202, 100, 101,
1744 102, 100, 101, 100, 104, 100, 100, 100, 106, 107,
1745 107, 107, 107, 107, 107, 107, 100, 100, 100, 100,
1746 205, 205, 205, 205, 205, 205, 111, 100, 205, 205,
1747 205, 205, 205, 205, 205, 205, 205, 205, 205, 205,
1748 205, 205, 205, 205, 205, 205, 205, 205, 205, 205,
1749 205, 205, 131, 101, 102, 680, 101, 407, 217, 681,
1750 407, 1118, 218, 219, 219, 219, 219, 219, 219, 219,
1751
1752 100, 421, 435, 397, 989, 436, 990, 398, 437, 438,
1753 220, 1120, 430, 445, 446, 421, 419, 408, 409, 400,
1754 431, 435, 432, 410, 474, 433, 1045, 437, 438, 434,
1755 411, 542, 412, 413, 657, 361, 221, 101, 102, 1046,
1756 101, 356, 217, 658, 356, 542, 218, 219, 219, 219,
1757 219, 219, 219, 219, 100, 426, 427, 427, 427, 427,
1758 427, 427, 427, 463, 220, 451, 421, 464, 476, 463,
1759 452, 358, 542, 464, 358, 453, 465, 363, 358, 466,
1760 421, 358, 478, 744, 460, 466, 542, 745, 358, 1121,
1761 221, 101, 102, 825, 101, 358, 223, 393, 417, 826,
1762
1763 224, 225, 225, 225, 225, 225, 225, 225, 100, 430,
1764 480, 480, 719, 394, 394, 665, 666, 431, 226, 473,
1765 1122, 720, 433, 727, 728, 1123, 434, 488, 489, 489,
1766 489, 489, 489, 489, 489, 501, 502, 502, 502, 502,
1767 502, 502, 502, 1124, 227, 101, 102, 865, 101, 486,
1768 223, 1125, 486, 1126, 224, 225, 225, 225, 225, 225,
1769 225, 225, 100, 519, 520, 520, 520, 520, 520, 520,
1770 520, 358, 226, 1049, 358, 524, 525, 525, 525, 525,
1771 525, 525, 525, 549, 358, 1050, 866, 358, 358, 529,
1772 530, 530, 530, 530, 530, 530, 530, 549, 227, 101,
1773
1774 102, 358, 101, 358, 229, 364, 544, 542, 230, 231,
1775 231, 231, 231, 231, 231, 231, 100, 549, 557, 358,
1776 544, 542, 551, 364, 358, 549, 232, 559, 364, 557,
1777 557, 549, 557, 564, 358, 564, 551, 566, 868, 549,
1778 1127, 559, 869, 557, 557, 571, 571, 564, 1045, 564,
1779 1128, 566, 233, 101, 102, 364, 101, 564, 229, 571,
1780 571, 1062, 230, 231, 231, 231, 231, 231, 231, 231,
1781 100, 564, 358, 578, 364, 573, 571, 364, 358, 578,
1782 232, 580, 578, 358, 601, 358, 358, 578, 358, 573,
1783 571, 601, 1112, 578, 358, 580, 578, 358, 601, 364,
1784
1785 358, 601, 358, 1129, 1113, 601, 233, 101, 102, 932,
1786 101, 358, 244, 933, 1130, 601, 245, 246, 246, 246,
1787 246, 246, 246, 246, 100, 586, 587, 587, 587, 587,
1788 587, 587, 587, 921, 247, 592, 593, 593, 593, 593,
1789 593, 593, 593, 597, 598, 598, 598, 598, 598, 598,
1790 598, 358, 358, 542, 603, 358, 358, 1131, 922, 358,
1791 248, 101, 102, 929, 101, 1134, 244, 542, 603, 358,
1792 245, 246, 246, 246, 246, 246, 246, 246, 100, 620,
1793 621, 621, 621, 621, 621, 621, 621, 358, 247, 1135,
1794 358, 625, 626, 626, 626, 626, 626, 626, 626, 549,
1795
1796 358, 1136, 930, 358, 358, 636, 637, 637, 637, 637,
1797 637, 637, 637, 549, 248, 101, 102, 358, 101, 841,
1798 250, 1139, 842, 1140, 251, 252, 252, 252, 252, 252,
1799 252, 252, 100, 361, 362, 362, 362, 362, 362, 362,
1800 362, 687, 253, 691, 687, 1137, 692, 1141, 755, 358,
1801 688, 756, 358, 688, 1108, 1042, 689, 358, 407, 713,
1802 693, 407, 751, 904, 1138, 757, 905, 1109, 254, 101,
1803 102, 752, 101, 358, 250, 956, 358, 753, 251, 252,
1804 252, 252, 252, 252, 252, 252, 100, 1142, 408, 409,
1805 358, 957, 1043, 1105, 410, 1143, 253, 358, 1017, 557,
1806
1807 358, 411, 1018, 412, 413, 426, 427, 427, 427, 427,
1808 427, 427, 427, 557, 358, 564, 751, 1032, 1132, 1133,
1809 1144, 1033, 254, 101, 102, 752, 101, 1145, 257, 564,
1810 1106, 771, 258, 259, 259, 259, 259, 259, 259, 259,
1811 100, 488, 489, 489, 489, 489, 489, 489, 489, 1146,
1812 260, 501, 502, 502, 502, 502, 502, 502, 502, 519,
1813 520, 520, 520, 520, 520, 520, 520, 358, 358, 571,
1814 358, 358, 1149, 1150, 1151, 1079, 261, 101, 102, 1080,
1815 101, 1152, 257, 571, 358, 358, 258, 259, 259, 259,
1816 259, 259, 259, 259, 100, 524, 525, 525, 525, 525,
1817
1818 525, 525, 525, 578, 260, 529, 530, 530, 530, 530,
1819 530, 530, 530, 601, 1153, 1154, 358, 578, 358, 544,
1820 358, 551, 358, 559, 1095, 566, 1147, 601, 1096, 1155,
1821 261, 101, 102, 544, 101, 551, 263, 559, 1156, 566,
1822 264, 265, 265, 265, 265, 265, 265, 265, 100, 358,
1823 358, 358, 573, 580, 358, 1148, 1157, 1158, 266, 1159,
1824 358, 358, 358, 358, 358, 603, 573, 580, 358, 586,
1825 587, 587, 587, 587, 587, 587, 587, 358, 358, 603,
1826 1108, 1160, 1161, 1162, 267, 101, 102, 1168, 101, 1169,
1827 263, 1170, 1171, 1119, 264, 265, 265, 265, 265, 265,
1828
1829 265, 265, 100, 592, 593, 593, 593, 593, 593, 593,
1830 593, 1172, 266, 597, 598, 598, 598, 598, 598, 598,
1831 598, 1173, 1174, 1175, 358, 1176, 1177, 358, 620, 621,
1832 621, 621, 621, 621, 621, 621, 1178, 1179, 267, 101,
1833 102, 358, 101, 358, 269, 1180, 358, 1181, 270, 271,
1834 271, 271, 271, 271, 271, 271, 100, 1182, 358, 1185,
1835 358, 358, 1186, 1198, 1199, 1200, 272, 625, 626, 626,
1836 626, 626, 626, 626, 626, 358, 636, 637, 637, 637,
1837 637, 637, 637, 637, 1163, 1163, 1163, 1163, 1183, 1201,
1838 1202, 1203, 273, 101, 102, 1204, 101, 1184, 269, 1205,
1839
1840 1206, 1164, 270, 271, 271, 271, 271, 271, 271, 271,
1841 100, 1165, 1165, 1165, 1165, 1207, 1208, 1209, 1210, 1211,
1842 272, 1212, 1213, 1214, 1215, 1216, 1217, 1218, 1166, 1219,
1843 1220, 1221, 1222, 1223, 1055, 1224, 1227, 1225, 1228, 1229,
1844 1230, 1231, 1226, 1213, 1232, 1233, 273, 101, 102, 1240,
1845 101, 1241, 275, 1184, 1242, 1243, 276, 277, 277, 277,
1846 277, 277, 277, 277, 100, 1244, 1163, 1163, 1234, 1163,
1847 1165, 1165, 1236, 1165, 278, 1245, 1246, 1167, 1247, 1248,
1848 1167, 1249, 1218, 1235, 1239, 1167, 1250, 1237, 1251, 1252,
1849 1253, 1254, 1255, 1256, 1257, 1269, 1270, 1271, 1272, 1273,
1850
1851 279, 101, 102, 1274, 101, 1275, 275, 1276, 1277, 1278,
1852 276, 277, 277, 277, 277, 277, 277, 277, 100, 1279,
1853 1280, 1281, 1282, 1283, 1284, 1285, 1286, 1287, 278, 1288,
1854 1289, 1290, 1291, 1292, 1293, 1294, 1298, 1295, 1299, 1296,
1855 1284, 1183, 1233, 1232, 1297, 1300, 1301, 1302, 1303, 1304,
1856 1305, 1306, 1307, 1308, 279, 101, 102, 1309, 101, 1310,
1857 281, 1311, 1312, 1315, 282, 283, 283, 283, 283, 283,
1858 283, 283, 100, 1316, 1313, 1317, 1318, 1319, 284, 1289,
1859 1320, 1321, 285, 1314, 1322, 1323, 1324, 1147, 1326, 1327,
1860 1184, 1328, 1331, 1332, 1333, 1334, 1335, 1336, 1337, 1329,
1861
1862 1338, 1339, 1339, 1340, 1341, 1342, 1343, 1344, 286, 101,
1863 102, 1346, 101, 1347, 281, 1348, 1345, 1349, 282, 283,
1864 283, 283, 283, 283, 283, 283, 100, 1163, 1163, 1163,
1865 1163, 1350, 284, 1351, 1352, 1353, 285, 1165, 1165, 1165,
1866 1165, 1354, 1355, 1356, 1164, 1357, 1358, 1359, 1360, 1361,
1867 1363, 1364, 1365, 1366, 1166, 1367, 1368, 1370, 1362, 1371,
1868 1372, 1373, 286, 101, 102, 1374, 101, 1375, 288, 1369,
1869 1376, 1377, 289, 290, 290, 290, 290, 290, 290, 290,
1870 100, 1378, 1379, 1380, 1381, 1382, 1383, 1384, 1385, 1386,
1871 291, 1387, 1389, 1390, 1391, 1392, 1393, 1394, 1395, 1396,
1872
1873 1397, 1398, 1399, 1233, 1401, 1404, 1404, 1405, 1400, 1406,
1874 1233, 1407, 1408, 1411, 1409, 1412, 292, 101, 102, 1413,
1875 101, 1414, 288, 1410, 1415, 1416, 289, 290, 290, 290,
1876 290, 290, 290, 290, 100, 1417, 1344, 1402, 1163, 1163,
1877 1234, 1163, 1419, 1420, 291, 1345, 1165, 1165, 1236, 1165,
1878 1403, 1421, 1422, 1423, 1424, 1235, 1425, 1426, 1428, 1429,
1879 1430, 1431, 1432, 1237, 1433, 1435, 1427, 1436, 1437, 1438,
1880 292, 101, 102, 1439, 101, 1440, 294, 1434, 1441, 1442,
1881 295, 296, 296, 296, 296, 296, 296, 296, 100, 1443,
1882 1444, 1445, 1446, 1447, 1448, 1449, 1450, 1451, 297, 1452,
1883
1884 1388, 1454, 1455, 1388, 1456, 1457, 1458, 1459, 1388, 1460,
1885 1461, 1462, 1401, 1463, 1464, 1465, 1400, 1466, 1467, 1468,
1886 1469, 1470, 1471, 1472, 298, 101, 102, 1473, 101, 1474,
1887 294, 1475, 1476, 1477, 295, 296, 296, 296, 296, 296,
1888 296, 296, 100, 1478, 1409, 1479, 1480, 1481, 1483, 1484,
1889 1485, 1486, 297, 1410, 1487, 1488, 1489, 1490, 1491, 1492,
1890 1493, 1494, 1495, 1497, 1498, 1499, 1500, 1501, 1502, 1503,
1891 1496, 1504, 1506, 1507, 1508, 1512, 1513, 1514, 298, 101,
1892 102, 1515, 101, 1516, 300, 1517, 1518, 1519, 301, 302,
1893 302, 302, 302, 302, 302, 302, 100, 1509, 1520, 1521,
1894
1895 1522, 1523, 1510, 1525, 1526, 1527, 303, 1528, 1529, 1530,
1896 1511, 1531, 1532, 1533, 1534, 1535, 1536, 1537, 1538, 1539,
1897 1524, 1540, 1541, 1542, 1543, 1544, 1545, 1546, 1547, 1548,
1898 1549, 1550, 304, 101, 102, 1551, 101, 1552, 300, 1553,
1899 1400, 1401, 301, 302, 302, 302, 302, 302, 302, 302,
1900 100, 1558, 1559, 1560, 1562, 1563, 1564, 1565, 1566, 1567,
1901 303, 1561, 1568, 1569, 1505, 1571, 1572, 1505, 1573, 1574,
1902 1577, 1578, 1505, 1579, 1575, 1580, 1581, 1582, 1583, 1584,
1903 1585, 1586, 1576, 1589, 1590, 1591, 304, 100, 101, 102,
1904 100, 101, 100, 104, 100, 100, 100, 106, 107, 107,
1905
1906 107, 107, 107, 107, 107, 100, 100, 100, 100, 312,
1907 312, 312, 312, 312, 312, 111, 100, 312, 312, 312,
1908 312, 312, 312, 312, 312, 312, 312, 312, 312, 312,
1909 312, 312, 312, 312, 312, 312, 312, 312, 312, 312,
1910 312, 131, 100, 101, 102, 100, 101, 100, 104, 100,
1911 100, 100, 106, 107, 107, 107, 107, 107, 107, 107,
1912 100, 100, 100, 100, 313, 313, 313, 313, 313, 313,
1913 111, 100, 313, 313, 313, 313, 313, 313, 313, 313,
1914 313, 313, 313, 313, 313, 313, 313, 313, 313, 313,
1915 313, 313, 313, 313, 313, 313, 131, 101, 102, 1400,
1916
1917 101, 1401, 315, 1587, 1592, 1593, 316, 317, 317, 317,
1918 317, 317, 317, 317, 100, 1594, 1595, 1596, 1597, 1598,
1919 1599, 1600, 1588, 1601, 318, 1602, 1554, 1603, 1556, 1604,
1920 1605, 1606, 1607, 1608, 1609, 1610, 1611, 1612, 1613, 1555,
1921 1614, 1557, 1615, 1616, 1617, 1618, 1619, 1620, 1621, 1622,
1922 319, 101, 102, 1623, 101, 1624, 315, 1625, 1626, 1627,
1923 316, 317, 317, 317, 317, 317, 317, 317, 100, 1628,
1924 1630, 1631, 1632, 1633, 1635, 1636, 1637, 1638, 318, 1639,
1925 1640, 1641, 1642, 1643, 1644, 1645, 1646, 1647, 1648, 1649,
1926 1650, 1651, 1652, 1653, 1654, 1655, 1655, 1655, 1655, 1658,
1927
1928 1659, 1660, 1656, 1661, 319, 101, 102, 1665, 101, 1666,
1929 321, 1669, 1657, 1670, 322, 323, 323, 323, 323, 323,
1930 323, 323, 100, 1662, 1662, 1662, 1662, 1667, 324, 1671,
1931 1663, 1672, 325, 1668, 1673, 1674, 1675, 1676, 1677, 1678,
1932 1664, 1679, 1680, 1683, 1684, 1681, 1685, 1686, 1687, 1682,
1933 1688, 1689, 1690, 1691, 1696, 1697, 1698, 1703, 326, 101,
1934 102, 1704, 101, 1705, 321, 1706, 1707, 1708, 322, 323,
1935 323, 323, 323, 323, 323, 323, 100, 1709, 1692, 1699,
1936 1710, 1693, 324, 1711, 1712, 1700, 325, 1694, 1695, 1701,
1937 1713, 1714, 1715, 1716, 1717, 1702, 1718, 1719, 1720, 1721,
1938
1939 1722, 1723, 1724, 1725, 1726, 1730, 1731, 1732, 1736, 1737,
1940 1740, 1738, 326, 101, 102, 1741, 101, 1739, 332, 1742,
1941 1743, 1744, 333, 334, 334, 334, 334, 334, 334, 334,
1942 100, 1655, 1655, 1727, 1655, 1745, 1746, 1747, 1728, 1748,
1943 335, 1749, 1662, 1662, 1733, 1662, 1750, 1751, 1729, 1734,
1944 1752, 1754, 1755, 1756, 1753, 1757, 1758, 1759, 1760, 1735,
1945 1761, 1762, 1767, 1768, 1769, 1774, 336, 101, 102, 1775,
1946 101, 1776, 332, 1777, 1778, 1779, 333, 334, 334, 334,
1947 334, 334, 334, 334, 100, 1780, 1763, 1770, 1781, 1764,
1948 1782, 1783, 1784, 1771, 335, 1765, 1766, 1772, 1785, 1786,
1949
1950 1787, 1788, 1789, 1773, 1790, 1791, 1792, 1793, 1794, 1795,
1951 1796, 1797, 1798, 1799, 1800, 1804, 1805, 1806, 1807, 1808,
1952 336, 100, 101, 102, 100, 101, 100, 104, 341, 100,
1953 100, 106, 107, 107, 107, 107, 107, 107, 107, 100,
1954 100, 100, 100, 341, 341, 341, 341, 341, 341, 111,
1955 341, 341, 341, 341, 341, 341, 341, 341, 341, 341,
1956 341, 341, 341, 341, 341, 341, 341, 341, 341, 341,
1957 341, 341, 341, 341, 341, 131, 101, 102, 1817, 101,
1958 1818, 343, 1819, 1827, 1828, 106, 107, 107, 107, 107,
1959 107, 107, 107, 100, 1801, 1829, 1802, 1655, 1655, 1655,
1960
1961 1655, 1809, 1803, 344, 1662, 1662, 1662, 1662, 1830, 1810,
1962 1831, 1811, 1834, 1832, 1657, 1812, 1835, 1813, 1814, 1815,
1963 1816, 1664, 1833, 1836, 1837, 1838, 1839, 1840, 1841, 345,
1964 101, 102, 1842, 101, 1843, 343, 1844, 1845, 1846, 106,
1965 107, 107, 107, 107, 107, 107, 107, 100, 1820, 1847,
1966 1848, 1849, 1850, 1851, 1852, 1853, 1821, 344, 1822, 1854,
1967 1855, 1856, 1823, 1857, 1858, 1824, 1825, 1826, 1859, 1860,
1968 1861, 1862, 1863, 1864, 1865, 1866, 1867, 1868, 1869, 1870,
1969 1871, 1872, 1873, 345, 101, 351, 1874, 101, 1875, 352,
1970 1876, 1877, 100, 106, 107, 107, 107, 107, 107, 107,
1971
1972 107, 100, 1878, 1881, 1879, 1882, 1883, 1884, 1885, 1886,
1973 1880, 353, 1655, 1655, 1727, 1655, 1894, 1887, 1895, 1888,
1974 1896, 1904, 1905, 1889, 1906, 1890, 1891, 1892, 1893, 1729,
1975 1907, 1911, 1908, 1912, 1913, 1909, 1914, 354, 101, 351,
1976 1915, 101, 1916, 352, 1910, 1917, 100, 106, 107, 107,
1977 107, 107, 107, 107, 107, 100, 1662, 1662, 1733, 1662,
1978 1897, 1918, 1919, 1920, 1921, 353, 1922, 1923, 1898, 1924,
1979 1899, 1925, 1926, 1735, 1900, 1927, 1928, 1901, 1902, 1903,
1980 1929, 1930, 1931, 1932, 1933, 1934, 1935, 1936, 1937, 1938,
1981 1939, 354, 425, 426, 427, 427, 427, 427, 427, 427,
1982
1983 427, 1940, 1941, 1942, 1943, 1944, 1945, 1946, 1947, 1948,
1984 1949, 1950, 1951, 1952, 1953, 1954, 1955, 1956, 1957, 1958,
1985 1959, 1960, 1961, 1962, 1963, 1964, 1965, 1966, 1967, 1968,
1986 1969, 1970, 1971, 1972, 1973, 428, 488, 489, 489, 489,
1987 489, 489, 489, 489, 1974, 1975, 1976, 1977, 1978, 1979,
1988 1980, 1981, 1982, 1983, 1984, 1985, 1986, 1996, 1997, 1998,
1989 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008,
1990 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 490, 501,
1991 502, 502, 502, 502, 502, 502, 502, 2017, 2018, 2019,
1992 2020, 2021, 2022, 2023, 2024, 2025, 2026, 2027, 2028, 2029,
1993
1994 2030, 2031, 2032, 2033, 2034, 2035, 2036, 2037, 2038, 1874,
1995 2039, 2040, 2041, 2042, 2043, 2044, 2045, 2046, 2047, 2048,
1996 2049, 503, 519, 520, 520, 520, 520, 520, 520, 520,
1997 2050, 2051, 2052, 2053, 2054, 2055, 2056, 2057, 2058, 2059,
1998 2060, 2061, 2062, 2063, 2064, 2065, 2066, 2076, 2077, 2078,
1999 2079, 2080, 2081, 2082, 2083, 2084, 2085, 2086, 2087, 2088,
2000 2089, 2090, 2091, 2092, 521, 524, 525, 525, 525, 525,
2001 525, 525, 525, 2093, 2094, 2095, 2096, 2097, 2098, 2099,
2002 2100, 2101, 2102, 2103, 2104, 2105, 2106, 2107, 2108, 2109,
2003 2110, 2111, 2112, 2113, 2114, 2115, 2116, 2117, 2118, 2119,
2004
2005 2120, 2121, 2122, 2123, 2124, 2125, 2126, 526, 529, 530,
2006 530, 530, 530, 530, 530, 530, 2127, 2128, 2129, 2130,
2007 2131, 2132, 2133, 2134, 2135, 2136, 2137, 2138, 2139, 1969,
2008 1969, 2140, 2141, 2142, 2143, 2144, 2145, 2146, 2147, 1980,
2009 1980, 2148, 2149, 2150, 2151, 2152, 2154, 2155, 2156, 2159,
2010 531, 542, 2160, 2157, 2153, 2161, 2162, 545, 546, 546,
2011 546, 546, 546, 546, 546, 542, 2158, 2163, 2164, 2165,
2012 2166, 2167, 2168, 2169, 2170, 2171, 2173, 2174, 2175, 2176,
2013 2177, 2178, 2179, 2180, 2181, 2182, 2183, 2184, 2185, 2186,
2014 2187, 2188, 2189, 2190, 2191, 2192, 2193, 2036, 2038, 547,
2015
2016 549, 2194, 2195, 2196, 2197, 2198, 552, 553, 553, 553,
2017 553, 553, 553, 553, 549, 2199, 2200, 2201, 2202, 2203,
2018 2204, 2205, 2206, 2207, 2208, 2049, 2049, 2209, 2210, 2211,
2019 2212, 2213, 2214, 2215, 2216, 2060, 2060, 2217, 2218, 2219,
2020 2220, 2221, 2223, 2224, 2225, 2228, 2229, 2230, 554, 557,
2021 2222, 2226, 2231, 2232, 2233, 560, 561, 561, 561, 561,
2022 561, 561, 561, 557, 2227, 2234, 2235, 2236, 2237, 2238,
2023 2239, 2240, 2172, 2243, 2244, 2172, 2245, 2246, 2247, 2248,
2024 2172, 2249, 2250, 2251, 2252, 2253, 2254, 2255, 2256, 2242,
2025 2257, 2258, 2259, 2260, 2261, 2262, 2263, 562, 564, 2264,
2026
2027 2265, 2266, 2267, 2268, 567, 568, 568, 568, 568, 568,
2028 568, 568, 564, 2269, 2270, 2271, 2272, 2273, 2274, 2275,
2029 2276, 2277, 2278, 2279, 2280, 2281, 2282, 2283, 2284, 2285,
2030 2286, 2287, 2288, 2289, 2290, 2291, 2292, 2293, 2294, 2295,
2031 2296, 2297, 2298, 2299, 2300, 2301, 569, 571, 2302, 2303,
2032 2304, 2305, 2306, 574, 575, 575, 575, 575, 575, 575,
2033 575, 571, 2307, 2309, 2310, 2311, 2312, 2313, 2173, 2308,
2034 2315, 2316, 2317, 2318, 2319, 2320, 2321, 2322, 2323, 2324,
2035 2325, 2326, 2327, 2328, 2329, 2330, 2331, 2332, 2333, 2334,
2036 2335, 2336, 2337, 2338, 2339, 576, 578, 2340, 2341, 2342,
2037
2038 2343, 2344, 581, 582, 582, 582, 582, 582, 582, 582,
2039 578, 2345, 2346, 2347, 2348, 2349, 2350, 2351, 2352, 2353,
2040 2354, 2355, 2356, 2357, 2358, 2359, 2360, 2361, 2362, 2363,
2041 2364, 2365, 2366, 2367, 2368, 2369, 2370, 2371, 2374, 2375,
2042 2376, 2377, 2378, 2381, 583, 586, 587, 587, 587, 587,
2043 587, 587, 587, 2372, 2172, 2314, 2382, 2172, 2314, 2383,
2044 2373, 2384, 2172, 2314, 2385, 2386, 2387, 2388, 2389, 2390,
2045 2391, 2242, 2380, 2392, 2393, 2394, 2395, 2396, 2397, 2398,
2046 2399, 2400, 2401, 2402, 2403, 2404, 2406, 588, 592, 593,
2047 593, 593, 593, 593, 593, 593, 2407, 2408, 2409, 2410,
2048
2049 2411, 2412, 2413, 2414, 2415, 2416, 2417, 2418, 2419, 2420,
2050 2421, 2422, 2423, 2424, 2425, 2426, 2427, 2428, 2429, 2430,
2051 2431, 2432, 2433, 2434, 2435, 2436, 2315, 2315, 2437, 2438,
2052 594, 597, 598, 598, 598, 598, 598, 598, 598, 2439,
2053 2440, 2442, 2443, 2443, 2444, 2445, 2446, 2447, 2448, 2449,
2054 2450, 2451, 2452, 2453, 2454, 2405, 2457, 2458, 2405, 2459,
2055 2460, 2461, 2462, 2405, 2463, 2464, 2465, 2466, 2467, 2468,
2056 2469, 2470, 2456, 599, 601, 2471, 2472, 2473, 2474, 2475,
2057 604, 605, 605, 605, 605, 605, 605, 605, 601, 2476,
2058 2477, 2478, 2479, 2480, 2481, 2482, 2483, 2484, 2485, 2486,
2059
2060 2314, 2314, 2487, 2314, 2314, 2488, 2489, 2490, 2314, 2314,
2061 2492, 2441, 2493, 2493, 2441, 2494, 2495, 2380, 2380, 2441,
2062 2496, 2497, 606, 614, 2498, 2499, 614, 2500, 614, 614,
2063 614, 614, 2501, 614, 614, 614, 614, 614, 614, 614,
2064 614, 2502, 614, 614, 614, 2503, 2504, 2505, 2506, 2406,
2065 2508, 614, 614, 2509, 2510, 2511, 2512, 2513, 2514, 1969,
2066 2515, 2516, 2517, 1980, 2518, 2519, 2520, 2521, 2524, 2525,
2067 2522, 2526, 2527, 2528, 2529, 2530, 2531, 614, 616, 2523,
2068 2532, 616, 2533, 616, 616, 616, 616, 2534, 616, 616,
2069 616, 616, 616, 616, 616, 616, 2438, 616, 616, 616,
2070
2071 2535, 2536, 2537, 2540, 2538, 2542, 616, 616, 2543, 2544,
2072 2545, 2539, 2546, 2547, 2548, 2549, 2552, 2553, 2554, 2555,
2073 2556, 2557, 2049, 2558, 2559, 2560, 2060, 2561, 2562, 2563,
2074 2567, 2568, 616, 620, 621, 621, 621, 621, 621, 621,
2075 621, 2405, 2507, 2564, 2405, 2507, 2565, 2569, 2570, 2405,
2076 2507, 2571, 2572, 2573, 2574, 2566, 2575, 2576, 2456, 2551,
2077 2577, 2488, 2578, 2579, 2580, 2583, 2581, 2585, 2586, 2587,
2078 2588, 2589, 2590, 2582, 2591, 622, 625, 626, 626, 626,
2079 626, 626, 626, 626, 2541, 2592, 2593, 2541, 2508, 2508,
2080 2594, 2595, 2541, 2596, 2597, 2598, 2599, 2600, 2601, 2603,
2081
2082 2604, 2605, 2606, 2607, 2608, 2602, 2609, 2610, 2611, 2612,
2083 2613, 2614, 2615, 2616, 2617, 2618, 2619, 2620, 627, 636,
2084 637, 637, 637, 637, 637, 637, 637, 2621, 2622, 2623,
2085 2624, 2625, 2626, 2627, 2628, 2629, 2507, 2507, 2630, 2507,
2086 2507, 2631, 2632, 2633, 2507, 2507, 2634, 2635, 2636, 2637,
2087 2639, 2640, 2641, 2551, 2551, 2642, 2638, 2643, 2644, 2645,
2088 2646, 638, 358, 650, 2647, 358, 2648, 2649, 2650, 2651,
2089 358, 358, 358, 358, 358, 358, 358, 358, 358, 358,
2090 426, 427, 427, 427, 427, 427, 427, 427, 2652, 2653,
2091 2654, 2655, 2656, 2657, 2658, 2659, 2660, 2661, 2662, 2663,
2092
2093 2664, 2665, 2666, 2667, 2668, 2669, 2670, 2671, 2672, 2673,
2094 2674, 2675, 2676, 2677, 2678, 2679, 2680, 2681, 2682, 2683,
2095 2684, 2685, 428, 427, 427, 427, 427, 427, 427, 427,
2096 427, 2686, 2687, 2688, 2689, 427, 427, 427, 2690, 2691,
2097 2692, 2693, 2694, 427, 427, 427, 427, 427, 427, 488,
2098 489, 489, 489, 489, 489, 489, 489, 2695, 2696, 2697,
2099 2698, 2699, 2700, 2701, 2702, 2703, 2704, 2705, 2706, 2707,
2100 2708, 2709, 2710, 2711, 2712, 2713, 2714, 2715, 2716, 2717,
2101 2718, 2719, 2720, 2721, 2722, 2723, 2724, 2725, 2726, 2727,
2102 2728, 490, 489, 489, 489, 489, 489, 489, 489, 489,
2103
2104 2729, 2730, 2731, 2732, 489, 489, 489, 2733, 2734, 2735,
2105 2736, 2737, 489, 489, 489, 489, 489, 489, 501, 502,
2106 502, 502, 502, 502, 502, 502, 2738, 2739, 2740, 2740,
2107 2741, 2693, 2742, 2743, 2744, 2745, 2746, 2747, 2748, 2749,
2108 2750, 2751, 2752, 2753, 2754, 2755, 2756, 2757, 2758, 2758,
2109 2759, 2723, 2760, 2761, 2762, 2763, 2764, 2765, 2766, 2767,
2110 503, 502, 502, 502, 502, 502, 502, 502, 502, 2768,
2111 2769, 2770, 2771, 502, 502, 502, 2772, 2773, 2774, 2775,
2112 2776, 502, 502, 502, 502, 502, 502, 519, 520, 520,
2113 520, 520, 520, 520, 520, 2777, 2778, 2779, 2780, 2781,
2114
2115 2782, 2783, 2784, 2785, 2786, 2787, 2788, 2789, 2790, 2791,
2116 2792, 2793, 2794, 2795, 2796, 2797, 2798, 2799, 2800, 2801,
2117 1103, 1102, 1101, 1100, 1099, 1098, 1097, 1094, 1093, 521,
2118 520, 520, 520, 520, 520, 520, 520, 520, 1092, 1091,
2119 1090, 1089, 520, 520, 520, 1088, 1087, 1086, 1085, 1084,
2120 520, 520, 520, 520, 520, 520, 524, 525, 525, 525,
2121 525, 525, 525, 525, 1083, 1082, 1081, 1078, 1077, 1076,
2122 1075, 1074, 1073, 1072, 1071, 1070, 1069, 1068, 1067, 1066,
2123 1065, 1064, 1063, 1061, 1060, 1059, 1058, 1057, 1056, 1055,
2124 1054, 1053, 1052, 1051, 1048, 1047, 1044, 1041, 526, 525,
2125
2126 525, 525, 525, 525, 525, 525, 525, 1040, 1039, 1038,
2127 1037, 525, 525, 525, 1036, 1035, 1034, 1031, 1030, 525,
2128 525, 525, 525, 525, 525, 529, 530, 530, 530, 530,
2129 530, 530, 530, 1029, 1028, 1027, 1026, 1025, 1024, 1023,
2130 1022, 1021, 1020, 1019, 1016, 1015, 1014, 1013, 1012, 1011,
2131 1010, 1009, 1008, 1007, 1006, 1005, 1004, 1003, 1002, 1001,
2132 1000, 999, 998, 997, 996, 995, 994, 531, 530, 530,
2133 530, 530, 530, 530, 530, 530, 993, 992, 991, 988,
2134 530, 530, 530, 987, 986, 985, 984, 983, 530, 530,
2135 530, 530, 530, 530, 542, 982, 981, 980, 979, 978,
2136
2137 545, 546, 546, 546, 546, 546, 546, 546, 542, 977,
2138 976, 975, 974, 973, 972, 971, 969, 968, 967, 966,
2139 965, 964, 963, 962, 961, 960, 959, 958, 955, 954,
2140 953, 952, 951, 950, 949, 948, 947, 946, 945, 944,
2141 943, 942, 547, 546, 941, 940, 939, 938, 937, 936,
2142 935, 934, 931, 928, 927, 546, 546, 546, 926, 925,
2143 924, 923, 920, 546, 546, 546, 546, 546, 546, 919,
2144 918, 917, 916, 735, 915, 914, 913, 912, 911, 910,
2145 909, 908, 907, 906, 903, 541, 549, 902, 901, 900,
2146 899, 898, 552, 553, 553, 553, 553, 553, 553, 553,
2147
2148 549, 897, 896, 895, 894, 893, 892, 891, 890, 889,
2149 888, 887, 886, 885, 884, 883, 882, 881, 880, 879,
2150 878, 877, 876, 875, 874, 873, 872, 871, 870, 867,
2151 864, 863, 862, 861, 554, 553, 860, 859, 856, 855,
2152 854, 853, 852, 851, 850, 849, 848, 553, 553, 553,
2153 847, 846, 845, 844, 843, 553, 553, 553, 553, 553,
2154 553, 840, 839, 838, 837, 836, 835, 834, 833, 832,
2155 831, 830, 829, 828, 827, 824, 823, 548, 557, 822,
2156 821, 820, 819, 818, 560, 561, 561, 561, 561, 561,
2157 561, 561, 557, 817, 816, 815, 814, 813, 812, 811,
2158
2159 810, 809, 600, 358, 808, 577, 358, 570, 358, 563,
2160 358, 556, 358, 807, 548, 358, 541, 358, 806, 805,
2161 804, 803, 802, 801, 800, 799, 562, 561, 798, 797,
2162 796, 795, 794, 793, 792, 791, 790, 789, 788, 561,
2163 561, 561, 787, 786, 497, 785, 784, 561, 561, 561,
2164 561, 561, 561, 783, 782, 781, 780, 779, 778, 777,
2165 776, 775, 774, 773, 772, 770, 769, 768, 767, 556,
2166 564, 766, 765, 764, 763, 762, 567, 568, 568, 568,
2167 568, 568, 568, 568, 564, 761, 760, 759, 758, 754,
2168 750, 749, 748, 747, 746, 743, 742, 741, 740, 739,
2169
2170 738, 737, 736, 735, 734, 733, 732, 731, 730, 729,
2171 726, 725, 724, 723, 722, 721, 718, 717, 569, 568,
2172 716, 715, 714, 712, 711, 710, 709, 708, 707, 706,
2173 705, 568, 568, 568, 704, 703, 702, 701, 700, 568,
2174 568, 568, 568, 568, 568, 699, 698, 697, 696, 695,
2175 694, 690, 686, 685, 684, 683, 682, 679, 678, 677,
2176 676, 563, 571, 675, 674, 673, 672, 671, 574, 575,
2177 575, 575, 575, 575, 575, 575, 571, 670, 669, 668,
2178 667, 664, 663, 662, 661, 660, 659, 656, 655, 654,
2179 653, 652, 649, 648, 647, 646, 364, 642, 641, 640,
2180
2181 639, 364, 633, 632, 629, 364, 628, 364, 613, 612,
2182 576, 575, 611, 610, 609, 608, 607, 600, 364, 364,
2183 364, 589, 577, 575, 575, 575, 570, 563, 556, 555,
2184 548, 575, 575, 575, 575, 575, 575, 541, 540, 539,
2185 538, 537, 536, 535, 534, 533, 532, 364, 364, 364,
2186 516, 515, 514, 570, 578, 513, 512, 511, 510, 509,
2187 581, 582, 582, 582, 582, 582, 582, 582, 578, 508,
2188 507, 505, 504, 364, 497, 496, 495, 494, 491, 364,
2189 484, 483, 482, 481, 479, 472, 471, 429, 364, 421,
2190 421, 421, 416, 406, 405, 382, 379, 365, 364, 357,
2191
2192 357, 357, 583, 582, 2802, 100, 100, 100, 100, 100,
2193 100, 2802, 2802, 2802, 2802, 582, 582, 582, 2802, 2802,
2194 2802, 2802, 2802, 582, 582, 582, 582, 582, 582, 2802,
2195 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
2196 2802, 2802, 2802, 2802, 2802, 577, 586, 587, 587, 587,
2197 587, 587, 587, 587, 2802, 2802, 2802, 2802, 2802, 2802,
2198 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
2199 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
2200 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 588, 587,
2201 587, 587, 587, 587, 587, 587, 587, 2802, 2802, 2802,
2202
2203 2802, 587, 587, 587, 2802, 2802, 2802, 2802, 2802, 587,
2204 587, 587, 587, 587, 587, 592, 593, 593, 593, 593,
2205 593, 593, 593, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
2206 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
2207 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
2208 2802, 2802, 2802, 2802, 2802, 2802, 2802, 594, 593, 593,
2209 593, 593, 593, 593, 593, 593, 2802, 2802, 2802, 2802,
2210 593, 593, 593, 2802, 2802, 2802, 2802, 2802, 593, 593,
2211 593, 593, 593, 593, 597, 598, 598, 598, 598, 598,
2212 598, 598, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
2213
2214 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
2215 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
2216 2802, 2802, 2802, 2802, 2802, 2802, 599, 598, 598, 598,
2217 598, 598, 598, 598, 598, 2802, 2802, 2802, 2802, 598,
2218 598, 598, 2802, 2802, 2802, 2802, 2802, 598, 598, 598,
2219 598, 598, 598, 601, 2802, 2802, 2802, 2802, 2802, 604,
2220 605, 605, 605, 605, 605, 605, 605, 601, 2802, 2802,
2221 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
2222 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
2223 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
2224
2225 2802, 606, 605, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
2226 2802, 2802, 2802, 2802, 605, 605, 605, 2802, 2802, 2802,
2227 2802, 2802, 605, 605, 605, 605, 605, 605, 2802, 2802,
2228 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
2229 2802, 2802, 2802, 2802, 600, 614, 2802, 2802, 614, 2802,
2230 614, 614, 614, 614, 2802, 614, 614, 614, 614, 614,
2231 614, 614, 614, 2802, 614, 614, 614, 2802, 2802, 2802,
2232 2802, 2802, 2802, 614, 614, 2802, 2802, 2802, 2802, 2802,
2233 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
2234 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 614,
2235
2236 616, 2802, 2802, 616, 2802, 616, 616, 616, 616, 2802,
2237 616, 616, 616, 616, 616, 616, 616, 616, 2802, 616,
2238 616, 616, 2802, 2802, 2802, 2802, 2802, 2802, 616, 616,
2239 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
2240 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
2241 2802, 2802, 2802, 2802, 616, 620, 621, 621, 621, 621,
2242 621, 621, 621, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
2243 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
2244 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
2245 2802, 2802, 2802, 2802, 2802, 2802, 2802, 622, 621, 621,
2246
2247 621, 621, 621, 621, 621, 621, 2802, 2802, 2802, 2802,
2248 621, 621, 621, 2802, 2802, 2802, 2802, 2802, 621, 621,
2249 621, 621, 621, 621, 625, 626, 626, 626, 626, 626,
2250 626, 626, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
2251 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
2252 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
2253 2802, 2802, 2802, 2802, 2802, 2802, 627, 626, 626, 626,
2254 626, 626, 626, 626, 626, 2802, 2802, 2802, 2802, 626,
2255 626, 626, 2802, 2802, 2802, 2802, 2802, 626, 626, 626,
2256 626, 626, 626, 636, 637, 637, 637, 637, 637, 637,
2257
2258 637, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
2259 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
2260 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
2261 2802, 2802, 2802, 2802, 2802, 638, 637, 637, 637, 637,
2262 637, 637, 637, 637, 2802, 2802, 2802, 2802, 637, 637,
2263 637, 2802, 2802, 2802, 2802, 2802, 637, 637, 637, 637,
2264 637, 637, 358, 650, 2802, 358, 2802, 2802, 2802, 2802,
2265 358, 358, 358, 358, 358, 358, 358, 358, 358, 358,
2266 1187, 1188, 1189, 1190, 2802, 1191, 1192, 2802, 2802, 1193,
2267 2802, 1194, 2802, 2802, 1195, 2802, 2802, 1196, 2802, 1197,
2268
2269 1258, 1259, 1260, 1261, 2802, 1262, 1263, 2802, 2802, 1264,
2270 2802, 1265, 2802, 2802, 1266, 2802, 2802, 1267, 2802, 1268,
2271 1987, 1988, 1989, 1990, 2802, 1991, 2802, 2802, 2802, 1992,
2272 2802, 2802, 2802, 2802, 1993, 2802, 2802, 1994, 2802, 1995,
2273 2067, 2068, 2069, 2070, 2802, 2071, 2802, 2802, 2802, 2072,
2274 2802, 2802, 2802, 2802, 2073, 2802, 2802, 2074, 2802, 2075,
2275 184, 184, 184, 184, 184, 184, 184, 184, 184, 184,
2276 184, 184, 197, 197, 197, 197, 197, 197, 197, 197,
2277 197, 197, 197, 197, 216, 216, 216, 216, 216, 216,
2278 216, 216, 216, 216, 216, 216, 222, 222, 222, 222,
2279
2280 222, 222, 222, 222, 222, 222, 222, 222, 228, 228,
2281 228, 228, 228, 228, 228, 228, 228, 228, 228, 228,
2282 243, 243, 243, 243, 243, 243, 243, 243, 243, 243,
2283 243, 243, 249, 249, 249, 249, 249, 249, 249, 249,
2284 249, 249, 249, 249, 256, 256, 256, 256, 256, 256,
2285 256, 256, 256, 256, 256, 256, 262, 262, 262, 262,
2286 262, 262, 262, 262, 262, 262, 262, 262, 268, 268,
2287 268, 268, 268, 268, 268, 268, 268, 268, 268, 268,
2288 274, 274, 274, 274, 274, 274, 274, 274, 274, 274,
2289 274, 274, 280, 280, 280, 280, 280, 280, 280, 280,
2290
2291 280, 280, 280, 280, 287, 287, 287, 287, 287, 287,
2292 287, 287, 287, 287, 287, 287, 293, 293, 293, 293,
2293 293, 293, 293, 293, 293, 293, 293, 293, 299, 299,
2294 299, 299, 299, 299, 299, 299, 299, 299, 299, 299,
2295 314, 314, 314, 314, 314, 314, 314, 314, 314, 314,
2296 314, 314, 320, 320, 320, 320, 320, 320, 320, 320,
2297 320, 320, 320, 320, 331, 331, 331, 331, 331, 331,
2298 331, 331, 331, 331, 331, 331, 342, 342, 342, 342,
2299 342, 342, 342, 342, 342, 342, 342, 342, 350, 350,
2300 350, 350, 350, 350, 350, 350, 350, 350, 350, 350,
2301
2302 358, 358, 2802, 358, 358, 358, 358, 358, 358, 358,
2303 358, 358, 362, 2802, 2802, 362, 420, 2802, 2802, 420,
2304 2802, 420, 420, 2802, 420, 420, 420, 420, 422, 422,
2305 2802, 422, 422, 422, 422, 422, 422, 422, 422, 422,
2306 485, 485, 2802, 485, 485, 485, 485, 485, 485, 485,
2307 485, 485, 487, 487, 2802, 487, 487, 487, 487, 487,
2308 487, 487, 487, 487, 498, 2802, 2802, 2802, 498, 498,
2309 499, 2802, 2802, 499, 2802, 499, 499, 499, 499, 2802,
2310 499, 499, 500, 500, 2802, 500, 500, 500, 500, 500,
2311 500, 500, 500, 500, 506, 2802, 2802, 2802, 2802, 506,
2312
2313 506, 506, 506, 2802, 506, 506, 517, 2802, 2802, 517,
2314 2802, 517, 517, 517, 517, 2802, 517, 517, 518, 518,
2315 2802, 518, 518, 518, 518, 518, 518, 518, 518, 518,
2316 522, 2802, 2802, 522, 2802, 522, 522, 522, 522, 2802,
2317 522, 522, 523, 523, 2802, 523, 523, 523, 523, 523,
2318 523, 523, 523, 523, 527, 2802, 2802, 527, 2802, 527,
2319 527, 527, 527, 2802, 527, 527, 528, 528, 2802, 528,
2320 528, 528, 528, 528, 528, 528, 528, 528, 541, 2802,
2321 2802, 541, 541, 541, 541, 541, 541, 541, 541, 541,
2322 543, 543, 2802, 543, 543, 543, 543, 543, 543, 543,
2323
2324 543, 543, 548, 2802, 2802, 548, 548, 548, 548, 548,
2325 548, 548, 548, 548, 550, 550, 2802, 550, 550, 550,
2326 550, 550, 550, 550, 550, 550, 556, 2802, 2802, 556,
2327 556, 556, 556, 556, 556, 556, 556, 556, 558, 558,
2328 2802, 558, 558, 558, 558, 558, 558, 558, 558, 558,
2329 563, 2802, 2802, 563, 563, 563, 563, 563, 563, 563,
2330 563, 563, 565, 565, 2802, 565, 565, 565, 565, 565,
2331 565, 565, 565, 565, 570, 2802, 2802, 570, 570, 570,
2332 570, 570, 570, 570, 570, 570, 572, 572, 2802, 572,
2333 572, 572, 572, 572, 572, 572, 572, 572, 577, 2802,
2334
2335 2802, 577, 577, 577, 577, 577, 577, 577, 577, 577,
2336 579, 579, 2802, 579, 579, 579, 579, 579, 579, 579,
2337 579, 579, 584, 2802, 2802, 584, 2802, 584, 584, 584,
2338 584, 2802, 584, 584, 585, 585, 2802, 585, 585, 585,
2339 585, 585, 585, 585, 585, 585, 590, 2802, 2802, 590,
2340 2802, 590, 590, 590, 590, 2802, 590, 590, 591, 591,
2341 2802, 591, 591, 591, 591, 591, 591, 591, 591, 591,
2342 595, 2802, 2802, 595, 2802, 595, 595, 595, 595, 2802,
2343 595, 595, 596, 596, 2802, 596, 596, 596, 596, 596,
2344 596, 596, 596, 596, 600, 2802, 2802, 600, 600, 600,
2345
2346 600, 600, 600, 600, 600, 600, 602, 602, 2802, 602,
2347 602, 602, 602, 602, 602, 602, 602, 602, 615, 2802,
2348 2802, 615, 2802, 615, 615, 2802, 615, 2802, 615, 615,
2349 617, 2802, 2802, 617, 2802, 617, 617, 2802, 617, 2802,
2350 617, 617, 618, 2802, 2802, 618, 2802, 618, 618, 618,
2351 618, 2802, 618, 618, 619, 619, 2802, 619, 619, 619,
2352 619, 619, 619, 619, 619, 619, 623, 2802, 2802, 623,
2353 2802, 623, 623, 623, 623, 2802, 623, 623, 624, 624,
2354 2802, 624, 624, 624, 624, 624, 624, 624, 624, 624,
2355 634, 2802, 2802, 634, 2802, 634, 634, 634, 634, 2802,
2356
2357 634, 634, 635, 635, 2802, 635, 635, 635, 635, 635,
2358 635, 635, 635, 635, 643, 643, 2802, 643, 2802, 643,
2359 643, 644, 2802, 2802, 644, 2802, 644, 644, 644, 644,
2360 644, 644, 644, 645, 645, 2802, 645, 645, 645, 645,
2361 645, 645, 645, 645, 645, 650, 2802, 650, 650, 2802,
2362 650, 650, 2802, 2802, 2802, 650, 650, 651, 651, 651,
2363 651, 651, 651, 651, 651, 651, 651, 651, 651, 358,
2364 358, 2802, 358, 358, 358, 358, 358, 358, 358, 358,
2365 358, 362, 2802, 2802, 362, 362, 2802, 362, 420, 2802,
2366 2802, 420, 2802, 420, 420, 2802, 420, 420, 420, 420,
2367
2368 422, 422, 2802, 422, 422, 422, 422, 422, 422, 422,
2369 422, 422, 485, 485, 2802, 485, 485, 485, 485, 485,
2370 485, 485, 485, 485, 487, 487, 2802, 487, 487, 487,
2371 487, 487, 487, 487, 487, 487, 498, 2802, 2802, 2802,
2372 498, 498, 499, 2802, 2802, 499, 2802, 499, 499, 499,
2373 499, 2802, 499, 499, 500, 500, 2802, 500, 500, 500,
2374 500, 500, 500, 500, 500, 500, 506, 2802, 2802, 2802,
2375 2802, 506, 506, 506, 506, 2802, 506, 506, 517, 2802,
2376 2802, 517, 2802, 517, 517, 517, 517, 2802, 517, 517,
2377 518, 518, 2802, 518, 518, 518, 518, 518, 518, 518,
2378
2379 518, 518, 522, 2802, 2802, 522, 2802, 522, 522, 522,
2380 522, 2802, 522, 522, 523, 523, 2802, 523, 523, 523,
2381 523, 523, 523, 523, 523, 523, 527, 2802, 2802, 527,
2382 2802, 527, 527, 527, 527, 2802, 527, 527, 528, 528,
2383 2802, 528, 528, 528, 528, 528, 528, 528, 528, 528,
2384 541, 2802, 2802, 541, 541, 541, 541, 541, 541, 541,
2385 541, 541, 542, 2802, 2802, 542, 542, 542, 542, 542,
2386 542, 542, 542, 542, 543, 543, 2802, 543, 543, 543,
2387 543, 543, 543, 543, 543, 543, 544, 544, 2802, 544,
2388 544, 544, 544, 544, 544, 544, 544, 544, 548, 2802,
2389
2390 2802, 548, 548, 548, 548, 548, 548, 548, 548, 548,
2391 549, 2802, 2802, 549, 549, 549, 549, 549, 549, 549,
2392 549, 549, 550, 550, 2802, 550, 550, 550, 550, 550,
2393 550, 550, 550, 550, 551, 551, 2802, 551, 551, 551,
2394 551, 551, 551, 551, 551, 551, 556, 2802, 2802, 556,
2395 556, 556, 556, 556, 556, 556, 556, 556, 557, 2802,
2396 2802, 557, 557, 557, 557, 557, 557, 557, 557, 557,
2397 558, 558, 2802, 558, 558, 558, 558, 558, 558, 558,
2398 558, 558, 559, 559, 2802, 559, 559, 559, 559, 559,
2399 559, 559, 559, 559, 563, 2802, 2802, 563, 563, 563,
2400
2401 563, 563, 563, 563, 563, 563, 564, 2802, 2802, 564,
2402 564, 564, 564, 564, 564, 564, 564, 564, 565, 565,
2403 2802, 565, 565, 565, 565, 565, 565, 565, 565, 565,
2404 566, 566, 2802, 566, 566, 566, 566, 566, 566, 566,
2405 566, 566, 570, 2802, 2802, 570, 570, 570, 570, 570,
2406 570, 570, 570, 570, 571, 2802, 2802, 571, 571, 571,
2407 571, 571, 571, 571, 571, 571, 572, 572, 2802, 572,
2408 572, 572, 572, 572, 572, 572, 572, 572, 573, 573,
2409 2802, 573, 573, 573, 573, 573, 573, 573, 573, 573,
2410 577, 2802, 2802, 577, 577, 577, 577, 577, 577, 577,
2411
2412 577, 577, 578, 2802, 2802, 578, 578, 578, 578, 578,
2413 578, 578, 578, 578, 579, 579, 2802, 579, 579, 579,
2414 579, 579, 579, 579, 579, 579, 580, 580, 2802, 580,
2415 580, 580, 580, 580, 580, 580, 580, 580, 584, 2802,
2416 2802, 584, 2802, 584, 584, 584, 584, 2802, 584, 584,
2417 585, 585, 2802, 585, 585, 585, 585, 585, 585, 585,
2418 585, 585, 590, 2802, 2802, 590, 2802, 590, 590, 590,
2419 590, 2802, 590, 590, 591, 591, 2802, 591, 591, 591,
2420 591, 591, 591, 591, 591, 591, 595, 2802, 2802, 595,
2421 2802, 595, 595, 595, 595, 2802, 595, 595, 596, 596,
2422
2423 2802, 596, 596, 596, 596, 596, 596, 596, 596, 596,
2424 600, 2802, 2802, 600, 600, 600, 600, 600, 600, 600,
2425 600, 600, 601, 2802, 2802, 601, 601, 601, 601, 601,
2426 601, 601, 601, 601, 602, 602, 2802, 602, 602, 602,
2427 602, 602, 602, 602, 602, 602, 603, 603, 2802, 603,
2428 603, 603, 603, 603, 603, 603, 603, 603, 614, 2802,
2429 2802, 614, 2802, 614, 614, 2802, 614, 2802, 614, 614,
2430 615, 2802, 2802, 615, 2802, 615, 615, 2802, 615, 2802,
2431 615, 615, 616, 2802, 2802, 616, 2802, 616, 616, 2802,
2432 616, 2802, 616, 616, 617, 2802, 2802, 617, 2802, 617,
2433
2434 617, 2802, 617, 2802, 617, 617, 618, 2802, 2802, 618,
2435 2802, 618, 618, 618, 618, 2802, 618, 618, 619, 619,
2436 2802, 619, 619, 619, 619, 619, 619, 619, 619, 619,
2437 623, 2802, 2802, 623, 2802, 623, 623, 623, 623, 2802,
2438 623, 623, 624, 624, 2802, 624, 624, 624, 624, 624,
2439 624, 624, 624, 624, 634, 2802, 2802, 634, 2802, 634,
2440 634, 634, 634, 2802, 634, 634, 635, 635, 2802, 635,
2441 635, 635, 635, 635, 635, 635, 635, 635, 643, 643,
2442 2802, 643, 2802, 643, 643, 644, 2802, 2802, 644, 2802,
2443 644, 644, 644, 644, 644, 644, 644, 645, 645, 2802,
2444
2445 645, 645, 645, 645, 645, 645, 645, 645, 645, 650,
2446 2802, 650, 650, 2802, 650, 650, 2802, 2802, 2802, 650,
2447 650, 651, 651, 651, 651, 651, 651, 651, 651, 651,
2448 651, 651, 651, 420, 2802, 2802, 420, 2802, 420, 420,
2449 2802, 420, 420, 420, 420, 970, 970, 2802, 970, 970,
2450 970, 970, 970, 970, 970, 970, 970, 1167, 1167, 2802,
2451 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1238,
2452 1238, 2802, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238,
2453 1238, 1325, 2802, 2802, 1325, 2802, 1325, 1325, 1325, 1325,
2454 1325, 1325, 1325, 1330, 2802, 2802, 1330, 2802, 1330, 1330,
2455
2456 1330, 1330, 1330, 1330, 1330, 1388, 1388, 2802, 1388, 1388,
2457 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1418, 1418, 2802,
2458 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1453,
2459 1453, 2802, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453,
2460 1453, 1482, 2802, 2802, 1482, 2802, 1482, 1482, 2802, 1482,
2461 2802, 1482, 1482, 1505, 1505, 2802, 1505, 1505, 1505, 1505,
2462 1505, 1505, 1505, 1505, 1505, 1570, 1570, 2802, 1570, 1570,
2463 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1629, 1629, 2802,
2464 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1634,
2465 1634, 2802, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634,
2466
2467 1634, 2172, 2172, 2802, 2172, 2172, 2172, 2172, 2172, 2172,
2468 2172, 2172, 2172, 2241, 2241, 2802, 2241, 2241, 2241, 2241,
2469 2241, 2241, 2241, 2241, 2241, 2314, 2314, 2802, 2314, 2314,
2470 2314, 2314, 2314, 2314, 2314, 2314, 2314, 2379, 2379, 2802,
2471 2379, 2379, 2379, 2379, 2379, 2379, 2379, 2379, 2379, 2405,
2472 2405, 2802, 2405, 2405, 2405, 2405, 2405, 2405, 2405, 2405,
2473 2405, 2441, 2441, 2802, 2441, 2441, 2441, 2441, 2441, 2441,
2474 2441, 2441, 2441, 2455, 2455, 2802, 2455, 2455, 2455, 2455,
2475 2455, 2455, 2455, 2455, 2455, 2491, 2491, 2802, 2491, 2491,
2476 2491, 2491, 2491, 2491, 2491, 2491, 2491, 2507, 2507, 2802,
2477
2478 2507, 2507, 2507, 2507, 2507, 2507, 2507, 2507, 2507, 2541,
2479 2541, 2802, 2541, 2541, 2541, 2541, 2541, 2541, 2541, 2541,
2480 2541, 2550, 2550, 2802, 2550, 2550, 2550, 2550, 2550, 2550,
2481 2550, 2550, 2550, 2584, 2584, 2802, 2584, 2584, 2584, 2584,
2482 2584, 2584, 2584, 2584, 2584, 99, 2802, 2802, 2802, 2802,
2483 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
2484 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
2485 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
2486 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
2487 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
2488
2489 2802
2490 } ;
2491
2492 static yyconst flex_int16_t yy_chk[7302] =
2493 { 0,
2494 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2495 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2496 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2497 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2498 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2499 1, 1, 1, 1, 1, 2, 5, 9, 2, 10,
2500 37, 937, 15, 5, 21, 22, 101, 39, 29, 101,
2501 9, 9, 10, 10, 105, 105, 15, 15, 15, 39,
2502 21, 22, 15, 37, 40, 2, 2, 29, 9, 37,
2503 10, 2, 15, 939, 21, 22, 40, 29, 2, 29,
2504
2505 2, 2, 3, 3, 3, 3, 3, 3, 3, 3,
2506 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
2507 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
2508 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
2509 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
2510 3, 3, 3, 3, 3, 3, 3, 4, 67, 16,
2511 4, 6, 123, 41, 6, 30, 42, 125, 49, 137,
2512 106, 123, 38, 16, 16, 16, 125, 50, 137, 16,
2513 41, 67, 41, 42, 30, 42, 68, 4, 4, 16,
2514 49, 6, 6, 4, 30, 38, 30, 6, 43, 50,
2515
2516 4, 38, 4, 4, 6, 69, 6, 6, 7, 68,
2517 124, 7, 106, 97, 43, 120, 120, 185, 70, 69,
2518 185, 7, 7, 7, 7, 97, 124, 43, 43, 69,
2519 136, 43, 70, 7, 7, 7, 7, 7, 7, 7,
2520 7, 7, 70, 7, 7, 7, 136, 7, 44, 7,
2521 7, 7, 7, 7, 127, 681, 7, 13, 13, 127,
2522 13, 25, 13, 155, 44, 155, 13, 13, 13, 13,
2523 13, 13, 13, 13, 25, 26, 128, 44, 44, 25,
2524 681, 44, 83, 25, 13, 25, 157, 25, 26, 25,
2525 128, 157, 25, 26, 83, 98, 83, 26, 71, 26,
2526
2527 161, 26, 83, 26, 142, 142, 26, 98, 83, 161,
2528 13, 14, 14, 72, 14, 71, 14, 93, 71, 115,
2529 14, 14, 14, 14, 14, 14, 14, 14, 71, 71,
2530 72, 115, 87, 72, 84, 116, 116, 93, 14, 153,
2531 93, 93, 116, 72, 72, 93, 84, 192, 84, 941,
2532 114, 153, 87, 114, 84, 192, 114, 114, 158, 158,
2533 84, 87, 87, 87, 14, 17, 17, 17, 17, 17,
2534 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
2535 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
2536 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
2537
2538 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
2539 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
2540 19, 19, 88, 19, 942, 19, 94, 118, 162, 19,
2541 19, 19, 19, 19, 19, 19, 19, 19, 165, 118,
2542 118, 118, 88, 165, 162, 328, 94, 19, 328, 94,
2543 94, 88, 88, 88, 94, 107, 107, 107, 107, 107,
2544 107, 107, 107, 154, 154, 122, 121, 121, 166, 122,
2545 154, 121, 944, 19, 20, 20, 121, 20, 122, 20,
2546 945, 121, 166, 20, 20, 20, 20, 20, 20, 20,
2547 20, 20, 113, 160, 126, 946, 141, 160, 126, 141,
2548
2549 113, 20, 113, 133, 141, 113, 160, 126, 163, 113,
2550 126, 133, 134, 133, 174, 134, 133, 163, 134, 134,
2551 133, 172, 343, 174, 947, 343, 172, 20, 23, 23,
2552 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
2553 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
2554 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
2555 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
2556 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
2557 23, 23, 23, 31, 31, 387, 31, 132, 31, 387,
2558 132, 949, 31, 31, 31, 31, 31, 31, 31, 31,
2559
2560 31, 156, 152, 138, 813, 152, 813, 138, 152, 152,
2561 31, 951, 151, 156, 156, 156, 138, 132, 132, 138,
2562 151, 171, 151, 132, 171, 151, 876, 171, 171, 151,
2563 132, 243, 132, 132, 366, 361, 31, 32, 32, 876,
2564 32, 356, 32, 366, 356, 243, 32, 32, 32, 32,
2565 32, 32, 32, 32, 32, 144, 144, 144, 144, 144,
2566 144, 144, 144, 164, 32, 159, 159, 164, 173, 175,
2567 159, 198, 248, 175, 198, 159, 164, 361, 217, 164,
2568 159, 217, 175, 453, 173, 175, 248, 453, 198, 953,
2569 32, 33, 33, 647, 33, 217, 33, 177, 179, 647,
2570
2571 33, 33, 33, 33, 33, 33, 33, 33, 33, 170,
2572 177, 179, 430, 177, 179, 373, 373, 170, 33, 170,
2573 954, 430, 170, 437, 437, 955, 170, 188, 188, 188,
2574 188, 188, 188, 188, 188, 200, 200, 200, 200, 200,
2575 200, 200, 200, 956, 33, 34, 34, 688, 34, 486,
2576 34, 957, 486, 958, 34, 34, 34, 34, 34, 34,
2577 34, 34, 34, 219, 219, 219, 219, 219, 219, 219,
2578 219, 223, 34, 879, 223, 225, 225, 225, 225, 225,
2579 225, 225, 225, 249, 229, 879, 688, 229, 223, 231,
2580 231, 231, 231, 231, 231, 231, 231, 249, 34, 35,
2581
2582 35, 229, 35, 244, 35, 247, 244, 247, 35, 35,
2583 35, 35, 35, 35, 35, 35, 35, 254, 256, 250,
2584 244, 247, 250, 253, 257, 253, 35, 257, 260, 261,
2585 260, 254, 256, 262, 263, 267, 250, 263, 690, 253,
2586 960, 257, 690, 261, 260, 268, 273, 262, 892, 267,
2587 961, 263, 35, 36, 36, 266, 36, 266, 36, 268,
2588 273, 892, 36, 36, 36, 36, 36, 36, 36, 36,
2589 36, 266, 269, 274, 272, 269, 272, 278, 275, 278,
2590 36, 275, 279, 281, 299, 288, 281, 274, 288, 269,
2591 272, 304, 943, 278, 294, 275, 279, 294, 299, 303,
2592
2593 281, 303, 288, 962, 943, 304, 36, 45, 45, 754,
2594 45, 294, 45, 754, 963, 303, 45, 45, 45, 45,
2595 45, 45, 45, 45, 45, 283, 283, 283, 283, 283,
2596 283, 283, 283, 745, 45, 290, 290, 290, 290, 290,
2597 290, 290, 290, 296, 296, 296, 296, 296, 296, 296,
2598 296, 300, 315, 541, 300, 315, 645, 964, 745, 645,
2599 45, 46, 46, 752, 46, 966, 46, 541, 300, 315,
2600 46, 46, 46, 46, 46, 46, 46, 46, 46, 317,
2601 317, 317, 317, 317, 317, 317, 317, 321, 46, 967,
2602 321, 323, 323, 323, 323, 323, 323, 323, 323, 548,
2603
2604 332, 968, 752, 332, 321, 334, 334, 334, 334, 334,
2605 334, 334, 334, 548, 46, 47, 47, 332, 47, 665,
2606 47, 971, 665, 972, 47, 47, 47, 47, 47, 47,
2607 47, 47, 47, 362, 362, 362, 362, 362, 362, 362,
2608 362, 393, 47, 395, 417, 970, 395, 973, 461, 422,
2609 393, 461, 422, 417, 940, 874, 393, 422, 407, 417,
2610 395, 407, 459, 727, 970, 461, 727, 940, 47, 48,
2611 48, 459, 48, 500, 48, 779, 500, 459, 48, 48,
2612 48, 48, 48, 48, 48, 48, 48, 974, 407, 407,
2613 500, 779, 874, 938, 407, 977, 48, 518, 847, 556,
2614
2615 518, 407, 847, 407, 407, 427, 427, 427, 427, 427,
2616 427, 427, 427, 556, 518, 563, 476, 864, 965, 965,
2617 979, 864, 48, 51, 51, 476, 51, 981, 51, 563,
2618 938, 476, 51, 51, 51, 51, 51, 51, 51, 51,
2619 51, 489, 489, 489, 489, 489, 489, 489, 489, 982,
2620 51, 502, 502, 502, 502, 502, 502, 502, 502, 520,
2621 520, 520, 520, 520, 520, 520, 520, 523, 528, 570,
2622 523, 528, 984, 985, 986, 910, 51, 52, 52, 910,
2623 52, 987, 52, 570, 523, 528, 52, 52, 52, 52,
2624 52, 52, 52, 52, 52, 525, 525, 525, 525, 525,
2625
2626 525, 525, 525, 577, 52, 530, 530, 530, 530, 530,
2627 530, 530, 530, 600, 991, 992, 543, 577, 550, 543,
2628 558, 550, 565, 558, 928, 565, 983, 600, 928, 993,
2629 52, 53, 53, 543, 53, 550, 53, 558, 994, 565,
2630 53, 53, 53, 53, 53, 53, 53, 53, 53, 572,
2631 579, 585, 572, 579, 585, 983, 995, 996, 53, 997,
2632 591, 596, 602, 591, 596, 602, 572, 579, 585, 587,
2633 587, 587, 587, 587, 587, 587, 587, 591, 596, 602,
2634 950, 998, 999, 1000, 53, 54, 54, 1003, 54, 1004,
2635 54, 1005, 1007, 950, 54, 54, 54, 54, 54, 54,
2636
2637 54, 54, 54, 593, 593, 593, 593, 593, 593, 593,
2638 593, 1008, 54, 598, 598, 598, 598, 598, 598, 598,
2639 598, 1009, 1010, 1011, 619, 1012, 1013, 619, 621, 621,
2640 621, 621, 621, 621, 621, 621, 1015, 1016, 54, 55,
2641 55, 619, 55, 624, 55, 1017, 624, 1018, 55, 55,
2642 55, 55, 55, 55, 55, 55, 55, 1020, 635, 1022,
2643 624, 635, 1023, 1025, 1026, 1027, 55, 626, 626, 626,
2644 626, 626, 626, 626, 626, 635, 637, 637, 637, 637,
2645 637, 637, 637, 637, 1001, 1001, 1001, 1001, 1021, 1028,
2646 1029, 1030, 55, 56, 56, 1031, 56, 1021, 56, 1032,
2647
2648 1033, 1001, 56, 56, 56, 56, 56, 56, 56, 56,
2649 56, 1002, 1002, 1002, 1002, 1034, 1035, 1036, 1037, 1039,
2650 56, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1002, 1047,
2651 1048, 1049, 1050, 1051, 1052, 1051, 1053, 1051, 1054, 1056,
2652 1057, 1059, 1051, 1061, 1060, 1062, 56, 57, 57, 1066,
2653 57, 1067, 57, 1060, 1069, 1070, 57, 57, 57, 57,
2654 57, 57, 57, 57, 57, 1071, 1063, 1063, 1063, 1063,
2655 1064, 1064, 1064, 1064, 57, 1072, 1073, 1065, 1074, 1075,
2656 1065, 1077, 1062, 1063, 1065, 1065, 1078, 1064, 1079, 1080,
2657 1081, 1083, 1084, 1085, 1086, 1088, 1089, 1090, 1091, 1092,
2658
2659 57, 58, 58, 1093, 58, 1094, 58, 1095, 1096, 1097,
2660 58, 58, 58, 58, 58, 58, 58, 58, 58, 1098,
2661 1099, 1100, 1102, 1103, 1104, 1105, 1106, 1107, 58, 1108,
2662 1109, 1110, 1111, 1112, 1113, 1114, 1116, 1114, 1117, 1114,
2663 1118, 1120, 1119, 1121, 1114, 1122, 1123, 1124, 1125, 1126,
2664 1127, 1129, 1130, 1132, 58, 59, 59, 1133, 59, 1134,
2665 59, 1135, 1136, 1138, 59, 59, 59, 59, 59, 59,
2666 59, 59, 59, 1139, 1137, 1140, 1141, 1142, 59, 1119,
2667 1143, 1144, 59, 1137, 1145, 1146, 1147, 1148, 1150, 1151,
2668 1144, 1152, 1155, 1156, 1157, 1158, 1159, 1160, 1161, 1152,
2669
2670 1162, 1167, 1168, 1169, 1170, 1172, 1173, 1174, 59, 60,
2671 60, 1175, 60, 1176, 60, 1177, 1174, 1178, 60, 60,
2672 60, 60, 60, 60, 60, 60, 60, 1163, 1163, 1163,
2673 1163, 1179, 60, 1180, 1181, 1182, 60, 1165, 1165, 1165,
2674 1165, 1184, 1185, 1186, 1163, 1187, 1187, 1188, 1189, 1190,
2675 1191, 1192, 1193, 1194, 1165, 1195, 1196, 1197, 1190, 1198,
2676 1199, 1200, 60, 61, 61, 1201, 61, 1203, 61, 1196,
2677 1204, 1205, 61, 61, 61, 61, 61, 61, 61, 61,
2678 61, 1206, 1207, 1208, 1209, 1210, 1211, 1212, 1214, 1215,
2679 61, 1216, 1218, 1219, 1220, 1221, 1222, 1223, 1224, 1225,
2680
2681 1226, 1227, 1228, 1230, 1232, 1238, 1239, 1240, 1231, 1241,
2682 1233, 1243, 1244, 1246, 1245, 1247, 61, 62, 62, 1248,
2683 62, 1249, 62, 1245, 1250, 1251, 62, 62, 62, 62,
2684 62, 62, 62, 62, 62, 1252, 1231, 1233, 1234, 1234,
2685 1234, 1234, 1254, 1256, 62, 1231, 1236, 1236, 1236, 1236,
2686 1233, 1257, 1258, 1258, 1259, 1234, 1260, 1261, 1262, 1263,
2687 1264, 1265, 1266, 1236, 1267, 1268, 1261, 1269, 1270, 1271,
2688 62, 63, 63, 1272, 63, 1274, 63, 1267, 1275, 1276,
2689 63, 63, 63, 63, 63, 63, 63, 63, 63, 1277,
2690 1278, 1279, 1280, 1281, 1282, 1283, 1285, 1286, 63, 1287,
2691
2692 1288, 1289, 1290, 1288, 1291, 1292, 1293, 1294, 1288, 1295,
2693 1296, 1297, 1299, 1300, 1301, 1302, 1298, 1303, 1304, 1305,
2694 1306, 1307, 1308, 1309, 63, 64, 64, 1310, 64, 1312,
2695 64, 1313, 1314, 1315, 64, 64, 64, 64, 64, 64,
2696 64, 64, 64, 1317, 1298, 1318, 1319, 1320, 1322, 1324,
2697 1326, 1327, 64, 1298, 1328, 1329, 1331, 1332, 1333, 1335,
2698 1337, 1338, 1339, 1340, 1341, 1342, 1343, 1344, 1345, 1347,
2699 1339, 1348, 1350, 1351, 1352, 1354, 1355, 1356, 64, 65,
2700 65, 1357, 65, 1358, 65, 1359, 1360, 1361, 65, 65,
2701 65, 65, 65, 65, 65, 65, 65, 1353, 1362, 1363,
2702
2703 1364, 1365, 1353, 1366, 1367, 1368, 65, 1369, 1370, 1371,
2704 1353, 1372, 1373, 1376, 1378, 1379, 1380, 1381, 1382, 1383,
2705 1365, 1384, 1385, 1386, 1387, 1388, 1388, 1389, 1391, 1392,
2706 1393, 1394, 65, 66, 66, 1395, 66, 1396, 66, 1397,
2707 1398, 1399, 66, 66, 66, 66, 66, 66, 66, 66,
2708 66, 1402, 1403, 1404, 1405, 1406, 1407, 1408, 1409, 1410,
2709 66, 1404, 1412, 1413, 1414, 1415, 1416, 1414, 1417, 1419,
2710 1420, 1421, 1414, 1422, 1419, 1423, 1424, 1425, 1426, 1427,
2711 1428, 1429, 1419, 1431, 1432, 1433, 66, 73, 73, 73,
2712 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
2713
2714 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
2715 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
2716 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
2717 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
2718 73, 73, 77, 77, 77, 77, 77, 77, 77, 77,
2719 77, 77, 77, 77, 77, 77, 77, 77, 77, 77,
2720 77, 77, 77, 77, 77, 77, 77, 77, 77, 77,
2721 77, 77, 77, 77, 77, 77, 77, 77, 77, 77,
2722 77, 77, 77, 77, 77, 77, 77, 77, 77, 77,
2723 77, 77, 77, 77, 77, 77, 77, 79, 79, 1400,
2724
2725 79, 1401, 79, 1430, 1434, 1435, 79, 79, 79, 79,
2726 79, 79, 79, 79, 79, 1436, 1437, 1438, 1441, 1443,
2727 1444, 1445, 1430, 1446, 79, 1447, 1400, 1448, 1401, 1449,
2728 1450, 1451, 1452, 1453, 1453, 1454, 1456, 1457, 1458, 1400,
2729 1459, 1401, 1460, 1461, 1462, 1463, 1465, 1466, 1468, 1469,
2730 79, 80, 80, 1471, 80, 1472, 80, 1474, 1475, 1477,
2731 80, 80, 80, 80, 80, 80, 80, 80, 80, 1478,
2732 1480, 1480, 1481, 1483, 1485, 1486, 1487, 1488, 80, 1489,
2733 1490, 1491, 1493, 1495, 1496, 1497, 1498, 1499, 1500, 1501,
2734 1502, 1503, 1504, 1505, 1507, 1508, 1508, 1508, 1508, 1509,
2735
2736 1510, 1511, 1508, 1512, 80, 81, 81, 1514, 81, 1515,
2737 81, 1517, 1508, 1518, 81, 81, 81, 81, 81, 81,
2738 81, 81, 81, 1513, 1513, 1513, 1513, 1516, 81, 1519,
2739 1513, 1520, 81, 1516, 1521, 1522, 1523, 1524, 1525, 1526,
2740 1513, 1527, 1530, 1531, 1532, 1530, 1533, 1534, 1535, 1530,
2741 1536, 1538, 1540, 1541, 1544, 1545, 1546, 1548, 81, 82,
2742 82, 1549, 82, 1550, 82, 1551, 1552, 1553, 82, 82,
2743 82, 82, 82, 82, 82, 82, 82, 1554, 1543, 1547,
2744 1555, 1543, 82, 1556, 1557, 1547, 82, 1543, 1543, 1547,
2745 1558, 1559, 1560, 1561, 1562, 1547, 1563, 1564, 1565, 1566,
2746
2747 1567, 1568, 1569, 1570, 1572, 1574, 1575, 1576, 1578, 1579,
2748 1581, 1580, 82, 85, 85, 1582, 85, 1580, 85, 1583,
2749 1584, 1585, 85, 85, 85, 85, 85, 85, 85, 85,
2750 85, 1573, 1573, 1573, 1573, 1586, 1587, 1588, 1573, 1589,
2751 85, 1590, 1577, 1577, 1577, 1577, 1591, 1594, 1573, 1577,
2752 1594, 1595, 1596, 1597, 1594, 1598, 1599, 1600, 1602, 1577,
2753 1604, 1605, 1608, 1609, 1610, 1612, 85, 86, 86, 1613,
2754 86, 1614, 86, 1615, 1616, 1617, 86, 86, 86, 86,
2755 86, 86, 86, 86, 86, 1618, 1607, 1611, 1619, 1607,
2756 1621, 1622, 1623, 1611, 86, 1607, 1607, 1611, 1624, 1626,
2757
2758 1627, 1629, 1633, 1611, 1635, 1636, 1637, 1638, 1639, 1640,
2759 1641, 1642, 1643, 1644, 1647, 1649, 1650, 1651, 1652, 1653,
2760 86, 89, 89, 89, 89, 89, 89, 89, 89, 89,
2761 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
2762 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
2763 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
2764 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
2765 89, 89, 89, 89, 89, 89, 91, 91, 1658, 91,
2766 1659, 91, 1660, 1666, 1667, 91, 91, 91, 91, 91,
2767 91, 91, 91, 91, 1648, 1668, 1648, 1655, 1655, 1655,
2768
2769 1655, 1656, 1648, 91, 1662, 1662, 1662, 1662, 1669, 1656,
2770 1670, 1656, 1671, 1670, 1655, 1656, 1672, 1656, 1656, 1656,
2771 1656, 1662, 1670, 1673, 1674, 1675, 1676, 1677, 1678, 91,
2772 92, 92, 1679, 92, 1680, 92, 1681, 1682, 1683, 92,
2773 92, 92, 92, 92, 92, 92, 92, 92, 1663, 1686,
2774 1687, 1688, 1689, 1690, 1692, 1693, 1663, 92, 1663, 1694,
2775 1695, 1696, 1663, 1697, 1698, 1663, 1663, 1663, 1699, 1700,
2776 1701, 1702, 1703, 1704, 1705, 1706, 1707, 1708, 1709, 1710,
2777 1711, 1712, 1713, 92, 95, 95, 1714, 95, 1715, 95,
2778 1716, 1719, 95, 95, 95, 95, 95, 95, 95, 95,
2779
2780 95, 95, 1720, 1721, 1720, 1722, 1723, 1724, 1725, 1728,
2781 1720, 95, 1727, 1727, 1727, 1727, 1730, 1728, 1731, 1728,
2782 1732, 1737, 1738, 1728, 1739, 1728, 1728, 1728, 1728, 1727,
2783 1740, 1742, 1741, 1743, 1744, 1741, 1745, 95, 96, 96,
2784 1746, 96, 1747, 96, 1741, 1748, 96, 96, 96, 96,
2785 96, 96, 96, 96, 96, 96, 1733, 1733, 1733, 1733,
2786 1734, 1749, 1750, 1751, 1752, 96, 1753, 1754, 1734, 1757,
2787 1734, 1758, 1759, 1733, 1734, 1760, 1761, 1734, 1734, 1734,
2788 1763, 1764, 1765, 1766, 1767, 1768, 1769, 1770, 1771, 1772,
2789 1773, 96, 143, 143, 143, 143, 143, 143, 143, 143,
2790
2791 143, 1774, 1775, 1776, 1777, 1778, 1779, 1781, 1782, 1783,
2792 1784, 1785, 1786, 1787, 1789, 1791, 1792, 1793, 1794, 1796,
2793 1799, 1800, 1801, 1802, 1803, 1804, 1805, 1806, 1807, 1809,
2794 1810, 1811, 1812, 1813, 1814, 143, 187, 187, 187, 187,
2795 187, 187, 187, 187, 1815, 1816, 1817, 1818, 1819, 1820,
2796 1821, 1822, 1823, 1824, 1825, 1826, 1827, 1829, 1830, 1831,
2797 1832, 1833, 1835, 1836, 1837, 1838, 1839, 1840, 1841, 1842,
2798 1843, 1844, 1845, 1846, 1847, 1848, 1849, 1850, 187, 199,
2799 199, 199, 199, 199, 199, 199, 199, 1851, 1852, 1853,
2800 1854, 1855, 1856, 1857, 1858, 1859, 1860, 1861, 1862, 1863,
2801
2802 1864, 1865, 1866, 1867, 1868, 1869, 1870, 1871, 1872, 1873,
2803 1876, 1877, 1878, 1879, 1880, 1881, 1882, 1883, 1884, 1886,
2804 1887, 199, 218, 218, 218, 218, 218, 218, 218, 218,
2805 1888, 1889, 1890, 1891, 1892, 1893, 1894, 1895, 1896, 1897,
2806 1898, 1899, 1900, 1901, 1902, 1903, 1904, 1906, 1907, 1908,
2807 1909, 1910, 1912, 1913, 1914, 1915, 1916, 1917, 1918, 1919,
2808 1920, 1921, 1922, 1923, 218, 224, 224, 224, 224, 224,
2809 224, 224, 224, 1924, 1925, 1926, 1927, 1928, 1929, 1930,
2810 1931, 1932, 1933, 1934, 1935, 1936, 1937, 1938, 1939, 1940,
2811 1941, 1942, 1943, 1944, 1945, 1946, 1948, 1949, 1950, 1951,
2812
2813 1952, 1954, 1955, 1956, 1957, 1959, 1960, 224, 230, 230,
2814 230, 230, 230, 230, 230, 230, 1961, 1962, 1963, 1964,
2815 1965, 1966, 1967, 1968, 1969, 1970, 1971, 1972, 1973, 1974,
2816 1975, 1976, 1977, 1978, 1979, 1980, 1981, 1982, 1983, 1984,
2817 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1995,
2818 230, 245, 1996, 1994, 1990, 1997, 1998, 245, 245, 245,
2819 245, 245, 245, 245, 245, 245, 1994, 1999, 2000, 2002,
2820 2003, 2004, 2007, 2009, 2010, 2011, 2012, 2014, 2015, 2016,
2821 2017, 2018, 2020, 2021, 2022, 2023, 2025, 2026, 2026, 2027,
2822 2028, 2029, 2030, 2031, 2032, 2033, 2034, 2035, 2037, 245,
2823
2824 251, 2039, 2040, 2041, 2042, 2043, 251, 251, 251, 251,
2825 251, 251, 251, 251, 251, 2044, 2045, 2046, 2047, 2048,
2826 2049, 2050, 2051, 2052, 2053, 2054, 2055, 2056, 2057, 2058,
2827 2059, 2060, 2061, 2062, 2063, 2064, 2065, 2066, 2067, 2068,
2828 2069, 2070, 2071, 2072, 2073, 2075, 2076, 2077, 251, 258,
2829 2070, 2074, 2078, 2079, 2080, 258, 258, 258, 258, 258,
2830 258, 258, 258, 258, 2074, 2082, 2083, 2084, 2087, 2089,
2831 2090, 2091, 2092, 2094, 2095, 2092, 2096, 2097, 2098, 2100,
2832 2092, 2101, 2102, 2103, 2105, 2106, 2106, 2107, 2108, 2092,
2833 2109, 2110, 2111, 2112, 2113, 2114, 2115, 258, 264, 2117,
2834
2835 2120, 2121, 2122, 2123, 264, 264, 264, 264, 264, 264,
2836 264, 264, 264, 2124, 2125, 2126, 2127, 2128, 2129, 2130,
2837 2132, 2133, 2134, 2136, 2137, 2138, 2139, 2140, 2141, 2142,
2838 2143, 2145, 2146, 2147, 2148, 2149, 2150, 2151, 2152, 2153,
2839 2154, 2155, 2156, 2157, 2158, 2159, 264, 270, 2160, 2161,
2840 2162, 2163, 2164, 270, 270, 270, 270, 270, 270, 270,
2841 270, 270, 2165, 2166, 2167, 2168, 2169, 2171, 2172, 2165,
2842 2173, 2174, 2175, 2176, 2177, 2178, 2179, 2180, 2181, 2182,
2843 2183, 2184, 2185, 2186, 2187, 2188, 2189, 2191, 2192, 2193,
2844 2194, 2195, 2196, 2197, 2198, 270, 276, 2199, 2201, 2202,
2845
2846 2203, 2205, 276, 276, 276, 276, 276, 276, 276, 276,
2847 276, 2206, 2207, 2208, 2209, 2210, 2211, 2212, 2214, 2215,
2848 2216, 2217, 2218, 2219, 2220, 2221, 2222, 2223, 2224, 2225,
2849 2226, 2227, 2228, 2229, 2230, 2231, 2232, 2233, 2235, 2236,
2850 2237, 2238, 2240, 2243, 276, 282, 282, 282, 282, 282,
2851 282, 282, 282, 2234, 2241, 2242, 2244, 2241, 2242, 2245,
2852 2234, 2246, 2241, 2242, 2247, 2248, 2249, 2250, 2251, 2252,
2853 2253, 2241, 2242, 2254, 2255, 2256, 2257, 2258, 2260, 2261,
2854 2262, 2266, 2267, 2269, 2270, 2271, 2272, 282, 289, 289,
2855 289, 289, 289, 289, 289, 289, 2273, 2274, 2275, 2277,
2856
2857 2278, 2280, 2281, 2282, 2283, 2285, 2286, 2288, 2289, 2290,
2858 2291, 2292, 2293, 2294, 2295, 2296, 2297, 2298, 2299, 2303,
2859 2304, 2307, 2308, 2309, 2310, 2313, 2314, 2315, 2316, 2317,
2860 289, 295, 295, 295, 295, 295, 295, 295, 295, 2319,
2861 2320, 2322, 2323, 2324, 2325, 2326, 2327, 2328, 2329, 2330,
2862 2332, 2333, 2334, 2335, 2336, 2337, 2338, 2339, 2337, 2340,
2863 2342, 2343, 2345, 2337, 2346, 2347, 2348, 2350, 2351, 2353,
2864 2354, 2355, 2337, 295, 301, 2356, 2357, 2358, 2359, 2360,
2865 301, 301, 301, 301, 301, 301, 301, 301, 301, 2361,
2866 2362, 2363, 2364, 2368, 2369, 2372, 2373, 2374, 2375, 2378,
2867
2868 2379, 2380, 2381, 2379, 2380, 2382, 2384, 2385, 2379, 2380,
2869 2387, 2386, 2388, 2389, 2386, 2390, 2391, 2379, 2380, 2386,
2870 2392, 2393, 301, 312, 2394, 2395, 312, 2397, 312, 312,
2871 312, 312, 2398, 312, 312, 312, 312, 312, 312, 312,
2872 312, 2399, 312, 312, 312, 2400, 2402, 2403, 2404, 2405,
2873 2406, 312, 312, 2407, 2408, 2409, 2411, 2412, 2413, 2414,
2874 2416, 2417, 2418, 2419, 2420, 2421, 2422, 2423, 2424, 2425,
2875 2423, 2426, 2427, 2428, 2429, 2430, 2432, 312, 313, 2423,
2876 2433, 313, 2434, 313, 313, 313, 313, 2436, 313, 313,
2877 313, 313, 313, 313, 313, 313, 2437, 313, 313, 313,
2878
2879 2439, 2440, 2441, 2442, 2441, 2444, 313, 313, 2447, 2448,
2880 2450, 2441, 2451, 2452, 2453, 2454, 2457, 2458, 2459, 2461,
2881 2462, 2463, 2464, 2466, 2467, 2468, 2469, 2470, 2471, 2472,
2882 2474, 2475, 313, 316, 316, 316, 316, 316, 316, 316,
2883 316, 2455, 2456, 2473, 2455, 2456, 2473, 2476, 2477, 2455,
2884 2456, 2478, 2479, 2480, 2482, 2473, 2483, 2484, 2455, 2456,
2885 2486, 2487, 2489, 2490, 2491, 2492, 2491, 2494, 2497, 2498,
2886 2500, 2501, 2502, 2491, 2504, 316, 322, 322, 322, 322,
2887 322, 322, 322, 322, 2493, 2505, 2506, 2493, 2507, 2508,
2888 2509, 2510, 2493, 2511, 2513, 2514, 2515, 2517, 2518, 2519,
2889
2890 2520, 2521, 2522, 2523, 2525, 2518, 2526, 2527, 2528, 2529,
2891 2530, 2531, 2533, 2534, 2536, 2537, 2538, 2539, 322, 333,
2892 333, 333, 333, 333, 333, 333, 333, 2540, 2541, 2541,
2893 2543, 2544, 2545, 2547, 2548, 2549, 2550, 2551, 2552, 2550,
2894 2551, 2553, 2554, 2556, 2550, 2551, 2557, 2558, 2560, 2561,
2895 2562, 2563, 2564, 2550, 2551, 2565, 2561, 2566, 2568, 2569,
2896 2570, 333, 352, 352, 2571, 352, 2572, 2573, 2574, 2576,
2897 352, 352, 352, 352, 352, 352, 352, 352, 352, 352,
2898 426, 426, 426, 426, 426, 426, 426, 426, 2577, 2579,
2899 2580, 2581, 2582, 2583, 2584, 2584, 2586, 2587, 2588, 2590,
2900
2901 2593, 2594, 2595, 2596, 2597, 2598, 2599, 2600, 2601, 2602,
2902 2603, 2604, 2605, 2606, 2607, 2611, 2613, 2614, 2615, 2616,
2903 2617, 2618, 426, 428, 428, 428, 428, 428, 428, 428,
2904 428, 2619, 2620, 2622, 2623, 428, 428, 428, 2624, 2625,
2905 2626, 2627, 2629, 428, 428, 428, 428, 428, 428, 488,
2906 488, 488, 488, 488, 488, 488, 488, 2630, 2631, 2632,
2907 2633, 2634, 2635, 2636, 2637, 2638, 2639, 2640, 2641, 2642,
2908 2643, 2647, 2649, 2650, 2651, 2652, 2653, 2654, 2655, 2656,
2909 2658, 2659, 2660, 2661, 2662, 2663, 2667, 2670, 2672, 2673,
2910 2674, 488, 490, 490, 490, 490, 490, 490, 490, 490,
2911
2912 2675, 2676, 2677, 2678, 490, 490, 490, 2679, 2680, 2681,
2913 2682, 2683, 490, 490, 490, 490, 490, 490, 501, 501,
2914 501, 501, 501, 501, 501, 501, 2684, 2687, 2688, 2689,
2915 2691, 2692, 2697, 2700, 2702, 2703, 2704, 2705, 2706, 2707,
2916 2708, 2709, 2710, 2711, 2712, 2713, 2714, 2717, 2718, 2719,
2917 2721, 2722, 2724, 2726, 2729, 2730, 2734, 2737, 2738, 2739,
2918 501, 503, 503, 503, 503, 503, 503, 503, 503, 2741,
2919 2742, 2744, 2747, 503, 503, 503, 2748, 2752, 2755, 2756,
2920 2757, 503, 503, 503, 503, 503, 503, 519, 519, 519,
2921 519, 519, 519, 519, 519, 2759, 2761, 2762, 2765, 2767,
2922
2923 2768, 2770, 2771, 2774, 2776, 2777, 2778, 2779, 2781, 2783,
2924 2784, 2786, 2789, 2790, 2792, 2793, 2794, 2796, 2798, 2799,
2925 936, 935, 934, 933, 932, 930, 929, 926, 925, 519,
2926 521, 521, 521, 521, 521, 521, 521, 521, 924, 923,
2927 922, 920, 521, 521, 521, 919, 918, 917, 916, 915,
2928 521, 521, 521, 521, 521, 521, 524, 524, 524, 524,
2929 524, 524, 524, 524, 914, 913, 912, 909, 908, 907,
2930 906, 905, 904, 903, 902, 901, 900, 899, 897, 896,
2931 895, 894, 893, 891, 889, 888, 887, 886, 885, 884,
2932 883, 882, 881, 880, 878, 877, 875, 873, 524, 526,
2933
2934 526, 526, 526, 526, 526, 526, 526, 872, 871, 870,
2935 869, 526, 526, 526, 868, 866, 865, 862, 861, 526,
2936 526, 526, 526, 526, 526, 529, 529, 529, 529, 529,
2937 529, 529, 529, 860, 859, 858, 856, 855, 854, 853,
2938 852, 851, 850, 849, 846, 845, 844, 843, 842, 841,
2939 840, 839, 838, 837, 836, 834, 833, 832, 831, 830,
2940 828, 827, 826, 825, 822, 821, 820, 529, 531, 531,
2941 531, 531, 531, 531, 531, 531, 819, 818, 816, 812,
2942 531, 531, 531, 811, 810, 809, 808, 807, 531, 531,
2943 531, 531, 531, 531, 545, 806, 805, 804, 802, 801,
2944
2945 545, 545, 545, 545, 545, 545, 545, 545, 545, 799,
2946 798, 797, 796, 795, 794, 793, 791, 790, 789, 788,
2947 787, 786, 785, 784, 783, 782, 781, 780, 778, 777,
2948 776, 775, 774, 773, 772, 771, 770, 769, 768, 765,
2949 764, 763, 545, 547, 762, 761, 760, 759, 758, 757,
2950 756, 755, 753, 751, 750, 547, 547, 547, 749, 748,
2951 747, 746, 744, 547, 547, 547, 547, 547, 547, 743,
2952 742, 741, 740, 739, 738, 737, 736, 735, 734, 733,
2953 732, 731, 730, 728, 726, 547, 552, 725, 724, 723,
2954 722, 721, 552, 552, 552, 552, 552, 552, 552, 552,
2955
2956 552, 720, 719, 718, 717, 716, 715, 714, 713, 712,
2957 711, 710, 709, 708, 707, 706, 705, 704, 701, 700,
2958 699, 698, 697, 696, 695, 694, 693, 692, 691, 689,
2959 687, 686, 685, 684, 552, 554, 683, 682, 680, 679,
2960 678, 677, 676, 675, 674, 673, 672, 554, 554, 554,
2961 671, 670, 669, 668, 666, 554, 554, 554, 554, 554,
2962 554, 664, 663, 662, 661, 660, 659, 658, 657, 656,
2963 655, 654, 653, 649, 648, 642, 641, 554, 560, 640,
2964 633, 632, 631, 630, 560, 560, 560, 560, 560, 560,
2965 560, 560, 560, 629, 628, 613, 612, 611, 610, 609,
2966
2967 608, 607, 605, 603, 589, 582, 580, 575, 573, 568,
2968 566, 561, 559, 555, 553, 551, 546, 544, 540, 539,
2969 538, 537, 536, 535, 534, 533, 560, 562, 532, 516,
2970 515, 514, 513, 512, 511, 510, 509, 508, 507, 562,
2971 562, 562, 505, 504, 498, 496, 495, 562, 562, 562,
2972 562, 562, 562, 494, 493, 492, 491, 484, 483, 482,
2973 481, 480, 479, 478, 477, 475, 474, 473, 472, 562,
2974 567, 471, 470, 469, 467, 466, 567, 567, 567, 567,
2975 567, 567, 567, 567, 567, 465, 464, 463, 462, 460,
2976 458, 457, 456, 455, 454, 452, 451, 450, 449, 448,
2977
2978 447, 446, 445, 444, 443, 442, 441, 440, 439, 438,
2979 436, 435, 434, 433, 432, 431, 429, 424, 567, 569,
2980 423, 419, 418, 416, 415, 414, 413, 412, 411, 410,
2981 409, 569, 569, 569, 408, 406, 405, 404, 403, 569,
2982 569, 569, 569, 569, 569, 401, 400, 399, 398, 397,
2983 396, 394, 392, 391, 390, 389, 388, 386, 385, 384,
2984 383, 569, 574, 382, 381, 380, 379, 378, 574, 574,
2985 574, 574, 574, 574, 574, 574, 574, 377, 376, 375,
2986 374, 372, 371, 370, 369, 368, 367, 365, 360, 359,
2987 355, 353, 349, 348, 347, 346, 344, 340, 339, 338,
2988
2989 337, 335, 330, 329, 327, 325, 324, 318, 311, 310,
2990 574, 576, 309, 308, 307, 306, 305, 302, 297, 291,
2991 285, 284, 277, 576, 576, 576, 271, 265, 259, 255,
2992 252, 576, 576, 576, 576, 576, 576, 246, 242, 241,
2993 240, 239, 238, 237, 236, 235, 234, 232, 226, 220,
2994 215, 214, 213, 576, 581, 212, 211, 210, 209, 208,
2995 581, 581, 581, 581, 581, 581, 581, 581, 581, 207,
2996 206, 204, 203, 201, 196, 195, 194, 193, 191, 189,
2997 183, 182, 181, 178, 176, 168, 167, 150, 149, 148,
2998 146, 140, 135, 130, 129, 119, 117, 112, 111, 110,
2999
3000 108, 103, 581, 583, 99, 76, 75, 28, 27, 12,
3001 11, 0, 0, 0, 0, 583, 583, 583, 0, 0,
3002 0, 0, 0, 583, 583, 583, 583, 583, 583, 0,
3003 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3004 0, 0, 0, 0, 0, 583, 586, 586, 586, 586,
3005 586, 586, 586, 586, 0, 0, 0, 0, 0, 0,
3006 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3007 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3008 0, 0, 0, 0, 0, 0, 0, 0, 586, 588,
3009 588, 588, 588, 588, 588, 588, 588, 0, 0, 0,
3010
3011 0, 588, 588, 588, 0, 0, 0, 0, 0, 588,
3012 588, 588, 588, 588, 588, 592, 592, 592, 592, 592,
3013 592, 592, 592, 0, 0, 0, 0, 0, 0, 0,
3014 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3015 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3016 0, 0, 0, 0, 0, 0, 0, 592, 594, 594,
3017 594, 594, 594, 594, 594, 594, 0, 0, 0, 0,
3018 594, 594, 594, 0, 0, 0, 0, 0, 594, 594,
3019 594, 594, 594, 594, 597, 597, 597, 597, 597, 597,
3020 597, 597, 0, 0, 0, 0, 0, 0, 0, 0,
3021
3022 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3023 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3024 0, 0, 0, 0, 0, 0, 597, 599, 599, 599,
3025 599, 599, 599, 599, 599, 0, 0, 0, 0, 599,
3026 599, 599, 0, 0, 0, 0, 0, 599, 599, 599,
3027 599, 599, 599, 604, 0, 0, 0, 0, 0, 604,
3028 604, 604, 604, 604, 604, 604, 604, 604, 0, 0,
3029 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3030 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3031 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3032
3033 0, 604, 606, 0, 0, 0, 0, 0, 0, 0,
3034 0, 0, 0, 0, 606, 606, 606, 0, 0, 0,
3035 0, 0, 606, 606, 606, 606, 606, 606, 0, 0,
3036 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3037 0, 0, 0, 0, 606, 615, 0, 0, 615, 0,
3038 615, 615, 615, 615, 0, 615, 615, 615, 615, 615,
3039 615, 615, 615, 0, 615, 615, 615, 0, 0, 0,
3040 0, 0, 0, 615, 615, 0, 0, 0, 0, 0,
3041 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3042 0, 0, 0, 0, 0, 0, 0, 0, 0, 615,
3043
3044 617, 0, 0, 617, 0, 617, 617, 617, 617, 0,
3045 617, 617, 617, 617, 617, 617, 617, 617, 0, 617,
3046 617, 617, 0, 0, 0, 0, 0, 0, 617, 617,
3047 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3048 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3049 0, 0, 0, 0, 617, 620, 620, 620, 620, 620,
3050 620, 620, 620, 0, 0, 0, 0, 0, 0, 0,
3051 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3052 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3053 0, 0, 0, 0, 0, 0, 0, 620, 622, 622,
3054
3055 622, 622, 622, 622, 622, 622, 0, 0, 0, 0,
3056 622, 622, 622, 0, 0, 0, 0, 0, 622, 622,
3057 622, 622, 622, 622, 625, 625, 625, 625, 625, 625,
3058 625, 625, 0, 0, 0, 0, 0, 0, 0, 0,
3059 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3060 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3061 0, 0, 0, 0, 0, 0, 625, 627, 627, 627,
3062 627, 627, 627, 627, 627, 0, 0, 0, 0, 627,
3063 627, 627, 0, 0, 0, 0, 0, 627, 627, 627,
3064 627, 627, 627, 636, 636, 636, 636, 636, 636, 636,
3065
3066 636, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3067 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3068 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3069 0, 0, 0, 0, 0, 636, 638, 638, 638, 638,
3070 638, 638, 638, 638, 0, 0, 0, 0, 638, 638,
3071 638, 0, 0, 0, 0, 0, 638, 638, 638, 638,
3072 638, 638, 651, 651, 0, 651, 0, 0, 0, 0,
3073 651, 651, 651, 651, 651, 651, 651, 651, 651, 651,
3074 1024, 1024, 1024, 1024, 0, 1024, 1024, 0, 0, 1024,
3075 0, 1024, 0, 0, 1024, 0, 0, 1024, 0, 1024,
3076
3077 1087, 1087, 1087, 1087, 0, 1087, 1087, 0, 0, 1087,
3078 0, 1087, 0, 0, 1087, 0, 0, 1087, 0, 1087,
3079 1828, 1828, 1828, 1828, 0, 1828, 0, 0, 0, 1828,
3080 0, 0, 0, 0, 1828, 0, 0, 1828, 0, 1828,
3081 1905, 1905, 1905, 1905, 0, 1905, 0, 0, 0, 1905,
3082 0, 0, 0, 0, 1905, 0, 0, 1905, 0, 1905,
3083 2803, 2803, 2803, 2803, 2803, 2803, 2803, 2803, 2803, 2803,
3084 2803, 2803, 2804, 2804, 2804, 2804, 2804, 2804, 2804, 2804,
3085 2804, 2804, 2804, 2804, 2805, 2805, 2805, 2805, 2805, 2805,
3086 2805, 2805, 2805, 2805, 2805, 2805, 2806, 2806, 2806, 2806,
3087
3088 2806, 2806, 2806, 2806, 2806, 2806, 2806, 2806, 2807, 2807,
3089 2807, 2807, 2807, 2807, 2807, 2807, 2807, 2807, 2807, 2807,
3090 2808, 2808, 2808, 2808, 2808, 2808, 2808, 2808, 2808, 2808,
3091 2808, 2808, 2809, 2809, 2809, 2809, 2809, 2809, 2809, 2809,
3092 2809, 2809, 2809, 2809, 2810, 2810, 2810, 2810, 2810, 2810,
3093 2810, 2810, 2810, 2810, 2810, 2810, 2811, 2811, 2811, 2811,
3094 2811, 2811, 2811, 2811, 2811, 2811, 2811, 2811, 2812, 2812,
3095 2812, 2812, 2812, 2812, 2812, 2812, 2812, 2812, 2812, 2812,
3096 2813, 2813, 2813, 2813, 2813, 2813, 2813, 2813, 2813, 2813,
3097 2813, 2813, 2814, 2814, 2814, 2814, 2814, 2814, 2814, 2814,
3098
3099 2814, 2814, 2814, 2814, 2815, 2815, 2815, 2815, 2815, 2815,
3100 2815, 2815, 2815, 2815, 2815, 2815, 2816, 2816, 2816, 2816,
3101 2816, 2816, 2816, 2816, 2816, 2816, 2816, 2816, 2817, 2817,
3102 2817, 2817, 2817, 2817, 2817, 2817, 2817, 2817, 2817, 2817,
3103 2818, 2818, 2818, 2818, 2818, 2818, 2818, 2818, 2818, 2818,
3104 2818, 2818, 2819, 2819, 2819, 2819, 2819, 2819, 2819, 2819,
3105 2819, 2819, 2819, 2819, 2820, 2820, 2820, 2820, 2820, 2820,
3106 2820, 2820, 2820, 2820, 2820, 2820, 2821, 2821, 2821, 2821,
3107 2821, 2821, 2821, 2821, 2821, 2821, 2821, 2821, 2822, 2822,
3108 2822, 2822, 2822, 2822, 2822, 2822, 2822, 2822, 2822, 2822,
3109
3110 2823, 2823, 0, 2823, 2823, 2823, 2823, 2823, 2823, 2823,
3111 2823, 2823, 2824, 0, 0, 2824, 2825, 0, 0, 2825,
3112 0, 2825, 2825, 0, 2825, 2825, 2825, 2825, 2826, 2826,
3113 0, 2826, 2826, 2826, 2826, 2826, 2826, 2826, 2826, 2826,
3114 2827, 2827, 0, 2827, 2827, 2827, 2827, 2827, 2827, 2827,
3115 2827, 2827, 2828, 2828, 0, 2828, 2828, 2828, 2828, 2828,
3116 2828, 2828, 2828, 2828, 2829, 0, 0, 0, 2829, 2829,
3117 2830, 0, 0, 2830, 0, 2830, 2830, 2830, 2830, 0,
3118 2830, 2830, 2831, 2831, 0, 2831, 2831, 2831, 2831, 2831,
3119 2831, 2831, 2831, 2831, 2832, 0, 0, 0, 0, 2832,
3120
3121 2832, 2832, 2832, 0, 2832, 2832, 2833, 0, 0, 2833,
3122 0, 2833, 2833, 2833, 2833, 0, 2833, 2833, 2834, 2834,
3123 0, 2834, 2834, 2834, 2834, 2834, 2834, 2834, 2834, 2834,
3124 2835, 0, 0, 2835, 0, 2835, 2835, 2835, 2835, 0,
3125 2835, 2835, 2836, 2836, 0, 2836, 2836, 2836, 2836, 2836,
3126 2836, 2836, 2836, 2836, 2837, 0, 0, 2837, 0, 2837,
3127 2837, 2837, 2837, 0, 2837, 2837, 2838, 2838, 0, 2838,
3128 2838, 2838, 2838, 2838, 2838, 2838, 2838, 2838, 2839, 0,
3129 0, 2839, 2839, 2839, 2839, 2839, 2839, 2839, 2839, 2839,
3130 2840, 2840, 0, 2840, 2840, 2840, 2840, 2840, 2840, 2840,
3131
3132 2840, 2840, 2841, 0, 0, 2841, 2841, 2841, 2841, 2841,
3133 2841, 2841, 2841, 2841, 2842, 2842, 0, 2842, 2842, 2842,
3134 2842, 2842, 2842, 2842, 2842, 2842, 2843, 0, 0, 2843,
3135 2843, 2843, 2843, 2843, 2843, 2843, 2843, 2843, 2844, 2844,
3136 0, 2844, 2844, 2844, 2844, 2844, 2844, 2844, 2844, 2844,
3137 2845, 0, 0, 2845, 2845, 2845, 2845, 2845, 2845, 2845,
3138 2845, 2845, 2846, 2846, 0, 2846, 2846, 2846, 2846, 2846,
3139 2846, 2846, 2846, 2846, 2847, 0, 0, 2847, 2847, 2847,
3140 2847, 2847, 2847, 2847, 2847, 2847, 2848, 2848, 0, 2848,
3141 2848, 2848, 2848, 2848, 2848, 2848, 2848, 2848, 2849, 0,
3142
3143 0, 2849, 2849, 2849, 2849, 2849, 2849, 2849, 2849, 2849,
3144 2850, 2850, 0, 2850, 2850, 2850, 2850, 2850, 2850, 2850,
3145 2850, 2850, 2851, 0, 0, 2851, 0, 2851, 2851, 2851,
3146 2851, 0, 2851, 2851, 2852, 2852, 0, 2852, 2852, 2852,
3147 2852, 2852, 2852, 2852, 2852, 2852, 2853, 0, 0, 2853,
3148 0, 2853, 2853, 2853, 2853, 0, 2853, 2853, 2854, 2854,
3149 0, 2854, 2854, 2854, 2854, 2854, 2854, 2854, 2854, 2854,
3150 2855, 0, 0, 2855, 0, 2855, 2855, 2855, 2855, 0,
3151 2855, 2855, 2856, 2856, 0, 2856, 2856, 2856, 2856, 2856,
3152 2856, 2856, 2856, 2856, 2857, 0, 0, 2857, 2857, 2857,
3153
3154 2857, 2857, 2857, 2857, 2857, 2857, 2858, 2858, 0, 2858,
3155 2858, 2858, 2858, 2858, 2858, 2858, 2858, 2858, 2859, 0,
3156 0, 2859, 0, 2859, 2859, 0, 2859, 0, 2859, 2859,
3157 2860, 0, 0, 2860, 0, 2860, 2860, 0, 2860, 0,
3158 2860, 2860, 2861, 0, 0, 2861, 0, 2861, 2861, 2861,
3159 2861, 0, 2861, 2861, 2862, 2862, 0, 2862, 2862, 2862,
3160 2862, 2862, 2862, 2862, 2862, 2862, 2863, 0, 0, 2863,
3161 0, 2863, 2863, 2863, 2863, 0, 2863, 2863, 2864, 2864,
3162 0, 2864, 2864, 2864, 2864, 2864, 2864, 2864, 2864, 2864,
3163 2865, 0, 0, 2865, 0, 2865, 2865, 2865, 2865, 0,
3164
3165 2865, 2865, 2866, 2866, 0, 2866, 2866, 2866, 2866, 2866,
3166 2866, 2866, 2866, 2866, 2867, 2867, 0, 2867, 0, 2867,
3167 2867, 2868, 0, 0, 2868, 0, 2868, 2868, 2868, 2868,
3168 2868, 2868, 2868, 2869, 2869, 0, 2869, 2869, 2869, 2869,
3169 2869, 2869, 2869, 2869, 2869, 2870, 0, 2870, 2870, 0,
3170 2870, 2870, 0, 0, 0, 2870, 2870, 2871, 2871, 2871,
3171 2871, 2871, 2871, 2871, 2871, 2871, 2871, 2871, 2871, 2872,
3172 2872, 0, 2872, 2872, 2872, 2872, 2872, 2872, 2872, 2872,
3173 2872, 2873, 0, 0, 2873, 2874, 0, 2874, 2875, 0,
3174 0, 2875, 0, 2875, 2875, 0, 2875, 2875, 2875, 2875,
3175
3176 2876, 2876, 0, 2876, 2876, 2876, 2876, 2876, 2876, 2876,
3177 2876, 2876, 2877, 2877, 0, 2877, 2877, 2877, 2877, 2877,
3178 2877, 2877, 2877, 2877, 2878, 2878, 0, 2878, 2878, 2878,
3179 2878, 2878, 2878, 2878, 2878, 2878, 2879, 0, 0, 0,
3180 2879, 2879, 2880, 0, 0, 2880, 0, 2880, 2880, 2880,
3181 2880, 0, 2880, 2880, 2881, 2881, 0, 2881, 2881, 2881,
3182 2881, 2881, 2881, 2881, 2881, 2881, 2882, 0, 0, 0,
3183 0, 2882, 2882, 2882, 2882, 0, 2882, 2882, 2883, 0,
3184 0, 2883, 0, 2883, 2883, 2883, 2883, 0, 2883, 2883,
3185 2884, 2884, 0, 2884, 2884, 2884, 2884, 2884, 2884, 2884,
3186
3187 2884, 2884, 2885, 0, 0, 2885, 0, 2885, 2885, 2885,
3188 2885, 0, 2885, 2885, 2886, 2886, 0, 2886, 2886, 2886,
3189 2886, 2886, 2886, 2886, 2886, 2886, 2887, 0, 0, 2887,
3190 0, 2887, 2887, 2887, 2887, 0, 2887, 2887, 2888, 2888,
3191 0, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888,
3192 2889, 0, 0, 2889, 2889, 2889, 2889, 2889, 2889, 2889,
3193 2889, 2889, 2890, 0, 0, 2890, 2890, 2890, 2890, 2890,
3194 2890, 2890, 2890, 2890, 2891, 2891, 0, 2891, 2891, 2891,
3195 2891, 2891, 2891, 2891, 2891, 2891, 2892, 2892, 0, 2892,
3196 2892, 2892, 2892, 2892, 2892, 2892, 2892, 2892, 2893, 0,
3197
3198 0, 2893, 2893, 2893, 2893, 2893, 2893, 2893, 2893, 2893,
3199 2894, 0, 0, 2894, 2894, 2894, 2894, 2894, 2894, 2894,
3200 2894, 2894, 2895, 2895, 0, 2895, 2895, 2895, 2895, 2895,
3201 2895, 2895, 2895, 2895, 2896, 2896, 0, 2896, 2896, 2896,
3202 2896, 2896, 2896, 2896, 2896, 2896, 2897, 0, 0, 2897,
3203 2897, 2897, 2897, 2897, 2897, 2897, 2897, 2897, 2898, 0,
3204 0, 2898, 2898, 2898, 2898, 2898, 2898, 2898, 2898, 2898,
3205 2899, 2899, 0, 2899, 2899, 2899, 2899, 2899, 2899, 2899,
3206 2899, 2899, 2900, 2900, 0, 2900, 2900, 2900, 2900, 2900,
3207 2900, 2900, 2900, 2900, 2901, 0, 0, 2901, 2901, 2901,
3208
3209 2901, 2901, 2901, 2901, 2901, 2901, 2902, 0, 0, 2902,
3210 2902, 2902, 2902, 2902, 2902, 2902, 2902, 2902, 2903, 2903,
3211 0, 2903, 2903, 2903, 2903, 2903, 2903, 2903, 2903, 2903,
3212 2904, 2904, 0, 2904, 2904, 2904, 2904, 2904, 2904, 2904,
3213 2904, 2904, 2905, 0, 0, 2905, 2905, 2905, 2905, 2905,
3214 2905, 2905, 2905, 2905, 2906, 0, 0, 2906, 2906, 2906,
3215 2906, 2906, 2906, 2906, 2906, 2906, 2907, 2907, 0, 2907,
3216 2907, 2907, 2907, 2907, 2907, 2907, 2907, 2907, 2908, 2908,
3217 0, 2908, 2908, 2908, 2908, 2908, 2908, 2908, 2908, 2908,
3218 2909, 0, 0, 2909, 2909, 2909, 2909, 2909, 2909, 2909,
3219
3220 2909, 2909, 2910, 0, 0, 2910, 2910, 2910, 2910, 2910,
3221 2910, 2910, 2910, 2910, 2911, 2911, 0, 2911, 2911, 2911,
3222 2911, 2911, 2911, 2911, 2911, 2911, 2912, 2912, 0, 2912,
3223 2912, 2912, 2912, 2912, 2912, 2912, 2912, 2912, 2913, 0,
3224 0, 2913, 0, 2913, 2913, 2913, 2913, 0, 2913, 2913,
3225 2914, 2914, 0, 2914, 2914, 2914, 2914, 2914, 2914, 2914,
3226 2914, 2914, 2915, 0, 0, 2915, 0, 2915, 2915, 2915,
3227 2915, 0, 2915, 2915, 2916, 2916, 0, 2916, 2916, 2916,
3228 2916, 2916, 2916, 2916, 2916, 2916, 2917, 0, 0, 2917,
3229 0, 2917, 2917, 2917, 2917, 0, 2917, 2917, 2918, 2918,
3230
3231 0, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
3232 2919, 0, 0, 2919, 2919, 2919, 2919, 2919, 2919, 2919,
3233 2919, 2919, 2920, 0, 0, 2920, 2920, 2920, 2920, 2920,
3234 2920, 2920, 2920, 2920, 2921, 2921, 0, 2921, 2921, 2921,
3235 2921, 2921, 2921, 2921, 2921, 2921, 2922, 2922, 0, 2922,
3236 2922, 2922, 2922, 2922, 2922, 2922, 2922, 2922, 2923, 0,
3237 0, 2923, 0, 2923, 2923, 0, 2923, 0, 2923, 2923,
3238 2924, 0, 0, 2924, 0, 2924, 2924, 0, 2924, 0,
3239 2924, 2924, 2925, 0, 0, 2925, 0, 2925, 2925, 0,
3240 2925, 0, 2925, 2925, 2926, 0, 0, 2926, 0, 2926,
3241
3242 2926, 0, 2926, 0, 2926, 2926, 2927, 0, 0, 2927,
3243 0, 2927, 2927, 2927, 2927, 0, 2927, 2927, 2928, 2928,
3244 0, 2928, 2928, 2928, 2928, 2928, 2928, 2928, 2928, 2928,
3245 2929, 0, 0, 2929, 0, 2929, 2929, 2929, 2929, 0,
3246 2929, 2929, 2930, 2930, 0, 2930, 2930, 2930, 2930, 2930,
3247 2930, 2930, 2930, 2930, 2931, 0, 0, 2931, 0, 2931,
3248 2931, 2931, 2931, 0, 2931, 2931, 2932, 2932, 0, 2932,
3249 2932, 2932, 2932, 2932, 2932, 2932, 2932, 2932, 2933, 2933,
3250 0, 2933, 0, 2933, 2933, 2934, 0, 0, 2934, 0,
3251 2934, 2934, 2934, 2934, 2934, 2934, 2934, 2935, 2935, 0,
3252
3253 2935, 2935, 2935, 2935, 2935, 2935, 2935, 2935, 2935, 2936,
3254 0, 2936, 2936, 0, 2936, 2936, 0, 0, 0, 2936,
3255 2936, 2937, 2937, 2937, 2937, 2937, 2937, 2937, 2937, 2937,
3256 2937, 2937, 2937, 2938, 0, 0, 2938, 0, 2938, 2938,
3257 0, 2938, 2938, 2938, 2938, 2939, 2939, 0, 2939, 2939,
3258 2939, 2939, 2939, 2939, 2939, 2939, 2939, 2940, 2940, 0,
3259 2940, 2940, 2940, 2940, 2940, 2940, 2940, 2940, 2940, 2941,
3260 2941, 0, 2941, 2941, 2941, 2941, 2941, 2941, 2941, 2941,
3261 2941, 2942, 0, 0, 2942, 0, 2942, 2942, 2942, 2942,
3262 2942, 2942, 2942, 2943, 0, 0, 2943, 0, 2943, 2943,
3263
3264 2943, 2943, 2943, 2943, 2943, 2944, 2944, 0, 2944, 2944,
3265 2944, 2944, 2944, 2944, 2944, 2944, 2944, 2945, 2945, 0,
3266 2945, 2945, 2945, 2945, 2945, 2945, 2945, 2945, 2945, 2946,
3267 2946, 0, 2946, 2946, 2946, 2946, 2946, 2946, 2946, 2946,
3268 2946, 2947, 0, 0, 2947, 0, 2947, 2947, 0, 2947,
3269 0, 2947, 2947, 2948, 2948, 0, 2948, 2948, 2948, 2948,
3270 2948, 2948, 2948, 2948, 2948, 2949, 2949, 0, 2949, 2949,
3271 2949, 2949, 2949, 2949, 2949, 2949, 2949, 2950, 2950, 0,
3272 2950, 2950, 2950, 2950, 2950, 2950, 2950, 2950, 2950, 2951,
3273 2951, 0, 2951, 2951, 2951, 2951, 2951, 2951, 2951, 2951,
3274
3275 2951, 2952, 2952, 0, 2952, 2952, 2952, 2952, 2952, 2952,
3276 2952, 2952, 2952, 2953, 2953, 0, 2953, 2953, 2953, 2953,
3277 2953, 2953, 2953, 2953, 2953, 2954, 2954, 0, 2954, 2954,
3278 2954, 2954, 2954, 2954, 2954, 2954, 2954, 2955, 2955, 0,
3279 2955, 2955, 2955, 2955, 2955, 2955, 2955, 2955, 2955, 2956,
3280 2956, 0, 2956, 2956, 2956, 2956, 2956, 2956, 2956, 2956,
3281 2956, 2957, 2957, 0, 2957, 2957, 2957, 2957, 2957, 2957,
3282 2957, 2957, 2957, 2958, 2958, 0, 2958, 2958, 2958, 2958,
3283 2958, 2958, 2958, 2958, 2958, 2959, 2959, 0, 2959, 2959,
3284 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2960, 2960, 0,
3285
3286 2960, 2960, 2960, 2960, 2960, 2960, 2960, 2960, 2960, 2961,
3287 2961, 0, 2961, 2961, 2961, 2961, 2961, 2961, 2961, 2961,
3288 2961, 2962, 2962, 0, 2962, 2962, 2962, 2962, 2962, 2962,
3289 2962, 2962, 2962, 2963, 2963, 0, 2963, 2963, 2963, 2963,
3290 2963, 2963, 2963, 2963, 2963, 2802, 2802, 2802, 2802, 2802,
3291 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
3292 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
3293 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
3294 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
3295 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2802,
3296
3297 2802
3298 } ;
3299
3300 /* Table of booleans, true if rule could match eol. */
3301 static yyconst flex_int32_t yy_rule_can_match_eol[248] =
3302 { 0,
3303 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3304 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
3305 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3306 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3307 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3308 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3309 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
3310 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3311 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3312 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3313 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3314 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3315 0, 0, 0, 1, 1, 0, 0, 0, };
3316
3317 extern int socks_yy_flex_debug;
3318 int socks_yy_flex_debug = 0;
3319
3320 static yy_state_type *yy_state_buf=0, *yy_state_ptr=0;
3321 static char *yy_full_match;
3322 static int yy_lp;
3323 static int yy_looking_for_trail_begin = 0;
3324 static int yy_full_lp;
3325 static int *yy_full_state;
3326 #define YY_TRAILING_MASK 0x2000
3327 #define YY_TRAILING_HEAD_MASK 0x4000
3328 #define REJECT \
3329 { \
3330 *yy_cp = (yy_hold_char); /* undo effects of setting up socks_yytext */ \
3331 yy_cp = (yy_full_match); /* restore poss. backed-over text */ \
3332 (yy_lp) = (yy_full_lp); /* restore orig. accepting pos. */ \
3333 (yy_state_ptr) = (yy_full_state); /* restore orig. state */ \
3334 yy_current_state = *(yy_state_ptr); /* restore curr. state */ \
3335 ++(yy_lp); \
3336 goto find_rule; \
3337 }
3338
3339 #define yymore() yymore_used_but_not_detected
3340 #define YY_MORE_ADJ 0
3341 #define YY_RESTORE_YY_MORE_OFFSET
3342 char *socks_yytext;
3343 #line 1 "config_scan.l"
3344 /*
3345 * Copyright (c) 1997, 1998, 1999, 2000, 2001, 2002, 2004, 2005, 2006, 2008,
3346 * 2009, 2010, 2011, 2012, 2013, 2014, 2019, 2020, 2021
3347 * Inferno Nettverk A/S, Norway. All rights reserved.
3348 *
3349 * Redistribution and use in source and binary forms, with or without
3350 * modification, are permitted provided that the following conditions
3351 * are met:
3352 * 1. The above copyright notice, this list of conditions and the following
3353 * disclaimer must appear in all copies of the software, derivative works
3354 * or modified versions, and any portions thereof, aswell as in all
3355 * supporting documentation.
3356 * 2. All advertising materials mentioning features or use of this software
3357 * must display the following acknowledgement:
3358 * This product includes software developed by
3359 * Inferno Nettverk A/S, Norway.
3360 * 3. The name of the author may not be used to endorse or promote products
3361 * derived from this software without specific prior written permission.
3362 *
3363 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
3364 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
3365 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
3366 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
3367 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
3368 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
3369 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
3370 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
3371 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
3372 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
3373 *
3374 * Inferno Nettverk A/S requests users of this software to return to
3375 *
3376 * Software Distribution Coordinator or sdc@inet.no
3377 * Inferno Nettverk A/S
3378 * Oslo Research Park
3379 * Gaustadall�en 21
3380 * NO-0349 Oslo
3381 * Norway
3382 *
3383 * any improvements or extensions that they make and grant Inferno Nettverk A/S
3384 * the rights to redistribute these changes.
3385 *
3386 */
3387 #line 46 "config_scan.l"
3388
3389 #if 0 /* XXX automatically added at head of generated .c file */
3390 #include "common.h"
3391 #endif
3392
3393 static const char rcsid[] =
3394 "$Id: config_scan.l,v 1.238.4.3.6.9 2021/02/02 19:34:12 karls Exp $";
3395
3396 #include "yacconfig.h"
3397 #include "config_parse.h"
3398
3399 #define YY_STACK_USED 0
3400 #define YY_ALWAYS_INTERACTIVE 0
3401 #define YY_NEVER_INTERACTIVE 1
3402 #define YY_MAIN 0
3403
3404 #if SOCKS_CLIENT
3405 /*
3406 * stuff that is only defined in the server case, but which I don't know
3407 * how #ifdef out in the lex pattern matching code instead. Is it possible?
3408 */
3409 #define PROC_MOTHER 0
3410 #define PROC_NEGOTIATE 0
3411 #define PROC_REQUEST 0
3412 #define PROC_IO 0
3413 #define PROC_MONITOR 0
3414
3415 #endif /* SOCKS_CLIENT */
3416
3417 static int shouldresetstate(const int current_state, const int next_token);
3418 /*
3419 * If in state "current_state", and the next token is "next_token",
3420 * should we reset the current state?
3421 * Returns true if yes, false if not.
3422 */
3423
3424
3425 extern const int socks_configtype;
3426 extern int lex_dorestart;
3427
3428 char currentlexline[100]; /* just to have some context. */
3429 char previouslexline[100]; /* just to have some context. */
3430 static unsigned char ismask;
3431 static int inroute, inclientrule;
3432
3433 /*
3434 * socks_yylineno nonoptimal under flex, reason for 'find_rule' 'yy_flex_realloc'
3435 * warnings.
3436 */
3437 /*%option debug */
3438 /* non-exclusive start conditions. */
3439
3440
3441 /* exclusive start conditions */
3442
3443
3444
3445
3446
3447
3448
3449
3450
3451
3452
3453
3454
3455
3456
3457
3458
3459
3460
3461 /* ldap-stuff. */
3462
3463
3464
3465
3466
3467
3468
3469
3470
3471
3472
3473
3474
3475
3476
3477
3478
3479
3480
3481
3482
3483
3484
3485
3486
3487
3488
3489 #line 3489 "config_scan.c"
3490
3491 #define INITIAL 0
3492 #define start_address 1
3493 #define start_port 2
3494 #define lineprefix 3
3495 #define start_command 4
3496 #define start_compatibility 5
3497 #define start_line 6
3498 #define start_log 7
3499 #define start_loglevel 8
3500 #define start_logoutput 9
3501 #define start_logtype 10
3502 #define start_errorsymbol 11
3503 #define start_method 12
3504 #define start_option 13
3505 #define start_proxyprotocol 14
3506 #define start_username 15
3507 #define start_groupname 16
3508 #define start_libwrapfile 17
3509 #define start_cpuoption 18
3510 #define start_hostindex 19
3511 #define start_statekey 20
3512 #define start_tcpoption 21
3513 #define start_ldapdomain 22
3514 #define start_ldapbasedn 23
3515 #define start_ldapurl 24
3516 #define start_ldapfilter 25
3517 #define start_ldapattribute 26
3518 #define start_ldapservername 27
3519 #define start_ldapgroupname 28
3520 #define start_ldapkeytabname 29
3521 #define start_ldapcertfile 30
3522 #define start_ldapcertpath 31
3523 #define start_pacsidname 32
3524 #define start_alarmtest 33
3525 #define start_srchost 34
3526 #define start_protocol 35
3527 #define start_servicename 36
3528 #define start_portnumber 37
3529 #define start_bsdauthstylename 38
3530 #define start_gssapiservicename 39
3531 #define start_gssapikeytabname 40
3532 #define start_encryption 41
3533 #define start_realmname 42
3534 #define start_socketprotocol 43
3535 #define start_socketoption 44
3536 #define start_socketoptionvalue 45
3537 #define start_processtype 46
3538 #define start_schedulepolicy 47
3539 #define start_schedulemask 48
3540
3541 #ifndef YY_NO_UNISTD_H
3542 /* Special case for "unistd.h", since it is non-ANSI. We include it way
3543 * down here because we want the user's section 1 to have been scanned first.
3544 * The user has a chance to override it with an option.
3545 */
3546 #include <unistd.h>
3547 #endif
3548
3549 #ifndef YY_EXTRA_TYPE
3550 #define YY_EXTRA_TYPE void *
3551 #endif
3552
3553 static int yy_init_globals (void );
3554
3555 /* Accessor methods to globals.
3556 These are made visible to non-reentrant scanners for convenience. */
3557
3558 int socks_yylex_destroy (void );
3559
3560 int socks_yyget_debug (void );
3561
3562 void socks_yyset_debug (int debug_flag );
3563
3564 YY_EXTRA_TYPE socks_yyget_extra (void );
3565
3566 void socks_yyset_extra (YY_EXTRA_TYPE user_defined );
3567
3568 FILE *socks_yyget_in (void );
3569
3570 void socks_yyset_in (FILE * in_str );
3571
3572 FILE *socks_yyget_out (void );
3573
3574 void socks_yyset_out (FILE * out_str );
3575
3576 yy_size_t socks_yyget_leng (void );
3577
3578 char *socks_yyget_text (void );
3579
3580 int socks_yyget_lineno (void );
3581
3582 void socks_yyset_lineno (int line_number );
3583
3584 /* Macros after this point can all be overridden by user definitions in
3585 * section 1.
3586 */
3587
3588 #ifndef YY_SKIP_YYWRAP
3589 #ifdef __cplusplus
3590 extern "C" int socks_yywrap (void );
3591 #else
3592 extern int socks_yywrap (void );
3593 #endif
3594 #endif
3595
3596 #ifndef yytext_ptr
3597 static void yy_flex_strncpy (char *,yyconst char *,int );
3598 #endif
3599
3600 #ifdef YY_NEED_STRLEN
3601 static int yy_flex_strlen (yyconst char * );
3602 #endif
3603
3604 #ifndef YY_NO_INPUT
3605
3606 #ifdef __cplusplus
3607 static int yyinput (void );
3608 #else
3609 static int input (void );
3610 #endif
3611
3612 #endif
3613
3614 /* Amount of stuff to slurp up with each read. */
3615 #ifndef YY_READ_BUF_SIZE
3616 #define YY_READ_BUF_SIZE 8192
3617 #endif
3618
3619 /* Copy whatever the last rule matched to the standard output. */
3620 #ifndef ECHO
3621 /* This used to be an fputs(), but since the string might contain NUL's,
3622 * we now use fwrite().
3623 */
3624 #define ECHO do { if (fwrite( socks_yytext, socks_yyleng, 1, socks_yyout )) {} } while (0)
3625 #endif
3626
3627 /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
3628 * is returned in "result".
3629 */
3630 #ifndef YY_INPUT
3631 #define YY_INPUT(buf,result,max_size) \
3632 if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
3633 { \
3634 int c = '*'; \
3635 size_t n; \
3636 for ( n = 0; n < max_size && \
3637 (c = getc( socks_yyin )) != EOF && c != '\n'; ++n ) \
3638 buf[n] = (char) c; \
3639 if ( c == '\n' ) \
3640 buf[n++] = (char) c; \
3641 if ( c == EOF && ferror( socks_yyin ) ) \
3642 YY_FATAL_ERROR( "input in flex scanner failed" ); \
3643 result = n; \
3644 } \
3645 else \
3646 { \
3647 errno=0; \
3648 while ( (result = fread(buf, 1, max_size, socks_yyin))==0 && ferror(socks_yyin)) \
3649 { \
3650 if( errno != EINTR) \
3651 { \
3652 YY_FATAL_ERROR( "input in flex scanner failed" ); \
3653 break; \
3654 } \
3655 errno=0; \
3656 clearerr(socks_yyin); \
3657 } \
3658 }\
3659 \
3660
3661 #endif
3662
3663 /* No semi-colon after return; correct usage is to write "yyterminate();" -
3664 * we don't want an extra ';' after the "return" because that will cause
3665 * some compilers to complain about unreachable statements.
3666 */
3667 #ifndef yyterminate
3668 #define yyterminate() return YY_NULL
3669 #endif
3670
3671 /* Number of entries by which start-condition stack grows. */
3672 #ifndef YY_START_STACK_INCR
3673 #define YY_START_STACK_INCR 25
3674 #endif
3675
3676 /* Report a fatal error. */
3677 #ifndef YY_FATAL_ERROR
3678 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
3679 #endif
3680
3681 /* end tables serialization structures and prototypes */
3682
3683 /* Default declaration of generated scanner - a define so the user can
3684 * easily add parameters.
3685 */
3686 #ifndef YY_DECL
3687 #define YY_DECL_IS_OURS 1
3688
3689 extern int socks_yylex (void);
3690
3691 #define YY_DECL int socks_yylex (void)
3692 #endif /* !YY_DECL */
3693
3694 /* Code executed at the beginning of each rule, after socks_yytext and socks_yyleng
3695 * have been set up.
3696 */
3697 #ifndef YY_USER_ACTION
3698 #define YY_USER_ACTION
3699 #endif
3700
3701 /* Code executed at the end of each rule. */
3702 #ifndef YY_BREAK
3703 #define YY_BREAK break;
3704 #endif
3705
3706 #define YY_RULE_SETUP \
3707 if ( socks_yyleng > 0 ) \
3708 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = \
3709 (socks_yytext[socks_yyleng - 1] == '\n'); \
3710 YY_USER_ACTION
3711
3712 /** The main scanner function which does all the work.
3713 */
3714 YY_DECL
3715 {
3716 yy_state_type yy_current_state;
3717 char *yy_cp, *yy_bp;
3718 int yy_act;
3719
3720 if ( !(yy_init) )
3721 {
3722 (yy_init) = 1;
3723
3724 #ifdef YY_USER_INIT
3725 YY_USER_INIT;
3726 #endif
3727
3728 /* Create the reject buffer large enough to save one state per allowed character. */
3729 if ( ! (yy_state_buf) )
3730 (yy_state_buf) = (yy_state_type *)socks_yyalloc(YY_STATE_BUF_SIZE );
3731 if ( ! (yy_state_buf) )
3732 YY_FATAL_ERROR( "out of dynamic memory in socks_yylex()" );
3733
3734 if ( ! (yy_start) )
3735 (yy_start) = 1; /* first start state */
3736
3737 if ( ! socks_yyin )
3738 socks_yyin = stdin;
3739
3740 if ( ! socks_yyout )
3741 socks_yyout = stdout;
3742
3743 if ( ! YY_CURRENT_BUFFER ) {
3744 socks_yyensure_buffer_stack ();
3745 YY_CURRENT_BUFFER_LVALUE =
3746 socks_yy_create_buffer(socks_yyin,YY_BUF_SIZE );
3747 }
3748
3749 socks_yy_load_buffer_state( );
3750 }
3751
3752 {
3753 #line 167 "config_scan.l"
3754
3755
3756
3757
3758 if (lex_dorestart) {
3759 lex_dorestart = 0;
3760 inclientrule = inroute = 0;
3761
3762 switch (socks_configtype) {
3763 case CONFIGTYPE_SERVER:
3764 return SERVERCONFIG;
3765
3766 case CONFIGTYPE_CLIENT:
3767 return CLIENTCONFIG;
3768
3769 default:
3770 SERRX(socks_configtype);
3771 }
3772 }
3773
3774
3775 #if 0 /* does not work for some reason. */
3776 \n.* {
3777 const char *strip = " \n\t";
3778 const char *p = currentlexline;
3779
3780 SKIPLEADING(p, strip);
3781 if (strlen(p) > 0)
3782 strcpy(previouslexline, currentlexline);
3783 /* else; blank line. */
3784
3785 strncpy(currentlexline, socks_yytext, sizeof(currentlexline) - 1);
3786 currentlexline[sizeof(currentlexline) - 1] = NUL;
3787
3788 ++socks_yylineno;
3789 yyless(1);
3790 }
3791 #endif
3792
3793
3794
3795 /*
3796 * start-condition dependent stuff.
3797 */
3798
3799 #line 3799 "config_scan.c"
3800
3801 while ( 1 ) /* loops until end-of-file is reached */
3802 {
3803 yy_cp = (yy_c_buf_p);
3804
3805 /* Support of socks_yytext. */
3806 *yy_cp = (yy_hold_char);
3807
3808 /* yy_bp points to the position in yy_ch_buf of the start of
3809 * the current run.
3810 */
3811 yy_bp = yy_cp;
3812
3813 yy_current_state = (yy_start);
3814 yy_current_state += YY_AT_BOL();
3815
3816 (yy_state_ptr) = (yy_state_buf);
3817 *(yy_state_ptr)++ = yy_current_state;
3818
3819 yy_match:
3820 do
3821 {
3822 YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)] ;
3823 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3824 {
3825 yy_current_state = (int) yy_def[yy_current_state];
3826 if ( yy_current_state >= 2803 )
3827 yy_c = yy_meta[(unsigned int) yy_c];
3828 }
3829 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
3830 *(yy_state_ptr)++ = yy_current_state;
3831 ++yy_cp;
3832 }
3833 while ( yy_base[yy_current_state] != 7246 );
3834
3835 yy_find_action:
3836 yy_current_state = *--(yy_state_ptr);
3837 (yy_lp) = yy_accept[yy_current_state];
3838 find_rule: /* we branch to this label when backing up */
3839 for ( ; ; ) /* until we find what rule we matched */
3840 {
3841 if ( (yy_lp) && (yy_lp) < yy_accept[yy_current_state + 1] )
3842 {
3843 yy_act = yy_acclist[(yy_lp)];
3844 if ( yy_act & YY_TRAILING_HEAD_MASK ||
3845 (yy_looking_for_trail_begin) )
3846 {
3847 if ( yy_act == (yy_looking_for_trail_begin) )
3848 {
3849 (yy_looking_for_trail_begin) = 0;
3850 yy_act &= ~YY_TRAILING_HEAD_MASK;
3851 break;
3852 }
3853 }
3854 else if ( yy_act & YY_TRAILING_MASK )
3855 {
3856 (yy_looking_for_trail_begin) = yy_act & ~YY_TRAILING_MASK;
3857 (yy_looking_for_trail_begin) |= YY_TRAILING_HEAD_MASK;
3858 }
3859 else
3860 {
3861 (yy_full_match) = yy_cp;
3862 (yy_full_state) = (yy_state_ptr);
3863 (yy_full_lp) = (yy_lp);
3864 break;
3865 }
3866 ++(yy_lp);
3867 goto find_rule;
3868 }
3869 --yy_cp;
3870 yy_current_state = *--(yy_state_ptr);
3871 (yy_lp) = yy_accept[yy_current_state];
3872 }
3873
3874 YY_DO_BEFORE_ACTION;
3875
3876 if ( yy_act != YY_END_OF_BUFFER && yy_rule_can_match_eol[yy_act] )
3877 {
3878 yy_size_t yyl;
3879 for ( yyl = 0; yyl < socks_yyleng; ++yyl )
3880 if ( socks_yytext[yyl] == '\n' )
3881
3882 socks_yylineno++;
3883 ;
3884 }
3885
3886 do_action: /* This label is used only to access EOF actions. */
3887
3888 switch ( yy_act )
3889 { /* beginning of action switch */
3890 case 1:
3891 YY_RULE_SETUP
3892 #line 212 "config_scan.l"
3893 {
3894 yylval.string = socks_yytext;
3895 return IPV4;
3896 }
3897 YY_BREAK
3898 case 2:
3899 YY_RULE_SETUP
3900 #line 217 "config_scan.l"
3901 {
3902 yylval.string = socks_yytext;
3903 return IPV6;
3904 }
3905 YY_BREAK
3906 case 3:
3907 YY_RULE_SETUP
3908 #line 222 "config_scan.l"
3909 {
3910 yylval.string = socks_yytext;
3911 return ECN;
3912 }
3913 YY_BREAK
3914 case 4:
3915 YY_RULE_SETUP
3916 #line 227 "config_scan.l"
3917 {
3918 yylval.string = socks_yytext;
3919 return SACK;
3920 }
3921 YY_BREAK
3922 case 5:
3923 YY_RULE_SETUP
3924 #line 232 "config_scan.l"
3925 {
3926 yylval.string = socks_yytext;
3927 return TIMESTAMPS;
3928 }
3929 YY_BREAK
3930 case 6:
3931 YY_RULE_SETUP
3932 #line 237 "config_scan.l"
3933 {
3934 yylval.string = socks_yytext;
3935 return WSCALE;
3936 }
3937 YY_BREAK
3938 case 7:
3939 YY_RULE_SETUP
3940 #line 243 "config_scan.l"
3941 {
3942 yylval.string = socks_yytext;
3943 return MTU_ERROR;
3944 }
3945 YY_BREAK
3946 case 8:
3947 YY_RULE_SETUP
3948 #line 248 "config_scan.l"
3949 {
3950 BEGIN(0);
3951
3952 yylval.string = socks_yytext;
3953 return STATEKEY;
3954 }
3955 YY_BREAK
3956 case 9:
3957 YY_RULE_SETUP
3958 #line 255 "config_scan.l"
3959 {
3960 BEGIN(0);
3961
3962 yylval.string = socks_yytext;
3963 return SERVICENAME;
3964 }
3965 YY_BREAK
3966 case 10:
3967 YY_RULE_SETUP
3968 #line 262 "config_scan.l"
3969 {
3970 yylval.string = socks_yytext;
3971 return PROXYPROTOCOL_SOCKS_V4;
3972 }
3973 YY_BREAK
3974 case 11:
3975 YY_RULE_SETUP
3976 #line 267 "config_scan.l"
3977 {
3978 yylval.string = socks_yytext;
3979 return PROXYPROTOCOL_SOCKS_V5;
3980 }
3981 YY_BREAK
3982 case 12:
3983 YY_RULE_SETUP
3984 #line 272 "config_scan.l"
3985 {
3986 yylval.string = socks_yytext;
3987 return PROXYPROTOCOL_HTTP;
3988 }
3989 YY_BREAK
3990 case 13:
3991 YY_RULE_SETUP
3992 #line 277 "config_scan.l"
3993 {
3994 yylval.string = socks_yytext;
3995 return PROXYPROTOCOL_UPNP;
3996 }
3997 YY_BREAK
3998 case 14:
3999 YY_RULE_SETUP
4000 #line 282 "config_scan.l"
4001 {
4002 yylval.string = socks_yytext;
4003 return COMMAND_BIND;
4004 }
4005 YY_BREAK
4006 case 15:
4007 YY_RULE_SETUP
4008 #line 287 "config_scan.l"
4009 {
4010 yylval.string = socks_yytext;
4011 return COMMAND_CONNECT;
4012 }
4013 YY_BREAK
4014 case 16:
4015 YY_RULE_SETUP
4016 #line 292 "config_scan.l"
4017 {
4018 yylval.string = socks_yytext;
4019 return COMMAND_UDPASSOCIATE;
4020 }
4021 YY_BREAK
4022 case 17:
4023 YY_RULE_SETUP
4024 #line 297 "config_scan.l"
4025 {
4026 yylval.string = socks_yytext;
4027 return COMMAND_BINDREPLY;
4028 }
4029 YY_BREAK
4030 case 18:
4031 YY_RULE_SETUP
4032 #line 302 "config_scan.l"
4033 {
4034 yylval.string = socks_yytext;
4035 return COMMAND_UDPREPLY;
4036 }
4037 YY_BREAK
4038 case 19:
4039 YY_RULE_SETUP
4040 #line 308 "config_scan.l"
4041 {
4042 yylval.string = socks_yytext;
4043 return URL;
4044 }
4045 YY_BREAK
4046 case 20:
4047 YY_RULE_SETUP
4048 #line 313 "config_scan.l"
4049 {
4050 BEGIN(start_port);
4051
4052 yylval.string = socks_yytext;
4053 return DOMAINNAME;
4054 }
4055 YY_BREAK
4056 case 21:
4057 *yy_cp = (yy_hold_char); /* undo effects of setting up socks_yytext */
4058 (yy_c_buf_p) = yy_cp = yy_bp + 1;
4059 YY_DO_BEFORE_ACTION; /* set up socks_yytext again */
4060 YY_RULE_SETUP
4061 #line 320 "config_scan.l"
4062 {
4063 /*
4064 * For some reason can't get the above "0/\/" included in the
4065 * address regexp below: "unrecognized rule" flex says.
4066 */
4067
4068 BEGIN(start_port);
4069
4070 yylval.string = socks_yytext;
4071 return IPVANY;
4072 }
4073 YY_BREAK
4074 case 22:
4075 YY_RULE_SETUP
4076 #line 332 "config_scan.l"
4077 {
4078 struct sockaddr_storage addr, mask;
4079 struct in6_addr ipv6;
4080 struct in_addr ipv4;
4081 char visbuf[256];
4082
4083 BEGIN(start_port);
4084
4085 yylval.string = socks_yytext;
4086
4087 /*
4088 * we don't have a reliable regex to differentiate between a
4089 * domainname and ifname on all systems.
4090 * With a very general regex like the above, it is not so easy
4091 * to exclude an ipaddress from matching it also. So instead
4092 * of continuing to try and create a perfect regex, do a brute force
4093 * check to see what the text represents.
4094 */
4095
4096 if (socks_inet_pton(AF_INET, socks_yytext, &ipv4, NULL) == 1)
4097 return IPV4;
4098
4099 if (socks_inet_pton(AF_INET6, socks_yytext, &ipv6, NULL) == 1) {
4100 if (IN6_IS_ADDR_V4MAPPED(&ipv6))
4101 yyerrorx("we do not use IPv4-mapped IPv6 addresses. Please specify "
4102 "a regular IPv4 address instead if you want use IPv4");
4103 else
4104 return IPV6;
4105 }
4106
4107 errno = 0;
4108 if (ifname2sockaddr(socks_yytext, 0, &addr, &mask) != NULL)
4109 return IFNAME;
4110 else {
4111 if (ERRNOISNOFILE(errno))
4112 yyerror("no free filedescriptors: can not access information on "
4113 "whether \"%s\" is a local NIC or not",
4114 str2vis(socks_yytext, strlen(socks_yytext), visbuf, sizeof(visbuf)));
4115 }
4116
4117 slog(LOG_DEBUG,
4118 "\"%s\" appears to be neither ipaddress nor ifname; assuming hostname ",
4119 socks_yytext);
4120
4121 return DOMAINNAME;
4122 }
4123 YY_BREAK
4124 case 23:
4125 YY_RULE_SETUP
4126 #line 379 "config_scan.l"
4127 {
4128 yylval.string = socks_yytext;
4129 return PORT;
4130 }
4131 YY_BREAK
4132 /*
4133 * cpu options.
4134 */
4135 case 24:
4136 YY_RULE_SETUP
4137 #line 388 "config_scan.l"
4138 {
4139 BEGIN(start_cpuoption);
4140
4141 yylval.string = socks_yytext;
4142 return CPU;
4143 }
4144 YY_BREAK
4145 case 25:
4146 YY_RULE_SETUP
4147 #line 395 "config_scan.l"
4148 {
4149 BEGIN(start_processtype);
4150
4151 ismask = 0;
4152
4153 yylval.string = socks_yytext;
4154 return SCHEDULE;
4155 }
4156 YY_BREAK
4157 case 26:
4158 YY_RULE_SETUP
4159 #line 404 "config_scan.l"
4160 {
4161 BEGIN(start_processtype);
4162
4163 ismask = 1;
4164
4165 yylval.string = socks_yytext;
4166 return MASK;
4167 }
4168 YY_BREAK
4169 case 27:
4170 YY_RULE_SETUP
4171 #line 413 "config_scan.l"
4172 {
4173 BEGIN(ismask ? start_schedulemask : start_schedulepolicy);
4174
4175 yylval.number = PROC_MOTHER;
4176 return PROCESSTYPE;
4177 }
4178 YY_BREAK
4179 case 28:
4180 YY_RULE_SETUP
4181 #line 420 "config_scan.l"
4182 {
4183 BEGIN(ismask ? start_schedulemask : start_schedulepolicy);
4184
4185 yylval.number = PROC_MONITOR;
4186 return PROCESSTYPE;
4187 }
4188 YY_BREAK
4189 case 29:
4190 YY_RULE_SETUP
4191 #line 427 "config_scan.l"
4192 {
4193 BEGIN(ismask ? start_schedulemask : start_schedulepolicy);
4194
4195 yylval.number = PROC_NEGOTIATE;
4196 return PROCESSTYPE;
4197 }
4198 YY_BREAK
4199 case 30:
4200 YY_RULE_SETUP
4201 #line 434 "config_scan.l"
4202 {
4203 BEGIN(ismask ? start_schedulemask : start_schedulepolicy);
4204
4205 yylval.number = PROC_REQUEST;
4206 return PROCESSTYPE;
4207 }
4208 YY_BREAK
4209 case 31:
4210 YY_RULE_SETUP
4211 #line 441 "config_scan.l"
4212 {
4213 BEGIN(ismask ? start_schedulemask : start_schedulepolicy);
4214
4215 yylval.number = PROC_IO;
4216 return PROCESSTYPE;
4217 }
4218 YY_BREAK
4219 case 32:
4220 YY_RULE_SETUP
4221 #line 448 "config_scan.l"
4222 {
4223 BEGIN(0);
4224
4225 yylval.number = CPUMASK_ANYCPU;
4226 return NUMBER;
4227 }
4228 YY_BREAK
4229 case 33:
4230 /* rule 33 can match eol */
4231 YY_RULE_SETUP
4232 #line 455 "config_scan.l"
4233 {
4234 #if SOCKS_CLIENT
4235 SERRX(0);
4236
4237 #else /* !SOCKS_CLIENT */
4238
4239 #if HAVE_SCHED_SETSCHEDULER
4240
4241 BEGIN(0);
4242
4243 if ((yylval.number = cpupolicy2numeric(socks_yytext)) == -1)
4244 yyerrorx("unknown scheduling policy \"%s\"", socks_yytext);
4245
4246 return SCHEDULEPOLICY;
4247
4248 #else /* !HAVE_SCHED_SETSCHEDULER */
4249
4250 yyerrorx("setting cpu scheduling policy is not supported on this platform");
4251
4252 #endif /* !HAVE_SCHED_SETSCHEDULER */
4253
4254 #endif /* SOCKS_CLIENT */
4255 }
4256 YY_BREAK
4257 /*
4258 * socket option stuff.
4259 */
4260 case 34:
4261 YY_RULE_SETUP
4262 #line 484 "config_scan.l"
4263 {
4264 BEGIN(start_socketoption);
4265
4266 yylval.number = IPPROTO_IP;
4267 return SOCKETPROTOCOL;
4268 }
4269 YY_BREAK
4270 case 35:
4271 YY_RULE_SETUP
4272 #line 491 "config_scan.l"
4273 {
4274 BEGIN(start_socketoption);
4275
4276 yylval.number = SOL_SOCKET;
4277 return SOCKETPROTOCOL;
4278 }
4279 YY_BREAK
4280 case 36:
4281 YY_RULE_SETUP
4282 #line 498 "config_scan.l"
4283 {
4284 BEGIN(start_socketoption);
4285
4286 yylval.number = IPPROTO_TCP;
4287 return SOCKETPROTOCOL;
4288 }
4289 YY_BREAK
4290 case 37:
4291 YY_RULE_SETUP
4292 #line 505 "config_scan.l"
4293 {
4294 BEGIN(start_socketoption);
4295
4296 yylval.number = IPPROTO_UDP;
4297 return SOCKETPROTOCOL;
4298 }
4299 YY_BREAK
4300 case 38:
4301 YY_RULE_SETUP
4302 #line 513 "config_scan.l"
4303 {
4304 const sockopt_t *sockopt;
4305
4306 BEGIN(start_socketoptionvalue);
4307
4308 if ((sockopt = optname2sockopt(socks_yytext)) == NULL)
4309 yyerrorx("unknown socket option \"%s\"", socks_yytext);
4310
4311 yylval.number = (ssize_t)sockopt->optid;
4312 return SOCKETOPTION_OPTID;
4313 }
4314 YY_BREAK
4315 case 39:
4316 YY_RULE_SETUP
4317 #line 525 "config_scan.l"
4318 {
4319 BEGIN(0);
4320
4321 yylval.string = socks_yytext;
4322 return SOCKETOPTION_SYMBOLICVALUE;
4323 }
4324 YY_BREAK
4325 case 40:
4326 YY_RULE_SETUP
4327 #line 532 "config_scan.l"
4328 {
4329 yylval.string = socks_yytext;
4330 return RULE_LOG_CONNECT;
4331 }
4332 YY_BREAK
4333 case 41:
4334 YY_RULE_SETUP
4335 #line 537 "config_scan.l"
4336 {
4337 yylval.string = socks_yytext;
4338 return RULE_LOG_DATA;
4339 }
4340 YY_BREAK
4341 case 42:
4342 YY_RULE_SETUP
4343 #line 542 "config_scan.l"
4344 {
4345 yylval.string = socks_yytext;
4346 return RULE_LOG_DISCONNECT;
4347 }
4348 YY_BREAK
4349 case 43:
4350 YY_RULE_SETUP
4351 #line 547 "config_scan.l"
4352 {
4353 yylval.string = socks_yytext;
4354 return RULE_LOG_ERROR;
4355 }
4356 YY_BREAK
4357 case 44:
4358 YY_RULE_SETUP
4359 #line 552 "config_scan.l"
4360 {
4361 yylval.string = socks_yytext;
4362 return RULE_LOG_IOOPERATION;
4363 }
4364 YY_BREAK
4365 case 45:
4366 YY_RULE_SETUP
4367 #line 557 "config_scan.l"
4368 {
4369 yylval.string = socks_yytext;
4370 return RULE_LOG_TCPINFO;
4371 }
4372 YY_BREAK
4373 case 46:
4374 *yy_cp = (yy_hold_char); /* undo effects of setting up socks_yytext */
4375 (yy_c_buf_p) = yy_cp -= 1;
4376 YY_DO_BEFORE_ACTION; /* set up socks_yytext again */
4377 YY_RULE_SETUP
4378 #line 562 "config_scan.l"
4379 {
4380 const loglevel_t *l;
4381 char visbuf[256];
4382
4383 BEGIN(start_logtype);
4384
4385 if ((l = loglevel(socks_yytext)) == NULL)
4386 yyerror("unknown loglevel: \"%s\"",
4387 str2vis(socks_yytext, strlen(socks_yytext), visbuf, sizeof(visbuf)));
4388
4389 yylval.number = l->value;
4390 return LOGLEVEL;
4391 }
4392 YY_BREAK
4393 case 47:
4394 YY_RULE_SETUP
4395 #line 576 "config_scan.l"
4396 {
4397 BEGIN(start_errorsymbol);
4398
4399 yylval.string = socks_yytext;
4400 return LOGTYPE_ERROR;
4401 }
4402 YY_BREAK
4403 case 48:
4404 YY_RULE_SETUP
4405 #line 583 "config_scan.l"
4406 {
4407 BEGIN(start_tcpoption);
4408
4409 yylval.string = socks_yytext;
4410 return LOGTYPE_TCP_DISABLED;
4411 }
4412 YY_BREAK
4413 case 49:
4414 YY_RULE_SETUP
4415 #line 590 "config_scan.l"
4416 {
4417 BEGIN(start_tcpoption);
4418
4419 yylval.string = socks_yytext;
4420 return LOGTYPE_TCP_ENABLED;
4421 }
4422 YY_BREAK
4423 case 50:
4424 YY_RULE_SETUP
4425 #line 598 "config_scan.l"
4426 {
4427 #if !SOCKS_CLIENT
4428
4429 /*
4430 * Figure out what kind of error-symbol we are dealing with.
4431 * Since we do not force the user to specify what kind of symbol
4432 * he specifies, we have to try all variants.
4433 */
4434 if ((yylval.error.valuev = gaivalue(socks_yytext)) != NULL)
4435 yylval.error.valuetype = VALUETYPE_GAIERR;
4436 else if ((yylval.error.valuev = errnovalue(socks_yytext)) != NULL)
4437 yylval.error.valuetype = VALUETYPE_ERRNO;
4438
4439 #else /* SOCKS_CLIENT */
4440
4441 yylval.error.valuev = NULL;
4442
4443 #endif /* SOCKS_CLIENT */
4444
4445 return ERRORVALUE;
4446 }
4447 YY_BREAK
4448 case 51:
4449 YY_RULE_SETUP
4450 #line 620 "config_scan.l"
4451 {
4452 yylval.string = socks_yytext;
4453 return BSDAUTHSTYLENAME;
4454 }
4455 YY_BREAK
4456 case 52:
4457 YY_RULE_SETUP
4458 #line 625 "config_scan.l"
4459 {
4460 yylval.string = socks_yytext;
4461 return LOGFILE;
4462 }
4463 YY_BREAK
4464 case 53:
4465 YY_RULE_SETUP
4466 #line 630 "config_scan.l"
4467 {
4468 yylval.string = socks_yytext;
4469 return USERNAME;
4470 }
4471 YY_BREAK
4472 case 54:
4473 YY_RULE_SETUP
4474 #line 635 "config_scan.l"
4475 {
4476 yylval.string = socks_yytext;
4477 return GROUPNAME;
4478 }
4479 YY_BREAK
4480 case 55:
4481 YY_RULE_SETUP
4482 #line 640 "config_scan.l"
4483 {
4484 yylval.string = socks_yytext;
4485 return LIBWRAP_FILE;
4486 }
4487 YY_BREAK
4488 case 56:
4489 YY_RULE_SETUP
4490 #line 645 "config_scan.l"
4491 {
4492 yylval.string = socks_yytext;
4493 return LDAP_DOMAIN;
4494 }
4495 YY_BREAK
4496 case 57:
4497 YY_RULE_SETUP
4498 #line 650 "config_scan.l"
4499 {
4500 yylval.string = socks_yytext;
4501 return LDAP_BASEDN;
4502 }
4503 YY_BREAK
4504 case 58:
4505 YY_RULE_SETUP
4506 #line 655 "config_scan.l"
4507 {
4508 yylval.string = socks_yytext;
4509 return LDAP_FILTER;
4510 }
4511 YY_BREAK
4512 case 59:
4513 YY_RULE_SETUP
4514 #line 660 "config_scan.l"
4515 {
4516 yylval.string = socks_yytext;
4517 return LDAP_URL;
4518 }
4519 YY_BREAK
4520 case 60:
4521 YY_RULE_SETUP
4522 #line 665 "config_scan.l"
4523 {
4524 yylval.string = socks_yytext;
4525 return LDAP_ATTRIBUTE;
4526 }
4527 YY_BREAK
4528 case 61:
4529 YY_RULE_SETUP
4530 #line 670 "config_scan.l"
4531 {
4532 yylval.string = socks_yytext;
4533 return LDAPGROUP_NAME;
4534 }
4535 YY_BREAK
4536 case 62:
4537 YY_RULE_SETUP
4538 #line 675 "config_scan.l"
4539 {
4540 yylval.string = socks_yytext;
4541 return LDAPSERVER_NAME;
4542 }
4543 YY_BREAK
4544 case 63:
4545 YY_RULE_SETUP
4546 #line 680 "config_scan.l"
4547 {
4548 yylval.string = socks_yytext;
4549 return LDAP_CERTFILE;
4550 }
4551 YY_BREAK
4552 case 64:
4553 YY_RULE_SETUP
4554 #line 685 "config_scan.l"
4555 {
4556 yylval.string = socks_yytext;
4557 return LDAP_CERTPATH;
4558 }
4559 YY_BREAK
4560 case 65:
4561 YY_RULE_SETUP
4562 #line 690 "config_scan.l"
4563 {
4564 yylval.string = socks_yytext;
4565 return LDAPKEYTABNAME;
4566 }
4567 YY_BREAK
4568 case 66:
4569 YY_RULE_SETUP
4570 #line 695 "config_scan.l"
4571 {
4572 yylval.string = socks_yytext;
4573 return LDAPKEYTABNAME;
4574 }
4575 YY_BREAK
4576 case 67:
4577 YY_RULE_SETUP
4578 #line 700 "config_scan.l"
4579 {
4580 yylval.string = socks_yytext;
4581 return PACSID_NAME;
4582 }
4583 YY_BREAK
4584 case 68:
4585 YY_RULE_SETUP
4586 #line 705 "config_scan.l"
4587 {
4588 yylval.string = socks_yytext;
4589 return GSSAPIKEYTABNAME;
4590 }
4591 YY_BREAK
4592 case 69:
4593 YY_RULE_SETUP
4594 #line 710 "config_scan.l"
4595 {
4596 yylval.string = socks_yytext;
4597 return GSSAPIKEYTABNAME;
4598 }
4599 YY_BREAK
4600 case 70:
4601 YY_RULE_SETUP
4602 #line 715 "config_scan.l"
4603 {
4604 yylval.string = socks_yytext;
4605 return GSSAPISERVICENAME;
4606 }
4607 YY_BREAK
4608 case 71:
4609 YY_RULE_SETUP
4610 #line 720 "config_scan.l"
4611 {
4612 BEGIN(start_line);
4613
4614 yylval.string = socks_yytext;
4615 return *socks_yytext;
4616 }
4617 YY_BREAK
4618 case 72:
4619 YY_RULE_SETUP
4620 #line 727 "config_scan.l"
4621 {
4622 BEGIN(0);
4623
4624 yylval.string = socks_yytext;
4625 return LINE;
4626 }
4627 YY_BREAK
4628 case 73:
4629 YY_RULE_SETUP
4630 #line 734 "config_scan.l"
4631 {
4632 yylval.string = socks_yytext;
4633 return NODNSMISMATCH;
4634 }
4635 YY_BREAK
4636 case 74:
4637 YY_RULE_SETUP
4638 #line 739 "config_scan.l"
4639 {
4640 yylval.string = socks_yytext;
4641 return NODNSUNKNOWN;
4642 }
4643 YY_BREAK
4644 case 75:
4645 YY_RULE_SETUP
4646 #line 744 "config_scan.l"
4647 {
4648 yylval.string = socks_yytext;
4649 return CHECKREPLYAUTH;
4650 }
4651 YY_BREAK
4652 case 76:
4653 YY_RULE_SETUP
4654 #line 749 "config_scan.l"
4655 {
4656 yylval.string = socks_yytext;
4657 return PROTOCOL_TCP;
4658 }
4659 YY_BREAK
4660 case 77:
4661 YY_RULE_SETUP
4662 #line 754 "config_scan.l"
4663 {
4664 yylval.string = socks_yytext;
4665 return PROTOCOL_UDP;
4666 }
4667 YY_BREAK
4668 case 78:
4669 YY_RULE_SETUP
4670 #line 759 "config_scan.l"
4671 {
4672 yylval.string = socks_yytext;
4673 return PROTOCOL_FAKE;
4674 }
4675 YY_BREAK
4676 case 79:
4677 YY_RULE_SETUP
4678 #line 764 "config_scan.l"
4679 {
4680 yylval.string = socks_yytext;
4681 return GSSAPIENC_ANY;
4682 }
4683 YY_BREAK
4684 case 80:
4685 YY_RULE_SETUP
4686 #line 769 "config_scan.l"
4687 {
4688 yylval.string = socks_yytext;
4689 return GSSAPIENC_CLEAR;
4690 }
4691 YY_BREAK
4692 case 81:
4693 YY_RULE_SETUP
4694 #line 774 "config_scan.l"
4695 {
4696 yylval.string = socks_yytext;
4697 return GSSAPIENC_INTEGRITY;
4698 }
4699 YY_BREAK
4700 case 82:
4701 YY_RULE_SETUP
4702 #line 779 "config_scan.l"
4703 {
4704 yylval.string = socks_yytext;
4705 return GSSAPIENC_CONFIDENTIALITY;
4706 }
4707 YY_BREAK
4708 case 83:
4709 YY_RULE_SETUP
4710 #line 784 "config_scan.l"
4711 {
4712 yylval.string = socks_yytext;
4713 return GSSAPIENC_PERMESSAGE;
4714 }
4715 YY_BREAK
4716 case 84:
4717 YY_RULE_SETUP
4718 #line 789 "config_scan.l"
4719 {
4720 yylval.string = socks_yytext;
4721 return REALNAME;
4722 }
4723 YY_BREAK
4724 case 85:
4725 YY_RULE_SETUP
4726 #line 794 "config_scan.l"
4727 {
4728 yylval.method = AUTHMETHOD_NONE;
4729 return METHODNAME;
4730 }
4731 YY_BREAK
4732 case 86:
4733 YY_RULE_SETUP
4734 #line 799 "config_scan.l"
4735 {
4736 yylval.method = AUTHMETHOD_GSSAPI;
4737 return METHODNAME;
4738 }
4739 YY_BREAK
4740 case 87:
4741 YY_RULE_SETUP
4742 #line 804 "config_scan.l"
4743 {
4744 yylval.method = AUTHMETHOD_UNAME;
4745 return METHODNAME;
4746 }
4747 YY_BREAK
4748 case 88:
4749 YY_RULE_SETUP
4750 #line 809 "config_scan.l"
4751 {
4752 yylval.method = AUTHMETHOD_RFC931;
4753 return METHODNAME;
4754 }
4755 YY_BREAK
4756 case 89:
4757 YY_RULE_SETUP
4758 #line 814 "config_scan.l"
4759 {
4760 yylval.number = AUTHMETHOD_PAM_ANY;
4761 return METHODNAME;
4762 }
4763 YY_BREAK
4764 case 90:
4765 YY_RULE_SETUP
4766 #line 819 "config_scan.l"
4767 {
4768 yylval.method = AUTHMETHOD_PAM_ADDRESS;
4769 return METHODNAME;
4770 }
4771 YY_BREAK
4772 case 91:
4773 YY_RULE_SETUP
4774 #line 824 "config_scan.l"
4775 {
4776 yylval.method = AUTHMETHOD_PAM_USERNAME;
4777 return METHODNAME;
4778 }
4779 YY_BREAK
4780 case 92:
4781 YY_RULE_SETUP
4782 #line 829 "config_scan.l"
4783 {
4784 yywarnx_deprecated(socks_yytext, "pam.*");
4785
4786 yylval.method = AUTHMETHOD_PAM_USERNAME;
4787 return METHODNAME;
4788 }
4789 YY_BREAK
4790 case 93:
4791 YY_RULE_SETUP
4792 #line 837 "config_scan.l"
4793 {
4794 yylval.method = AUTHMETHOD_BSDAUTH;
4795 return METHODNAME;
4796 }
4797 YY_BREAK
4798 case 94:
4799 YY_RULE_SETUP
4800 #line 842 "config_scan.l"
4801 {
4802 yylval.method = AUTHMETHOD_LDAPAUTH;
4803 return METHODNAME;
4804 }
4805 YY_BREAK
4806 /* non-start condition dependents. */
4807 case 95:
4808 YY_RULE_SETUP
4809 #line 849 "config_scan.l"
4810 {
4811 BEGIN(start_servicename);
4812
4813 yylval.string = socks_yytext;
4814 return OPERATOR;
4815 }
4816 YY_BREAK
4817 case 96:
4818 YY_RULE_SETUP
4819 #line 856 "config_scan.l"
4820 {
4821 inclientrule = 1;
4822
4823 yylval.string = socks_yytext;
4824 return CLIENTRULE;
4825 }
4826 YY_BREAK
4827 case 97:
4828 YY_RULE_SETUP
4829 #line 863 "config_scan.l"
4830 {
4831 yylval.string = socks_yytext;
4832 return HOSTIDRULE;
4833 }
4834 YY_BREAK
4835 case 98:
4836 YY_RULE_SETUP
4837 #line 868 "config_scan.l"
4838 {
4839 yylval.string = socks_yytext;
4840 return SOCKSRULE;
4841 }
4842 YY_BREAK
4843 case 99:
4844 YY_RULE_SETUP
4845 #line 873 "config_scan.l"
4846 { /* deprecated socks rule syntax, without "socks "-prefix. */
4847 #if SOCKS_CLIENT
4848
4849 yyerrorx("pass/block rules are not used in the client");
4850
4851 #else /* server */
4852 char old[256], new[256];
4853
4854 snprintf(old, sizeof(old), "%s", socks_yytext);
4855 STRIPTRAILING(old, strlen(old), " \t");
4856
4857 snprintf(new, sizeof(new), "socks %s", old);
4858
4859 yywarnx_deprecated(old, new);
4860
4861 yyless(0);
4862
4863 return SOCKSRULE;
4864
4865 #endif /* server */
4866 }
4867 YY_BREAK
4868 case 100:
4869 YY_RULE_SETUP
4870 #line 896 "config_scan.l"
4871 {
4872 yylval.string = socks_yytext;
4873 return ALARMTYPE_DATA;
4874 }
4875 YY_BREAK
4876 case 101:
4877 YY_RULE_SETUP
4878 #line 901 "config_scan.l"
4879 {
4880 yylval.string = socks_yytext;
4881 return ALARMTYPE_DISCONNECT;
4882 }
4883 YY_BREAK
4884 case 102:
4885 *yy_cp = (yy_hold_char); /* undo effects of setting up socks_yytext */
4886 (yy_c_buf_p) = yy_cp = yy_bp + 5;
4887 YY_DO_BEFORE_ACTION; /* set up socks_yytext again */
4888 YY_RULE_SETUP
4889 #line 906 "config_scan.l"
4890 {
4891 BEGIN(start_alarmtest);
4892
4893 yylval.string = socks_yytext;
4894 return ALARM;
4895 }
4896 YY_BREAK
4897 case 103:
4898 /* rule 103 can match eol */
4899 *yy_cp = (yy_hold_char); /* undo effects of setting up socks_yytext */
4900 YY_LINENO_REWIND_TO(yy_bp + 5);
4901 (yy_c_buf_p) = yy_cp = yy_bp + 5;
4902 YY_DO_BEFORE_ACTION; /* set up socks_yytext again */
4903 YY_RULE_SETUP
4904 #line 914 "config_scan.l"
4905 {
4906 yylval.string = socks_yytext;
4907 return RECVSIDE;
4908 }
4909 YY_BREAK
4910 case 104:
4911 /* rule 104 can match eol */
4912 *yy_cp = (yy_hold_char); /* undo effects of setting up socks_yytext */
4913 YY_LINENO_REWIND_TO(yy_bp + 5);
4914 (yy_c_buf_p) = yy_cp = yy_bp + 5;
4915 YY_DO_BEFORE_ACTION; /* set up socks_yytext again */
4916 YY_RULE_SETUP
4917 #line 919 "config_scan.l"
4918 {
4919 yylval.string = socks_yytext;
4920 return SENDSIDE;
4921 }
4922 YY_BREAK
4923 case 105:
4924 YY_RULE_SETUP
4925 #line 924 "config_scan.l"
4926 {
4927 yylval.string = socks_yytext;
4928 return DEBUGGING;
4929 }
4930 YY_BREAK
4931 case 106:
4932 YY_RULE_SETUP
4933 #line 929 "config_scan.l"
4934 {
4935 inroute = 1;
4936
4937 yylval.string = socks_yytext;
4938 return ROUTE;
4939 }
4940 YY_BREAK
4941 case 107:
4942 YY_RULE_SETUP
4943 #line 936 "config_scan.l"
4944 {
4945 yylval.string = socks_yytext;
4946 return ROUTE;
4947 }
4948 YY_BREAK
4949 case 108:
4950 YY_RULE_SETUP
4951 #line 942 "config_scan.l"
4952 {
4953 yylval.string = socks_yytext;
4954 return GLOBALROUTEOPTION;
4955 }
4956 YY_BREAK
4957 case 109:
4958 YY_RULE_SETUP
4959 #line 948 "config_scan.l"
4960 {
4961 yylval.string = socks_yytext;
4962 return MAXFAIL;
4963 }
4964 YY_BREAK
4965 case 110:
4966 YY_RULE_SETUP
4967 #line 953 "config_scan.l"
4968 {
4969 yylval.string = socks_yytext;
4970 return BADROUTE_EXPIRE;
4971 }
4972 YY_BREAK
4973 case 111:
4974 YY_RULE_SETUP
4975 #line 958 "config_scan.l"
4976 {
4977 BEGIN(start_protocol);
4978
4979 yylval.string = socks_yytext;
4980 return RESOLVEPROTOCOL;
4981 }
4982 YY_BREAK
4983 case 112:
4984 YY_RULE_SETUP
4985 #line 965 "config_scan.l"
4986 {
4987 BEGIN(start_srchost);
4988
4989 yylval.string = socks_yytext;
4990 return SRCHOST;
4991 }
4992 YY_BREAK
4993 case 113:
4994 YY_RULE_SETUP
4995 #line 972 "config_scan.l"
4996 {
4997 BEGIN(start_proxyprotocol);
4998
4999 yylval.string = socks_yytext;
5000 return PROXYPROTOCOL;
5001 }
5002 YY_BREAK
5003 case 114:
5004 YY_RULE_SETUP
5005 #line 979 "config_scan.l"
5006 {
5007 BEGIN(start_logoutput);
5008
5009 yylval.string = socks_yytext;
5010 return ERRORLOG;
5011 }
5012 YY_BREAK
5013 case 115:
5014 YY_RULE_SETUP
5015 #line 986 "config_scan.l"
5016 {
5017 BEGIN(start_logoutput);
5018
5019 yylval.string = socks_yytext;
5020 return LOGOUTPUT;
5021 }
5022 YY_BREAK
5023 case 116:
5024 YY_RULE_SETUP
5025 #line 994 "config_scan.l"
5026 {
5027 BEGIN(start_protocol);
5028
5029 yylval.string = socks_yytext;
5030 return PROTOCOL;
5031 }
5032 YY_BREAK
5033 case 117:
5034 YY_RULE_SETUP
5035 #line 1001 "config_scan.l"
5036 {
5037 BEGIN(start_command);
5038
5039 yylval.string = socks_yytext;
5040 return COMMAND;
5041 }
5042 YY_BREAK
5043 case 118:
5044 YY_RULE_SETUP
5045 #line 1008 "config_scan.l"
5046 {
5047 yylval.string = socks_yytext;
5048 return UDPPORTRANGE;
5049 }
5050 YY_BREAK
5051 case 119:
5052 YY_RULE_SETUP
5053 #line 1013 "config_scan.l"
5054 {
5055 yylval.string = socks_yytext;
5056 return UDPCONNECTDST;
5057 }
5058 YY_BREAK
5059 case 120:
5060 YY_RULE_SETUP
5061 #line 1018 "config_scan.l"
5062 {
5063 yylval.string = socks_yytext;
5064 return REDIRECT;
5065 }
5066 YY_BREAK
5067 case 121:
5068 YY_RULE_SETUP
5069 #line 1023 "config_scan.l"
5070 {
5071 yylval.string = socks_yytext;
5072 return BANDWIDTH;
5073 }
5074 YY_BREAK
5075 case 122:
5076 YY_RULE_SETUP
5077 #line 1028 "config_scan.l"
5078 {
5079 yylval.string = socks_yytext;
5080 return SESSIONMAX;
5081 }
5082 YY_BREAK
5083 case 123:
5084 YY_RULE_SETUP
5085 #line 1033 "config_scan.l"
5086 {
5087 yylval.string = socks_yytext;
5088 return SESSION_INHERITABLE;
5089 }
5090 YY_BREAK
5091 case 124:
5092 YY_RULE_SETUP
5093 #line 1038 "config_scan.l"
5094 {
5095 yylval.string = socks_yytext;
5096 return SESSIONTHROTTLE;
5097 }
5098 YY_BREAK
5099 case 125:
5100 YY_RULE_SETUP
5101 #line 1043 "config_scan.l"
5102 {
5103 BEGIN(start_statekey);
5104
5105 yylval.string = socks_yytext;
5106 return SESSIONSTATE_KEY;
5107 }
5108 YY_BREAK
5109 case 126:
5110 YY_RULE_SETUP
5111 #line 1050 "config_scan.l"
5112 {
5113 yylval.string = socks_yytext;
5114 return SESSIONSTATE_THROTTLE;
5115 }
5116 YY_BREAK
5117 case 127:
5118 YY_RULE_SETUP
5119 #line 1055 "config_scan.l"
5120 {
5121 yylval.string = socks_yytext;
5122 return SESSIONSTATE_MAX;
5123 }
5124 YY_BREAK
5125 case 128:
5126 YY_RULE_SETUP
5127 #line 1061 "config_scan.l"
5128 {
5129 yylval.string = socks_yytext;
5130 return WORD__IN;
5131 }
5132 YY_BREAK
5133 case 129:
5134 YY_RULE_SETUP
5135 #line 1066 "config_scan.l"
5136 {
5137 BEGIN(start_address);
5138
5139 yylval.string = socks_yytext;
5140 return FROM;
5141 }
5142 YY_BREAK
5143 case 130:
5144 YY_RULE_SETUP
5145 #line 1073 "config_scan.l"
5146 {
5147 BEGIN(start_address);
5148
5149 yylval.string = socks_yytext;
5150 return TO;
5151 }
5152 YY_BREAK
5153 case 131:
5154 YY_RULE_SETUP
5155 #line 1080 "config_scan.l"
5156 {
5157 BEGIN(start_address);
5158
5159 yylval.string = socks_yytext;
5160 return VIA;
5161 }
5162 YY_BREAK
5163 case 132:
5164 YY_RULE_SETUP
5165 #line 1087 "config_scan.l"
5166 {
5167 yylval.string = socks_yytext;
5168 return YES;
5169 }
5170 YY_BREAK
5171 case 133:
5172 YY_RULE_SETUP
5173 #line 1092 "config_scan.l"
5174 {
5175 yylval.string = socks_yytext;
5176 return NO;
5177 }
5178 YY_BREAK
5179 case 134:
5180 *yy_cp = (yy_hold_char); /* undo effects of setting up socks_yytext */
5181 (yy_c_buf_p) = yy_cp = yy_bp + 9;
5182 YY_DO_BEFORE_ACTION; /* set up socks_yytext again */
5183 YY_RULE_SETUP
5184 #line 1097 "config_scan.l"
5185 {
5186 BEGIN(start_socketprotocol);
5187
5188 yylval.string = socks_yytext;
5189 return INTERNALSOCKET;
5190 }
5191 YY_BREAK
5192 case 135:
5193 *yy_cp = (yy_hold_char); /* undo effects of setting up socks_yytext */
5194 (yy_c_buf_p) = yy_cp = yy_bp + 9;
5195 YY_DO_BEFORE_ACTION; /* set up socks_yytext again */
5196 YY_RULE_SETUP
5197 #line 1104 "config_scan.l"
5198 {
5199 yylval.string = socks_yytext;
5200 return ALARMIF_INTERNAL;
5201 }
5202 YY_BREAK
5203 case 136:
5204 *yy_cp = (yy_hold_char); /* undo effects of setting up socks_yytext */
5205 (yy_c_buf_p) = yy_cp = yy_bp + 12;
5206 YY_DO_BEFORE_ACTION; /* set up socks_yytext again */
5207 YY_RULE_SETUP
5208 #line 1109 "config_scan.l"
5209 {
5210 BEGIN(start_loglevel);
5211
5212 yylval.string = socks_yytext;
5213 return LOGIF_INTERNAL;
5214 }
5215 YY_BREAK
5216 case 137:
5217 YY_RULE_SETUP
5218 #line 1116 "config_scan.l"
5219 {
5220 BEGIN(start_protocol);
5221
5222 yylval.string = socks_yytext;
5223 return INTERNAL_PROTOCOL;
5224 }
5225 YY_BREAK
5226 case 138:
5227 /* rule 138 can match eol */
5228 *yy_cp = (yy_hold_char); /* undo effects of setting up socks_yytext */
5229 YY_LINENO_REWIND_TO(yy_bp + 8);
5230 (yy_c_buf_p) = yy_cp = yy_bp + 8;
5231 YY_DO_BEFORE_ACTION; /* set up socks_yytext again */
5232 YY_RULE_SETUP
5233 #line 1124 "config_scan.l"
5234 {
5235 BEGIN(start_address);
5236
5237 yylval.string = socks_yytext;
5238 return INTERNAL;
5239 }
5240 YY_BREAK
5241 case 139:
5242 *yy_cp = (yy_hold_char); /* undo effects of setting up socks_yytext */
5243 (yy_c_buf_p) = yy_cp = yy_bp + 9;
5244 YY_DO_BEFORE_ACTION; /* set up socks_yytext again */
5245 YY_RULE_SETUP
5246 #line 1132 "config_scan.l"
5247 {
5248 BEGIN(start_socketprotocol);
5249
5250 yylval.string = socks_yytext;
5251 return EXTERNALSOCKET;
5252 }
5253 YY_BREAK
5254 case 140:
5255 *yy_cp = (yy_hold_char); /* undo effects of setting up socks_yytext */
5256 (yy_c_buf_p) = yy_cp = yy_bp + 9;
5257 YY_DO_BEFORE_ACTION; /* set up socks_yytext again */
5258 YY_RULE_SETUP
5259 #line 1139 "config_scan.l"
5260 {
5261 yylval.string = socks_yytext;
5262 return ALARMIF_EXTERNAL;
5263 }
5264 YY_BREAK
5265 case 141:
5266 YY_RULE_SETUP
5267 #line 1144 "config_scan.l"
5268 {
5269 BEGIN(start_protocol);
5270
5271 yylval.string = socks_yytext;
5272 return EXTERNAL_PROTOCOL;
5273 }
5274 YY_BREAK
5275 case 142:
5276 YY_RULE_SETUP
5277 #line 1151 "config_scan.l"
5278 {
5279 yylval.string = socks_yytext;
5280 return EXTERNAL_ROTATION;
5281 }
5282 YY_BREAK
5283 case 143:
5284 *yy_cp = (yy_hold_char); /* undo effects of setting up socks_yytext */
5285 (yy_c_buf_p) = yy_cp = yy_bp + 12;
5286 YY_DO_BEFORE_ACTION; /* set up socks_yytext again */
5287 YY_RULE_SETUP
5288 #line 1156 "config_scan.l"
5289 {
5290 BEGIN(start_loglevel);
5291
5292 yylval.string = socks_yytext;
5293 return LOGIF_EXTERNAL;
5294 }
5295 YY_BREAK
5296 case 144:
5297 /* rule 144 can match eol */
5298 *yy_cp = (yy_hold_char); /* undo effects of setting up socks_yytext */
5299 YY_LINENO_REWIND_TO(yy_bp + 8);
5300 (yy_c_buf_p) = yy_cp = yy_bp + 8;
5301 YY_DO_BEFORE_ACTION; /* set up socks_yytext again */
5302 YY_RULE_SETUP
5303 #line 1163 "config_scan.l"
5304 {
5305 BEGIN(start_address);
5306
5307 yylval.string = socks_yytext;
5308 return EXTERNAL;
5309 }
5310 YY_BREAK
5311 case 145:
5312 YY_RULE_SETUP
5313 #line 1170 "config_scan.l"
5314 {
5315 yylval.string = socks_yytext;
5316 return NONE;
5317 }
5318 YY_BREAK
5319 case 146:
5320 YY_RULE_SETUP
5321 #line 1175 "config_scan.l"
5322 {
5323 yylval.string = socks_yytext;
5324 return SAMESAME;
5325 }
5326 YY_BREAK
5327 case 147:
5328 YY_RULE_SETUP
5329 #line 1181 "config_scan.l"
5330 {
5331 yywarnx_deprecated(socks_yytext, NULL);
5332 }
5333 YY_BREAK
5334 case 148:
5335 YY_RULE_SETUP
5336 #line 1185 "config_scan.l"
5337 {
5338 yylval.string = socks_yytext;
5339 return PROC_MAXREQUESTS;
5340 }
5341 YY_BREAK
5342 case 149:
5343 YY_RULE_SETUP
5344 #line 1190 "config_scan.l"
5345 {
5346 yylval.string = socks_yytext;
5347 return PROC_MAXLIFETIME;
5348 }
5349 YY_BREAK
5350 case 150:
5351 YY_RULE_SETUP
5352 #line 1195 "config_scan.l"
5353 {
5354 BEGIN(start_username);
5355
5356 yylval.string = socks_yytext;
5357 return USER;
5358 }
5359 YY_BREAK
5360 case 151:
5361 YY_RULE_SETUP
5362 #line 1202 "config_scan.l"
5363 {
5364 BEGIN(start_groupname);
5365
5366 yylval.string = socks_yytext;
5367 return GROUP;
5368 }
5369 YY_BREAK
5370 case 152:
5371 YY_RULE_SETUP
5372 #line 1209 "config_scan.l"
5373 {
5374 BEGIN(start_username);
5375
5376 yylval.string = socks_yytext;
5377 return USER_PRIVILEGED;
5378 }
5379 YY_BREAK
5380 case 153:
5381 YY_RULE_SETUP
5382 #line 1216 "config_scan.l"
5383 {
5384 BEGIN(start_username);
5385
5386 yylval.string = socks_yytext;
5387 return USER_UNPRIVILEGED;
5388 }
5389 YY_BREAK
5390 case 154:
5391 YY_RULE_SETUP
5392 #line 1223 "config_scan.l"
5393 {
5394 BEGIN(start_username);
5395
5396 yylval.string = socks_yytext;
5397 return USER_LIBWRAP;
5398 }
5399 YY_BREAK
5400 case 155:
5401 YY_RULE_SETUP
5402 #line 1230 "config_scan.l"
5403 {
5404 yylval.string = socks_yytext;
5405 return CONNECTTIMEOUT;
5406 }
5407 YY_BREAK
5408 case 156:
5409 YY_RULE_SETUP
5410 #line 1235 "config_scan.l"
5411 {
5412 yylval.string = socks_yytext;
5413 return TCP_FIN_WAIT;
5414 }
5415 YY_BREAK
5416 case 157:
5417 YY_RULE_SETUP
5418 #line 1241 "config_scan.l"
5419 {
5420 yylval.string = socks_yytext;
5421 return IOTIMEOUT;
5422 }
5423 YY_BREAK
5424 case 158:
5425 YY_RULE_SETUP
5426 #line 1246 "config_scan.l"
5427 {
5428 yylval.string = socks_yytext;
5429 return IOTIMEOUT_TCP;
5430 }
5431 YY_BREAK
5432 case 159:
5433 YY_RULE_SETUP
5434 #line 1251 "config_scan.l"
5435 {
5436 yylval.string = socks_yytext;
5437 return IOTIMEOUT_UDP;
5438 }
5439 YY_BREAK
5440 case 160:
5441 YY_RULE_SETUP
5442 #line 1256 "config_scan.l"
5443 {
5444 yylval.string = socks_yytext;
5445 return NEGOTIATETIMEOUT;
5446 }
5447 YY_BREAK
5448 case 161:
5449 YY_RULE_SETUP
5450 #line 1262 "config_scan.l"
5451 {
5452 yylval.string = socks_yytext;
5453 return COMPATIBILITY;
5454 }
5455 YY_BREAK
5456 case 162:
5457 YY_RULE_SETUP
5458 #line 1267 "config_scan.l"
5459 {
5460 yylval.string = socks_yytext;
5461 return SAMEPORT;
5462 }
5463 YY_BREAK
5464 case 163:
5465 YY_RULE_SETUP
5466 #line 1272 "config_scan.l"
5467 {
5468 yylval.string = socks_yytext;
5469 return DRAFT_5_05;
5470 }
5471 YY_BREAK
5472 case 164:
5473 YY_RULE_SETUP
5474 #line 1277 "config_scan.l"
5475 {
5476 yylval.string = socks_yytext;
5477 return CLIENTCOMPATIBILITY;
5478 }
5479 YY_BREAK
5480 case 165:
5481 YY_RULE_SETUP
5482 #line 1282 "config_scan.l"
5483 {
5484 yylval.string = socks_yytext;
5485 return NECGSSAPI;
5486 }
5487 YY_BREAK
5488 case 166:
5489 YY_RULE_SETUP
5490 #line 1287 "config_scan.l"
5491 {
5492 yylval.string = socks_yytext;
5493 return EXTENSION;
5494 }
5495 YY_BREAK
5496 case 167:
5497 YY_RULE_SETUP
5498 #line 1292 "config_scan.l"
5499 {
5500 yylval.string = socks_yytext;
5501 return BIND;
5502 }
5503 YY_BREAK
5504 case 168:
5505 YY_RULE_SETUP
5506 #line 1297 "config_scan.l"
5507 {
5508 BEGIN(start_address);
5509
5510 yylval.string = socks_yytext;
5511 return HOSTID;
5512 }
5513 YY_BREAK
5514 case 169:
5515 YY_RULE_SETUP
5516 #line 1304 "config_scan.l"
5517 {
5518 yylval.string = socks_yytext;
5519 return MONITOR;
5520 }
5521 YY_BREAK
5522 case 170:
5523 YY_RULE_SETUP
5524 #line 1309 "config_scan.l"
5525 {
5526 BEGIN(start_hostindex);
5527
5528 yylval.string = socks_yytext;
5529 return HOSTINDEX;
5530 }
5531 YY_BREAK
5532 case 171:
5533 YY_RULE_SETUP
5534 #line 1316 "config_scan.l"
5535 {
5536 BEGIN(0);
5537
5538 yylval.number = 0;
5539 return NUMBER;
5540 }
5541 YY_BREAK
5542 case 172:
5543 YY_RULE_SETUP
5544 #line 1324 "config_scan.l"
5545 {
5546 BEGIN(start_method);
5547
5548 yylval.string = socks_yytext;
5549 return SOCKSMETHOD;
5550 }
5551 YY_BREAK
5552 case 173:
5553 YY_RULE_SETUP
5554 #line 1331 "config_scan.l"
5555 {
5556 BEGIN(start_method);
5557
5558 yylval.string = socks_yytext;
5559 return CLIENTMETHOD;
5560 }
5561 YY_BREAK
5562 case 174:
5563 YY_RULE_SETUP
5564 #line 1338 "config_scan.l"
5565 {
5566 BEGIN(start_method);
5567
5568 yylval.string = socks_yytext;
5569
5570 if (inroute)
5571 return METHOD;
5572 else if (inclientrule) {
5573 yywarnx_deprecated(socks_yytext, "clientmethod");
5574 return CLIENTMETHOD;
5575 }
5576 else /* anywhere else; must be socksmethod. */
5577 yywarnx_deprecated(socks_yytext, "socksmethod");
5578
5579 return SOCKSMETHOD;
5580 }
5581 YY_BREAK
5582 /* filterrules */
5583 /*
5584 * verdicts
5585 */
5586 case 175:
5587 YY_RULE_SETUP
5588 #line 1362 "config_scan.l"
5589 {
5590 yylval.string = socks_yytext;
5591 return VERDICT_BLOCK;
5592 }
5593 YY_BREAK
5594 case 176:
5595 YY_RULE_SETUP
5596 #line 1367 "config_scan.l"
5597 {
5598 yylval.string = socks_yytext;
5599 return VERDICT_PASS;
5600 }
5601 YY_BREAK
5602 case 177:
5603 *yy_cp = (yy_hold_char); /* undo effects of setting up socks_yytext */
5604 (yy_c_buf_p) = yy_cp = yy_bp + 3;
5605 YY_DO_BEFORE_ACTION; /* set up socks_yytext again */
5606 YY_RULE_SETUP
5607 #line 1372 "config_scan.l"
5608 {
5609 BEGIN(start_log);
5610
5611 yylval.string = socks_yytext;
5612 return RULE_LOG;
5613 }
5614 YY_BREAK
5615 case 178:
5616 YY_RULE_SETUP
5617 #line 1380 "config_scan.l"
5618 {
5619 BEGIN(lineprefix);
5620
5621 yylval.string = socks_yytext;
5622 return LIBWRAPSTART;
5623 }
5624 YY_BREAK
5625 case 179:
5626 YY_RULE_SETUP
5627 #line 1387 "config_scan.l"
5628 {
5629 BEGIN(start_libwrapfile);
5630
5631 yylval.string = socks_yytext;
5632 return LIBWRAP_ALLOW;
5633 }
5634 YY_BREAK
5635 case 180:
5636 YY_RULE_SETUP
5637 #line 1394 "config_scan.l"
5638 {
5639 BEGIN(start_libwrapfile);
5640
5641 yylval.string = socks_yytext;
5642 return LIBWRAP_DENY;
5643 }
5644 YY_BREAK
5645 case 181:
5646 YY_RULE_SETUP
5647 #line 1401 "config_scan.l"
5648 {
5649 yylval.string = socks_yytext;
5650 return LIBWRAP_HOSTS_ACCESS;
5651 }
5652 YY_BREAK
5653 case 182:
5654 YY_RULE_SETUP
5655 #line 1406 "config_scan.l"
5656 {
5657 BEGIN(start_servicename);
5658
5659 yylval.string = socks_yytext;
5660 return PAMSERVICENAME;
5661 }
5662 YY_BREAK
5663 case 183:
5664 YY_RULE_SETUP
5665 #line 1413 "config_scan.l"
5666 {
5667 BEGIN(start_bsdauthstylename);
5668
5669 yylval.string = socks_yytext;
5670 return BSDAUTHSTYLE;
5671 }
5672 YY_BREAK
5673 case 184:
5674 YY_RULE_SETUP
5675 #line 1420 "config_scan.l"
5676 {
5677 BEGIN(start_gssapiservicename);
5678
5679 yylval.string = socks_yytext;
5680 return GSSAPISERVICE;
5681 }
5682 YY_BREAK
5683 case 185:
5684 YY_RULE_SETUP
5685 #line 1427 "config_scan.l"
5686 {
5687 BEGIN(start_gssapikeytabname);
5688
5689 yylval.string = socks_yytext;
5690 return GSSAPIKEYTAB;
5691 }
5692 YY_BREAK
5693 case 186:
5694 YY_RULE_SETUP
5695 #line 1434 "config_scan.l"
5696 {
5697 BEGIN(start_encryption);
5698
5699 yylval.string = socks_yytext;
5700 return GSSAPIENCTYPE;
5701 }
5702 YY_BREAK
5703 case 187:
5704 YY_RULE_SETUP
5705 #line 1441 "config_scan.l"
5706 {
5707 BEGIN(start_ldapbasedn);
5708
5709 yylval.string = socks_yytext;
5710 return LDAPBASEDN;
5711 }
5712 YY_BREAK
5713 case 188:
5714 YY_RULE_SETUP
5715 #line 1448 "config_scan.l"
5716 {
5717 BEGIN(start_ldapbasedn);
5718
5719 yylval.string = socks_yytext;
5720 return LDAPBASEDN_HEX;
5721 }
5722 YY_BREAK
5723 case 189:
5724 YY_RULE_SETUP
5725 #line 1455 "config_scan.l"
5726 {
5727 BEGIN(start_ldapbasedn);
5728
5729 yylval.string = socks_yytext;
5730 return LDAPBASEDN_HEX_ALL;
5731 }
5732 YY_BREAK
5733 case 190:
5734 YY_RULE_SETUP
5735 #line 1462 "config_scan.l"
5736 {
5737 BEGIN(start_ldapbasedn);
5738
5739 yylval.string = socks_yytext;
5740 return LDAPAUTHBASEDN;
5741 }
5742 YY_BREAK
5743 case 191:
5744 YY_RULE_SETUP
5745 #line 1469 "config_scan.l"
5746 {
5747 BEGIN(start_ldapbasedn);
5748
5749 yylval.string = socks_yytext;
5750 return LDAPAUTHBASEDN_HEX;
5751 }
5752 YY_BREAK
5753 case 192:
5754 YY_RULE_SETUP
5755 #line 1476 "config_scan.l"
5756 {
5757 BEGIN(start_ldapbasedn);
5758
5759 yylval.string = socks_yytext;
5760 return LDAPAUTHBASEDN_HEX_ALL;
5761 }
5762 YY_BREAK
5763 case 193:
5764 YY_RULE_SETUP
5765 #line 1483 "config_scan.l"
5766 {
5767 yylval.string = socks_yytext;
5768 return LDAPPORT;
5769 }
5770 YY_BREAK
5771 case 194:
5772 YY_RULE_SETUP
5773 #line 1488 "config_scan.l"
5774 {
5775 yylval.string = socks_yytext;
5776 return LDAPAUTHPORT;
5777 }
5778 YY_BREAK
5779 case 195:
5780 YY_RULE_SETUP
5781 #line 1493 "config_scan.l"
5782 {
5783 yylval.string = socks_yytext;
5784 return LDAPPORTSSL;
5785 }
5786 YY_BREAK
5787 case 196:
5788 YY_RULE_SETUP
5789 #line 1498 "config_scan.l"
5790 {
5791 yylval.string = socks_yytext;
5792 return LDAPAUTHPORTSSL;
5793 }
5794 YY_BREAK
5795 case 197:
5796 YY_RULE_SETUP
5797 #line 1503 "config_scan.l"
5798 {
5799 BEGIN(start_ldapurl);
5800
5801 yylval.string = socks_yytext;
5802 return LDAPURL;
5803 }
5804 YY_BREAK
5805 case 198:
5806 YY_RULE_SETUP
5807 #line 1510 "config_scan.l"
5808 {
5809 BEGIN(start_ldapurl);
5810
5811 yylval.string = socks_yytext;
5812 return LDAPAUTHURL;
5813 }
5814 YY_BREAK
5815 case 199:
5816 YY_RULE_SETUP
5817 #line 1517 "config_scan.l"
5818 {
5819 BEGIN(start_ldapcertfile);
5820
5821 yylval.string = socks_yytext;
5822 return LDAPCERTFILE;
5823 }
5824 YY_BREAK
5825 case 200:
5826 YY_RULE_SETUP
5827 #line 1524 "config_scan.l"
5828 {
5829 BEGIN(start_ldapcertfile);
5830
5831 yylval.string = socks_yytext;
5832 return LDAPAUTHCERTFILE;
5833 }
5834 YY_BREAK
5835 case 201:
5836 YY_RULE_SETUP
5837 #line 1531 "config_scan.l"
5838 {
5839 BEGIN(start_ldapcertpath);
5840
5841 yylval.string = socks_yytext;
5842 return LDAPCERTPATH;
5843 }
5844 YY_BREAK
5845 case 202:
5846 YY_RULE_SETUP
5847 #line 1538 "config_scan.l"
5848 {
5849 BEGIN(start_ldapcertpath);
5850
5851 yylval.string = socks_yytext;
5852 return LDAPAUTHCERTPATH;
5853 }
5854 YY_BREAK
5855 case 203:
5856 YY_RULE_SETUP
5857 #line 1545 "config_scan.l"
5858 {
5859 BEGIN(start_ldapdomain);
5860
5861 yylval.string = socks_yytext;
5862 return LDAPDOMAIN;
5863 }
5864 YY_BREAK
5865 case 204:
5866 YY_RULE_SETUP
5867 #line 1552 "config_scan.l"
5868 {
5869 BEGIN(start_ldapdomain);
5870
5871 yylval.string = socks_yytext;
5872 return LDAPAUTHDOMAIN;
5873 }
5874 YY_BREAK
5875 case 205:
5876 YY_RULE_SETUP
5877 #line 1559 "config_scan.l"
5878 {
5879 yylval.string = socks_yytext;
5880 return LDAPDEBUG;
5881 }
5882 YY_BREAK
5883 case 206:
5884 YY_RULE_SETUP
5885 #line 1564 "config_scan.l"
5886 {
5887 yylval.string = socks_yytext;
5888 return LDAPAUTHDEBUG;
5889 }
5890 YY_BREAK
5891 case 207:
5892 YY_RULE_SETUP
5893 #line 1569 "config_scan.l"
5894 {
5895 yylval.string = socks_yytext;
5896 return LDAPDEPTH;
5897 }
5898 YY_BREAK
5899 case 208:
5900 YY_RULE_SETUP
5901 #line 1574 "config_scan.l"
5902 {
5903 yylval.string = socks_yytext;
5904 return LDAPSSL;
5905 }
5906 YY_BREAK
5907 case 209:
5908 YY_RULE_SETUP
5909 #line 1579 "config_scan.l"
5910 {
5911 yylval.string = socks_yytext;
5912 return LDAPAUTHSSL;
5913 }
5914 YY_BREAK
5915 case 210:
5916 YY_RULE_SETUP
5917 #line 1584 "config_scan.l"
5918 {
5919 yylval.string = socks_yytext;
5920 return LDAPAUTO;
5921 }
5922 YY_BREAK
5923 case 211:
5924 YY_RULE_SETUP
5925 #line 1589 "config_scan.l"
5926 {
5927 yylval.string = socks_yytext;
5928 return LDAPAUTHAUTO;
5929 }
5930 YY_BREAK
5931 case 212:
5932 YY_RULE_SETUP
5933 #line 1594 "config_scan.l"
5934 {
5935 yylval.string = socks_yytext;
5936 return LDAPCERTCHECK;
5937 }
5938 YY_BREAK
5939 case 213:
5940 YY_RULE_SETUP
5941 #line 1599 "config_scan.l"
5942 {
5943 yylval.string = socks_yytext;
5944 return LDAPAUTHCERTCHECK;
5945 }
5946 YY_BREAK
5947 case 214:
5948 YY_RULE_SETUP
5949 #line 1604 "config_scan.l"
5950 {
5951 yylval.string = socks_yytext;
5952 return LDAPKEEPREALM;
5953 }
5954 YY_BREAK
5955 case 215:
5956 YY_RULE_SETUP
5957 #line 1609 "config_scan.l"
5958 {
5959 BEGIN(start_ldapfilter);
5960
5961 yylval.string = socks_yytext;
5962 return LDAPFILTER;
5963 }
5964 YY_BREAK
5965 case 216:
5966 YY_RULE_SETUP
5967 #line 1616 "config_scan.l"
5968 {
5969 BEGIN(start_ldapfilter);
5970
5971 yylval.string = socks_yytext;
5972 return LDAPAUTHFILTER;
5973 }
5974 YY_BREAK
5975 case 217:
5976 YY_RULE_SETUP
5977 #line 1623 "config_scan.l"
5978 {
5979 BEGIN(start_ldapfilter);
5980
5981 yylval.string = socks_yytext;
5982 return LDAPFILTER_AD;
5983 }
5984 YY_BREAK
5985 case 218:
5986 YY_RULE_SETUP
5987 #line 1630 "config_scan.l"
5988 {
5989 BEGIN(start_ldapfilter);
5990
5991 yylval.string = socks_yytext;
5992 return LDAPFILTER_HEX;
5993 }
5994 YY_BREAK
5995 case 219:
5996 YY_RULE_SETUP
5997 #line 1637 "config_scan.l"
5998 {
5999 BEGIN(start_ldapfilter);
6000
6001 yylval.string = socks_yytext;
6002 return LDAPFILTER_AD_HEX;
6003 }
6004 YY_BREAK
6005 case 220:
6006 YY_RULE_SETUP
6007 #line 1644 "config_scan.l"
6008 {
6009 BEGIN(start_ldapattribute);
6010
6011 yylval.string = socks_yytext;
6012 return LDAPATTRIBUTE;
6013 }
6014 YY_BREAK
6015 case 221:
6016 YY_RULE_SETUP
6017 #line 1651 "config_scan.l"
6018 {
6019 BEGIN(start_ldapattribute);
6020
6021 yylval.string = socks_yytext;
6022 return LDAPATTRIBUTE_AD;
6023 }
6024 YY_BREAK
6025 case 222:
6026 YY_RULE_SETUP
6027 #line 1658 "config_scan.l"
6028 {
6029 BEGIN(start_ldapattribute);
6030
6031 yylval.string = socks_yytext;
6032 return LDAPATTRIBUTE_HEX;
6033 }
6034 YY_BREAK
6035 case 223:
6036 YY_RULE_SETUP
6037 #line 1665 "config_scan.l"
6038 {
6039 BEGIN(start_ldapattribute);
6040
6041 yylval.string = socks_yytext;
6042 return LDAPATTRIBUTE_AD_HEX;
6043 }
6044 YY_BREAK
6045 case 224:
6046 YY_RULE_SETUP
6047 #line 1672 "config_scan.l"
6048 {
6049 BEGIN(start_ldapservername);
6050
6051 yylval.string = socks_yytext;
6052 return LDAPSERVER;
6053 }
6054 YY_BREAK
6055 case 225:
6056 YY_RULE_SETUP
6057 #line 1679 "config_scan.l"
6058 {
6059 BEGIN(start_ldapservername);
6060
6061 yylval.string = socks_yytext;
6062 return LDAPAUTHSERVER;
6063 }
6064 YY_BREAK
6065 case 226:
6066 YY_RULE_SETUP
6067 #line 1686 "config_scan.l"
6068 {
6069 BEGIN(start_ldapgroupname);
6070
6071 yylval.string = socks_yytext;
6072 return LDAPGROUP;
6073 }
6074 YY_BREAK
6075 case 227:
6076 YY_RULE_SETUP
6077 #line 1693 "config_scan.l"
6078 {
6079 BEGIN(start_ldapgroupname);
6080
6081 yylval.string = socks_yytext;
6082 return LDAPGROUP_HEX;
6083 }
6084 YY_BREAK
6085 case 228:
6086 YY_RULE_SETUP
6087 #line 1700 "config_scan.l"
6088 {
6089 BEGIN(start_ldapgroupname);
6090
6091 yylval.string = socks_yytext;
6092 return LDAPGROUP_HEX_ALL;
6093 }
6094 YY_BREAK
6095 case 229:
6096 YY_RULE_SETUP
6097 #line 1707 "config_scan.l"
6098 {
6099 BEGIN(start_ldapkeytabname);
6100
6101 yylval.string = socks_yytext;
6102 return LDAPKEYTAB;
6103 }
6104 YY_BREAK
6105 case 230:
6106 YY_RULE_SETUP
6107 #line 1714 "config_scan.l"
6108 {
6109 BEGIN(start_ldapkeytabname);
6110
6111 yylval.string = socks_yytext;
6112 return LDAPAUTHKEYTAB;
6113 }
6114 YY_BREAK
6115 case 231:
6116 YY_RULE_SETUP
6117 #line 1721 "config_scan.l"
6118 {
6119 BEGIN(start_pacsidname);
6120
6121 yylval.string = socks_yytext;
6122 return PACSID_B64;
6123 }
6124 YY_BREAK
6125 case 232:
6126 YY_RULE_SETUP
6127 #line 1728 "config_scan.l"
6128 {
6129 BEGIN(start_pacsidname);
6130
6131 yylval.string = socks_yytext;
6132 return PACSID;
6133 }
6134 YY_BREAK
6135 case 233:
6136 YY_RULE_SETUP
6137 #line 1735 "config_scan.l"
6138 {
6139 yylval.string = socks_yytext;
6140 return PACSID_FLAG;
6141 }
6142 YY_BREAK
6143 case 234:
6144 YY_RULE_SETUP
6145 #line 1740 "config_scan.l"
6146 {
6147 yylval.string = socks_yytext;
6148 return BOUNCE;
6149 }
6150 YY_BREAK
6151 case 235:
6152 YY_RULE_SETUP
6153 #line 1745 "config_scan.l"
6154 {
6155 BEGIN(start_realmname);
6156
6157 yylval.string = socks_yytext;
6158 return REALM;
6159 }
6160 YY_BREAK
6161 /*
6162 * global keywords that are no longer used.
6163 */
6164 case 236:
6165 YY_RULE_SETUP
6166 #line 1756 "config_scan.l"
6167 {
6168 yywarnx_deprecated(socks_yytext, NULL);
6169 }
6170 YY_BREAK
6171 case 237:
6172 YY_RULE_SETUP
6173 #line 1760 "config_scan.l"
6174 {
6175 yywarnx_deprecated(socks_yytext, "timeout.connect");
6176
6177 yylval.string = socks_yytext;
6178 return CONNECTTIMEOUT;
6179 }
6180 YY_BREAK
6181 case 238:
6182 YY_RULE_SETUP
6183 #line 1767 "config_scan.l"
6184 {
6185 yywarnx_deprecated(socks_yytext, "timeout.io");
6186
6187 yylval.string = socks_yytext;
6188 return IOTIMEOUT;
6189 }
6190 YY_BREAK
6191 case 239:
6192 YY_RULE_SETUP
6193 #line 1774 "config_scan.l"
6194 {
6195 yylval.deprecated.oldname = socks_yytext;
6196
6197 yylval.deprecated.newname =
6198 "a general socket api. E.g. \"internal.tcp.so_rcvbuf\" for setting "
6199 "the socket receive buffer size on the internal interface side, or "
6200 "\"external.tcp.so_sndbuf\" for setting the socket send buffer size on "
6201 "the external interface side. Please see manual for more information";
6202
6203 return DEPRECATED;
6204 }
6205 YY_BREAK
6206 /* misc. generic stuff. */
6207 /*
6208 * note that to support negative numbers we need to handle number ranges
6209 * like port 1-65535 correctly also.
6210 */
6211 case 240:
6212 YY_RULE_SETUP
6213 #line 1793 "config_scan.l"
6214 {
6215 char *ep;
6216 long long llval;
6217
6218 errno = 0;
6219 llval = strtoll(socks_yytext, &ep, 0);
6220 if (*socks_yytext == NUL || *ep != NUL)
6221 yyerror("confusing. Thought we would have a number here");
6222
6223 if (errno == ERANGE)
6224 yyerror("number given is out of range");
6225
6226 yylval.number = llval;
6227
6228 if (shouldresetstate(YYSTATE, NUMBER))
6229 BEGIN(0);
6230
6231 return NUMBER;
6232 }
6233 YY_BREAK
6234 /* ignored */
6235 case 241:
6236 YY_RULE_SETUP
6237 #line 1814 "config_scan.l"
6238 {
6239 ;
6240 }
6241 YY_BREAK
6242 /* shell style comment */
6243 case 242:
6244 YY_RULE_SETUP
6245 #line 1819 "config_scan.l"
6246 {
6247 BEGIN(0);
6248 ;
6249 }
6250 YY_BREAK
6251 /* state always ends at eol ... */
6252 case 243:
6253 /* rule 243 can match eol */
6254 YY_RULE_SETUP
6255 #line 1825 "config_scan.l"
6256 {
6257 BEGIN(0);
6258 }
6259 YY_BREAK
6260 /* ... unless it's escaped. */
6261 case 244:
6262 /* rule 244 can match eol */
6263 YY_RULE_SETUP
6264 #line 1830 "config_scan.l"
6265 {
6266 ;
6267 }
6268 YY_BREAK
6269 case 245:
6270 YY_RULE_SETUP
6271 #line 1834 "config_scan.l"
6272 {
6273 inclientrule = inroute = 0;
6274
6275 yylval.string = socks_yytext;
6276 return *socks_yytext;
6277 }
6278 YY_BREAK
6279 case 246:
6280 YY_RULE_SETUP
6281 #line 1841 "config_scan.l"
6282 {
6283 yylval.string = socks_yytext;
6284 return *socks_yytext;
6285 }
6286 YY_BREAK
6287 case 247:
6288 YY_RULE_SETUP
6289 #line 1846 "config_scan.l"
6290 ECHO;
6291 YY_BREAK
6292 #line 6292 "config_scan.c"
6293 case YY_STATE_EOF(INITIAL):
6294 case YY_STATE_EOF(start_address):
6295 case YY_STATE_EOF(start_port):
6296 case YY_STATE_EOF(lineprefix):
6297 case YY_STATE_EOF(start_command):
6298 case YY_STATE_EOF(start_compatibility):
6299 case YY_STATE_EOF(start_line):
6300 case YY_STATE_EOF(start_log):
6301 case YY_STATE_EOF(start_loglevel):
6302 case YY_STATE_EOF(start_logoutput):
6303 case YY_STATE_EOF(start_logtype):
6304 case YY_STATE_EOF(start_errorsymbol):
6305 case YY_STATE_EOF(start_method):
6306 case YY_STATE_EOF(start_option):
6307 case YY_STATE_EOF(start_proxyprotocol):
6308 case YY_STATE_EOF(start_username):
6309 case YY_STATE_EOF(start_groupname):
6310 case YY_STATE_EOF(start_libwrapfile):
6311 case YY_STATE_EOF(start_cpuoption):
6312 case YY_STATE_EOF(start_hostindex):
6313 case YY_STATE_EOF(start_statekey):
6314 case YY_STATE_EOF(start_tcpoption):
6315 case YY_STATE_EOF(start_ldapdomain):
6316 case YY_STATE_EOF(start_ldapbasedn):
6317 case YY_STATE_EOF(start_ldapurl):
6318 case YY_STATE_EOF(start_ldapfilter):
6319 case YY_STATE_EOF(start_ldapattribute):
6320 case YY_STATE_EOF(start_ldapservername):
6321 case YY_STATE_EOF(start_ldapgroupname):
6322 case YY_STATE_EOF(start_ldapkeytabname):
6323 case YY_STATE_EOF(start_ldapcertfile):
6324 case YY_STATE_EOF(start_ldapcertpath):
6325 case YY_STATE_EOF(start_pacsidname):
6326 case YY_STATE_EOF(start_alarmtest):
6327 case YY_STATE_EOF(start_srchost):
6328 case YY_STATE_EOF(start_protocol):
6329 case YY_STATE_EOF(start_servicename):
6330 case YY_STATE_EOF(start_portnumber):
6331 case YY_STATE_EOF(start_bsdauthstylename):
6332 case YY_STATE_EOF(start_gssapiservicename):
6333 case YY_STATE_EOF(start_gssapikeytabname):
6334 case YY_STATE_EOF(start_encryption):
6335 case YY_STATE_EOF(start_realmname):
6336 case YY_STATE_EOF(start_socketprotocol):
6337 case YY_STATE_EOF(start_socketoption):
6338 case YY_STATE_EOF(start_socketoptionvalue):
6339 case YY_STATE_EOF(start_processtype):
6340 case YY_STATE_EOF(start_schedulepolicy):
6341 case YY_STATE_EOF(start_schedulemask):
6342 yyterminate();
6343
6344 case YY_END_OF_BUFFER:
6345 {
6346 /* Amount of text matched not including the EOB char. */
6347 int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
6348
6349 /* Undo the effects of YY_DO_BEFORE_ACTION. */
6350 *yy_cp = (yy_hold_char);
6351 YY_RESTORE_YY_MORE_OFFSET
6352
6353 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
6354 {
6355 /* We're scanning a new file or input source. It's
6356 * possible that this happened because the user
6357 * just pointed socks_yyin at a new source and called
6358 * socks_yylex(). If so, then we have to assure
6359 * consistency between YY_CURRENT_BUFFER and our
6360 * globals. Here is the right place to do so, because
6361 * this is the first action (other than possibly a
6362 * back-up) that will match for the new input source.
6363 */
6364 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
6365 YY_CURRENT_BUFFER_LVALUE->yy_input_file = socks_yyin;
6366 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
6367 }
6368
6369 /* Note that here we test for yy_c_buf_p "<=" to the position
6370 * of the first EOB in the buffer, since yy_c_buf_p will
6371 * already have been incremented past the NUL character
6372 * (since all states make transitions on EOB to the
6373 * end-of-buffer state). Contrast this with the test
6374 * in input().
6375 */
6376 if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
6377 { /* This was really a NUL. */
6378 yy_state_type yy_next_state;
6379
6380 (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
6381
6382 yy_current_state = yy_get_previous_state( );
6383
6384 /* Okay, we're now positioned to make the NUL
6385 * transition. We couldn't have
6386 * yy_get_previous_state() go ahead and do it
6387 * for us because it doesn't know how to deal
6388 * with the possibility of jamming (and we don't
6389 * want to build jamming into it because then it
6390 * will run more slowly).
6391 */
6392
6393 yy_next_state = yy_try_NUL_trans( yy_current_state );
6394
6395 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
6396
6397 if ( yy_next_state )
6398 {
6399 /* Consume the NUL. */
6400 yy_cp = ++(yy_c_buf_p);
6401 yy_current_state = yy_next_state;
6402 goto yy_match;
6403 }
6404
6405 else
6406 {
6407 yy_cp = (yy_c_buf_p);
6408 goto yy_find_action;
6409 }
6410 }
6411
6412 else switch ( yy_get_next_buffer( ) )
6413 {
6414 case EOB_ACT_END_OF_FILE:
6415 {
6416 (yy_did_buffer_switch_on_eof) = 0;
6417
6418 if ( socks_yywrap( ) )
6419 {
6420 /* Note: because we've taken care in
6421 * yy_get_next_buffer() to have set up
6422 * socks_yytext, we can now set up
6423 * yy_c_buf_p so that if some total
6424 * hoser (like flex itself) wants to
6425 * call the scanner after we return the
6426 * YY_NULL, it'll still work - another
6427 * YY_NULL will get returned.
6428 */
6429 (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
6430
6431 yy_act = YY_STATE_EOF(YY_START);
6432 goto do_action;
6433 }
6434
6435 else
6436 {
6437 if ( ! (yy_did_buffer_switch_on_eof) )
6438 YY_NEW_FILE;
6439 }
6440 break;
6441 }
6442
6443 case EOB_ACT_CONTINUE_SCAN:
6444 (yy_c_buf_p) =
6445 (yytext_ptr) + yy_amount_of_matched_text;
6446
6447 yy_current_state = yy_get_previous_state( );
6448
6449 yy_cp = (yy_c_buf_p);
6450 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
6451 goto yy_match;
6452
6453 case EOB_ACT_LAST_MATCH:
6454 (yy_c_buf_p) =
6455 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
6456
6457 yy_current_state = yy_get_previous_state( );
6458
6459 yy_cp = (yy_c_buf_p);
6460 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
6461 goto yy_find_action;
6462 }
6463 break;
6464 }
6465
6466 default:
6467 YY_FATAL_ERROR(
6468 "fatal flex scanner internal error--no action found" );
6469 } /* end of action switch */
6470 } /* end of scanning one token */
6471 } /* end of user's declarations */
6472 } /* end of socks_yylex */
6473
6474 /* yy_get_next_buffer - try to read in a new buffer
6475 *
6476 * Returns a code representing an action:
6477 * EOB_ACT_LAST_MATCH -
6478 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
6479 * EOB_ACT_END_OF_FILE - end of file
6480 */
yy_get_next_buffer(void)6481 static int yy_get_next_buffer (void)
6482 {
6483 char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
6484 char *source = (yytext_ptr);
6485 int number_to_move, i;
6486 int ret_val;
6487
6488 if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
6489 YY_FATAL_ERROR(
6490 "fatal flex scanner internal error--end of buffer missed" );
6491
6492 if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
6493 { /* Don't try to fill the buffer, so this is an EOF. */
6494 if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
6495 {
6496 /* We matched a single character, the EOB, so
6497 * treat this as a final EOF.
6498 */
6499 return EOB_ACT_END_OF_FILE;
6500 }
6501
6502 else
6503 {
6504 /* We matched some text prior to the EOB, first
6505 * process it.
6506 */
6507 return EOB_ACT_LAST_MATCH;
6508 }
6509 }
6510
6511 /* Try to read more data. */
6512
6513 /* First move last chars to start of buffer. */
6514 number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
6515
6516 for ( i = 0; i < number_to_move; ++i )
6517 *(dest++) = *(source++);
6518
6519 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
6520 /* don't do the read, it's not guaranteed to return an EOF,
6521 * just force an EOF
6522 */
6523 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
6524
6525 else
6526 {
6527 yy_size_t num_to_read =
6528 YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
6529
6530 while ( num_to_read <= 0 )
6531 { /* Not enough room in the buffer - grow it. */
6532
6533 YY_FATAL_ERROR(
6534 "input buffer overflow, can't enlarge buffer because scanner uses REJECT" );
6535
6536 }
6537
6538 if ( num_to_read > YY_READ_BUF_SIZE )
6539 num_to_read = YY_READ_BUF_SIZE;
6540
6541 /* Read in more data. */
6542 YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
6543 (yy_n_chars), num_to_read );
6544
6545 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
6546 }
6547
6548 if ( (yy_n_chars) == 0 )
6549 {
6550 if ( number_to_move == YY_MORE_ADJ )
6551 {
6552 ret_val = EOB_ACT_END_OF_FILE;
6553 socks_yyrestart(socks_yyin );
6554 }
6555
6556 else
6557 {
6558 ret_val = EOB_ACT_LAST_MATCH;
6559 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
6560 YY_BUFFER_EOF_PENDING;
6561 }
6562 }
6563
6564 else
6565 ret_val = EOB_ACT_CONTINUE_SCAN;
6566
6567 if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
6568 /* Extend the array by 50%, plus the number we really need. */
6569 yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
6570 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) socks_yyrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size );
6571 if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
6572 YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
6573 /* "- 2" to take care of EOB's */
6574 YY_CURRENT_BUFFER_LVALUE->yy_buf_size = (int) (new_size - 2);
6575 }
6576
6577 (yy_n_chars) += number_to_move;
6578 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
6579 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
6580
6581 (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
6582
6583 return ret_val;
6584 }
6585
6586 /* yy_get_previous_state - get the state just before the EOB char was reached */
6587
yy_get_previous_state(void)6588 static yy_state_type yy_get_previous_state (void)
6589 {
6590 yy_state_type yy_current_state;
6591 char *yy_cp;
6592
6593 yy_current_state = (yy_start);
6594 yy_current_state += YY_AT_BOL();
6595
6596 (yy_state_ptr) = (yy_state_buf);
6597 *(yy_state_ptr)++ = yy_current_state;
6598
6599 for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
6600 {
6601 YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
6602 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
6603 {
6604 yy_current_state = (int) yy_def[yy_current_state];
6605 if ( yy_current_state >= 2803 )
6606 yy_c = yy_meta[(unsigned int) yy_c];
6607 }
6608 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
6609 *(yy_state_ptr)++ = yy_current_state;
6610 }
6611
6612 return yy_current_state;
6613 }
6614
6615 /* yy_try_NUL_trans - try to make a transition on the NUL character
6616 *
6617 * synopsis
6618 * next_state = yy_try_NUL_trans( current_state );
6619 */
yy_try_NUL_trans(yy_state_type yy_current_state)6620 static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state )
6621 {
6622 int yy_is_jam;
6623
6624 YY_CHAR yy_c = 1;
6625 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
6626 {
6627 yy_current_state = (int) yy_def[yy_current_state];
6628 if ( yy_current_state >= 2803 )
6629 yy_c = yy_meta[(unsigned int) yy_c];
6630 }
6631 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
6632 yy_is_jam = (yy_current_state == 2802);
6633 if ( ! yy_is_jam )
6634 *(yy_state_ptr)++ = yy_current_state;
6635
6636 return yy_is_jam ? 0 : yy_current_state;
6637 }
6638
6639 #ifndef YY_NO_INPUT
6640 #ifdef __cplusplus
yyinput(void)6641 static int yyinput (void)
6642 #else
6643 static int input (void)
6644 #endif
6645
6646 {
6647 int c;
6648
6649 *(yy_c_buf_p) = (yy_hold_char);
6650
6651 if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
6652 {
6653 /* yy_c_buf_p now points to the character we want to return.
6654 * If this occurs *before* the EOB characters, then it's a
6655 * valid NUL; if not, then we've hit the end of the buffer.
6656 */
6657 if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
6658 /* This was really a NUL. */
6659 *(yy_c_buf_p) = '\0';
6660
6661 else
6662 { /* need more input */
6663 yy_size_t offset = (yy_c_buf_p) - (yytext_ptr);
6664 ++(yy_c_buf_p);
6665
6666 switch ( yy_get_next_buffer( ) )
6667 {
6668 case EOB_ACT_LAST_MATCH:
6669 /* This happens because yy_g_n_b()
6670 * sees that we've accumulated a
6671 * token and flags that we need to
6672 * try matching the token before
6673 * proceeding. But for input(),
6674 * there's no matching to consider.
6675 * So convert the EOB_ACT_LAST_MATCH
6676 * to EOB_ACT_END_OF_FILE.
6677 */
6678
6679 /* Reset buffer status. */
6680 socks_yyrestart(socks_yyin );
6681
6682 /*FALLTHROUGH*/
6683
6684 case EOB_ACT_END_OF_FILE:
6685 {
6686 if ( socks_yywrap( ) )
6687 return EOF;
6688
6689 if ( ! (yy_did_buffer_switch_on_eof) )
6690 YY_NEW_FILE;
6691 #ifdef __cplusplus
6692 return yyinput();
6693 #else
6694 return input();
6695 #endif
6696 }
6697
6698 case EOB_ACT_CONTINUE_SCAN:
6699 (yy_c_buf_p) = (yytext_ptr) + offset;
6700 break;
6701 }
6702 }
6703 }
6704
6705 c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */
6706 *(yy_c_buf_p) = '\0'; /* preserve socks_yytext */
6707 (yy_hold_char) = *++(yy_c_buf_p);
6708
6709 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = (c == '\n');
6710 if ( YY_CURRENT_BUFFER_LVALUE->yy_at_bol )
6711
6712 socks_yylineno++;
6713 ;
6714
6715 return c;
6716 }
6717 #endif /* ifndef YY_NO_INPUT */
6718
6719 /** Immediately switch to a different input stream.
6720 * @param input_file A readable stream.
6721 *
6722 * @note This function does not reset the start condition to @c INITIAL .
6723 */
socks_yyrestart(FILE * input_file)6724 void socks_yyrestart (FILE * input_file )
6725 {
6726
6727 if ( ! YY_CURRENT_BUFFER ){
6728 socks_yyensure_buffer_stack ();
6729 YY_CURRENT_BUFFER_LVALUE =
6730 socks_yy_create_buffer(socks_yyin,YY_BUF_SIZE );
6731 }
6732
6733 socks_yy_init_buffer(YY_CURRENT_BUFFER,input_file );
6734 socks_yy_load_buffer_state( );
6735 }
6736
6737 /** Switch to a different input buffer.
6738 * @param new_buffer The new input buffer.
6739 *
6740 */
socks_yy_switch_to_buffer(YY_BUFFER_STATE new_buffer)6741 void socks_yy_switch_to_buffer (YY_BUFFER_STATE new_buffer )
6742 {
6743
6744 /* TODO. We should be able to replace this entire function body
6745 * with
6746 * socks_yypop_buffer_state();
6747 * socks_yypush_buffer_state(new_buffer);
6748 */
6749 socks_yyensure_buffer_stack ();
6750 if ( YY_CURRENT_BUFFER == new_buffer )
6751 return;
6752
6753 if ( YY_CURRENT_BUFFER )
6754 {
6755 /* Flush out information for old buffer. */
6756 *(yy_c_buf_p) = (yy_hold_char);
6757 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
6758 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
6759 }
6760
6761 YY_CURRENT_BUFFER_LVALUE = new_buffer;
6762 socks_yy_load_buffer_state( );
6763
6764 /* We don't actually know whether we did this switch during
6765 * EOF (socks_yywrap()) processing, but the only time this flag
6766 * is looked at is after socks_yywrap() is called, so it's safe
6767 * to go ahead and always set it.
6768 */
6769 (yy_did_buffer_switch_on_eof) = 1;
6770 }
6771
socks_yy_load_buffer_state(void)6772 static void socks_yy_load_buffer_state (void)
6773 {
6774 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
6775 (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
6776 socks_yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
6777 (yy_hold_char) = *(yy_c_buf_p);
6778 }
6779
6780 /** Allocate and initialize an input buffer state.
6781 * @param file A readable stream.
6782 * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
6783 *
6784 * @return the allocated buffer state.
6785 */
socks_yy_create_buffer(FILE * file,int size)6786 YY_BUFFER_STATE socks_yy_create_buffer (FILE * file, int size )
6787 {
6788 YY_BUFFER_STATE b;
6789
6790 b = (YY_BUFFER_STATE) socks_yyalloc(sizeof( struct yy_buffer_state ) );
6791 if ( ! b )
6792 YY_FATAL_ERROR( "out of dynamic memory in socks_yy_create_buffer()" );
6793
6794 b->yy_buf_size = size;
6795
6796 /* yy_ch_buf has to be 2 characters longer than the size given because
6797 * we need to put in 2 end-of-buffer characters.
6798 */
6799 b->yy_ch_buf = (char *) socks_yyalloc(b->yy_buf_size + 2 );
6800 if ( ! b->yy_ch_buf )
6801 YY_FATAL_ERROR( "out of dynamic memory in socks_yy_create_buffer()" );
6802
6803 b->yy_is_our_buffer = 1;
6804
6805 socks_yy_init_buffer(b,file );
6806
6807 return b;
6808 }
6809
6810 /** Destroy the buffer.
6811 * @param b a buffer created with socks_yy_create_buffer()
6812 *
6813 */
socks_yy_delete_buffer(YY_BUFFER_STATE b)6814 void socks_yy_delete_buffer (YY_BUFFER_STATE b )
6815 {
6816
6817 if ( ! b )
6818 return;
6819
6820 if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
6821 YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
6822
6823 if ( b->yy_is_our_buffer )
6824 socks_yyfree((void *) b->yy_ch_buf );
6825
6826 socks_yyfree((void *) b );
6827 }
6828
6829 /* Initializes or reinitializes a buffer.
6830 * This function is sometimes called more than once on the same buffer,
6831 * such as during a socks_yyrestart() or at EOF.
6832 */
socks_yy_init_buffer(YY_BUFFER_STATE b,FILE * file)6833 static void socks_yy_init_buffer (YY_BUFFER_STATE b, FILE * file )
6834
6835 {
6836 int oerrno = errno;
6837
6838 socks_yy_flush_buffer(b );
6839
6840 b->yy_input_file = file;
6841 b->yy_fill_buffer = 1;
6842
6843 /* If b is the current buffer, then socks_yy_init_buffer was _probably_
6844 * called from socks_yyrestart() or through yy_get_next_buffer.
6845 * In that case, we don't want to reset the lineno or column.
6846 */
6847 if (b != YY_CURRENT_BUFFER){
6848 b->yy_bs_lineno = 1;
6849 b->yy_bs_column = 0;
6850 }
6851
6852 b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
6853
6854 errno = oerrno;
6855 }
6856
6857 /** Discard all buffered characters. On the next scan, YY_INPUT will be called.
6858 * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
6859 *
6860 */
socks_yy_flush_buffer(YY_BUFFER_STATE b)6861 void socks_yy_flush_buffer (YY_BUFFER_STATE b )
6862 {
6863 if ( ! b )
6864 return;
6865
6866 b->yy_n_chars = 0;
6867
6868 /* We always need two end-of-buffer characters. The first causes
6869 * a transition to the end-of-buffer state. The second causes
6870 * a jam in that state.
6871 */
6872 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
6873 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
6874
6875 b->yy_buf_pos = &b->yy_ch_buf[0];
6876
6877 b->yy_at_bol = 1;
6878 b->yy_buffer_status = YY_BUFFER_NEW;
6879
6880 if ( b == YY_CURRENT_BUFFER )
6881 socks_yy_load_buffer_state( );
6882 }
6883
6884 /** Pushes the new state onto the stack. The new state becomes
6885 * the current state. This function will allocate the stack
6886 * if necessary.
6887 * @param new_buffer The new state.
6888 *
6889 */
socks_yypush_buffer_state(YY_BUFFER_STATE new_buffer)6890 void socks_yypush_buffer_state (YY_BUFFER_STATE new_buffer )
6891 {
6892 if (new_buffer == NULL)
6893 return;
6894
6895 socks_yyensure_buffer_stack();
6896
6897 /* This block is copied from socks_yy_switch_to_buffer. */
6898 if ( YY_CURRENT_BUFFER )
6899 {
6900 /* Flush out information for old buffer. */
6901 *(yy_c_buf_p) = (yy_hold_char);
6902 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
6903 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
6904 }
6905
6906 /* Only push if top exists. Otherwise, replace top. */
6907 if (YY_CURRENT_BUFFER)
6908 (yy_buffer_stack_top)++;
6909 YY_CURRENT_BUFFER_LVALUE = new_buffer;
6910
6911 /* copied from socks_yy_switch_to_buffer. */
6912 socks_yy_load_buffer_state( );
6913 (yy_did_buffer_switch_on_eof) = 1;
6914 }
6915
6916 /** Removes and deletes the top of the stack, if present.
6917 * The next element becomes the new top.
6918 *
6919 */
socks_yypop_buffer_state(void)6920 void socks_yypop_buffer_state (void)
6921 {
6922 if (!YY_CURRENT_BUFFER)
6923 return;
6924
6925 socks_yy_delete_buffer(YY_CURRENT_BUFFER );
6926 YY_CURRENT_BUFFER_LVALUE = NULL;
6927 if ((yy_buffer_stack_top) > 0)
6928 --(yy_buffer_stack_top);
6929
6930 if (YY_CURRENT_BUFFER) {
6931 socks_yy_load_buffer_state( );
6932 (yy_did_buffer_switch_on_eof) = 1;
6933 }
6934 }
6935
6936 /* Allocates the stack if it does not exist.
6937 * Guarantees space for at least one push.
6938 */
socks_yyensure_buffer_stack(void)6939 static void socks_yyensure_buffer_stack (void)
6940 {
6941 yy_size_t num_to_alloc;
6942
6943 if (!(yy_buffer_stack)) {
6944
6945 /* First allocation is just for 2 elements, since we don't know if this
6946 * scanner will even need a stack. We use 2 instead of 1 to avoid an
6947 * immediate realloc on the next call.
6948 */
6949 num_to_alloc = 1;
6950 (yy_buffer_stack) = (struct yy_buffer_state**)socks_yyalloc
6951 (num_to_alloc * sizeof(struct yy_buffer_state*)
6952 );
6953 if ( ! (yy_buffer_stack) )
6954 YY_FATAL_ERROR( "out of dynamic memory in socks_yyensure_buffer_stack()" );
6955
6956 memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
6957
6958 (yy_buffer_stack_max) = num_to_alloc;
6959 (yy_buffer_stack_top) = 0;
6960 return;
6961 }
6962
6963 if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
6964
6965 /* Increase the buffer to prepare for a possible push. */
6966 int grow_size = 8 /* arbitrary grow size */;
6967
6968 num_to_alloc = (yy_buffer_stack_max) + grow_size;
6969 (yy_buffer_stack) = (struct yy_buffer_state**)socks_yyrealloc
6970 ((yy_buffer_stack),
6971 num_to_alloc * sizeof(struct yy_buffer_state*)
6972 );
6973 if ( ! (yy_buffer_stack) )
6974 YY_FATAL_ERROR( "out of dynamic memory in socks_yyensure_buffer_stack()" );
6975
6976 /* zero only the new slots.*/
6977 memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
6978 (yy_buffer_stack_max) = num_to_alloc;
6979 }
6980 }
6981
6982 /** Setup the input buffer state to scan directly from a user-specified character buffer.
6983 * @param base the character buffer
6984 * @param size the size in bytes of the character buffer
6985 *
6986 * @return the newly allocated buffer state object.
6987 */
socks_yy_scan_buffer(char * base,yy_size_t size)6988 YY_BUFFER_STATE socks_yy_scan_buffer (char * base, yy_size_t size )
6989 {
6990 YY_BUFFER_STATE b;
6991
6992 if ( size < 2 ||
6993 base[size-2] != YY_END_OF_BUFFER_CHAR ||
6994 base[size-1] != YY_END_OF_BUFFER_CHAR )
6995 /* They forgot to leave room for the EOB's. */
6996 return 0;
6997
6998 b = (YY_BUFFER_STATE) socks_yyalloc(sizeof( struct yy_buffer_state ) );
6999 if ( ! b )
7000 YY_FATAL_ERROR( "out of dynamic memory in socks_yy_scan_buffer()" );
7001
7002 b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
7003 b->yy_buf_pos = b->yy_ch_buf = base;
7004 b->yy_is_our_buffer = 0;
7005 b->yy_input_file = 0;
7006 b->yy_n_chars = b->yy_buf_size;
7007 b->yy_is_interactive = 0;
7008 b->yy_at_bol = 1;
7009 b->yy_fill_buffer = 0;
7010 b->yy_buffer_status = YY_BUFFER_NEW;
7011
7012 socks_yy_switch_to_buffer(b );
7013
7014 return b;
7015 }
7016
7017 /** Setup the input buffer state to scan a string. The next call to socks_yylex() will
7018 * scan from a @e copy of @a str.
7019 * @param yystr a NUL-terminated string to scan
7020 *
7021 * @return the newly allocated buffer state object.
7022 * @note If you want to scan bytes that may contain NUL values, then use
7023 * socks_yy_scan_bytes() instead.
7024 */
socks_yy_scan_string(yyconst char * yystr)7025 YY_BUFFER_STATE socks_yy_scan_string (yyconst char * yystr )
7026 {
7027
7028 return socks_yy_scan_bytes(yystr,strlen(yystr) );
7029 }
7030
7031 /** Setup the input buffer state to scan the given bytes. The next call to socks_yylex() will
7032 * scan from a @e copy of @a bytes.
7033 * @param yybytes the byte buffer to scan
7034 * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
7035 *
7036 * @return the newly allocated buffer state object.
7037 */
socks_yy_scan_bytes(yyconst char * yybytes,yy_size_t _yybytes_len)7038 YY_BUFFER_STATE socks_yy_scan_bytes (yyconst char * yybytes, yy_size_t _yybytes_len )
7039 {
7040 YY_BUFFER_STATE b;
7041 char *buf;
7042 yy_size_t n;
7043 yy_size_t i;
7044
7045 /* Get memory for full buffer, including space for trailing EOB's. */
7046 n = _yybytes_len + 2;
7047 buf = (char *) socks_yyalloc(n );
7048 if ( ! buf )
7049 YY_FATAL_ERROR( "out of dynamic memory in socks_yy_scan_bytes()" );
7050
7051 for ( i = 0; i < _yybytes_len; ++i )
7052 buf[i] = yybytes[i];
7053
7054 buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
7055
7056 b = socks_yy_scan_buffer(buf,n );
7057 if ( ! b )
7058 YY_FATAL_ERROR( "bad buffer in socks_yy_scan_bytes()" );
7059
7060 /* It's okay to grow etc. this buffer, and we should throw it
7061 * away when we're done.
7062 */
7063 b->yy_is_our_buffer = 1;
7064
7065 return b;
7066 }
7067
7068 #ifndef YY_EXIT_FAILURE
7069 #define YY_EXIT_FAILURE 2
7070 #endif
7071
yy_fatal_error(yyconst char * msg)7072 static void yy_fatal_error (yyconst char* msg )
7073 {
7074 (void) fprintf( stderr, "%s\n", msg );
7075 exit( YY_EXIT_FAILURE );
7076 }
7077
7078 /* Redefine yyless() so it works in section 3 code. */
7079
7080 #undef yyless
7081 #define yyless(n) \
7082 do \
7083 { \
7084 /* Undo effects of setting up socks_yytext. */ \
7085 int yyless_macro_arg = (n); \
7086 YY_LESS_LINENO(yyless_macro_arg);\
7087 socks_yytext[socks_yyleng] = (yy_hold_char); \
7088 (yy_c_buf_p) = socks_yytext + yyless_macro_arg; \
7089 (yy_hold_char) = *(yy_c_buf_p); \
7090 *(yy_c_buf_p) = '\0'; \
7091 socks_yyleng = yyless_macro_arg; \
7092 } \
7093 while ( 0 )
7094
7095 /* Accessor methods (get/set functions) to struct members. */
7096
7097 /** Get the current line number.
7098 *
7099 */
socks_yyget_lineno(void)7100 int socks_yyget_lineno (void)
7101 {
7102
7103 return socks_yylineno;
7104 }
7105
7106 /** Get the input stream.
7107 *
7108 */
socks_yyget_in(void)7109 FILE *socks_yyget_in (void)
7110 {
7111 return socks_yyin;
7112 }
7113
7114 /** Get the output stream.
7115 *
7116 */
socks_yyget_out(void)7117 FILE *socks_yyget_out (void)
7118 {
7119 return socks_yyout;
7120 }
7121
7122 /** Get the length of the current token.
7123 *
7124 */
socks_yyget_leng(void)7125 yy_size_t socks_yyget_leng (void)
7126 {
7127 return socks_yyleng;
7128 }
7129
7130 /** Get the current token.
7131 *
7132 */
7133
socks_yyget_text(void)7134 char *socks_yyget_text (void)
7135 {
7136 return socks_yytext;
7137 }
7138
7139 /** Set the current line number.
7140 * @param line_number
7141 *
7142 */
socks_yyset_lineno(int line_number)7143 void socks_yyset_lineno (int line_number )
7144 {
7145
7146 socks_yylineno = line_number;
7147 }
7148
7149 /** Set the input stream. This does not discard the current
7150 * input buffer.
7151 * @param in_str A readable stream.
7152 *
7153 * @see socks_yy_switch_to_buffer
7154 */
socks_yyset_in(FILE * in_str)7155 void socks_yyset_in (FILE * in_str )
7156 {
7157 socks_yyin = in_str ;
7158 }
7159
socks_yyset_out(FILE * out_str)7160 void socks_yyset_out (FILE * out_str )
7161 {
7162 socks_yyout = out_str ;
7163 }
7164
socks_yyget_debug(void)7165 int socks_yyget_debug (void)
7166 {
7167 return socks_yy_flex_debug;
7168 }
7169
socks_yyset_debug(int bdebug)7170 void socks_yyset_debug (int bdebug )
7171 {
7172 socks_yy_flex_debug = bdebug ;
7173 }
7174
yy_init_globals(void)7175 static int yy_init_globals (void)
7176 {
7177 /* Initialization is the same as for the non-reentrant scanner.
7178 * This function is called from socks_yylex_destroy(), so don't allocate here.
7179 */
7180
7181 /* We do not touch socks_yylineno unless the option is enabled. */
7182 socks_yylineno = 1;
7183
7184 (yy_buffer_stack) = 0;
7185 (yy_buffer_stack_top) = 0;
7186 (yy_buffer_stack_max) = 0;
7187 (yy_c_buf_p) = (char *) 0;
7188 (yy_init) = 0;
7189 (yy_start) = 0;
7190
7191 (yy_state_buf) = 0;
7192 (yy_state_ptr) = 0;
7193 (yy_full_match) = 0;
7194 (yy_lp) = 0;
7195
7196 /* Defined in main.c */
7197 #ifdef YY_STDINIT
7198 socks_yyin = stdin;
7199 socks_yyout = stdout;
7200 #else
7201 socks_yyin = (FILE *) 0;
7202 socks_yyout = (FILE *) 0;
7203 #endif
7204
7205 /* For future reference: Set errno on error, since we are called by
7206 * socks_yylex_init()
7207 */
7208 return 0;
7209 }
7210
7211 /* socks_yylex_destroy is for both reentrant and non-reentrant scanners. */
socks_yylex_destroy(void)7212 int socks_yylex_destroy (void)
7213 {
7214
7215 /* Pop the buffer stack, destroying each element. */
7216 while(YY_CURRENT_BUFFER){
7217 socks_yy_delete_buffer(YY_CURRENT_BUFFER );
7218 YY_CURRENT_BUFFER_LVALUE = NULL;
7219 socks_yypop_buffer_state();
7220 }
7221
7222 /* Destroy the stack itself. */
7223 socks_yyfree((yy_buffer_stack) );
7224 (yy_buffer_stack) = NULL;
7225
7226 socks_yyfree ( (yy_state_buf) );
7227 (yy_state_buf) = NULL;
7228
7229 /* Reset the globals. This is important in a non-reentrant scanner so the next time
7230 * socks_yylex() is called, initialization will occur. */
7231 yy_init_globals( );
7232
7233 return 0;
7234 }
7235
7236 /*
7237 * Internal utility routines.
7238 */
7239
7240 #ifndef yytext_ptr
yy_flex_strncpy(char * s1,yyconst char * s2,int n)7241 static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
7242 {
7243 int i;
7244 for ( i = 0; i < n; ++i )
7245 s1[i] = s2[i];
7246 }
7247 #endif
7248
7249 #ifdef YY_NEED_STRLEN
yy_flex_strlen(yyconst char * s)7250 static int yy_flex_strlen (yyconst char * s )
7251 {
7252 int n;
7253 for ( n = 0; s[n]; ++n )
7254 ;
7255
7256 return n;
7257 }
7258 #endif
7259
socks_yyalloc(yy_size_t size)7260 void *socks_yyalloc (yy_size_t size )
7261 {
7262 return (void *) malloc( size );
7263 }
7264
socks_yyrealloc(void * ptr,yy_size_t size)7265 void *socks_yyrealloc (void * ptr, yy_size_t size )
7266 {
7267 /* The cast to (char *) in the following accommodates both
7268 * implementations that use char* generic pointers, and those
7269 * that use void* generic pointers. It works with the latter
7270 * because both ANSI C and C++ allow castless assignment from
7271 * any pointer type to void*, and deal with argument conversions
7272 * as though doing an assignment.
7273 */
7274 return (void *) realloc( (char *) ptr, size );
7275 }
7276
socks_yyfree(void * ptr)7277 void socks_yyfree (void * ptr )
7278 {
7279 free( (char *) ptr ); /* see socks_yyrealloc() for (char *) cast */
7280 }
7281
7282 #define YYTABLES_NAME "yytables"
7283
7284 #line 1846 "config_scan.l"
7285
7286
7287
7288 static int
shouldresetstate(current_state,next_token)7289 shouldresetstate(current_state, next_token)
7290 const int current_state;
7291 const int next_token;
7292 {
7293 switch (current_state) {
7294 case start_hostindex:
7295 case start_schedulemask:
7296 case start_servicename:
7297 switch (next_token) {
7298 case NUMBER:
7299 return 1;
7300 }
7301 break;
7302 }
7303
7304 return 0;
7305 }
7306
7307