2 #define YY_INT_ALIGNED short int
4 /* A lexical scanner generated by flex */
6 #define yy_create_buffer surf_parse__create_buffer
7 #define yy_delete_buffer surf_parse__delete_buffer
8 #define yy_flex_debug surf_parse__flex_debug
9 #define yy_init_buffer surf_parse__init_buffer
10 #define yy_flush_buffer surf_parse__flush_buffer
11 #define yy_load_buffer_state surf_parse__load_buffer_state
12 #define yy_switch_to_buffer surf_parse__switch_to_buffer
13 #define yyin surf_parse_in
14 #define yyleng surf_parse_leng
15 #define yylex surf_parse_lex
16 #define yylineno surf_parse_lineno
17 #define yyout surf_parse_out
18 #define yyrestart surf_parse_restart
19 #define yytext surf_parse_text
20 #define yywrap surf_parse_wrap
21 #define yyalloc surf_parse_alloc
22 #define yyrealloc surf_parse_realloc
23 #define yyfree surf_parse_free
26 #define YY_FLEX_MAJOR_VERSION 2
27 #define YY_FLEX_MINOR_VERSION 6
28 #define YY_FLEX_SUBMINOR_VERSION 0
29 #if YY_FLEX_SUBMINOR_VERSION > 0
33 /* First, we deal with platform-specific or compiler-specific issues. */
35 /* begin standard C headers. */
41 /* end standard C headers. */
43 /* flex integer type definitions */
48 /* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
50 #if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
52 /* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
53 * if you want the limit (max/min) macros for int types.
55 #ifndef __STDC_LIMIT_MACROS
56 #define __STDC_LIMIT_MACROS 1
60 typedef int8_t flex_int8_t;
61 typedef uint8_t flex_uint8_t;
62 typedef int16_t flex_int16_t;
63 typedef uint16_t flex_uint16_t;
64 typedef int32_t flex_int32_t;
65 typedef uint32_t flex_uint32_t;
67 typedef signed char flex_int8_t;
68 typedef short int flex_int16_t;
69 typedef int flex_int32_t;
70 typedef unsigned char flex_uint8_t;
71 typedef unsigned short int flex_uint16_t;
72 typedef unsigned int flex_uint32_t;
74 /* Limits of integral types. */
76 #define INT8_MIN (-128)
79 #define INT16_MIN (-32767-1)
82 #define INT32_MIN (-2147483647-1)
85 #define INT8_MAX (127)
88 #define INT16_MAX (32767)
91 #define INT32_MAX (2147483647)
94 #define UINT8_MAX (255U)
97 #define UINT16_MAX (65535U)
100 #define UINT32_MAX (4294967295U)
105 #endif /* ! FLEXINT_H */
109 /* The "const" storage-class-modifier is valid. */
112 #else /* ! __cplusplus */
114 /* C99 requires __STDC__ to be defined as 1. */
115 #if defined (__STDC__)
119 #endif /* defined (__STDC__) */
120 #endif /* ! __cplusplus */
123 #define yyconst const
128 /* Returned upon end-of-file. */
131 /* Promotes a possibly negative, possibly signed char to an unsigned
132 * integer for use as an array index. If the signed char is negative,
133 * we want to instead treat it as an 8-bit unsigned char, hence the
136 #define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
138 /* Enter a start condition. This macro really ought to take a parameter,
139 * but we do it the disgusting crufty way forced on us by the ()-less
140 * definition of BEGIN.
142 #define BEGIN (yy_start) = 1 + 2 *
144 /* Translate the current start state into a value that can be later handed
145 * to BEGIN to return to the state. The YYSTATE alias is for lex
148 #define YY_START (((yy_start) - 1) / 2)
149 #define YYSTATE YY_START
151 /* Action number for EOF rule of a given start state. */
152 #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
154 /* Special action meaning "start processing a new file". */
155 #define YY_NEW_FILE surf_parse_restart(surf_parse_in )
157 #define YY_END_OF_BUFFER_CHAR 0
159 /* Size of default input buffer. */
162 /* On IA-64, the buffer size is 16k, not 8k.
163 * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case.
164 * Ditto for the __ia64__ case accordingly.
166 #define YY_BUF_SIZE 32768
168 #define YY_BUF_SIZE 16384
169 #endif /* __ia64__ */
172 /* The state buf must be large enough to hold one state per character in the main buffer.
174 #define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
176 #ifndef YY_TYPEDEF_YY_BUFFER_STATE
177 #define YY_TYPEDEF_YY_BUFFER_STATE
178 typedef struct yy_buffer_state *YY_BUFFER_STATE;
181 #ifndef YY_TYPEDEF_YY_SIZE_T
182 #define YY_TYPEDEF_YY_SIZE_T
183 typedef size_t yy_size_t;
186 extern yy_size_t surf_parse_leng;
188 extern FILE *surf_parse_in, *surf_parse_out;
190 #define EOB_ACT_CONTINUE_SCAN 0
191 #define EOB_ACT_END_OF_FILE 1
192 #define EOB_ACT_LAST_MATCH 2
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 surf_parse_lex.
197 * One obvious solution it to make yy_act a global. I tried that, and saw
198 * a 5% performance hit in a non-surf_parse_lineno scanner, because yy_act is
199 * normally declared as a variable-- so it is not worth it.
201 #define YY_LESS_LINENO(n) \
204 for ( yyl = n; yyl < surf_parse_leng; ++yyl )\
205 if ( surf_parse_text[yyl] == '\n' )\
206 --surf_parse_lineno;\
208 #define YY_LINENO_REWIND_TO(dst) \
211 for ( p = yy_cp-1; p >= (dst); --p)\
213 --surf_parse_lineno;\
216 /* Return all but the first "n" matched characters back to the input stream. */
220 /* Undo effects of setting up surf_parse_text. */ \
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 surf_parse_text again */ \
230 #define unput(c) yyunput( c, (yytext_ptr) )
232 #ifndef YY_STRUCT_YY_BUFFER_STATE
233 #define YY_STRUCT_YY_BUFFER_STATE
234 struct yy_buffer_state
238 char *yy_ch_buf; /* input buffer */
239 char *yy_buf_pos; /* current position in input buffer */
241 /* Size of input buffer in bytes, not including room for EOB
244 yy_size_t yy_buf_size;
246 /* Number of characters read into yy_ch_buf, not including EOB
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
255 int yy_is_our_buffer;
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
262 int yy_is_interactive;
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
270 int yy_bs_lineno; /**< The line count. */
271 int yy_bs_column; /**< The column count. */
273 /* Whether to try to fill the input buffer when we reach the
278 int yy_buffer_status;
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.
288 * When we actually see the EOF, we change the status to "new"
289 * (via surf_parse_restart()), so that the user can continue scanning by
290 * just pointing surf_parse_in at a new input file.
292 #define YY_BUFFER_EOF_PENDING 2
295 #endif /* !YY_STRUCT_YY_BUFFER_STATE */
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. */
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
306 * Returns the top of the stack, or NULL.
308 #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
309 ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
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.
315 #define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
317 /* yy_hold_char holds the character lost when surf_parse_text is formed. */
318 static char yy_hold_char;
319 static int yy_n_chars; /* number of characters read into yy_ch_buf */
320 yy_size_t surf_parse_leng;
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 */
327 /* Flag which is used to allow surf_parse_wrap()'s to do buffer switches
328 * instead of setting up a fresh surf_parse_in. A bit of a hack ...
330 static int yy_did_buffer_switch_on_eof;
332 void surf_parse_restart (FILE *input_file );
333 void surf_parse__switch_to_buffer (YY_BUFFER_STATE new_buffer );
334 YY_BUFFER_STATE surf_parse__create_buffer (FILE *file,int size );
335 void surf_parse__delete_buffer (YY_BUFFER_STATE b );
336 void surf_parse__flush_buffer (YY_BUFFER_STATE b );
337 void surf_parse_push_buffer_state (YY_BUFFER_STATE new_buffer );
338 void surf_parse_pop_buffer_state (void );
340 static void surf_parse_ensure_buffer_stack (void );
341 static void surf_parse__load_buffer_state (void );
342 static void surf_parse__init_buffer (YY_BUFFER_STATE b,FILE *file );
344 #define YY_FLUSH_BUFFER surf_parse__flush_buffer(YY_CURRENT_BUFFER )
346 YY_BUFFER_STATE surf_parse__scan_buffer (char *base,yy_size_t size );
347 YY_BUFFER_STATE surf_parse__scan_string (yyconst char *yy_str );
348 YY_BUFFER_STATE surf_parse__scan_bytes (yyconst char *bytes,yy_size_t len );
350 void *surf_parse_alloc (yy_size_t );
351 void *surf_parse_realloc (void *,yy_size_t );
352 void surf_parse_free (void * );
354 #define yy_new_buffer surf_parse__create_buffer
356 #define yy_set_interactive(is_interactive) \
358 if ( ! YY_CURRENT_BUFFER ){ \
359 surf_parse_ensure_buffer_stack (); \
360 YY_CURRENT_BUFFER_LVALUE = \
361 surf_parse__create_buffer(surf_parse_in,YY_BUF_SIZE ); \
363 YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
366 #define yy_set_bol(at_bol) \
368 if ( ! YY_CURRENT_BUFFER ){\
369 surf_parse_ensure_buffer_stack (); \
370 YY_CURRENT_BUFFER_LVALUE = \
371 surf_parse__create_buffer(surf_parse_in,YY_BUF_SIZE ); \
373 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
376 #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
378 /* Begin user sect3 */
380 #define surf_parse_wrap() (/*CONSTCOND*/1)
381 #define YY_SKIP_YYWRAP
383 typedef unsigned char YY_CHAR;
385 FILE *surf_parse_in = (FILE *) 0, *surf_parse_out = (FILE *) 0;
387 typedef int yy_state_type;
389 extern int surf_parse_lineno;
391 int surf_parse_lineno = 1;
393 extern char *surf_parse_text;
397 #define yytext_ptr surf_parse_text
399 static yy_state_type yy_get_previous_state (void );
400 static yy_state_type yy_try_NUL_trans (yy_state_type current_state );
401 static int yy_get_next_buffer (void );
402 #if defined(__GNUC__) && __GNUC__ >= 3
403 __attribute__((__noreturn__))
405 static void yy_fatal_error (yyconst char msg[] );
407 /* Done after the current pattern has been matched and before the
408 * corresponding action - sets up surf_parse_text.
410 #define YY_DO_BEFORE_ACTION \
411 (yytext_ptr) = yy_bp; \
412 surf_parse_leng = (size_t) (yy_cp - yy_bp); \
413 (yy_hold_char) = *yy_cp; \
415 (yy_c_buf_p) = yy_cp;
417 #define YY_NUM_RULES 561
418 #define YY_END_OF_BUFFER 562
419 /* This struct is not used in this scanner,
420 but its presence is necessary. */
423 flex_int32_t yy_verify;
426 static yyconst flex_int16_t yy_accept[3334] =
428 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
429 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
430 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
431 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
432 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
433 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
434 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
435 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
436 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
437 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
439 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
440 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
441 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
442 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
443 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
444 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
445 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
446 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
447 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
448 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
450 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
451 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
452 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
453 0, 0, 0, 0, 0, 0, 0, 0, 562, 560,
454 15, 10, 10, 15, 15, 540, 10, 540, 5, 6,
455 5, 8, 9, 8, 556, 548, 549, 557, 554, 557,
456 555, 559, 548, 549, 559, 42, 10, 42, 42, 42,
457 40, 42, 42, 46, 10, 46, 46, 560, 46, 560,
458 560, 46, 63, 10, 63, 63, 63, 61, 63, 63,
459 63, 67, 10, 67, 560, 67, 74, 10, 74, 74,
461 74, 72, 74, 78, 10, 78, 89, 10, 89, 89,
462 89, 87, 89, 89, 89, 93, 10, 93, 106, 10,
463 106, 106, 106, 104, 106, 106, 106, 110, 10, 110,
464 110, 119, 10, 119, 119, 119, 117, 119, 119, 123,
465 10, 123, 123, 142, 10, 142, 142, 142, 140, 142,
466 142, 142, 142, 142, 142, 146, 10, 146, 199, 10,
467 199, 199, 199, 197, 199, 199, 199, 199, 199, 199,
468 199, 199, 203, 10, 203, 203, 210, 10, 210, 210,
469 210, 208, 210, 214, 10, 214, 214, 233, 10, 233,
470 233, 233, 231, 233, 233, 233, 233, 233, 237, 10,
472 237, 560, 237, 248, 10, 248, 248, 248, 246, 248,
473 248, 248, 252, 10, 252, 259, 10, 259, 259, 259,
474 257, 259, 263, 10, 263, 560, 263, 286, 10, 286,
475 286, 286, 284, 286, 286, 286, 286, 290, 10, 290,
476 290, 303, 10, 303, 303, 303, 301, 303, 303, 307,
477 10, 307, 316, 10, 316, 316, 316, 314, 316, 316,
478 320, 10, 320, 329, 10, 329, 329, 329, 327, 329,
479 329, 333, 10, 333, 354, 10, 354, 354, 354, 352,
480 354, 354, 354, 354, 354, 354, 358, 10, 358, 560,
481 365, 10, 365, 365, 365, 363, 365, 369, 10, 369,
483 369, 560, 369, 560, 369, 386, 10, 386, 386, 386,
484 384, 386, 386, 386, 386, 386, 390, 10, 390, 560,
485 390, 399, 10, 399, 399, 399, 397, 399, 399, 403,
486 10, 403, 430, 10, 430, 430, 430, 428, 430, 430,
487 430, 430, 430, 434, 10, 434, 447, 10, 447, 447,
488 447, 445, 447, 447, 451, 10, 451, 451, 460, 10,
489 460, 460, 460, 458, 460, 460, 464, 10, 464, 479,
490 10, 479, 479, 479, 477, 479, 479, 479, 479, 483,
491 10, 483, 483, 498, 10, 498, 498, 498, 496, 498,
492 498, 498, 498, 502, 10, 502, 560, 502, 513, 10,
494 513, 513, 513, 511, 513, 513, 513, 557, 556, 535,
495 10, 535, 535, 535, 533, 535, 535, 535, 539, 10,
496 539, 10, 0, 2, 2, 0, 4, 7, 551, 550,
497 0, 0, 0, 0, 0, 0, 41, 43, 43, 43,
498 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
499 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
500 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
501 62, 64, 64, 64, 64, 64, 0, 0, 73, 75,
502 75, 0, 88, 90, 90, 90, 90, 0, 105, 107,
503 107, 107, 107, 0, 118, 120, 120, 120, 0, 141,
505 143, 143, 143, 143, 143, 143, 143, 143, 0, 198,
506 200, 200, 200, 200, 200, 200, 200, 200, 200, 200,
507 200, 200, 200, 200, 200, 0, 209, 211, 211, 0,
508 232, 234, 234, 234, 234, 234, 234, 234, 0, 0,
509 247, 249, 249, 249, 249, 0, 258, 260, 260, 0,
510 0, 285, 287, 287, 287, 287, 287, 287, 0, 302,
511 304, 304, 304, 0, 315, 317, 317, 317, 0, 328,
512 330, 330, 330, 0, 353, 355, 355, 355, 355, 355,
513 355, 355, 355, 0, 0, 364, 366, 366, 0, 0,
514 0, 0, 0, 0, 385, 387, 387, 387, 387, 387,
516 387, 0, 0, 398, 400, 400, 400, 0, 429, 431,
517 431, 431, 431, 431, 431, 431, 431, 431, 0, 446,
518 448, 448, 448, 448, 0, 459, 461, 461, 461, 0,
519 478, 480, 480, 480, 480, 480, 0, 497, 499, 499,
520 499, 499, 499, 0, 0, 512, 514, 514, 514, 514,
521 0, 0, 0, 534, 536, 536, 536, 536, 0, 0,
522 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
523 0, 558, 0, 0, 43, 0, 0, 17, 0, 0,
524 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
525 0, 0, 0, 0, 0, 0, 16, 0, 0, 0,
527 0, 0, 0, 0, 0, 0, 0, 0, 16, 0,
528 0, 64, 64, 64, 64, 0, 0, 0, 75, 0,
529 0, 90, 0, 0, 90, 0, 0, 107, 107, 107,
530 0, 0, 120, 120, 0, 0, 0, 0, 0, 0,
531 143, 143, 143, 143, 143, 0, 0, 200, 0, 0,
532 200, 0, 0, 200, 200, 200, 200, 200, 200, 200,
533 200, 200, 200, 0, 0, 0, 0, 0, 0, 234,
534 234, 234, 0, 0, 234, 234, 234, 0, 0, 0,
535 249, 0, 0, 0, 0, 0, 0, 260, 0, 0,
536 17, 287, 0, 0, 287, 287, 287, 0, 0, 304,
538 0, 0, 0, 0, 0, 0, 317, 0, 0, 330,
539 330, 0, 0, 355, 355, 355, 0, 0, 355, 355,
540 355, 0, 0, 0, 366, 0, 0, 0, 0, 0,
541 387, 387, 387, 387, 387, 0, 0, 0, 0, 0,
542 400, 0, 0, 431, 0, 0, 431, 431, 431, 431,
543 431, 431, 0, 0, 448, 448, 448, 0, 0, 461,
544 0, 0, 0, 0, 480, 480, 0, 0, 480, 0,
545 0, 499, 0, 0, 499, 499, 0, 0, 0, 514,
546 0, 0, 514, 0, 0, 0, 553, 536, 536, 536,
547 0, 0, 0, 14, 1, 0, 0, 546, 0, 0,
549 0, 543, 542, 0, 0, 19, 18, 43, 0, 0,
550 45, 0, 17, 0, 0, 0, 0, 0, 0, 0,
551 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
552 0, 0, 0, 16, 0, 0, 0, 0, 0, 0,
553 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
554 64, 64, 0, 0, 64, 0, 0, 66, 0, 0,
555 75, 0, 0, 77, 0, 90, 0, 84, 83, 90,
556 0, 0, 92, 0, 0, 0, 107, 107, 0, 0,
557 0, 0, 109, 0, 0, 0, 0, 0, 0, 0,
558 122, 0, 0, 127, 126, 0, 129, 128, 0, 0,
560 143, 143, 143, 143, 0, 0, 145, 0, 200, 200,
561 200, 0, 158, 157, 200, 0, 162, 161, 0, 0,
562 200, 200, 200, 200, 200, 200, 200, 200, 200, 0,
563 0, 202, 0, 0, 207, 206, 0, 0, 213, 0,
564 234, 234, 234, 0, 224, 223, 234, 234, 234, 0,
565 0, 236, 0, 0, 249, 0, 243, 242, 0, 245,
566 244, 0, 0, 251, 0, 260, 0, 0, 262, 0,
567 287, 0, 271, 270, 287, 287, 287, 0, 0, 289,
568 0, 304, 0, 300, 299, 0, 0, 306, 0, 0,
569 311, 310, 317, 0, 0, 319, 0, 330, 330, 0,
571 0, 332, 0, 355, 355, 355, 355, 0, 345, 344,
572 0, 0, 355, 355, 0, 0, 357, 0, 0, 366,
573 0, 0, 368, 0, 0, 0, 0, 387, 387, 387,
574 387, 387, 0, 0, 389, 0, 0, 0, 394, 393,
575 400, 0, 0, 402, 0, 431, 0, 415, 414, 0,
576 0, 431, 0, 0, 431, 431, 431, 0, 0, 433,
577 0, 0, 0, 0, 0, 448, 0, 0, 450, 0,
578 461, 0, 457, 456, 0, 0, 463, 0, 480, 480,
579 0, 474, 473, 480, 0, 0, 482, 0, 499, 0,
580 491, 490, 499, 499, 0, 0, 501, 0, 0, 514,
582 0, 508, 507, 514, 0, 0, 0, 516, 0, 536,
583 536, 536, 0, 0, 538, 0, 0, 0, 547, 541,
584 0, 0, 43, 0, 44, 0, 0, 0, 0, 0,
585 0, 0, 216, 0, 265, 0, 0, 335, 0, 0,
586 392, 0, 0, 0, 0, 391, 0, 0, 0, 0,
587 0, 215, 0, 264, 334, 0, 0, 0, 0, 0,
588 0, 50, 49, 64, 64, 0, 56, 55, 64, 0,
589 264, 75, 0, 90, 90, 0, 0, 97, 96, 107,
590 107, 0, 103, 102, 0, 0, 114, 113, 0, 116,
591 115, 0, 0, 131, 130, 143, 143, 143, 143, 0,
593 200, 200, 200, 0, 0, 0, 164, 163, 200, 200,
594 200, 200, 200, 200, 200, 200, 200, 200, 0, 0,
595 234, 234, 0, 0, 234, 234, 234, 0, 0, 0,
596 0, 0, 0, 0, 0, 287, 287, 287, 287, 0,
597 304, 0, 317, 0, 0, 0, 330, 0, 355, 355,
598 355, 355, 0, 347, 346, 355, 355, 0, 0, 366,
599 0, 0, 0, 0, 387, 0, 0, 387, 387, 387,
600 0, 0, 400, 0, 431, 0, 417, 416, 0, 0,
601 0, 421, 420, 431, 0, 0, 431, 0, 0, 438,
602 437, 0, 440, 439, 448, 0, 461, 0, 480, 480,
604 480, 0, 499, 499, 0, 0, 0, 0, 0, 0,
605 514, 0, 0, 536, 0, 0, 536, 0, 0, 0,
606 0, 12, 0, 544, 545, 43, 0, 0, 0, 0,
607 0, 0, 0, 216, 0, 0, 265, 0, 0, 321,
608 335, 0, 0, 392, 0, 436, 0, 504, 391, 0,
609 0, 0, 0, 0, 215, 0, 0, 264, 334, 435,
610 0, 503, 436, 435, 64, 64, 64, 0, 0, 0,
611 0, 0, 90, 90, 0, 107, 107, 0, 0, 143,
612 143, 0, 0, 143, 0, 0, 0, 200, 200, 0,
613 160, 159, 200, 200, 200, 200, 200, 200, 0, 0,
615 200, 200, 200, 0, 0, 234, 234, 0, 222, 221,
616 234, 0, 0, 234, 0, 322, 0, 241, 240, 0,
617 0, 256, 255, 0, 287, 287, 287, 287, 0, 304,
618 0, 0, 0, 0, 0, 324, 323, 330, 0, 355,
619 0, 0, 355, 355, 0, 0, 355, 0, 0, 366,
620 0, 0, 0, 0, 387, 0, 375, 374, 387, 387,
621 387, 0, 0, 0, 0, 0, 431, 0, 419, 418,
622 431, 0, 425, 424, 431, 0, 448, 0, 461, 0,
623 480, 480, 480, 0, 499, 0, 0, 0, 495, 494,
624 0, 0, 0, 506, 505, 514, 0, 0, 536, 0,
626 0, 0, 0, 0, 0, 0, 0, 0, 11, 43,
627 0, 0, 0, 0, 0, 0, 204, 0, 0, 0,
628 0, 321, 0, 0, 404, 436, 453, 0, 504, 0,
629 0, 0, 0, 0, 0, 0, 0, 435, 452, 0,
630 503, 0, 0, 0, 0, 0, 64, 0, 0, 0,
631 71, 70, 0, 90, 90, 0, 0, 0, 0, 0,
632 0, 0, 0, 0, 143, 0, 137, 136, 0, 0,
633 0, 0, 150, 149, 0, 0, 200, 200, 200, 0,
634 0, 200, 200, 200, 0, 184, 183, 0, 0, 200,
635 200, 0, 0, 234, 234, 0, 0, 0, 228, 227,
637 234, 0, 235, 322, 0, 0, 287, 287, 287, 287,
638 0, 288, 304, 0, 0, 313, 312, 0, 330, 0,
639 355, 0, 339, 338, 0, 0, 355, 0, 349, 348,
640 355, 0, 356, 0, 366, 0, 205, 0, 405, 387,
641 387, 387, 387, 0, 0, 0, 396, 395, 0, 401,
642 431, 431, 431, 0, 448, 0, 461, 0, 0, 0,
643 480, 0, 0, 0, 499, 0, 493, 492, 0, 0,
644 514, 0, 0, 536, 0, 0, 0, 0, 0, 0,
645 0, 0, 0, 532, 531, 0, 0, 0, 0, 0,
646 0, 48, 0, 0, 0, 0, 125, 148, 204, 0,
648 254, 0, 0, 0, 370, 404, 453, 466, 0, 47,
649 0, 0, 0, 124, 147, 0, 253, 452, 465, 0,
650 0, 52, 51, 0, 54, 53, 64, 0, 0, 0,
651 90, 0, 0, 0, 0, 99, 98, 0, 101, 100,
652 0, 0, 0, 133, 132, 0, 0, 0, 139, 138,
653 0, 0, 152, 151, 200, 200, 200, 0, 172, 171,
654 0, 0, 200, 200, 0, 186, 185, 200, 200, 0,
655 0, 234, 234, 0, 226, 225, 234, 0, 0, 287,
656 0, 0, 287, 287, 287, 304, 0, 0, 330, 0,
657 331, 355, 0, 341, 340, 355, 355, 0, 0, 0,
659 0, 205, 371, 405, 387, 387, 387, 387, 0, 0,
660 431, 0, 0, 431, 0, 448, 0, 449, 461, 0,
661 0, 468, 467, 0, 0, 480, 0, 476, 475, 0,
662 0, 0, 499, 0, 0, 514, 0, 0, 515, 0,
663 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
664 0, 0, 0, 0, 0, 0, 0, 0, 48, 68,
665 80, 0, 0, 125, 148, 0, 254, 291, 0, 359,
666 370, 466, 0, 0, 47, 79, 0, 0, 124, 147,
667 0, 253, 465, 0, 0, 64, 0, 292, 0, 90,
668 0, 86, 85, 0, 0, 0, 0, 135, 134, 0,
670 200, 200, 200, 0, 174, 173, 200, 200, 200, 0,
671 0, 0, 0, 212, 234, 234, 234, 0, 0, 287,
672 0, 273, 272, 287, 287, 287, 304, 0, 0, 330,
673 355, 355, 355, 360, 0, 362, 361, 0, 371, 0,
674 0, 387, 387, 387, 0, 69, 431, 0, 423, 422,
675 431, 0, 432, 448, 461, 0, 462, 0, 470, 469,
676 480, 0, 0, 487, 486, 499, 0, 0, 514, 552,
677 0, 520, 519, 0, 0, 0, 0, 0, 0, 0,
678 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
679 0, 0, 0, 0, 0, 0, 0, 68, 80, 0,
681 0, 239, 291, 0, 359, 0, 0, 79, 0, 0,
682 238, 0, 0, 64, 0, 65, 292, 0, 0, 0,
683 0, 0, 0, 0, 144, 200, 200, 200, 200, 0,
684 0, 200, 200, 0, 0, 0, 0, 201, 234, 234,
685 234, 0, 0, 261, 0, 0, 287, 287, 287, 287,
686 0, 0, 0, 0, 0, 0, 355, 355, 355, 360,
687 0, 0, 373, 372, 0, 0, 387, 387, 0, 388,
688 69, 0, 0, 431, 448, 461, 480, 0, 481, 499,
689 0, 0, 514, 0, 0, 0, 0, 0, 0, 0,
690 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
692 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
693 0, 239, 308, 0, 0, 0, 0, 238, 0, 0,
694 64, 0, 76, 0, 82, 81, 0, 91, 0, 0,
695 200, 200, 200, 200, 0, 176, 175, 200, 200, 0,
696 0, 0, 0, 0, 0, 234, 234, 0, 0, 0,
697 0, 267, 266, 287, 287, 287, 0, 0, 0, 0,
698 0, 0, 305, 0, 0, 326, 325, 355, 355, 0,
699 0, 0, 367, 0, 377, 376, 0, 0, 0, 0,
700 0, 0, 0, 431, 448, 461, 480, 499, 0, 309,
701 514, 0, 0, 0, 0, 0, 0, 0, 0, 0,
703 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
704 0, 0, 0, 0, 0, 0, 0, 0, 112, 308,
705 0, 0, 0, 111, 0, 0, 0, 0, 0, 0,
706 200, 200, 0, 0, 200, 200, 200, 0, 0, 0,
707 0, 0, 0, 0, 0, 234, 0, 0, 0, 230,
708 229, 0, 250, 287, 287, 287, 0, 283, 282, 0,
709 0, 0, 0, 0, 0, 0, 355, 0, 0, 0,
710 351, 350, 0, 0, 0, 0, 383, 382, 0, 0,
711 0, 0, 0, 0, 431, 0, 0, 0, 0, 480,
712 499, 0, 309, 0, 0, 0, 0, 0, 0, 524,
714 0, 0, 0, 0, 523, 0, 0, 0, 0, 0,
715 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
716 0, 0, 112, 485, 0, 0, 111, 484, 0, 0,
717 0, 0, 0, 0, 200, 0, 0, 0, 168, 167,
718 0, 0, 200, 200, 0, 0, 0, 0, 0, 0,
719 0, 0, 234, 0, 220, 219, 287, 0, 0, 287,
720 0, 0, 0, 0, 0, 0, 0, 318, 355, 0,
721 343, 342, 0, 0, 0, 0, 0, 0, 0, 0,
722 0, 0, 0, 0, 431, 0, 0, 0, 0, 455,
723 454, 0, 0, 0, 0, 0, 0, 510, 509, 0,
725 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
726 0, 0, 0, 0, 0, 21, 29, 0, 0, 0,
727 0, 20, 28, 0, 95, 485, 518, 94, 484, 517,
728 0, 0, 0, 0, 0, 0, 121, 200, 0, 166,
729 165, 0, 170, 169, 200, 200, 0, 0, 0, 0,
730 0, 0, 0, 0, 234, 287, 0, 275, 274, 287,
731 0, 0, 294, 0, 0, 293, 355, 0, 0, 0,
732 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
733 0, 0, 0, 0, 0, 0, 472, 471, 0, 489,
734 488, 0, 0, 0, 530, 0, 0, 0, 529, 0,
736 0, 0, 0, 0, 0, 0, 0, 0, 0, 23,
737 0, 0, 0, 22, 0, 95, 518, 94, 517, 0,
738 0, 0, 0, 0, 200, 0, 0, 200, 0, 0,
739 190, 0, 0, 0, 189, 0, 234, 0, 0, 0,
740 0, 0, 0, 0, 0, 355, 0, 0, 0, 0,
741 0, 0, 0, 0, 0, 0, 0, 0, 0, 427,
742 426, 0, 0, 0, 0, 0, 500, 0, 0, 0,
743 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
744 0, 0, 0, 0, 0, 0, 60, 0, 59, 0,
745 0, 108, 200, 0, 0, 0, 0, 0, 0, 0,
747 192, 0, 0, 191, 234, 0, 269, 268, 0, 0,
748 0, 296, 298, 295, 297, 355, 379, 0, 378, 0,
749 0, 413, 409, 0, 0, 412, 408, 0, 444, 0,
750 443, 0, 528, 0, 0, 527, 0, 0, 0, 537,
751 0, 0, 0, 12, 0, 12, 0, 33, 0, 0,
752 0, 0, 31, 32, 0, 0, 0, 0, 30, 58,
753 57, 200, 0, 0, 0, 0, 0, 188, 187, 0,
754 0, 0, 0, 234, 0, 0, 0, 0, 355, 0,
755 0, 0, 0, 0, 0, 442, 441, 522, 526, 521,
756 525, 0, 0, 0, 0, 0, 0, 0, 0, 25,
758 0, 0, 0, 0, 24, 0, 0, 0, 0, 0,
759 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
760 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
761 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
762 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
763 0, 0, 0, 0, 194, 0, 193, 0, 218, 217,
764 0, 0, 0, 0, 0, 0, 0, 337, 336, 0,
765 0, 407, 0, 406, 0, 0, 11, 0, 0, 0,
766 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
767 0, 0, 0, 0, 0, 196, 195, 0, 0, 0,
769 0, 0, 0, 381, 380, 0, 0, 0, 0, 0,
770 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
771 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
772 0, 0, 411, 410, 0, 0, 0, 35, 0, 0,
773 0, 34, 0, 0, 0, 0, 0, 0, 0, 0,
774 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
775 0, 0, 27, 0, 0, 26, 0, 0, 0, 0,
776 0, 0, 178, 0, 0, 177, 0, 0, 277, 0,
777 0, 276, 0, 0, 37, 0, 36, 0, 0, 0,
778 0, 182, 0, 181, 0, 279, 0, 278, 0, 0,
780 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
781 0, 39, 38, 0, 154, 0, 153, 0, 0, 0,
782 0, 0, 0, 156, 155, 180, 179, 281, 280, 0,
783 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
784 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
785 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
786 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
787 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
788 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
789 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
791 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
792 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
793 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
797 static yyconst YY_CHAR yy_ec[256] =
799 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
800 1, 2, 4, 1, 1, 1, 1, 1, 1, 1,
801 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
802 1, 2, 5, 6, 7, 1, 1, 8, 9, 1,
803 1, 1, 1, 1, 10, 11, 12, 13, 13, 13,
804 13, 14, 13, 13, 13, 15, 13, 16, 17, 18,
805 19, 20, 21, 1, 22, 23, 24, 25, 26, 27,
806 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
807 31, 38, 39, 40, 41, 42, 43, 44, 45, 31,
808 46, 1, 47, 1, 48, 1, 49, 50, 51, 52,
810 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
811 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
812 73, 74, 1, 1, 1, 1, 1, 1, 1, 1,
813 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
814 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
815 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
816 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
817 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
818 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
819 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
821 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
822 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
823 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
824 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
825 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
829 static yyconst YY_CHAR yy_meta[75] =
831 1, 2, 2, 2, 1, 1, 1, 1, 1, 3,
832 3, 1, 4, 4, 4, 5, 6, 1, 7, 8,
833 1, 9, 9, 9, 9, 9, 9, 5, 5, 5,
834 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
835 5, 5, 5, 5, 5, 1, 1, 5, 9, 9,
836 9, 9, 9, 9, 5, 5, 5, 5, 5, 5,
837 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
841 static yyconst flex_uint16_t yy_base[3813] =
843 0, 0, 0, 3, 6, 9, 12, 29, 16, 19,
844 14, 17, 33, 36, 49, 55, 45, 61, 108, 174,
845 66, 72, 75, 78, 83, 128, 131, 134, 138, 141,
846 194, 197, 200, 204, 207, 224, 230, 233, 241, 250,
847 268, 335, 288, 291, 294, 298, 301, 355, 358, 361,
848 402, 472, 365, 368, 542, 602, 422, 425, 662, 729,
849 428, 432, 435, 452, 492, 495, 498, 502, 796, 863,
850 505, 522, 562, 565, 568, 572, 575, 622, 930, 997,
851 625, 628, 1064, 0, 632, 635, 682, 685, 688, 692,
852 695, 749, 1138, 1195, 752, 755, 759, 762, 816, 819,
854 822, 826, 1252, 1319, 829, 883, 886, 889, 893, 896,
855 950, 953, 1386, 1455, 956, 960, 1524, 1578, 963, 1017,
856 1020, 1023, 1027, 1030, 1158, 1161, 1632, 1699, 1164, 1168,
857 1171, 1215, 1218, 1221, 1225, 1228, 1766, 1823, 1272, 1275,
858 1880, 1950, 1278, 1282, 2020, 2087, 1339, 1342, 2154, 2221,
859 1345, 1349, 1406, 1409, 2288, 2358, 1412, 1416, 1419, 1475,
860 1478, 1481, 1485, 1488, 1544, 1547, 1550, 1554, 1557, 1598,
861 1601, 1604, 1608, 1611, 1652, 1655, 2428, 2495, 1658, 1662,
862 1665, 1719, 1722, 1725, 1729, 1732, 2562, 2632, 1786, 1789,
863 2702, 2769, 1792, 1796, 2836, 2903, 1799, 1843, 1846, 1849,
865 1853, 1856, 1900, 1903, 2970, 3027, 1906, 1910, 3084, 3152,
866 1913, 1930, 1970, 1973, 1976, 1980, 1983, 2000, 3220, 3287,
867 2040, 2043, 2046, 2050, 2053, 2107, 2110, 2113, 3354, 3418,
868 2132, 2134, 3482, 3550, 2174, 2180, 0, 0, 9063,11902,
869 11902, 95, 100, 29, 41,11902, 103, 51,11902,11902,
870 9052,11902,11902, 9039,11902, 9054, 9054, 164,11902,11902,
871 11902,11902, 9048, 9048, 9003,11902, 158, 9027, 0, 142,
872 11902, 8994, 8982,11902, 164, 3614, 8976, 3678, 2187, 1238,
873 9027, 31,11902, 253, 9018, 0, 143,11902, 8968, 8963,
874 84,11902, 258, 253, 9021, 8968,11902, 322, 9007, 0,
876 148,11902, 8977,11902, 325, 218,11902, 328, 9003, 0,
877 242,11902, 8973, 8969, 8967,11902, 389, 373,11902, 393,
878 8995, 0, 245,11902, 8947, 8940, 8944,11902, 396, 8997,
879 11,11902, 455, 8984, 0, 313,11902, 8936, 8936,11902,
880 458, 8987, 79,11902, 461, 8978, 0, 446,11902, 8926,
881 8940, 8942, 8924, 8938, 19,11902, 525, 509,11902, 529,
882 8966, 0, 447,11902, 101, 8922, 8928, 317, 8905, 258,
883 531, 8907,11902, 532, 8957, 246,11902, 535, 8944, 0,
884 576,11902, 8911,11902, 652, 8950, 287,11902, 716, 8937,
885 0, 577,11902, 8886, 8892, 8898, 8882, 320,11902, 719,
887 112, 8887, 377,11902, 722, 8923, 0, 580,11902, 8879,
888 8889, 8872,11902, 783, 639,11902, 786, 8915, 0, 636,
889 11902, 8877,11902, 789, 2129, 8917, 681,11902, 847, 8908,
890 0, 637,11902, 8878, 8870, 8872, 102,11902, 850, 8908,
891 704,11902, 853, 8895, 0, 640,11902, 8857, 8861,11902,
892 856, 900,11902, 914, 8888, 0, 706,11902, 8855, 8857,
893 11902, 920, 908,11902, 923, 8881, 0, 707,11902, 8851,
894 8831,11902, 980, 967,11902, 989, 8874, 0, 773,11902,
895 8823, 8821, 8824, 8834, 8836, 447,11902, 1047, 1034, 774,
896 11902, 1056, 8860, 0, 840,11902, 8826,11902, 1188, 1305,
898 748, 1183, 771, 8814, 815,11902, 1308, 8853, 0, 841,
899 11902, 8803, 8808, 8809, 8803, 8796,11902, 1311, 454, 8810,
900 882,11902, 1370, 8838, 0, 898,11902, 8805, 8803,11902,
901 1375, 1423,11902, 1378, 8831, 0, 964,11902, 8797, 8793,
902 1191, 8795, 137,11902, 1437, 1424,11902, 1444, 8823, 0,
903 965,11902, 8771, 518,11902, 1447, 8825, 204,11902, 1450,
904 8816, 0, 968,11902, 8768, 8778,11902, 1506, 1492,11902,
905 1512, 8809, 0, 1031,11902, 8756, 8760, 8770, 8744,11902,
906 1515, 8804, 949,11902, 1518, 8795, 0, 1032,11902, 8747,
907 8757, 8745, 8746,11902, 1682, 272, 8741, 1171,11902, 1691,
909 8781, 0, 1035,11902, 8739, 8743, 8741, 1669, 8742,11902,
910 1694, 8768, 0, 1172,11902, 8727, 8185, 8175,11902, 1749,
911 1736, 1758, 408, 8167,11902, 8228, 8217,11902,11902,11902,
912 1750, 153, 8168, 8167, 8165, 8213,11902, 0, 2120, 8162,
913 8208, 8189, 8153, 328, 1234, 8154, 8147, 8151, 8143, 1128,
914 259, 8132, 8132, 1185, 8155, 396, 1301, 8129, 8119, 8123,
915 1445, 584, 8102, 8103, 8128, 398, 1755, 652, 439, 979,
916 11902, 0, 8089, 8103, 8098, 8087, 8124, 8068,11902, 0,
917 8057, 8067,11902, 0, 8052, 2187, 8041, 8058,11902, 0,
918 8038, 8049, 8045, 8042,11902, 0, 8011, 8020, 8020,11902,
920 0, 2241, 2244, 8000, 8009, 8009, 8006, 7996, 7994,11902,
921 0, 7985, 2254, 7966, 2308, 7957, 7963, 7959, 7968, 7967,
922 7942, 7961, 7955, 7945, 7934, 7945,11902, 0, 2311, 7943,
923 11902, 0, 7925, 175, 2314, 7905, 7918, 7917, 7908, 7900,
924 11902, 0, 7890, 2317, 2320, 7891,11902, 0, 7868, 7869,
925 7886,11902, 0, 7861, 2338, 7844, 7852, 7851, 7838,11902,
926 0, 7827, 2378, 7832,11902, 0, 2381, 7829, 7826,11902,
927 0, 7825, 7821, 7821,11902, 0, 7832, 7831, 7802, 2384,
928 7796, 7809, 7808, 7790, 7788,11902, 0, 7780, 7773, 1506,
929 1812, 1242, 1514, 1813,11902, 0, 7774, 7763, 7769, 7779,
931 7767, 7749, 7742,11902, 0, 2387, 7746, 7741,11902, 0,
932 7741, 2390, 7723, 7745, 7702, 7710, 7705, 7701, 7679,11902,
933 0, 7676, 7683, 7672, 7657,11902, 0, 7659, 2408, 7654,
934 11902, 0, 7644, 7647, 2448, 7640, 7636,11902, 0, 7635,
935 2451, 7640, 7607, 7613, 7615,11902, 0, 7609, 2454, 7601,
936 512, 7594, 7641,11902, 0, 7606, 7588, 7593, 7572, 7608,
937 7613, 1272, 7561,11902, 1925, 0, 7556, 7539, 7584, 7582,
938 7534,11902, 2457, 2006, 7528, 2192, 2516, 2077, 7539, 7529,
939 7515, 7527, 7507, 7497, 7491, 7505, 7493, 1266, 7500, 7499,
940 7484, 7479, 7471, 7475, 7478, 7463, 2081, 7473, 7455, 7468,
942 7447, 7444, 7453, 7440, 7448, 7430, 7425, 7438, 2142, 7416,
943 7415, 2460, 2526, 2519, 2529, 2262, 2582, 7420, 7412, 2523,
944 2592, 7423, 2585, 2341, 7412, 2595, 2652, 2603, 2666, 2657,
945 2660, 2663, 2671, 2722, 2725, 2735, 2728, 2411, 2748, 2614,
946 2790, 2798, 2801, 2808, 2865, 2740, 2876, 1869, 2794, 2622,
947 7405, 2862, 2689, 2868, 7400, 7391, 7390, 7385, 7373, 7369,
948 7378, 7375, 7356, 2871, 2926, 2929, 2819, 2932, 2936, 7360,
949 7349, 7357, 2939, 2891, 7360, 7354, 7334, 2990, 2993, 1306,
950 7335, 2999, 2957, 3003, 3048, 3056, 3059, 7326, 3062, 3106,
951 2213, 7326, 3109, 3066, 7323, 7309, 7305, 3112, 3117, 7319,
953 3121, 3140, 3173, 3185, 3176, 3188, 7286, 3180, 3248, 7301,
954 7282, 3241, 3252, 7289, 3, 7279, 3244, 3204, 3255, 7290,
955 7265, 3310, 3317, 7283, 7263, 3320, 3323, 7263, 7258, 7257,
956 7267, 7248, 7251, 7252, 7238, 3374, 3377, 7248, 3383, 3276,
957 7232, 3386, 3389, 7240, 3438, 3343, 3442, 7226, 3447, 7230,
958 7233, 7232, 3450, 3456, 3504, 3507, 3511, 3514, 3517, 7213,
959 3529, 3401, 3571, 3574, 7225, 7205, 3579, 3465, 7218, 3582,
960 3585, 7193, 3597, 3536, 7207, 7201, 3604, 3608, 1333, 7195,
961 3611, 3636, 7190, 7221, 3629, 3648,11902, 7179, 7187, 7182,
962 3652, 3657, 7212,11902,11902, 882, 7170,11902, 7202, 7200,
964 7149,11902,11902, 7144, 3682,11902,11902, 7139, 3690, 3693,
965 11902, 3699, 1941, 7126, 7119, 7127, 7136, 7126, 7109, 7114,
966 7099, 7105, 7105, 7102, 7092, 7077, 7074, 718, 7085, 7068,
967 7068, 7074, 1566, 2070, 7061, 7060, 7069, 7059, 7048, 7039,
968 7046, 7042, 7034, 7026, 7023, 7035, 7007, 7001, 3702, 3745,
969 6999, 6988, 3705, 3753, 7000, 3713, 3761,11902, 3764, 6988,
970 6993, 3767, 3770,11902, 3773, 6973, 3776,11902,11902, 6974,
971 3792, 3795,11902, 3798, 3801, 3804, 6968, 6964, 3819, 3823,
972 3831, 3837,11902, 3840, 3843, 3850, 3861, 3864, 3872, 3875,
973 11902, 3879, 3882,11902,11902, 3894,11902,11902, 3903, 3906,
975 6972, 6976, 6973, 6967, 3914, 3917,11902, 3921, 6951, 6971,
976 6941, 3924,11902,11902, 3936, 3942,11902,11902, 3950, 3954,
977 6922, 6937, 6917, 6922, 6912, 6907, 6909, 6898, 1247, 3962,
978 3970,11902, 3973, 3977,11902,11902, 3985, 3992,11902, 3995,
979 6892, 6893, 3998, 4004,11902,11902, 6853, 6868, 6864, 4016,
980 4019,11902, 4023, 6837, 4026, 4029,11902,11902, 4044,11902,
981 11902, 4052, 4056,11902, 4059, 4062, 4065, 4071,11902, 4080,
982 6827, 4090,11902,11902, 6830, 6830, 6833, 4084, 4099,11902,
983 4103, 6833, 4106,11902,11902, 4114, 4118,11902, 4125, 4133,
984 11902,11902, 6823, 4144, 4147,11902, 4150, 4153, 4156, 4159,
986 4174,11902, 4178, 6815, 6811, 6803, 6814, 4182,11902,11902,
987 4193, 4197, 6810, 6798, 4205, 4211,11902, 4214, 6780, 6789,
988 4217, 4220,11902, 4224, 6788, 1567, 6784, 6767, 4239, 6785,
989 6783, 6759, 4246, 4249,11902, 4252, 6757, 4259,11902,11902,
990 6761, 4272, 4275,11902, 4278, 6740, 4281,11902,11902, 4297,
991 4300, 4308, 4315, 4319, 6751, 4327, 6732, 4333, 4336,11902,
992 4340, 4345, 4348, 4359, 4363, 6723, 4371, 4377,11902, 4380,
993 6723, 4383,11902,11902, 4391, 4401,11902, 4404, 6715, 6706,
994 4410,11902,11902, 6728, 4423, 4426,11902, 4430, 6703, 4433,
995 11902,11902, 6675, 4449, 4452, 4455,11902, 4458, 6651, 4461,
997 4479,11902,11902, 4467, 6653, 4487, 4492,11902, 4495, 6615,
998 4498, 6610, 4502, 4506,11902, 4516, 888, 4521,11902,11902,
999 6551, 6541, 6494, 4525,11902, 6458, 6454, 6446, 6396, 6374,
1000 6313, 6307, 2073, 6294, 2281, 6301, 6291, 2116, 6304, 6286,
1001 2216, 6201, 6132, 6066, 6057, 2272, 6035, 6047, 6020, 5997,
1002 5974, 2350, 5870, 2420, 2486, 5855, 5807, 5798, 5722, 5719,
1003 4529,11902,11902, 5684, 38, 4544,11902,11902, 26, 4552,
1004 2829, 4555, 4558, 43, 195, 4564, 4567,11902,11902, 181,
1005 216, 4577,11902,11902, 4585, 4588,11902,11902, 4597,11902,
1006 11902, 4605, 4608,11902,11902, 239, 326, 4616, 370, 4626,
1008 4629, 4634, 4637, 4640, 4658, 4666,11902,11902, 4647, 4674,
1009 4677, 4685, 4688, 4695, 4706, 4709, 4713, 4716, 4727, 4735,
1010 395, 460, 4739, 4742, 488, 4757, 525, 4760, 526, 4763,
1011 4766, 4781, 4784, 4789, 4802, 539, 567, 616, 654, 4805,
1012 636, 4809, 4812, 4816, 4831, 4835, 650, 4843, 658, 4851,
1013 703, 715, 4869,11902,11902, 4855, 726, 4863, 782, 776,
1014 4877, 784, 922, 932, 1005, 4882, 4885, 1086, 1112, 1130,
1015 4896, 1119, 4900, 4904, 1138, 4908,11902,11902, 4918, 4924,
1016 4932,11902,11902, 1162, 4940, 4946, 1173, 4954, 4958,11902,
1017 11902, 4967,11902,11902, 1169, 4975, 1211, 4978, 1231, 1227,
1019 1302, 4981, 1293, 4984, 4988, 5006, 5014, 1299, 5017, 5020,
1020 1310, 1362, 5028, 1355, 5035, 5047, 5038, 5056, 1603, 1405,
1021 5061,11902, 1406,11902,11902, 1376, 1374, 1418, 1423, 1427,
1022 1442, 1447, 1468, 2490, 1480, 1512, 2557, 1516, 1525, 2684,
1023 2762, 1513, 1527, 2965, 1548, 3411, 1565, 3212, 3021, 1553,
1024 1564, 1561, 1610, 1618, 3215, 1612, 1623, 3314, 3476, 5064,
1025 1622, 3618, 5067, 5070, 5080, 5083, 5086, 5089, 1636, 5092,
1026 5113, 5121, 1636, 1618, 5124, 5135, 5143, 5146, 5153, 5157,
1027 5161, 5165, 5183, 5175, 5168, 5193, 5196, 5204, 5207, 5213,
1028 11902,11902, 5225, 5229, 5232, 5235, 5238, 5243, 5256, 5261,
1030 5274, 5280, 5285, 5298, 5303, 1665, 1668, 5306,11902,11902,
1031 5317, 5322, 5328, 1684, 5341, 3644, 5344,11902,11902, 5352,
1032 5361,11902,11902, 5355, 1687, 1669, 1689, 1700, 5374, 1698,
1033 5377, 5380, 5383, 5399, 5402,11902,11902, 1705, 5410, 1732,
1034 5413, 5425, 5418, 1735, 5436, 5439, 1751, 5447, 1743, 1747,
1035 5450, 1756, 1749, 1758, 1757, 5454,11902,11902, 1782, 1794,
1036 1794, 5462, 1810, 5469, 5477, 5472, 1800, 5487,11902,11902,
1037 1816, 5496,11902,11902, 1807, 5504, 1830, 5507, 1849, 5510,
1038 5514, 5517, 5535, 5538, 1852, 5542, 5546, 5562,11902,11902,
1039 5570, 1874, 5573,11902,11902, 1866, 1885, 5589, 1862, 5592,
1041 1966, 2511, 5601, 5604, 5612, 1929, 1997, 1961,11902, 5619,
1042 1882, 1879, 1884, 1968, 1879, 1926, 3728, 1936, 1947, 1943,
1043 1949, 5622, 1950, 1952, 5625, 5631, 5637, 1983, 5641, 2000,
1044 2007, 2000, 2048, 1995, 1999, 2012, 2025, 5644, 5647, 2050,
1045 5650, 2075, 5653, 5657, 5665, 5671, 2070, 5679, 2061, 5683,
1046 11902,11902, 5691, 2062, 5694, 5698, 5701, 5706, 5719, 5722,
1047 5730, 5733, 5737, 5756, 5764, 5767,11902,11902, 5775, 5778,
1048 5786, 5789,11902,11902, 5799, 5805, 2075, 2100, 2094, 5813,
1049 5817, 5825, 2113, 2137, 5831,11902,11902, 5839, 5843, 2121,
1050 2115, 5851, 5857, 2145, 2158, 5860, 5863, 5872,11902,11902,
1052 2153, 5880,11902, 5883, 5886, 5889, 2145, 5892, 2201, 2193,
1053 5895,11902, 2189, 5899, 5914,11902,11902, 5922, 2224, 5925,
1054 2202, 5928,11902,11902, 5945, 5949, 2212, 5957,11902,11902,
1055 2205, 5965,11902, 2203, 5969, 5972, 5975, 2210, 5978, 2218,
1056 2225, 2218, 2247, 5987, 2263, 5991,11902,11902, 5999,11902,
1057 2263, 6002, 2271, 6006, 2274, 6009, 2283, 6012, 6020, 6034,
1058 6042, 6045, 6049, 6066, 6069, 6073,11902,11902, 6081, 2273,
1059 2287, 2324, 6089, 6092, 2326, 2313, 2377, 2314, 2333, 2320,
1060 2386, 2337, 6096,11902,11902, 6104, 2375, 2460, 2399, 6110,
1061 6116, 6124, 2328, 2349, 2379, 2358, 6128, 6131, 6135, 2363,
1063 6138, 2364, 2378, 2405, 6141, 6144, 6147, 6151, 2406, 6154,
1064 2418, 2433, 2414, 6157, 6160, 2416, 6163, 6166, 6169, 2418,
1065 6172,11902,11902, 6180,11902,11902, 2432, 6188, 2423, 6191,
1066 2430, 6194, 6198, 6212, 6216,11902,11902, 6224,11902,11902,
1067 6232, 6235, 6240,11902,11902, 6256, 6259, 6274,11902,11902,
1068 6267, 6282,11902,11902, 2455, 2464, 2487, 6290,11902,11902,
1069 6298, 6301, 2485, 2475, 6309,11902,11902, 2497, 6317, 6320,
1070 6323, 2487, 2484, 6328,11902,11902, 2493, 6342, 6345, 2500,
1071 6348, 6351, 2503, 2527, 2532, 2538, 6367, 6370, 2549, 6373,
1072 11902, 2543, 6376,11902,11902, 2542, 2551, 2552, 6392, 6398,
1074 6406, 6410, 6413, 6416, 6419, 6425, 6428, 6437, 6446, 2546,
1075 2561, 6449, 6455, 2580, 6467, 2579, 6471,11902, 2580, 6477,
1076 6480,11902,11902, 6497, 6500, 2589, 6508,11902,11902, 6516,
1077 6519, 6522, 2603, 6530, 2611, 2624, 2636, 6537,11902, 6540,
1078 6543, 2649, 2655, 2656, 2662, 2673, 2665, 2695, 2695, 2705,
1079 2720, 6551, 6558, 2736, 2809, 6561, 2984, 3943, 6570, 6573,
1080 6577, 2687, 2685, 6582, 6585, 2699, 6588, 6591, 2698, 6594,
1081 6597, 6601, 2694, 2723, 6604, 6607, 2725, 2726, 6610, 6613,
1082 2747, 6616, 6619, 2739, 2752, 2769, 6622, 6625, 6628, 6631,
1083 6634,11902,11902, 6642, 6649, 6652, 6655,11902,11902, 6663,
1085 2764, 2777, 2839, 6671,11902,11902, 6682, 2796, 2799, 6687,
1086 6696, 6690, 6705,11902, 2805, 2810, 2832, 6709, 6714, 6717,
1087 6724,11902,11902, 6720, 6738, 6741, 6744, 6747, 6750, 6770,
1088 2829, 2837, 2839, 6776, 6779,11902,11902, 6788, 6793, 6796,
1089 6801, 6809, 6815, 6818, 6821, 6827, 6836, 6841,11902,11902,
1090 6850, 6854,11902, 2849, 2848, 6857,11902, 6861,11902,11902,
1091 2829, 6876, 6879,11902,11902, 2853, 6887, 2864, 2869,11902,
1092 6891,11902,11902, 2919, 2905, 2921, 2919, 2927, 2929, 2917,
1093 2936, 2932, 2939, 6899, 6902, 3029, 3023, 2938, 2943, 3058,
1094 2941, 2955, 2954, 2958, 3069, 2957, 2996, 6906, 6909, 2992,
1096 2999, 6912, 6921, 3007, 6924, 3004, 3021, 6927, 3037, 3038,
1097 6930, 3034, 3055, 3074, 6934,11902, 6937, 6940, 6944, 6947,
1098 6955, 6965, 6968, 6974,11902, 3088, 3077, 3074, 3098, 6977,
1099 6980, 3088, 3097, 6989, 3784, 3862, 6997,11902, 3083, 3114,
1100 7000, 7003, 7006,11902, 7009, 7012, 3131, 3126, 3136, 7030,
1101 7036, 7039, 7048, 7054, 7057, 7061, 3134, 3137, 7069, 7075,
1102 7078, 7081,11902,11902, 7089, 7093, 7101, 7107, 7110,11902,
1103 7119, 7125, 7129, 7137, 3151, 3145, 3172, 7143,11902, 3185,
1104 7146, 3189, 3189, 3221, 3217, 3234, 3222, 3248, 3232, 3228,
1105 3248, 3236, 3261, 7149, 3290, 3492, 3319, 3234, 3251, 3265,
1107 3269, 3269, 3262, 3266, 3278, 3278, 3282, 3289, 3283, 3315,
1108 3342, 7155, 7158, 3332, 3345, 3330, 3359, 7168, 3352, 3364,
1109 7171, 7175,11902, 7178,11902,11902, 7189,11902, 7195, 7198,
1110 3370, 3388, 7201, 3380, 7204,11902,11902, 3399, 3394, 3425,
1111 3503, 3437, 3443, 3557, 3462, 3431, 7219, 7222, 7225, 7233,
1112 7240,11902,11902, 3465, 3471, 3470, 7248, 7253, 7266, 3632,
1113 3999, 7261,11902, 7274, 7280,11902,11902, 3470, 7288, 7293,
1114 7296, 7306,11902, 7311,11902,11902, 7320, 7325, 7333, 7338,
1115 7347, 3687, 3715, 7355, 7358, 7361, 3491, 3493, 7364, 7367,
1116 7379, 3517, 3544, 3568, 3571, 3589, 3574, 3595, 3599, 3603,
1118 3618, 7383, 3609, 3649, 3698, 3567, 3582, 3570, 3584, 3609,
1119 3630, 3620, 3630, 3617, 3638, 3667, 3677, 3668, 7386, 7389,
1120 3684, 3690, 3675, 7392, 3699, 3707, 7397, 7402, 7410, 7418,
1121 3698, 7421, 7424, 7430, 7444, 3732, 3733, 3766, 3749, 3769,
1122 3754, 3792, 3776, 3795, 3781, 3783, 7447, 7450, 7458,11902,
1123 11902, 7466,11902, 3776, 7470, 3786, 7474,11902,11902, 3812,
1124 3814, 3818, 3822, 3825, 3832, 7488, 3823, 7491, 7494, 7503,
1125 11902,11902, 7511, 3876, 3904, 7519,11902,11902, 3834, 3854,
1126 3914, 3855, 3858, 3969, 7527, 7530, 7533, 7541, 7548, 7559,
1127 7562, 7565, 7568, 7571, 7589, 3886, 3871, 3886, 3890,11902,
1129 3910, 3905, 3905, 3917,11902, 7580, 3941, 3994, 7584, 3894,
1130 3917, 3940, 3997, 4005, 3956, 3969, 3974, 3992, 4042, 4043,
1131 4010, 4018, 7603, 7606, 4009, 4025, 7609, 7612, 4012, 7615,
1132 4079, 4095, 7623, 7628, 4029, 7632, 7635, 7643,11902,11902,
1133 7651, 7654, 4022, 4031, 4070, 4063, 4073, 4084, 4104, 4085,
1134 4101, 4102, 4090, 7662,11902,11902, 4113, 7670, 7673, 4095,
1135 4126, 4136, 4167, 4131, 4148, 4180, 7681,11902, 4136, 7684,
1136 11902,11902, 4162, 4167, 4174, 4184, 4189, 4194, 4195, 4204,
1137 4211, 4200, 4201, 4210, 7692, 7696, 4225, 4251, 7704,11902,
1138 11902, 7712, 7715, 7723, 7726, 7734, 7737,11902,11902, 4199,
1140 4223, 4240, 4235, 4219, 4242, 4262, 4266, 7745, 4304, 7748,
1141 7753, 7757, 4236, 4223, 4287,11902,11902, 4242, 4244, 4237,
1142 4298,11902,11902, 4256, 7767, 7772, 7776, 7779, 7782, 7786,
1143 4277, 4288, 4284, 4300, 7789, 7795,11902, 4275, 7798,11902,
1144 11902, 7808,11902,11902, 7816, 4266, 4309, 4315, 4353, 4329,
1145 4334, 4331, 4367, 4338, 4331, 7819, 7822,11902,11902, 7830,
1146 4355, 4370,11902, 4363, 4373,11902, 4344, 4383, 4371, 4389,
1147 4378, 4383, 4394, 4397, 4384, 4396, 4412, 4415, 4402, 7837,
1148 7841, 4408, 4419, 4411, 4422, 7849,11902,11902, 7857,11902,
1149 11902, 7865, 4437, 4437,11902, 4444, 4447, 4447,11902, 4449,
1151 7868, 4514, 7871, 7874, 7893, 7936, 7983, 4418, 4421,11902,
1152 4435, 4437, 4445,11902, 4456, 7901, 7904, 7907, 7912, 4508,
1153 4477, 4528, 4500, 7915, 4489, 7927, 7918, 7930, 4508, 4511,
1154 11902, 4545, 4517, 4525,11902, 4555, 4515, 7948, 7956, 7974,
1155 7966, 4576, 4579, 4584, 4586, 4536, 4592, 4562, 4595, 4573,
1156 4591, 4615, 4616, 4584, 4601, 4636, 4638, 4612, 8003,11902,
1157 11902, 4649, 4618, 4649, 4624, 7977,11902, 4659, 4638, 4640,
1158 4665, 4649, 4651, 8011, 4674, 8014, 4716, 4686, 8034, 8081,
1159 4926, 4636, 4695, 5241, 4654, 4696,11902, 4715,11902, 4715,
1160 8024,11902, 4653, 8054, 4751, 4803, 8045, 8063, 4700, 4707,
1162 11902, 4723, 4726,11902, 4700, 8101,11902,11902, 8109, 4813,
1163 4821,11902,11902,11902,11902, 4703,11902, 4749,11902, 4751,
1164 4760,11902,11902, 4758, 4783,11902,11902, 4761,11902, 4794,
1165 11902, 4793,11902, 4804, 4811,11902, 4812, 4814, 8071,11902,
1166 4831, 4870, 4806, 4818, 4823, 4847, 8074,11902, 4795, 4828,
1167 4819, 4889,11902,11902, 4827, 4847, 4846, 4916,11902,11902,
1168 11902, 8117, 4924, 4886, 4953, 4889, 8120,11902,11902, 4890,
1169 4905, 4906, 4928, 8128, 4992, 4934, 5003, 4943, 8131, 4951,
1170 4955, 4981, 4971, 4984, 4974,11902,11902,11902,11902,11902,
1171 11902, 8135, 4996, 4983, 4996, 8138, 4962, 4945, 4961,11902,
1173 4979, 4986, 4977, 4986,11902, 5006, 8141, 8150, 5021, 5029,
1174 5053, 5037, 5045, 5075, 5053, 5094, 5056, 5094, 8159, 8162,
1175 5064, 5073, 5086, 5070, 5079, 5091, 8170, 8173, 5078, 5080,
1176 5115, 5107, 5123, 5112, 8181, 5115, 5085, 5102, 5074, 5100,
1177 5098, 5135, 5112, 5132, 8184, 5164, 5216, 5153, 5160, 5163,
1178 5167, 5181, 5180, 5218,11902, 5216,11902, 8193,11902,11902,
1179 5212, 5219, 5215, 5219, 5228, 5231, 8201,11902,11902, 5265,
1180 5263,11902, 5240,11902, 5245, 5272,11902, 5222, 5224, 5227,
1181 5240, 5234, 5237, 5244, 5257, 5292, 5287, 5300, 5298, 5298,
1182 5308, 5309, 5308, 5314, 5316,11902,11902, 5319, 5326, 5326,
1184 5332, 5343, 5343,11902,11902, 5365, 5364, 5354, 5326, 5337,
1185 5385, 5342, 5334, 5345, 5398, 5356, 5370, 5396, 5383, 5404,
1186 5396, 5394, 5411, 5407, 5405, 5422, 5424, 5421, 5443, 5432,
1187 5436, 5459,11902,11902, 5483, 5431, 5434,11902, 5488, 5441,
1188 5444,11902, 5492, 5485, 5487, 5489, 5490, 5503, 5494, 5526,
1189 5508, 5498, 5534, 5521, 5514, 5547, 5530, 5520, 5550, 5558,
1190 5502, 5563,11902, 5510, 5571,11902, 5551, 5557, 5556, 5562,
1191 5583, 5564,11902, 5590, 5567,11902, 5596, 5578,11902, 5603,
1192 5584,11902, 5642, 5545,11902, 5557,11902, 5594, 5611, 5600,
1193 5633,11902, 5638,11902, 5644,11902, 5645,11902, 5652, 8209,
1195 5673, 5679, 5664, 5685, 5680, 5698, 5670, 5672, 5673, 5675,
1196 8212,11902,11902, 5721,11902, 5720,11902, 5724, 5733, 5737,
1197 5736, 5729, 5743,11902,11902,11902,11902,11902,11902, 5728,
1198 5737, 5744, 5754, 5766, 5784, 5735, 5894, 5734, 5893, 5923,
1199 5924, 5790, 5887, 5793, 5811, 5860, 5937, 5818, 5963, 5804,
1200 5918, 5942, 5976, 5913, 6005, 6030, 6045, 6007, 6008, 5902,
1201 5966, 5967, 5997, 6014, 6157, 6011, 6061, 6159, 6168, 6220,
1202 6236, 6167, 6209, 6183, 6186, 6185, 6262, 6252, 6259, 6054,
1203 6160, 6270, 6278, 6069, 6275, 6318, 6322, 6294, 6321, 6190,
1204 6230, 6346, 6348, 6247, 6336, 6369, 6405, 6371, 6422, 6386,
1206 6435, 6413, 6425, 6434, 6473, 6470, 6515, 6509, 6619, 6447,
1207 6487, 6475, 6627, 6485, 6621, 6640, 6711, 6629, 6651, 6372,
1208 6659, 6712, 6717, 6694, 6718, 6735, 6741, 6456, 5816, 8220,
1209 8223,11902,11902, 8243, 8252, 8261, 8270, 8279, 8288, 8297,
1210 8306, 8315, 8324, 8333, 8342, 8351, 8360, 8369, 8378, 8387,
1211 8396, 8405, 8414, 8423, 8432, 8441, 8450, 8459, 8468, 8477,
1212 8486, 8495, 8504, 8513, 8522, 8531, 8540, 8549, 8558, 8567,
1213 8576, 8585, 8594, 8603, 8612, 8621, 8630, 8639, 8648, 8657,
1214 8666, 8675, 8684, 8693, 8702, 8711, 8720, 8729, 8738, 8747,
1215 8756, 8765, 8774, 8781, 8788, 8795, 8802, 8809, 8816, 8823,
1217 8830, 8837, 8844, 8851, 8858, 8865, 8872, 8879, 8886, 8893,
1218 8900, 8907, 8914, 8921, 8928, 8935, 8942, 8949, 8956, 8963,
1219 8972, 8979, 8984, 8991, 8996, 9003, 9008, 9015, 9020, 9027,
1220 9032, 9039, 9044, 9051, 9056, 9063, 9068, 9075, 9080, 9087,
1221 9092, 9099, 9104, 9111, 9116, 9123, 9128, 9135, 9140, 9147,
1222 9152, 9159, 9164, 9171, 9176, 9183, 9188, 9195, 9200, 9207,
1223 9212, 9219, 9224, 9231, 9236, 9243, 9248, 9255, 9260, 9267,
1224 9272, 9279, 9284, 9291, 9296, 9305, 9311, 9318, 9326, 9334,
1225 9342, 9349, 9357, 9364, 9372, 9380, 9388, 9396, 9404, 9412,
1226 9420, 9427, 9435, 9443, 9450, 9458, 9465, 9473, 9480, 9488,
1228 9495, 9503, 9510, 9518, 9525, 9533, 9540, 9548, 9555, 9563,
1229 9570, 9578, 9585, 9593, 9600, 9608, 9615, 9623, 9631, 9639,
1230 9646, 9654, 9661, 9669, 9676, 9684, 9691, 9699, 9706, 9714,
1231 9723, 9729, 9736, 9744, 9751, 9759, 9766, 9774, 9781, 9789,
1232 9796, 9804, 9812, 9819, 9827, 9834, 9842, 9850, 9857, 9865,
1233 9873, 9881, 9889, 9897, 9904, 9912, 9919, 9927, 9934, 9942,
1234 9950, 9958, 9965, 9973, 9980, 9988, 9995,10003,10010,10018,
1235 10025,10033,10040,10048,10055,10063,10070,10078,10085,10093,
1236 10101,10109,10116,10124,10133,10142,10149,10156,10164,10172,
1237 10180,10187,10195,10202,10210,10218,10225,10233,10241,10249,
1239 10257,10264,10272,10280,10288,10295,10303,10310,10318,10326,
1240 10334,10341,10349,10356,10364,10371,10379,10386,10394,10402,
1241 10410,10417,10425,10432,10440,10447,10455,10462,10470,10477,
1242 10485,10492,10500,10507,10515,10524,10533,10540,10548,10556,
1243 10564,10571,10579,10587,10595,10603,10611,10619,10627,10635,
1244 10643,10650,10658,10666,10674,10681,10689,10696,10704,10712,
1245 10719,10727,10734,10742,10749,10757,10764,10772,10780,10787,
1246 10795,10802,10810,10817,10825,10833,10841,10848,10856,10863,
1247 10871,10878,10886,10895,10904,10912,10919,10927,10935,10942,
1248 10950,10958,10966,10974,10982,10989,10997,11005,11012,11020,
1250 11028,11035,11042,11050,11058,11065,11073,11080,11088,11096,
1251 11103,11111,11118,11126,11133,11141,11148,11156,11164,11172,
1252 11180,11188,11195,11203,11211,11219,11228,11237,11244,11252,
1253 11260,11267,11275,11283,11291,11299,11306,11314,11322,11329,
1254 11337,11345,11352,11359,11367,11375,11382,11389,11397,11405,
1255 11413,11420,11428,11435,11442,11450,11457,11465,11472,11480,
1256 11487,11495,11504,11513,11520,11528,11536,11544,11552,11560,
1257 11568,11576,11583,11591,11598,11606,11614,11622,11630,11638,
1258 11646,11654,11661,11669,11677,11685,11693,11700,11707,11714,
1259 11722,11729,11737,11744,11752,11761,11770,11777,11785,11793,
1261 11801,11809,11816,11823,11831,11838,11847,11856,11865,11874,
1265 static yyconst flex_int16_t yy_def[3813] =
1267 3334, 3334, 3335, 3335, 3335, 3335, 3336, 3336, 3337, 3337,
1268 3338, 3338, 3339, 3339, 3339, 3339, 3340, 3340, 3341, 3341,
1269 3342, 3342, 3342, 3342, 3334, 3334, 3342, 3342, 3342, 3342,
1270 3334, 3334, 3342, 3342, 3334, 3334, 3342, 3342, 3342, 3342,
1271 3343, 3343, 3344, 3344, 3334, 3334, 3344, 3344, 3344, 3344,
1272 3345, 3345, 3346, 3346, 3347, 3347, 3348, 3348, 3349, 3349,
1273 3350, 3350, 3334, 3334, 3350, 3350, 3350, 3350, 3351, 3351,
1274 3352, 3352, 3334, 3334, 3352, 3352, 3352, 3352, 3353, 3353,
1275 3354, 3354, 3333, 83, 3355, 3355, 3334, 3334, 3355, 3355,
1276 3355, 3355, 3356, 3356, 3357, 3357, 3334, 3334, 3357, 3357,
1278 3357, 3357, 3358, 3358, 3359, 3359, 3334, 3334, 3359, 3359,
1279 3359, 3359, 3360, 3360, 3361, 3361, 3362, 3362, 3363, 3363,
1280 3334, 3334, 3363, 3363, 3363, 3363, 3364, 3364, 3365, 3365,
1281 3334, 3334, 3365, 3365, 3365, 3365, 3366, 3366, 3367, 3367,
1282 3368, 3368, 3369, 3369, 3370, 3370, 3371, 3371, 3372, 3372,
1283 3373, 3373, 3334, 3334, 3374, 3374, 3375, 3375, 3375, 3375,
1284 3334, 3334, 3375, 3375, 3375, 3375, 3334, 3334, 3375, 3375,
1285 3334, 3334, 3375, 3375, 3375, 3375, 3376, 3376, 3377, 3377,
1286 3334, 3334, 3377, 3377, 3377, 3377, 3378, 3378, 3379, 3379,
1287 3380, 3380, 3381, 3381, 3382, 3382, 3383, 3383, 3334, 3334,
1289 3383, 3383, 3383, 3383, 3384, 3384, 3385, 3385, 3386, 3386,
1290 3387, 3387, 3334, 3334, 3387, 3387, 3387, 3387, 3388, 3388,
1291 3389, 3389, 3334, 3334, 3389, 3389, 3389, 3389, 3390, 3390,
1292 3391, 3391, 3392, 3392, 3393, 3393, 3334, 3334, 3333, 3333,
1293 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1294 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1295 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3394, 3333,
1296 3333, 3394, 3394, 3333, 3333, 3333, 276, 3333, 278, 276,
1297 279, 278, 3333, 3333, 3333, 3395, 3333, 3333, 3395, 3395,
1298 3395, 3333, 3333, 278, 294, 294, 3333, 3333, 3333, 3396,
1300 3333, 3333, 3396, 3333, 3333, 3333, 3333, 3333, 3333, 3397,
1301 3333, 3333, 3397, 3397, 3397, 3333, 3333, 3333, 3333, 3333,
1302 3333, 3398, 3333, 3333, 3398, 3398, 3398, 3333, 3333, 294,
1303 294, 3333, 3333, 3333, 3399, 3333, 3333, 3399, 3399, 3333,
1304 3333, 294, 294, 3333, 3333, 3333, 3400, 3333, 3333, 3400,
1305 3400, 3400, 3400, 3400, 3400, 3333, 3333, 3333, 3333, 3333,
1306 3333, 3401, 3333, 3333, 3401, 3401, 3401, 3401, 3401, 3401,
1307 3401, 3401, 3333, 3333, 278, 278, 3333, 3333, 3333, 3402,
1308 3333, 3333, 3402, 3333, 3333, 278, 278, 3333, 3333, 3333,
1309 3403, 3333, 3333, 3403, 3403, 3403, 3403, 3403, 3333, 3333,
1311 278, 278, 278, 3333, 3333, 3333, 3404, 3333, 3333, 3404,
1312 3404, 3404, 3333, 3333, 3333, 3333, 3333, 3333, 3405, 3333,
1313 3333, 3405, 3333, 3333, 278, 425, 278, 3333, 3333, 3333,
1314 3406, 3333, 3333, 3406, 3406, 3406, 3406, 3333, 3333, 278,
1315 278, 3333, 3333, 3333, 3407, 3333, 3333, 3407, 3407, 3333,
1316 3333, 3333, 3333, 3333, 3333, 3408, 3333, 3333, 3408, 3408,
1317 3333, 3333, 3333, 3333, 3333, 3333, 3409, 3333, 3333, 3409,
1318 3409, 3333, 3333, 3333, 3333, 3333, 3333, 3410, 3333, 3333,
1319 3410, 3410, 3410, 3410, 3410, 3410, 3333, 3333, 3333, 3333,
1320 3333, 3333, 3333, 3411, 3333, 3333, 3411, 3333, 3333, 425,
1322 425, 278, 278, 278, 278, 3333, 3333, 3333, 3412, 3333,
1323 3333, 3412, 3412, 3412, 3412, 3412, 3333, 3333, 278, 278,
1324 278, 3333, 3333, 3333, 3413, 3333, 3333, 3413, 3413, 3333,
1325 3333, 3333, 3333, 3333, 3333, 3414, 3333, 3333, 3414, 3414,
1326 3414, 3414, 3414, 3333, 3333, 3333, 3333, 3333, 3333, 3415,
1327 3333, 3333, 3415, 3415, 3333, 3333, 294, 294, 3333, 3333,
1328 3333, 3416, 3333, 3333, 3416, 3416, 3333, 3333, 3333, 3333,
1329 3333, 3333, 3417, 3333, 3333, 3417, 3417, 3417, 3417, 3333,
1330 3333, 278, 278, 3333, 3333, 3333, 3418, 3333, 3333, 3418,
1331 3418, 3418, 3418, 3333, 3333, 278, 278, 278, 3333, 3333,
1333 3333, 3419, 3333, 3333, 3419, 3419, 3419, 3333, 3333, 3333,
1334 3333, 3333, 3420, 3333, 3333, 3420, 3420, 3420, 3333, 3333,
1335 3333, 3333, 3421, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1336 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3422, 3422, 3422,
1337 3423, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1338 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1339 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1340 3333, 3424, 3424, 3424, 3424, 3424, 3425, 3333, 3333, 3426,
1341 3426, 3427, 3333, 3428, 3428, 3428, 3428, 3429, 3333, 3430,
1342 3430, 3430, 3430, 3431, 3333, 3432, 3432, 3432, 3433, 3333,
1344 3434, 3434, 3434, 3434, 3434, 3434, 3434, 3434, 3435, 3333,
1345 3436, 3436, 3436, 3436, 3436, 3436, 3436, 3436, 3436, 3436,
1346 3436, 3436, 3436, 3436, 3436, 3437, 3333, 3438, 3438, 3439,
1347 3333, 3440, 3440, 3440, 3440, 3440, 3440, 3440, 3441, 3333,
1348 3333, 3442, 3442, 3442, 3442, 3443, 3333, 3444, 3444, 3445,
1349 3333, 3333, 3446, 3446, 3446, 3446, 3446, 3446, 3447, 3333,
1350 3448, 3448, 3448, 3449, 3333, 3450, 3450, 3450, 3451, 3333,
1351 3452, 3452, 3452, 3453, 3333, 3454, 3454, 3454, 3454, 3454,
1352 3454, 3454, 3454, 3455, 3333, 3333, 3456, 3456, 3457, 3333,
1353 3333, 3333, 3333, 3333, 3333, 3458, 3458, 3458, 3458, 3458,
1355 3458, 3459, 3333, 3333, 3460, 3460, 3460, 3461, 3333, 3462,
1356 3462, 3462, 3462, 3462, 3462, 3462, 3462, 3462, 3463, 3333,
1357 3464, 3464, 3464, 3464, 3465, 3333, 3466, 3466, 3466, 3467,
1358 3333, 3468, 3468, 3468, 3468, 3468, 3469, 3333, 3470, 3470,
1359 3470, 3470, 3470, 3471, 3333, 3333, 3472, 3472, 3472, 3472,
1360 3333, 3473, 3333, 3333, 3474, 3474, 3474, 3474, 3475, 3476,
1361 3333, 3476, 3333, 3333, 3333, 3477, 3333, 3333, 3333, 3333,
1362 3333, 3333, 3333, 3333, 3478, 3479, 3479, 3333, 3333, 3333,
1363 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1364 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1366 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1367 3333, 3480, 3480, 3480, 3480, 3481, 3481, 3333, 3482, 3483,
1368 3483, 3484, 3333, 3333, 3484, 3485, 3485, 3486, 3486, 3486,
1369 3487, 3487, 3488, 3488, 3489, 3489, 3333, 3333, 3333, 3333,
1370 3490, 3490, 3490, 3490, 3490, 3491, 3491, 3492, 3333, 3333,
1371 3492, 3333, 3333, 3492, 3492, 3492, 3492, 3492, 3492, 3492,
1372 3492, 3492, 3492, 3493, 3493, 3333, 3333, 3494, 3494, 3495,
1373 3495, 3495, 3333, 3333, 3495, 3495, 3495, 3496, 3496, 3333,
1374 3497, 3333, 3333, 3333, 3333, 3498, 3498, 3499, 3500, 3500,
1375 3333, 3501, 3333, 3333, 3501, 3501, 3501, 3502, 3502, 3503,
1377 3333, 3333, 3504, 3504, 3333, 3333, 3505, 3506, 3506, 3507,
1378 3507, 3508, 3508, 3509, 3509, 3509, 3333, 3333, 3509, 3509,
1379 3509, 3510, 3510, 3333, 3511, 3512, 3512, 3333, 3333, 3333,
1380 3513, 3513, 3513, 3513, 3513, 3514, 3514, 3333, 3333, 3333,
1381 3515, 3516, 3516, 3517, 3333, 3333, 3517, 3517, 3517, 3517,
1382 3517, 3517, 3518, 3518, 3519, 3519, 3519, 3520, 3520, 3521,
1383 3333, 3333, 3522, 3522, 3523, 3523, 3333, 3333, 3523, 3524,
1384 3524, 3525, 3333, 3333, 3525, 3525, 3526, 3526, 3333, 3527,
1385 3333, 3333, 3527, 3333, 3528, 3528, 3333, 3529, 3529, 3529,
1386 3530, 3530, 3531, 3333, 3333, 3531, 3333, 3333, 3532, 3333,
1388 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3533, 3333, 3534,
1389 3333, 3534, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1390 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1391 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1392 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1393 3535, 3535, 3333, 3333, 3535, 3333, 3536, 3333, 3536, 3333,
1394 3537, 3333, 3538, 3333, 3538, 3539, 3333, 3333, 3333, 3539,
1395 3333, 3540, 3333, 3540, 3333, 3333, 3541, 3541, 3333, 3333,
1396 3333, 3542, 3333, 3542, 3333, 3333, 3333, 3333, 3333, 3543,
1397 3333, 3543, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1399 3544, 3544, 3544, 3544, 3333, 3545, 3333, 3545, 3546, 3546,
1400 3546, 3333, 3333, 3333, 3546, 3333, 3333, 3333, 3333, 3333,
1401 3546, 3546, 3546, 3546, 3546, 3546, 3546, 3546, 3546, 3333,
1402 3547, 3333, 3547, 3333, 3333, 3333, 3333, 3548, 3333, 3548,
1403 3549, 3549, 3549, 3333, 3333, 3333, 3549, 3549, 3549, 3333,
1404 3550, 3333, 3550, 3333, 3551, 3333, 3333, 3333, 3333, 3333,
1405 3333, 3333, 3552, 3333, 3552, 3553, 3333, 3554, 3333, 3554,
1406 3555, 3333, 3333, 3333, 3555, 3555, 3555, 3333, 3556, 3333,
1407 3556, 3557, 3333, 3333, 3333, 3333, 3558, 3333, 3558, 3333,
1408 3333, 3333, 3559, 3333, 3560, 3333, 3560, 3561, 3561, 3333,
1410 3562, 3333, 3562, 3563, 3563, 3563, 3563, 3333, 3333, 3333,
1411 3333, 3333, 3563, 3563, 3333, 3564, 3333, 3564, 3333, 3565,
1412 3333, 3566, 3333, 3566, 3333, 3333, 3333, 3567, 3567, 3567,
1413 3567, 3567, 3333, 3568, 3333, 3568, 3333, 3333, 3333, 3333,
1414 3569, 3333, 3570, 3333, 3570, 3571, 3333, 3333, 3333, 3333,
1415 3333, 3571, 3333, 3333, 3571, 3571, 3571, 3333, 3572, 3333,
1416 3572, 3333, 3333, 3333, 3333, 3573, 3333, 3574, 3333, 3574,
1417 3575, 3333, 3333, 3333, 3333, 3576, 3333, 3576, 3577, 3577,
1418 3333, 3333, 3333, 3577, 3333, 3578, 3333, 3578, 3579, 3333,
1419 3333, 3333, 3579, 3579, 3333, 3580, 3333, 3580, 3333, 3581,
1421 3333, 3333, 3333, 3581, 3333, 3333, 3582, 3333, 3582, 3583,
1422 3583, 3583, 3333, 3584, 3333, 3584, 3585, 3586, 3333, 3333,
1423 3333, 3333, 3587, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1424 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1425 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1426 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1427 3333, 3333, 3333, 3588, 3588, 3333, 3333, 3333, 3588, 3589,
1428 3333, 3590, 3591, 3592, 3592, 3593, 3333, 3333, 3333, 3594,
1429 3594, 3333, 3333, 3333, 3595, 3333, 3333, 3333, 3333, 3333,
1430 3333, 3596, 3333, 3333, 3333, 3597, 3597, 3597, 3597, 3598,
1432 3599, 3599, 3599, 3333, 3333, 3333, 3333, 3333, 3599, 3599,
1433 3599, 3599, 3599, 3599, 3599, 3599, 3599, 3599, 3600, 3601,
1434 3602, 3602, 3333, 3333, 3602, 3602, 3602, 3603, 3333, 3333,
1435 3333, 3604, 3333, 3333, 3605, 3606, 3606, 3606, 3606, 3607,
1436 3608, 3609, 3610, 3611, 3333, 3333, 3612, 3613, 3614, 3614,
1437 3614, 3614, 3333, 3333, 3333, 3614, 3614, 3615, 3333, 3616,
1438 3617, 3333, 3333, 3333, 3618, 3333, 3333, 3618, 3618, 3618,
1439 3619, 3333, 3620, 3621, 3622, 3333, 3333, 3333, 3333, 3333,
1440 3333, 3333, 3333, 3622, 3333, 3333, 3622, 3623, 3333, 3333,
1441 3333, 3333, 3333, 3333, 3624, 3625, 3626, 3627, 3628, 3628,
1443 3628, 3629, 3630, 3630, 3333, 3333, 3631, 3333, 3333, 3333,
1444 3632, 3333, 3633, 3634, 3333, 3333, 3634, 3635, 3636, 3637,
1445 3637, 3333, 3637, 3333, 3333, 3638, 3333, 3333, 3333, 3333,
1446 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1447 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1448 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1449 3333, 3333, 3333, 3333, 3639, 3639, 3639, 3640, 3333, 3333,
1450 3333, 3641, 3642, 3642, 3643, 3644, 3644, 3645, 3646, 3647,
1451 3647, 3333, 3333, 3647, 3648, 3333, 3333, 3649, 3649, 3333,
1452 3333, 3333, 3649, 3649, 3649, 3649, 3649, 3649, 3333, 3333,
1454 3649, 3649, 3649, 3650, 3651, 3652, 3652, 3333, 3333, 3333,
1455 3652, 3333, 3333, 3652, 3653, 3333, 3333, 3333, 3333, 3654,
1456 3333, 3333, 3333, 3655, 3656, 3656, 3656, 3656, 3657, 3658,
1457 3659, 3333, 3333, 3660, 3333, 3333, 3333, 3661, 3662, 3663,
1458 3333, 3333, 3663, 3663, 3333, 3333, 3663, 3664, 3333, 3665,
1459 3666, 3333, 3333, 3333, 3667, 3333, 3333, 3333, 3667, 3667,
1460 3667, 3668, 3333, 3333, 3333, 3669, 3670, 3333, 3333, 3333,
1461 3670, 3333, 3333, 3333, 3670, 3671, 3672, 3673, 3674, 3675,
1462 3676, 3676, 3676, 3677, 3678, 3333, 3333, 3333, 3333, 3333,
1463 3679, 3333, 3333, 3333, 3333, 3680, 3333, 3681, 3682, 3333,
1465 3333, 3333, 3333, 3333, 3683, 3684, 3685, 3685, 3333, 3686,
1466 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1467 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1468 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1469 3333, 3333, 3333, 3333, 3333, 3333, 3687, 3688, 3333, 3333,
1470 3333, 3333, 3689, 3690, 3690, 3691, 3333, 3333, 3333, 3333,
1471 3692, 3693, 3333, 3333, 3694, 3333, 3333, 3333, 3333, 3333,
1472 3695, 3333, 3333, 3333, 3333, 3333, 3696, 3696, 3696, 3333,
1473 3333, 3696, 3696, 3696, 3333, 3333, 3333, 3333, 3333, 3696,
1474 3696, 3697, 3698, 3699, 3699, 3333, 3333, 3333, 3333, 3333,
1476 3699, 3333, 3333, 3333, 3700, 3701, 3702, 3702, 3702, 3702,
1477 3333, 3333, 3703, 3704, 3333, 3333, 3333, 3705, 3706, 3707,
1478 3708, 3333, 3333, 3333, 3333, 3333, 3708, 3333, 3333, 3333,
1479 3708, 3333, 3333, 3333, 3709, 3710, 3333, 3333, 3333, 3711,
1480 3711, 3711, 3711, 3712, 3333, 3333, 3333, 3333, 3333, 3333,
1481 3713, 3713, 3713, 3714, 3715, 3716, 3717, 3718, 3333, 3333,
1482 3719, 3333, 3333, 3720, 3721, 3333, 3333, 3333, 3722, 3333,
1483 3723, 3333, 3724, 3725, 3333, 3333, 3333, 3333, 3333, 3333,
1484 3333, 3333, 3333, 3333, 3333, 3726, 3727, 3728, 3728, 3333,
1485 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1487 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1488 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1489 3333, 3333, 3333, 3333, 3333, 3333, 3729, 3730, 3333, 3731,
1490 3732, 3333, 3333, 3733, 3333, 3333, 3333, 3333, 3333, 3333,
1491 3734, 3735, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1492 3736, 3333, 3333, 3333, 3737, 3737, 3737, 3333, 3333, 3333,
1493 3333, 3333, 3737, 3737, 3333, 3333, 3333, 3737, 3737, 3738,
1494 3739, 3740, 3740, 3333, 3333, 3333, 3740, 3741, 3742, 3743,
1495 3333, 3333, 3743, 3743, 3743, 3744, 3745, 3746, 3747, 3333,
1496 3333, 3748, 3333, 3333, 3333, 3748, 3748, 3333, 3333, 3333,
1498 3749, 3333, 3333, 3333, 3750, 3750, 3750, 3750, 3751, 3333,
1499 3752, 3333, 3333, 3752, 3753, 3754, 3333, 3333, 3755, 3756,
1500 3333, 3333, 3333, 3333, 3333, 3757, 3333, 3333, 3333, 3758,
1501 3333, 3333, 3759, 3760, 3333, 3761, 3333, 3333, 3333, 3333,
1502 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1503 3333, 3762, 3763, 3764, 3764, 3333, 3333, 3333, 3333, 3333,
1504 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1505 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1506 3333, 3333, 3333, 3333, 3333, 3765, 3766, 3333, 3767, 3768,
1507 3333, 3333, 3333, 3769, 3770, 3771, 3333, 3333, 3333, 3772,
1509 3773, 3773, 3773, 3333, 3333, 3333, 3773, 3773, 3773, 3333,
1510 3333, 3774, 3333, 3333, 3775, 3775, 3775, 3776, 3777, 3778,
1511 3333, 3333, 3333, 3778, 3778, 3778, 3779, 3780, 3781, 3782,
1512 3783, 3783, 3783, 3333, 3333, 3333, 3333, 3784, 3333, 3333,
1513 3333, 3785, 3785, 3785, 3786, 3333, 3787, 3333, 3333, 3333,
1514 3787, 3333, 3333, 3788, 3789, 3333, 3333, 3333, 3333, 3333,
1515 3790, 3791, 3333, 3333, 3333, 3792, 3793, 3333, 3794, 3333,
1516 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1517 3333, 3333, 3333, 3795, 3796, 3797, 3797, 3333, 3333, 3333,
1518 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1520 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1521 3333, 3333, 3333, 3798, 3333, 3333, 3333, 3799, 3333, 3333,
1522 3800, 3801, 3802, 3333, 3333, 3803, 3803, 3803, 3803, 3333,
1523 3333, 3803, 3803, 3333, 3333, 3333, 3333, 3333, 3804, 3804,
1524 3804, 3805, 3333, 3333, 3333, 3333, 3806, 3806, 3806, 3806,
1525 3333, 3333, 3780, 3781, 3333, 3333, 3783, 3783, 3783, 3333,
1526 3784, 3333, 3333, 3333, 3333, 3333, 3785, 3785, 3333, 3333,
1527 3333, 3333, 3333, 3787, 3788, 3789, 3790, 3333, 3333, 3792,
1528 3793, 3333, 3794, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1529 3333, 3333, 3333, 3795, 3796, 3797, 3797, 3333, 3333, 3333,
1531 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1532 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1533 3798, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3801, 3802,
1534 3803, 3803, 3803, 3803, 3333, 3333, 3333, 3803, 3803, 3333,
1535 3333, 3333, 3333, 3333, 3333, 3804, 3804, 3333, 3333, 3805,
1536 3333, 3333, 3333, 3806, 3806, 3806, 3333, 3333, 3333, 3333,
1537 3333, 3333, 3333, 3781, 3333, 3333, 3333, 3783, 3783, 3333,
1538 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1539 3333, 3333, 3333, 3787, 3788, 3789, 3790, 3792, 3793, 3333,
1540 3794, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1542 3333, 3795, 3796, 3797, 3797, 3333, 3333, 3333, 3333, 3333,
1543 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1544 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3801, 3802,
1545 3803, 3803, 3333, 3333, 3803, 3803, 3803, 3333, 3333, 3333,
1546 3333, 3333, 3333, 3333, 3333, 3804, 3333, 3333, 3333, 3333,
1547 3333, 3333, 3333, 3806, 3806, 3806, 3333, 3333, 3333, 3333,
1548 3333, 3333, 3333, 3333, 3333, 3781, 3783, 3333, 3333, 3333,
1549 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1550 3333, 3333, 3333, 3333, 3787, 3333, 3333, 3333, 3333, 3790,
1551 3792, 3793, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1553 3333, 3333, 3333, 3333, 3333, 3795, 3796, 3797, 3797, 3333,
1554 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1555 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1556 3333, 3333, 3801, 3802, 3803, 3333, 3333, 3333, 3333, 3333,
1557 3333, 3333, 3803, 3803, 3333, 3333, 3333, 3333, 3333, 3333,
1558 3333, 3333, 3804, 3333, 3333, 3333, 3806, 3333, 3333, 3806,
1559 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3783, 3333,
1560 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1561 3333, 3333, 3333, 3333, 3787, 3333, 3333, 3333, 3333, 3333,
1562 3333, 3333, 3333, 3333, 3333, 3793, 3333, 3333, 3333, 3333,
1564 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3795, 3796, 3797,
1565 3797, 3797, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1566 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1567 3333, 3333, 3333, 3333, 3801, 3333, 3333, 3803, 3333, 3333,
1568 3333, 3333, 3333, 3333, 3803, 3803, 3333, 3333, 3333, 3333,
1569 3333, 3333, 3333, 3333, 3804, 3806, 3333, 3333, 3333, 3806,
1570 3333, 3333, 3333, 3333, 3333, 3333, 3783, 3333, 3333, 3333,
1571 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1572 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1573 3333, 3793, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1575 3795, 3796, 3797, 3797, 3797, 3807, 3808, 3333, 3333, 3333,
1576 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1577 3333, 3333, 3333, 3801, 3803, 3333, 3333, 3803, 3333, 3333,
1578 3333, 3333, 3333, 3333, 3333, 3333, 3804, 3333, 3333, 3333,
1579 3333, 3333, 3333, 3333, 3333, 3783, 3333, 3333, 3333, 3333,
1580 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1581 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1582 3333, 3333, 3333, 3795, 3796, 3797, 3809, 3810, 3807, 3808,
1583 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1584 3333, 3333, 3803, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1586 3333, 3333, 3333, 3333, 3804, 3333, 3333, 3333, 3333, 3333,
1587 3333, 3333, 3333, 3333, 3333, 3783, 3333, 3333, 3333, 3333,
1588 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1589 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1590 3796, 3809, 3797, 3811, 3810, 3812, 3797, 3333, 3333, 3333,
1591 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1592 3333, 3803, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1593 3333, 3333, 3333, 3804, 3333, 3333, 3333, 3333, 3783, 3333,
1594 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1595 3333, 3796, 3811, 3333, 3812, 3797, 3333, 3333, 3333, 3333,
1597 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1598 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1599 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1600 3333, 3333, 3333, 3333, 3796, 3333, 3333, 3333, 3333, 3333,
1601 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1602 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1603 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1604 3333, 3333, 3333, 3333, 3333, 3796, 3333, 3333, 3333, 3333,
1605 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1606 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1608 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3796, 3333, 3333,
1609 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1610 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1611 3333, 3333, 3333, 3333, 3796, 3333, 3333, 3333, 3333, 3333,
1612 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1613 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3796,
1614 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1615 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1616 3333, 3333, 3796, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1617 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3796,
1619 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1620 3796, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1621 3333, 3796, 3796, 3333, 3333, 3333, 3333, 3333, 3333, 3796,
1622 3796, 3796, 3796, 3796, 3796, 3796, 3796, 3796, 3796, 3796,
1623 3796, 3796, 3796, 3796, 3796, 3796, 3796, 3796, 3796, 3796,
1624 3796, 3796, 3796, 3796, 3796, 3796, 3796, 3796, 3796, 3796,
1625 3796, 3796, 3796, 3796, 3796, 3796, 3796, 3796, 3796, 3796,
1626 3796, 3796, 3796, 3796, 3796, 3796, 3796, 3796, 3796, 3796,
1627 3796, 3796, 3796, 3796, 3796, 3796, 3796, 3796, 3796, 3796,
1628 3796, 3796, 3796, 3796, 3796, 3796, 3796, 3796, 3796, 3796,
1630 3796, 3796, 3796, 3796, 3796, 3796, 3796, 3796, 3796, 3796,
1631 3796, 3796, 3796, 3796, 3796, 3796, 3796, 3796, 3796, 3796,
1632 3796, 3796, 3796, 3796, 3796, 3796, 3796, 3796, 3796, 3796,
1633 3796, 3333, 0, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1634 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1635 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1636 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1637 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1638 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1639 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1641 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1642 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1643 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1644 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1645 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1646 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1647 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1648 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1649 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1650 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1652 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1653 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1654 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1655 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1656 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1657 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1658 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1659 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1660 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1661 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1663 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1664 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1665 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1666 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1667 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1668 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1669 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1670 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1671 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1672 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1674 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1675 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1676 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1677 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1678 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1679 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1680 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1681 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1682 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1683 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1685 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1689 static yyconst flex_uint16_t yy_nxt[11977] =
1691 3333, 242, 243, 242, 242, 243, 242, 242, 243, 242,
1692 242, 243, 242, 247, 243, 247, 253, 244, 250, 253,
1693 244, 250, 694, 245, 3333, 251, 245, 3333, 251, 248,
1694 247, 243, 247, 623, 254, 256, 257, 254, 256, 257,
1695 258, 259, 641, 258, 259, 623, 248, 263, 264, 624,
1696 260, 256, 257, 260, 261, 626, 258, 256, 257, 1305,
1697 261, 625, 258, 263, 264, 1306, 260, 275, 243, 275,
1698 660, 625, 260, 275, 243, 275, 275, 243, 275, 275,
1699 243, 275, 707, 276, 243, 243, 243, 708, 1666, 276,
1700 699, 265, 277, 1667, 667, 277, 622, 622, 622, 1673,
1702 278, 622, 622, 622, 622, 622, 622, 265, 266, 267,
1703 243, 267, 266, 266, 266, 266, 266, 266, 266, 268,
1704 266, 266, 266, 739, 266, 270, 266, 271, 266, 243,
1705 243, 243, 275, 243, 275, 275, 243, 275, 660, 275,
1706 243, 275, 275, 243, 275, 278, 626, 626, 276, 675,
1707 712, 276, 626, 266, 266, 279, 676, 757, 279, 622,
1708 622, 622, 625, 625, 272, 622, 622, 622, 625, 758,
1709 631, 713, 740, 273, 266, 267, 243, 267, 266, 266,
1710 266, 266, 266, 266, 266, 268, 266, 266, 266, 817,
1711 266, 270, 266, 271, 266, 243, 243, 243, 243, 243,
1713 243, 275, 243, 275, 818, 275, 243, 275, 243, 243,
1714 243, 280, 632, 867, 280, 825, 868, 277, 633, 266,
1715 266, 277, 626, 634, 281, 243, 243, 243, 635, 682,
1716 272, 275, 243, 275, 275, 243, 275, 971, 625, 273,
1717 972, 281, 275, 243, 275, 1674, 626, 279, 1676, 626,
1718 279, 275, 243, 275, 622, 622, 622, 726, 282, 622,
1719 622, 622, 625, 660, 677, 625, 1677, 282, 283, 284,
1720 243, 284, 283, 283, 283, 283, 283, 283, 283, 285,
1721 283, 283, 283, 844, 283, 287, 283, 288, 283, 293,
1722 243, 293, 293, 243, 293, 243, 243, 243, 730, 243,
1724 243, 243, 293, 243, 293, 294, 720, 892, 294, 667,
1725 1680, 295, 678, 283, 283, 295, 667, 626, 294, 289,
1726 721, 893, 290, 622, 622, 622, 622, 622, 622, 622,
1727 622, 622, 845, 625, 291, 283, 284, 243, 284, 283,
1728 283, 283, 283, 283, 283, 283, 285, 283, 283, 283,
1729 667, 283, 287, 283, 288, 283, 293, 243, 293, 293,
1730 243, 293, 293, 243, 293, 716, 305, 243, 305, 305,
1731 243, 305, 294, 717, 1681, 296, 880, 626, 296, 718,
1732 283, 283, 306, 737, 688, 306, 289, 738, 739, 290,
1733 622, 622, 622, 625, 622, 622, 622, 622, 622, 622,
1735 881, 291, 297, 298, 243, 298, 297, 297, 297, 297,
1736 297, 297, 297, 299, 297, 297, 297, 861, 297, 301,
1737 297, 302, 297, 317, 243, 317, 317, 243, 317, 329,
1738 243, 329, 862, 329, 243, 329, 243, 243, 243, 318,
1739 667, 1684, 318, 1706, 898, 330, 898, 297, 297, 330,
1740 626, 626, 295, 243, 243, 243, 622, 622, 622, 622,
1741 622, 622, 622, 622, 622, 802, 625, 625, 899, 295,
1742 881, 303, 297, 298, 243, 298, 297, 297, 297, 297,
1743 297, 297, 297, 299, 297, 297, 297, 880, 297, 301,
1744 297, 302, 297, 329, 243, 329, 329, 243, 329, 329,
1746 243, 329, 803, 329, 243, 329, 341, 243, 341, 330,
1747 782, 899, 330, 626, 783, 331, 1707, 297, 297, 331,
1748 709, 861, 342, 341, 243, 341, 622, 622, 622, 625,
1749 622, 622, 622, 622, 622, 622, 622, 622, 622, 342,
1750 1711, 303, 307, 308, 243, 308, 307, 307, 307, 307,
1751 307, 307, 307, 309, 307, 307, 307, 1084, 307, 311,
1752 307, 312, 307, 243, 243, 243, 243, 243, 243, 341,
1753 243, 341, 1714, 341, 243, 341, 341, 243, 341, 295,
1754 626, 626, 295, 823, 626, 342, 722, 307, 307, 342,
1755 824, 313, 343, 1716, 723, 1725, 625, 625, 314, 724,
1757 625, 315, 307, 308, 243, 308, 307, 307, 307, 307,
1758 307, 307, 307, 309, 307, 307, 307, 1726, 307, 311,
1759 307, 312, 307, 341, 243, 341, 357, 243, 357, 357,
1760 243, 357, 892, 374, 243, 374, 374, 243, 374, 343,
1761 626, 626, 358, 626, 626, 358, 906, 307, 307, 375,
1762 746, 313, 375, 622, 622, 622, 625, 625, 314, 625,
1763 625, 315, 319, 320, 243, 320, 319, 319, 319, 319,
1764 319, 319, 319, 321, 319, 319, 319, 1727, 319, 323,
1765 319, 324, 319, 243, 243, 243, 243, 243, 243, 374,
1766 243, 374, 750, 374, 243, 374, 374, 243, 374, 278,
1768 892, 1728, 278, 1730, 1738, 375, 1740, 319, 319, 375,
1769 626, 626, 376, 325, 910, 759, 326, 622, 622, 622,
1770 622, 622, 622, 622, 622, 622, 625, 625, 327, 319,
1771 320, 243, 320, 319, 319, 319, 319, 319, 319, 319,
1772 321, 319, 319, 319, 667, 319, 323, 319, 324, 319,
1773 374, 243, 374, 385, 243, 385, 385, 243, 385, 789,
1774 243, 243, 243, 243, 243, 243, 376, 667, 1440, 386,
1775 1743, 1744, 386, 1747, 319, 319, 278, 626, 626, 278,
1776 325, 1441, 789, 326, 622, 622, 622, 622, 622, 622,
1777 622, 622, 622, 625, 625, 327, 332, 333, 243, 333,
1779 332, 332, 332, 332, 332, 332, 332, 334, 332, 332,
1780 332, 791, 332, 336, 332, 337, 332, 385, 243, 385,
1781 385, 243, 385, 385, 243, 385, 789, 385, 243, 385,
1782 400, 243, 400, 386, 794, 1749, 386, 785, 1750, 387,
1783 1752, 332, 332, 387, 626, 626, 401, 338, 622, 622,
1784 622, 622, 622, 622, 622, 622, 622, 622, 622, 622,
1785 625, 625, 339, 332, 333, 243, 333, 332, 332, 332,
1786 332, 332, 332, 332, 334, 332, 332, 332, 667, 332,
1787 336, 332, 337, 332, 400, 243, 400, 243, 243, 243,
1788 243, 243, 243, 802, 400, 243, 400, 400, 243, 400,
1790 401, 1094, 626, 402, 626, 1417, 402, 1094, 332, 332,
1791 401, 764, 626, 401, 338, 622, 622, 622, 625, 769,
1792 625, 622, 622, 622, 622, 622, 622, 1619, 625, 339,
1793 344, 345, 243, 345, 344, 344, 344, 344, 344, 344,
1794 344, 346, 344, 344, 344, 667, 344, 348, 344, 349,
1795 344, 400, 243, 400, 400, 243, 400, 414, 243, 414,
1796 837, 414, 243, 414, 424, 243, 424, 403, 626, 626,
1797 403, 626, 626, 415, 1753, 344, 344, 415, 774, 350,
1798 425, 622, 622, 622, 625, 625, 351, 625, 625, 352,
1799 622, 622, 622, 353, 1754, 354, 355, 344, 345, 243,
1801 345, 344, 344, 344, 344, 344, 344, 344, 346, 344,
1802 344, 344, 667, 344, 348, 344, 349, 344, 424, 243,
1803 424, 243, 243, 243, 243, 243, 243, 892, 424, 243,
1804 424, 424, 243, 424, 425, 626, 626, 426, 626, 626,
1805 426, 911, 344, 344, 425, 784, 350, 425, 622, 622,
1806 622, 625, 625, 351, 625, 625, 352, 622, 622, 622,
1807 353, 1755, 354, 355, 359, 360, 243, 360, 359, 359,
1808 359, 359, 359, 359, 359, 361, 359, 359, 359, 362,
1809 359, 363, 359, 364, 359, 362, 362, 362, 362, 362,
1810 362, 362, 362, 362, 362, 362, 362, 362, 362, 362,
1812 362, 362, 362, 362, 362, 362, 362, 362, 362, 359,
1813 359, 362, 362, 365, 366, 362, 362, 362, 362, 362,
1814 367, 362, 362, 368, 362, 362, 362, 369, 362, 370,
1815 371, 372, 362, 362, 362, 362, 362, 362, 377, 378,
1816 243, 378, 377, 377, 377, 377, 377, 377, 377, 379,
1817 377, 377, 377, 1759, 377, 381, 377, 382, 377, 424,
1818 243, 424, 424, 243, 424, 439, 243, 439, 1760, 439,
1819 243, 439, 243, 243, 243, 427, 626, 1761, 427, 1763,
1820 889, 440, 844, 377, 377, 440, 1767, 890, 278, 622,
1821 622, 622, 625, 891, 383, 377, 378, 243, 378, 377,
1823 377, 377, 377, 377, 377, 377, 379, 377, 377, 377,
1824 1771, 377, 381, 377, 382, 377, 243, 243, 243, 439,
1825 243, 439, 439, 243, 439, 1775, 439, 243, 439, 439,
1826 243, 439, 278, 793, 667, 440, 1777, 889, 440, 813,
1827 377, 377, 441, 814, 890, 441, 667, 815, 792, 3333,
1828 896, 383, 388, 389, 243, 389, 388, 388, 388, 388,
1829 388, 388, 388, 390, 388, 388, 388, 1779, 388, 392,
1830 388, 393, 388, 451, 243, 451, 451, 243, 451, 462,
1831 243, 462, 882, 462, 243, 462, 1781, 669, 1782, 452,
1832 1030, 1094, 452, 883, 1517, 463, 884, 388, 388, 463,
1834 394, 654, 395, 670, 906, 664, 1518, 1096, 396, 622,
1835 622, 622, 622, 622, 622, 397, 789, 1124, 398, 388,
1836 389, 243, 389, 388, 388, 388, 388, 388, 388, 388,
1837 390, 388, 388, 388, 1125, 388, 392, 388, 393, 388,
1838 473, 243, 473, 473, 243, 473, 488, 243, 488, 900,
1839 488, 243, 488, 1783, 1785, 790, 474, 1124, 1792, 474,
1840 901, 1796, 489, 884, 388, 388, 489, 394, 791, 395,
1841 792, 622, 622, 622, 1254, 396, 622, 622, 622, 622,
1842 622, 622, 397, 1797, 1399, 398, 404, 405, 243, 405,
1843 404, 404, 404, 404, 404, 404, 404, 406, 404, 404,
1845 404, 1125, 404, 408, 404, 409, 404, 243, 243, 243,
1846 243, 243, 243, 499, 243, 499, 1799, 499, 243, 499,
1847 499, 243, 499, 490, 1622, 1809, 490, 626, 626, 500,
1848 1810, 404, 404, 500, 808, 819, 501, 410, 622, 622,
1849 622, 1811, 411, 625, 625, 622, 622, 622, 622, 622,
1850 622, 622, 622, 622, 412, 404, 405, 243, 405, 404,
1851 404, 404, 404, 404, 404, 404, 406, 404, 404, 404,
1852 1812, 404, 408, 404, 409, 404, 499, 243, 499, 243,
1853 243, 243, 243, 243, 243, 1813, 499, 243, 499, 499,
1854 243, 499, 501, 1814, 1815, 502, 626, 905, 502, 1816,
1856 404, 404, 500, 830, 890, 500, 410, 622, 622, 622,
1857 891, 411, 625, 622, 622, 622, 622, 622, 622, 622,
1858 622, 622, 1817, 412, 416, 417, 243, 417, 416, 416,
1859 416, 416, 416, 416, 416, 418, 416, 416, 416, 1818,
1860 416, 420, 416, 421, 416, 499, 243, 499, 499, 243,
1861 499, 243, 243, 243, 882, 243, 243, 243, 499, 243,
1862 499, 503, 900, 1819, 503, 883, 1820, 426, 1028, 416,
1863 416, 426, 1821, 901, 501, 1823, 1028, 422, 416, 417,
1864 243, 417, 416, 416, 416, 416, 416, 416, 416, 418,
1865 416, 416, 416, 1824, 416, 420, 416, 421, 416, 499,
1867 243, 499, 243, 243, 243, 243, 243, 243, 1825, 499,
1868 243, 499, 499, 243, 499, 501, 1440, 1563, 504, 1828,
1869 1831, 504, 1094, 416, 416, 503, 1832, 1833, 503, 1446,
1870 1446, 422, 428, 429, 243, 429, 428, 428, 428, 428,
1871 428, 428, 428, 430, 428, 428, 428, 1806, 428, 432,
1872 428, 433, 428, 499, 243, 499, 499, 243, 499, 518,
1873 243, 518, 1834, 518, 243, 518, 243, 243, 243, 505,
1874 1835, 1836, 505, 851, 1837, 519, 1840, 428, 428, 519,
1875 852, 434, 520, 622, 622, 622, 1849, 1854, 435, 625,
1876 1855, 436, 622, 622, 622, 622, 622, 622, 437, 428,
1878 429, 243, 429, 428, 428, 428, 428, 428, 428, 428,
1879 430, 428, 428, 428, 1894, 428, 432, 428, 433, 428,
1880 243, 243, 243, 518, 243, 518, 518, 243, 518, 1895,
1881 518, 243, 518, 518, 243, 518, 520, 1901, 1907, 519,
1882 626, 1908, 519, 1909, 428, 428, 521, 859, 434, 521,
1883 622, 622, 622, 1910, 1913, 435, 625, 1919, 436, 622,
1884 622, 622, 865, 865, 865, 437, 442, 443, 243, 443,
1885 442, 442, 442, 442, 442, 442, 442, 444, 442, 442,
1886 442, 1921, 442, 446, 442, 447, 442, 531, 243, 531,
1887 531, 243, 531, 545, 243, 545, 1927, 545, 243, 545,
1889 556, 243, 556, 532, 1931, 1934, 532, 905, 1935, 546,
1890 1937, 442, 442, 546, 890, 1938, 557, 448, 1939, 1940,
1891 896, 866, 449, 442, 443, 243, 443, 442, 442, 442,
1892 442, 442, 442, 442, 444, 442, 442, 442, 1941, 442,
1893 446, 442, 447, 442, 556, 243, 556, 243, 243, 243,
1894 243, 243, 243, 1942, 556, 243, 556, 556, 243, 556,
1895 557, 1943, 1945, 295, 889, 905, 295, 1951, 442, 442,
1896 557, 890, 890, 557, 448, 1952, 1953, 1029, 1029, 449,
1897 453, 454, 243, 454, 453, 453, 453, 453, 453, 453,
1898 453, 455, 453, 453, 453, 1955, 453, 457, 453, 458,
1900 453, 556, 243, 556, 556, 243, 556, 568, 243, 568,
1901 1957, 568, 243, 568, 581, 243, 581, 558, 1209, 1965,
1902 558, 1970, 1971, 569, 1972, 453, 453, 569, 1210, 1974,
1903 582, 581, 243, 581, 1992, 1211, 459, 865, 865, 865,
1904 1993, 1098, 1113, 1113, 1113, 1994, 1997, 582, 1094, 460,
1905 453, 454, 243, 454, 453, 453, 453, 453, 453, 453,
1906 453, 455, 453, 453, 453, 1987, 453, 457, 453, 458,
1907 453, 243, 243, 243, 243, 243, 243, 581, 243, 581,
1908 1622, 581, 243, 581, 581, 243, 581, 278, 1975, 1995,
1909 278, 1998, 2000, 582, 1976, 453, 453, 582, 1977, 2001,
1911 583, 581, 243, 581, 1978, 1996, 459, 1105, 1105, 1105,
1912 2002, 1106, 2003, 1989, 1107, 2004, 1622, 583, 2005, 460,
1913 464, 465, 243, 465, 464, 464, 464, 464, 464, 464,
1914 464, 466, 464, 464, 464, 2008, 464, 468, 464, 469,
1915 464, 595, 243, 595, 595, 243, 595, 243, 243, 243,
1916 2009, 243, 243, 243, 595, 243, 595, 596, 1988, 2010,
1917 596, 2011, 2014, 597, 2015, 464, 464, 597, 2016, 2012,
1918 596, 1134, 1134, 1134, 1634, 1634, 1634, 2017, 1113, 1113,
1919 1113, 470, 1134, 1134, 1134, 2013, 471, 464, 465, 243,
1920 465, 464, 464, 464, 464, 464, 464, 464, 466, 464,
1922 464, 464, 2019, 464, 468, 464, 469, 464, 595, 243,
1923 595, 595, 243, 595, 595, 243, 595, 1641, 1641, 1641,
1924 1635, 873, 873, 873, 596, 2020, 2027, 598, 2029, 2031,
1925 598, 2055, 464, 464, 256, 257, 256, 257, 874, 258,
1926 750, 258, 1114, 1134, 1134, 1134, 1135, 2056, 470, 608,
1927 751, 608, 2057, 471, 475, 476, 243, 476, 475, 475,
1928 475, 475, 475, 475, 475, 477, 475, 475, 475, 2063,
1929 475, 479, 475, 480, 475, 620, 243, 620, 609, 645,
1930 609, 620, 243, 620, 2064, 647, 2068, 2069, 923, 923,
1931 923, 621, 654, 1109, 1109, 1109, 653, 621, 641, 475,
1933 475, 2072, 481, 482, 483, 924, 2073, 1114, 665, 2077,
1934 484, 1111, 2080, 485, 1113, 1113, 1113, 1644, 1644, 1644,
1935 486, 475, 476, 243, 476, 475, 475, 475, 475, 475,
1936 475, 475, 477, 475, 475, 475, 666, 475, 479, 475,
1937 480, 475, 937, 937, 937, 939, 939, 939, 2084, 2085,
1938 667, 2086, 668, 2089, 653, 949, 949, 949, 2092, 938,
1939 2096, 2097, 940, 1156, 1156, 1156, 475, 475, 2098, 481,
1940 482, 483, 950, 1649, 1649, 1649, 2103, 484, 1135, 2105,
1941 485, 1158, 1637, 1637, 1637, 2106, 2107, 486, 491, 492,
1942 243, 492, 491, 491, 491, 491, 491, 491, 491, 493,
1944 491, 491, 491, 2108, 491, 495, 491, 496, 491, 952,
1945 952, 952, 966, 966, 966, 973, 973, 973, 982, 982,
1946 982, 984, 984, 984, 2110, 2111, 953, 2114, 1638, 967,
1947 2116, 2119, 974, 491, 491, 983, 2135, 2136, 985, 993,
1948 993, 993, 1167, 1167, 1167, 2137, 1168, 2142, 2143, 1169,
1949 2146, 1655, 1655, 1655, 2147, 2148, 994, 497, 491, 492,
1950 243, 492, 491, 491, 491, 491, 491, 491, 491, 493,
1951 491, 491, 491, 2151, 491, 495, 491, 496, 491, 1001,
1952 1001, 1001, 1005, 1005, 1005, 1017, 1017, 1017, 1039, 1039,
1953 1039, 1045, 1045, 1045, 1094, 2160, 1002, 1656, 2144, 1006,
1955 2153, 2161, 1018, 491, 491, 1040, 2145, 2149, 1046, 1061,
1956 1061, 1061, 1193, 1193, 1193, 2150, 1194, 2162, 1622, 1195,
1957 2163, 1658, 1658, 1658, 2166, 2168, 1062, 497, 506, 507,
1958 243, 507, 506, 506, 506, 506, 506, 506, 506, 508,
1959 506, 506, 506, 2169, 506, 510, 506, 511, 506, 1067,
1960 1067, 1067, 1073, 1073, 1073, 1081, 1081, 1081, 873, 873,
1961 873, 1149, 1149, 1149, 2155, 2170, 1068, 1638, 2174, 1074,
1962 2176, 2177, 1082, 506, 506, 874, 2178, 2181, 1150, 1622,
1963 2185, 512, 2186, 513, 2188, 2190, 514, 1659, 1659, 1659,
1964 515, 1634, 1634, 1634, 516, 506, 507, 243, 507, 506,
1966 506, 506, 506, 506, 506, 506, 508, 506, 506, 506,
1967 2154, 506, 510, 506, 511, 506, 2201, 1109, 1109, 1109,
1968 1153, 1153, 1153, 2202, 1162, 1162, 1162, 3333, 3333, 3333,
1969 3333, 3333, 3333, 1979, 2203, 1111, 2207, 1154, 2208, 1980,
1970 506, 506, 1164, 1981, 3333, 2209, 2215, 3333, 512, 1982,
1971 513, 2216, 2217, 514, 1112, 2220, 2224, 515, 1637, 1637,
1972 1637, 516, 522, 523, 243, 523, 522, 522, 522, 522,
1973 522, 522, 522, 524, 522, 522, 522, 1151, 522, 526,
1974 522, 527, 522, 1156, 1156, 1156, 923, 923, 923, 1155,
1975 2225, 2226, 1152, 1162, 1162, 1162, 1171, 1171, 1171, 2227,
1977 2230, 1158, 2231, 924, 1175, 1175, 1175, 522, 522, 2232,
1978 2233, 1164, 2234, 2246, 1173, 1196, 1196, 1196, 528, 1197,
1979 1159, 1176, 1198, 1212, 1212, 1212, 2247, 1213, 2251, 2254,
1980 1214, 529, 522, 523, 243, 523, 522, 522, 522, 522,
1981 522, 522, 522, 524, 522, 522, 522, 2255, 522, 526,
1982 522, 527, 522, 1171, 1171, 1171, 2261, 1165, 1179, 1179,
1983 1179, 1181, 1181, 1181, 1181, 1181, 1181, 3333, 3333, 3333,
1984 2266, 1173, 1185, 1185, 1185, 1180, 2268, 522, 522, 1183,
1985 2269, 2270, 1183, 2274, 3333, 1822, 1822, 1822, 528, 1186,
1986 1216, 1216, 1216, 2275, 1217, 2276, 2277, 1218, 2278, 2279,
1988 1174, 529, 533, 534, 243, 534, 533, 533, 533, 533,
1989 533, 533, 533, 535, 533, 533, 533, 1177, 533, 537,
1990 533, 538, 533, 1187, 1187, 1187, 1189, 1189, 1189, 937,
1991 937, 937, 1178, 2280, 2281, 1184, 1189, 1189, 1189, 2282,
1992 1188, 1205, 1205, 1205, 1191, 2283, 938, 533, 533, 939,
1993 939, 939, 2300, 2301, 1191, 1622, 539, 2302, 540, 1207,
1994 2304, 2306, 541, 1641, 1641, 1641, 940, 542, 543, 533,
1995 534, 243, 534, 533, 533, 533, 533, 533, 533, 533,
1996 535, 533, 533, 533, 2307, 533, 537, 533, 538, 533,
1997 2309, 1199, 1199, 1199, 2310, 949, 949, 949, 2286, 3333,
1999 3333, 3333, 3333, 3333, 3333, 2311, 2312, 1192, 1200, 3333,
2000 3333, 3333, 950, 2313, 533, 533, 3333, 2314, 2326, 3333,
2001 1234, 1234, 1234, 539, 1235, 540, 3333, 1236, 1622, 541,
2002 1658, 1658, 1658, 2327, 542, 543, 547, 548, 243, 548,
2003 547, 547, 547, 547, 547, 547, 547, 549, 547, 547,
2004 547, 1201, 547, 551, 547, 552, 547, 1202, 2332, 2333,
2005 1203, 2339, 2340, 952, 952, 952, 3333, 3333, 3333, 1219,
2006 1219, 1219, 1230, 1230, 1230, 2287, 1669, 1205, 1205, 1205,
2007 953, 547, 547, 3333, 2341, 2357, 1220, 553, 2328, 2358,
2008 1232, 2359, 1244, 1244, 1244, 1207, 1245, 2375, 2329, 1246,
2010 2376, 2377, 554, 547, 548, 243, 548, 547, 547, 547,
2011 547, 547, 547, 547, 549, 547, 547, 547, 1204, 547,
2012 551, 547, 552, 547, 1208, 2380, 2382, 1230, 1230, 1230,
2013 966, 966, 966, 1237, 1237, 1237, 2383, 1237, 1237, 1237,
2014 973, 973, 973, 2384, 2385, 1232, 2386, 967, 547, 547,
2015 2387, 1239, 2388, 2389, 553, 1239, 2390, 974, 1256, 1256,
2016 1256, 2391, 1257, 2392, 2393, 1258, 1644, 1644, 1644, 554,
2017 559, 560, 243, 560, 559, 559, 559, 559, 559, 559,
2018 559, 561, 559, 559, 559, 1233, 559, 563, 559, 564,
2019 559, 1250, 1250, 1250, 1250, 1250, 1250, 2398, 1240, 2399,
2021 982, 982, 982, 2402, 984, 984, 984, 2288, 2289, 1252,
2022 2290, 2403, 1252, 2404, 2405, 559, 559, 983, 2291, 2408,
2023 565, 985, 1649, 1649, 1649, 2292, 566, 559, 560, 243,
2024 560, 559, 559, 559, 559, 559, 559, 559, 561, 559,
2025 559, 559, 1622, 559, 563, 559, 564, 559, 1622, 1259,
2026 1259, 1259, 2409, 1260, 2410, 1253, 1261, 1262, 1262, 1262,
2027 1262, 1262, 1262, 1267, 1267, 1267, 2411, 1272, 1272, 1272,
2028 2413, 1273, 559, 559, 1274, 1264, 2414, 565, 1264, 2397,
2029 2396, 1269, 2415, 566, 570, 571, 243, 571, 570, 570,
2030 570, 570, 570, 570, 570, 572, 570, 570, 570, 2416,
2032 570, 574, 570, 575, 570, 2417, 2419, 1267, 1267, 1267,
2033 993, 993, 993, 1278, 1278, 1278, 2420, 2400, 1278, 1278,
2034 1278, 1265, 1001, 1001, 1001, 1269, 2401, 994, 2406, 570,
2035 570, 1280, 576, 2421, 577, 2431, 1280, 2407, 2432, 1002,
2036 578, 1283, 1283, 1283, 2433, 1284, 2434, 2438, 1285, 2439,
2037 2446, 579, 570, 571, 243, 571, 570, 570, 570, 570,
2038 570, 570, 570, 572, 570, 570, 570, 1270, 570, 574,
2039 570, 575, 570, 1281, 1286, 1286, 1286, 1005, 1005, 1005,
2040 2447, 1294, 1294, 1294, 2454, 2455, 1286, 1286, 1286, 1290,
2041 1290, 1290, 1288, 1291, 1006, 2456, 1292, 570, 570, 1296,
2043 576, 2468, 577, 2469, 1288, 1308, 1308, 1308, 578, 1309,
2044 2485, 2486, 1310, 1829, 1829, 1829, 1655, 1655, 1655, 579,
2045 584, 585, 243, 585, 584, 584, 584, 584, 584, 584,
2046 584, 586, 584, 584, 584, 2487, 584, 588, 584, 589,
2047 584, 1289, 1300, 1300, 1300, 1017, 1017, 1017, 2488, 1294,
2048 1294, 1294, 2490, 1300, 1300, 1300, 1311, 1311, 1311, 1830,
2049 1302, 2491, 1018, 2492, 2493, 584, 584, 1296, 2494, 2495,
2050 590, 1302, 2496, 1312, 2497, 2498, 591, 1338, 1338, 1338,
2051 592, 1339, 2499, 2500, 1340, 2501, 593, 584, 585, 243,
2052 585, 584, 584, 584, 584, 584, 584, 584, 586, 584,
2054 584, 584, 2506, 584, 588, 584, 589, 584, 2507, 1094,
2055 1297, 1315, 1315, 1315, 1303, 1658, 1658, 1658, 1315, 1315,
2056 1315, 1321, 1321, 1321, 1321, 1321, 1321, 2508, 2509, 1317,
2057 2510, 2511, 584, 584, 2512, 2513, 1317, 590, 1622, 1323,
2058 2514, 2515, 1323, 591, 1347, 1347, 1347, 592, 1348, 2503,
2059 2516, 1349, 2517, 593, 599, 600, 243, 600, 599, 599,
2060 599, 599, 599, 599, 599, 601, 599, 599, 599, 1318,
2061 599, 603, 599, 604, 599, 1333, 1333, 1333, 1333, 1333,
2062 1333, 2505, 1324, 2518, 1039, 1039, 1039, 1342, 1342, 1342,
2063 1342, 1342, 1342, 1335, 2519, 2521, 1335, 2522, 2523, 599,
2065 599, 1040, 1372, 1372, 1372, 1344, 1373, 605, 1344, 1374,
2066 606, 2524, 1826, 1826, 1826, 2525, 2526, 607, 599, 600,
2067 243, 600, 599, 599, 599, 599, 599, 599, 599, 601,
2068 599, 599, 599, 2531, 599, 603, 599, 604, 599, 1045,
2069 1045, 1045, 1336, 1350, 1350, 1350, 2532, 2535, 1353, 1353,
2070 1353, 1358, 1358, 1358, 1345, 2536, 1046, 1358, 1358, 1358,
2071 1351, 2537, 2538, 599, 599, 1354, 1381, 1381, 1381, 1360,
2072 1382, 605, 2541, 1383, 606, 1360, 1827, 1659, 1659, 1659,
2073 2542, 607, 610, 611, 243, 611, 610, 610, 610, 610,
2074 610, 610, 610, 612, 610, 610, 610, 2545, 610, 614,
2076 610, 615, 610, 2546, 1361, 1362, 1362, 1362, 1364, 1364,
2077 1364, 1622, 3333, 3333, 3333, 1367, 1367, 1367, 1367, 1367,
2078 1367, 2554, 1363, 2555, 2539, 1365, 2556, 610, 610, 3333,
2079 1061, 1061, 1061, 1369, 616, 2540, 1369, 1390, 1390, 1390,
2080 617, 1391, 2567, 2590, 1392, 2591, 2596, 1062, 2504, 618,
2081 610, 611, 243, 611, 610, 610, 610, 610, 610, 610,
2082 610, 612, 610, 610, 610, 2597, 610, 614, 610, 615,
2083 610, 1366, 1375, 1375, 1375, 1375, 1375, 1375, 2543, 1370,
2084 1067, 1067, 1067, 1385, 1385, 1385, 1385, 1385, 1385, 2544,
2085 1377, 2598, 2599, 1377, 2600, 610, 610, 1068, 1073, 1073,
2087 1073, 1387, 616, 2601, 1387, 1395, 1395, 1395, 617, 1395,
2088 1395, 1395, 1081, 1081, 1081, 1074, 2602, 618, 626, 1841,
2089 1841, 1841, 2603, 1397, 2604, 641, 2605, 1397, 1094, 1082,
2090 1406, 1406, 1406, 2610, 625, 642, 1378, 1401, 1401, 1401,
2091 2611, 1402, 2612, 2613, 1403, 1904, 1904, 1904, 1408, 1406,
2092 1406, 1406, 1388, 1413, 1413, 1413, 2560, 2607, 1413, 1413,
2093 1413, 2614, 643, 644, 645, 1842, 2561, 1408, 1622, 646,
2094 647, 1415, 2562, 648, 649, 1398, 1415, 650, 2615, 651,
2095 652, 653, 626, 1105, 1105, 1105, 2616, 1106, 2617, 2618,
2096 1107, 1109, 1109, 1109, 1109, 1109, 1109, 2619, 625, 655,
2098 1424, 1424, 1424, 1149, 1149, 1149, 1153, 1153, 1153, 1111,
2099 2608, 2579, 1111, 1409, 1156, 1156, 1156, 1622, 1425, 2620,
2100 1150, 2580, 1416, 1154, 2581, 2621, 643, 656, 657, 1999,
2101 1999, 1999, 1158, 658, 659, 2622, 2624, 660, 649, 2582,
2102 2625, 661, 2626, 662, 663, 664, 1461, 1461, 1461, 2583,
2103 1462, 2628, 2584, 1463, 1466, 1466, 1466, 2629, 1467, 2609,
2104 2635, 1468, 1156, 1156, 1156, 1156, 1156, 1156, 1162, 1162,
2105 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1167, 1167, 1167,
2106 1158, 1168, 2643, 1158, 1169, 2644, 1164, 2645, 2646, 1164,
2107 2647, 2648, 1164, 1171, 1171, 1171, 1171, 1171, 1171, 1171,
2109 1171, 1171, 1175, 1175, 1175, 1477, 1477, 1477, 2440, 1478,
2110 2441, 1173, 1479, 2649, 1173, 2650, 2651, 1173, 2652, 1176,
2111 1179, 1179, 1179, 2442, 1482, 1482, 1482, 1473, 1483, 1470,
2112 2653, 1484, 1181, 1181, 1181, 2657, 2660, 1180, 1181, 1181,
2113 1181, 1181, 1181, 1181, 1185, 1185, 1185, 2661, 1476, 2662,
2114 1183, 1486, 1486, 1486, 2663, 1487, 1183, 2664, 1488, 1183,
2115 2665, 1186, 1187, 1187, 1187, 1489, 1489, 1489, 2666, 1490,
2116 2669, 2677, 1491, 1189, 1189, 1189, 1189, 1189, 1189, 1188,
2117 1189, 1189, 1189, 1193, 1193, 1193, 2443, 1194, 2444, 2678,
2118 1195, 1191, 2681, 2682, 1191, 1196, 1196, 1196, 1191, 1197,
2120 2673, 2445, 1198, 1485, 1199, 1199, 1199, 1493, 1493, 1493,
2121 2700, 1494, 2701, 2674, 1495, 1205, 1205, 1205, 1205, 1205,
2122 1205, 1200, 1205, 1205, 1205, 1212, 1212, 1212, 2675, 1213,
2123 2702, 2703, 1214, 1207, 2704, 2679, 1207, 1504, 1504, 1504,
2124 1207, 2676, 1492, 1216, 1216, 1216, 2705, 1217, 2680, 2706,
2125 1218, 1219, 1219, 1219, 1505, 1506, 1506, 1506, 2707, 1507,
2126 1094, 2713, 1508, 1230, 1230, 1230, 2293, 2294, 1220, 2295,
2127 1500, 1230, 1230, 1230, 1230, 1230, 1230, 2296, 1234, 1234,
2128 1234, 1232, 1235, 2714, 2297, 1236, 1237, 1237, 1237, 1232,
2129 2683, 2715, 1232, 1237, 1237, 1237, 1237, 1237, 1237, 1523,
2131 1523, 1523, 2716, 2684, 1239, 1244, 1244, 1244, 2709, 1245,
2132 2717, 1239, 1246, 1622, 1239, 2718, 1524, 1250, 1250, 1250,
2133 1250, 1250, 1250, 2563, 1250, 1250, 1250, 1530, 1530, 1530,
2134 1256, 1256, 1256, 2564, 1257, 1252, 2719, 1258, 1252, 2565,
2135 2720, 1519, 1252, 2721, 1531, 1259, 1259, 1259, 2710, 1260,
2136 2722, 2723, 1261, 1262, 1262, 1262, 1520, 1262, 1262, 1262,
2137 1262, 1262, 1262, 1533, 1533, 1533, 1267, 1267, 1267, 2724,
2138 2725, 1264, 1267, 1267, 1267, 1264, 2727, 2728, 1264, 2730,
2139 1534, 1267, 1267, 1267, 1269, 1278, 1278, 1278, 2738, 1528,
2140 1269, 1272, 1272, 1272, 2745, 1273, 2746, 2747, 1274, 1269,
2142 1278, 1278, 1278, 1280, 1278, 1278, 1278, 1283, 1283, 1283,
2143 2748, 1284, 2749, 2731, 1285, 1286, 1286, 1286, 1280, 1286,
2144 1286, 1286, 1280, 2732, 2750, 1532, 1286, 1286, 1286, 2733,
2145 1535, 2751, 2752, 1288, 1290, 1290, 1290, 1288, 1291, 2734,
2146 2753, 1292, 2754, 2755, 1288, 1294, 1294, 1294, 1294, 1294,
2147 1294, 1294, 1294, 1294, 1545, 1545, 1545, 3333, 3333, 3333,
2148 1300, 1300, 1300, 1296, 1540, 2756, 1296, 2760, 2761, 1296,
2149 2762, 1546, 2763, 2764, 3333, 1300, 1300, 1300, 1302, 1300,
2150 1300, 1300, 2765, 1308, 1308, 1308, 1542, 1309, 2766, 2767,
2151 1310, 2768, 2769, 1302, 1311, 1311, 1311, 1302, 1553, 1553,
2153 1553, 1544, 1554, 2770, 1547, 1555, 1315, 1315, 1315, 2771,
2154 2772, 1312, 1315, 1315, 1315, 1315, 1315, 1315, 1321, 1321,
2155 1321, 1321, 1321, 1321, 1317, 1321, 1321, 1321, 2773, 2774,
2156 1317, 2775, 2776, 1317, 2777, 2778, 1323, 2779, 2793, 1323,
2157 1566, 1566, 1566, 1323, 2794, 2795, 1548, 1333, 1333, 1333,
2158 1333, 1333, 1333, 1333, 1333, 1333, 2796, 1567, 2797, 2782,
2159 1338, 1338, 1338, 2798, 1339, 1335, 1558, 1340, 1335, 2783,
2160 2799, 1335, 1561, 1342, 1342, 1342, 1342, 1342, 1342, 1342,
2161 1342, 1342, 1347, 1347, 1347, 2784, 1348, 2800, 2808, 1349,
2162 2809, 1344, 2810, 2811, 1344, 2785, 2812, 1344, 1350, 1350,
2164 1350, 1576, 1576, 1576, 2813, 1577, 2814, 2815, 1578, 1579,
2165 1579, 1579, 2820, 2821, 1571, 1351, 1353, 1353, 1353, 2822,
2166 1581, 1581, 1581, 1094, 1582, 2823, 1580, 1583, 1585, 1585,
2167 1585, 2825, 2828, 1354, 1358, 1358, 1358, 1358, 1358, 1358,
2168 1574, 1358, 1358, 1358, 2829, 1586, 1362, 1362, 1362, 1589,
2169 1589, 1589, 1360, 1590, 2830, 1360, 1591, 2802, 2831, 1360,
2170 1364, 1364, 1364, 1363, 1592, 1592, 1592, 2832, 1593, 2833,
2171 2834, 1594, 1367, 1367, 1367, 2835, 2836, 1365, 1367, 1367,
2172 1367, 1367, 1367, 1367, 1372, 1372, 1372, 2837, 1373, 2842,
2173 1369, 1374, 1375, 1375, 1375, 2843, 1369, 2844, 2845, 1369,
2175 2846, 1588, 1375, 1375, 1375, 1375, 1375, 1375, 2847, 2848,
2176 1377, 1381, 1381, 1381, 2849, 1382, 2850, 2851, 1383, 2852,
2177 1377, 2853, 2854, 1377, 1385, 1385, 1385, 1385, 1385, 1385,
2178 2855, 1385, 1385, 1385, 1390, 1390, 1390, 2856, 1391, 2857,
2179 2858, 1392, 1387, 2862, 2863, 1387, 2864, 2865, 1596, 1387,
2180 1605, 1605, 1605, 1395, 1395, 1395, 1395, 1395, 1395, 1395,
2181 1395, 1395, 1609, 1609, 1609, 2868, 2869, 1606, 3333, 3333,
2182 3333, 1397, 1598, 2870, 1397, 2871, 2872, 1397, 2873, 1610,
2183 1401, 1401, 1401, 2881, 1402, 3333, 2882, 1403, 1406, 1406,
2184 1406, 2883, 1602, 1406, 1406, 1406, 1406, 1406, 1406, 1615,
2186 1615, 1615, 2884, 1413, 1413, 1413, 1408, 1413, 1413, 1413,
2187 2885, 1408, 2886, 2887, 1408, 2888, 1616, 1413, 1413, 1413,
2188 1607, 1415, 1621, 1621, 1621, 1415, 1424, 1424, 1424, 1611,
2189 1461, 1461, 1461, 1094, 1462, 1415, 2889, 1463, 2890, 2893,
2190 1622, 1623, 2899, 1613, 1425, 1466, 1466, 1466, 2900, 1467,
2191 2901, 2902, 1468, 1156, 1156, 1156, 1670, 1670, 1670, 1162,
2192 1162, 1162, 2903, 2904, 1618, 1171, 1171, 1171, 1477, 1477,
2193 1477, 1158, 1478, 1671, 2905, 1479, 2875, 1164, 1482, 1482,
2194 1482, 2912, 1483, 1173, 2913, 1484, 1181, 1181, 1181, 1486,
2195 1486, 1486, 2914, 1487, 2915, 2916, 1488, 2917, 1489, 1489,
2197 1489, 2918, 1490, 2919, 1183, 1491, 1189, 1189, 1189, 1493,
2198 1493, 1493, 2920, 1494, 1668, 2921, 1495, 1682, 1682, 1682,
2199 2922, 2923, 1675, 2924, 1191, 2925, 1672, 1205, 1205, 1205,
2200 1686, 1686, 1686, 1678, 1683, 3333, 3333, 3333, 3333, 3333,
2201 3333, 1504, 1504, 1504, 2926, 1207, 2927, 1687, 3333, 3333,
2202 3333, 2928, 3333, 1679, 2929, 3333, 2930, 2931, 1505, 1690,
2203 1690, 1690, 2932, 1691, 2933, 3333, 1692, 1506, 1506, 1506,
2204 2934, 1507, 2935, 2936, 1508, 3333, 3333, 3333, 3333, 3333,
2205 3333, 2937, 1685, 2938, 2952, 1689, 3333, 3333, 3333, 3333,
2206 3333, 3333, 3333, 1094, 2943, 3333, 3333, 3333, 3333, 1693,
2208 2953, 1688, 2958, 3333, 2959, 2946, 3333, 1699, 1699, 1699,
2209 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
2210 2960, 2943, 1694, 2961, 1700, 2962, 2970, 3333, 1230, 1230,
2211 1230, 3333, 2971, 1696, 3333, 2944, 1237, 1237, 1237, 2941,
2212 1523, 1523, 1523, 1708, 1708, 1708, 1232, 1709, 1695, 2972,
2213 1710, 2973, 2974, 1697, 1239, 2979, 1698, 1524, 1712, 1712,
2214 1712, 1250, 1250, 1250, 1530, 1530, 1530, 1717, 1717, 1717,
2215 2980, 1718, 2981, 2982, 1719, 1713, 1702, 2963, 1703, 1252,
2216 1701, 1531, 1262, 1262, 1262, 1533, 1533, 1533, 1705, 2964,
2217 1721, 1721, 1721, 1704, 1722, 2983, 2984, 1723, 2985, 2986,
2219 1264, 2987, 1534, 1267, 1267, 1267, 1278, 1278, 1278, 2988,
2220 1286, 1286, 1286, 1732, 1732, 1732, 2989, 1294, 1294, 1294,
2221 2990, 1269, 2991, 2994, 1280, 1622, 1623, 1715, 1288, 2965,
2222 1733, 2943, 1545, 1545, 1545, 1296, 1735, 1735, 1735, 2975,
2223 1736, 2966, 2946, 1737, 1300, 1300, 1300, 2977, 1720, 1546,
2224 1094, 2976, 1741, 1741, 1741, 2994, 1745, 1745, 1745, 2978,
2225 2997, 1724, 1302, 1729, 1315, 1315, 1315, 1731, 1734, 1742,
2226 1553, 1553, 1553, 1746, 1554, 2943, 2998, 1555, 1321, 1321,
2227 1321, 2999, 1317, 1566, 1566, 1566, 1756, 1756, 1756, 2944,
2228 1757, 2992, 3002, 1758, 3000, 3003, 1323, 1333, 1333, 1333,
2230 1567, 1764, 1764, 1764, 1739, 1342, 1342, 1342, 3004, 1576,
2231 1576, 1576, 3001, 1577, 3011, 1335, 1578, 3014, 1765, 1579,
2232 1579, 1579, 3015, 1344, 3005, 1768, 1768, 1768, 1748, 1769,
2233 3016, 2948, 1770, 1581, 1581, 1581, 1580, 1582, 3017, 3006,
2234 1583, 1585, 1585, 1585, 1751, 3009, 1762, 1772, 1772, 1772,
2235 2949, 1773, 2950, 3018, 1774, 1358, 1358, 1358, 1586, 1589,
2236 1589, 1589, 3023, 1590, 3010, 2951, 1591, 1766, 1592, 1592,
2237 1592, 3026, 1593, 1360, 3012, 1594, 1367, 1367, 1367, 1375,
2238 1375, 1375, 1385, 1385, 1385, 1786, 1786, 1786, 3029, 1605,
2239 1605, 1605, 3030, 3013, 1369, 3031, 3032, 1377, 3033, 3034,
2241 1387, 2994, 1787, 3036, 2994, 1776, 1606, 1788, 1788, 1788,
2242 3037, 1789, 3038, 3021, 1790, 1395, 1395, 1395, 1609, 1609,
2243 1609, 1793, 1793, 1793, 3024, 1794, 3039, 3040, 1795, 1406,
2244 1406, 1406, 3022, 1397, 3041, 1610, 1615, 1615, 1615, 1803,
2245 1803, 1803, 1778, 3025, 3042, 1780, 1784, 1408, 1800, 1800,
2246 1800, 3043, 1801, 1616, 3044, 1802, 1804, 1413, 1413, 1413,
2247 3048, 3049, 1621, 1621, 1621, 1838, 1838, 1838, 1826, 1826,
2248 1826, 1838, 1838, 1838, 3050, 1415, 3051, 3052, 1798, 1791,
2249 1622, 1843, 1843, 1843, 1845, 1845, 1845, 3333, 3333, 3333,
2250 1156, 1156, 1156, 1670, 1670, 1670, 3053, 3054, 1844, 3055,
2252 3056, 1846, 3057, 3061, 3333, 3062, 1805, 3063, 1158, 3064,
2253 1671, 3065, 3066, 1807, 1850, 1850, 1850, 3070, 1851, 3071,
2254 3072, 1852, 1162, 1162, 1162, 1171, 1171, 1171, 3073, 1839,
2255 1808, 3074, 1839, 3075, 3077, 1827, 1857, 1857, 1857, 3078,
2256 1164, 3079, 3080, 1173, 1859, 1859, 1859, 1181, 1181, 1181,
2257 3081, 1847, 3082, 1858, 1189, 1189, 1189, 1848, 1863, 1863,
2258 1863, 1860, 3333, 3333, 3333, 1183, 1682, 1682, 1682, 1205,
2259 1205, 1205, 1191, 1856, 3083, 1864, 1869, 1869, 1869, 3333,
2260 3084, 1853, 3085, 1683, 1866, 1866, 1866, 1207, 1867, 3090,
2261 3086, 1868, 3091, 1870, 1686, 1686, 1686, 1872, 1872, 1872,
2263 3092, 1873, 3087, 3093, 1874, 1875, 1875, 1875, 3333, 3333,
2264 3333, 1687, 1861, 3094, 1690, 1690, 1690, 3095, 1691, 1862,
2265 1865, 1692, 1876, 3096, 3097, 3333, 3333, 3333, 3333, 1871,
2266 3333, 3333, 3333, 1880, 1880, 1880, 3333, 3333, 3333, 3333,
2267 3333, 3333, 3088, 3333, 3333, 3333, 3333, 3333, 3098, 2954,
2268 1881, 3099, 3100, 3333, 3089, 3101, 3333, 1699, 1699, 1699,
2269 3102, 3333, 1885, 1885, 1885, 2955, 1886, 2956, 3103, 1887,
2270 3104, 3105, 1877, 3106, 1700, 1888, 1888, 1888, 3107, 1879,
2271 2957, 3333, 3333, 3333, 3109, 1883, 3333, 3333, 3333, 3110,
2272 1878, 1094, 1889, 3111, 1882, 3112, 3113, 1884, 3333, 1230,
2274 1230, 1230, 3114, 3333, 1237, 1237, 1237, 1708, 1708, 1708,
2275 3115, 1709, 3116, 3117, 1710, 3118, 3108, 1232, 1896, 1896,
2276 1896, 3119, 1239, 1712, 1712, 1712, 3120, 3121, 1890, 1898,
2277 1898, 1898, 3122, 1899, 3123, 1897, 1900, 3124, 3125, 1891,
2278 1713, 3126, 1902, 1902, 1902, 1717, 1717, 1717, 3127, 1718,
2279 3128, 3129, 1719, 1262, 1262, 1262, 1267, 1267, 1267, 1893,
2280 1903, 3130, 1721, 1721, 1721, 1892, 1722, 3131, 3132, 1723,
2281 3133, 1264, 3134, 1094, 1269, 1911, 1911, 1911, 1286, 1286,
2282 1286, 1732, 1732, 1732, 1915, 1915, 1915, 3136, 1916, 3137,
2283 3138, 1917, 3135, 1912, 3139, 3140, 1288, 3141, 1733, 1905,
2285 1294, 1294, 1294, 1735, 1735, 1735, 3142, 1736, 3143, 3144,
2286 1737, 1300, 1300, 1300, 1741, 1741, 1741, 3145, 1296, 1925,
2287 1925, 1925, 3146, 1906, 1914, 3147, 1922, 1922, 1922, 1302,
2288 1923, 1742, 3148, 1924, 3149, 3150, 1926, 1745, 1745, 1745,
2289 1928, 1928, 1928, 3151, 1929, 3152, 3153, 1930, 1932, 1932,
2290 1932, 1321, 1321, 1321, 1746, 1756, 1756, 1756, 1918, 1757,
2291 3154, 3155, 1758, 1333, 1333, 1333, 1933, 3156, 3157, 1323,
2292 1764, 1764, 1764, 1949, 1949, 1949, 3158, 1920, 1946, 1946,
2293 1946, 1335, 1947, 3159, 3161, 1948, 3162, 1765, 1768, 1768,
2294 1768, 1950, 1769, 3163, 3164, 1770, 3165, 1772, 1772, 1772,
2296 3166, 1773, 1094, 1936, 1774, 1358, 1358, 1358, 1367, 1367,
2297 1367, 1375, 1375, 1375, 1944, 1959, 1959, 1959, 3333, 3333,
2298 3333, 3167, 3160, 1360, 3168, 3169, 1369, 3170, 3171, 1377,
2299 3172, 3173, 1960, 3174, 3175, 3333, 1962, 1962, 1962, 1385,
2300 1385, 1385, 3176, 1786, 1786, 1786, 3177, 1966, 1966, 1966,
2301 3178, 1967, 3179, 1963, 1968, 3180, 3181, 1387, 3182, 1956,
2302 1787, 3184, 1958, 1788, 1788, 1788, 1954, 1789, 3185, 3186,
2303 1790, 1395, 1395, 1395, 1793, 1793, 1793, 1094, 1794, 3187,
2304 3188, 1795, 3189, 3183, 1961, 3190, 1964, 3191, 3192, 1397,
2305 1406, 1406, 1406, 1800, 1800, 1800, 3193, 1801, 3194, 3195,
2307 1802, 3196, 1803, 1803, 1803, 1983, 1983, 1983, 1408, 1984,
2308 3197, 3198, 1985, 1413, 1413, 1413, 3199, 3201, 1969, 1804,
2309 1990, 1990, 1990, 1822, 1822, 1822, 2006, 2006, 2006, 3202,
2310 3203, 1415, 1826, 1826, 1826, 3204, 3205, 1991, 2007, 2007,
2311 2007, 1973, 1829, 1829, 1829, 1838, 1838, 1838, 2018, 2018,
2312 2018, 1841, 1841, 1841, 1843, 1843, 1843, 3206, 2021, 2021,
2313 2021, 1094, 2022, 3207, 1986, 2023, 1845, 1845, 1845, 3208,
2314 3209, 1844, 2024, 2024, 2024, 3200, 2025, 3210, 3212, 2026,
2315 1156, 1156, 1156, 1846, 1850, 1850, 1850, 3213, 1851, 3214,
2316 3215, 1852, 1162, 1162, 1162, 2032, 2032, 2032, 1158, 1171,
2318 1171, 1171, 1857, 1857, 1857, 3216, 3217, 2035, 2035, 2035,
2319 1164, 2036, 2033, 3218, 2037, 3219, 3220, 1173, 3221, 1858,
2320 1859, 1859, 1859, 2038, 2038, 2038, 3224, 2039, 3225, 3226,
2321 2040, 1181, 1181, 1181, 1189, 1189, 1189, 1860, 1863, 1863,
2322 1863, 3227, 3228, 2030, 3229, 3240, 2028, 1094, 1094, 1183,
2323 3238, 1665, 1191, 1094, 1094, 1864, 1094, 2043, 2043, 2043,
2324 2034, 2044, 1094, 1094, 2045, 2046, 2046, 2046, 1866, 1866,
2325 1866, 1664, 1867, 1094, 1663, 1868, 1869, 1869, 1869, 2048,
2326 2048, 2048, 2047, 2049, 3230, 1094, 2050, 1205, 1205, 1205,
2327 1872, 1872, 1872, 1870, 1873, 3232, 2041, 1874, 3231, 2042,
2329 1875, 1875, 1875, 1094, 3233, 1207, 2052, 2052, 2052, 1094,
2330 2053, 3234, 1094, 2054, 1880, 1880, 1880, 1876, 2058, 2058,
2331 2058, 3235, 2059, 1094, 3330, 2060, 2061, 2061, 2061, 3236,
2332 1094, 1881, 1885, 1885, 1885, 1094, 1886, 1094, 2051, 1887,
2333 1888, 1888, 1888, 2062, 2065, 2065, 2065, 3237, 2066, 3246,
2334 1662, 2067, 1230, 1230, 1230, 1661, 3244, 1889, 1237, 1237,
2335 1237, 1896, 1896, 1896, 2074, 2074, 2074, 3247, 2075, 3252,
2336 1232, 2076, 3250, 1898, 1898, 1898, 1239, 1899, 1897, 1094,
2337 1900, 1902, 1902, 1902, 1904, 1904, 1904, 1262, 1262, 1262,
2338 1267, 1267, 1267, 2081, 2081, 2081, 1911, 1911, 1911, 1903,
2340 1286, 1286, 1286, 2070, 3241, 1264, 1094, 1660, 1269, 3239,
2341 2082, 2071, 1094, 1094, 1912, 1915, 1915, 1915, 1288, 1916,
2342 3248, 1094, 1917, 1294, 1294, 1294, 2090, 2090, 2090, 1922,
2343 1922, 1922, 1094, 1923, 3242, 3243, 1924, 1094, 1657, 2083,
2344 2079, 1296, 1094, 1094, 2091, 2078, 1925, 1925, 1925, 2087,
2345 2093, 2093, 2093, 3245, 2094, 3262, 1094, 2095, 1928, 1928,
2346 1928, 1094, 1929, 1926, 3256, 1930, 1932, 1932, 1932, 2088,
2347 2099, 2099, 2099, 1321, 1321, 1321, 2102, 2102, 2102, 2104,
2348 2104, 2104, 1094, 3253, 1933, 1094, 1094, 2100, 1333, 1333,
2349 1333, 1323, 1946, 1946, 1946, 1094, 1947, 3249, 3254, 1948,
2351 1949, 1949, 1949, 2112, 2112, 2112, 1335, 1358, 1358, 1358,
2352 2117, 2117, 2117, 1375, 1375, 1375, 1094, 3251, 1950, 3263,
2353 2113, 1959, 1959, 1959, 1094, 1360, 1094, 1094, 2118, 3264,
2354 1094, 1377, 3255, 1094, 2101, 2121, 2121, 2121, 1960, 2122,
2355 3258, 1654, 2123, 2124, 2124, 2124, 1962, 1962, 1962, 1094,
2356 2127, 2127, 2127, 2109, 2128, 3259, 3257, 2129, 1653, 3265,
2357 2125, 3260, 3261, 1963, 1094, 3268, 2115, 1385, 1385, 1385,
2358 2131, 2131, 2131, 1094, 1966, 1966, 1966, 2120, 1967, 3266,
2359 1094, 1968, 1395, 1395, 1395, 1387, 1652, 2132, 1094, 2126,
2360 2138, 2138, 2138, 2140, 2140, 2140, 1651, 1983, 1983, 1983,
2362 1397, 1984, 3282, 1650, 1985, 1413, 1413, 1413, 2139, 1648,
2363 2141, 1990, 1990, 1990, 1647, 3269, 2133, 2156, 2156, 2156,
2364 2130, 2157, 3286, 1415, 2158, 2159, 2159, 2159, 1991, 2164,
2365 2164, 2164, 2165, 2165, 2165, 2134, 1999, 1999, 1999, 2167,
2366 2167, 2167, 2171, 2171, 2171, 2006, 2006, 2006, 2007, 2007,
2367 2007, 2152, 2172, 2172, 2172, 2175, 2175, 2175, 2179, 2179,
2368 2179, 2180, 2180, 2180, 2182, 2182, 2182, 2018, 2018, 2018,
2369 2183, 2183, 2183, 2021, 2021, 2021, 1094, 2022, 1094, 1094,
2370 2023, 2024, 2024, 2024, 1646, 2025, 1094, 1094, 2026, 1156,
2371 1156, 1156, 1162, 1162, 1162, 2032, 2032, 2032, 2173, 2191,
2373 2191, 2191, 1094, 2192, 1094, 1094, 2193, 1158, 3283, 1094,
2374 1164, 3270, 2033, 1171, 1171, 1171, 2184, 2035, 2035, 2035,
2375 3271, 2036, 3267, 3274, 2037, 2038, 2038, 2038, 1094, 2039,
2376 3272, 1173, 2040, 1181, 1181, 1181, 1189, 1189, 1189, 1094,
2377 2187, 2043, 2043, 2043, 3276, 2044, 3273, 3277, 2045, 1094,
2378 3278, 1183, 2189, 2195, 1191, 1094, 3292, 2046, 2046, 2046,
2379 2197, 2197, 2197, 1645, 2198, 3275, 1094, 2199, 1205, 1205,
2380 1205, 1094, 2196, 2194, 2047, 2048, 2048, 2048, 1094, 2049,
2381 3284, 1094, 2050, 2052, 2052, 2052, 1207, 2053, 3285, 1094,
2382 2054, 2058, 2058, 2058, 1094, 2059, 3293, 1094, 2060, 2061,
2384 2061, 2061, 2204, 2204, 2204, 3290, 2205, 3296, 3280, 2206,
2385 2065, 2065, 2065, 1094, 2066, 3281, 2062, 2067, 2210, 2210,
2386 2210, 1230, 1230, 1230, 2213, 2213, 2213, 3279, 3287, 2074,
2387 2074, 2074, 3291, 2075, 2200, 2211, 2076, 1094, 1643, 1232,
2388 1094, 1094, 2214, 1262, 1262, 1262, 1267, 1267, 1267, 2081,
2389 2081, 2081, 2221, 2221, 2221, 1094, 2222, 1642, 1640, 2223,
2390 1639, 1264, 1636, 1633, 1269, 1094, 2082, 1094, 1286, 1286,
2391 1286, 1294, 1294, 1294, 2090, 2090, 2090, 2093, 2093, 2093,
2392 1632, 2094, 3322, 3288, 2095, 2212, 1288, 3289, 1094, 1296,
2393 1094, 1094, 2091, 2099, 2099, 2099, 3297, 2219, 2218, 2235,
2395 2235, 2235, 3294, 2236, 3295, 1094, 2237, 1321, 1321, 1321,
2396 2100, 2102, 2102, 2102, 2239, 2239, 2239, 2104, 2104, 2104,
2397 2240, 2240, 2240, 3298, 1094, 1323, 3333, 3333, 3333, 3333,
2398 3333, 3333, 1094, 2229, 2228, 1631, 3300, 2241, 3333, 3333,
2399 3333, 1094, 3302, 3333, 1094, 3306, 3333, 1333, 1333, 1333,
2400 2112, 2112, 2112, 1094, 1094, 3333, 2248, 2248, 2248, 3299,
2401 2249, 3330, 1630, 2250, 3304, 1335, 1094, 2113, 2252, 2252,
2402 2252, 2238, 2117, 2117, 2117, 1094, 3305, 2242, 2256, 2256,
2403 2256, 2121, 2121, 2121, 3307, 2122, 2253, 3301, 2123, 1094,
2404 2118, 3303, 1094, 2243, 1094, 1629, 2257, 2244, 2124, 2124,
2406 2124, 2258, 2258, 2258, 1094, 2259, 1094, 3312, 2260, 2127,
2407 2127, 2127, 2245, 2128, 1628, 2125, 2129, 1385, 1385, 1385,
2408 2131, 2131, 2131, 2263, 2263, 2263, 1627, 2264, 1094, 3314,
2409 2265, 1395, 1395, 1395, 1094, 1387, 3308, 2132, 2138, 2138,
2410 2138, 2140, 2140, 2140, 2271, 2271, 2271, 3313, 2272, 1397,
2411 3316, 2273, 1413, 1413, 1413, 1626, 2139, 1625, 2141, 2285,
2412 2285, 2285, 2156, 2156, 2156, 3310, 2157, 1624, 2262, 2158,
2413 1415, 2159, 2159, 2159, 2298, 2298, 2298, 1094, 2299, 2299,
2414 2299, 3309, 2267, 2164, 2164, 2164, 2165, 2165, 2165, 2167,
2415 2167, 2167, 2303, 2303, 2303, 2305, 2305, 2305, 2171, 2171,
2417 2171, 2284, 2172, 2172, 2172, 2175, 2175, 2175, 2308, 2308,
2418 2308, 2179, 2179, 2179, 2180, 2180, 2180, 2182, 2182, 2182,
2419 2183, 2183, 2183, 2315, 2315, 2315, 2317, 2317, 2317, 1162,
2420 1162, 1162, 2319, 2319, 2319, 2191, 2191, 2191, 1094, 2192,
2421 1094, 2316, 2193, 1171, 1171, 1171, 1094, 1164, 1094, 2320,
2422 1181, 1181, 1181, 1189, 1189, 1189, 2197, 2197, 2197, 1094,
2423 2198, 1173, 1617, 2199, 2324, 2324, 2324, 1614, 1183, 3323,
2424 1094, 1191, 2204, 2204, 2204, 3311, 2205, 1612, 1094, 2206,
2425 3320, 3315, 2325, 2330, 2330, 2330, 3317, 2322, 2210, 2210,
2426 2210, 2337, 2337, 2337, 2321, 2318, 3318, 2334, 2334, 2334,
2428 2331, 2335, 3321, 1608, 2336, 2211, 2213, 2213, 2213, 2338,
2429 1262, 1262, 1262, 1094, 2323, 2343, 2343, 2343, 2345, 2345,
2430 2345, 3333, 3333, 3333, 2214, 2221, 2221, 2221, 1264, 2222,
2431 1094, 1094, 2223, 2344, 1604, 2346, 1094, 1094, 3333, 3333,
2432 3333, 3333, 3333, 3333, 3333, 2351, 2351, 2351, 1286, 1286,
2433 1286, 1294, 1294, 1294, 1094, 1603, 3333, 1601, 1600, 3333,
2434 1094, 3326, 2352, 3324, 2347, 1599, 1288, 3319, 3325, 1296,
2435 2342, 2355, 2355, 2355, 1597, 1595, 2348, 2360, 2360, 2360,
2436 2235, 2235, 2235, 1587, 2236, 3327, 3328, 2237, 2356, 1321,
2437 1321, 1321, 3329, 2350, 2239, 2239, 2239, 2240, 2240, 2240,
2439 2349, 1584, 2362, 2362, 2362, 1575, 2363, 1323, 2353, 2364,
2440 2365, 2365, 2365, 1573, 2241, 2354, 3333, 3333, 3333, 3333,
2441 3333, 3333, 2369, 2369, 2369, 1572, 1570, 2366, 2371, 2371,
2442 2371, 1569, 1568, 3333, 1565, 1564, 3333, 2372, 2372, 2372,
2443 2370, 1562, 2248, 2248, 2248, 1560, 2249, 1559, 2361, 2250,
2444 1557, 3333, 3333, 3333, 2373, 2252, 2252, 2252, 2256, 2256,
2445 2256, 1556, 2258, 2258, 2258, 1552, 2259, 2367, 3333, 2260,
2446 2368, 1551, 1550, 2253, 1549, 1543, 2257, 2378, 2378, 2378,
2447 2263, 2263, 2263, 1541, 2264, 1539, 1538, 2265, 1395, 1395,
2448 1395, 1537, 2271, 2271, 2271, 2379, 2272, 1536, 1529, 2273,
2450 1413, 1413, 1413, 2285, 2285, 2285, 1397, 2298, 2298, 2298,
2451 2299, 2299, 2299, 2412, 2412, 2412, 1527, 2374, 1415, 1526,
2452 1525, 1094, 2303, 2303, 2303, 2305, 2305, 2305, 2308, 2308,
2453 2308, 2418, 2418, 2418, 2381, 2315, 2315, 2315, 2317, 2317,
2454 2317, 2422, 2422, 2422, 1522, 2319, 2319, 2319, 2424, 2424,
2455 2424, 1521, 2425, 2316, 1516, 2426, 2427, 2427, 2427, 2423,
2456 1515, 2394, 2320, 1514, 1513, 2395, 1181, 1181, 1181, 1189,
2457 1189, 1189, 1512, 1511, 2428, 2324, 2324, 2324, 2330, 2330,
2458 2330, 2435, 2435, 2435, 1183, 2436, 1510, 1191, 2437, 1509,
2459 2334, 2334, 2334, 2325, 2335, 2331, 1503, 2336, 2337, 2337,
2461 2337, 2448, 2448, 2448, 1262, 1262, 1262, 2343, 2343, 2343,
2462 2345, 2345, 2345, 2451, 2451, 2451, 2338, 2452, 2449, 1502,
2463 2453, 1501, 1264, 1499, 1498, 2344, 1497, 2346, 1496, 1481,
2464 2429, 2457, 2457, 2457, 1480, 1475, 2430, 2351, 2351, 2351,
2465 2459, 2459, 2459, 1474, 2460, 1472, 1471, 2461, 2458, 2462,
2466 2462, 2462, 1469, 1465, 2352, 1294, 1294, 1294, 2355, 2355,
2467 2355, 2450, 2465, 2465, 2465, 1464, 2466, 2463, 1460, 2467,
2468 2470, 2470, 2470, 1296, 1459, 2356, 2360, 2360, 2360, 2472,
2469 2472, 2472, 2362, 2362, 2362, 1458, 2363, 2471, 1457, 2364,
2470 2365, 2365, 2365, 1456, 2474, 2474, 2474, 2473, 2475, 1455,
2472 1454, 2476, 2477, 2477, 2477, 1453, 1452, 2366, 2479, 2479,
2473 2479, 2369, 2369, 2369, 1451, 1450, 2464, 1449, 1448, 2478,
2474 2371, 2371, 2371, 1447, 1445, 2480, 2372, 2372, 2372, 2370,
2475 2481, 2481, 2481, 1444, 2482, 1443, 1442, 2483, 3333, 3333,
2476 3333, 1439, 1438, 2373, 2378, 2378, 2378, 1395, 1395, 1395,
2477 1413, 1413, 1413, 1437, 1436, 3333, 2412, 2412, 2412, 2520,
2478 2520, 2520, 2379, 1435, 1434, 1397, 1433, 1432, 1415, 2418,
2479 2418, 2418, 2527, 2527, 2527, 1431, 2422, 2422, 2422, 2424,
2480 2424, 2424, 1430, 2425, 1429, 1428, 2426, 1427, 1426, 2528,
2481 2427, 2427, 2427, 2484, 2423, 1423, 1181, 1181, 1181, 1189,
2483 1189, 1189, 2533, 2533, 2533, 2435, 2435, 2435, 2428, 2436,
2484 2502, 1422, 2437, 2489, 1183, 1421, 1420, 1191, 1419, 2534,
2485 2547, 2547, 2547, 2448, 2448, 2448, 2549, 2549, 2549, 1418,
2486 2550, 1094, 1412, 2551, 2552, 2552, 2552, 2548, 1411, 1410,
2487 2449, 2451, 2451, 2451, 1405, 2452, 1404, 1400, 2453, 2457,
2488 2457, 2457, 2553, 1394, 2557, 2557, 2557, 2529, 2558, 1393,
2489 1389, 2559, 2462, 2462, 2462, 2530, 2458, 2459, 2459, 2459,
2490 1384, 2460, 1380, 1379, 2461, 1294, 1294, 1294, 1371, 1357,
2491 2463, 2465, 2465, 2465, 1356, 2466, 1355, 1352, 2467, 2568,
2492 2568, 2568, 1346, 1296, 2470, 2470, 2470, 2570, 2570, 2570,
2494 1341, 2571, 1337, 1332, 2572, 1331, 2569, 2472, 2472, 2472,
2495 1330, 2471, 2474, 2474, 2474, 1329, 2475, 1328, 1327, 2476,
2496 1326, 2477, 2477, 2477, 1325, 2473, 2573, 2573, 2573, 1320,
2497 2574, 1319, 1314, 2575, 2479, 2479, 2479, 2566, 2478, 2576,
2498 2576, 2576, 1313, 2577, 1307, 1304, 2578, 1299, 2481, 2481,
2499 2481, 2480, 2482, 1298, 1293, 2483, 3333, 3333, 3333, 2586,
2500 2586, 2586, 2588, 2588, 2588, 1395, 1395, 1395, 2593, 2593,
2501 2593, 1282, 1277, 3333, 1276, 1275, 2587, 1271, 1266, 2589,
2502 2594, 2594, 2594, 1397, 1413, 1413, 1413, 2623, 2623, 2623,
2503 2520, 2520, 2520, 2627, 2627, 2627, 1255, 2595, 2527, 2527,
2505 2527, 1249, 1415, 2630, 2630, 2630, 1248, 2631, 1247, 1243,
2506 2632, 1181, 1181, 1181, 1242, 2528, 1241, 2585, 1229, 1189,
2507 1189, 1189, 2636, 2636, 2636, 2533, 2533, 2533, 1228, 1183,
2508 1227, 2638, 2638, 2638, 1226, 2639, 2592, 1191, 2640, 2637,
2509 1225, 1224, 2534, 1223, 2606, 2641, 2641, 2641, 2547, 2547,
2510 2547, 2654, 2654, 2654, 1222, 2655, 1221, 1215, 2656, 2549,
2511 2549, 2549, 2642, 2550, 1170, 2548, 2551, 2552, 2552, 2552,
2512 2634, 2658, 2658, 2658, 1166, 2557, 2557, 2557, 2633, 2558,
2513 1161, 1160, 2559, 1148, 1147, 2553, 1146, 1145, 2659, 2667,
2514 2667, 2667, 2568, 2568, 2568, 2670, 2670, 2670, 1144, 2671,
2516 1143, 1142, 2672, 1141, 2570, 2570, 2570, 2668, 2571, 2569,
2517 1140, 2572, 2573, 2573, 2573, 1139, 2574, 1138, 1137, 2575,
2518 2576, 2576, 2576, 1136, 2577, 1133, 1132, 2578, 3333, 3333,
2519 3333, 2586, 2586, 2586, 2686, 2686, 2686, 1131, 2687, 1130,
2520 1129, 2688, 2588, 2588, 2588, 3333, 1128, 1127, 2587, 2689,
2521 2689, 2689, 1126, 2690, 1123, 1122, 2691, 1121, 1120, 2589,
2522 2692, 2692, 2692, 2694, 2694, 2694, 1395, 1395, 1395, 2593,
2523 2593, 2593, 2594, 2594, 2594, 1119, 1118, 2693, 1117, 1116,
2524 2695, 1413, 1413, 1413, 1397, 2711, 2711, 2711, 2685, 2595,
2525 2697, 2697, 2697, 1115, 2698, 1108, 1104, 2699, 1103, 1415,
2527 1102, 1101, 2712, 1622, 2623, 2623, 2623, 2726, 2726, 2726,
2528 2627, 2627, 2627, 2729, 2729, 2729, 2630, 2630, 2630, 1100,
2529 2631, 1097, 1095, 2632, 1181, 1181, 1181, 1094, 2696, 2736,
2530 2736, 2736, 2708, 2636, 2636, 2636, 2739, 2739, 2739, 1092,
2531 2740, 1090, 1183, 2741, 2638, 2638, 2638, 2737, 2639, 1089,
2532 2637, 2640, 2641, 2641, 2641, 2742, 2742, 2742, 1088, 2743,
2533 1087, 1086, 2744, 2654, 2654, 2654, 1083, 2655, 1080, 2642,
2534 2656, 2658, 2658, 2658, 2757, 2757, 2757, 1079, 2758, 1078,
2535 1076, 2759, 2667, 2667, 2667, 2670, 2670, 2670, 2659, 2671,
2536 2735, 1075, 2672, 2780, 2780, 2780, 1072, 2686, 2686, 2686,
2538 2668, 2687, 1071, 1069, 2688, 2689, 2689, 2689, 1066, 2690,
2539 2781, 1065, 2691, 2692, 2692, 2692, 2786, 2786, 2786, 1064,
2540 2787, 1060, 1059, 2788, 2694, 2694, 2694, 2789, 2789, 2789,
2541 2693, 2790, 1057, 1056, 2791, 1395, 1395, 1395, 2697, 2697,
2542 2697, 2695, 2698, 1055, 1054, 2699, 1413, 1413, 1413, 2803,
2543 2803, 2803, 1052, 1397, 2711, 2711, 2711, 1051, 2805, 2805,
2544 2805, 1050, 2806, 1049, 1415, 2807, 2804, 1622, 2816, 2816,
2545 2816, 2712, 1622, 2726, 2726, 2726, 1622, 2817, 2817, 2817,
2546 2818, 2818, 2818, 2729, 2729, 2729, 2792, 2819, 2819, 2819,
2547 1181, 1181, 1181, 1048, 1047, 2801, 2736, 2736, 2736, 2739,
2549 2739, 2739, 1044, 2740, 1043, 1041, 2741, 1038, 1183, 2742,
2550 2742, 2742, 1037, 2743, 2737, 1035, 2744, 2826, 2826, 2826,
2551 2838, 2838, 2838, 2757, 2757, 2757, 1034, 2758, 1033, 1032,
2552 2759, 2840, 2840, 2840, 2827, 1031, 1027, 2839, 2780, 2780,
2553 2780, 2824, 2859, 2859, 2859, 1025, 2860, 1024, 2841, 2861,
2554 2786, 2786, 2786, 1023, 2787, 2781, 1021, 2788, 2789, 2789,
2555 2789, 1020, 2790, 1019, 1016, 2791, 2866, 2866, 2866, 1413,
2556 1413, 1413, 2803, 2803, 2803, 2876, 2876, 2876, 1015, 2877,
2557 1014, 1013, 2878, 1011, 2867, 1010, 1009, 1415, 1007, 2804,
2558 1622, 1004, 1000, 1622, 2805, 2805, 2805, 999, 2806, 997,
2560 996, 2807, 2816, 2816, 2816, 2817, 2817, 2817, 2818, 2818,
2561 2818, 995, 1622, 2819, 2819, 2819, 2891, 2891, 2891, 2894,
2562 2894, 2894, 992, 2895, 991, 990, 2896, 988, 2826, 2826,
2563 2826, 2897, 2897, 2897, 2892, 2874, 1620, 1620, 1620, 1620,
2564 1620, 1620, 1620, 1620, 1620, 2827, 987, 1620, 2898, 2838,
2565 2838, 2838, 1620, 1620, 1620, 1622, 1620, 2906, 2906, 2906,
2566 981, 2907, 980, 979, 2908, 977, 2839, 2909, 2909, 2909,
2567 976, 2910, 975, 970, 2911, 2840, 2840, 2840, 2866, 2866,
2568 2866, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620,
2569 1620, 1620, 2841, 969, 1620, 965, 2867, 963, 962, 1620,
2571 1620, 1620, 1622, 1620, 2859, 2859, 2859, 961, 2860, 960,
2572 959, 2861, 2939, 2939, 2939, 2876, 2876, 2876, 958, 2877,
2573 957, 956, 2878, 955, 954, 2891, 2891, 2891, 1620, 1620,
2574 2940, 951, 948, 1622, 1620, 1620, 1620, 1620, 1620, 2947,
2575 1620, 1620, 1620, 2892, 947, 1620, 2897, 2897, 2897, 945,
2576 1620, 1620, 1620, 1622, 1620, 2894, 2894, 2894, 944, 2895,
2577 943, 942, 2896, 2898, 2967, 2967, 2967, 941, 2968, 936,
2578 934, 2969, 2939, 2939, 2939, 2996, 2996, 2996, 933, 1620,
2579 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 2947,
2580 2940, 932, 1620, 1622, 1623, 930, 929, 1620, 1620, 1620,
2582 1622, 1620, 2906, 2906, 2906, 928, 2907, 927, 925, 2908,
2583 2909, 2909, 2909, 922, 2910, 921, 919, 2911, 3007, 3007,
2584 3007, 2967, 2967, 2967, 918, 2968, 1620, 1620, 2969, 3019,
2585 3019, 3019, 3027, 3027, 3027, 3008, 3035, 3035, 3035, 2996,
2586 2996, 2996, 3007, 3007, 3007, 917, 3020, 915, 914, 3028,
2587 913, 3045, 3045, 3045, 1094, 3046, 912, 1622, 3047, 3008,
2588 3019, 3019, 3019, 3058, 3058, 3058, 909, 3059, 908, 907,
2589 3060, 3027, 3027, 3027, 3067, 3067, 3067, 3020, 3068, 904,
2590 903, 3069, 3035, 3035, 3035, 3045, 3045, 3045, 3028, 3046,
2591 1807, 902, 3047, 897, 3058, 3058, 3058, 895, 3059, 894,
2593 1094, 3060, 3067, 3067, 3067, 888, 3068, 887, 886, 3069,
2594 3211, 3211, 3211, 3211, 3211, 3211, 885, 3222, 879, 3076,
2595 3223, 3331, 3331, 3331, 3331, 3331, 3331, 878, 1094, 877,
2596 875, 1094, 872, 871, 870, 869, 864, 861, 863, 3332,
2597 858, 857, 3332, 240, 240, 240, 240, 240, 240, 240,
2598 240, 240, 241, 241, 241, 241, 241, 241, 241, 241,
2599 241, 246, 246, 246, 246, 246, 246, 246, 246, 246,
2600 249, 249, 249, 249, 249, 249, 249, 249, 249, 252,
2601 252, 252, 252, 252, 252, 252, 252, 252, 255, 255,
2602 255, 255, 255, 255, 255, 255, 255, 262, 262, 262,
2604 262, 262, 262, 262, 262, 262, 269, 269, 269, 269,
2605 269, 269, 269, 269, 269, 274, 274, 274, 274, 274,
2606 274, 274, 274, 274, 286, 286, 286, 286, 286, 286,
2607 286, 286, 286, 292, 292, 292, 292, 292, 292, 292,
2608 292, 292, 300, 300, 300, 300, 300, 300, 300, 300,
2609 300, 304, 304, 304, 304, 304, 304, 304, 304, 304,
2610 310, 310, 310, 310, 310, 310, 310, 310, 310, 316,
2611 316, 316, 316, 316, 316, 316, 316, 316, 322, 322,
2612 322, 322, 322, 322, 322, 322, 322, 328, 328, 328,
2613 328, 328, 328, 328, 328, 328, 335, 335, 335, 335,
2615 335, 335, 335, 335, 335, 340, 340, 340, 340, 340,
2616 340, 340, 340, 340, 347, 347, 347, 347, 347, 347,
2617 347, 347, 347, 356, 356, 356, 356, 356, 356, 356,
2618 356, 356, 373, 373, 373, 373, 373, 373, 373, 373,
2619 373, 380, 380, 380, 380, 380, 380, 380, 380, 380,
2620 384, 384, 384, 384, 384, 384, 384, 384, 384, 391,
2621 391, 391, 391, 391, 391, 391, 391, 391, 399, 399,
2622 399, 399, 399, 399, 399, 399, 399, 407, 407, 407,
2623 407, 407, 407, 407, 407, 407, 413, 413, 413, 413,
2624 413, 413, 413, 413, 413, 419, 419, 419, 419, 419,
2626 419, 419, 419, 419, 423, 423, 423, 423, 423, 423,
2627 423, 423, 423, 431, 431, 431, 431, 431, 431, 431,
2628 431, 431, 438, 438, 438, 438, 438, 438, 438, 438,
2629 438, 445, 445, 445, 445, 445, 445, 445, 445, 445,
2630 450, 450, 450, 450, 450, 450, 450, 450, 450, 456,
2631 456, 456, 456, 456, 456, 456, 456, 456, 461, 461,
2632 461, 461, 461, 461, 461, 461, 461, 467, 467, 467,
2633 467, 467, 467, 467, 467, 467, 472, 472, 472, 472,
2634 472, 472, 472, 472, 472, 478, 478, 478, 478, 478,
2635 478, 478, 478, 478, 487, 487, 487, 487, 487, 487,
2637 487, 487, 487, 494, 494, 494, 494, 494, 494, 494,
2638 494, 494, 498, 498, 498, 498, 498, 498, 498, 498,
2639 498, 509, 509, 509, 509, 509, 509, 509, 509, 509,
2640 517, 517, 517, 517, 517, 517, 517, 517, 517, 525,
2641 525, 525, 525, 525, 525, 525, 525, 525, 530, 530,
2642 530, 530, 530, 530, 530, 530, 530, 536, 536, 536,
2643 536, 536, 536, 536, 536, 536, 544, 544, 544, 544,
2644 544, 544, 544, 544, 544, 550, 550, 550, 550, 550,
2645 550, 550, 550, 550, 555, 555, 555, 555, 555, 555,
2646 555, 555, 555, 562, 562, 562, 562, 562, 562, 562,
2648 562, 562, 567, 567, 567, 567, 567, 567, 567, 567,
2649 567, 573, 573, 573, 573, 573, 573, 573, 573, 573,
2650 580, 580, 580, 580, 580, 580, 580, 580, 580, 587,
2651 587, 587, 587, 587, 587, 587, 587, 587, 594, 594,
2652 594, 594, 594, 594, 594, 594, 594, 602, 602, 602,
2653 602, 602, 602, 602, 602, 602, 255, 255, 255, 255,
2654 255, 255, 255, 255, 255, 613, 613, 613, 613, 613,
2655 613, 613, 613, 613, 619, 619, 619, 619, 619, 619,
2656 619, 619, 619, 638, 638, 638, 856, 854, 853, 638,
2657 672, 672, 672, 850, 849, 848, 672, 680, 680, 680,
2659 846, 845, 843, 680, 684, 684, 684, 842, 841, 840,
2660 684, 690, 690, 690, 838, 837, 836, 690, 696, 696,
2661 696, 835, 834, 833, 696, 701, 701, 701, 831, 829,
2662 828, 701, 711, 711, 711, 826, 825, 822, 711, 728,
2663 728, 728, 820, 816, 812, 728, 732, 732, 732, 811,
2664 809, 807, 732, 742, 742, 742, 806, 804, 803, 742,
2665 748, 748, 748, 801, 800, 799, 748, 753, 753, 753,
2666 798, 797, 795, 753, 761, 761, 761, 794, 788, 786,
2667 761, 766, 766, 766, 781, 780, 779, 766, 771, 771,
2668 771, 778, 777, 775, 771, 776, 776, 776, 773, 772,
2670 770, 776, 787, 787, 787, 768, 767, 765, 787, 796,
2671 796, 796, 763, 762, 760, 796, 805, 805, 805, 759,
2672 756, 755, 805, 810, 810, 810, 754, 752, 3333, 810,
2673 821, 821, 821, 749, 747, 745, 821, 827, 827, 827,
2674 744, 743, 741, 827, 832, 832, 832, 740, 736, 735,
2675 832, 839, 839, 839, 734, 733, 731, 839, 847, 847,
2676 847, 730, 729, 727, 847, 855, 855, 855, 726, 725,
2677 719, 855, 860, 860, 860, 860, 860, 860, 860, 715,
2678 860, 638, 638, 638, 714, 710, 706, 638, 876, 705,
2679 704, 703, 876, 672, 672, 672, 702, 700, 699, 672,
2681 916, 698, 697, 695, 916, 680, 680, 680, 694, 693,
2682 692, 680, 920, 691, 689, 687, 920, 684, 684, 684,
2683 686, 685, 683, 684, 926, 681, 679, 660, 926, 690,
2684 690, 690, 3333, 674, 673, 690, 931, 671, 3333, 654,
2685 931, 696, 696, 696, 640, 639, 637, 696, 935, 636,
2686 630, 629, 935, 701, 701, 701, 630, 629, 628, 701,
2687 946, 627, 3333, 3333, 946, 711, 711, 711, 3333, 3333,
2688 3333, 711, 964, 3333, 3333, 3333, 964, 728, 728, 728,
2689 3333, 3333, 3333, 728, 968, 3333, 3333, 3333, 968, 732,
2690 732, 732, 3333, 3333, 3333, 732, 978, 3333, 3333, 3333,
2692 978, 742, 742, 742, 3333, 3333, 3333, 742, 986, 3333,
2693 3333, 3333, 986, 748, 748, 748, 3333, 3333, 3333, 748,
2694 989, 3333, 3333, 3333, 989, 753, 753, 753, 3333, 3333,
2695 3333, 753, 998, 3333, 3333, 3333, 998, 761, 761, 761,
2696 3333, 3333, 3333, 761, 1003, 3333, 3333, 3333, 1003, 766,
2697 766, 766, 3333, 3333, 3333, 766, 1008, 3333, 3333, 3333,
2698 1008, 771, 771, 771, 3333, 3333, 3333, 771, 1012, 3333,
2699 3333, 3333, 1012, 776, 776, 776, 3333, 3333, 3333, 776,
2700 1022, 3333, 3333, 3333, 1022, 787, 787, 787, 3333, 3333,
2701 3333, 787, 1026, 3333, 3333, 3333, 1026, 796, 796, 796,
2703 3333, 3333, 3333, 796, 1036, 3333, 3333, 3333, 1036, 805,
2704 805, 805, 3333, 3333, 3333, 805, 1042, 3333, 3333, 3333,
2705 1042, 810, 810, 810, 3333, 3333, 3333, 810, 1053, 3333,
2706 3333, 3333, 1053, 821, 821, 821, 3333, 3333, 3333, 821,
2707 1058, 3333, 3333, 3333, 1058, 827, 827, 827, 3333, 3333,
2708 3333, 827, 1063, 3333, 3333, 3333, 1063, 832, 832, 832,
2709 3333, 3333, 3333, 832, 1070, 3333, 3333, 3333, 1070, 839,
2710 839, 839, 3333, 3333, 3333, 839, 1077, 3333, 3333, 3333,
2711 1077, 847, 847, 847, 3333, 3333, 3333, 847, 1085, 3333,
2712 3333, 3333, 1085, 855, 855, 855, 3333, 3333, 3333, 855,
2714 1091, 3333, 3333, 3333, 1091, 1093, 1093, 1093, 1093, 1093,
2715 1093, 1093, 1093, 1093, 1099, 3333, 3333, 3333, 3333, 1099,
2716 638, 638, 638, 3333, 3333, 3333, 638, 1110, 1110, 1110,
2717 1110, 3333, 3333, 1110, 1110, 672, 672, 672, 672, 3333,
2718 672, 3333, 672, 1157, 1157, 1157, 1157, 3333, 3333, 1157,
2719 1157, 680, 680, 680, 3333, 3333, 3333, 680, 1163, 1163,
2720 1163, 1163, 3333, 3333, 1163, 1163, 684, 684, 684, 3333,
2721 3333, 3333, 684, 1172, 1172, 1172, 1172, 3333, 3333, 1172,
2722 1172, 690, 690, 690, 690, 3333, 690, 3333, 690, 1182,
2723 1182, 1182, 1182, 3333, 3333, 1182, 1182, 696, 696, 696,
2725 696, 3333, 696, 3333, 696, 1190, 1190, 1190, 1190, 3333,
2726 3333, 1190, 1190, 701, 701, 701, 701, 3333, 701, 3333,
2727 701, 1206, 1206, 1206, 1206, 3333, 3333, 1206, 1206, 711,
2728 711, 711, 3333, 3333, 3333, 711, 1231, 1231, 1231, 1231,
2729 3333, 3333, 1231, 1231, 1238, 1238, 1238, 1238, 3333, 3333,
2730 1238, 1238, 732, 732, 732, 3333, 3333, 3333, 732, 1251,
2731 1251, 1251, 1251, 3333, 3333, 1251, 1251, 742, 742, 742,
2732 3333, 3333, 3333, 742, 1263, 1263, 1263, 1263, 3333, 3333,
2733 1263, 1263, 748, 748, 748, 3333, 3333, 3333, 748, 1268,
2734 1268, 1268, 1268, 3333, 3333, 1268, 1268, 753, 753, 753,
2736 3333, 3333, 3333, 753, 1279, 1279, 1279, 1279, 3333, 3333,
2737 1279, 1279, 761, 761, 761, 3333, 3333, 3333, 761, 1287,
2738 1287, 1287, 1287, 3333, 3333, 1287, 1287, 766, 766, 766,
2739 3333, 3333, 3333, 766, 1295, 1295, 1295, 1295, 3333, 3333,
2740 1295, 1295, 771, 771, 771, 3333, 3333, 3333, 771, 1301,
2741 1301, 1301, 1301, 3333, 3333, 1301, 1301, 776, 776, 776,
2742 3333, 3333, 3333, 776, 1316, 1316, 1316, 1316, 3333, 3333,
2743 1316, 1316, 787, 787, 787, 3333, 3333, 3333, 787, 1322,
2744 1322, 1322, 1322, 3333, 3333, 1322, 1322, 796, 796, 796,
2745 3333, 3333, 3333, 796, 1334, 1334, 1334, 1334, 3333, 3333,
2747 1334, 1334, 805, 805, 805, 3333, 3333, 3333, 805, 1343,
2748 1343, 1343, 1343, 3333, 3333, 1343, 1343, 810, 810, 810,
2749 3333, 3333, 3333, 810, 1359, 1359, 1359, 1359, 3333, 3333,
2750 1359, 1359, 821, 821, 821, 821, 3333, 821, 3333, 821,
2751 1368, 1368, 1368, 1368, 3333, 3333, 1368, 1368, 827, 827,
2752 827, 3333, 3333, 3333, 827, 1376, 1376, 1376, 1376, 3333,
2753 3333, 1376, 1376, 832, 832, 832, 3333, 3333, 3333, 832,
2754 1386, 1386, 1386, 1386, 3333, 3333, 1386, 1386, 839, 839,
2755 839, 3333, 3333, 3333, 839, 1396, 1396, 1396, 1396, 3333,
2756 3333, 1396, 1396, 847, 847, 847, 3333, 3333, 3333, 847,
2758 1407, 1407, 1407, 1407, 3333, 3333, 1407, 1407, 855, 855,
2759 855, 3333, 3333, 3333, 855, 1414, 1414, 1414, 1414, 3333,
2760 3333, 1414, 1414, 1093, 1093, 1093, 1093, 1093, 1093, 1093,
2761 1093, 1093, 1099, 3333, 1099, 3333, 3333, 1099, 638, 638,
2762 638, 3333, 3333, 3333, 638, 1110, 1110, 1110, 1110, 3333,
2763 3333, 1110, 1110, 672, 672, 672, 3333, 3333, 3333, 672,
2764 1157, 1157, 1157, 1157, 3333, 3333, 1157, 1157, 680, 680,
2765 680, 3333, 3333, 3333, 680, 1163, 1163, 1163, 1163, 3333,
2766 3333, 1163, 1163, 684, 684, 684, 3333, 3333, 3333, 684,
2767 1172, 1172, 1172, 1172, 3333, 3333, 1172, 1172, 690, 690,
2769 690, 3333, 3333, 3333, 690, 1182, 1182, 1182, 1182, 3333,
2770 3333, 1182, 1182, 1190, 1190, 1190, 1190, 3333, 3333, 1190,
2771 1190, 701, 701, 701, 3333, 3333, 3333, 701, 1206, 1206,
2772 1206, 1206, 3333, 3333, 1206, 1206, 711, 711, 711, 3333,
2773 3333, 3333, 711, 1231, 1231, 1231, 1231, 3333, 3333, 1231,
2774 1231, 1238, 1238, 1238, 1238, 3333, 3333, 1238, 1238, 732,
2775 732, 732, 3333, 3333, 3333, 732, 1251, 1251, 1251, 1251,
2776 3333, 3333, 1251, 1251, 742, 742, 742, 742, 3333, 742,
2777 3333, 742, 1263, 1263, 1263, 1263, 3333, 3333, 1263, 1263,
2778 748, 748, 748, 748, 3333, 748, 3333, 748, 1268, 1268,
2780 1268, 1268, 3333, 3333, 1268, 1268, 753, 753, 753, 3333,
2781 3333, 3333, 753, 1279, 1279, 1279, 1279, 3333, 3333, 1279,
2782 1279, 761, 761, 761, 3333, 3333, 3333, 761, 1287, 1287,
2783 1287, 1287, 3333, 3333, 1287, 1287, 766, 766, 766, 3333,
2784 3333, 3333, 766, 1295, 1295, 1295, 1295, 3333, 3333, 1295,
2785 1295, 771, 771, 771, 771, 3333, 771, 3333, 771, 1301,
2786 1301, 1301, 1301, 3333, 3333, 1301, 1301, 776, 776, 776,
2787 3333, 3333, 3333, 776, 1316, 1316, 1316, 1316, 3333, 3333,
2788 1316, 1316, 787, 787, 787, 3333, 3333, 3333, 787, 1322,
2789 1322, 1322, 1322, 3333, 3333, 1322, 1322, 796, 796, 796,
2791 3333, 3333, 3333, 796, 1334, 1334, 1334, 1334, 3333, 3333,
2792 1334, 1334, 805, 805, 805, 3333, 3333, 3333, 805, 1343,
2793 1343, 1343, 1343, 3333, 3333, 1343, 1343, 810, 810, 810,
2794 3333, 3333, 3333, 810, 1359, 1359, 1359, 1359, 3333, 3333,
2795 1359, 1359, 821, 821, 821, 3333, 3333, 3333, 821, 1368,
2796 1368, 1368, 1368, 3333, 3333, 1368, 1368, 827, 827, 827,
2797 3333, 3333, 3333, 827, 1376, 1376, 1376, 1376, 3333, 3333,
2798 1376, 1376, 832, 832, 832, 3333, 3333, 3333, 832, 1386,
2799 1386, 1386, 1386, 3333, 3333, 1386, 1386, 839, 839, 839,
2800 3333, 3333, 3333, 839, 1396, 1396, 1396, 1396, 3333, 3333,
2802 1396, 1396, 847, 847, 847, 847, 3333, 847, 3333, 847,
2803 1407, 1407, 1407, 1407, 3333, 3333, 1407, 1407, 855, 855,
2804 855, 3333, 3333, 3333, 855, 1414, 1414, 1414, 1414, 3333,
2805 3333, 1414, 1414, 1093, 1093, 1093, 1093, 1093, 1093, 1093,
2806 1093, 1093, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620,
2807 1620, 638, 638, 638, 3333, 3333, 3333, 638, 672, 672,
2808 672, 3333, 3333, 3333, 672, 1157, 1157, 1157, 1157, 3333,
2809 3333, 1157, 1157, 680, 680, 680, 680, 3333, 680, 3333,
2810 680, 1163, 1163, 1163, 1163, 3333, 3333, 1163, 1163, 684,
2811 684, 684, 3333, 3333, 3333, 684, 1172, 1172, 1172, 1172,
2813 3333, 3333, 1172, 1172, 690, 690, 690, 3333, 3333, 3333,
2814 690, 1182, 1182, 1182, 1182, 3333, 3333, 1182, 1182, 1190,
2815 1190, 1190, 1190, 3333, 3333, 1190, 1190, 701, 701, 701,
2816 3333, 3333, 3333, 701, 1206, 1206, 1206, 1206, 3333, 3333,
2817 1206, 1206, 711, 711, 711, 711, 3333, 711, 3333, 711,
2818 1231, 1231, 1231, 1231, 3333, 3333, 1231, 1231, 1238, 1238,
2819 1238, 1238, 3333, 3333, 1238, 1238, 732, 732, 732, 3333,
2820 3333, 3333, 732, 1251, 1251, 1251, 1251, 3333, 3333, 1251,
2821 1251, 1263, 1263, 1263, 1263, 3333, 3333, 1263, 1263, 1268,
2822 1268, 1268, 1268, 3333, 3333, 1268, 1268, 753, 753, 753,
2824 3333, 3333, 3333, 753, 1279, 1279, 1279, 1279, 3333, 3333,
2825 1279, 1279, 761, 761, 761, 3333, 3333, 3333, 761, 1287,
2826 1287, 1287, 1287, 3333, 3333, 1287, 1287, 766, 766, 766,
2827 766, 3333, 766, 3333, 766, 1295, 1295, 1295, 1295, 3333,
2828 3333, 1295, 1295, 771, 771, 771, 3333, 3333, 3333, 771,
2829 1301, 1301, 1301, 1301, 3333, 3333, 1301, 1301, 776, 776,
2830 776, 3333, 3333, 3333, 776, 1316, 1316, 1316, 1316, 3333,
2831 3333, 1316, 1316, 787, 787, 787, 3333, 3333, 3333, 787,
2832 1322, 1322, 1322, 1322, 3333, 3333, 1322, 1322, 796, 796,
2833 796, 3333, 3333, 3333, 796, 1334, 1334, 1334, 1334, 3333,
2835 3333, 1334, 1334, 805, 805, 805, 805, 3333, 805, 3333,
2836 805, 1343, 1343, 1343, 1343, 3333, 3333, 1343, 1343, 810,
2837 810, 810, 3333, 3333, 3333, 810, 1359, 1359, 1359, 1359,
2838 3333, 3333, 1359, 1359, 821, 821, 821, 3333, 3333, 3333,
2839 821, 1368, 1368, 1368, 1368, 3333, 3333, 1368, 1368, 827,
2840 827, 827, 3333, 3333, 3333, 827, 1376, 1376, 1376, 1376,
2841 3333, 3333, 1376, 1376, 832, 832, 832, 3333, 3333, 3333,
2842 832, 1386, 1386, 1386, 1386, 3333, 3333, 1386, 1386, 839,
2843 839, 839, 3333, 3333, 3333, 839, 1396, 1396, 1396, 1396,
2844 3333, 3333, 1396, 1396, 847, 847, 847, 3333, 3333, 3333,
2846 847, 1407, 1407, 1407, 1407, 3333, 3333, 1407, 1407, 855,
2847 855, 855, 3333, 3333, 3333, 855, 1414, 1414, 1414, 1414,
2848 3333, 3333, 1414, 1414, 1093, 1093, 1093, 1093, 1093, 1093,
2849 1093, 1093, 1093, 1620, 1620, 1620, 1620, 1620, 1620, 1620,
2850 1620, 1620, 638, 638, 638, 3333, 3333, 3333, 638, 672,
2851 672, 672, 672, 3333, 672, 3333, 672, 1157, 1157, 1157,
2852 1157, 3333, 3333, 1157, 1157, 1163, 1163, 1163, 1163, 3333,
2853 3333, 1163, 1163, 684, 684, 684, 3333, 3333, 3333, 684,
2854 1172, 1172, 1172, 1172, 3333, 3333, 1172, 1172, 690, 690,
2855 690, 690, 3333, 690, 3333, 690, 1182, 1182, 1182, 1182,
2857 3333, 3333, 1182, 1182, 1190, 1190, 1190, 1190, 3333, 3333,
2858 1190, 1190, 701, 701, 701, 701, 3333, 701, 3333, 701,
2859 1206, 1206, 1206, 1206, 3333, 3333, 1206, 1206, 711, 711,
2860 711, 711, 3333, 711, 3333, 711, 1231, 1231, 1231, 1231,
2861 3333, 3333, 1231, 1231, 1238, 1238, 1238, 1238, 3333, 3333,
2862 1238, 1238, 732, 732, 732, 3333, 3333, 3333, 732, 1251,
2863 1251, 1251, 1251, 3333, 3333, 1251, 1251, 1263, 1263, 1263,
2864 1263, 3333, 3333, 1263, 1263, 1268, 1268, 1268, 1268, 3333,
2865 3333, 1268, 1268, 753, 753, 753, 3333, 3333, 3333, 753,
2866 1279, 1279, 1279, 1279, 3333, 3333, 1279, 1279, 761, 761,
2868 761, 3333, 3333, 3333, 761, 1287, 1287, 1287, 1287, 3333,
2869 3333, 1287, 1287, 1295, 1295, 1295, 1295, 3333, 3333, 1295,
2870 1295, 771, 771, 771, 3333, 3333, 3333, 771, 1301, 1301,
2871 1301, 1301, 3333, 3333, 1301, 1301, 776, 776, 776, 3333,
2872 3333, 3333, 776, 1316, 1316, 1316, 1316, 3333, 3333, 1316,
2873 1316, 787, 787, 787, 3333, 3333, 3333, 787, 1322, 1322,
2874 1322, 1322, 3333, 3333, 1322, 1322, 796, 796, 796, 3333,
2875 3333, 3333, 796, 1334, 1334, 1334, 1334, 3333, 3333, 1334,
2876 1334, 1343, 1343, 1343, 1343, 3333, 3333, 1343, 1343, 810,
2877 810, 810, 3333, 3333, 3333, 810, 1359, 1359, 1359, 1359,
2879 3333, 3333, 1359, 1359, 821, 821, 821, 3333, 3333, 3333,
2880 821, 1368, 1368, 1368, 1368, 3333, 3333, 1368, 1368, 827,
2881 827, 827, 3333, 3333, 3333, 827, 1376, 1376, 1376, 1376,
2882 3333, 3333, 1376, 1376, 832, 832, 832, 832, 3333, 832,
2883 3333, 832, 1386, 1386, 1386, 1386, 3333, 3333, 1386, 1386,
2884 839, 839, 839, 3333, 3333, 3333, 839, 1396, 1396, 1396,
2885 1396, 3333, 3333, 1396, 1396, 847, 847, 847, 3333, 3333,
2886 3333, 847, 1407, 1407, 1407, 1407, 3333, 3333, 1407, 1407,
2887 855, 855, 855, 3333, 3333, 3333, 855, 1414, 1414, 1414,
2888 1414, 3333, 3333, 1414, 1414, 1093, 1093, 1093, 1093, 1093,
2890 1093, 1093, 1093, 1093, 1620, 1620, 1620, 1620, 1620, 1620,
2891 1620, 1620, 1620, 638, 638, 638, 638, 3333, 638, 3333,
2892 638, 672, 672, 672, 3333, 3333, 3333, 672, 1157, 1157,
2893 1157, 1157, 3333, 3333, 1157, 1157, 1163, 1163, 1163, 1163,
2894 3333, 3333, 1163, 1163, 684, 684, 684, 3333, 3333, 3333,
2895 684, 1172, 1172, 1172, 1172, 3333, 3333, 1172, 1172, 1182,
2896 1182, 1182, 1182, 3333, 3333, 1182, 1182, 1190, 1190, 1190,
2897 1190, 3333, 3333, 1190, 1190, 701, 701, 701, 701, 3333,
2898 701, 3333, 701, 1206, 1206, 1206, 1206, 3333, 3333, 1206,
2899 1206, 711, 711, 711, 3333, 3333, 3333, 711, 1231, 1231,
2901 1231, 1231, 3333, 3333, 1231, 1231, 1238, 1238, 1238, 1238,
2902 3333, 3333, 1238, 1238, 732, 732, 732, 3333, 3333, 3333,
2903 732, 1263, 1263, 1263, 1263, 3333, 3333, 1263, 1263, 1268,
2904 1268, 1268, 1268, 3333, 3333, 1268, 1268, 753, 753, 753,
2905 3333, 3333, 3333, 753, 761, 761, 761, 3333, 3333, 3333,
2906 761, 1287, 1287, 1287, 1287, 3333, 3333, 1287, 1287, 1295,
2907 1295, 1295, 1295, 3333, 3333, 1295, 1295, 771, 771, 771,
2908 3333, 3333, 3333, 771, 1301, 1301, 1301, 1301, 3333, 3333,
2909 1301, 1301, 776, 776, 776, 3333, 3333, 3333, 776, 787,
2910 787, 787, 787, 3333, 787, 3333, 787, 1322, 1322, 1322,
2912 1322, 3333, 3333, 1322, 1322, 796, 796, 796, 3333, 3333,
2913 3333, 796, 1334, 1334, 1334, 1334, 3333, 3333, 1334, 1334,
2914 810, 810, 810, 3333, 3333, 3333, 810, 1359, 1359, 1359,
2915 1359, 3333, 3333, 1359, 1359, 821, 821, 821, 3333, 3333,
2916 3333, 821, 1368, 1368, 1368, 1368, 3333, 3333, 1368, 1368,
2917 827, 827, 827, 3333, 3333, 3333, 827, 1376, 1376, 1376,
2918 1376, 3333, 3333, 1376, 1376, 832, 832, 832, 832, 3333,
2919 832, 3333, 832, 1386, 1386, 1386, 1386, 3333, 3333, 1386,
2920 1386, 839, 839, 839, 839, 3333, 839, 3333, 839, 1396,
2921 1396, 1396, 1396, 3333, 3333, 1396, 1396, 847, 847, 847,
2923 3333, 3333, 3333, 847, 1407, 1407, 1407, 1407, 3333, 3333,
2924 1407, 1407, 855, 855, 855, 855, 3333, 855, 3333, 855,
2925 1414, 1414, 1414, 1414, 3333, 3333, 1414, 1414, 1093, 1093,
2926 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1620, 1620, 1620,
2927 1620, 1620, 1620, 1620, 1620, 1620, 672, 672, 672, 3333,
2928 3333, 3333, 672, 1157, 1157, 1157, 1157, 3333, 3333, 1157,
2929 1157, 1163, 1163, 1163, 1163, 3333, 3333, 1163, 1163, 684,
2930 684, 684, 3333, 3333, 3333, 684, 1172, 1172, 1172, 1172,
2931 3333, 3333, 1172, 1172, 1182, 1182, 1182, 1182, 3333, 3333,
2932 1182, 1182, 1190, 1190, 1190, 1190, 3333, 3333, 1190, 1190,
2934 1206, 1206, 1206, 1206, 3333, 3333, 1206, 1206, 711, 711,
2935 711, 3333, 3333, 3333, 711, 1231, 1231, 1231, 1231, 3333,
2936 3333, 1231, 1231, 1238, 1238, 1238, 1238, 3333, 3333, 1238,
2937 1238, 732, 732, 732, 3333, 3333, 3333, 732, 1263, 1263,
2938 1263, 1263, 3333, 3333, 1263, 1263, 1268, 1268, 1268, 1268,
2939 3333, 3333, 1268, 1268, 753, 753, 753, 3333, 3333, 3333,
2940 753, 761, 761, 761, 3333, 3333, 3333, 761, 1287, 1287,
2941 1287, 1287, 3333, 3333, 1287, 1287, 1295, 1295, 1295, 1295,
2942 3333, 3333, 1295, 1295, 771, 771, 771, 3333, 3333, 3333,
2943 771, 776, 776, 776, 3333, 3333, 3333, 776, 1322, 1322,
2945 1322, 1322, 3333, 3333, 1322, 1322, 796, 796, 796, 796,
2946 3333, 796, 3333, 796, 1334, 1334, 1334, 1334, 3333, 3333,
2947 1334, 1334, 810, 810, 810, 3333, 3333, 3333, 810, 1359,
2948 1359, 1359, 1359, 3333, 3333, 1359, 1359, 821, 821, 821,
2949 3333, 3333, 3333, 821, 827, 827, 827, 3333, 3333, 3333,
2950 827, 1376, 1376, 1376, 1376, 3333, 3333, 1376, 1376, 832,
2951 832, 832, 3333, 3333, 3333, 832, 1386, 1386, 1386, 1386,
2952 3333, 3333, 1386, 1386, 839, 839, 839, 3333, 3333, 3333,
2953 839, 1396, 1396, 1396, 1396, 3333, 3333, 1396, 1396, 847,
2954 847, 847, 3333, 3333, 3333, 847, 1414, 1414, 1414, 1414,
2956 3333, 3333, 1414, 1414, 1093, 1093, 1093, 1093, 1093, 1093,
2957 1093, 1093, 1093, 1620, 1620, 1620, 1620, 1620, 1620, 1620,
2958 1620, 1620, 672, 672, 672, 3333, 3333, 3333, 672, 1157,
2959 1157, 1157, 1157, 3333, 3333, 1157, 1157, 1163, 1163, 1163,
2960 1163, 3333, 3333, 1163, 1163, 684, 684, 684, 684, 3333,
2961 684, 3333, 684, 1172, 1172, 1172, 1172, 3333, 3333, 1172,
2962 1172, 1182, 1182, 1182, 1182, 3333, 3333, 1182, 1182, 1190,
2963 1190, 1190, 1190, 3333, 3333, 1190, 1190, 1206, 1206, 1206,
2964 1206, 3333, 3333, 1206, 1206, 711, 711, 711, 3333, 3333,
2965 3333, 711, 1231, 1231, 1231, 1231, 3333, 3333, 1231, 1231,
2967 732, 732, 732, 3333, 3333, 3333, 732, 1263, 1263, 1263,
2968 1263, 3333, 3333, 1263, 1263, 1268, 1268, 1268, 1268, 3333,
2969 3333, 1268, 1268, 753, 753, 753, 753, 3333, 753, 3333,
2970 753, 761, 761, 761, 761, 3333, 761, 3333, 761, 1287,
2971 1287, 1287, 1287, 3333, 3333, 1287, 1287, 1295, 1295, 1295,
2972 1295, 3333, 3333, 1295, 1295, 771, 771, 771, 771, 3333,
2973 771, 3333, 771, 776, 776, 776, 3333, 3333, 3333, 776,
2974 1322, 1322, 1322, 1322, 3333, 3333, 1322, 1322, 796, 796,
2975 796, 796, 3333, 796, 3333, 796, 1334, 1334, 1334, 1334,
2976 3333, 3333, 1334, 1334, 810, 810, 810, 810, 3333, 810,
2978 3333, 810, 821, 821, 821, 3333, 3333, 3333, 821, 827,
2979 827, 827, 3333, 3333, 3333, 827, 832, 832, 832, 3333,
2980 3333, 3333, 832, 1386, 1386, 1386, 1386, 3333, 3333, 1386,
2981 1386, 839, 839, 839, 3333, 3333, 3333, 839, 1396, 1396,
2982 1396, 1396, 3333, 3333, 1396, 1396, 847, 847, 847, 3333,
2983 3333, 3333, 847, 1414, 1414, 1414, 1414, 3333, 3333, 1414,
2984 1414, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093,
2985 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 672,
2986 672, 672, 3333, 3333, 3333, 672, 1163, 1163, 1163, 1163,
2987 3333, 3333, 1163, 1163, 1172, 1172, 1172, 1172, 3333, 3333,
2989 1172, 1172, 1182, 1182, 1182, 1182, 3333, 3333, 1182, 1182,
2990 1190, 1190, 1190, 1190, 3333, 3333, 1190, 1190, 711, 711,
2991 711, 3333, 3333, 3333, 711, 732, 732, 732, 3333, 3333,
2992 3333, 732, 1263, 1263, 1263, 1263, 3333, 3333, 1263, 1263,
2993 753, 753, 753, 3333, 3333, 3333, 753, 2879, 2879, 2879,
2994 2879, 2879, 2879, 2879, 2879, 2879, 2880, 2880, 2880, 2880,
2995 2880, 2880, 2880, 2880, 2880, 2942, 2942, 2942, 2942, 2942,
2996 2942, 2942, 2942, 2942, 2945, 2945, 2945, 2945, 2945, 2945,
2997 2945, 2945, 2945, 2993, 2993, 2993, 2993, 2993, 2993, 2993,
2998 2993, 2993, 2995, 2995, 2995, 2995, 2995, 2995, 2995, 2995,
3000 2995, 239, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
3001 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
3002 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
3003 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
3004 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
3005 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
3006 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
3007 3333, 3333, 3333, 3333, 3333, 3333
3010 static yyconst flex_int16_t yy_chk[11977] =
3012 0, 3, 3, 3, 4, 4, 4, 5, 5, 5,
3013 6, 6, 6, 7, 7, 7, 11, 3, 9, 12,
3014 4, 10, 331, 5, 0, 9, 6, 0, 10, 7,
3015 8, 8, 8, 244, 11, 13, 13, 12, 14, 14,
3016 13, 13, 282, 14, 14, 245, 8, 17, 17, 244,
3017 13, 15, 15, 14, 15, 248, 15, 16, 16, 1015,
3018 16, 245, 16, 18, 18, 1015, 15, 21, 21, 21,
3019 331, 248, 16, 22, 22, 22, 23, 23, 23, 24,
3020 24, 24, 355, 21, 25, 25, 25, 355, 1465, 22,
3021 343, 17, 23, 1469, 282, 24, 242, 242, 242, 1474,
3023 25, 243, 243, 243, 247, 247, 247, 18, 19, 19,
3024 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
3025 19, 19, 19, 401, 19, 19, 19, 19, 19, 26,
3026 26, 26, 27, 27, 27, 28, 28, 28, 343, 29,
3027 29, 29, 30, 30, 30, 26, 270, 287, 27, 291,
3028 365, 28, 301, 19, 19, 29, 291, 437, 30, 267,
3029 267, 267, 270, 287, 19, 275, 275, 275, 301, 437,
3030 258, 365, 401, 19, 20, 20, 20, 20, 20, 20,
3031 20, 20, 20, 20, 20, 20, 20, 20, 20, 543,
3032 20, 20, 20, 20, 20, 31, 31, 31, 32, 32,
3034 32, 33, 33, 33, 543, 34, 34, 34, 35, 35,
3035 35, 31, 258, 632, 32, 558, 632, 33, 258, 20,
3036 20, 34, 306, 258, 35, 36, 36, 36, 258, 306,
3037 20, 37, 37, 37, 38, 38, 38, 734, 306, 20,
3038 734, 36, 39, 39, 39, 1475, 311, 37, 1480, 323,
3039 38, 40, 40, 40, 284, 284, 284, 376, 39, 293,
3040 293, 293, 311, 558, 294, 323, 1481, 40, 41, 41,
3041 41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
3042 41, 41, 41, 596, 41, 41, 41, 41, 41, 43,
3043 43, 43, 44, 44, 44, 45, 45, 45, 387, 46,
3045 46, 46, 47, 47, 47, 43, 370, 651, 44, 376,
3046 1496, 45, 294, 41, 41, 46, 294, 336, 47, 41,
3047 370, 651, 41, 298, 298, 298, 305, 305, 305, 308,
3048 308, 308, 596, 336, 41, 42, 42, 42, 42, 42,
3049 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
3050 387, 42, 42, 42, 42, 42, 48, 48, 48, 49,
3051 49, 49, 50, 50, 50, 368, 53, 53, 53, 54,
3052 54, 54, 48, 368, 1497, 49, 644, 318, 50, 368,
3053 42, 42, 53, 398, 318, 54, 42, 398, 403, 42,
3054 317, 317, 317, 318, 320, 320, 320, 329, 329, 329,
3056 644, 42, 51, 51, 51, 51, 51, 51, 51, 51,
3057 51, 51, 51, 51, 51, 51, 51, 623, 51, 51,
3058 51, 51, 51, 57, 57, 57, 58, 58, 58, 61,
3059 61, 61, 623, 62, 62, 62, 63, 63, 63, 57,
3060 403, 1499, 58, 1521, 656, 61, 666, 51, 51, 62,
3061 348, 363, 63, 64, 64, 64, 333, 333, 333, 341,
3062 341, 341, 345, 345, 345, 519, 348, 363, 656, 64,
3063 666, 51, 52, 52, 52, 52, 52, 52, 52, 52,
3064 52, 52, 52, 52, 52, 52, 52, 669, 52, 52,
3065 52, 52, 52, 65, 65, 65, 66, 66, 66, 67,
3067 67, 67, 519, 68, 68, 68, 71, 71, 71, 65,
3068 486, 669, 66, 358, 486, 67, 1522, 52, 52, 68,
3069 358, 851, 71, 72, 72, 72, 357, 357, 357, 358,
3070 360, 360, 360, 374, 374, 374, 378, 378, 378, 72,
3071 1525, 52, 55, 55, 55, 55, 55, 55, 55, 55,
3072 55, 55, 55, 55, 55, 55, 55, 851, 55, 55,
3073 55, 55, 55, 73, 73, 73, 74, 74, 74, 75,
3074 75, 75, 1527, 76, 76, 76, 77, 77, 77, 73,
3075 381, 392, 74, 554, 408, 75, 371, 55, 55, 76,
3076 554, 55, 77, 1529, 371, 1536, 381, 392, 55, 371,
3078 408, 55, 56, 56, 56, 56, 56, 56, 56, 56,
3079 56, 56, 56, 56, 56, 56, 56, 1537, 56, 56,
3080 56, 56, 56, 78, 78, 78, 81, 81, 81, 82,
3081 82, 82, 662, 85, 85, 85, 86, 86, 86, 78,
3082 420, 432, 81, 415, 446, 82, 662, 56, 56, 85,
3083 415, 56, 86, 385, 385, 385, 420, 432, 56, 415,
3084 446, 56, 59, 59, 59, 59, 59, 59, 59, 59,
3085 59, 59, 59, 59, 59, 59, 59, 1538, 59, 59,
3086 59, 59, 59, 87, 87, 87, 88, 88, 88, 89,
3087 89, 89, 427, 90, 90, 90, 91, 91, 91, 87,
3089 668, 1539, 88, 1541, 1547, 89, 1549, 59, 59, 90,
3090 457, 468, 91, 59, 668, 441, 59, 389, 389, 389,
3091 400, 400, 400, 405, 405, 405, 457, 468, 59, 60,
3092 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
3093 60, 60, 60, 60, 427, 60, 60, 60, 60, 60,
3094 92, 92, 92, 95, 95, 95, 96, 96, 96, 501,
3095 97, 97, 97, 98, 98, 98, 92, 441, 1128, 95,
3096 1551, 1552, 96, 1557, 60, 60, 97, 479, 490, 98,
3097 60, 1128, 503, 60, 414, 414, 414, 417, 417, 417,
3098 424, 424, 424, 479, 490, 60, 69, 69, 69, 69,
3100 69, 69, 69, 69, 69, 69, 69, 69, 69, 69,
3101 69, 501, 69, 69, 69, 69, 69, 99, 99, 99,
3102 100, 100, 100, 101, 101, 101, 505, 102, 102, 102,
3103 105, 105, 105, 99, 503, 1559, 100, 490, 1560, 101,
3104 1562, 69, 69, 102, 495, 510, 105, 69, 429, 429,
3105 429, 439, 439, 439, 443, 443, 443, 451, 451, 451,
3106 495, 510, 69, 70, 70, 70, 70, 70, 70, 70,
3107 70, 70, 70, 70, 70, 70, 70, 70, 505, 70,
3108 70, 70, 70, 70, 106, 106, 106, 107, 107, 107,
3109 108, 108, 108, 521, 109, 109, 109, 110, 110, 110,
3111 106, 1096, 526, 107, 452, 1096, 108, 1417, 70, 70,
3112 109, 452, 463, 110, 70, 454, 454, 454, 526, 463,
3113 452, 462, 462, 462, 465, 465, 465, 1417, 463, 70,
3114 79, 79, 79, 79, 79, 79, 79, 79, 79, 79,
3115 79, 79, 79, 79, 79, 521, 79, 79, 79, 79,
3116 79, 111, 111, 111, 112, 112, 112, 115, 115, 115,
3117 583, 116, 116, 116, 119, 119, 119, 111, 537, 551,
3118 112, 474, 563, 115, 1563, 79, 79, 116, 474, 79,
3119 119, 473, 473, 473, 537, 551, 79, 474, 563, 79,
3120 476, 476, 476, 79, 1564, 79, 79, 80, 80, 80,
3122 80, 80, 80, 80, 80, 80, 80, 80, 80, 80,
3123 80, 80, 583, 80, 80, 80, 80, 80, 120, 120,
3124 120, 121, 121, 121, 122, 122, 122, 670, 123, 123,
3125 123, 124, 124, 124, 120, 574, 588, 121, 489, 603,
3126 122, 670, 80, 80, 123, 489, 80, 124, 488, 488,
3127 488, 574, 588, 80, 489, 603, 80, 492, 492, 492,
3128 80, 1565, 80, 80, 83, 83, 83, 83, 83, 83,
3129 83, 83, 83, 83, 83, 83, 83, 83, 83, 83,
3130 83, 83, 83, 83, 83, 83, 83, 83, 83, 83,
3131 83, 83, 83, 83, 83, 83, 83, 83, 83, 83,
3133 83, 83, 83, 83, 83, 83, 83, 83, 83, 83,
3134 83, 83, 83, 83, 83, 83, 83, 83, 83, 83,
3135 83, 83, 83, 83, 83, 83, 83, 83, 83, 83,
3136 83, 83, 83, 83, 83, 83, 83, 83, 93, 93,
3137 93, 93, 93, 93, 93, 93, 93, 93, 93, 93,
3138 93, 93, 93, 1568, 93, 93, 93, 93, 93, 125,
3139 125, 125, 126, 126, 126, 129, 129, 129, 1569, 130,
3140 130, 130, 131, 131, 131, 125, 614, 1570, 126, 1572,
3141 650, 129, 598, 93, 93, 130, 1575, 650, 131, 499,
3142 499, 499, 614, 650, 93, 94, 94, 94, 94, 94,
3144 94, 94, 94, 94, 94, 94, 94, 94, 94, 94,
3145 1584, 94, 94, 94, 94, 94, 132, 132, 132, 133,
3146 133, 133, 134, 134, 134, 1587, 135, 135, 135, 136,
3147 136, 136, 132, 502, 598, 133, 1595, 654, 134, 541,
3148 94, 94, 135, 541, 654, 136, 502, 541, 502, 280,
3149 654, 94, 103, 103, 103, 103, 103, 103, 103, 103,
3150 103, 103, 103, 103, 103, 103, 103, 1597, 103, 103,
3151 103, 103, 103, 139, 139, 139, 140, 140, 140, 143,
3152 143, 143, 645, 144, 144, 144, 1599, 280, 1600, 139,
3153 792, 862, 140, 645, 1229, 143, 645, 103, 103, 144,
3155 103, 280, 103, 280, 792, 280, 1229, 862, 103, 507,
3156 507, 507, 518, 518, 518, 103, 500, 888, 103, 104,
3157 104, 104, 104, 104, 104, 104, 104, 104, 104, 104,
3158 104, 104, 104, 104, 888, 104, 104, 104, 104, 104,
3159 147, 147, 147, 148, 148, 148, 151, 151, 151, 657,
3160 152, 152, 152, 1601, 1603, 500, 147, 980, 1608, 148,
3161 657, 1611, 151, 657, 104, 104, 152, 104, 500, 104,
3162 500, 523, 523, 523, 980, 104, 531, 531, 531, 534,
3163 534, 534, 104, 1612, 1079, 104, 113, 113, 113, 113,
3164 113, 113, 113, 113, 113, 113, 113, 113, 113, 113,
3166 113, 1079, 113, 113, 113, 113, 113, 153, 153, 153,
3167 154, 154, 154, 157, 157, 157, 1614, 158, 158, 158,
3168 159, 159, 159, 153, 1620, 1623, 154, 532, 546, 157,
3169 1626, 113, 113, 158, 532, 546, 159, 113, 545, 545,
3170 545, 1627, 113, 532, 546, 548, 548, 548, 556, 556,
3171 556, 560, 560, 560, 113, 114, 114, 114, 114, 114,
3172 114, 114, 114, 114, 114, 114, 114, 114, 114, 114,
3173 1628, 114, 114, 114, 114, 114, 160, 160, 160, 161,
3174 161, 161, 162, 162, 162, 1629, 163, 163, 163, 164,
3175 164, 164, 160, 1630, 1631, 161, 569, 661, 162, 1632,
3177 114, 114, 163, 569, 661, 164, 114, 568, 568, 568,
3178 661, 114, 569, 571, 571, 571, 581, 581, 581, 585,
3179 585, 585, 1633, 114, 117, 117, 117, 117, 117, 117,
3180 117, 117, 117, 117, 117, 117, 117, 117, 117, 1635,
3181 117, 117, 117, 117, 117, 165, 165, 165, 166, 166,
3182 166, 167, 167, 167, 790, 168, 168, 168, 169, 169,
3183 169, 165, 793, 1636, 166, 790, 1638, 167, 790, 117,
3184 117, 168, 1639, 793, 169, 1642, 793, 117, 118, 118,
3185 118, 118, 118, 118, 118, 118, 118, 118, 118, 118,
3186 118, 118, 118, 1643, 118, 118, 118, 118, 118, 170,
3188 170, 170, 171, 171, 171, 172, 172, 172, 1645, 173,
3189 173, 173, 174, 174, 174, 170, 1133, 1326, 171, 1647,
3190 1650, 172, 1619, 118, 118, 173, 1651, 1652, 174, 1133,
3191 1326, 118, 127, 127, 127, 127, 127, 127, 127, 127,
3192 127, 127, 127, 127, 127, 127, 127, 1619, 127, 127,
3193 127, 127, 127, 175, 175, 175, 176, 176, 176, 179,
3194 179, 179, 1653, 180, 180, 180, 181, 181, 181, 175,
3195 1654, 1656, 176, 608, 1657, 179, 1661, 127, 127, 180,
3196 608, 127, 181, 595, 595, 595, 1669, 1673, 127, 608,
3197 1674, 127, 600, 600, 600, 611, 611, 611, 127, 128,
3199 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
3200 128, 128, 128, 128, 1706, 128, 128, 128, 128, 128,
3201 182, 182, 182, 183, 183, 183, 184, 184, 184, 1707,
3202 185, 185, 185, 186, 186, 186, 182, 1714, 1725, 183,
3203 621, 1726, 184, 1727, 128, 128, 185, 621, 128, 186,
3204 620, 620, 620, 1728, 1730, 128, 621, 1738, 128, 622,
3205 622, 622, 631, 631, 631, 128, 137, 137, 137, 137,
3206 137, 137, 137, 137, 137, 137, 137, 137, 137, 137,
3207 137, 1740, 137, 137, 137, 137, 137, 189, 189, 189,
3208 190, 190, 190, 193, 193, 193, 1744, 194, 194, 194,
3210 197, 197, 197, 189, 1747, 1749, 190, 667, 1750, 193,
3211 1752, 137, 137, 194, 667, 1753, 197, 137, 1754, 1755,
3212 667, 631, 137, 138, 138, 138, 138, 138, 138, 138,
3213 138, 138, 138, 138, 138, 138, 138, 138, 1759, 138,
3214 138, 138, 138, 138, 198, 198, 198, 199, 199, 199,
3215 200, 200, 200, 1760, 201, 201, 201, 202, 202, 202,
3216 198, 1761, 1763, 199, 791, 794, 200, 1767, 138, 138,
3217 201, 791, 794, 202, 138, 1771, 1775, 791, 794, 138,
3218 141, 141, 141, 141, 141, 141, 141, 141, 141, 141,
3219 141, 141, 141, 141, 141, 1777, 141, 141, 141, 141,
3221 141, 203, 203, 203, 204, 204, 204, 207, 207, 207,
3222 1779, 208, 208, 208, 211, 211, 211, 203, 948, 1785,
3223 204, 1792, 1796, 207, 1797, 141, 141, 208, 948, 1799,
3224 211, 212, 212, 212, 1811, 948, 141, 865, 865, 865,
3225 1812, 865, 1113, 1113, 1113, 1813, 1815, 212, 1806, 141,
3226 142, 142, 142, 142, 142, 142, 142, 142, 142, 142,
3227 142, 142, 142, 142, 142, 1806, 142, 142, 142, 142,
3228 142, 213, 213, 213, 214, 214, 214, 215, 215, 215,
3229 1808, 216, 216, 216, 217, 217, 217, 213, 1801, 1814,
3230 214, 1816, 1818, 215, 1801, 142, 142, 216, 1801, 1819,
3232 217, 218, 218, 218, 1801, 1814, 142, 874, 874, 874,
3233 1820, 874, 1821, 1808, 874, 1823, 1807, 218, 1824, 142,
3234 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
3235 145, 145, 145, 145, 145, 1828, 145, 145, 145, 145,
3236 145, 221, 221, 221, 222, 222, 222, 223, 223, 223,
3237 1830, 224, 224, 224, 225, 225, 225, 221, 1807, 1831,
3238 222, 1832, 1834, 223, 1835, 145, 145, 224, 1836, 1833,
3239 225, 1134, 1134, 1134, 1433, 1433, 1433, 1837, 878, 878,
3240 878, 145, 897, 897, 897, 1833, 145, 146, 146, 146,
3241 146, 146, 146, 146, 146, 146, 146, 146, 146, 146,
3243 146, 146, 1840, 146, 146, 146, 146, 146, 226, 226,
3244 226, 227, 227, 227, 228, 228, 228, 1438, 1438, 1438,
3245 1433, 639, 639, 639, 226, 1842, 1847, 227, 1849, 1854,
3246 228, 1877, 146, 146, 231, 231, 232, 232, 639, 231,
3247 425, 232, 878, 909, 909, 909, 897, 1878, 146, 231,
3248 425, 232, 1879, 146, 149, 149, 149, 149, 149, 149,
3249 149, 149, 149, 149, 149, 149, 149, 149, 149, 1883,
3250 149, 149, 149, 149, 149, 235, 235, 235, 231, 425,
3251 232, 236, 236, 236, 1884, 425, 1890, 1891, 686, 686,
3252 686, 235, 425, 876, 876, 876, 425, 236, 279, 149,
3254 149, 1894, 149, 149, 149, 686, 1895, 909, 279, 1901,
3255 149, 876, 1907, 149, 991, 991, 991, 1441, 1441, 1441,
3256 149, 150, 150, 150, 150, 150, 150, 150, 150, 150,
3257 150, 150, 150, 150, 150, 150, 279, 150, 150, 150,
3258 150, 150, 702, 702, 702, 703, 703, 703, 1909, 1910,
3259 279, 1913, 279, 1919, 279, 713, 713, 713, 1921, 702,
3260 1927, 1931, 703, 916, 916, 916, 150, 150, 1934, 150,
3261 150, 150, 713, 1446, 1446, 1446, 1938, 150, 991, 1940,
3262 150, 916, 1435, 1435, 1435, 1941, 1942, 150, 155, 155,
3263 155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
3265 155, 155, 155, 1943, 155, 155, 155, 155, 155, 715,
3266 715, 715, 729, 729, 729, 735, 735, 735, 744, 744,
3267 744, 745, 745, 745, 1945, 1951, 715, 1953, 1435, 729,
3268 1955, 1957, 735, 155, 155, 744, 1970, 1971, 745, 755,
3269 755, 755, 924, 924, 924, 1972, 924, 1975, 1976, 924,
3270 1978, 1452, 1452, 1452, 1979, 1980, 755, 155, 156, 156,
3271 156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
3272 156, 156, 156, 1982, 156, 156, 156, 156, 156, 763,
3273 763, 763, 767, 767, 767, 780, 780, 780, 806, 806,
3274 806, 812, 812, 812, 1987, 1993, 763, 1452, 1977, 767,
3276 1987, 1994, 780, 156, 156, 806, 1977, 1981, 812, 829,
3277 829, 829, 938, 938, 938, 1981, 938, 1995, 1989, 938,
3278 1996, 1454, 1454, 1454, 2000, 2002, 829, 156, 177, 177,
3279 177, 177, 177, 177, 177, 177, 177, 177, 177, 177,
3280 177, 177, 177, 2003, 177, 177, 177, 177, 177, 835,
3281 835, 835, 841, 841, 841, 849, 849, 849, 873, 873,
3282 873, 912, 912, 912, 1989, 2004, 835, 1454, 2009, 841,
3283 2011, 2012, 849, 177, 177, 873, 2013, 2016, 912, 1988,
3284 2020, 177, 2027, 177, 2029, 2031, 177, 1455, 1455, 1455,
3285 177, 1634, 1634, 1634, 177, 178, 178, 178, 178, 178,
3287 178, 178, 178, 178, 178, 178, 178, 178, 178, 178,
3288 1988, 178, 178, 178, 178, 178, 2055, 877, 877, 877,
3289 914, 914, 914, 2056, 920, 920, 920, 913, 913, 913,
3290 915, 915, 915, 1802, 2057, 877, 2063, 914, 2064, 1802,
3291 178, 178, 920, 1802, 913, 2068, 2072, 915, 178, 1802,
3292 178, 2073, 2077, 178, 877, 2080, 2083, 178, 1637, 1637,
3293 1637, 178, 187, 187, 187, 187, 187, 187, 187, 187,
3294 187, 187, 187, 187, 187, 187, 187, 913, 187, 187,
3295 187, 187, 187, 917, 917, 917, 923, 923, 923, 915,
3296 2084, 2085, 913, 921, 921, 921, 926, 926, 926, 2086,
3298 2089, 917, 2092, 923, 928, 928, 928, 187, 187, 2096,
3299 2097, 921, 2098, 2110, 926, 940, 940, 940, 187, 940,
3300 917, 928, 940, 950, 950, 950, 2111, 950, 2114, 2116,
3301 950, 187, 188, 188, 188, 188, 188, 188, 188, 188,
3302 188, 188, 188, 188, 188, 188, 188, 2119, 188, 188,
3303 188, 188, 188, 927, 927, 927, 2126, 921, 930, 930,
3304 930, 931, 931, 931, 932, 932, 932, 929, 929, 929,
3305 2133, 927, 933, 933, 933, 930, 2135, 188, 188, 931,
3306 2136, 2137, 932, 2142, 929, 1640, 1640, 1640, 188, 933,
3307 953, 953, 953, 2143, 953, 2144, 2145, 953, 2146, 2147,
3309 927, 188, 191, 191, 191, 191, 191, 191, 191, 191,
3310 191, 191, 191, 191, 191, 191, 191, 929, 191, 191,
3311 191, 191, 191, 934, 934, 934, 935, 935, 935, 937,
3312 937, 937, 929, 2148, 2149, 932, 936, 936, 936, 2150,
3313 934, 946, 946, 946, 935, 2151, 937, 191, 191, 939,
3314 939, 939, 2162, 2163, 936, 2154, 191, 2166, 191, 946,
3315 2169, 2173, 191, 1641, 1641, 1641, 939, 191, 191, 192,
3316 192, 192, 192, 192, 192, 192, 192, 192, 192, 192,
3317 192, 192, 192, 192, 2174, 192, 192, 192, 192, 192,
3318 2177, 941, 941, 941, 2178, 949, 949, 949, 2154, 942,
3320 942, 942, 943, 943, 943, 2181, 2184, 936, 941, 944,
3321 944, 944, 949, 2185, 192, 192, 942, 2186, 2201, 943,
3322 967, 967, 967, 192, 967, 192, 944, 967, 2155, 192,
3323 1471, 1471, 1471, 2202, 192, 192, 195, 195, 195, 195,
3324 195, 195, 195, 195, 195, 195, 195, 195, 195, 195,
3325 195, 942, 195, 195, 195, 195, 195, 943, 2208, 2209,
3326 944, 2215, 2216, 952, 952, 952, 945, 945, 945, 954,
3327 954, 954, 964, 964, 964, 2155, 1471, 947, 947, 947,
3328 952, 195, 195, 945, 2217, 2231, 954, 195, 2203, 2232,
3329 964, 2233, 974, 974, 974, 947, 974, 2254, 2203, 974,
3331 2255, 2261, 195, 196, 196, 196, 196, 196, 196, 196,
3332 196, 196, 196, 196, 196, 196, 196, 196, 945, 196,
3333 196, 196, 196, 196, 947, 2266, 2268, 965, 965, 965,
3334 966, 966, 966, 968, 968, 968, 2269, 969, 969, 969,
3335 973, 973, 973, 2274, 2275, 965, 2276, 966, 196, 196,
3336 2277, 968, 2278, 2279, 196, 969, 2280, 973, 983, 983,
3337 983, 2281, 983, 2282, 2283, 983, 1644, 1644, 1644, 196,
3338 205, 205, 205, 205, 205, 205, 205, 205, 205, 205,
3339 205, 205, 205, 205, 205, 965, 205, 205, 205, 205,
3340 205, 978, 978, 978, 979, 979, 979, 2288, 969, 2289,
3342 982, 982, 982, 2291, 984, 984, 984, 2157, 2157, 978,
3343 2157, 2292, 979, 2293, 2294, 205, 205, 982, 2157, 2296,
3344 205, 984, 1649, 1649, 1649, 2157, 205, 206, 206, 206,
3345 206, 206, 206, 206, 206, 206, 206, 206, 206, 206,
3346 206, 206, 2287, 206, 206, 206, 206, 206, 2286, 985,
3347 985, 985, 2297, 985, 2300, 979, 985, 986, 986, 986,
3348 987, 987, 987, 989, 989, 989, 2301, 994, 994, 994,
3349 2304, 994, 206, 206, 994, 986, 2306, 206, 987, 2287,
3350 2286, 989, 2307, 206, 209, 209, 209, 209, 209, 209,
3351 209, 209, 209, 209, 209, 209, 209, 209, 209, 2309,
3353 209, 209, 209, 209, 209, 2310, 2312, 990, 990, 990,
3354 993, 993, 993, 998, 998, 998, 2313, 2290, 999, 999,
3355 999, 987, 1001, 1001, 1001, 990, 2290, 993, 2295, 209,
3356 209, 998, 209, 2314, 209, 2326, 999, 2295, 2327, 1001,
3357 209, 1002, 1002, 1002, 2328, 1002, 2329, 2332, 1002, 2333,
3358 2339, 209, 210, 210, 210, 210, 210, 210, 210, 210,
3359 210, 210, 210, 210, 210, 210, 210, 990, 210, 210,
3360 210, 210, 210, 999, 1003, 1003, 1003, 1005, 1005, 1005,
3361 2340, 1008, 1008, 1008, 2347, 2348, 1004, 1004, 1004, 1006,
3362 1006, 1006, 1003, 1006, 1005, 2349, 1006, 210, 210, 1008,
3364 210, 2357, 210, 2358, 1004, 1018, 1018, 1018, 210, 1018,
3365 2375, 2376, 1018, 1648, 1648, 1648, 1655, 1655, 1655, 210,
3366 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
3367 219, 219, 219, 219, 219, 2377, 219, 219, 219, 219,
3368 219, 1004, 1012, 1012, 1012, 1017, 1017, 1017, 2380, 1009,
3369 1009, 1009, 2382, 1013, 1013, 1013, 1019, 1019, 1019, 1648,
3370 1012, 2383, 1017, 2384, 2385, 219, 219, 1009, 2386, 2387,
3371 219, 1013, 2388, 1019, 2389, 2390, 219, 1040, 1040, 1040,
3372 219, 1040, 2391, 2392, 1040, 2393, 219, 220, 220, 220,
3373 220, 220, 220, 220, 220, 220, 220, 220, 220, 220,
3375 220, 220, 2398, 220, 220, 220, 220, 220, 2399, 2395,
3376 1009, 1022, 1022, 1022, 1013, 1658, 1658, 1658, 1023, 1023,
3377 1023, 1026, 1026, 1026, 1027, 1027, 1027, 2400, 2401, 1022,
3378 2402, 2403, 220, 220, 2404, 2405, 1023, 220, 2397, 1026,
3379 2406, 2407, 1027, 220, 1046, 1046, 1046, 220, 1046, 2395,
3380 2408, 1046, 2409, 220, 229, 229, 229, 229, 229, 229,
3381 229, 229, 229, 229, 229, 229, 229, 229, 229, 1023,
3382 229, 229, 229, 229, 229, 1036, 1036, 1036, 1037, 1037,
3383 1037, 2397, 1027, 2410, 1039, 1039, 1039, 1042, 1042, 1042,
3384 1043, 1043, 1043, 1036, 2411, 2414, 1037, 2415, 2416, 229,
3386 229, 1039, 1062, 1062, 1062, 1042, 1062, 229, 1043, 1062,
3387 229, 2417, 1646, 1646, 1646, 2419, 2420, 229, 230, 230,
3388 230, 230, 230, 230, 230, 230, 230, 230, 230, 230,
3389 230, 230, 230, 2431, 230, 230, 230, 230, 230, 1045,
3390 1045, 1045, 1037, 1047, 1047, 1047, 2432, 2434, 1049, 1049,
3391 1049, 1053, 1053, 1053, 1043, 2438, 1045, 1054, 1054, 1054,
3392 1047, 2439, 2440, 230, 230, 1049, 1068, 1068, 1068, 1053,
3393 1068, 230, 2442, 1068, 230, 1054, 1646, 1659, 1659, 1659,
3394 2443, 230, 233, 233, 233, 233, 233, 233, 233, 233,
3395 233, 233, 233, 233, 233, 233, 233, 2445, 233, 233,
3397 233, 233, 233, 2446, 1054, 1055, 1055, 1055, 1056, 1056,
3398 1056, 2396, 1057, 1057, 1057, 1058, 1058, 1058, 1059, 1059,
3399 1059, 2454, 1055, 2455, 2441, 1056, 2456, 233, 233, 1057,
3400 1061, 1061, 1061, 1058, 233, 2441, 1059, 1074, 1074, 1074,
3401 233, 1074, 2468, 2487, 1074, 2488, 2492, 1061, 2396, 233,
3402 234, 234, 234, 234, 234, 234, 234, 234, 234, 234,
3403 234, 234, 234, 234, 234, 2493, 234, 234, 234, 234,
3404 234, 1057, 1063, 1063, 1063, 1064, 1064, 1064, 2444, 1059,
3405 1067, 1067, 1067, 1070, 1070, 1070, 1071, 1071, 1071, 2444,
3406 1063, 2494, 2495, 1064, 2496, 234, 234, 1067, 1073, 1073,
3408 1073, 1070, 234, 2497, 1071, 1077, 1077, 1077, 234, 1078,
3409 1078, 1078, 1081, 1081, 1081, 1073, 2498, 234, 276, 1662,
3410 1662, 1662, 2499, 1077, 2500, 276, 2501, 1078, 2503, 1081,
3411 1085, 1085, 1085, 2506, 276, 276, 1064, 1082, 1082, 1082,
3412 2507, 1082, 2508, 2509, 1082, 1716, 1716, 1716, 1085, 1086,
3413 1086, 1086, 1071, 1091, 1091, 1091, 2460, 2503, 1092, 1092,
3414 1092, 2510, 276, 276, 276, 1662, 2460, 1086, 2504, 276,
3415 276, 1091, 2460, 276, 276, 1078, 1092, 276, 2511, 276,
3416 276, 276, 278, 1105, 1105, 1105, 2512, 1105, 2513, 2514,
3417 1105, 1109, 1109, 1109, 1110, 1110, 1110, 2515, 278, 278,
3419 1112, 1112, 1112, 1149, 1149, 1149, 1153, 1153, 1153, 1109,
3420 2504, 2482, 1110, 1086, 1156, 1156, 1156, 2505, 1112, 2516,
3421 1149, 2482, 1092, 1153, 2482, 2517, 278, 278, 278, 1817,
3422 1817, 1817, 1156, 278, 278, 2518, 2521, 278, 278, 2483,
3423 2522, 278, 2523, 278, 278, 278, 1150, 1150, 1150, 2483,
3424 1150, 2525, 2483, 1150, 1154, 1154, 1154, 2526, 1154, 2505,
3425 2531, 1154, 1157, 1157, 1157, 1159, 1159, 1159, 1162, 1162,
3426 1162, 1163, 1163, 1163, 1165, 1165, 1165, 1167, 1167, 1167,
3427 1157, 1167, 2536, 1159, 1167, 2537, 1162, 2538, 2539, 1163,
3428 2540, 2541, 1165, 1171, 1171, 1171, 1172, 1172, 1172, 1174,
3430 1174, 1174, 1175, 1175, 1175, 1176, 1176, 1176, 2335, 1176,
3431 2335, 1171, 1176, 2542, 1172, 2543, 2544, 1174, 2545, 1175,
3432 1179, 1179, 1179, 2335, 1180, 1180, 1180, 1165, 1180, 1159,
3433 2546, 1180, 1181, 1181, 1181, 2554, 2556, 1179, 1182, 1182,
3434 1182, 1184, 1184, 1184, 1185, 1185, 1185, 2560, 1174, 2561,
3435 1181, 1186, 1186, 1186, 2562, 1186, 1182, 2563, 1186, 1184,
3436 2564, 1185, 1187, 1187, 1187, 1188, 1188, 1188, 2565, 1188,
3437 2567, 2579, 1188, 1189, 1189, 1189, 1190, 1190, 1190, 1187,
3438 1192, 1192, 1192, 1193, 1193, 1193, 2336, 1193, 2336, 2580,
3439 1193, 1189, 2582, 2583, 1190, 1196, 1196, 1196, 1192, 1196,
3441 2574, 2336, 1196, 1184, 1199, 1199, 1199, 1200, 1200, 1200,
3442 2596, 1200, 2597, 2574, 1200, 1205, 1205, 1205, 1206, 1206,
3443 1206, 1199, 1208, 1208, 1208, 1212, 1212, 1212, 2575, 1212,
3444 2598, 2599, 1212, 1205, 2601, 2581, 1206, 1215, 1215, 1215,
3445 1208, 2575, 1192, 1216, 1216, 1216, 2602, 1216, 2581, 2603,
3446 1216, 1219, 1219, 1219, 1215, 1220, 1220, 1220, 2604, 1220,
3447 2607, 2610, 1220, 1230, 1230, 1230, 2158, 2158, 1219, 2158,
3448 1208, 1231, 1231, 1231, 1233, 1233, 1233, 2158, 1234, 1234,
3449 1234, 1230, 1234, 2611, 2158, 1234, 1237, 1237, 1237, 1231,
3450 2584, 2612, 1233, 1238, 1238, 1238, 1240, 1240, 1240, 1243,
3452 1243, 1243, 2613, 2584, 1237, 1244, 1244, 1244, 2607, 1244,
3453 2614, 1238, 1244, 2608, 1240, 2615, 1243, 1250, 1250, 1250,
3454 1251, 1251, 1251, 2461, 1253, 1253, 1253, 1255, 1255, 1255,
3455 1256, 1256, 1256, 2461, 1256, 1250, 2616, 1256, 1251, 2461,
3456 2617, 1233, 1253, 2618, 1255, 1259, 1259, 1259, 2608, 1259,
3457 2619, 2620, 1259, 1262, 1262, 1262, 1240, 1263, 1263, 1263,
3458 1265, 1265, 1265, 1266, 1266, 1266, 1267, 1267, 1267, 2621,
3459 2622, 1262, 1268, 1268, 1268, 1263, 2625, 2626, 1265, 2629,
3460 1266, 1270, 1270, 1270, 1267, 1278, 1278, 1278, 2635, 1253,
3461 1268, 1272, 1272, 1272, 2643, 1272, 2644, 2645, 1272, 1270,
3463 1279, 1279, 1279, 1278, 1281, 1281, 1281, 1283, 1283, 1283,
3464 2646, 1283, 2647, 2631, 1283, 1286, 1286, 1286, 1279, 1287,
3465 1287, 1287, 1281, 2631, 2648, 1265, 1289, 1289, 1289, 2632,
3466 1270, 2649, 2650, 1286, 1290, 1290, 1290, 1287, 1290, 2632,
3467 2651, 1290, 2652, 2653, 1289, 1294, 1294, 1294, 1295, 1295,
3468 1295, 1297, 1297, 1297, 1298, 1298, 1298, 1299, 1299, 1299,
3469 1300, 1300, 1300, 1294, 1281, 2657, 1295, 2660, 2661, 1297,
3470 2662, 1298, 2663, 2664, 1299, 1301, 1301, 1301, 1300, 1303,
3471 1303, 1303, 2665, 1308, 1308, 1308, 1289, 1308, 2666, 2669,
3472 1308, 2673, 2674, 1301, 1311, 1311, 1311, 1303, 1312, 1312,
3474 1312, 1297, 1312, 2675, 1299, 1312, 1315, 1315, 1315, 2676,
3475 2677, 1311, 1316, 1316, 1316, 1318, 1318, 1318, 1321, 1321,
3476 1321, 1322, 1322, 1322, 1315, 1324, 1324, 1324, 2678, 2679,
3477 1316, 2680, 2681, 1318, 2682, 2683, 1321, 2684, 2700, 1322,
3478 1329, 1329, 1329, 1324, 2701, 2702, 1303, 1333, 1333, 1333,
3479 1334, 1334, 1334, 1336, 1336, 1336, 2703, 1329, 2704, 2687,
3480 1338, 1338, 1338, 2705, 1338, 1333, 1318, 1338, 1334, 2687,
3481 2706, 1336, 1324, 1342, 1342, 1342, 1343, 1343, 1343, 1345,
3482 1345, 1345, 1347, 1347, 1347, 2688, 1347, 2707, 2713, 1347,
3483 2714, 1342, 2715, 2718, 1343, 2688, 2719, 1345, 1350, 1350,
3485 1350, 1351, 1351, 1351, 2720, 1351, 2721, 2724, 1351, 1352,
3486 1352, 1352, 2731, 2732, 1336, 1350, 1353, 1353, 1353, 2733,
3487 1354, 1354, 1354, 2709, 1354, 2734, 1352, 1354, 1356, 1356,
3488 1356, 2738, 2746, 1353, 1358, 1358, 1358, 1359, 1359, 1359,
3489 1345, 1361, 1361, 1361, 2747, 1356, 1362, 1362, 1362, 1363,
3490 1363, 1363, 1358, 1363, 2748, 1359, 1363, 2709, 2749, 1361,
3491 1364, 1364, 1364, 1362, 1365, 1365, 1365, 2750, 1365, 2751,
3492 2752, 1365, 1367, 1367, 1367, 2753, 2754, 1364, 1368, 1368,
3493 1368, 1370, 1370, 1370, 1372, 1372, 1372, 2755, 1372, 2761,
3494 1367, 1372, 1375, 1375, 1375, 2762, 1368, 2764, 2765, 1370,
3496 2767, 1361, 1376, 1376, 1376, 1378, 1378, 1378, 2768, 2769,
3497 1375, 1381, 1381, 1381, 2770, 1381, 2771, 2772, 1381, 2773,
3498 1376, 2774, 2775, 1378, 1385, 1385, 1385, 1386, 1386, 1386,
3499 2776, 1388, 1388, 1388, 1390, 1390, 1390, 2777, 1390, 2778,
3500 2779, 1390, 1385, 2782, 2783, 1386, 2784, 2785, 1370, 1388,
3501 1394, 1394, 1394, 1395, 1395, 1395, 1396, 1396, 1396, 1398,
3502 1398, 1398, 1400, 1400, 1400, 2793, 2794, 1394, 1404, 1404,
3503 1404, 1395, 1378, 2796, 1396, 2797, 2798, 1398, 2800, 1400,
3504 1401, 1401, 1401, 2808, 1401, 1404, 2809, 1401, 1406, 1406,
3505 1406, 2811, 1388, 1407, 1407, 1407, 1409, 1409, 1409, 1411,
3507 1411, 1411, 2812, 1413, 1413, 1413, 1406, 1414, 1414, 1414,
3508 2813, 1407, 2815, 2820, 1409, 2821, 1411, 1416, 1416, 1416,
3509 1398, 1413, 1418, 1418, 1418, 1414, 1424, 1424, 1424, 1404,
3510 1461, 1461, 1461, 2802, 1461, 1416, 2822, 1461, 2823, 2825,
3511 1418, 1418, 2829, 1409, 1424, 1466, 1466, 1466, 2830, 1466,
3512 2832, 2833, 1466, 1470, 1470, 1470, 1472, 1472, 1472, 1473,
3513 1473, 1473, 2834, 2836, 1416, 1476, 1476, 1476, 1477, 1477,
3514 1477, 1470, 1477, 1472, 2837, 1477, 2802, 1473, 1482, 1482,
3515 1482, 2842, 1482, 1476, 2843, 1482, 1485, 1485, 1485, 1486,
3516 1486, 1486, 2844, 1486, 2845, 2846, 1486, 2847, 1489, 1489,
3518 1489, 2848, 1489, 2849, 1485, 1489, 1492, 1492, 1492, 1493,
3519 1493, 1493, 2850, 1493, 1470, 2851, 1493, 1498, 1498, 1498,
3520 2852, 2853, 1476, 2854, 1492, 2855, 1473, 1500, 1500, 1500,
3521 1501, 1501, 1501, 1485, 1498, 1502, 1502, 1502, 1503, 1503,
3522 1503, 1504, 1504, 1504, 2856, 1500, 2857, 1501, 1509, 1509,
3523 1509, 2858, 1502, 1492, 2862, 1503, 2863, 2864, 1504, 1505,
3524 1505, 1505, 2865, 1505, 2868, 1509, 1505, 1506, 1506, 1506,
3525 2869, 1506, 2870, 2871, 1506, 1510, 1510, 1510, 1511, 1511,
3526 1511, 2872, 1500, 2873, 2882, 1503, 1512, 1512, 1512, 1513,
3527 1513, 1513, 1510, 2875, 2878, 1511, 1514, 1514, 1514, 1509,
3529 2883, 1502, 2885, 1512, 2886, 2878, 1513, 1515, 1515, 1515,
3530 1516, 1516, 1516, 1514, 1517, 1517, 1517, 1518, 1518, 1518,
3531 2888, 2877, 1510, 2890, 1515, 2893, 2899, 1516, 1519, 1519,
3532 1519, 1517, 2900, 1512, 1518, 2877, 1520, 1520, 1520, 2875,
3533 1523, 1523, 1523, 1524, 1524, 1524, 1519, 1524, 1511, 2902,
3534 1524, 2903, 2905, 1513, 1520, 2916, 1514, 1523, 1526, 1526,
3535 1526, 1528, 1528, 1528, 1530, 1530, 1530, 1531, 1531, 1531,
3536 2918, 1531, 2920, 2921, 1531, 1526, 1517, 2895, 1518, 1528,
3537 1516, 1530, 1532, 1532, 1532, 1533, 1533, 1533, 1520, 2895,
3538 1534, 1534, 1534, 1519, 1534, 2924, 2925, 1534, 2928, 2930,
3540 1532, 2932, 1533, 1535, 1535, 1535, 1540, 1540, 1540, 2934,
3541 1542, 1542, 1542, 1543, 1543, 1543, 2935, 1544, 1544, 1544,
3542 2937, 1535, 2938, 2944, 1540, 2943, 2943, 1528, 1542, 2896,
3543 1543, 2945, 1545, 1545, 1545, 1544, 1546, 1546, 1546, 2910,
3544 1546, 2896, 2945, 1546, 1548, 1548, 1548, 2911, 1532, 1545,
3545 2941, 2910, 1550, 1550, 1550, 2946, 1556, 1556, 1556, 2911,
3546 2949, 1535, 1548, 1540, 1558, 1558, 1558, 1542, 1544, 1550,
3547 1553, 1553, 1553, 1556, 1553, 2942, 2950, 1553, 1561, 1561,
3548 1561, 2951, 1558, 1566, 1566, 1566, 1567, 1567, 1567, 2942,
3549 1567, 2941, 2955, 1567, 2952, 2956, 1561, 1571, 1571, 1571,
3551 1566, 1573, 1573, 1573, 1548, 1574, 1574, 1574, 2957, 1576,
3552 1576, 1576, 2952, 1576, 2964, 1571, 1576, 2966, 1573, 1579,
3553 1579, 1579, 2970, 1574, 2958, 1580, 1580, 1580, 1558, 1580,
3554 2971, 2881, 1580, 1581, 1581, 1581, 1579, 1581, 2972, 2958,
3555 1581, 1585, 1585, 1585, 1561, 2963, 1571, 1586, 1586, 1586,
3556 2881, 1586, 2881, 2973, 1586, 1588, 1588, 1588, 1585, 1589,
3557 1589, 1589, 2976, 1589, 2963, 2881, 1589, 1574, 1592, 1592,
3558 1592, 2978, 1592, 1588, 2965, 1592, 1596, 1596, 1596, 1598,
3559 1598, 1598, 1602, 1602, 1602, 1604, 1604, 1604, 2980, 1605,
3560 1605, 1605, 2981, 2965, 1596, 2982, 2983, 1598, 2984, 2985,
3562 1602, 2993, 1604, 2994, 2995, 1588, 1605, 1606, 1606, 1606,
3563 2997, 1606, 2998, 2975, 1606, 1607, 1607, 1607, 1609, 1609,
3564 1609, 1610, 1610, 1610, 2977, 1610, 2999, 3001, 1610, 1613,
3565 1613, 1613, 2975, 1607, 3002, 1609, 1615, 1615, 1615, 1617,
3566 1617, 1617, 1596, 2977, 3003, 1598, 1602, 1613, 1616, 1616,
3567 1616, 3004, 1616, 1615, 3006, 1616, 1617, 1618, 1618, 1618,
3568 3009, 3010, 1621, 1621, 1621, 1660, 1660, 1660, 1663, 1663,
3569 1663, 1664, 1664, 1664, 3011, 1618, 3012, 3013, 1613, 1607,
3570 1621, 1665, 1665, 1665, 1666, 1666, 1666, 1667, 1667, 1667,
3571 1668, 1668, 1668, 1670, 1670, 1670, 3014, 3015, 1665, 3016,
3573 3017, 1666, 3018, 3021, 1667, 3022, 1618, 3023, 1668, 3024,
3574 1670, 3025, 3026, 1621, 1671, 1671, 1671, 3029, 1671, 3030,
3575 3031, 1671, 1672, 1672, 1672, 1675, 1675, 1675, 3032, 1660,
3576 1621, 3033, 1663, 3034, 3036, 1664, 1676, 1676, 1676, 3037,
3577 1672, 3038, 3039, 1675, 1677, 1677, 1677, 1678, 1678, 1678,
3578 3040, 1667, 3041, 1676, 1679, 1679, 1679, 1668, 1680, 1680,
3579 1680, 1677, 1681, 1681, 1681, 1678, 1682, 1682, 1682, 1685,
3580 1685, 1685, 1679, 1675, 3042, 1680, 1684, 1684, 1684, 1681,
3581 3043, 1672, 3044, 1682, 1683, 1683, 1683, 1685, 1683, 3048,
3582 3046, 1683, 3049, 1684, 1686, 1686, 1686, 1687, 1687, 1687,
3584 3050, 1687, 3046, 3051, 1687, 1688, 1688, 1688, 1689, 1689,
3585 1689, 1686, 1678, 3052, 1690, 1690, 1690, 3053, 1690, 1679,
3586 1681, 1690, 1688, 3054, 3056, 1689, 1693, 1693, 1693, 1685,
3587 1694, 1694, 1694, 1695, 1695, 1695, 1696, 1696, 1696, 1697,
3588 1697, 1697, 3047, 1693, 1698, 1698, 1698, 1694, 3061, 2884,
3589 1695, 3062, 3063, 1696, 3047, 3064, 1697, 1699, 1699, 1699,
3590 3065, 1698, 1700, 1700, 1700, 2884, 1700, 2884, 3066, 1700,
3591 3070, 3071, 1689, 3073, 1699, 1701, 1701, 1701, 3075, 1694,
3592 2884, 1702, 1702, 1702, 3078, 1697, 1703, 1703, 1703, 3079,
3593 1693, 3076, 1701, 3080, 1696, 3081, 3082, 1698, 1702, 1704,
3595 1704, 1704, 3083, 1703, 1705, 1705, 1705, 1708, 1708, 1708,
3596 3084, 1708, 3085, 3086, 1708, 3087, 3076, 1704, 1711, 1711,
3597 1711, 3088, 1705, 1712, 1712, 1712, 3089, 3090, 1702, 1713,
3598 1713, 1713, 3091, 1713, 3092, 1711, 1713, 3093, 3094, 1703,
3599 1712, 3095, 1715, 1715, 1715, 1717, 1717, 1717, 3098, 1717,
3600 3099, 3100, 1717, 1720, 1720, 1720, 1724, 1724, 1724, 1705,
3601 1715, 3101, 1721, 1721, 1721, 1704, 1721, 3102, 3103, 1721,
3602 3106, 1720, 3107, 3108, 1724, 1729, 1729, 1729, 1731, 1731,
3603 1731, 1732, 1732, 1732, 1733, 1733, 1733, 3109, 1733, 3110,
3604 3111, 1733, 3108, 1729, 3112, 3113, 1731, 3114, 1732, 1720,
3606 1734, 1734, 1734, 1735, 1735, 1735, 3115, 1735, 3116, 3117,
3607 1735, 1739, 1739, 1739, 1741, 1741, 1741, 3118, 1734, 1743,
3608 1743, 1743, 3119, 1724, 1731, 3120, 1742, 1742, 1742, 1739,
3609 1742, 1741, 3121, 1742, 3122, 3123, 1743, 1745, 1745, 1745,
3610 1746, 1746, 1746, 3124, 1746, 3125, 3126, 1746, 1748, 1748,
3611 1748, 1751, 1751, 1751, 1745, 1756, 1756, 1756, 1734, 1756,
3612 3127, 3128, 1756, 1762, 1762, 1762, 1748, 3129, 3130, 1751,
3613 1764, 1764, 1764, 1766, 1766, 1766, 3131, 1739, 1765, 1765,
3614 1765, 1762, 1765, 3132, 3136, 1765, 3137, 1764, 1768, 1768,
3615 1768, 1766, 1768, 3139, 3140, 1768, 3141, 1772, 1772, 1772,
3617 3143, 1772, 3135, 1751, 1772, 1776, 1776, 1776, 1778, 1778,
3618 1778, 1780, 1780, 1780, 1762, 1781, 1781, 1781, 1782, 1782,
3619 1782, 3144, 3135, 1776, 3145, 3146, 1778, 3147, 3148, 1780,
3620 3149, 3150, 1781, 3151, 3152, 1782, 1783, 1783, 1783, 1784,
3621 1784, 1784, 3153, 1786, 1786, 1786, 3154, 1787, 1787, 1787,
3622 3155, 1787, 3156, 1783, 1787, 3157, 3158, 1784, 3159, 1778,
3623 1786, 3161, 1780, 1788, 1788, 1788, 1776, 1788, 3162, 3164,
3624 1788, 1791, 1791, 1791, 1793, 1793, 1793, 3160, 1793, 3165,
3625 3167, 1793, 3168, 3160, 1782, 3169, 1784, 3170, 3171, 1791,
3626 1798, 1798, 1798, 1800, 1800, 1800, 3172, 1800, 3174, 3175,
3628 1800, 3177, 1803, 1803, 1803, 1804, 1804, 1804, 1798, 1804,
3629 3178, 3180, 1804, 1805, 1805, 1805, 3181, 3184, 1791, 1803,
3630 1810, 1810, 1810, 1822, 1822, 1822, 1825, 1825, 1825, 3186,
3631 3188, 1805, 1826, 1826, 1826, 3189, 3190, 1810, 1827, 1827,
3632 1827, 1798, 1829, 1829, 1829, 1838, 1838, 1838, 1839, 1839,
3633 1839, 1841, 1841, 1841, 1843, 1843, 1843, 3191, 1844, 1844,
3634 1844, 3183, 1844, 3193, 1805, 1844, 1845, 1845, 1845, 3195,
3635 3197, 1843, 1846, 1846, 1846, 3183, 1846, 3199, 3201, 1846,
3636 1848, 1848, 1848, 1845, 1850, 1850, 1850, 3202, 1850, 3203,
3637 3204, 1850, 1853, 1853, 1853, 1855, 1855, 1855, 1848, 1856,
3639 1856, 1856, 1857, 1857, 1857, 3205, 3206, 1858, 1858, 1858,
3640 1853, 1858, 1855, 3207, 1858, 3208, 3209, 1856, 3210, 1857,
3641 1859, 1859, 1859, 1860, 1860, 1860, 3214, 1860, 3216, 3218,
3642 1860, 1861, 1861, 1861, 1862, 1862, 1862, 1859, 1863, 1863,
3643 1863, 3219, 3220, 1853, 3221, 3238, 1848, 3230, 3222, 1861,
3644 3236, 1464, 1862, 3238, 3236, 1863, 3231, 1864, 1864, 1864,
3645 1856, 1864, 3223, 3232, 1864, 1865, 1865, 1865, 1866, 1866,
3646 1866, 1460, 1866, 3233, 1459, 1866, 1869, 1869, 1869, 1870,
3647 1870, 1870, 1865, 1870, 3222, 3234, 1870, 1871, 1871, 1871,
3648 1872, 1872, 1872, 1869, 1872, 3230, 1861, 1872, 3223, 1862,
3650 1875, 1875, 1875, 3235, 3231, 1871, 1876, 1876, 1876, 3242,
3651 1876, 3232, 3244, 1876, 1880, 1880, 1880, 1875, 1881, 1881,
3652 1881, 3233, 1881, 3250, 3329, 1881, 1882, 1882, 1882, 3234,
3653 3245, 1880, 1885, 1885, 1885, 3329, 1885, 3248, 1871, 1885,
3654 1888, 1888, 1888, 1882, 1889, 1889, 1889, 3235, 1889, 3244,
3655 1458, 1889, 1892, 1892, 1892, 1457, 3242, 1888, 1893, 1893,
3656 1893, 1896, 1896, 1896, 1897, 1897, 1897, 3245, 1897, 3250,
3657 1892, 1897, 3248, 1898, 1898, 1898, 1893, 1898, 1896, 3246,
3658 1898, 1902, 1902, 1902, 1904, 1904, 1904, 1905, 1905, 1905,
3659 1906, 1906, 1906, 1908, 1908, 1908, 1911, 1911, 1911, 1902,
3661 1914, 1914, 1914, 1892, 3239, 1905, 3243, 1456, 1906, 3237,
3662 1908, 1893, 3239, 3237, 1911, 1915, 1915, 1915, 1914, 1915,
3663 3246, 3260, 1915, 1918, 1918, 1918, 1920, 1920, 1920, 1922,
3664 1922, 1922, 3254, 1922, 3240, 3241, 1922, 3251, 1453, 1908,
3665 1906, 1918, 3240, 3241, 1920, 1905, 1925, 1925, 1925, 1914,
3666 1926, 1926, 1926, 3243, 1926, 3260, 3247, 1926, 1928, 1928,
3667 1928, 3252, 1928, 1925, 3254, 1928, 1932, 1932, 1932, 1918,
3668 1935, 1935, 1935, 1936, 1936, 1936, 1937, 1937, 1937, 1939,
3669 1939, 1939, 3249, 3251, 1932, 3261, 3262, 1935, 1944, 1944,
3670 1944, 1936, 1946, 1946, 1946, 3253, 1946, 3247, 3252, 1946,
3672 1949, 1949, 1949, 1952, 1952, 1952, 1944, 1954, 1954, 1954,
3673 1956, 1956, 1956, 1958, 1958, 1958, 3263, 3249, 1949, 3261,
3674 1952, 1959, 1959, 1959, 3255, 1954, 3258, 3259, 1956, 3262,
3675 3266, 1958, 3253, 3264, 1936, 1960, 1960, 1960, 1959, 1960,
3676 3256, 1451, 1960, 1961, 1961, 1961, 1962, 1962, 1962, 3256,
3677 1963, 1963, 1963, 1944, 1963, 3257, 3255, 1963, 1450, 3263,
3678 1961, 3258, 3259, 1962, 3257, 3266, 1954, 1964, 1964, 1964,
3679 1965, 1965, 1965, 3280, 1966, 1966, 1966, 1958, 1966, 3264,
3680 3267, 1966, 1969, 1969, 1969, 1964, 1449, 1965, 3284, 1961,
3681 1973, 1973, 1973, 1974, 1974, 1974, 1448, 1983, 1983, 1983,
3683 1969, 1983, 3280, 1447, 1983, 1986, 1986, 1986, 1973, 1445,
3684 1974, 1990, 1990, 1990, 1444, 3267, 1965, 1991, 1991, 1991,
3685 1964, 1991, 3284, 1986, 1991, 1992, 1992, 1992, 1990, 1997,
3686 1997, 1997, 1998, 1998, 1998, 1969, 1999, 1999, 1999, 2001,
3687 2001, 2001, 2005, 2005, 2005, 2006, 2006, 2006, 2007, 2007,
3688 2007, 1986, 2008, 2008, 2008, 2010, 2010, 2010, 2014, 2014,
3689 2014, 2015, 2015, 2015, 2017, 2017, 2017, 2018, 2018, 2018,
3690 2019, 2019, 2019, 2021, 2021, 2021, 3265, 2021, 3268, 3281,
3691 2021, 2024, 2024, 2024, 1443, 2024, 3272, 3269, 2024, 2028,
3692 2028, 2028, 2030, 2030, 2030, 2032, 2032, 2032, 2008, 2033,
3694 2033, 2033, 3274, 2033, 3276, 3275, 2033, 2028, 3281, 3290,
3695 2030, 3268, 2032, 2034, 2034, 2034, 2019, 2035, 2035, 2035,
3696 3269, 2035, 3265, 3272, 2035, 2038, 2038, 2038, 3273, 2038,
3697 3270, 2034, 2038, 2041, 2041, 2041, 2042, 2042, 2042, 3270,
3698 2028, 2043, 2043, 2043, 3274, 2043, 3271, 3275, 2043, 3291,
3699 3276, 2041, 2030, 2041, 2042, 3271, 3290, 2046, 2046, 2046,
3700 2047, 2047, 2047, 1442, 2047, 3273, 3294, 2047, 2051, 2051,
3701 2051, 3278, 2042, 2034, 2046, 2048, 2048, 2048, 3279, 2048,
3702 3282, 3277, 2048, 2052, 2052, 2052, 2051, 2052, 3283, 3282,
3703 2052, 2058, 2058, 2058, 3285, 2058, 3291, 3283, 2058, 2061,
3705 2061, 2061, 2062, 2062, 2062, 3288, 2062, 3294, 3278, 2062,
3706 2065, 2065, 2065, 3288, 2065, 3279, 2061, 2065, 2069, 2069,
3707 2069, 2070, 2070, 2070, 2071, 2071, 2071, 3277, 3285, 2074,
3708 2074, 2074, 3289, 2074, 2051, 2069, 2074, 3286, 1440, 2070,
3709 3289, 3287, 2071, 2078, 2078, 2078, 2079, 2079, 2079, 2081,
3710 2081, 2081, 2082, 2082, 2082, 3295, 2082, 1439, 1437, 2082,
3711 1436, 2078, 1434, 1432, 2079, 3292, 2081, 3293, 2087, 2087,
3712 2087, 2088, 2088, 2088, 2090, 2090, 2090, 2093, 2093, 2093,
3713 1431, 2093, 3320, 3286, 2093, 2070, 2087, 3287, 3296, 2088,
3714 3298, 3320, 2090, 2099, 2099, 2099, 3295, 2079, 2078, 2100,
3716 2100, 2100, 3292, 2100, 3293, 3300, 2100, 2101, 2101, 2101,
3717 2099, 2102, 2102, 2102, 2103, 2103, 2103, 2104, 2104, 2104,
3718 2105, 2105, 2105, 3296, 3297, 2101, 2106, 2106, 2106, 2107,
3719 2107, 2107, 3302, 2088, 2087, 1430, 3298, 2105, 2108, 2108,
3720 2108, 3299, 3300, 2106, 3303, 3304, 2107, 2109, 2109, 2109,
3721 2112, 2112, 2112, 3304, 3301, 2108, 2113, 2113, 2113, 3297,
3722 2113, 3328, 1429, 2113, 3302, 2109, 3310, 2112, 2115, 2115,
3723 2115, 2101, 2117, 2117, 2117, 3328, 3303, 2106, 2120, 2120,
3724 2120, 2121, 2121, 2121, 3305, 2121, 2115, 3299, 2121, 3306,
3725 2117, 3301, 3305, 2107, 3312, 1428, 2120, 2108, 2124, 2124,
3727 2124, 2125, 2125, 2125, 3314, 2125, 3311, 3310, 2125, 2127,
3728 2127, 2127, 2109, 2127, 1427, 2124, 2127, 2130, 2130, 2130,
3729 2131, 2131, 2131, 2132, 2132, 2132, 1426, 2132, 3308, 3312,
3730 2132, 2134, 2134, 2134, 3307, 2130, 3306, 2131, 2138, 2138,
3731 2138, 2140, 2140, 2140, 2141, 2141, 2141, 3311, 2141, 2134,
3732 3314, 2141, 2152, 2152, 2152, 1423, 2138, 1422, 2140, 2153,
3733 2153, 2153, 2156, 2156, 2156, 3308, 2156, 1421, 2130, 2156,
3734 2152, 2159, 2159, 2159, 2160, 2160, 2160, 2153, 2161, 2161,
3735 2161, 3307, 2134, 2164, 2164, 2164, 2165, 2165, 2165, 2167,
3736 2167, 2167, 2168, 2168, 2168, 2170, 2170, 2170, 2171, 2171,
3738 2171, 2152, 2172, 2172, 2172, 2175, 2175, 2175, 2176, 2176,
3739 2176, 2179, 2179, 2179, 2180, 2180, 2180, 2182, 2182, 2182,
3740 2183, 2183, 2183, 2187, 2187, 2187, 2188, 2188, 2188, 2189,
3741 2189, 2189, 2190, 2190, 2190, 2191, 2191, 2191, 3309, 2191,
3742 3315, 2187, 2191, 2194, 2194, 2194, 3313, 2189, 3318, 2190,
3743 2195, 2195, 2195, 2196, 2196, 2196, 2197, 2197, 2197, 3316,
3744 2197, 2194, 1412, 2197, 2200, 2200, 2200, 1410, 2195, 3321,
3745 3319, 2196, 2204, 2204, 2204, 3309, 2204, 1405, 3321, 2204,
3746 3318, 3313, 2200, 2207, 2207, 2207, 3315, 2195, 2210, 2210,
3747 2210, 2212, 2212, 2212, 2194, 2189, 3316, 2211, 2211, 2211,
3749 2207, 2211, 3319, 1399, 2211, 2210, 2213, 2213, 2213, 2212,
3750 2218, 2218, 2218, 3324, 2196, 2219, 2219, 2219, 2220, 2220,
3751 2220, 2224, 2224, 2224, 2213, 2221, 2221, 2221, 2218, 2221,
3752 3317, 3322, 2221, 2219, 1393, 2220, 3323, 3325, 2224, 2225,
3753 2225, 2225, 2226, 2226, 2226, 2227, 2227, 2227, 2228, 2228,
3754 2228, 2229, 2229, 2229, 3326, 1389, 2225, 1384, 1380, 2226,
3755 3327, 3324, 2227, 3322, 2220, 1379, 2228, 3317, 3323, 2229,
3756 2218, 2230, 2230, 2230, 1371, 1366, 2224, 2234, 2234, 2234,
3757 2235, 2235, 2235, 1357, 2235, 3325, 3326, 2235, 2230, 2238,
3758 2238, 2238, 3327, 2226, 2239, 2239, 2239, 2240, 2240, 2240,
3760 2225, 1355, 2241, 2241, 2241, 1346, 2241, 2238, 2228, 2241,
3761 2242, 2242, 2242, 1341, 2240, 2229, 2243, 2243, 2243, 2244,
3762 2244, 2244, 2245, 2245, 2245, 1337, 1332, 2242, 2246, 2246,
3763 2246, 1331, 1330, 2243, 1328, 1327, 2244, 2247, 2247, 2247,
3764 2245, 1325, 2248, 2248, 2248, 1320, 2248, 1319, 2238, 2248,
3765 1314, 2251, 2251, 2251, 2247, 2252, 2252, 2252, 2256, 2256,
3766 2256, 1313, 2258, 2258, 2258, 1307, 2258, 2243, 2251, 2258,
3767 2244, 1306, 1305, 2252, 1304, 1293, 2256, 2262, 2262, 2262,
3768 2263, 2263, 2263, 1282, 2263, 1277, 1276, 2263, 2267, 2267,
3769 2267, 1275, 2271, 2271, 2271, 2262, 2271, 1271, 1254, 2271,
3771 2284, 2284, 2284, 2285, 2285, 2285, 2267, 2298, 2298, 2298,
3772 2299, 2299, 2299, 2302, 2302, 2302, 1249, 2251, 2284, 1248,
3773 1247, 2285, 2303, 2303, 2303, 2305, 2305, 2305, 2308, 2308,
3774 2308, 2311, 2311, 2311, 2267, 2315, 2315, 2315, 2317, 2317,
3775 2317, 2318, 2318, 2318, 1242, 2319, 2319, 2319, 2320, 2320,
3776 2320, 1241, 2320, 2315, 1228, 2320, 2321, 2321, 2321, 2318,
3777 1227, 2284, 2319, 1226, 1225, 2285, 2322, 2322, 2322, 2323,
3778 2323, 2323, 1224, 1223, 2321, 2324, 2324, 2324, 2330, 2330,
3779 2330, 2331, 2331, 2331, 2322, 2331, 1222, 2323, 2331, 1221,
3780 2334, 2334, 2334, 2324, 2334, 2330, 1211, 2334, 2337, 2337,
3782 2337, 2341, 2341, 2341, 2342, 2342, 2342, 2343, 2343, 2343,
3783 2345, 2345, 2345, 2346, 2346, 2346, 2337, 2346, 2341, 1210,
3784 2346, 1209, 2342, 1204, 1203, 2343, 1202, 2345, 1201, 1178,
3785 2322, 2350, 2350, 2350, 1177, 1170, 2323, 2351, 2351, 2351,
3786 2352, 2352, 2352, 1166, 2352, 1161, 1160, 2352, 2350, 2353,
3787 2353, 2353, 1155, 1152, 2351, 2354, 2354, 2354, 2355, 2355,
3788 2355, 2342, 2356, 2356, 2356, 1151, 2356, 2353, 1148, 2356,
3789 2359, 2359, 2359, 2354, 1147, 2355, 2360, 2360, 2360, 2361,
3790 2361, 2361, 2362, 2362, 2362, 1146, 2362, 2359, 1145, 2362,
3791 2365, 2365, 2365, 1144, 2366, 2366, 2366, 2361, 2366, 1143,
3793 1142, 2366, 2367, 2367, 2367, 1141, 1140, 2365, 2368, 2368,
3794 2368, 2369, 2369, 2369, 1139, 1138, 2354, 1137, 1136, 2367,
3795 2371, 2371, 2371, 1135, 1132, 2368, 2372, 2372, 2372, 2369,
3796 2373, 2373, 2373, 1131, 2373, 1130, 1129, 2373, 2374, 2374,
3797 2374, 1127, 1126, 2372, 2378, 2378, 2378, 2381, 2381, 2381,
3798 2394, 2394, 2394, 1125, 1124, 2374, 2412, 2412, 2412, 2413,
3799 2413, 2413, 2378, 1123, 1122, 2381, 1121, 1120, 2394, 2418,
3800 2418, 2418, 2421, 2421, 2421, 1119, 2422, 2422, 2422, 2424,
3801 2424, 2424, 1118, 2424, 1117, 1116, 2424, 1115, 1114, 2421,
3802 2427, 2427, 2427, 2374, 2422, 1108, 2429, 2429, 2429, 2430,
3804 2430, 2430, 2433, 2433, 2433, 2435, 2435, 2435, 2427, 2435,
3805 2394, 1104, 2435, 2381, 2429, 1101, 1100, 2430, 1099, 2433,
3806 2447, 2447, 2447, 2448, 2448, 2448, 2449, 2449, 2449, 1097,
3807 2449, 1093, 1090, 2449, 2450, 2450, 2450, 2447, 1089, 1088,
3808 2448, 2451, 2451, 2451, 1084, 2451, 1083, 1080, 2451, 2457,
3809 2457, 2457, 2450, 1076, 2458, 2458, 2458, 2429, 2458, 1075,
3810 1072, 2458, 2462, 2462, 2462, 2430, 2457, 2459, 2459, 2459,
3811 1069, 2459, 1066, 1065, 2459, 2464, 2464, 2464, 1060, 1052,
3812 2462, 2465, 2465, 2465, 1051, 2465, 1050, 1048, 2465, 2469,
3813 2469, 2469, 1044, 2464, 2470, 2470, 2470, 2471, 2471, 2471,
3815 1041, 2471, 1038, 1035, 2471, 1034, 2469, 2472, 2472, 2472,
3816 1033, 2470, 2474, 2474, 2474, 1032, 2474, 1031, 1030, 2474,
3817 1029, 2477, 2477, 2477, 1028, 2472, 2478, 2478, 2478, 1025,
3818 2478, 1024, 1021, 2478, 2479, 2479, 2479, 2464, 2477, 2480,
3819 2480, 2480, 1020, 2480, 1016, 1014, 2480, 1011, 2481, 2481,
3820 2481, 2479, 2481, 1010, 1007, 2481, 2484, 2484, 2484, 2485,
3821 2485, 2485, 2486, 2486, 2486, 2489, 2489, 2489, 2490, 2490,
3822 2490, 1000, 997, 2484, 996, 995, 2485, 992, 988, 2486,
3823 2491, 2491, 2491, 2489, 2502, 2502, 2502, 2519, 2519, 2519,
3824 2520, 2520, 2520, 2524, 2524, 2524, 981, 2491, 2527, 2527,
3826 2527, 977, 2502, 2528, 2528, 2528, 976, 2528, 975, 972,
3827 2528, 2529, 2529, 2529, 971, 2527, 970, 2484, 963, 2530,
3828 2530, 2530, 2532, 2532, 2532, 2533, 2533, 2533, 962, 2529,
3829 961, 2534, 2534, 2534, 960, 2534, 2489, 2530, 2534, 2532,
3830 959, 958, 2533, 957, 2502, 2535, 2535, 2535, 2547, 2547,
3831 2547, 2548, 2548, 2548, 956, 2548, 955, 951, 2548, 2549,
3832 2549, 2549, 2535, 2549, 925, 2547, 2549, 2552, 2552, 2552,
3833 2530, 2555, 2555, 2555, 922, 2557, 2557, 2557, 2529, 2557,
3834 919, 918, 2557, 911, 910, 2552, 908, 907, 2555, 2566,
3835 2566, 2566, 2568, 2568, 2568, 2569, 2569, 2569, 906, 2569,
3837 905, 904, 2569, 903, 2570, 2570, 2570, 2566, 2570, 2568,
3838 902, 2570, 2573, 2573, 2573, 901, 2573, 900, 899, 2573,
3839 2576, 2576, 2576, 898, 2576, 896, 895, 2576, 2585, 2585,
3840 2585, 2586, 2586, 2586, 2587, 2587, 2587, 894, 2587, 893,
3841 892, 2587, 2588, 2588, 2588, 2585, 891, 890, 2586, 2589,
3842 2589, 2589, 889, 2589, 887, 886, 2589, 885, 884, 2588,
3843 2590, 2590, 2590, 2591, 2591, 2591, 2592, 2592, 2592, 2593,
3844 2593, 2593, 2594, 2594, 2594, 883, 882, 2590, 881, 880,
3845 2591, 2606, 2606, 2606, 2592, 2609, 2609, 2609, 2585, 2594,
3846 2595, 2595, 2595, 879, 2595, 875, 871, 2595, 870, 2606,
3848 869, 868, 2609, 2609, 2623, 2623, 2623, 2624, 2624, 2624,
3849 2627, 2627, 2627, 2628, 2628, 2628, 2630, 2630, 2630, 867,
3850 2630, 863, 861, 2630, 2633, 2633, 2633, 860, 2592, 2634,
3851 2634, 2634, 2606, 2636, 2636, 2636, 2637, 2637, 2637, 859,
3852 2637, 858, 2633, 2637, 2638, 2638, 2638, 2634, 2638, 857,
3853 2636, 2638, 2641, 2641, 2641, 2642, 2642, 2642, 856, 2642,
3854 853, 852, 2642, 2654, 2654, 2654, 850, 2654, 848, 2641,
3855 2654, 2658, 2658, 2658, 2659, 2659, 2659, 845, 2659, 844,
3856 843, 2659, 2667, 2667, 2667, 2670, 2670, 2670, 2658, 2670,
3857 2633, 842, 2670, 2685, 2685, 2685, 840, 2686, 2686, 2686,
3859 2667, 2686, 837, 836, 2686, 2689, 2689, 2689, 834, 2689,
3860 2685, 833, 2689, 2692, 2692, 2692, 2693, 2693, 2693, 830,
3861 2693, 828, 825, 2693, 2694, 2694, 2694, 2695, 2695, 2695,
3862 2692, 2695, 824, 823, 2695, 2696, 2696, 2696, 2697, 2697,
3863 2697, 2694, 2697, 822, 819, 2697, 2708, 2708, 2708, 2710,
3864 2710, 2710, 818, 2696, 2711, 2711, 2711, 817, 2712, 2712,
3865 2712, 816, 2712, 815, 2708, 2712, 2710, 2710, 2725, 2725,
3866 2725, 2711, 2711, 2726, 2726, 2726, 2712, 2727, 2727, 2727,
3867 2728, 2728, 2728, 2729, 2729, 2729, 2696, 2730, 2730, 2730,
3868 2735, 2735, 2735, 814, 813, 2708, 2736, 2736, 2736, 2739,
3870 2739, 2739, 811, 2739, 808, 807, 2739, 803, 2735, 2742,
3871 2742, 2742, 802, 2742, 2736, 801, 2742, 2745, 2745, 2745,
3872 2756, 2756, 2756, 2757, 2757, 2757, 800, 2757, 799, 798,
3873 2757, 2760, 2760, 2760, 2745, 797, 789, 2756, 2780, 2780,
3874 2780, 2735, 2781, 2781, 2781, 788, 2781, 785, 2760, 2781,
3875 2786, 2786, 2786, 784, 2786, 2780, 783, 2786, 2789, 2789,
3876 2789, 782, 2789, 781, 779, 2789, 2792, 2792, 2792, 2801,
3877 2801, 2801, 2803, 2803, 2803, 2804, 2804, 2804, 778, 2804,
3878 777, 774, 2804, 773, 2792, 772, 769, 2801, 768, 2803,
3879 2803, 764, 762, 2804, 2805, 2805, 2805, 759, 2805, 758,
3881 757, 2805, 2816, 2816, 2816, 2817, 2817, 2817, 2818, 2818,
3882 2818, 756, 2805, 2819, 2819, 2819, 2824, 2824, 2824, 2827,
3883 2827, 2827, 754, 2827, 751, 750, 2827, 749, 2826, 2826,
3884 2826, 2828, 2828, 2828, 2824, 2801, 2806, 2806, 2806, 2806,
3885 2806, 2806, 2806, 2806, 2806, 2826, 746, 2806, 2828, 2838,
3886 2838, 2838, 2806, 2806, 2806, 2806, 2806, 2839, 2839, 2839,
3887 743, 2839, 740, 739, 2839, 738, 2838, 2841, 2841, 2841,
3888 737, 2841, 736, 733, 2841, 2840, 2840, 2840, 2866, 2866,
3889 2866, 2806, 2806, 2807, 2807, 2807, 2807, 2807, 2807, 2807,
3890 2807, 2807, 2840, 730, 2807, 726, 2866, 725, 724, 2807,
3892 2807, 2807, 2807, 2807, 2859, 2859, 2859, 723, 2859, 722,
3893 721, 2859, 2874, 2874, 2874, 2876, 2876, 2876, 720, 2876,
3894 719, 718, 2876, 717, 716, 2891, 2891, 2891, 2807, 2807,
3895 2874, 714, 712, 2876, 2879, 2879, 2879, 2879, 2879, 2879,
3896 2879, 2879, 2879, 2891, 709, 2879, 2897, 2897, 2897, 708,
3897 2879, 2879, 2879, 2879, 2879, 2894, 2894, 2894, 707, 2894,
3898 706, 705, 2894, 2897, 2898, 2898, 2898, 704, 2898, 699,
3899 698, 2898, 2939, 2939, 2939, 2947, 2947, 2947, 697, 2879,
3900 2879, 2880, 2880, 2880, 2880, 2880, 2880, 2880, 2880, 2880,
3901 2939, 694, 2880, 2947, 2947, 693, 692, 2880, 2880, 2880,
3903 2880, 2880, 2906, 2906, 2906, 691, 2906, 688, 687, 2906,
3904 2909, 2909, 2909, 685, 2909, 682, 681, 2909, 2962, 2962,
3905 2962, 2967, 2967, 2967, 678, 2967, 2880, 2880, 2967, 2974,
3906 2974, 2974, 2979, 2979, 2979, 2962, 2992, 2992, 2992, 2996,
3907 2996, 2996, 3007, 3007, 3007, 677, 2974, 676, 675, 2979,
3908 674, 3008, 3008, 3008, 2992, 3008, 673, 2996, 3008, 3007,
3909 3019, 3019, 3019, 3020, 3020, 3020, 665, 3020, 664, 663,
3910 3020, 3027, 3027, 3027, 3028, 3028, 3028, 3019, 3028, 660,
3911 659, 3028, 3035, 3035, 3035, 3045, 3045, 3045, 3027, 3045,
3912 2996, 658, 3045, 655, 3058, 3058, 3058, 653, 3058, 652,
3914 3035, 3058, 3067, 3067, 3067, 649, 3067, 648, 647, 3067,
3915 3200, 3200, 3200, 3211, 3211, 3211, 646, 3211, 643, 3035,
3916 3211, 3330, 3330, 3330, 3331, 3331, 3331, 642, 3200, 641,
3917 640, 3211, 636, 635, 634, 633, 627, 626, 624, 3330,
3918 618, 617, 3331, 3334, 3334, 3334, 3334, 3334, 3334, 3334,
3919 3334, 3334, 3335, 3335, 3335, 3335, 3335, 3335, 3335, 3335,
3920 3335, 3336, 3336, 3336, 3336, 3336, 3336, 3336, 3336, 3336,
3921 3337, 3337, 3337, 3337, 3337, 3337, 3337, 3337, 3337, 3338,
3922 3338, 3338, 3338, 3338, 3338, 3338, 3338, 3338, 3339, 3339,
3923 3339, 3339, 3339, 3339, 3339, 3339, 3339, 3340, 3340, 3340,
3925 3340, 3340, 3340, 3340, 3340, 3340, 3341, 3341, 3341, 3341,
3926 3341, 3341, 3341, 3341, 3341, 3342, 3342, 3342, 3342, 3342,
3927 3342, 3342, 3342, 3342, 3343, 3343, 3343, 3343, 3343, 3343,
3928 3343, 3343, 3343, 3344, 3344, 3344, 3344, 3344, 3344, 3344,
3929 3344, 3344, 3345, 3345, 3345, 3345, 3345, 3345, 3345, 3345,
3930 3345, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
3931 3347, 3347, 3347, 3347, 3347, 3347, 3347, 3347, 3347, 3348,
3932 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3349, 3349,
3933 3349, 3349, 3349, 3349, 3349, 3349, 3349, 3350, 3350, 3350,
3934 3350, 3350, 3350, 3350, 3350, 3350, 3351, 3351, 3351, 3351,
3936 3351, 3351, 3351, 3351, 3351, 3352, 3352, 3352, 3352, 3352,
3937 3352, 3352, 3352, 3352, 3353, 3353, 3353, 3353, 3353, 3353,
3938 3353, 3353, 3353, 3354, 3354, 3354, 3354, 3354, 3354, 3354,
3939 3354, 3354, 3355, 3355, 3355, 3355, 3355, 3355, 3355, 3355,
3940 3355, 3356, 3356, 3356, 3356, 3356, 3356, 3356, 3356, 3356,
3941 3357, 3357, 3357, 3357, 3357, 3357, 3357, 3357, 3357, 3358,
3942 3358, 3358, 3358, 3358, 3358, 3358, 3358, 3358, 3359, 3359,
3943 3359, 3359, 3359, 3359, 3359, 3359, 3359, 3360, 3360, 3360,
3944 3360, 3360, 3360, 3360, 3360, 3360, 3361, 3361, 3361, 3361,
3945 3361, 3361, 3361, 3361, 3361, 3362, 3362, 3362, 3362, 3362,
3947 3362, 3362, 3362, 3362, 3363, 3363, 3363, 3363, 3363, 3363,
3948 3363, 3363, 3363, 3364, 3364, 3364, 3364, 3364, 3364, 3364,
3949 3364, 3364, 3365, 3365, 3365, 3365, 3365, 3365, 3365, 3365,
3950 3365, 3366, 3366, 3366, 3366, 3366, 3366, 3366, 3366, 3366,
3951 3367, 3367, 3367, 3367, 3367, 3367, 3367, 3367, 3367, 3368,
3952 3368, 3368, 3368, 3368, 3368, 3368, 3368, 3368, 3369, 3369,
3953 3369, 3369, 3369, 3369, 3369, 3369, 3369, 3370, 3370, 3370,
3954 3370, 3370, 3370, 3370, 3370, 3370, 3371, 3371, 3371, 3371,
3955 3371, 3371, 3371, 3371, 3371, 3372, 3372, 3372, 3372, 3372,
3956 3372, 3372, 3372, 3372, 3373, 3373, 3373, 3373, 3373, 3373,
3958 3373, 3373, 3373, 3374, 3374, 3374, 3374, 3374, 3374, 3374,
3959 3374, 3374, 3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375,
3960 3375, 3376, 3376, 3376, 3376, 3376, 3376, 3376, 3376, 3376,
3961 3377, 3377, 3377, 3377, 3377, 3377, 3377, 3377, 3377, 3378,
3962 3378, 3378, 3378, 3378, 3378, 3378, 3378, 3378, 3379, 3379,
3963 3379, 3379, 3379, 3379, 3379, 3379, 3379, 3380, 3380, 3380,
3964 3380, 3380, 3380, 3380, 3380, 3380, 3381, 3381, 3381, 3381,
3965 3381, 3381, 3381, 3381, 3381, 3382, 3382, 3382, 3382, 3382,
3966 3382, 3382, 3382, 3382, 3383, 3383, 3383, 3383, 3383, 3383,
3967 3383, 3383, 3383, 3384, 3384, 3384, 3384, 3384, 3384, 3384,
3969 3384, 3384, 3385, 3385, 3385, 3385, 3385, 3385, 3385, 3385,
3970 3385, 3386, 3386, 3386, 3386, 3386, 3386, 3386, 3386, 3386,
3971 3387, 3387, 3387, 3387, 3387, 3387, 3387, 3387, 3387, 3388,
3972 3388, 3388, 3388, 3388, 3388, 3388, 3388, 3388, 3389, 3389,
3973 3389, 3389, 3389, 3389, 3389, 3389, 3389, 3390, 3390, 3390,
3974 3390, 3390, 3390, 3390, 3390, 3390, 3391, 3391, 3391, 3391,
3975 3391, 3391, 3391, 3391, 3391, 3392, 3392, 3392, 3392, 3392,
3976 3392, 3392, 3392, 3392, 3393, 3393, 3393, 3393, 3393, 3393,
3977 3393, 3393, 3393, 3394, 3394, 3394, 616, 612, 609, 3394,
3978 3395, 3395, 3395, 607, 606, 605, 3395, 3396, 3396, 3396,
3980 601, 597, 593, 3396, 3397, 3397, 3397, 592, 591, 590,
3981 3397, 3398, 3398, 3398, 586, 582, 579, 3398, 3399, 3399,
3982 3399, 578, 577, 576, 3399, 3400, 3400, 3400, 572, 566,
3983 565, 3400, 3401, 3401, 3401, 561, 557, 553, 3401, 3402,
3984 3402, 3402, 549, 542, 540, 3402, 3403, 3403, 3403, 539,
3985 535, 529, 3403, 3404, 3404, 3404, 528, 524, 520, 3404,
3986 3405, 3405, 3405, 516, 515, 514, 3405, 3406, 3406, 3406,
3987 513, 512, 508, 3406, 3407, 3407, 3407, 504, 497, 493,
3988 3407, 3408, 3408, 3408, 485, 484, 483, 3408, 3409, 3409,
3989 3409, 482, 481, 477, 3409, 3410, 3410, 3410, 471, 470,
3991 466, 3410, 3411, 3411, 3411, 460, 459, 455, 3411, 3412,
3992 3412, 3412, 449, 448, 444, 3412, 3413, 3413, 3413, 440,
3993 436, 435, 3413, 3414, 3414, 3414, 434, 430, 426, 3414,
3994 3415, 3415, 3415, 422, 418, 412, 3415, 3416, 3416, 3416,
3995 411, 410, 406, 3416, 3417, 3417, 3417, 402, 397, 396,
3996 3417, 3418, 3418, 3418, 395, 394, 390, 3418, 3419, 3419,
3997 3419, 386, 383, 379, 3419, 3420, 3420, 3420, 375, 372,
3998 369, 3420, 3421, 3421, 3421, 3421, 3421, 3421, 3421, 367,
3999 3421, 3422, 3422, 3422, 366, 361, 354, 3422, 3423, 353,
4000 352, 351, 3423, 3424, 3424, 3424, 350, 346, 342, 3424,
4002 3425, 339, 338, 334, 3425, 3426, 3426, 3426, 330, 327,
4003 326, 3426, 3427, 325, 321, 315, 3427, 3428, 3428, 3428,
4004 314, 313, 309, 3428, 3429, 303, 299, 296, 3429, 3430,
4005 3430, 3430, 295, 290, 289, 3430, 3431, 285, 281, 277,
4006 3431, 3432, 3432, 3432, 273, 272, 268, 3432, 3433, 265,
4007 264, 263, 3433, 3434, 3434, 3434, 257, 256, 254, 3434,
4008 3435, 251, 239, 0, 3435, 3436, 3436, 3436, 0, 0,
4009 0, 3436, 3437, 0, 0, 0, 3437, 3438, 3438, 3438,
4010 0, 0, 0, 3438, 3439, 0, 0, 0, 3439, 3440,
4011 3440, 3440, 0, 0, 0, 3440, 3441, 0, 0, 0,
4013 3441, 3442, 3442, 3442, 0, 0, 0, 3442, 3443, 0,
4014 0, 0, 3443, 3444, 3444, 3444, 0, 0, 0, 3444,
4015 3445, 0, 0, 0, 3445, 3446, 3446, 3446, 0, 0,
4016 0, 3446, 3447, 0, 0, 0, 3447, 3448, 3448, 3448,
4017 0, 0, 0, 3448, 3449, 0, 0, 0, 3449, 3450,
4018 3450, 3450, 0, 0, 0, 3450, 3451, 0, 0, 0,
4019 3451, 3452, 3452, 3452, 0, 0, 0, 3452, 3453, 0,
4020 0, 0, 3453, 3454, 3454, 3454, 0, 0, 0, 3454,
4021 3455, 0, 0, 0, 3455, 3456, 3456, 3456, 0, 0,
4022 0, 3456, 3457, 0, 0, 0, 3457, 3458, 3458, 3458,
4024 0, 0, 0, 3458, 3459, 0, 0, 0, 3459, 3460,
4025 3460, 3460, 0, 0, 0, 3460, 3461, 0, 0, 0,
4026 3461, 3462, 3462, 3462, 0, 0, 0, 3462, 3463, 0,
4027 0, 0, 3463, 3464, 3464, 3464, 0, 0, 0, 3464,
4028 3465, 0, 0, 0, 3465, 3466, 3466, 3466, 0, 0,
4029 0, 3466, 3467, 0, 0, 0, 3467, 3468, 3468, 3468,
4030 0, 0, 0, 3468, 3469, 0, 0, 0, 3469, 3470,
4031 3470, 3470, 0, 0, 0, 3470, 3471, 0, 0, 0,
4032 3471, 3472, 3472, 3472, 0, 0, 0, 3472, 3473, 0,
4033 0, 0, 3473, 3474, 3474, 3474, 0, 0, 0, 3474,
4035 3475, 0, 0, 0, 3475, 3476, 3476, 3476, 3476, 3476,
4036 3476, 3476, 3476, 3476, 3477, 0, 0, 0, 0, 3477,
4037 3478, 3478, 3478, 0, 0, 0, 3478, 3479, 3479, 3479,
4038 3479, 0, 0, 3479, 3479, 3480, 3480, 3480, 3480, 0,
4039 3480, 0, 3480, 3481, 3481, 3481, 3481, 0, 0, 3481,
4040 3481, 3482, 3482, 3482, 0, 0, 0, 3482, 3483, 3483,
4041 3483, 3483, 0, 0, 3483, 3483, 3484, 3484, 3484, 0,
4042 0, 0, 3484, 3485, 3485, 3485, 3485, 0, 0, 3485,
4043 3485, 3486, 3486, 3486, 3486, 0, 3486, 0, 3486, 3487,
4044 3487, 3487, 3487, 0, 0, 3487, 3487, 3488, 3488, 3488,
4046 3488, 0, 3488, 0, 3488, 3489, 3489, 3489, 3489, 0,
4047 0, 3489, 3489, 3490, 3490, 3490, 3490, 0, 3490, 0,
4048 3490, 3491, 3491, 3491, 3491, 0, 0, 3491, 3491, 3492,
4049 3492, 3492, 0, 0, 0, 3492, 3493, 3493, 3493, 3493,
4050 0, 0, 3493, 3493, 3494, 3494, 3494, 3494, 0, 0,
4051 3494, 3494, 3495, 3495, 3495, 0, 0, 0, 3495, 3496,
4052 3496, 3496, 3496, 0, 0, 3496, 3496, 3497, 3497, 3497,
4053 0, 0, 0, 3497, 3498, 3498, 3498, 3498, 0, 0,
4054 3498, 3498, 3499, 3499, 3499, 0, 0, 0, 3499, 3500,
4055 3500, 3500, 3500, 0, 0, 3500, 3500, 3501, 3501, 3501,
4057 0, 0, 0, 3501, 3502, 3502, 3502, 3502, 0, 0,
4058 3502, 3502, 3503, 3503, 3503, 0, 0, 0, 3503, 3504,
4059 3504, 3504, 3504, 0, 0, 3504, 3504, 3505, 3505, 3505,
4060 0, 0, 0, 3505, 3506, 3506, 3506, 3506, 0, 0,
4061 3506, 3506, 3507, 3507, 3507, 0, 0, 0, 3507, 3508,
4062 3508, 3508, 3508, 0, 0, 3508, 3508, 3509, 3509, 3509,
4063 0, 0, 0, 3509, 3510, 3510, 3510, 3510, 0, 0,
4064 3510, 3510, 3511, 3511, 3511, 0, 0, 0, 3511, 3512,
4065 3512, 3512, 3512, 0, 0, 3512, 3512, 3513, 3513, 3513,
4066 0, 0, 0, 3513, 3514, 3514, 3514, 3514, 0, 0,
4068 3514, 3514, 3515, 3515, 3515, 0, 0, 0, 3515, 3516,
4069 3516, 3516, 3516, 0, 0, 3516, 3516, 3517, 3517, 3517,
4070 0, 0, 0, 3517, 3518, 3518, 3518, 3518, 0, 0,
4071 3518, 3518, 3519, 3519, 3519, 3519, 0, 3519, 0, 3519,
4072 3520, 3520, 3520, 3520, 0, 0, 3520, 3520, 3521, 3521,
4073 3521, 0, 0, 0, 3521, 3522, 3522, 3522, 3522, 0,
4074 0, 3522, 3522, 3523, 3523, 3523, 0, 0, 0, 3523,
4075 3524, 3524, 3524, 3524, 0, 0, 3524, 3524, 3525, 3525,
4076 3525, 0, 0, 0, 3525, 3526, 3526, 3526, 3526, 0,
4077 0, 3526, 3526, 3527, 3527, 3527, 0, 0, 0, 3527,
4079 3528, 3528, 3528, 3528, 0, 0, 3528, 3528, 3529, 3529,
4080 3529, 0, 0, 0, 3529, 3530, 3530, 3530, 3530, 0,
4081 0, 3530, 3530, 3531, 3531, 3531, 3531, 3531, 3531, 3531,
4082 3531, 3531, 3532, 0, 3532, 0, 0, 3532, 3533, 3533,
4083 3533, 0, 0, 0, 3533, 3534, 3534, 3534, 3534, 0,
4084 0, 3534, 3534, 3535, 3535, 3535, 0, 0, 0, 3535,
4085 3536, 3536, 3536, 3536, 0, 0, 3536, 3536, 3537, 3537,
4086 3537, 0, 0, 0, 3537, 3538, 3538, 3538, 3538, 0,
4087 0, 3538, 3538, 3539, 3539, 3539, 0, 0, 0, 3539,
4088 3540, 3540, 3540, 3540, 0, 0, 3540, 3540, 3541, 3541,
4090 3541, 0, 0, 0, 3541, 3542, 3542, 3542, 3542, 0,
4091 0, 3542, 3542, 3543, 3543, 3543, 3543, 0, 0, 3543,
4092 3543, 3544, 3544, 3544, 0, 0, 0, 3544, 3545, 3545,
4093 3545, 3545, 0, 0, 3545, 3545, 3546, 3546, 3546, 0,
4094 0, 0, 3546, 3547, 3547, 3547, 3547, 0, 0, 3547,
4095 3547, 3548, 3548, 3548, 3548, 0, 0, 3548, 3548, 3549,
4096 3549, 3549, 0, 0, 0, 3549, 3550, 3550, 3550, 3550,
4097 0, 0, 3550, 3550, 3551, 3551, 3551, 3551, 0, 3551,
4098 0, 3551, 3552, 3552, 3552, 3552, 0, 0, 3552, 3552,
4099 3553, 3553, 3553, 3553, 0, 3553, 0, 3553, 3554, 3554,
4101 3554, 3554, 0, 0, 3554, 3554, 3555, 3555, 3555, 0,
4102 0, 0, 3555, 3556, 3556, 3556, 3556, 0, 0, 3556,
4103 3556, 3557, 3557, 3557, 0, 0, 0, 3557, 3558, 3558,
4104 3558, 3558, 0, 0, 3558, 3558, 3559, 3559, 3559, 0,
4105 0, 0, 3559, 3560, 3560, 3560, 3560, 0, 0, 3560,
4106 3560, 3561, 3561, 3561, 3561, 0, 3561, 0, 3561, 3562,
4107 3562, 3562, 3562, 0, 0, 3562, 3562, 3563, 3563, 3563,
4108 0, 0, 0, 3563, 3564, 3564, 3564, 3564, 0, 0,
4109 3564, 3564, 3565, 3565, 3565, 0, 0, 0, 3565, 3566,
4110 3566, 3566, 3566, 0, 0, 3566, 3566, 3567, 3567, 3567,
4112 0, 0, 0, 3567, 3568, 3568, 3568, 3568, 0, 0,
4113 3568, 3568, 3569, 3569, 3569, 0, 0, 0, 3569, 3570,
4114 3570, 3570, 3570, 0, 0, 3570, 3570, 3571, 3571, 3571,
4115 0, 0, 0, 3571, 3572, 3572, 3572, 3572, 0, 0,
4116 3572, 3572, 3573, 3573, 3573, 0, 0, 0, 3573, 3574,
4117 3574, 3574, 3574, 0, 0, 3574, 3574, 3575, 3575, 3575,
4118 0, 0, 0, 3575, 3576, 3576, 3576, 3576, 0, 0,
4119 3576, 3576, 3577, 3577, 3577, 0, 0, 0, 3577, 3578,
4120 3578, 3578, 3578, 0, 0, 3578, 3578, 3579, 3579, 3579,
4121 0, 0, 0, 3579, 3580, 3580, 3580, 3580, 0, 0,
4123 3580, 3580, 3581, 3581, 3581, 3581, 0, 3581, 0, 3581,
4124 3582, 3582, 3582, 3582, 0, 0, 3582, 3582, 3583, 3583,
4125 3583, 0, 0, 0, 3583, 3584, 3584, 3584, 3584, 0,
4126 0, 3584, 3584, 3585, 3585, 3585, 3585, 3585, 3585, 3585,
4127 3585, 3585, 3586, 3586, 3586, 3586, 3586, 3586, 3586, 3586,
4128 3586, 3587, 3587, 3587, 0, 0, 0, 3587, 3588, 3588,
4129 3588, 0, 0, 0, 3588, 3589, 3589, 3589, 3589, 0,
4130 0, 3589, 3589, 3590, 3590, 3590, 3590, 0, 3590, 0,
4131 3590, 3591, 3591, 3591, 3591, 0, 0, 3591, 3591, 3592,
4132 3592, 3592, 0, 0, 0, 3592, 3593, 3593, 3593, 3593,
4134 0, 0, 3593, 3593, 3594, 3594, 3594, 0, 0, 0,
4135 3594, 3595, 3595, 3595, 3595, 0, 0, 3595, 3595, 3596,
4136 3596, 3596, 3596, 0, 0, 3596, 3596, 3597, 3597, 3597,
4137 0, 0, 0, 3597, 3598, 3598, 3598, 3598, 0, 0,
4138 3598, 3598, 3599, 3599, 3599, 3599, 0, 3599, 0, 3599,
4139 3600, 3600, 3600, 3600, 0, 0, 3600, 3600, 3601, 3601,
4140 3601, 3601, 0, 0, 3601, 3601, 3602, 3602, 3602, 0,
4141 0, 0, 3602, 3603, 3603, 3603, 3603, 0, 0, 3603,
4142 3603, 3604, 3604, 3604, 3604, 0, 0, 3604, 3604, 3605,
4143 3605, 3605, 3605, 0, 0, 3605, 3605, 3606, 3606, 3606,
4145 0, 0, 0, 3606, 3607, 3607, 3607, 3607, 0, 0,
4146 3607, 3607, 3608, 3608, 3608, 0, 0, 0, 3608, 3609,
4147 3609, 3609, 3609, 0, 0, 3609, 3609, 3610, 3610, 3610,
4148 3610, 0, 3610, 0, 3610, 3611, 3611, 3611, 3611, 0,
4149 0, 3611, 3611, 3612, 3612, 3612, 0, 0, 0, 3612,
4150 3613, 3613, 3613, 3613, 0, 0, 3613, 3613, 3614, 3614,
4151 3614, 0, 0, 0, 3614, 3615, 3615, 3615, 3615, 0,
4152 0, 3615, 3615, 3616, 3616, 3616, 0, 0, 0, 3616,
4153 3617, 3617, 3617, 3617, 0, 0, 3617, 3617, 3618, 3618,
4154 3618, 0, 0, 0, 3618, 3619, 3619, 3619, 3619, 0,
4156 0, 3619, 3619, 3620, 3620, 3620, 3620, 0, 3620, 0,
4157 3620, 3621, 3621, 3621, 3621, 0, 0, 3621, 3621, 3622,
4158 3622, 3622, 0, 0, 0, 3622, 3623, 3623, 3623, 3623,
4159 0, 0, 3623, 3623, 3624, 3624, 3624, 0, 0, 0,
4160 3624, 3625, 3625, 3625, 3625, 0, 0, 3625, 3625, 3626,
4161 3626, 3626, 0, 0, 0, 3626, 3627, 3627, 3627, 3627,
4162 0, 0, 3627, 3627, 3628, 3628, 3628, 0, 0, 0,
4163 3628, 3629, 3629, 3629, 3629, 0, 0, 3629, 3629, 3630,
4164 3630, 3630, 0, 0, 0, 3630, 3631, 3631, 3631, 3631,
4165 0, 0, 3631, 3631, 3632, 3632, 3632, 0, 0, 0,
4167 3632, 3633, 3633, 3633, 3633, 0, 0, 3633, 3633, 3634,
4168 3634, 3634, 0, 0, 0, 3634, 3635, 3635, 3635, 3635,
4169 0, 0, 3635, 3635, 3636, 3636, 3636, 3636, 3636, 3636,
4170 3636, 3636, 3636, 3637, 3637, 3637, 3637, 3637, 3637, 3637,
4171 3637, 3637, 3638, 3638, 3638, 0, 0, 0, 3638, 3639,
4172 3639, 3639, 3639, 0, 3639, 0, 3639, 3640, 3640, 3640,
4173 3640, 0, 0, 3640, 3640, 3641, 3641, 3641, 3641, 0,
4174 0, 3641, 3641, 3642, 3642, 3642, 0, 0, 0, 3642,
4175 3643, 3643, 3643, 3643, 0, 0, 3643, 3643, 3644, 3644,
4176 3644, 3644, 0, 3644, 0, 3644, 3645, 3645, 3645, 3645,
4178 0, 0, 3645, 3645, 3646, 3646, 3646, 3646, 0, 0,
4179 3646, 3646, 3647, 3647, 3647, 3647, 0, 3647, 0, 3647,
4180 3648, 3648, 3648, 3648, 0, 0, 3648, 3648, 3649, 3649,
4181 3649, 3649, 0, 3649, 0, 3649, 3650, 3650, 3650, 3650,
4182 0, 0, 3650, 3650, 3651, 3651, 3651, 3651, 0, 0,
4183 3651, 3651, 3652, 3652, 3652, 0, 0, 0, 3652, 3653,
4184 3653, 3653, 3653, 0, 0, 3653, 3653, 3654, 3654, 3654,
4185 3654, 0, 0, 3654, 3654, 3655, 3655, 3655, 3655, 0,
4186 0, 3655, 3655, 3656, 3656, 3656, 0, 0, 0, 3656,
4187 3657, 3657, 3657, 3657, 0, 0, 3657, 3657, 3658, 3658,
4189 3658, 0, 0, 0, 3658, 3659, 3659, 3659, 3659, 0,
4190 0, 3659, 3659, 3660, 3660, 3660, 3660, 0, 0, 3660,
4191 3660, 3661, 3661, 3661, 0, 0, 0, 3661, 3662, 3662,
4192 3662, 3662, 0, 0, 3662, 3662, 3663, 3663, 3663, 0,
4193 0, 0, 3663, 3664, 3664, 3664, 3664, 0, 0, 3664,
4194 3664, 3665, 3665, 3665, 0, 0, 0, 3665, 3666, 3666,
4195 3666, 3666, 0, 0, 3666, 3666, 3667, 3667, 3667, 0,
4196 0, 0, 3667, 3668, 3668, 3668, 3668, 0, 0, 3668,
4197 3668, 3669, 3669, 3669, 3669, 0, 0, 3669, 3669, 3670,
4198 3670, 3670, 0, 0, 0, 3670, 3671, 3671, 3671, 3671,
4200 0, 0, 3671, 3671, 3672, 3672, 3672, 0, 0, 0,
4201 3672, 3673, 3673, 3673, 3673, 0, 0, 3673, 3673, 3674,
4202 3674, 3674, 0, 0, 0, 3674, 3675, 3675, 3675, 3675,
4203 0, 0, 3675, 3675, 3676, 3676, 3676, 3676, 0, 3676,
4204 0, 3676, 3677, 3677, 3677, 3677, 0, 0, 3677, 3677,
4205 3678, 3678, 3678, 0, 0, 0, 3678, 3679, 3679, 3679,
4206 3679, 0, 0, 3679, 3679, 3680, 3680, 3680, 0, 0,
4207 0, 3680, 3681, 3681, 3681, 3681, 0, 0, 3681, 3681,
4208 3682, 3682, 3682, 0, 0, 0, 3682, 3683, 3683, 3683,
4209 3683, 0, 0, 3683, 3683, 3684, 3684, 3684, 3684, 3684,
4211 3684, 3684, 3684, 3684, 3685, 3685, 3685, 3685, 3685, 3685,
4212 3685, 3685, 3685, 3686, 3686, 3686, 3686, 0, 3686, 0,
4213 3686, 3687, 3687, 3687, 0, 0, 0, 3687, 3688, 3688,
4214 3688, 3688, 0, 0, 3688, 3688, 3689, 3689, 3689, 3689,
4215 0, 0, 3689, 3689, 3690, 3690, 3690, 0, 0, 0,
4216 3690, 3691, 3691, 3691, 3691, 0, 0, 3691, 3691, 3692,
4217 3692, 3692, 3692, 0, 0, 3692, 3692, 3693, 3693, 3693,
4218 3693, 0, 0, 3693, 3693, 3694, 3694, 3694, 3694, 0,
4219 3694, 0, 3694, 3695, 3695, 3695, 3695, 0, 0, 3695,
4220 3695, 3696, 3696, 3696, 0, 0, 0, 3696, 3697, 3697,
4222 3697, 3697, 0, 0, 3697, 3697, 3698, 3698, 3698, 3698,
4223 0, 0, 3698, 3698, 3699, 3699, 3699, 0, 0, 0,
4224 3699, 3700, 3700, 3700, 3700, 0, 0, 3700, 3700, 3701,
4225 3701, 3701, 3701, 0, 0, 3701, 3701, 3702, 3702, 3702,
4226 0, 0, 0, 3702, 3703, 3703, 3703, 0, 0, 0,
4227 3703, 3704, 3704, 3704, 3704, 0, 0, 3704, 3704, 3705,
4228 3705, 3705, 3705, 0, 0, 3705, 3705, 3706, 3706, 3706,
4229 0, 0, 0, 3706, 3707, 3707, 3707, 3707, 0, 0,
4230 3707, 3707, 3708, 3708, 3708, 0, 0, 0, 3708, 3709,
4231 3709, 3709, 3709, 0, 3709, 0, 3709, 3710, 3710, 3710,
4233 3710, 0, 0, 3710, 3710, 3711, 3711, 3711, 0, 0,
4234 0, 3711, 3712, 3712, 3712, 3712, 0, 0, 3712, 3712,
4235 3713, 3713, 3713, 0, 0, 0, 3713, 3714, 3714, 3714,
4236 3714, 0, 0, 3714, 3714, 3715, 3715, 3715, 0, 0,
4237 0, 3715, 3716, 3716, 3716, 3716, 0, 0, 3716, 3716,
4238 3717, 3717, 3717, 0, 0, 0, 3717, 3718, 3718, 3718,
4239 3718, 0, 0, 3718, 3718, 3719, 3719, 3719, 3719, 0,
4240 3719, 0, 3719, 3720, 3720, 3720, 3720, 0, 0, 3720,
4241 3720, 3721, 3721, 3721, 3721, 0, 3721, 0, 3721, 3722,
4242 3722, 3722, 3722, 0, 0, 3722, 3722, 3723, 3723, 3723,
4244 0, 0, 0, 3723, 3724, 3724, 3724, 3724, 0, 0,
4245 3724, 3724, 3725, 3725, 3725, 3725, 0, 3725, 0, 3725,
4246 3726, 3726, 3726, 3726, 0, 0, 3726, 3726, 3727, 3727,
4247 3727, 3727, 3727, 3727, 3727, 3727, 3727, 3728, 3728, 3728,
4248 3728, 3728, 3728, 3728, 3728, 3728, 3729, 3729, 3729, 0,
4249 0, 0, 3729, 3730, 3730, 3730, 3730, 0, 0, 3730,
4250 3730, 3731, 3731, 3731, 3731, 0, 0, 3731, 3731, 3732,
4251 3732, 3732, 0, 0, 0, 3732, 3733, 3733, 3733, 3733,
4252 0, 0, 3733, 3733, 3734, 3734, 3734, 3734, 0, 0,
4253 3734, 3734, 3735, 3735, 3735, 3735, 0, 0, 3735, 3735,
4255 3736, 3736, 3736, 3736, 0, 0, 3736, 3736, 3737, 3737,
4256 3737, 0, 0, 0, 3737, 3738, 3738, 3738, 3738, 0,
4257 0, 3738, 3738, 3739, 3739, 3739, 3739, 0, 0, 3739,
4258 3739, 3740, 3740, 3740, 0, 0, 0, 3740, 3741, 3741,
4259 3741, 3741, 0, 0, 3741, 3741, 3742, 3742, 3742, 3742,
4260 0, 0, 3742, 3742, 3743, 3743, 3743, 0, 0, 0,
4261 3743, 3744, 3744, 3744, 0, 0, 0, 3744, 3745, 3745,
4262 3745, 3745, 0, 0, 3745, 3745, 3746, 3746, 3746, 3746,
4263 0, 0, 3746, 3746, 3747, 3747, 3747, 0, 0, 0,
4264 3747, 3748, 3748, 3748, 0, 0, 0, 3748, 3749, 3749,
4266 3749, 3749, 0, 0, 3749, 3749, 3750, 3750, 3750, 3750,
4267 0, 3750, 0, 3750, 3751, 3751, 3751, 3751, 0, 0,
4268 3751, 3751, 3752, 3752, 3752, 0, 0, 0, 3752, 3753,
4269 3753, 3753, 3753, 0, 0, 3753, 3753, 3754, 3754, 3754,
4270 0, 0, 0, 3754, 3755, 3755, 3755, 0, 0, 0,
4271 3755, 3756, 3756, 3756, 3756, 0, 0, 3756, 3756, 3757,
4272 3757, 3757, 0, 0, 0, 3757, 3758, 3758, 3758, 3758,
4273 0, 0, 3758, 3758, 3759, 3759, 3759, 0, 0, 0,
4274 3759, 3760, 3760, 3760, 3760, 0, 0, 3760, 3760, 3761,
4275 3761, 3761, 0, 0, 0, 3761, 3762, 3762, 3762, 3762,
4277 0, 0, 3762, 3762, 3763, 3763, 3763, 3763, 3763, 3763,
4278 3763, 3763, 3763, 3764, 3764, 3764, 3764, 3764, 3764, 3764,
4279 3764, 3764, 3765, 3765, 3765, 0, 0, 0, 3765, 3766,
4280 3766, 3766, 3766, 0, 0, 3766, 3766, 3767, 3767, 3767,
4281 3767, 0, 0, 3767, 3767, 3768, 3768, 3768, 3768, 0,
4282 3768, 0, 3768, 3769, 3769, 3769, 3769, 0, 0, 3769,
4283 3769, 3770, 3770, 3770, 3770, 0, 0, 3770, 3770, 3771,
4284 3771, 3771, 3771, 0, 0, 3771, 3771, 3772, 3772, 3772,
4285 3772, 0, 0, 3772, 3772, 3773, 3773, 3773, 0, 0,
4286 0, 3773, 3774, 3774, 3774, 3774, 0, 0, 3774, 3774,
4288 3775, 3775, 3775, 0, 0, 0, 3775, 3776, 3776, 3776,
4289 3776, 0, 0, 3776, 3776, 3777, 3777, 3777, 3777, 0,
4290 0, 3777, 3777, 3778, 3778, 3778, 3778, 0, 3778, 0,
4291 3778, 3779, 3779, 3779, 3779, 0, 3779, 0, 3779, 3780,
4292 3780, 3780, 3780, 0, 0, 3780, 3780, 3781, 3781, 3781,
4293 3781, 0, 0, 3781, 3781, 3782, 3782, 3782, 3782, 0,
4294 3782, 0, 3782, 3783, 3783, 3783, 0, 0, 0, 3783,
4295 3784, 3784, 3784, 3784, 0, 0, 3784, 3784, 3785, 3785,
4296 3785, 3785, 0, 3785, 0, 3785, 3786, 3786, 3786, 3786,
4297 0, 0, 3786, 3786, 3787, 3787, 3787, 3787, 0, 3787,
4299 0, 3787, 3788, 3788, 3788, 0, 0, 0, 3788, 3789,
4300 3789, 3789, 0, 0, 0, 3789, 3790, 3790, 3790, 0,
4301 0, 0, 3790, 3791, 3791, 3791, 3791, 0, 0, 3791,
4302 3791, 3792, 3792, 3792, 0, 0, 0, 3792, 3793, 3793,
4303 3793, 3793, 0, 0, 3793, 3793, 3794, 3794, 3794, 0,
4304 0, 0, 3794, 3795, 3795, 3795, 3795, 0, 0, 3795,
4305 3795, 3796, 3796, 3796, 3796, 3796, 3796, 3796, 3796, 3796,
4306 3797, 3797, 3797, 3797, 3797, 3797, 3797, 3797, 3797, 3798,
4307 3798, 3798, 0, 0, 0, 3798, 3799, 3799, 3799, 3799,
4308 0, 0, 3799, 3799, 3800, 3800, 3800, 3800, 0, 0,
4310 3800, 3800, 3801, 3801, 3801, 3801, 0, 0, 3801, 3801,
4311 3802, 3802, 3802, 3802, 0, 0, 3802, 3802, 3803, 3803,
4312 3803, 0, 0, 0, 3803, 3804, 3804, 3804, 0, 0,
4313 0, 3804, 3805, 3805, 3805, 3805, 0, 0, 3805, 3805,
4314 3806, 3806, 3806, 0, 0, 0, 3806, 3807, 3807, 3807,
4315 3807, 3807, 3807, 3807, 3807, 3807, 3808, 3808, 3808, 3808,
4316 3808, 3808, 3808, 3808, 3808, 3809, 3809, 3809, 3809, 3809,
4317 3809, 3809, 3809, 3809, 3810, 3810, 3810, 3810, 3810, 3810,
4318 3810, 3810, 3810, 3811, 3811, 3811, 3811, 3811, 3811, 3811,
4319 3811, 3811, 3812, 3812, 3812, 3812, 3812, 3812, 3812, 3812,
4321 3812, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
4322 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
4323 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
4324 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
4325 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
4326 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
4327 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
4328 3333, 3333, 3333, 3333, 3333, 3333
4331 /* Table of booleans, true if rule could match eol. */
4332 static yyconst flex_int32_t yy_rule_can_match_eol[562] =
4334 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1,
4335 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
4336 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
4337 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1,
4338 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1,
4339 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0,
4340 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
4341 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
4342 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
4343 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0,
4344 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1,
4345 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1,
4346 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0,
4347 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
4348 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1,
4349 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1,
4350 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1,
4351 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1,
4352 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
4353 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0,
4354 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
4355 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1,
4356 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0,
4357 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0,
4358 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0,
4359 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1,
4360 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0,
4361 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0,
4364 static yy_state_type yy_last_accepting_state;
4365 static char *yy_last_accepting_cpos;
4367 extern int surf_parse__flex_debug;
4368 int surf_parse__flex_debug = 0;
4370 /* The intent behind this definition is that it'll catch
4371 * any uses of REJECT which flex missed.
4373 #define REJECT reject_used_but_not_detected
4374 #define yymore() yymore_used_but_not_detected
4375 #define YY_MORE_ADJ 0
4376 #define YY_RESTORE_YY_MORE_OFFSET
4377 char *surf_parse_text;
4378 /* Validating XML processor for src/surf/xml/simgrid.dtd.
4380 * This program was generated with the FleXML XML processor generator.
4381 * FleXML is Copyright (C) 1999-2005 Kristoffer Rose. All rights reserved.
4382 * FleXML is Copyright (C) 2003-2013 Martin Quinson. All rights reserved.
4385 * There are two, intertwined parts to this program, part A and part B.
4390 * Some parts, here collectively called "Part A", are found in the
4391 * FleXML package. They are Copyright (C) 1999-2005 Kristoffer Rose
4392 * and Copyright (C) 2003-2013 Martin Quinson. All rights reserved.
4394 * You can redistribute, use, perform, display and/or modify "Part A"
4395 * provided the following two conditions hold:
4397 * 1. The program is distributed WITHOUT ANY WARRANTY from the author of
4398 * FleXML; without even the implied warranty of MERCHANTABILITY or
4399 * FITNESS FOR A PARTICULAR PURPOSE.
4401 * 2. The program distribution conditions do not in any way affect the
4402 * distribution conditions of the FleXML system used to generate this
4403 * file or any version of FleXML derived from that system.
4405 * Notice that these are explicit rights granted to you for files
4406 * generated by the FleXML system. For your rights in connection with
4407 * the FleXML system itself please consult the GNU General Public License.
4412 * The other parts, here collectively called "Part B", and which came
4413 * from the DTD used by FleXML to generate this program, can be
4414 * distributed (or not, as the case may be) under the terms of whoever
4415 * wrote them, provided these terms respect and obey the two conditions
4416 * above under the heading "Part A".
4418 * The author of and contributors to FleXML specifically disclaim
4419 * any copyright interest in "Part B", unless "Part B" was written
4420 * by the author of or contributors to FleXML.
4424 /* Version strings. */
4425 const char surfxml_flexml_version[] = "1.9.6";
4428 #include <stdlib.h> /* for realloc() -- needed here when using flex 2.5.4 */
4435 #if defined(_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__TOS_WIN__)
4436 # ifndef __STRICT_ANSI__
4438 # include <process.h>
4441 # include <unistd.h>
4444 #ifndef FLEXML_INDEXSTACKSIZE
4445 #define FLEXML_INDEXSTACKSIZE 1000
4448 /* Generated definitions. */
4449 #define FLEXML_yylineno
4450 #ifndef FLEXML_BUFFERSTACKSIZE
4451 #define FLEXML_BUFFERSTACKSIZE 1000000
4453 #define FLEXML_NEED_BUFFERLIT
4455 /* XML processor api. */
4456 /* FleXML-provided data. */
4457 int surfxml_pcdata_ix;
4458 extern char *surfxml_bufferstack;
4459 #define surfxml_pcdata (surfxml_bufferstack + surfxml_pcdata_ix)
4460 AT_surfxml_AS_id AX_surfxml_AS_id;
4461 #define A_surfxml_AS_id (surfxml_bufferstack + AX_surfxml_AS_id)
4462 short int surfxml_AS_id_isset;
4463 AT_surfxml_AS_routing AX_surfxml_AS_routing;
4464 #define A_surfxml_AS_routing AX_surfxml_AS_routing
4465 short int surfxml_AS_routing_isset;
4466 AT_surfxml_ASroute_dst AX_surfxml_ASroute_dst;
4467 #define A_surfxml_ASroute_dst (surfxml_bufferstack + AX_surfxml_ASroute_dst)
4468 short int surfxml_ASroute_dst_isset;
4469 AT_surfxml_ASroute_gw___dst AX_surfxml_ASroute_gw___dst;
4470 #define A_surfxml_ASroute_gw___dst (surfxml_bufferstack + AX_surfxml_ASroute_gw___dst)
4471 short int surfxml_ASroute_gw___dst_isset;
4472 AT_surfxml_ASroute_gw___src AX_surfxml_ASroute_gw___src;
4473 #define A_surfxml_ASroute_gw___src (surfxml_bufferstack + AX_surfxml_ASroute_gw___src)
4474 short int surfxml_ASroute_gw___src_isset;
4475 AT_surfxml_ASroute_src AX_surfxml_ASroute_src;
4476 #define A_surfxml_ASroute_src (surfxml_bufferstack + AX_surfxml_ASroute_src)
4477 short int surfxml_ASroute_src_isset;
4478 AT_surfxml_ASroute_symmetrical AX_surfxml_ASroute_symmetrical;
4479 #define A_surfxml_ASroute_symmetrical AX_surfxml_ASroute_symmetrical
4480 short int surfxml_ASroute_symmetrical_isset;
4481 AT_surfxml_argument_value AX_surfxml_argument_value;
4482 #define A_surfxml_argument_value (surfxml_bufferstack + AX_surfxml_argument_value)
4483 short int surfxml_argument_value_isset;
4484 AT_surfxml_backbone_bandwidth AX_surfxml_backbone_bandwidth;
4485 #define A_surfxml_backbone_bandwidth (surfxml_bufferstack + AX_surfxml_backbone_bandwidth)
4486 short int surfxml_backbone_bandwidth_isset;
4487 AT_surfxml_backbone_id AX_surfxml_backbone_id;
4488 #define A_surfxml_backbone_id (surfxml_bufferstack + AX_surfxml_backbone_id)
4489 short int surfxml_backbone_id_isset;
4490 AT_surfxml_backbone_latency AX_surfxml_backbone_latency;
4491 #define A_surfxml_backbone_latency (surfxml_bufferstack + AX_surfxml_backbone_latency)
4492 short int surfxml_backbone_latency_isset;
4493 AT_surfxml_bypassASroute_dst AX_surfxml_bypassASroute_dst;
4494 #define A_surfxml_bypassASroute_dst (surfxml_bufferstack + AX_surfxml_bypassASroute_dst)
4495 short int surfxml_bypassASroute_dst_isset;
4496 AT_surfxml_bypassASroute_gw___dst AX_surfxml_bypassASroute_gw___dst;
4497 #define A_surfxml_bypassASroute_gw___dst (surfxml_bufferstack + AX_surfxml_bypassASroute_gw___dst)
4498 short int surfxml_bypassASroute_gw___dst_isset;
4499 AT_surfxml_bypassASroute_gw___src AX_surfxml_bypassASroute_gw___src;
4500 #define A_surfxml_bypassASroute_gw___src (surfxml_bufferstack + AX_surfxml_bypassASroute_gw___src)
4501 short int surfxml_bypassASroute_gw___src_isset;
4502 AT_surfxml_bypassASroute_src AX_surfxml_bypassASroute_src;
4503 #define A_surfxml_bypassASroute_src (surfxml_bufferstack + AX_surfxml_bypassASroute_src)
4504 short int surfxml_bypassASroute_src_isset;
4505 AT_surfxml_bypassRoute_dst AX_surfxml_bypassRoute_dst;
4506 #define A_surfxml_bypassRoute_dst (surfxml_bufferstack + AX_surfxml_bypassRoute_dst)
4507 short int surfxml_bypassRoute_dst_isset;
4508 AT_surfxml_bypassRoute_src AX_surfxml_bypassRoute_src;
4509 #define A_surfxml_bypassRoute_src (surfxml_bufferstack + AX_surfxml_bypassRoute_src)
4510 short int surfxml_bypassRoute_src_isset;
4511 AT_surfxml_cabinet_bw AX_surfxml_cabinet_bw;
4512 #define A_surfxml_cabinet_bw (surfxml_bufferstack + AX_surfxml_cabinet_bw)
4513 short int surfxml_cabinet_bw_isset;
4514 AT_surfxml_cabinet_id AX_surfxml_cabinet_id;
4515 #define A_surfxml_cabinet_id (surfxml_bufferstack + AX_surfxml_cabinet_id)
4516 short int surfxml_cabinet_id_isset;
4517 AT_surfxml_cabinet_lat AX_surfxml_cabinet_lat;
4518 #define A_surfxml_cabinet_lat (surfxml_bufferstack + AX_surfxml_cabinet_lat)
4519 short int surfxml_cabinet_lat_isset;
4520 AT_surfxml_cabinet_prefix AX_surfxml_cabinet_prefix;
4521 #define A_surfxml_cabinet_prefix (surfxml_bufferstack + AX_surfxml_cabinet_prefix)
4522 short int surfxml_cabinet_prefix_isset;
4523 AT_surfxml_cabinet_radical AX_surfxml_cabinet_radical;
4524 #define A_surfxml_cabinet_radical (surfxml_bufferstack + AX_surfxml_cabinet_radical)
4525 short int surfxml_cabinet_radical_isset;
4526 AT_surfxml_cabinet_speed AX_surfxml_cabinet_speed;
4527 #define A_surfxml_cabinet_speed (surfxml_bufferstack + AX_surfxml_cabinet_speed)
4528 short int surfxml_cabinet_speed_isset;
4529 AT_surfxml_cabinet_suffix AX_surfxml_cabinet_suffix;
4530 #define A_surfxml_cabinet_suffix (surfxml_bufferstack + AX_surfxml_cabinet_suffix)
4531 short int surfxml_cabinet_suffix_isset;
4532 AT_surfxml_cluster_bb___bw AX_surfxml_cluster_bb___bw;
4533 #define A_surfxml_cluster_bb___bw (surfxml_bufferstack + AX_surfxml_cluster_bb___bw)
4534 short int surfxml_cluster_bb___bw_isset;
4535 AT_surfxml_cluster_bb___lat AX_surfxml_cluster_bb___lat;
4536 #define A_surfxml_cluster_bb___lat (surfxml_bufferstack + AX_surfxml_cluster_bb___lat)
4537 short int surfxml_cluster_bb___lat_isset;
4538 AT_surfxml_cluster_bb___sharing___policy AX_surfxml_cluster_bb___sharing___policy;
4539 #define A_surfxml_cluster_bb___sharing___policy AX_surfxml_cluster_bb___sharing___policy
4540 short int surfxml_cluster_bb___sharing___policy_isset;
4541 AT_surfxml_cluster_bw AX_surfxml_cluster_bw;
4542 #define A_surfxml_cluster_bw (surfxml_bufferstack + AX_surfxml_cluster_bw)
4543 short int surfxml_cluster_bw_isset;
4544 AT_surfxml_cluster_core AX_surfxml_cluster_core;
4545 #define A_surfxml_cluster_core (surfxml_bufferstack + AX_surfxml_cluster_core)
4546 short int surfxml_cluster_core_isset;
4547 AT_surfxml_cluster_id AX_surfxml_cluster_id;
4548 #define A_surfxml_cluster_id (surfxml_bufferstack + AX_surfxml_cluster_id)
4549 short int surfxml_cluster_id_isset;
4550 AT_surfxml_cluster_lat AX_surfxml_cluster_lat;
4551 #define A_surfxml_cluster_lat (surfxml_bufferstack + AX_surfxml_cluster_lat)
4552 short int surfxml_cluster_lat_isset;
4553 AT_surfxml_cluster_limiter___link AX_surfxml_cluster_limiter___link;
4554 #define A_surfxml_cluster_limiter___link (surfxml_bufferstack + AX_surfxml_cluster_limiter___link)
4555 short int surfxml_cluster_limiter___link_isset;
4556 AT_surfxml_cluster_loopback___bw AX_surfxml_cluster_loopback___bw;
4557 #define A_surfxml_cluster_loopback___bw (surfxml_bufferstack + AX_surfxml_cluster_loopback___bw)
4558 short int surfxml_cluster_loopback___bw_isset;
4559 AT_surfxml_cluster_loopback___lat AX_surfxml_cluster_loopback___lat;
4560 #define A_surfxml_cluster_loopback___lat (surfxml_bufferstack + AX_surfxml_cluster_loopback___lat)
4561 short int surfxml_cluster_loopback___lat_isset;
4562 AT_surfxml_cluster_prefix AX_surfxml_cluster_prefix;
4563 #define A_surfxml_cluster_prefix (surfxml_bufferstack + AX_surfxml_cluster_prefix)
4564 short int surfxml_cluster_prefix_isset;
4565 AT_surfxml_cluster_radical AX_surfxml_cluster_radical;
4566 #define A_surfxml_cluster_radical (surfxml_bufferstack + AX_surfxml_cluster_radical)
4567 short int surfxml_cluster_radical_isset;
4568 AT_surfxml_cluster_router___id AX_surfxml_cluster_router___id;
4569 #define A_surfxml_cluster_router___id (surfxml_bufferstack + AX_surfxml_cluster_router___id)
4570 short int surfxml_cluster_router___id_isset;
4571 AT_surfxml_cluster_sharing___policy AX_surfxml_cluster_sharing___policy;
4572 #define A_surfxml_cluster_sharing___policy AX_surfxml_cluster_sharing___policy
4573 short int surfxml_cluster_sharing___policy_isset;
4574 AT_surfxml_cluster_speed AX_surfxml_cluster_speed;
4575 #define A_surfxml_cluster_speed (surfxml_bufferstack + AX_surfxml_cluster_speed)
4576 short int surfxml_cluster_speed_isset;
4577 AT_surfxml_cluster_suffix AX_surfxml_cluster_suffix;
4578 #define A_surfxml_cluster_suffix (surfxml_bufferstack + AX_surfxml_cluster_suffix)
4579 short int surfxml_cluster_suffix_isset;
4580 AT_surfxml_cluster_topo___parameters AX_surfxml_cluster_topo___parameters;
4581 #define A_surfxml_cluster_topo___parameters (surfxml_bufferstack + AX_surfxml_cluster_topo___parameters)
4582 short int surfxml_cluster_topo___parameters_isset;
4583 AT_surfxml_cluster_topology AX_surfxml_cluster_topology;
4584 #define A_surfxml_cluster_topology AX_surfxml_cluster_topology
4585 short int surfxml_cluster_topology_isset;
4586 AT_surfxml_config_id AX_surfxml_config_id;
4587 #define A_surfxml_config_id (surfxml_bufferstack + AX_surfxml_config_id)
4588 short int surfxml_config_id_isset;
4589 AT_surfxml_host_availability___file AX_surfxml_host_availability___file;
4590 #define A_surfxml_host_availability___file (surfxml_bufferstack + AX_surfxml_host_availability___file)
4591 short int surfxml_host_availability___file_isset;
4592 AT_surfxml_host_coordinates AX_surfxml_host_coordinates;
4593 #define A_surfxml_host_coordinates (surfxml_bufferstack + AX_surfxml_host_coordinates)
4594 short int surfxml_host_coordinates_isset;
4595 AT_surfxml_host_core AX_surfxml_host_core;
4596 #define A_surfxml_host_core (surfxml_bufferstack + AX_surfxml_host_core)
4597 short int surfxml_host_core_isset;
4598 AT_surfxml_host_id AX_surfxml_host_id;
4599 #define A_surfxml_host_id (surfxml_bufferstack + AX_surfxml_host_id)
4600 short int surfxml_host_id_isset;
4601 AT_surfxml_host_pstate AX_surfxml_host_pstate;
4602 #define A_surfxml_host_pstate (surfxml_bufferstack + AX_surfxml_host_pstate)
4603 short int surfxml_host_pstate_isset;
4604 AT_surfxml_host_speed AX_surfxml_host_speed;
4605 #define A_surfxml_host_speed (surfxml_bufferstack + AX_surfxml_host_speed)
4606 short int surfxml_host_speed_isset;
4607 AT_surfxml_host_state___file AX_surfxml_host_state___file;
4608 #define A_surfxml_host_state___file (surfxml_bufferstack + AX_surfxml_host_state___file)
4609 short int surfxml_host_state___file_isset;
4610 AT_surfxml_host___link_down AX_surfxml_host___link_down;
4611 #define A_surfxml_host___link_down (surfxml_bufferstack + AX_surfxml_host___link_down)
4612 short int surfxml_host___link_down_isset;
4613 AT_surfxml_host___link_id AX_surfxml_host___link_id;
4614 #define A_surfxml_host___link_id (surfxml_bufferstack + AX_surfxml_host___link_id)
4615 short int surfxml_host___link_id_isset;
4616 AT_surfxml_host___link_up AX_surfxml_host___link_up;
4617 #define A_surfxml_host___link_up (surfxml_bufferstack + AX_surfxml_host___link_up)
4618 short int surfxml_host___link_up_isset;
4619 AT_surfxml_include_file AX_surfxml_include_file;
4620 #define A_surfxml_include_file (surfxml_bufferstack + AX_surfxml_include_file)
4621 short int surfxml_include_file_isset;
4622 AT_surfxml_link_bandwidth AX_surfxml_link_bandwidth;
4623 #define A_surfxml_link_bandwidth (surfxml_bufferstack + AX_surfxml_link_bandwidth)
4624 short int surfxml_link_bandwidth_isset;
4625 AT_surfxml_link_bandwidth___file AX_surfxml_link_bandwidth___file;
4626 #define A_surfxml_link_bandwidth___file (surfxml_bufferstack + AX_surfxml_link_bandwidth___file)
4627 short int surfxml_link_bandwidth___file_isset;
4628 AT_surfxml_link_id AX_surfxml_link_id;
4629 #define A_surfxml_link_id (surfxml_bufferstack + AX_surfxml_link_id)
4630 short int surfxml_link_id_isset;
4631 AT_surfxml_link_latency AX_surfxml_link_latency;
4632 #define A_surfxml_link_latency (surfxml_bufferstack + AX_surfxml_link_latency)
4633 short int surfxml_link_latency_isset;
4634 AT_surfxml_link_latency___file AX_surfxml_link_latency___file;
4635 #define A_surfxml_link_latency___file (surfxml_bufferstack + AX_surfxml_link_latency___file)
4636 short int surfxml_link_latency___file_isset;
4637 AT_surfxml_link_sharing___policy AX_surfxml_link_sharing___policy;
4638 #define A_surfxml_link_sharing___policy AX_surfxml_link_sharing___policy
4639 short int surfxml_link_sharing___policy_isset;
4640 AT_surfxml_link_state___file AX_surfxml_link_state___file;
4641 #define A_surfxml_link_state___file (surfxml_bufferstack + AX_surfxml_link_state___file)
4642 short int surfxml_link_state___file_isset;
4643 AT_surfxml_link___ctn_direction AX_surfxml_link___ctn_direction;
4644 #define A_surfxml_link___ctn_direction AX_surfxml_link___ctn_direction
4645 short int surfxml_link___ctn_direction_isset;
4646 AT_surfxml_link___ctn_id AX_surfxml_link___ctn_id;
4647 #define A_surfxml_link___ctn_id (surfxml_bufferstack + AX_surfxml_link___ctn_id)
4648 short int surfxml_link___ctn_id_isset;
4649 AT_surfxml_model___prop_id AX_surfxml_model___prop_id;
4650 #define A_surfxml_model___prop_id (surfxml_bufferstack + AX_surfxml_model___prop_id)
4651 short int surfxml_model___prop_id_isset;
4652 AT_surfxml_model___prop_value AX_surfxml_model___prop_value;
4653 #define A_surfxml_model___prop_value (surfxml_bufferstack + AX_surfxml_model___prop_value)
4654 short int surfxml_model___prop_value_isset;
4655 AT_surfxml_mount_name AX_surfxml_mount_name;
4656 #define A_surfxml_mount_name (surfxml_bufferstack + AX_surfxml_mount_name)
4657 short int surfxml_mount_name_isset;
4658 AT_surfxml_mount_storageId AX_surfxml_mount_storageId;
4659 #define A_surfxml_mount_storageId (surfxml_bufferstack + AX_surfxml_mount_storageId)
4660 short int surfxml_mount_storageId_isset;
4661 AT_surfxml_peer_availability___file AX_surfxml_peer_availability___file;
4662 #define A_surfxml_peer_availability___file (surfxml_bufferstack + AX_surfxml_peer_availability___file)
4663 short int surfxml_peer_availability___file_isset;
4664 AT_surfxml_peer_bw___in AX_surfxml_peer_bw___in;
4665 #define A_surfxml_peer_bw___in (surfxml_bufferstack + AX_surfxml_peer_bw___in)
4666 short int surfxml_peer_bw___in_isset;
4667 AT_surfxml_peer_bw___out AX_surfxml_peer_bw___out;
4668 #define A_surfxml_peer_bw___out (surfxml_bufferstack + AX_surfxml_peer_bw___out)
4669 short int surfxml_peer_bw___out_isset;
4670 AT_surfxml_peer_coordinates AX_surfxml_peer_coordinates;
4671 #define A_surfxml_peer_coordinates (surfxml_bufferstack + AX_surfxml_peer_coordinates)
4672 short int surfxml_peer_coordinates_isset;
4673 AT_surfxml_peer_id AX_surfxml_peer_id;
4674 #define A_surfxml_peer_id (surfxml_bufferstack + AX_surfxml_peer_id)
4675 short int surfxml_peer_id_isset;
4676 AT_surfxml_peer_lat AX_surfxml_peer_lat;
4677 #define A_surfxml_peer_lat (surfxml_bufferstack + AX_surfxml_peer_lat)
4678 short int surfxml_peer_lat_isset;
4679 AT_surfxml_peer_speed AX_surfxml_peer_speed;
4680 #define A_surfxml_peer_speed (surfxml_bufferstack + AX_surfxml_peer_speed)
4681 short int surfxml_peer_speed_isset;
4682 AT_surfxml_peer_state___file AX_surfxml_peer_state___file;
4683 #define A_surfxml_peer_state___file (surfxml_bufferstack + AX_surfxml_peer_state___file)
4684 short int surfxml_peer_state___file_isset;
4685 AT_surfxml_platform_version AX_surfxml_platform_version;
4686 #define A_surfxml_platform_version (surfxml_bufferstack + AX_surfxml_platform_version)
4687 short int surfxml_platform_version_isset;
4688 AT_surfxml_process_function AX_surfxml_process_function;
4689 #define A_surfxml_process_function (surfxml_bufferstack + AX_surfxml_process_function)
4690 short int surfxml_process_function_isset;
4691 AT_surfxml_process_host AX_surfxml_process_host;
4692 #define A_surfxml_process_host (surfxml_bufferstack + AX_surfxml_process_host)
4693 short int surfxml_process_host_isset;
4694 AT_surfxml_process_kill___time AX_surfxml_process_kill___time;
4695 #define A_surfxml_process_kill___time (surfxml_bufferstack + AX_surfxml_process_kill___time)
4696 short int surfxml_process_kill___time_isset;
4697 AT_surfxml_process_on___failure AX_surfxml_process_on___failure;
4698 #define A_surfxml_process_on___failure AX_surfxml_process_on___failure
4699 short int surfxml_process_on___failure_isset;
4700 AT_surfxml_process_start___time AX_surfxml_process_start___time;
4701 #define A_surfxml_process_start___time (surfxml_bufferstack + AX_surfxml_process_start___time)
4702 short int surfxml_process_start___time_isset;
4703 AT_surfxml_prop_id AX_surfxml_prop_id;
4704 #define A_surfxml_prop_id (surfxml_bufferstack + AX_surfxml_prop_id)
4705 short int surfxml_prop_id_isset;
4706 AT_surfxml_prop_value AX_surfxml_prop_value;
4707 #define A_surfxml_prop_value (surfxml_bufferstack + AX_surfxml_prop_value)
4708 short int surfxml_prop_value_isset;
4709 AT_surfxml_random_generator AX_surfxml_random_generator;
4710 #define A_surfxml_random_generator AX_surfxml_random_generator
4711 short int surfxml_random_generator_isset;
4712 AT_surfxml_random_id AX_surfxml_random_id;
4713 #define A_surfxml_random_id (surfxml_bufferstack + AX_surfxml_random_id)
4714 short int surfxml_random_id_isset;
4715 AT_surfxml_random_max AX_surfxml_random_max;
4716 #define A_surfxml_random_max (surfxml_bufferstack + AX_surfxml_random_max)
4717 short int surfxml_random_max_isset;
4718 AT_surfxml_random_mean AX_surfxml_random_mean;
4719 #define A_surfxml_random_mean (surfxml_bufferstack + AX_surfxml_random_mean)
4720 short int surfxml_random_mean_isset;
4721 AT_surfxml_random_min AX_surfxml_random_min;
4722 #define A_surfxml_random_min (surfxml_bufferstack + AX_surfxml_random_min)
4723 short int surfxml_random_min_isset;
4724 AT_surfxml_random_radical AX_surfxml_random_radical;
4725 #define A_surfxml_random_radical (surfxml_bufferstack + AX_surfxml_random_radical)
4726 short int surfxml_random_radical_isset;
4727 AT_surfxml_random_seed AX_surfxml_random_seed;
4728 #define A_surfxml_random_seed (surfxml_bufferstack + AX_surfxml_random_seed)
4729 short int surfxml_random_seed_isset;
4730 AT_surfxml_random_std___deviation AX_surfxml_random_std___deviation;
4731 #define A_surfxml_random_std___deviation (surfxml_bufferstack + AX_surfxml_random_std___deviation)
4732 short int surfxml_random_std___deviation_isset;
4733 AT_surfxml_route_dst AX_surfxml_route_dst;
4734 #define A_surfxml_route_dst (surfxml_bufferstack + AX_surfxml_route_dst)
4735 short int surfxml_route_dst_isset;
4736 AT_surfxml_route_src AX_surfxml_route_src;
4737 #define A_surfxml_route_src (surfxml_bufferstack + AX_surfxml_route_src)
4738 short int surfxml_route_src_isset;
4739 AT_surfxml_route_symmetrical AX_surfxml_route_symmetrical;
4740 #define A_surfxml_route_symmetrical AX_surfxml_route_symmetrical
4741 short int surfxml_route_symmetrical_isset;
4742 AT_surfxml_router_coordinates AX_surfxml_router_coordinates;
4743 #define A_surfxml_router_coordinates (surfxml_bufferstack + AX_surfxml_router_coordinates)
4744 short int surfxml_router_coordinates_isset;
4745 AT_surfxml_router_id AX_surfxml_router_id;
4746 #define A_surfxml_router_id (surfxml_bufferstack + AX_surfxml_router_id)
4747 short int surfxml_router_id_isset;
4748 AT_surfxml_storage_attach AX_surfxml_storage_attach;
4749 #define A_surfxml_storage_attach (surfxml_bufferstack + AX_surfxml_storage_attach)
4750 short int surfxml_storage_attach_isset;
4751 AT_surfxml_storage_content AX_surfxml_storage_content;
4752 #define A_surfxml_storage_content (surfxml_bufferstack + AX_surfxml_storage_content)
4753 short int surfxml_storage_content_isset;
4754 AT_surfxml_storage_content___type AX_surfxml_storage_content___type;
4755 #define A_surfxml_storage_content___type (surfxml_bufferstack + AX_surfxml_storage_content___type)
4756 short int surfxml_storage_content___type_isset;
4757 AT_surfxml_storage_id AX_surfxml_storage_id;
4758 #define A_surfxml_storage_id (surfxml_bufferstack + AX_surfxml_storage_id)
4759 short int surfxml_storage_id_isset;
4760 AT_surfxml_storage_typeId AX_surfxml_storage_typeId;
4761 #define A_surfxml_storage_typeId (surfxml_bufferstack + AX_surfxml_storage_typeId)
4762 short int surfxml_storage_typeId_isset;
4763 AT_surfxml_storage___type_content AX_surfxml_storage___type_content;
4764 #define A_surfxml_storage___type_content (surfxml_bufferstack + AX_surfxml_storage___type_content)
4765 short int surfxml_storage___type_content_isset;
4766 AT_surfxml_storage___type_content___type AX_surfxml_storage___type_content___type;
4767 #define A_surfxml_storage___type_content___type (surfxml_bufferstack + AX_surfxml_storage___type_content___type)
4768 short int surfxml_storage___type_content___type_isset;
4769 AT_surfxml_storage___type_id AX_surfxml_storage___type_id;
4770 #define A_surfxml_storage___type_id (surfxml_bufferstack + AX_surfxml_storage___type_id)
4771 short int surfxml_storage___type_id_isset;
4772 AT_surfxml_storage___type_model AX_surfxml_storage___type_model;
4773 #define A_surfxml_storage___type_model (surfxml_bufferstack + AX_surfxml_storage___type_model)
4774 short int surfxml_storage___type_model_isset;
4775 AT_surfxml_storage___type_size AX_surfxml_storage___type_size;
4776 #define A_surfxml_storage___type_size (surfxml_bufferstack + AX_surfxml_storage___type_size)
4777 short int surfxml_storage___type_size_isset;
4778 AT_surfxml_trace_file AX_surfxml_trace_file;
4779 #define A_surfxml_trace_file (surfxml_bufferstack + AX_surfxml_trace_file)
4780 short int surfxml_trace_file_isset;
4781 AT_surfxml_trace_id AX_surfxml_trace_id;
4782 #define A_surfxml_trace_id (surfxml_bufferstack + AX_surfxml_trace_id)
4783 short int surfxml_trace_id_isset;
4784 AT_surfxml_trace_periodicity AX_surfxml_trace_periodicity;
4785 #define A_surfxml_trace_periodicity (surfxml_bufferstack + AX_surfxml_trace_periodicity)
4786 short int surfxml_trace_periodicity_isset;
4787 AT_surfxml_trace___connect_element AX_surfxml_trace___connect_element;
4788 #define A_surfxml_trace___connect_element (surfxml_bufferstack + AX_surfxml_trace___connect_element)
4789 short int surfxml_trace___connect_element_isset;
4790 AT_surfxml_trace___connect_kind AX_surfxml_trace___connect_kind;
4791 #define A_surfxml_trace___connect_kind AX_surfxml_trace___connect_kind
4792 short int surfxml_trace___connect_kind_isset;
4793 AT_surfxml_trace___connect_trace AX_surfxml_trace___connect_trace;
4794 #define A_surfxml_trace___connect_trace (surfxml_bufferstack + AX_surfxml_trace___connect_trace)
4795 short int surfxml_trace___connect_trace_isset;
4799 # define ENTER(state) debug_enter(state,#state)
4800 # define LEAVE debug_leave()
4801 # define SET(state) debug_set(state,#state)
4802 static void debug_enter(int, const char*);
4803 static void debug_leave(void);
4804 static void debug_set(int, const char*);
4806 # define ENTER(state) (yy_push_state(state))
4807 # define LEAVE (yy_pop_state())
4808 # define SET(state) BEGIN(state)
4811 /* Generic actions. */
4812 #define SKIP /*skip*/
4813 #define SUCCEED CLEANUP; return 0
4815 #define FAIL return fail
4816 static int fail(const char*, ...);
4818 enum {flexml_max_err_msg_size = 512};
4819 static char flexml_err_msg[flexml_max_err_msg_size];
4820 const char * surfxml_parse_err_msg()
4822 return flexml_err_msg;
4824 static void reset_surfxml_parse_err_msg()
4826 flexml_err_msg[0] = '\0';
4830 static void cleanup(void);
4831 #define CLEANUP cleanup()
4833 /* Text buffer stack handling. */
4834 char *surfxml_bufferstack = NULL;
4835 static int blimit = FLEXML_BUFFERSTACKSIZE;
4836 static int bnext = 1;
4838 static int *indexstack = NULL;
4839 static int ilimit = FLEXML_INDEXSTACKSIZE;
4840 static int inext = 1;
4842 #define BUFFERSET(P) (P = bnext)
4843 #define BUFFERPUTC(C) (ck_blimit(), surfxml_bufferstack[bnext++] = (C))
4844 #define BUFFERDONE (BUFFERPUTC('\0'))
4846 #define BUFFERLITERAL(C, P) surfxml_bufferliteral(C, &(P), surf_parse_text)
4848 /* after this is called, there are at least 2 slots left in the stack */
4849 static int ck_blimit()
4851 if (bnext >= blimit) {
4852 blimit += FLEXML_BUFFERSTACKSIZE + 2;
4854 char *temp = (char *) realloc(surfxml_bufferstack, blimit);
4856 surfxml_bufferstack = temp;
4862 /* after this is called, there are at least 2 slots left in the stack */
4863 static int ck_ilimit()
4865 if (inext >= ilimit) {
4866 ilimit += FLEXML_INDEXSTACKSIZE + 2;
4868 int *temp = (int *) realloc(indexstack, ilimit);
4876 #ifdef FLEXML_NEED_BUFFERLIT
4877 static void surfxml_bufferliteral(char c, int* pp, const char* text)
4881 const char *s = strchr(text, c), *e = strrchr(text, c);
4882 assert(s && e && s <= e);
4887 do ++s; while (s < e && isspace(*s));
4892 const char *s = text;
4900 static void pushbuffer(int p)
4903 indexstack[inext++] = p;
4904 indexstack[inext++] = bnext;
4907 static int popbuffer(void)
4910 bnext = indexstack[--inext];
4911 return indexstack[--inext];
4914 /* General internal entities are `unput' back onto the input stream... */
4915 #define ENTITYTEXT(T) \
4916 { char *s = (T), *e = s+strlen(s);\
4917 while (--e >= s) { unput(*e); }}
4919 /* Flex standard options. */
4920 #define YY_NO_INPUT 1
4921 /* Flex user-requested options. */
4922 /* XML character classes (currently restricted to ASCII). */
4923 /* "Common syntactic structures." */
4924 /* "Names and Tokens." */
4925 /* Miscellaneous. */
4926 /* Parser states (flex `exclusive start conditions'):
4928 * PROLOG the XML prolog of the document before <?xml...>
4929 * DOCTYPE the XML prolog of the document after <?xml...>
4930 * EPILOG after the root element
4931 * INCOMMENT inside an XML comment <!--....-->
4932 * INPI inside an XML PI <?...?>
4933 * VALUE1 inside a '...'-delimited literal
4934 * VALUE2 inside a "..."-delimited literal
4935 * CDATA inside a <![CDATA[...] ]> section.
4936 * ROOT_<tag> expect root element <tag>
4937 * AL_<tag> inside the attribute list for <tag>
4938 * IN_<tag> inside a <tag> with element contents (ready for end tag)
4939 * IMPOSSIBLE dummy to permit disabling rules; must be last
4943 const char* *surfxml_statenames=NULL;
4954 #define AL_surfxml_AS 9
4955 #define S_surfxml_AS 10
4956 #define S_surfxml_AS_1 11
4957 #define S_surfxml_AS_2 12
4958 #define S_surfxml_AS_3 13
4959 #define S_surfxml_AS_4 14
4960 #define S_surfxml_AS_5 15
4961 #define S_surfxml_AS_6 16
4962 #define S_surfxml_AS_7 17
4963 #define S_surfxml_AS_8 18
4964 #define E_surfxml_AS 19
4965 #define AL_surfxml_ASroute 20
4966 #define S_surfxml_ASroute 21
4967 #define S_surfxml_ASroute_1 22
4968 #define S_surfxml_ASroute_2 23
4969 #define E_surfxml_ASroute 24
4970 #define AL_surfxml_argument 25
4971 #define E_surfxml_argument 26
4972 #define AL_surfxml_backbone 27
4973 #define E_surfxml_backbone 28
4974 #define AL_surfxml_bypassASroute 29
4975 #define S_surfxml_bypassASroute 30
4976 #define S_surfxml_bypassASroute_1 31
4977 #define S_surfxml_bypassASroute_2 32
4978 #define E_surfxml_bypassASroute 33
4979 #define AL_surfxml_bypassRoute 34
4980 #define S_surfxml_bypassRoute 35
4981 #define S_surfxml_bypassRoute_1 36
4982 #define S_surfxml_bypassRoute_2 37
4983 #define E_surfxml_bypassRoute 38
4984 #define AL_surfxml_cabinet 39
4985 #define E_surfxml_cabinet 40
4986 #define AL_surfxml_cluster 41
4987 #define S_surfxml_cluster 42
4988 #define S_surfxml_cluster_1 43
4989 #define S_surfxml_cluster_2 44
4990 #define E_surfxml_cluster 45
4991 #define AL_surfxml_config 46
4992 #define S_surfxml_config 47
4993 #define S_surfxml_config_1 48
4994 #define S_surfxml_config_2 49
4995 #define E_surfxml_config 50
4996 #define AL_surfxml_host 51
4997 #define S_surfxml_host 52
4998 #define S_surfxml_host_1 53
4999 #define S_surfxml_host_2 54
5000 #define E_surfxml_host 55
5001 #define AL_surfxml_host___link 56
5002 #define E_surfxml_host___link 57
5003 #define AL_surfxml_include 58
5004 #define S_surfxml_include 59
5005 #define S_surfxml_include_1 60
5006 #define S_surfxml_include_2 61
5007 #define E_surfxml_include 62
5008 #define AL_surfxml_link 63
5009 #define S_surfxml_link 64
5010 #define S_surfxml_link_1 65
5011 #define S_surfxml_link_2 66
5012 #define E_surfxml_link 67
5013 #define AL_surfxml_link___ctn 68
5014 #define E_surfxml_link___ctn 69
5015 #define AL_surfxml_model___prop 70
5016 #define E_surfxml_model___prop 71
5017 #define AL_surfxml_mount 72
5018 #define E_surfxml_mount 73
5019 #define AL_surfxml_peer 74
5020 #define E_surfxml_peer 75
5021 #define ROOT_surfxml_platform 76
5022 #define AL_surfxml_platform 77
5023 #define S_surfxml_platform 78
5024 #define S_surfxml_platform_1 79
5025 #define S_surfxml_platform_2 80
5026 #define S_surfxml_platform_3 81
5027 #define S_surfxml_platform_4 82
5028 #define S_surfxml_platform_5 83
5029 #define S_surfxml_platform_6 84
5030 #define S_surfxml_platform_7 85
5031 #define S_surfxml_platform_8 86
5032 #define E_surfxml_platform 87
5033 #define AL_surfxml_process 88
5034 #define S_surfxml_process 89
5035 #define S_surfxml_process_1 90
5036 #define S_surfxml_process_2 91
5037 #define E_surfxml_process 92
5038 #define AL_surfxml_prop 93
5039 #define E_surfxml_prop 94
5040 #define AL_surfxml_random 95
5041 #define E_surfxml_random 96
5042 #define AL_surfxml_route 97
5043 #define S_surfxml_route 98
5044 #define S_surfxml_route_1 99
5045 #define S_surfxml_route_2 100
5046 #define E_surfxml_route 101
5047 #define AL_surfxml_router 102
5048 #define E_surfxml_router 103
5049 #define AL_surfxml_storage 104
5050 #define S_surfxml_storage 105
5051 #define S_surfxml_storage_1 106
5052 #define S_surfxml_storage_2 107
5053 #define E_surfxml_storage 108
5054 #define AL_surfxml_storage___type 109
5055 #define S_surfxml_storage___type 110
5056 #define S_surfxml_storage___type_1 111
5057 #define S_surfxml_storage___type_2 112
5058 #define E_surfxml_storage___type 113
5059 #define AL_surfxml_trace 114
5060 #define IN_trace 115
5061 #define AL_surfxml_trace___connect 116
5062 #define E_surfxml_trace___connect 117
5063 #define IMPOSSIBLE 118
5065 #ifndef YY_NO_UNISTD_H
5066 /* Special case for "unistd.h", since it is non-ANSI. We include it way
5067 * down here because we want the user's section 1 to have been scanned first.
5068 * The user has a chance to override it with an option.
5071 # ifndef __STRICT_ANSI__
5073 # include <process.h>
5076 # include <unistd.h>
5080 #ifndef YY_EXTRA_TYPE
5081 #define YY_EXTRA_TYPE void *
5084 static int yy_init_globals (void );
5086 /* Accessor methods to globals.
5087 These are made visible to non-reentrant scanners for convenience. */
5089 int surf_parse_lex_destroy (void );
5091 int surf_parse_get_debug (void );
5093 void surf_parse_set_debug (int debug_flag );
5095 YY_EXTRA_TYPE surf_parse_get_extra (void );
5097 void surf_parse_set_extra (YY_EXTRA_TYPE user_defined );
5099 FILE *surf_parse_get_in (void );
5101 void surf_parse_set_in (FILE * _in_str );
5103 FILE *surf_parse_get_out (void );
5105 void surf_parse_set_out (FILE * _out_str );
5107 yy_size_t surf_parse_get_leng (void );
5109 char *surf_parse_get_text (void );
5111 int surf_parse_get_lineno (void );
5113 void surf_parse_set_lineno (int _line_number );
5115 /* Macros after this point can all be overridden by user definitions in
5119 #ifndef YY_SKIP_YYWRAP
5121 extern "C" int surf_parse_wrap (void );
5123 extern int surf_parse_wrap (void );
5132 static void yy_flex_strncpy (char *,yyconst char *,int );
5135 #ifdef YY_NEED_STRLEN
5136 static int yy_flex_strlen (yyconst char * );
5142 static int yyinput (void );
5144 static int input (void );
5149 static int yy_start_stack_ptr = 0;
5150 static int yy_start_stack_depth = 0;
5151 static int *yy_start_stack = NULL;
5153 static void yy_push_state (int _new_state );
5155 static void yy_pop_state (void );
5157 /* Amount of stuff to slurp up with each read. */
5158 #ifndef YY_READ_BUF_SIZE
5160 /* On IA-64, the buffer size is 16k, not 8k */
5161 #define YY_READ_BUF_SIZE 16384
5163 #define YY_READ_BUF_SIZE 8192
5164 #endif /* __ia64__ */
5167 /* Copy whatever the last rule matched to the standard output. */
5169 /* This used to be an fputs(), but since the string might contain NUL's,
5170 * we now use fwrite().
5172 #define ECHO do { if (fwrite( surf_parse_text, surf_parse_leng, 1, surf_parse_out )) {} } while (0)
5175 /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
5176 * is returned in "result".
5179 #define YY_INPUT(buf,result,max_size) \
5180 if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
5184 for ( n = 0; n < max_size && \
5185 (c = getc( surf_parse_in )) != EOF && c != '\n'; ++n ) \
5186 buf[n] = (char) c; \
5188 buf[n++] = (char) c; \
5189 if ( c == EOF && ferror( surf_parse_in ) ) \
5190 YY_FATAL_ERROR( "input in flex scanner failed" ); \
5196 while ( (result = fread(buf, 1, max_size, surf_parse_in))==0 && ferror(surf_parse_in)) \
5198 if( errno != EINTR) \
5200 YY_FATAL_ERROR( "input in flex scanner failed" ); \
5204 clearerr(surf_parse_in); \
5211 /* No semi-colon after return; correct usage is to write "yyterminate();" -
5212 * we don't want an extra ';' after the "return" because that will cause
5213 * some compilers to complain about unreachable statements.
5216 #define yyterminate() return YY_NULL
5219 /* Number of entries by which start-condition stack grows. */
5220 #ifndef YY_START_STACK_INCR
5221 #define YY_START_STACK_INCR 25
5224 /* Report a fatal error. */
5225 #ifndef YY_FATAL_ERROR
5226 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
5229 /* end tables serialization structures and prototypes */
5231 /* Default declaration of generated scanner - a define so the user can
5232 * easily add parameters.
5235 #define YY_DECL_IS_OURS 1
5237 extern int surf_parse_lex (void);
5239 #define YY_DECL int surf_parse_lex (void)
5240 #endif /* !YY_DECL */
5242 /* Code executed at the beginning of each rule, after surf_parse_text and surf_parse_leng
5245 #ifndef YY_USER_ACTION
5246 #define YY_USER_ACTION
5249 /* Code executed at the end of each rule. */
5251 #define YY_BREAK /*LINTED*/break;
5254 #define YY_RULE_SETUP \
5257 /** The main scanner function which does all the work.
5261 yy_state_type yy_current_state;
5262 char *yy_cp, *yy_bp;
5274 (yy_start) = 1; /* first start state */
5276 if ( ! surf_parse_in )
5277 surf_parse_in = stdin;
5279 if ( ! surf_parse_out )
5280 surf_parse_out = stdout;
5282 if ( ! YY_CURRENT_BUFFER ) {
5283 surf_parse_ensure_buffer_stack ();
5284 YY_CURRENT_BUFFER_LVALUE =
5285 surf_parse__create_buffer(surf_parse_in,YY_BUF_SIZE );
5288 surf_parse__load_buffer_state( );
5293 /* Bypass Flex's default INITIAL state and begin by parsing the XML prolog. */
5295 reset_surfxml_parse_err_msg();
5296 surfxml_bufferstack = (char *) malloc(FLEXML_BUFFERSTACKSIZE);
5297 assert(surfxml_bufferstack);
5301 for (i = 0; i < blimit; i++) {
5302 surfxml_bufferstack[i] = '\377';
5306 surfxml_bufferstack[0] = '\0';
5307 indexstack = (int *) malloc(FLEXML_INDEXSTACKSIZE * sizeof(int));
5313 surfxml_bufferliteral('\0', &bnext, "0.0");
5314 surfxml_bufferliteral('\0', &bnext, "2147483647");
5315 surfxml_bufferliteral('\0', &bnext, "txt_unix");
5316 surfxml_bufferliteral('\0', &bnext, "1");
5317 surfxml_bufferliteral('\0', &bnext, "0.0");
5318 surfxml_bufferliteral('\0', &bnext, "txt_unix");
5319 surfxml_bufferliteral('\0', &bnext, "1");
5320 surfxml_bufferliteral('\0', &bnext, "0s");
5321 surfxml_bufferliteral('\0', &bnext, "-1.0");
5322 surfxml_bufferliteral('\0', &bnext, "-1.0");
5323 if(!surfxml_statenames) {surfxml_statenames= (const char **)calloc(IMPOSSIBLE,sizeof(char*));
5324 surfxml_statenames[PROLOG] = NULL;
5325 surfxml_statenames[DOCTYPE] = NULL;
5326 surfxml_statenames[EPILOG] = NULL;
5327 surfxml_statenames[INCOMMENT] = NULL;
5328 surfxml_statenames[INPI] = NULL;
5329 surfxml_statenames[VALUE1] = NULL;
5330 surfxml_statenames[VALUE2] = NULL;
5331 surfxml_statenames[CDATA] = NULL;
5332 surfxml_statenames[AL_surfxml_AS] = NULL;
5333 surfxml_statenames[S_surfxml_AS] = "AS";
5334 surfxml_statenames[S_surfxml_AS_1] = "AS";
5335 surfxml_statenames[S_surfxml_AS_2] = "AS";
5336 surfxml_statenames[S_surfxml_AS_3] = "AS";
5337 surfxml_statenames[S_surfxml_AS_4] = "AS";
5338 surfxml_statenames[S_surfxml_AS_5] = "AS";
5339 surfxml_statenames[S_surfxml_AS_6] = "AS";
5340 surfxml_statenames[S_surfxml_AS_7] = "AS";
5341 surfxml_statenames[S_surfxml_AS_8] = "AS";
5342 surfxml_statenames[E_surfxml_AS] = "AS";
5343 surfxml_statenames[AL_surfxml_ASroute] = NULL;
5344 surfxml_statenames[S_surfxml_ASroute] = "ASroute";
5345 surfxml_statenames[S_surfxml_ASroute_1] = "ASroute";
5346 surfxml_statenames[S_surfxml_ASroute_2] = "ASroute";
5347 surfxml_statenames[E_surfxml_ASroute] = "ASroute";
5348 surfxml_statenames[AL_surfxml_argument] = NULL;
5349 surfxml_statenames[E_surfxml_argument] = "argument";
5350 surfxml_statenames[AL_surfxml_backbone] = NULL;
5351 surfxml_statenames[E_surfxml_backbone] = "backbone";
5352 surfxml_statenames[AL_surfxml_bypassASroute] = NULL;
5353 surfxml_statenames[S_surfxml_bypassASroute] = "bypassASroute";
5354 surfxml_statenames[S_surfxml_bypassASroute_1] = "bypassASroute";
5355 surfxml_statenames[S_surfxml_bypassASroute_2] = "bypassASroute";
5356 surfxml_statenames[E_surfxml_bypassASroute] = "bypassASroute";
5357 surfxml_statenames[AL_surfxml_bypassRoute] = NULL;
5358 surfxml_statenames[S_surfxml_bypassRoute] = "bypassRoute";
5359 surfxml_statenames[S_surfxml_bypassRoute_1] = "bypassRoute";
5360 surfxml_statenames[S_surfxml_bypassRoute_2] = "bypassRoute";
5361 surfxml_statenames[E_surfxml_bypassRoute] = "bypassRoute";
5362 surfxml_statenames[AL_surfxml_cabinet] = NULL;
5363 surfxml_statenames[E_surfxml_cabinet] = "cabinet";
5364 surfxml_statenames[AL_surfxml_cluster] = NULL;
5365 surfxml_statenames[S_surfxml_cluster] = "cluster";
5366 surfxml_statenames[S_surfxml_cluster_1] = "cluster";
5367 surfxml_statenames[S_surfxml_cluster_2] = "cluster";
5368 surfxml_statenames[E_surfxml_cluster] = "cluster";
5369 surfxml_statenames[AL_surfxml_config] = NULL;
5370 surfxml_statenames[S_surfxml_config] = "config";
5371 surfxml_statenames[S_surfxml_config_1] = "config";
5372 surfxml_statenames[S_surfxml_config_2] = "config";
5373 surfxml_statenames[E_surfxml_config] = "config";
5374 surfxml_statenames[AL_surfxml_host] = NULL;
5375 surfxml_statenames[S_surfxml_host] = "host";
5376 surfxml_statenames[S_surfxml_host_1] = "host";
5377 surfxml_statenames[S_surfxml_host_2] = "host";
5378 surfxml_statenames[E_surfxml_host] = "host";
5379 surfxml_statenames[AL_surfxml_host___link] = NULL;
5380 surfxml_statenames[E_surfxml_host___link] = "host_link";
5381 surfxml_statenames[AL_surfxml_include] = NULL;
5382 surfxml_statenames[S_surfxml_include] = "include";
5383 surfxml_statenames[S_surfxml_include_1] = "include";
5384 surfxml_statenames[S_surfxml_include_2] = "include";
5385 surfxml_statenames[E_surfxml_include] = "include";
5386 surfxml_statenames[AL_surfxml_link] = NULL;
5387 surfxml_statenames[S_surfxml_link] = "link";
5388 surfxml_statenames[S_surfxml_link_1] = "link";
5389 surfxml_statenames[S_surfxml_link_2] = "link";
5390 surfxml_statenames[E_surfxml_link] = "link";
5391 surfxml_statenames[AL_surfxml_link___ctn] = NULL;
5392 surfxml_statenames[E_surfxml_link___ctn] = "link_ctn";
5393 surfxml_statenames[AL_surfxml_model___prop] = NULL;
5394 surfxml_statenames[E_surfxml_model___prop] = "model_prop";
5395 surfxml_statenames[AL_surfxml_mount] = NULL;
5396 surfxml_statenames[E_surfxml_mount] = "mount";
5397 surfxml_statenames[AL_surfxml_peer] = NULL;
5398 surfxml_statenames[E_surfxml_peer] = "peer";
5399 surfxml_statenames[ROOT_surfxml_platform] = NULL;
5400 surfxml_statenames[AL_surfxml_platform] = NULL;
5401 surfxml_statenames[S_surfxml_platform] = "platform";
5402 surfxml_statenames[S_surfxml_platform_1] = "platform";
5403 surfxml_statenames[S_surfxml_platform_2] = "platform";
5404 surfxml_statenames[S_surfxml_platform_3] = "platform";
5405 surfxml_statenames[S_surfxml_platform_4] = "platform";
5406 surfxml_statenames[S_surfxml_platform_5] = "platform";
5407 surfxml_statenames[S_surfxml_platform_6] = "platform";
5408 surfxml_statenames[S_surfxml_platform_7] = "platform";
5409 surfxml_statenames[S_surfxml_platform_8] = "platform";
5410 surfxml_statenames[E_surfxml_platform] = "platform";
5411 surfxml_statenames[AL_surfxml_process] = NULL;
5412 surfxml_statenames[S_surfxml_process] = "process";
5413 surfxml_statenames[S_surfxml_process_1] = "process";
5414 surfxml_statenames[S_surfxml_process_2] = "process";
5415 surfxml_statenames[E_surfxml_process] = "process";
5416 surfxml_statenames[AL_surfxml_prop] = NULL;
5417 surfxml_statenames[E_surfxml_prop] = "prop";
5418 surfxml_statenames[AL_surfxml_random] = NULL;
5419 surfxml_statenames[E_surfxml_random] = "random";
5420 surfxml_statenames[AL_surfxml_route] = NULL;
5421 surfxml_statenames[S_surfxml_route] = "route";
5422 surfxml_statenames[S_surfxml_route_1] = "route";
5423 surfxml_statenames[S_surfxml_route_2] = "route";
5424 surfxml_statenames[E_surfxml_route] = "route";
5425 surfxml_statenames[AL_surfxml_router] = NULL;
5426 surfxml_statenames[E_surfxml_router] = "router";
5427 surfxml_statenames[AL_surfxml_storage] = NULL;
5428 surfxml_statenames[S_surfxml_storage] = "storage";
5429 surfxml_statenames[S_surfxml_storage_1] = "storage";
5430 surfxml_statenames[S_surfxml_storage_2] = "storage";
5431 surfxml_statenames[E_surfxml_storage] = "storage";
5432 surfxml_statenames[AL_surfxml_storage___type] = NULL;
5433 surfxml_statenames[S_surfxml_storage___type] = "storage_type";
5434 surfxml_statenames[S_surfxml_storage___type_1] = "storage_type";
5435 surfxml_statenames[S_surfxml_storage___type_2] = "storage_type";
5436 surfxml_statenames[E_surfxml_storage___type] = "storage_type";
5437 surfxml_statenames[AL_surfxml_trace] = NULL;
5438 surfxml_statenames[IN_trace] = "trace";
5439 surfxml_statenames[AL_surfxml_trace___connect] = NULL;
5440 surfxml_statenames[E_surfxml_trace___connect] = "trace_connect";
5443 /* COMMENTS and PIs: handled uniformly for efficiency. */
5445 while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */
5447 yy_cp = (yy_c_buf_p);
5449 /* Support of surf_parse_text. */
5450 *yy_cp = (yy_hold_char);
5452 /* yy_bp points to the position in yy_ch_buf of the start of
5457 yy_current_state = (yy_start);
5461 YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)] ;
5462 if ( yy_accept[yy_current_state] )
5464 (yy_last_accepting_state) = yy_current_state;
5465 (yy_last_accepting_cpos) = yy_cp;
5467 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
5469 yy_current_state = (int) yy_def[yy_current_state];
5470 if ( yy_current_state >= 3334 )
5471 yy_c = yy_meta[(unsigned int) yy_c];
5473 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
5476 while ( yy_base[yy_current_state] != 11902 );
5479 yy_act = yy_accept[yy_current_state];
5481 { /* have to back up */
5482 yy_cp = (yy_last_accepting_cpos);
5483 yy_current_state = (yy_last_accepting_state);
5484 yy_act = yy_accept[yy_current_state];
5487 YY_DO_BEFORE_ACTION;
5489 if ( yy_act != YY_END_OF_BUFFER && yy_rule_can_match_eol[yy_act] )
5492 for ( yyl = 0; yyl < surf_parse_leng; ++yyl )
5493 if ( surf_parse_text[yyl] == '\n' )
5495 surf_parse_lineno++;
5499 do_action: /* This label is used only to access EOF actions. */
5502 { /* beginning of action switch */
5503 case 0: /* must back up */
5504 /* undo the effects of YY_DO_BEFORE_ACTION */
5505 *yy_cp = (yy_hold_char);
5506 yy_cp = (yy_last_accepting_cpos);
5507 yy_current_state = (yy_last_accepting_state);
5508 goto yy_find_action;
5526 /* rule 6 can match eol */
5530 case YY_STATE_EOF(INCOMMENT):
5531 FAIL("EOF in comment.");
5540 /* rule 9 can match eol */
5544 case YY_STATE_EOF(INPI):
5545 FAIL("EOF in PI (processing instruction).");
5548 /* SPACES: skipped uniformly */
5550 /* rule 10 can match eol */
5554 /* PROLOG: determine root element and process it. */
5557 /* rule 11 can match eol */
5562 /* rule 12 can match eol */
5564 FAIL("Bad declaration %s.\nIf your are using a XML v3 file (check the version attribute in <platform>), please update it with tools/simgrid_update_xml.pl",surf_parse_text);
5568 /* rule 13 can match eol */
5570 SET(ROOT_surfxml_platform);
5573 /* rule 14 can match eol */
5575 FAIL("Bad declaration %s.\nIf your are using a XML v3 file (check the version attribute in <platform>), please update it with tools/simgrid_update_xml.pl",surf_parse_text);
5579 FAIL("Unexpected character `%c' in prolog.", surf_parse_text[0]);
5581 case YY_STATE_EOF(PROLOG):
5582 case YY_STATE_EOF(DOCTYPE):
5583 FAIL("EOF in prolog.");
5586 /* RULES DERIVED FROM DTD. */
5588 /* rule 16 can match eol */
5590 FAIL("Starting tag <AS> is not allowed here.");
5593 /* rule 17 can match eol */
5596 AX_surfxml_AS_id = 0;
5597 surfxml_AS_id_isset = 0;
5598 AX_surfxml_AS_routing = AU_surfxml_AS_routing;
5599 surfxml_AS_routing_isset = 0;
5600 ENTER(AL_surfxml_AS); pushbuffer(0);
5605 /* rule 18 can match eol */
5607 if (surfxml_AS_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_AS>");} surfxml_AS_id_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_AS_id);
5610 /* rule 19 can match eol */
5612 if (surfxml_AS_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_AS>");} surfxml_AS_id_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_AS_id);
5615 /* rule 20 can match eol */
5617 /* rule 21 can match eol */
5619 A_surfxml_AS_routing = A_surfxml_AS_routing_Full;
5622 /* rule 22 can match eol */
5624 /* rule 23 can match eol */
5626 A_surfxml_AS_routing = A_surfxml_AS_routing_Floyd;
5629 /* rule 24 can match eol */
5631 /* rule 25 can match eol */
5633 A_surfxml_AS_routing = A_surfxml_AS_routing_Dijkstra;
5636 /* rule 26 can match eol */
5638 /* rule 27 can match eol */
5640 A_surfxml_AS_routing = A_surfxml_AS_routing_DijkstraCache;
5643 /* rule 28 can match eol */
5645 /* rule 29 can match eol */
5647 A_surfxml_AS_routing = A_surfxml_AS_routing_None;
5650 /* rule 30 can match eol */
5652 /* rule 31 can match eol */
5654 A_surfxml_AS_routing = A_surfxml_AS_routing_Vivaldi;
5657 /* rule 32 can match eol */
5659 /* rule 33 can match eol */
5661 A_surfxml_AS_routing = A_surfxml_AS_routing_Cluster;
5664 /* rule 34 can match eol */
5666 /* rule 35 can match eol */
5668 A_surfxml_AS_routing = A_surfxml_AS_routing_ClusterTorus;
5671 /* rule 36 can match eol */
5673 /* rule 37 can match eol */
5675 A_surfxml_AS_routing = A_surfxml_AS_routing_ClusterFatTree;
5678 /* rule 38 can match eol */
5680 /* rule 39 can match eol */
5682 A_surfxml_AS_routing = A_surfxml_AS_routing_ClusterDragonfly;
5687 if (!AX_surfxml_AS_id) FAIL("Required attribute `id' not set for `AS' element.");
5688 if (!AX_surfxml_AS_routing) FAIL("Required attribute `routing' not set for `AS' element.");
5689 LEAVE; STag_surfxml_AS();surfxml_pcdata_ix = 0; ENTER(S_surfxml_AS);
5695 if (!AX_surfxml_AS_id) FAIL("Required attribute `id' not set for `AS' element.");
5696 if (!AX_surfxml_AS_routing) FAIL("Required attribute `routing' not set for `AS' element.");
5697 LEAVE; STag_surfxml_AS(); surfxml_pcdata_ix = 0; ETag_surfxml_AS(); popbuffer(); /* attribute */
5699 case S_surfxml_AS: case S_surfxml_AS_1: case S_surfxml_AS_3: case S_surfxml_AS_5: case S_surfxml_AS_6: SET(S_surfxml_AS_6); break;
5700 case S_surfxml_include: case S_surfxml_include_1: case S_surfxml_include_2: SET(S_surfxml_include_2); break;
5701 case S_surfxml_platform: case S_surfxml_platform_1: case S_surfxml_platform_3: case S_surfxml_platform_5: case S_surfxml_platform_6: SET(S_surfxml_platform_6); break;
5707 FAIL("Unexpected character `%c' in attribute list of AS element.", surf_parse_text[0]);
5711 FAIL("Bad attribute `%s' in `AS' element start tag.",surf_parse_text);
5713 case YY_STATE_EOF(AL_surfxml_AS):
5714 FAIL("EOF in attribute list of `AS' element.");
5718 /* rule 44 can match eol */
5723 popbuffer(); /* attribute */
5725 case S_surfxml_AS: case S_surfxml_AS_1: case S_surfxml_AS_3: case S_surfxml_AS_5: case S_surfxml_AS_6: SET(S_surfxml_AS_6); break;
5726 case S_surfxml_include: case S_surfxml_include_1: case S_surfxml_include_2: SET(S_surfxml_include_2); break;
5727 case S_surfxml_platform: case S_surfxml_platform_1: case S_surfxml_platform_3: case S_surfxml_platform_5: case S_surfxml_platform_6: SET(S_surfxml_platform_6); break;
5732 /* rule 45 can match eol */
5734 FAIL("Unexpected end-tag `%s': `</AS>' expected.",surf_parse_text);
5738 FAIL("Unexpected character `%c': `</AS>' expected.",surf_parse_text[0]);
5740 case YY_STATE_EOF(E_surfxml_AS):
5741 case YY_STATE_EOF(S_surfxml_AS):
5742 case YY_STATE_EOF(S_surfxml_AS_1):
5743 case YY_STATE_EOF(S_surfxml_AS_3):
5744 case YY_STATE_EOF(S_surfxml_AS_4):
5745 case YY_STATE_EOF(S_surfxml_AS_6):
5746 case YY_STATE_EOF(S_surfxml_AS_8):
5747 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</AS>' expected.");
5751 /* rule 47 can match eol */
5753 FAIL("Starting tag <ASroute> is not allowed here.");
5756 /* rule 48 can match eol */
5759 AX_surfxml_ASroute_dst = 0;
5760 surfxml_ASroute_dst_isset = 0;
5761 AX_surfxml_ASroute_gw___dst = 0;
5762 surfxml_ASroute_gw___dst_isset = 0;
5763 AX_surfxml_ASroute_gw___src = 0;
5764 surfxml_ASroute_gw___src_isset = 0;
5765 AX_surfxml_ASroute_src = 0;
5766 surfxml_ASroute_src_isset = 0;
5767 AX_surfxml_ASroute_symmetrical = A_surfxml_ASroute_symmetrical_YES;
5768 surfxml_ASroute_symmetrical_isset = 0;
5769 ENTER(AL_surfxml_ASroute); pushbuffer(0);
5774 /* rule 49 can match eol */
5776 if (surfxml_ASroute_dst_isset != 0) {FAIL("Multiple definition of attribute dst in <surfxml_ASroute>");} surfxml_ASroute_dst_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_ASroute_dst);
5779 /* rule 50 can match eol */
5781 if (surfxml_ASroute_dst_isset != 0) {FAIL("Multiple definition of attribute dst in <surfxml_ASroute>");} surfxml_ASroute_dst_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_ASroute_dst);
5784 /* rule 51 can match eol */
5786 if (surfxml_ASroute_gw___dst_isset != 0) {FAIL("Multiple definition of attribute gw_dst in <surfxml_ASroute>");} surfxml_ASroute_gw___dst_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_ASroute_gw___dst);
5789 /* rule 52 can match eol */
5791 if (surfxml_ASroute_gw___dst_isset != 0) {FAIL("Multiple definition of attribute gw_dst in <surfxml_ASroute>");} surfxml_ASroute_gw___dst_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_ASroute_gw___dst);
5794 /* rule 53 can match eol */
5796 if (surfxml_ASroute_gw___src_isset != 0) {FAIL("Multiple definition of attribute gw_src in <surfxml_ASroute>");} surfxml_ASroute_gw___src_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_ASroute_gw___src);
5799 /* rule 54 can match eol */
5801 if (surfxml_ASroute_gw___src_isset != 0) {FAIL("Multiple definition of attribute gw_src in <surfxml_ASroute>");} surfxml_ASroute_gw___src_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_ASroute_gw___src);
5804 /* rule 55 can match eol */
5806 if (surfxml_ASroute_src_isset != 0) {FAIL("Multiple definition of attribute src in <surfxml_ASroute>");} surfxml_ASroute_src_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_ASroute_src);
5809 /* rule 56 can match eol */
5811 if (surfxml_ASroute_src_isset != 0) {FAIL("Multiple definition of attribute src in <surfxml_ASroute>");} surfxml_ASroute_src_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_ASroute_src);
5814 /* rule 57 can match eol */
5816 /* rule 58 can match eol */
5818 A_surfxml_ASroute_symmetrical = A_surfxml_ASroute_symmetrical_YES;
5821 /* rule 59 can match eol */
5823 /* rule 60 can match eol */
5825 A_surfxml_ASroute_symmetrical = A_surfxml_ASroute_symmetrical_NO;
5830 if (!AX_surfxml_ASroute_dst) FAIL("Required attribute `dst' not set for `ASroute' element.");
5831 if (!AX_surfxml_ASroute_gw___dst) FAIL("Required attribute `gw_dst' not set for `ASroute' element.");
5832 if (!AX_surfxml_ASroute_gw___src) FAIL("Required attribute `gw_src' not set for `ASroute' element.");
5833 if (!AX_surfxml_ASroute_src) FAIL("Required attribute `src' not set for `ASroute' element.");
5834 LEAVE; STag_surfxml_ASroute();surfxml_pcdata_ix = 0; ENTER(S_surfxml_ASroute);
5840 if (!AX_surfxml_ASroute_dst) FAIL("Required attribute `dst' not set for `ASroute' element.");
5841 if (!AX_surfxml_ASroute_gw___dst) FAIL("Required attribute `gw_dst' not set for `ASroute' element.");
5842 if (!AX_surfxml_ASroute_gw___src) FAIL("Required attribute `gw_src' not set for `ASroute' element.");
5843 if (!AX_surfxml_ASroute_src) FAIL("Required attribute `src' not set for `ASroute' element.");
5844 LEAVE; STag_surfxml_ASroute(); surfxml_pcdata_ix = 0; ETag_surfxml_ASroute(); popbuffer(); /* attribute */
5846 case S_surfxml_AS: case S_surfxml_AS_5: SET(S_surfxml_AS_6); break;
5847 case S_surfxml_AS_1: case S_surfxml_AS_3: case S_surfxml_AS_4: case S_surfxml_AS_6: case S_surfxml_AS_7: case S_surfxml_AS_8: SET(S_surfxml_AS_8); break;
5853 FAIL("Unexpected character `%c' in attribute list of ASroute element.", surf_parse_text[0]);
5857 FAIL("Bad attribute `%s' in `ASroute' element start tag.",surf_parse_text);
5859 case YY_STATE_EOF(AL_surfxml_ASroute):
5860 FAIL("EOF in attribute list of `ASroute' element.");
5864 /* rule 65 can match eol */
5868 ETag_surfxml_ASroute();
5869 popbuffer(); /* attribute */
5871 case S_surfxml_AS: case S_surfxml_AS_5: SET(S_surfxml_AS_6); break;
5872 case S_surfxml_AS_1: case S_surfxml_AS_3: case S_surfxml_AS_4: case S_surfxml_AS_6: case S_surfxml_AS_7: case S_surfxml_AS_8: SET(S_surfxml_AS_8); break;
5877 /* rule 66 can match eol */
5879 FAIL("Unexpected end-tag `%s': `</ASroute>' expected.",surf_parse_text);
5883 FAIL("Unexpected character `%c': `</ASroute>' expected.",surf_parse_text[0]);
5885 case YY_STATE_EOF(E_surfxml_ASroute):
5886 case YY_STATE_EOF(S_surfxml_ASroute):
5887 case YY_STATE_EOF(S_surfxml_ASroute_2):
5888 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</ASroute>' expected.");
5892 /* rule 68 can match eol */
5894 FAIL("Starting tag <argument> is not allowed here.");
5897 /* rule 69 can match eol */
5900 AX_surfxml_argument_value = 0;
5901 surfxml_argument_value_isset = 0;
5902 ENTER(AL_surfxml_argument); pushbuffer(0);
5907 /* rule 70 can match eol */
5909 if (surfxml_argument_value_isset != 0) {FAIL("Multiple definition of attribute value in <surfxml_argument>");} surfxml_argument_value_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_argument_value);
5912 /* rule 71 can match eol */
5914 if (surfxml_argument_value_isset != 0) {FAIL("Multiple definition of attribute value in <surfxml_argument>");} surfxml_argument_value_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_argument_value);
5919 if (!AX_surfxml_argument_value) FAIL("Required attribute `value' not set for `argument' element.");
5920 LEAVE; STag_surfxml_argument();surfxml_pcdata_ix = 0; ENTER(E_surfxml_argument);
5926 if (!AX_surfxml_argument_value) FAIL("Required attribute `value' not set for `argument' element.");
5927 LEAVE; STag_surfxml_argument(); surfxml_pcdata_ix = 0; ETag_surfxml_argument(); popbuffer(); /* attribute */
5929 case S_surfxml_process: case S_surfxml_process_1: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
5935 FAIL("Unexpected character `%c' in attribute list of argument element.", surf_parse_text[0]);
5939 FAIL("Bad attribute `%s' in `argument' element start tag.",surf_parse_text);
5941 case YY_STATE_EOF(AL_surfxml_argument):
5942 FAIL("EOF in attribute list of `argument' element.");
5946 /* rule 76 can match eol */
5950 ETag_surfxml_argument();
5951 popbuffer(); /* attribute */
5953 case S_surfxml_process: case S_surfxml_process_1: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
5958 /* rule 77 can match eol */
5960 FAIL("Unexpected end-tag `%s': `</argument>' expected.",surf_parse_text);
5964 FAIL("Unexpected character `%c': `</argument>' expected.",surf_parse_text[0]);
5966 case YY_STATE_EOF(E_surfxml_argument):
5967 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</argument>' expected.");
5971 /* rule 79 can match eol */
5973 FAIL("Starting tag <backbone> is not allowed here.");
5976 /* rule 80 can match eol */
5979 AX_surfxml_backbone_bandwidth = 0;
5980 surfxml_backbone_bandwidth_isset = 0;
5981 AX_surfxml_backbone_id = 0;
5982 surfxml_backbone_id_isset = 0;
5983 AX_surfxml_backbone_latency = 0;
5984 surfxml_backbone_latency_isset = 0;
5985 ENTER(AL_surfxml_backbone); pushbuffer(0);
5990 /* rule 81 can match eol */
5992 if (surfxml_backbone_bandwidth_isset != 0) {FAIL("Multiple definition of attribute bandwidth in <surfxml_backbone>");} surfxml_backbone_bandwidth_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_backbone_bandwidth);
5995 /* rule 82 can match eol */
5997 if (surfxml_backbone_bandwidth_isset != 0) {FAIL("Multiple definition of attribute bandwidth in <surfxml_backbone>");} surfxml_backbone_bandwidth_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_backbone_bandwidth);
6000 /* rule 83 can match eol */
6002 if (surfxml_backbone_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_backbone>");} surfxml_backbone_id_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_backbone_id);
6005 /* rule 84 can match eol */
6007 if (surfxml_backbone_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_backbone>");} surfxml_backbone_id_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_backbone_id);
6010 /* rule 85 can match eol */
6012 if (surfxml_backbone_latency_isset != 0) {FAIL("Multiple definition of attribute latency in <surfxml_backbone>");} surfxml_backbone_latency_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_backbone_latency);
6015 /* rule 86 can match eol */
6017 if (surfxml_backbone_latency_isset != 0) {FAIL("Multiple definition of attribute latency in <surfxml_backbone>");} surfxml_backbone_latency_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_backbone_latency);
6022 if (!AX_surfxml_backbone_bandwidth) FAIL("Required attribute `bandwidth' not set for `backbone' element.");
6023 if (!AX_surfxml_backbone_id) FAIL("Required attribute `id' not set for `backbone' element.");
6024 if (!AX_surfxml_backbone_latency) FAIL("Required attribute `latency' not set for `backbone' element.");
6025 LEAVE; STag_surfxml_backbone();surfxml_pcdata_ix = 0; ENTER(E_surfxml_backbone);
6031 if (!AX_surfxml_backbone_bandwidth) FAIL("Required attribute `bandwidth' not set for `backbone' element.");
6032 if (!AX_surfxml_backbone_id) FAIL("Required attribute `id' not set for `backbone' element.");
6033 if (!AX_surfxml_backbone_latency) FAIL("Required attribute `latency' not set for `backbone' element.");
6034 LEAVE; STag_surfxml_backbone(); surfxml_pcdata_ix = 0; ETag_surfxml_backbone(); popbuffer(); /* attribute */
6036 case S_surfxml_AS: case S_surfxml_AS_1: case S_surfxml_AS_3: case S_surfxml_AS_5: case S_surfxml_AS_6: SET(S_surfxml_AS_6); break;
6042 FAIL("Unexpected character `%c' in attribute list of backbone element.", surf_parse_text[0]);
6046 FAIL("Bad attribute `%s' in `backbone' element start tag.",surf_parse_text);
6048 case YY_STATE_EOF(AL_surfxml_backbone):
6049 FAIL("EOF in attribute list of `backbone' element.");
6053 /* rule 91 can match eol */
6057 ETag_surfxml_backbone();
6058 popbuffer(); /* attribute */
6060 case S_surfxml_AS: case S_surfxml_AS_1: case S_surfxml_AS_3: case S_surfxml_AS_5: case S_surfxml_AS_6: SET(S_surfxml_AS_6); break;
6065 /* rule 92 can match eol */
6067 FAIL("Unexpected end-tag `%s': `</backbone>' expected.",surf_parse_text);
6071 FAIL("Unexpected character `%c': `</backbone>' expected.",surf_parse_text[0]);
6073 case YY_STATE_EOF(E_surfxml_backbone):
6074 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</backbone>' expected.");
6078 /* rule 94 can match eol */
6080 FAIL("Starting tag <bypassASroute> is not allowed here.");
6083 /* rule 95 can match eol */
6086 AX_surfxml_bypassASroute_dst = 0;
6087 surfxml_bypassASroute_dst_isset = 0;
6088 AX_surfxml_bypassASroute_gw___dst = 0;
6089 surfxml_bypassASroute_gw___dst_isset = 0;
6090 AX_surfxml_bypassASroute_gw___src = 0;
6091 surfxml_bypassASroute_gw___src_isset = 0;
6092 AX_surfxml_bypassASroute_src = 0;
6093 surfxml_bypassASroute_src_isset = 0;
6094 ENTER(AL_surfxml_bypassASroute); pushbuffer(0);
6099 /* rule 96 can match eol */
6101 if (surfxml_bypassASroute_dst_isset != 0) {FAIL("Multiple definition of attribute dst in <surfxml_bypassASroute>");} surfxml_bypassASroute_dst_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_bypassASroute_dst);
6104 /* rule 97 can match eol */
6106 if (surfxml_bypassASroute_dst_isset != 0) {FAIL("Multiple definition of attribute dst in <surfxml_bypassASroute>");} surfxml_bypassASroute_dst_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_bypassASroute_dst);
6109 /* rule 98 can match eol */
6111 if (surfxml_bypassASroute_gw___dst_isset != 0) {FAIL("Multiple definition of attribute gw_dst in <surfxml_bypassASroute>");} surfxml_bypassASroute_gw___dst_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_bypassASroute_gw___dst);
6114 /* rule 99 can match eol */
6116 if (surfxml_bypassASroute_gw___dst_isset != 0) {FAIL("Multiple definition of attribute gw_dst in <surfxml_bypassASroute>");} surfxml_bypassASroute_gw___dst_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_bypassASroute_gw___dst);
6119 /* rule 100 can match eol */
6121 if (surfxml_bypassASroute_gw___src_isset != 0) {FAIL("Multiple definition of attribute gw_src in <surfxml_bypassASroute>");} surfxml_bypassASroute_gw___src_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_bypassASroute_gw___src);
6124 /* rule 101 can match eol */
6126 if (surfxml_bypassASroute_gw___src_isset != 0) {FAIL("Multiple definition of attribute gw_src in <surfxml_bypassASroute>");} surfxml_bypassASroute_gw___src_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_bypassASroute_gw___src);
6129 /* rule 102 can match eol */
6131 if (surfxml_bypassASroute_src_isset != 0) {FAIL("Multiple definition of attribute src in <surfxml_bypassASroute>");} surfxml_bypassASroute_src_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_bypassASroute_src);
6134 /* rule 103 can match eol */
6136 if (surfxml_bypassASroute_src_isset != 0) {FAIL("Multiple definition of attribute src in <surfxml_bypassASroute>");} surfxml_bypassASroute_src_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_bypassASroute_src);
6141 if (!AX_surfxml_bypassASroute_dst) FAIL("Required attribute `dst' not set for `bypassASroute' element.");
6142 if (!AX_surfxml_bypassASroute_gw___dst) FAIL("Required attribute `gw_dst' not set for `bypassASroute' element.");
6143 if (!AX_surfxml_bypassASroute_gw___src) FAIL("Required attribute `gw_src' not set for `bypassASroute' element.");
6144 if (!AX_surfxml_bypassASroute_src) FAIL("Required attribute `src' not set for `bypassASroute' element.");
6145 LEAVE; STag_surfxml_bypassASroute();surfxml_pcdata_ix = 0; ENTER(S_surfxml_bypassASroute);
6151 if (!AX_surfxml_bypassASroute_dst) FAIL("Required attribute `dst' not set for `bypassASroute' element.");
6152 if (!AX_surfxml_bypassASroute_gw___dst) FAIL("Required attribute `gw_dst' not set for `bypassASroute' element.");
6153 if (!AX_surfxml_bypassASroute_gw___src) FAIL("Required attribute `gw_src' not set for `bypassASroute' element.");
6154 if (!AX_surfxml_bypassASroute_src) FAIL("Required attribute `src' not set for `bypassASroute' element.");
6155 LEAVE; STag_surfxml_bypassASroute(); surfxml_pcdata_ix = 0; ETag_surfxml_bypassASroute(); popbuffer(); /* attribute */
6157 case S_surfxml_AS: case S_surfxml_AS_1: case S_surfxml_AS_3: case S_surfxml_AS_4: case S_surfxml_AS_6: case S_surfxml_AS_7: case S_surfxml_AS_8: SET(S_surfxml_AS_8); break;
6163 FAIL("Unexpected character `%c' in attribute list of bypassASroute element.", surf_parse_text[0]);
6167 FAIL("Bad attribute `%s' in `bypassASroute' element start tag.",surf_parse_text);
6169 case YY_STATE_EOF(AL_surfxml_bypassASroute):
6170 FAIL("EOF in attribute list of `bypassASroute' element.");
6174 /* rule 108 can match eol */
6178 ETag_surfxml_bypassASroute();
6179 popbuffer(); /* attribute */
6181 case S_surfxml_AS: case S_surfxml_AS_1: case S_surfxml_AS_3: case S_surfxml_AS_4: case S_surfxml_AS_6: case S_surfxml_AS_7: case S_surfxml_AS_8: SET(S_surfxml_AS_8); break;
6186 /* rule 109 can match eol */
6188 FAIL("Unexpected end-tag `%s': `</bypassASroute>' expected.",surf_parse_text);
6192 FAIL("Unexpected character `%c': `</bypassASroute>' expected.",surf_parse_text[0]);
6194 case YY_STATE_EOF(E_surfxml_bypassASroute):
6195 case YY_STATE_EOF(S_surfxml_bypassASroute):
6196 case YY_STATE_EOF(S_surfxml_bypassASroute_2):
6197 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</bypassASroute>' expected.");
6201 /* rule 111 can match eol */
6203 FAIL("Starting tag <bypassRoute> is not allowed here.");
6206 /* rule 112 can match eol */
6209 AX_surfxml_bypassRoute_dst = 0;
6210 surfxml_bypassRoute_dst_isset = 0;
6211 AX_surfxml_bypassRoute_src = 0;
6212 surfxml_bypassRoute_src_isset = 0;
6213 ENTER(AL_surfxml_bypassRoute); pushbuffer(0);
6218 /* rule 113 can match eol */
6220 if (surfxml_bypassRoute_dst_isset != 0) {FAIL("Multiple definition of attribute dst in <surfxml_bypassRoute>");} surfxml_bypassRoute_dst_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_bypassRoute_dst);
6223 /* rule 114 can match eol */
6225 if (surfxml_bypassRoute_dst_isset != 0) {FAIL("Multiple definition of attribute dst in <surfxml_bypassRoute>");} surfxml_bypassRoute_dst_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_bypassRoute_dst);
6228 /* rule 115 can match eol */
6230 if (surfxml_bypassRoute_src_isset != 0) {FAIL("Multiple definition of attribute src in <surfxml_bypassRoute>");} surfxml_bypassRoute_src_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_bypassRoute_src);
6233 /* rule 116 can match eol */
6235 if (surfxml_bypassRoute_src_isset != 0) {FAIL("Multiple definition of attribute src in <surfxml_bypassRoute>");} surfxml_bypassRoute_src_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_bypassRoute_src);
6240 if (!AX_surfxml_bypassRoute_dst) FAIL("Required attribute `dst' not set for `bypassRoute' element.");
6241 if (!AX_surfxml_bypassRoute_src) FAIL("Required attribute `src' not set for `bypassRoute' element.");
6242 LEAVE; STag_surfxml_bypassRoute();surfxml_pcdata_ix = 0; ENTER(S_surfxml_bypassRoute);
6248 if (!AX_surfxml_bypassRoute_dst) FAIL("Required attribute `dst' not set for `bypassRoute' element.");
6249 if (!AX_surfxml_bypassRoute_src) FAIL("Required attribute `src' not set for `bypassRoute' element.");
6250 LEAVE; STag_surfxml_bypassRoute(); surfxml_pcdata_ix = 0; ETag_surfxml_bypassRoute(); popbuffer(); /* attribute */
6252 case S_surfxml_AS: case S_surfxml_AS_1: case S_surfxml_AS_3: case S_surfxml_AS_4: case S_surfxml_AS_6: case S_surfxml_AS_7: case S_surfxml_AS_8: SET(S_surfxml_AS_8); break;
6258 FAIL("Unexpected character `%c' in attribute list of bypassRoute element.", surf_parse_text[0]);
6262 FAIL("Bad attribute `%s' in `bypassRoute' element start tag.",surf_parse_text);
6264 case YY_STATE_EOF(AL_surfxml_bypassRoute):
6265 FAIL("EOF in attribute list of `bypassRoute' element.");
6269 /* rule 121 can match eol */
6273 ETag_surfxml_bypassRoute();
6274 popbuffer(); /* attribute */
6276 case S_surfxml_AS: case S_surfxml_AS_1: case S_surfxml_AS_3: case S_surfxml_AS_4: case S_surfxml_AS_6: case S_surfxml_AS_7: case S_surfxml_AS_8: SET(S_surfxml_AS_8); break;
6281 /* rule 122 can match eol */
6283 FAIL("Unexpected end-tag `%s': `</bypassRoute>' expected.",surf_parse_text);
6287 FAIL("Unexpected character `%c': `</bypassRoute>' expected.",surf_parse_text[0]);
6289 case YY_STATE_EOF(E_surfxml_bypassRoute):
6290 case YY_STATE_EOF(S_surfxml_bypassRoute):
6291 case YY_STATE_EOF(S_surfxml_bypassRoute_2):
6292 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</bypassRoute>' expected.");
6296 /* rule 124 can match eol */
6298 FAIL("Starting tag <cabinet> is not allowed here.");
6301 /* rule 125 can match eol */
6304 AX_surfxml_cabinet_bw = 0;
6305 surfxml_cabinet_bw_isset = 0;
6306 AX_surfxml_cabinet_id = 0;
6307 surfxml_cabinet_id_isset = 0;
6308 AX_surfxml_cabinet_lat = 0;
6309 surfxml_cabinet_lat_isset = 0;
6310 AX_surfxml_cabinet_prefix = 0;
6311 surfxml_cabinet_prefix_isset = 0;
6312 AX_surfxml_cabinet_radical = 0;
6313 surfxml_cabinet_radical_isset = 0;
6314 AX_surfxml_cabinet_speed = 0;
6315 surfxml_cabinet_speed_isset = 0;
6316 AX_surfxml_cabinet_suffix = 0;
6317 surfxml_cabinet_suffix_isset = 0;
6318 ENTER(AL_surfxml_cabinet); pushbuffer(0);
6323 /* rule 126 can match eol */
6325 if (surfxml_cabinet_bw_isset != 0) {FAIL("Multiple definition of attribute bw in <surfxml_cabinet>");} surfxml_cabinet_bw_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_cabinet_bw);
6328 /* rule 127 can match eol */
6330 if (surfxml_cabinet_bw_isset != 0) {FAIL("Multiple definition of attribute bw in <surfxml_cabinet>");} surfxml_cabinet_bw_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_cabinet_bw);
6333 /* rule 128 can match eol */
6335 if (surfxml_cabinet_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_cabinet>");} surfxml_cabinet_id_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_cabinet_id);
6338 /* rule 129 can match eol */
6340 if (surfxml_cabinet_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_cabinet>");} surfxml_cabinet_id_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_cabinet_id);
6343 /* rule 130 can match eol */
6345 if (surfxml_cabinet_lat_isset != 0) {FAIL("Multiple definition of attribute lat in <surfxml_cabinet>");} surfxml_cabinet_lat_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_cabinet_lat);
6348 /* rule 131 can match eol */
6350 if (surfxml_cabinet_lat_isset != 0) {FAIL("Multiple definition of attribute lat in <surfxml_cabinet>");} surfxml_cabinet_lat_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_cabinet_lat);
6353 /* rule 132 can match eol */
6355 if (surfxml_cabinet_prefix_isset != 0) {FAIL("Multiple definition of attribute prefix in <surfxml_cabinet>");} surfxml_cabinet_prefix_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_cabinet_prefix);
6358 /* rule 133 can match eol */
6360 if (surfxml_cabinet_prefix_isset != 0) {FAIL("Multiple definition of attribute prefix in <surfxml_cabinet>");} surfxml_cabinet_prefix_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_cabinet_prefix);
6363 /* rule 134 can match eol */
6365 if (surfxml_cabinet_radical_isset != 0) {FAIL("Multiple definition of attribute radical in <surfxml_cabinet>");} surfxml_cabinet_radical_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_cabinet_radical);
6368 /* rule 135 can match eol */
6370 if (surfxml_cabinet_radical_isset != 0) {FAIL("Multiple definition of attribute radical in <surfxml_cabinet>");} surfxml_cabinet_radical_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_cabinet_radical);
6373 /* rule 136 can match eol */
6375 if (surfxml_cabinet_speed_isset != 0) {FAIL("Multiple definition of attribute speed in <surfxml_cabinet>");} surfxml_cabinet_speed_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_cabinet_speed);
6378 /* rule 137 can match eol */
6380 if (surfxml_cabinet_speed_isset != 0) {FAIL("Multiple definition of attribute speed in <surfxml_cabinet>");} surfxml_cabinet_speed_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_cabinet_speed);
6383 /* rule 138 can match eol */
6385 if (surfxml_cabinet_suffix_isset != 0) {FAIL("Multiple definition of attribute suffix in <surfxml_cabinet>");} surfxml_cabinet_suffix_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_cabinet_suffix);
6388 /* rule 139 can match eol */
6390 if (surfxml_cabinet_suffix_isset != 0) {FAIL("Multiple definition of attribute suffix in <surfxml_cabinet>");} surfxml_cabinet_suffix_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_cabinet_suffix);
6395 if (!AX_surfxml_cabinet_bw) FAIL("Required attribute `bw' not set for `cabinet' element.");
6396 if (!AX_surfxml_cabinet_id) FAIL("Required attribute `id' not set for `cabinet' element.");
6397 if (!AX_surfxml_cabinet_lat) FAIL("Required attribute `lat' not set for `cabinet' element.");
6398 if (!AX_surfxml_cabinet_prefix) FAIL("Required attribute `prefix' not set for `cabinet' element.");
6399 if (!AX_surfxml_cabinet_radical) FAIL("Required attribute `radical' not set for `cabinet' element.");
6400 if (!AX_surfxml_cabinet_speed) FAIL("Required attribute `speed' not set for `cabinet' element.");
6401 if (!AX_surfxml_cabinet_suffix) FAIL("Required attribute `suffix' not set for `cabinet' element.");
6402 LEAVE; STag_surfxml_cabinet();surfxml_pcdata_ix = 0; ENTER(E_surfxml_cabinet);
6408 if (!AX_surfxml_cabinet_bw) FAIL("Required attribute `bw' not set for `cabinet' element.");
6409 if (!AX_surfxml_cabinet_id) FAIL("Required attribute `id' not set for `cabinet' element.");
6410 if (!AX_surfxml_cabinet_lat) FAIL("Required attribute `lat' not set for `cabinet' element.");
6411 if (!AX_surfxml_cabinet_prefix) FAIL("Required attribute `prefix' not set for `cabinet' element.");
6412 if (!AX_surfxml_cabinet_radical) FAIL("Required attribute `radical' not set for `cabinet' element.");
6413 if (!AX_surfxml_cabinet_speed) FAIL("Required attribute `speed' not set for `cabinet' element.");
6414 if (!AX_surfxml_cabinet_suffix) FAIL("Required attribute `suffix' not set for `cabinet' element.");
6415 LEAVE; STag_surfxml_cabinet(); surfxml_pcdata_ix = 0; ETag_surfxml_cabinet(); popbuffer(); /* attribute */
6417 case S_surfxml_AS: case S_surfxml_AS_1: case S_surfxml_AS_3: case S_surfxml_AS_5: case S_surfxml_AS_6: SET(S_surfxml_AS_6); break;
6418 case S_surfxml_include: case S_surfxml_include_1: case S_surfxml_include_2: SET(S_surfxml_include_2); break;
6419 case S_surfxml_platform: case S_surfxml_platform_1: case S_surfxml_platform_3: case S_surfxml_platform_5: case S_surfxml_platform_6: SET(S_surfxml_platform_6); break;
6425 FAIL("Unexpected character `%c' in attribute list of cabinet element.", surf_parse_text[0]);
6429 FAIL("Bad attribute `%s' in `cabinet' element start tag.",surf_parse_text);
6431 case YY_STATE_EOF(AL_surfxml_cabinet):
6432 FAIL("EOF in attribute list of `cabinet' element.");
6436 /* rule 144 can match eol */
6440 ETag_surfxml_cabinet();
6441 popbuffer(); /* attribute */
6443 case S_surfxml_AS: case S_surfxml_AS_1: case S_surfxml_AS_3: case S_surfxml_AS_5: case S_surfxml_AS_6: SET(S_surfxml_AS_6); break;
6444 case S_surfxml_include: case S_surfxml_include_1: case S_surfxml_include_2: SET(S_surfxml_include_2); break;
6445 case S_surfxml_platform: case S_surfxml_platform_1: case S_surfxml_platform_3: case S_surfxml_platform_5: case S_surfxml_platform_6: SET(S_surfxml_platform_6); break;
6450 /* rule 145 can match eol */
6452 FAIL("Unexpected end-tag `%s': `</cabinet>' expected.",surf_parse_text);
6456 FAIL("Unexpected character `%c': `</cabinet>' expected.",surf_parse_text[0]);
6458 case YY_STATE_EOF(E_surfxml_cabinet):
6459 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</cabinet>' expected.");
6463 /* rule 147 can match eol */
6465 FAIL("Starting tag <cluster> is not allowed here.");
6468 /* rule 148 can match eol */
6471 AX_surfxml_cluster_bb___bw = 0;
6472 surfxml_cluster_bb___bw_isset = 0;
6473 AX_surfxml_cluster_bb___lat = 42;
6474 surfxml_cluster_bb___lat_isset = 0;
6475 AX_surfxml_cluster_bb___sharing___policy = A_surfxml_cluster_bb___sharing___policy_SHARED;
6476 surfxml_cluster_bb___sharing___policy_isset = 0;
6477 AX_surfxml_cluster_bw = 0;
6478 surfxml_cluster_bw_isset = 0;
6479 AX_surfxml_cluster_core = 40;
6480 surfxml_cluster_core_isset = 0;
6481 AX_surfxml_cluster_id = 0;
6482 surfxml_cluster_id_isset = 0;
6483 AX_surfxml_cluster_lat = 0;
6484 surfxml_cluster_lat_isset = 0;
6485 AX_surfxml_cluster_limiter___link = 0;
6486 surfxml_cluster_limiter___link_isset = 0;
6487 AX_surfxml_cluster_loopback___bw = 0;
6488 surfxml_cluster_loopback___bw_isset = 0;
6489 AX_surfxml_cluster_loopback___lat = 0;
6490 surfxml_cluster_loopback___lat_isset = 0;
6491 AX_surfxml_cluster_prefix = 0;
6492 surfxml_cluster_prefix_isset = 0;
6493 AX_surfxml_cluster_radical = 0;
6494 surfxml_cluster_radical_isset = 0;
6495 AX_surfxml_cluster_router___id = 0;
6496 surfxml_cluster_router___id_isset = 0;
6497 AX_surfxml_cluster_sharing___policy = A_surfxml_cluster_sharing___policy_FULLDUPLEX;
6498 surfxml_cluster_sharing___policy_isset = 0;
6499 AX_surfxml_cluster_speed = 0;
6500 surfxml_cluster_speed_isset = 0;
6501 AX_surfxml_cluster_suffix = 0;
6502 surfxml_cluster_suffix_isset = 0;
6503 AX_surfxml_cluster_topo___parameters = 0;
6504 surfxml_cluster_topo___parameters_isset = 0;
6505 AX_surfxml_cluster_topology = A_surfxml_cluster_topology_FLAT;
6506 surfxml_cluster_topology_isset = 0;
6507 ENTER(AL_surfxml_cluster); pushbuffer(0);
6512 /* rule 149 can match eol */
6514 if (surfxml_cluster_bb___bw_isset != 0) {FAIL("Multiple definition of attribute bb_bw in <surfxml_cluster>");} surfxml_cluster_bb___bw_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_bb___bw);
6517 /* rule 150 can match eol */
6519 if (surfxml_cluster_bb___bw_isset != 0) {FAIL("Multiple definition of attribute bb_bw in <surfxml_cluster>");} surfxml_cluster_bb___bw_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_bb___bw);
6522 /* rule 151 can match eol */
6524 if (surfxml_cluster_bb___lat_isset != 0) {FAIL("Multiple definition of attribute bb_lat in <surfxml_cluster>");} surfxml_cluster_bb___lat_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_bb___lat);
6527 /* rule 152 can match eol */
6529 if (surfxml_cluster_bb___lat_isset != 0) {FAIL("Multiple definition of attribute bb_lat in <surfxml_cluster>");} surfxml_cluster_bb___lat_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_bb___lat);
6532 /* rule 153 can match eol */
6534 /* rule 154 can match eol */
6536 A_surfxml_cluster_bb___sharing___policy = A_surfxml_cluster_bb___sharing___policy_SHARED;
6539 /* rule 155 can match eol */
6541 /* rule 156 can match eol */
6543 A_surfxml_cluster_bb___sharing___policy = A_surfxml_cluster_bb___sharing___policy_FATPIPE;
6546 /* rule 157 can match eol */
6548 if (surfxml_cluster_bw_isset != 0) {FAIL("Multiple definition of attribute bw in <surfxml_cluster>");} surfxml_cluster_bw_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_bw);
6551 /* rule 158 can match eol */
6553 if (surfxml_cluster_bw_isset != 0) {FAIL("Multiple definition of attribute bw in <surfxml_cluster>");} surfxml_cluster_bw_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_bw);
6556 /* rule 159 can match eol */
6558 if (surfxml_cluster_core_isset != 0) {FAIL("Multiple definition of attribute core in <surfxml_cluster>");} surfxml_cluster_core_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_core);
6561 /* rule 160 can match eol */
6563 if (surfxml_cluster_core_isset != 0) {FAIL("Multiple definition of attribute core in <surfxml_cluster>");} surfxml_cluster_core_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_core);
6566 /* rule 161 can match eol */
6568 if (surfxml_cluster_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_cluster>");} surfxml_cluster_id_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_id);
6571 /* rule 162 can match eol */
6573 if (surfxml_cluster_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_cluster>");} surfxml_cluster_id_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_id);
6576 /* rule 163 can match eol */
6578 if (surfxml_cluster_lat_isset != 0) {FAIL("Multiple definition of attribute lat in <surfxml_cluster>");} surfxml_cluster_lat_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_lat);
6581 /* rule 164 can match eol */
6583 if (surfxml_cluster_lat_isset != 0) {FAIL("Multiple definition of attribute lat in <surfxml_cluster>");} surfxml_cluster_lat_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_lat);
6586 /* rule 165 can match eol */
6588 if (surfxml_cluster_limiter___link_isset != 0) {FAIL("Multiple definition of attribute limiter_link in <surfxml_cluster>");} surfxml_cluster_limiter___link_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_limiter___link);
6591 /* rule 166 can match eol */
6593 if (surfxml_cluster_limiter___link_isset != 0) {FAIL("Multiple definition of attribute limiter_link in <surfxml_cluster>");} surfxml_cluster_limiter___link_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_limiter___link);
6596 /* rule 167 can match eol */
6598 if (surfxml_cluster_loopback___bw_isset != 0) {FAIL("Multiple definition of attribute loopback_bw in <surfxml_cluster>");} surfxml_cluster_loopback___bw_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_loopback___bw);
6601 /* rule 168 can match eol */
6603 if (surfxml_cluster_loopback___bw_isset != 0) {FAIL("Multiple definition of attribute loopback_bw in <surfxml_cluster>");} surfxml_cluster_loopback___bw_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_loopback___bw);
6606 /* rule 169 can match eol */
6608 if (surfxml_cluster_loopback___lat_isset != 0) {FAIL("Multiple definition of attribute loopback_lat in <surfxml_cluster>");} surfxml_cluster_loopback___lat_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_loopback___lat);
6611 /* rule 170 can match eol */
6613 if (surfxml_cluster_loopback___lat_isset != 0) {FAIL("Multiple definition of attribute loopback_lat in <surfxml_cluster>");} surfxml_cluster_loopback___lat_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_loopback___lat);
6616 /* rule 171 can match eol */
6618 if (surfxml_cluster_prefix_isset != 0) {FAIL("Multiple definition of attribute prefix in <surfxml_cluster>");} surfxml_cluster_prefix_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_prefix);
6621 /* rule 172 can match eol */
6623 if (surfxml_cluster_prefix_isset != 0) {FAIL("Multiple definition of attribute prefix in <surfxml_cluster>");} surfxml_cluster_prefix_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_prefix);
6626 /* rule 173 can match eol */
6628 if (surfxml_cluster_radical_isset != 0) {FAIL("Multiple definition of attribute radical in <surfxml_cluster>");} surfxml_cluster_radical_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_radical);
6631 /* rule 174 can match eol */
6633 if (surfxml_cluster_radical_isset != 0) {FAIL("Multiple definition of attribute radical in <surfxml_cluster>");} surfxml_cluster_radical_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_radical);
6636 /* rule 175 can match eol */
6638 if (surfxml_cluster_router___id_isset != 0) {FAIL("Multiple definition of attribute router_id in <surfxml_cluster>");} surfxml_cluster_router___id_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_router___id);
6641 /* rule 176 can match eol */
6643 if (surfxml_cluster_router___id_isset != 0) {FAIL("Multiple definition of attribute router_id in <surfxml_cluster>");} surfxml_cluster_router___id_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_router___id);
6646 /* rule 177 can match eol */
6648 /* rule 178 can match eol */
6650 A_surfxml_cluster_sharing___policy = A_surfxml_cluster_sharing___policy_SHARED;
6653 /* rule 179 can match eol */
6655 /* rule 180 can match eol */
6657 A_surfxml_cluster_sharing___policy = A_surfxml_cluster_sharing___policy_FULLDUPLEX;
6660 /* rule 181 can match eol */
6662 /* rule 182 can match eol */
6664 A_surfxml_cluster_sharing___policy = A_surfxml_cluster_sharing___policy_FATPIPE;
6667 /* rule 183 can match eol */
6669 if (surfxml_cluster_speed_isset != 0) {FAIL("Multiple definition of attribute speed in <surfxml_cluster>");} surfxml_cluster_speed_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_speed);
6672 /* rule 184 can match eol */
6674 if (surfxml_cluster_speed_isset != 0) {FAIL("Multiple definition of attribute speed in <surfxml_cluster>");} surfxml_cluster_speed_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_speed);
6677 /* rule 185 can match eol */
6679 if (surfxml_cluster_suffix_isset != 0) {FAIL("Multiple definition of attribute suffix in <surfxml_cluster>");} surfxml_cluster_suffix_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_suffix);
6682 /* rule 186 can match eol */
6684 if (surfxml_cluster_suffix_isset != 0) {FAIL("Multiple definition of attribute suffix in <surfxml_cluster>");} surfxml_cluster_suffix_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_suffix);
6687 /* rule 187 can match eol */
6689 if (surfxml_cluster_topo___parameters_isset != 0) {FAIL("Multiple definition of attribute topo_parameters in <surfxml_cluster>");} surfxml_cluster_topo___parameters_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_topo___parameters);
6692 /* rule 188 can match eol */
6694 if (surfxml_cluster_topo___parameters_isset != 0) {FAIL("Multiple definition of attribute topo_parameters in <surfxml_cluster>");} surfxml_cluster_topo___parameters_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_topo___parameters);
6697 /* rule 189 can match eol */
6699 /* rule 190 can match eol */
6701 A_surfxml_cluster_topology = A_surfxml_cluster_topology_FLAT;
6704 /* rule 191 can match eol */
6706 /* rule 192 can match eol */
6708 A_surfxml_cluster_topology = A_surfxml_cluster_topology_TORUS;
6711 /* rule 193 can match eol */
6713 /* rule 194 can match eol */
6715 A_surfxml_cluster_topology = A_surfxml_cluster_topology_FAT___TREE;
6718 /* rule 195 can match eol */
6720 /* rule 196 can match eol */
6722 A_surfxml_cluster_topology = A_surfxml_cluster_topology_DRAGONFLY;
6727 if (!AX_surfxml_cluster_bw) FAIL("Required attribute `bw' not set for `cluster' element.");
6728 if (!AX_surfxml_cluster_id) FAIL("Required attribute `id' not set for `cluster' element.");
6729 if (!AX_surfxml_cluster_lat) FAIL("Required attribute `lat' not set for `cluster' element.");
6730 if (!AX_surfxml_cluster_prefix) FAIL("Required attribute `prefix' not set for `cluster' element.");
6731 if (!AX_surfxml_cluster_radical) FAIL("Required attribute `radical' not set for `cluster' element.");
6732 if (!AX_surfxml_cluster_speed) FAIL("Required attribute `speed' not set for `cluster' element.");
6733 if (!AX_surfxml_cluster_suffix) FAIL("Required attribute `suffix' not set for `cluster' element.");
6734 LEAVE; STag_surfxml_cluster();surfxml_pcdata_ix = 0; ENTER(S_surfxml_cluster);
6740 if (!AX_surfxml_cluster_bw) FAIL("Required attribute `bw' not set for `cluster' element.");
6741 if (!AX_surfxml_cluster_id) FAIL("Required attribute `id' not set for `cluster' element.");
6742 if (!AX_surfxml_cluster_lat) FAIL("Required attribute `lat' not set for `cluster' element.");
6743 if (!AX_surfxml_cluster_prefix) FAIL("Required attribute `prefix' not set for `cluster' element.");
6744 if (!AX_surfxml_cluster_radical) FAIL("Required attribute `radical' not set for `cluster' element.");
6745 if (!AX_surfxml_cluster_speed) FAIL("Required attribute `speed' not set for `cluster' element.");
6746 if (!AX_surfxml_cluster_suffix) FAIL("Required attribute `suffix' not set for `cluster' element.");
6747 LEAVE; STag_surfxml_cluster(); surfxml_pcdata_ix = 0; ETag_surfxml_cluster(); popbuffer(); /* attribute */
6749 case S_surfxml_AS: case S_surfxml_AS_1: case S_surfxml_AS_3: case S_surfxml_AS_5: case S_surfxml_AS_6: SET(S_surfxml_AS_6); break;
6750 case S_surfxml_include: case S_surfxml_include_1: case S_surfxml_include_2: SET(S_surfxml_include_2); break;
6751 case S_surfxml_platform: case S_surfxml_platform_1: case S_surfxml_platform_3: case S_surfxml_platform_5: case S_surfxml_platform_6: SET(S_surfxml_platform_6); break;
6757 FAIL("Unexpected character `%c' in attribute list of cluster element.", surf_parse_text[0]);
6761 FAIL("Bad attribute `%s' in `cluster' element start tag.",surf_parse_text);
6763 case YY_STATE_EOF(AL_surfxml_cluster):
6764 FAIL("EOF in attribute list of `cluster' element.");
6768 /* rule 201 can match eol */
6772 ETag_surfxml_cluster();
6773 popbuffer(); /* attribute */
6775 case S_surfxml_AS: case S_surfxml_AS_1: case S_surfxml_AS_3: case S_surfxml_AS_5: case S_surfxml_AS_6: SET(S_surfxml_AS_6); break;
6776 case S_surfxml_include: case S_surfxml_include_1: case S_surfxml_include_2: SET(S_surfxml_include_2); break;
6777 case S_surfxml_platform: case S_surfxml_platform_1: case S_surfxml_platform_3: case S_surfxml_platform_5: case S_surfxml_platform_6: SET(S_surfxml_platform_6); break;
6782 /* rule 202 can match eol */
6784 FAIL("Unexpected end-tag `%s': `</cluster>' expected.",surf_parse_text);
6788 FAIL("Unexpected character `%c': `</cluster>' expected.",surf_parse_text[0]);
6790 case YY_STATE_EOF(E_surfxml_cluster):
6791 case YY_STATE_EOF(S_surfxml_cluster):
6792 case YY_STATE_EOF(S_surfxml_cluster_2):
6793 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</cluster>' expected.");
6797 /* rule 204 can match eol */
6799 FAIL("Starting tag <config> is not allowed here.");
6802 /* rule 205 can match eol */
6805 AX_surfxml_config_id = 0;
6806 surfxml_config_id_isset = 0;
6807 ENTER(AL_surfxml_config); pushbuffer(0);
6812 /* rule 206 can match eol */
6814 if (surfxml_config_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_config>");} surfxml_config_id_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_config_id);
6817 /* rule 207 can match eol */
6819 if (surfxml_config_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_config>");} surfxml_config_id_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_config_id);
6824 LEAVE; STag_surfxml_config();surfxml_pcdata_ix = 0; ENTER(S_surfxml_config);
6830 LEAVE; STag_surfxml_config(); surfxml_pcdata_ix = 0; ETag_surfxml_config(); popbuffer(); /* attribute */
6832 case S_surfxml_platform: case S_surfxml_platform_2: case S_surfxml_platform_3: SET(S_surfxml_platform_3); break;
6838 FAIL("Unexpected character `%c' in attribute list of config element.", surf_parse_text[0]);
6842 FAIL("Bad attribute `%s' in `config' element start tag.",surf_parse_text);
6844 case YY_STATE_EOF(AL_surfxml_config):
6845 FAIL("EOF in attribute list of `config' element.");
6849 /* rule 212 can match eol */
6853 ETag_surfxml_config();
6854 popbuffer(); /* attribute */
6856 case S_surfxml_platform: case S_surfxml_platform_2: case S_surfxml_platform_3: SET(S_surfxml_platform_3); break;
6861 /* rule 213 can match eol */
6863 FAIL("Unexpected end-tag `%s': `</config>' expected.",surf_parse_text);
6867 FAIL("Unexpected character `%c': `</config>' expected.",surf_parse_text[0]);
6869 case YY_STATE_EOF(E_surfxml_config):
6870 case YY_STATE_EOF(S_surfxml_config):
6871 case YY_STATE_EOF(S_surfxml_config_2):
6872 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</config>' expected.");
6876 /* rule 215 can match eol */
6878 FAIL("Starting tag <host> is not allowed here.");
6881 /* rule 216 can match eol */
6884 AX_surfxml_host_availability___file = 0;
6885 surfxml_host_availability___file_isset = 0;
6886 AX_surfxml_host_coordinates = 0;
6887 surfxml_host_coordinates_isset = 0;
6888 AX_surfxml_host_core = 25;
6889 surfxml_host_core_isset = 0;
6890 AX_surfxml_host_id = 0;
6891 surfxml_host_id_isset = 0;
6892 AX_surfxml_host_pstate = 27;
6893 surfxml_host_pstate_isset = 0;
6894 AX_surfxml_host_speed = 0;
6895 surfxml_host_speed_isset = 0;
6896 AX_surfxml_host_state___file = 0;
6897 surfxml_host_state___file_isset = 0;
6898 ENTER(AL_surfxml_host); pushbuffer(0);
6903 /* rule 217 can match eol */
6905 if (surfxml_host_availability___file_isset != 0) {FAIL("Multiple definition of attribute availability_file in <surfxml_host>");} surfxml_host_availability___file_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_host_availability___file);
6908 /* rule 218 can match eol */
6910 if (surfxml_host_availability___file_isset != 0) {FAIL("Multiple definition of attribute availability_file in <surfxml_host>");} surfxml_host_availability___file_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_host_availability___file);
6913 /* rule 219 can match eol */
6915 if (surfxml_host_coordinates_isset != 0) {FAIL("Multiple definition of attribute coordinates in <surfxml_host>");} surfxml_host_coordinates_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_host_coordinates);
6918 /* rule 220 can match eol */
6920 if (surfxml_host_coordinates_isset != 0) {FAIL("Multiple definition of attribute coordinates in <surfxml_host>");} surfxml_host_coordinates_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_host_coordinates);
6923 /* rule 221 can match eol */
6925 if (surfxml_host_core_isset != 0) {FAIL("Multiple definition of attribute core in <surfxml_host>");} surfxml_host_core_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_host_core);
6928 /* rule 222 can match eol */
6930 if (surfxml_host_core_isset != 0) {FAIL("Multiple definition of attribute core in <surfxml_host>");} surfxml_host_core_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_host_core);
6933 /* rule 223 can match eol */
6935 if (surfxml_host_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_host>");} surfxml_host_id_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_host_id);
6938 /* rule 224 can match eol */
6940 if (surfxml_host_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_host>");} surfxml_host_id_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_host_id);
6943 /* rule 225 can match eol */
6945 if (surfxml_host_pstate_isset != 0) {FAIL("Multiple definition of attribute pstate in <surfxml_host>");} surfxml_host_pstate_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_host_pstate);
6948 /* rule 226 can match eol */
6950 if (surfxml_host_pstate_isset != 0) {FAIL("Multiple definition of attribute pstate in <surfxml_host>");} surfxml_host_pstate_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_host_pstate);
6953 /* rule 227 can match eol */
6955 if (surfxml_host_speed_isset != 0) {FAIL("Multiple definition of attribute speed in <surfxml_host>");} surfxml_host_speed_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_host_speed);
6958 /* rule 228 can match eol */
6960 if (surfxml_host_speed_isset != 0) {FAIL("Multiple definition of attribute speed in <surfxml_host>");} surfxml_host_speed_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_host_speed);
6963 /* rule 229 can match eol */
6965 if (surfxml_host_state___file_isset != 0) {FAIL("Multiple definition of attribute state_file in <surfxml_host>");} surfxml_host_state___file_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_host_state___file);
6968 /* rule 230 can match eol */
6970 if (surfxml_host_state___file_isset != 0) {FAIL("Multiple definition of attribute state_file in <surfxml_host>");} surfxml_host_state___file_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_host_state___file);
6975 if (!AX_surfxml_host_id) FAIL("Required attribute `id' not set for `host' element.");
6976 if (!AX_surfxml_host_speed) FAIL("Required attribute `speed' not set for `host' element.");
6977 LEAVE; STag_surfxml_host();surfxml_pcdata_ix = 0; ENTER(S_surfxml_host);
6983 if (!AX_surfxml_host_id) FAIL("Required attribute `id' not set for `host' element.");
6984 if (!AX_surfxml_host_speed) FAIL("Required attribute `speed' not set for `host' element.");
6985 LEAVE; STag_surfxml_host(); surfxml_pcdata_ix = 0; ETag_surfxml_host(); popbuffer(); /* attribute */
6987 case S_surfxml_AS: case S_surfxml_AS_1: case S_surfxml_AS_3: case S_surfxml_AS_5: case S_surfxml_AS_6: SET(S_surfxml_AS_6); break;
6993 FAIL("Unexpected character `%c' in attribute list of host element.", surf_parse_text[0]);
6997 FAIL("Bad attribute `%s' in `host' element start tag.",surf_parse_text);
6999 case YY_STATE_EOF(AL_surfxml_host):
7000 FAIL("EOF in attribute list of `host' element.");
7004 /* rule 235 can match eol */
7008 ETag_surfxml_host();
7009 popbuffer(); /* attribute */
7011 case S_surfxml_AS: case S_surfxml_AS_1: case S_surfxml_AS_3: case S_surfxml_AS_5: case S_surfxml_AS_6: SET(S_surfxml_AS_6); break;
7016 /* rule 236 can match eol */
7018 FAIL("Unexpected end-tag `%s': `</host>' expected.",surf_parse_text);
7022 FAIL("Unexpected character `%c': `</host>' expected.",surf_parse_text[0]);
7024 case YY_STATE_EOF(E_surfxml_host):
7025 case YY_STATE_EOF(S_surfxml_host):
7026 case YY_STATE_EOF(S_surfxml_host_2):
7027 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</host>' expected.");
7031 /* rule 238 can match eol */
7033 FAIL("Starting tag <host_link> is not allowed here.");
7036 /* rule 239 can match eol */
7039 AX_surfxml_host___link_down = 0;
7040 surfxml_host___link_down_isset = 0;
7041 AX_surfxml_host___link_id = 0;
7042 surfxml_host___link_id_isset = 0;
7043 AX_surfxml_host___link_up = 0;
7044 surfxml_host___link_up_isset = 0;
7045 ENTER(AL_surfxml_host___link); pushbuffer(0);
7050 /* rule 240 can match eol */
7052 if (surfxml_host___link_down_isset != 0) {FAIL("Multiple definition of attribute down in <surfxml_host___link>");} surfxml_host___link_down_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_host___link_down);
7055 /* rule 241 can match eol */
7057 if (surfxml_host___link_down_isset != 0) {FAIL("Multiple definition of attribute down in <surfxml_host___link>");} surfxml_host___link_down_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_host___link_down);
7060 /* rule 242 can match eol */
7062 if (surfxml_host___link_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_host___link>");} surfxml_host___link_id_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_host___link_id);
7065 /* rule 243 can match eol */
7067 if (surfxml_host___link_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_host___link>");} surfxml_host___link_id_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_host___link_id);
7070 /* rule 244 can match eol */
7072 if (surfxml_host___link_up_isset != 0) {FAIL("Multiple definition of attribute up in <surfxml_host___link>");} surfxml_host___link_up_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_host___link_up);
7075 /* rule 245 can match eol */
7077 if (surfxml_host___link_up_isset != 0) {FAIL("Multiple definition of attribute up in <surfxml_host___link>");} surfxml_host___link_up_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_host___link_up);
7082 if (!AX_surfxml_host___link_down) FAIL("Required attribute `down' not set for `host_link' element.");
7083 if (!AX_surfxml_host___link_id) FAIL("Required attribute `id' not set for `host_link' element.");
7084 if (!AX_surfxml_host___link_up) FAIL("Required attribute `up' not set for `host_link' element.");
7085 LEAVE; STag_surfxml_host___link();surfxml_pcdata_ix = 0; ENTER(E_surfxml_host___link);
7091 if (!AX_surfxml_host___link_down) FAIL("Required attribute `down' not set for `host_link' element.");
7092 if (!AX_surfxml_host___link_id) FAIL("Required attribute `id' not set for `host_link' element.");
7093 if (!AX_surfxml_host___link_up) FAIL("Required attribute `up' not set for `host_link' element.");
7094 LEAVE; STag_surfxml_host___link(); surfxml_pcdata_ix = 0; ETag_surfxml_host___link(); popbuffer(); /* attribute */
7096 case S_surfxml_AS: case S_surfxml_AS_1: case S_surfxml_AS_3: case S_surfxml_AS_5: case S_surfxml_AS_6: SET(S_surfxml_AS_6); break;
7102 FAIL("Unexpected character `%c' in attribute list of host_link element.", surf_parse_text[0]);
7106 FAIL("Bad attribute `%s' in `host_link' element start tag.",surf_parse_text);
7108 case YY_STATE_EOF(AL_surfxml_host___link):
7109 FAIL("EOF in attribute list of `host_link' element.");
7113 /* rule 250 can match eol */
7117 ETag_surfxml_host___link();
7118 popbuffer(); /* attribute */
7120 case S_surfxml_AS: case S_surfxml_AS_1: case S_surfxml_AS_3: case S_surfxml_AS_5: case S_surfxml_AS_6: SET(S_surfxml_AS_6); break;
7125 /* rule 251 can match eol */
7127 FAIL("Unexpected end-tag `%s': `</host_link>' expected.",surf_parse_text);
7131 FAIL("Unexpected character `%c': `</host_link>' expected.",surf_parse_text[0]);
7133 case YY_STATE_EOF(E_surfxml_host___link):
7134 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</host_link>' expected.");
7138 /* rule 253 can match eol */
7140 FAIL("Starting tag <include> is not allowed here.");
7143 /* rule 254 can match eol */
7146 AX_surfxml_include_file = 0;
7147 surfxml_include_file_isset = 0;
7148 ENTER(AL_surfxml_include); pushbuffer(0);
7153 /* rule 255 can match eol */
7155 if (surfxml_include_file_isset != 0) {FAIL("Multiple definition of attribute file in <surfxml_include>");} surfxml_include_file_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_include_file);
7158 /* rule 256 can match eol */
7160 if (surfxml_include_file_isset != 0) {FAIL("Multiple definition of attribute file in <surfxml_include>");} surfxml_include_file_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_include_file);
7165 if (!AX_surfxml_include_file) FAIL("Required attribute `file' not set for `include' element.");
7166 LEAVE; STag_surfxml_include();surfxml_pcdata_ix = 0; ENTER(S_surfxml_include);
7172 if (!AX_surfxml_include_file) FAIL("Required attribute `file' not set for `include' element.");
7173 LEAVE; STag_surfxml_include(); surfxml_pcdata_ix = 0; ETag_surfxml_include(); popbuffer(); /* attribute */
7175 case S_surfxml_AS: case S_surfxml_AS_1: case S_surfxml_AS_3: case S_surfxml_AS_5: case S_surfxml_AS_6: SET(S_surfxml_AS_6); break;
7176 case S_surfxml_include: case S_surfxml_include_1: case S_surfxml_include_2: SET(S_surfxml_include_2); break;
7177 case S_surfxml_platform: case S_surfxml_platform_1: case S_surfxml_platform_3: case S_surfxml_platform_5: case S_surfxml_platform_6: SET(S_surfxml_platform_6); break;
7183 FAIL("Unexpected character `%c' in attribute list of include element.", surf_parse_text[0]);
7187 FAIL("Bad attribute `%s' in `include' element start tag.",surf_parse_text);
7189 case YY_STATE_EOF(AL_surfxml_include):
7190 FAIL("EOF in attribute list of `include' element.");
7194 /* rule 261 can match eol */
7198 ETag_surfxml_include();
7199 popbuffer(); /* attribute */
7201 case S_surfxml_AS: case S_surfxml_AS_1: case S_surfxml_AS_3: case S_surfxml_AS_5: case S_surfxml_AS_6: SET(S_surfxml_AS_6); break;
7202 case S_surfxml_include: case S_surfxml_include_1: case S_surfxml_include_2: SET(S_surfxml_include_2); break;
7203 case S_surfxml_platform: case S_surfxml_platform_1: case S_surfxml_platform_3: case S_surfxml_platform_5: case S_surfxml_platform_6: SET(S_surfxml_platform_6); break;
7208 /* rule 262 can match eol */
7210 FAIL("Unexpected end-tag `%s': `</include>' expected.",surf_parse_text);
7214 FAIL("Unexpected character `%c': `</include>' expected.",surf_parse_text[0]);
7216 case YY_STATE_EOF(E_surfxml_include):
7217 case YY_STATE_EOF(S_surfxml_include):
7218 case YY_STATE_EOF(S_surfxml_include_2):
7219 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</include>' expected.");
7223 /* rule 264 can match eol */
7225 FAIL("Starting tag <link> is not allowed here.");
7228 /* rule 265 can match eol */
7231 AX_surfxml_link_bandwidth = 0;
7232 surfxml_link_bandwidth_isset = 0;
7233 AX_surfxml_link_bandwidth___file = 0;
7234 surfxml_link_bandwidth___file_isset = 0;
7235 AX_surfxml_link_id = 0;
7236 surfxml_link_id_isset = 0;
7237 AX_surfxml_link_latency = 0;
7238 surfxml_link_latency_isset = 0;
7239 AX_surfxml_link_latency___file = 0;
7240 surfxml_link_latency___file_isset = 0;
7241 AX_surfxml_link_sharing___policy = A_surfxml_link_sharing___policy_SHARED;
7242 surfxml_link_sharing___policy_isset = 0;
7243 AX_surfxml_link_state___file = 0;
7244 surfxml_link_state___file_isset = 0;
7245 ENTER(AL_surfxml_link); pushbuffer(0);
7250 /* rule 266 can match eol */
7252 if (surfxml_link_bandwidth_isset != 0) {FAIL("Multiple definition of attribute bandwidth in <surfxml_link>");} surfxml_link_bandwidth_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_link_bandwidth);
7255 /* rule 267 can match eol */
7257 if (surfxml_link_bandwidth_isset != 0) {FAIL("Multiple definition of attribute bandwidth in <surfxml_link>");} surfxml_link_bandwidth_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_link_bandwidth);
7260 /* rule 268 can match eol */
7262 if (surfxml_link_bandwidth___file_isset != 0) {FAIL("Multiple definition of attribute bandwidth_file in <surfxml_link>");} surfxml_link_bandwidth___file_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_link_bandwidth___file);
7265 /* rule 269 can match eol */
7267 if (surfxml_link_bandwidth___file_isset != 0) {FAIL("Multiple definition of attribute bandwidth_file in <surfxml_link>");} surfxml_link_bandwidth___file_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_link_bandwidth___file);
7270 /* rule 270 can match eol */
7272 if (surfxml_link_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_link>");} surfxml_link_id_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_link_id);
7275 /* rule 271 can match eol */
7277 if (surfxml_link_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_link>");} surfxml_link_id_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_link_id);
7280 /* rule 272 can match eol */
7282 if (surfxml_link_latency_isset != 0) {FAIL("Multiple definition of attribute latency in <surfxml_link>");} surfxml_link_latency_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_link_latency);
7285 /* rule 273 can match eol */
7287 if (surfxml_link_latency_isset != 0) {FAIL("Multiple definition of attribute latency in <surfxml_link>");} surfxml_link_latency_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_link_latency);
7290 /* rule 274 can match eol */
7292 if (surfxml_link_latency___file_isset != 0) {FAIL("Multiple definition of attribute latency_file in <surfxml_link>");} surfxml_link_latency___file_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_link_latency___file);
7295 /* rule 275 can match eol */
7297 if (surfxml_link_latency___file_isset != 0) {FAIL("Multiple definition of attribute latency_file in <surfxml_link>");} surfxml_link_latency___file_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_link_latency___file);
7300 /* rule 276 can match eol */
7302 /* rule 277 can match eol */
7304 A_surfxml_link_sharing___policy = A_surfxml_link_sharing___policy_SHARED;
7307 /* rule 278 can match eol */
7309 /* rule 279 can match eol */
7311 A_surfxml_link_sharing___policy = A_surfxml_link_sharing___policy_FATPIPE;
7314 /* rule 280 can match eol */
7316 /* rule 281 can match eol */
7318 A_surfxml_link_sharing___policy = A_surfxml_link_sharing___policy_FULLDUPLEX;
7321 /* rule 282 can match eol */
7323 if (surfxml_link_state___file_isset != 0) {FAIL("Multiple definition of attribute state_file in <surfxml_link>");} surfxml_link_state___file_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_link_state___file);
7326 /* rule 283 can match eol */
7328 if (surfxml_link_state___file_isset != 0) {FAIL("Multiple definition of attribute state_file in <surfxml_link>");} surfxml_link_state___file_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_link_state___file);
7333 if (!AX_surfxml_link_bandwidth) FAIL("Required attribute `bandwidth' not set for `link' element.");
7334 if (!AX_surfxml_link_id) FAIL("Required attribute `id' not set for `link' element.");
7335 LEAVE; STag_surfxml_link();surfxml_pcdata_ix = 0; ENTER(S_surfxml_link);
7341 if (!AX_surfxml_link_bandwidth) FAIL("Required attribute `bandwidth' not set for `link' element.");
7342 if (!AX_surfxml_link_id) FAIL("Required attribute `id' not set for `link' element.");
7343 LEAVE; STag_surfxml_link(); surfxml_pcdata_ix = 0; ETag_surfxml_link(); popbuffer(); /* attribute */
7345 case S_surfxml_AS: case S_surfxml_AS_1: case S_surfxml_AS_3: case S_surfxml_AS_5: case S_surfxml_AS_6: SET(S_surfxml_AS_6); break;
7351 FAIL("Unexpected character `%c' in attribute list of link element.", surf_parse_text[0]);
7355 FAIL("Bad attribute `%s' in `link' element start tag.",surf_parse_text);
7357 case YY_STATE_EOF(AL_surfxml_link):
7358 FAIL("EOF in attribute list of `link' element.");
7362 /* rule 288 can match eol */
7366 ETag_surfxml_link();
7367 popbuffer(); /* attribute */
7369 case S_surfxml_AS: case S_surfxml_AS_1: case S_surfxml_AS_3: case S_surfxml_AS_5: case S_surfxml_AS_6: SET(S_surfxml_AS_6); break;
7374 /* rule 289 can match eol */
7376 FAIL("Unexpected end-tag `%s': `</link>' expected.",surf_parse_text);
7380 FAIL("Unexpected character `%c': `</link>' expected.",surf_parse_text[0]);
7382 case YY_STATE_EOF(E_surfxml_link):
7383 case YY_STATE_EOF(S_surfxml_link):
7384 case YY_STATE_EOF(S_surfxml_link_2):
7385 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</link>' expected.");
7389 /* rule 291 can match eol */
7391 FAIL("Starting tag <link_ctn> is not allowed here.");
7394 /* rule 292 can match eol */
7397 AX_surfxml_link___ctn_direction = A_surfxml_link___ctn_direction_NONE;
7398 surfxml_link___ctn_direction_isset = 0;
7399 AX_surfxml_link___ctn_id = 0;
7400 surfxml_link___ctn_id_isset = 0;
7401 ENTER(AL_surfxml_link___ctn); pushbuffer(0);
7406 /* rule 293 can match eol */
7408 /* rule 294 can match eol */
7410 A_surfxml_link___ctn_direction = A_surfxml_link___ctn_direction_UP;
7413 /* rule 295 can match eol */
7415 /* rule 296 can match eol */
7417 A_surfxml_link___ctn_direction = A_surfxml_link___ctn_direction_DOWN;
7420 /* rule 297 can match eol */
7422 /* rule 298 can match eol */
7424 A_surfxml_link___ctn_direction = A_surfxml_link___ctn_direction_NONE;
7427 /* rule 299 can match eol */
7429 if (surfxml_link___ctn_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_link___ctn>");} surfxml_link___ctn_id_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_link___ctn_id);
7432 /* rule 300 can match eol */
7434 if (surfxml_link___ctn_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_link___ctn>");} surfxml_link___ctn_id_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_link___ctn_id);
7439 if (!AX_surfxml_link___ctn_id) FAIL("Required attribute `id' not set for `link_ctn' element.");
7440 LEAVE; STag_surfxml_link___ctn();surfxml_pcdata_ix = 0; ENTER(E_surfxml_link___ctn);
7446 if (!AX_surfxml_link___ctn_id) FAIL("Required attribute `id' not set for `link_ctn' element.");
7447 LEAVE; STag_surfxml_link___ctn(); surfxml_pcdata_ix = 0; ETag_surfxml_link___ctn(); popbuffer(); /* attribute */
7449 case S_surfxml_ASroute: case S_surfxml_ASroute_1: case S_surfxml_ASroute_2: SET(S_surfxml_ASroute_2); break;
7450 case S_surfxml_bypassASroute: case S_surfxml_bypassASroute_1: case S_surfxml_bypassASroute_2: SET(S_surfxml_bypassASroute_2); break;
7451 case S_surfxml_bypassRoute: case S_surfxml_bypassRoute_1: case S_surfxml_bypassRoute_2: SET(S_surfxml_bypassRoute_2); break;
7452 case S_surfxml_route: case S_surfxml_route_1: case S_surfxml_route_2: SET(S_surfxml_route_2); break;
7458 FAIL("Unexpected character `%c' in attribute list of link_ctn element.", surf_parse_text[0]);
7462 FAIL("Bad attribute `%s' in `link_ctn' element start tag.",surf_parse_text);
7464 case YY_STATE_EOF(AL_surfxml_link___ctn):
7465 FAIL("EOF in attribute list of `link_ctn' element.");
7469 /* rule 305 can match eol */
7473 ETag_surfxml_link___ctn();
7474 popbuffer(); /* attribute */
7476 case S_surfxml_ASroute: case S_surfxml_ASroute_1: case S_surfxml_ASroute_2: SET(S_surfxml_ASroute_2); break;
7477 case S_surfxml_bypassASroute: case S_surfxml_bypassASroute_1: case S_surfxml_bypassASroute_2: SET(S_surfxml_bypassASroute_2); break;
7478 case S_surfxml_bypassRoute: case S_surfxml_bypassRoute_1: case S_surfxml_bypassRoute_2: SET(S_surfxml_bypassRoute_2); break;
7479 case S_surfxml_route: case S_surfxml_route_1: case S_surfxml_route_2: SET(S_surfxml_route_2); break;
7484 /* rule 306 can match eol */
7486 FAIL("Unexpected end-tag `%s': `</link_ctn>' expected.",surf_parse_text);
7490 FAIL("Unexpected character `%c': `</link_ctn>' expected.",surf_parse_text[0]);
7492 case YY_STATE_EOF(E_surfxml_link___ctn):
7493 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</link_ctn>' expected.");
7496 /* <!-- <!ATTLIST model_prop key CDATA #REQUIRED> -->
7497 * <!-- <!ATTLIST model_prop key CDATA #REQUIRED> --> */
7499 /* rule 308 can match eol */
7501 FAIL("Starting tag <model_prop> is not allowed here.");
7504 /* rule 309 can match eol */
7507 AX_surfxml_model___prop_id = 0;
7508 surfxml_model___prop_id_isset = 0;
7509 AX_surfxml_model___prop_value = 0;
7510 surfxml_model___prop_value_isset = 0;
7511 ENTER(AL_surfxml_model___prop); pushbuffer(0);
7516 /* rule 310 can match eol */
7518 if (surfxml_model___prop_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_model___prop>");} surfxml_model___prop_id_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_model___prop_id);
7521 /* rule 311 can match eol */
7523 if (surfxml_model___prop_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_model___prop>");} surfxml_model___prop_id_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_model___prop_id);
7526 /* rule 312 can match eol */
7528 if (surfxml_model___prop_value_isset != 0) {FAIL("Multiple definition of attribute value in <surfxml_model___prop>");} surfxml_model___prop_value_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_model___prop_value);
7531 /* rule 313 can match eol */
7533 if (surfxml_model___prop_value_isset != 0) {FAIL("Multiple definition of attribute value in <surfxml_model___prop>");} surfxml_model___prop_value_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_model___prop_value);
7538 if (!AX_surfxml_model___prop_id) FAIL("Required attribute `id' not set for `model_prop' element.");
7539 if (!AX_surfxml_model___prop_value) FAIL("Required attribute `value' not set for `model_prop' element.");
7540 LEAVE; STag_surfxml_model___prop();surfxml_pcdata_ix = 0; ENTER(E_surfxml_model___prop);
7546 if (!AX_surfxml_model___prop_id) FAIL("Required attribute `id' not set for `model_prop' element.");
7547 if (!AX_surfxml_model___prop_value) FAIL("Required attribute `value' not set for `model_prop' element.");
7548 LEAVE; STag_surfxml_model___prop(); surfxml_pcdata_ix = 0; ETag_surfxml_model___prop(); popbuffer(); /* attribute */
7550 case S_surfxml_storage___type: case S_surfxml_storage___type_1: case S_surfxml_storage___type_2: SET(S_surfxml_storage___type_2); break;
7556 FAIL("Unexpected character `%c' in attribute list of model_prop element.", surf_parse_text[0]);
7560 FAIL("Bad attribute `%s' in `model_prop' element start tag.",surf_parse_text);
7562 case YY_STATE_EOF(AL_surfxml_model___prop):
7563 FAIL("EOF in attribute list of `model_prop' element.");
7567 /* rule 318 can match eol */
7571 ETag_surfxml_model___prop();
7572 popbuffer(); /* attribute */
7574 case S_surfxml_storage___type: case S_surfxml_storage___type_1: case S_surfxml_storage___type_2: SET(S_surfxml_storage___type_2); break;
7579 /* rule 319 can match eol */
7581 FAIL("Unexpected end-tag `%s': `</model_prop>' expected.",surf_parse_text);
7585 FAIL("Unexpected character `%c': `</model_prop>' expected.",surf_parse_text[0]);
7587 case YY_STATE_EOF(E_surfxml_model___prop):
7588 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</model_prop>' expected.");
7592 /* rule 321 can match eol */
7594 FAIL("Starting tag <mount> is not allowed here.");
7597 /* rule 322 can match eol */
7600 AX_surfxml_mount_name = 0;
7601 surfxml_mount_name_isset = 0;
7602 AX_surfxml_mount_storageId = 0;
7603 surfxml_mount_storageId_isset = 0;
7604 ENTER(AL_surfxml_mount); pushbuffer(0);
7609 /* rule 323 can match eol */
7611 if (surfxml_mount_name_isset != 0) {FAIL("Multiple definition of attribute name in <surfxml_mount>");} surfxml_mount_name_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_mount_name);
7614 /* rule 324 can match eol */
7616 if (surfxml_mount_name_isset != 0) {FAIL("Multiple definition of attribute name in <surfxml_mount>");} surfxml_mount_name_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_mount_name);
7619 /* rule 325 can match eol */
7621 if (surfxml_mount_storageId_isset != 0) {FAIL("Multiple definition of attribute storageId in <surfxml_mount>");} surfxml_mount_storageId_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_mount_storageId);
7624 /* rule 326 can match eol */
7626 if (surfxml_mount_storageId_isset != 0) {FAIL("Multiple definition of attribute storageId in <surfxml_mount>");} surfxml_mount_storageId_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_mount_storageId);
7631 if (!AX_surfxml_mount_name) FAIL("Required attribute `name' not set for `mount' element.");
7632 if (!AX_surfxml_mount_storageId) FAIL("Required attribute `storageId' not set for `mount' element.");
7633 LEAVE; STag_surfxml_mount();surfxml_pcdata_ix = 0; ENTER(E_surfxml_mount);
7639 if (!AX_surfxml_mount_name) FAIL("Required attribute `name' not set for `mount' element.");
7640 if (!AX_surfxml_mount_storageId) FAIL("Required attribute `storageId' not set for `mount' element.");
7641 LEAVE; STag_surfxml_mount(); surfxml_pcdata_ix = 0; ETag_surfxml_mount(); popbuffer(); /* attribute */
7643 case S_surfxml_host: case S_surfxml_host_1: case S_surfxml_host_2: SET(S_surfxml_host_2); break;
7649 FAIL("Unexpected character `%c' in attribute list of mount element.", surf_parse_text[0]);
7653 FAIL("Bad attribute `%s' in `mount' element start tag.",surf_parse_text);
7655 case YY_STATE_EOF(AL_surfxml_mount):
7656 FAIL("EOF in attribute list of `mount' element.");
7660 /* rule 331 can match eol */
7664 ETag_surfxml_mount();
7665 popbuffer(); /* attribute */
7667 case S_surfxml_host: case S_surfxml_host_1: case S_surfxml_host_2: SET(S_surfxml_host_2); break;
7672 /* rule 332 can match eol */
7674 FAIL("Unexpected end-tag `%s': `</mount>' expected.",surf_parse_text);
7678 FAIL("Unexpected character `%c': `</mount>' expected.",surf_parse_text[0]);
7680 case YY_STATE_EOF(E_surfxml_mount):
7681 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</mount>' expected.");
7685 /* rule 334 can match eol */
7687 FAIL("Starting tag <peer> is not allowed here.");
7690 /* rule 335 can match eol */
7693 AX_surfxml_peer_availability___file = 0;
7694 surfxml_peer_availability___file_isset = 0;
7695 AX_surfxml_peer_bw___in = 0;
7696 surfxml_peer_bw___in_isset = 0;
7697 AX_surfxml_peer_bw___out = 0;
7698 surfxml_peer_bw___out_isset = 0;
7699 AX_surfxml_peer_coordinates = 0;
7700 surfxml_peer_coordinates_isset = 0;
7701 AX_surfxml_peer_id = 0;
7702 surfxml_peer_id_isset = 0;
7703 AX_surfxml_peer_lat = 0;
7704 surfxml_peer_lat_isset = 0;
7705 AX_surfxml_peer_speed = 0;
7706 surfxml_peer_speed_isset = 0;
7707 AX_surfxml_peer_state___file = 0;
7708 surfxml_peer_state___file_isset = 0;
7709 ENTER(AL_surfxml_peer); pushbuffer(0);
7714 /* rule 336 can match eol */
7716 if (surfxml_peer_availability___file_isset != 0) {FAIL("Multiple definition of attribute availability_file in <surfxml_peer>");} surfxml_peer_availability___file_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_peer_availability___file);
7719 /* rule 337 can match eol */
7721 if (surfxml_peer_availability___file_isset != 0) {FAIL("Multiple definition of attribute availability_file in <surfxml_peer>");} surfxml_peer_availability___file_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_peer_availability___file);
7724 /* rule 338 can match eol */
7726 if (surfxml_peer_bw___in_isset != 0) {FAIL("Multiple definition of attribute bw_in in <surfxml_peer>");} surfxml_peer_bw___in_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_peer_bw___in);
7729 /* rule 339 can match eol */
7731 if (surfxml_peer_bw___in_isset != 0) {FAIL("Multiple definition of attribute bw_in in <surfxml_peer>");} surfxml_peer_bw___in_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_peer_bw___in);
7734 /* rule 340 can match eol */
7736 if (surfxml_peer_bw___out_isset != 0) {FAIL("Multiple definition of attribute bw_out in <surfxml_peer>");} surfxml_peer_bw___out_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_peer_bw___out);
7739 /* rule 341 can match eol */
7741 if (surfxml_peer_bw___out_isset != 0) {FAIL("Multiple definition of attribute bw_out in <surfxml_peer>");} surfxml_peer_bw___out_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_peer_bw___out);
7744 /* rule 342 can match eol */
7746 if (surfxml_peer_coordinates_isset != 0) {FAIL("Multiple definition of attribute coordinates in <surfxml_peer>");} surfxml_peer_coordinates_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_peer_coordinates);
7749 /* rule 343 can match eol */
7751 if (surfxml_peer_coordinates_isset != 0) {FAIL("Multiple definition of attribute coordinates in <surfxml_peer>");} surfxml_peer_coordinates_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_peer_coordinates);
7754 /* rule 344 can match eol */
7756 if (surfxml_peer_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_peer>");} surfxml_peer_id_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_peer_id);
7759 /* rule 345 can match eol */
7761 if (surfxml_peer_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_peer>");} surfxml_peer_id_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_peer_id);
7764 /* rule 346 can match eol */
7766 if (surfxml_peer_lat_isset != 0) {FAIL("Multiple definition of attribute lat in <surfxml_peer>");} surfxml_peer_lat_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_peer_lat);
7769 /* rule 347 can match eol */
7771 if (surfxml_peer_lat_isset != 0) {FAIL("Multiple definition of attribute lat in <surfxml_peer>");} surfxml_peer_lat_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_peer_lat);
7774 /* rule 348 can match eol */
7776 if (surfxml_peer_speed_isset != 0) {FAIL("Multiple definition of attribute speed in <surfxml_peer>");} surfxml_peer_speed_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_peer_speed);
7779 /* rule 349 can match eol */
7781 if (surfxml_peer_speed_isset != 0) {FAIL("Multiple definition of attribute speed in <surfxml_peer>");} surfxml_peer_speed_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_peer_speed);
7784 /* rule 350 can match eol */
7786 if (surfxml_peer_state___file_isset != 0) {FAIL("Multiple definition of attribute state_file in <surfxml_peer>");} surfxml_peer_state___file_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_peer_state___file);
7789 /* rule 351 can match eol */
7791 if (surfxml_peer_state___file_isset != 0) {FAIL("Multiple definition of attribute state_file in <surfxml_peer>");} surfxml_peer_state___file_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_peer_state___file);
7796 if (!AX_surfxml_peer_bw___in) FAIL("Required attribute `bw_in' not set for `peer' element.");
7797 if (!AX_surfxml_peer_bw___out) FAIL("Required attribute `bw_out' not set for `peer' element.");
7798 if (!AX_surfxml_peer_id) FAIL("Required attribute `id' not set for `peer' element.");
7799 if (!AX_surfxml_peer_lat) FAIL("Required attribute `lat' not set for `peer' element.");
7800 if (!AX_surfxml_peer_speed) FAIL("Required attribute `speed' not set for `peer' element.");
7801 LEAVE; STag_surfxml_peer();surfxml_pcdata_ix = 0; ENTER(E_surfxml_peer);
7807 if (!AX_surfxml_peer_bw___in) FAIL("Required attribute `bw_in' not set for `peer' element.");
7808 if (!AX_surfxml_peer_bw___out) FAIL("Required attribute `bw_out' not set for `peer' element.");
7809 if (!AX_surfxml_peer_id) FAIL("Required attribute `id' not set for `peer' element.");
7810 if (!AX_surfxml_peer_lat) FAIL("Required attribute `lat' not set for `peer' element.");
7811 if (!AX_surfxml_peer_speed) FAIL("Required attribute `speed' not set for `peer' element.");
7812 LEAVE; STag_surfxml_peer(); surfxml_pcdata_ix = 0; ETag_surfxml_peer(); popbuffer(); /* attribute */
7814 case S_surfxml_AS: case S_surfxml_AS_1: case S_surfxml_AS_3: case S_surfxml_AS_5: case S_surfxml_AS_6: SET(S_surfxml_AS_6); break;
7815 case S_surfxml_include: case S_surfxml_include_1: case S_surfxml_include_2: SET(S_surfxml_include_2); break;
7816 case S_surfxml_platform: case S_surfxml_platform_1: case S_surfxml_platform_3: case S_surfxml_platform_5: case S_surfxml_platform_6: SET(S_surfxml_platform_6); break;
7822 FAIL("Unexpected character `%c' in attribute list of peer element.", surf_parse_text[0]);
7826 FAIL("Bad attribute `%s' in `peer' element start tag.",surf_parse_text);
7828 case YY_STATE_EOF(AL_surfxml_peer):
7829 FAIL("EOF in attribute list of `peer' element.");
7833 /* rule 356 can match eol */
7837 ETag_surfxml_peer();
7838 popbuffer(); /* attribute */
7840 case S_surfxml_AS: case S_surfxml_AS_1: case S_surfxml_AS_3: case S_surfxml_AS_5: case S_surfxml_AS_6: SET(S_surfxml_AS_6); break;
7841 case S_surfxml_include: case S_surfxml_include_1: case S_surfxml_include_2: SET(S_surfxml_include_2); break;
7842 case S_surfxml_platform: case S_surfxml_platform_1: case S_surfxml_platform_3: case S_surfxml_platform_5: case S_surfxml_platform_6: SET(S_surfxml_platform_6); break;
7847 /* rule 357 can match eol */
7849 FAIL("Unexpected end-tag `%s': `</peer>' expected.",surf_parse_text);
7853 FAIL("Unexpected character `%c': `</peer>' expected.",surf_parse_text[0]);
7855 case YY_STATE_EOF(E_surfxml_peer):
7856 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</peer>' expected.");
7860 * DTD of SimGrid platform and deployment files.
7861 * More info: http://simgrid.gforge.inria.fr/simgrid/latest/doc/platform.html
7862 * To upgrade your files, use the tool simgrid_update_xml
7863 * * New in DTD version 4 (in SimGrid 3.13):
7864 * - Rename (power->speed) the attributes describing the amount of flop
7865 * that a <host>, <peer>, <cluster> or <cabinet> can deliver per second.
7866 * - In <trace_connect>, attribute kind="POWER" is now kind="SPEED".
7868 * - In <host> and <link>, attributes availability and state are gone.
7869 * It was redundent with state and availability traces, and with peak values.
7871 * - In <cluster>, cannot set the availability nor state traces.
7872 * This was too complex and unused.
7873 * - The DOCTYPE points to the right URL (this file):
7874 * http://simgrid.gforge.inria.fr/simgrid/simgrid.dtd
7876 * - Kill <gpu>. Was not doing anything.
7877 * - A warning is emitted for unit-less values (they are still accepted).
7878 * - speed. Default: 'f' or 'flops'. Also defined:
7879 * 'Yf', 'Zf', 'Ef', 'Pf', 'Tf', 'Gf', 'Mf', 'kf'
7880 * 'yottaflops', 'zettaflops', 'exaflops', 'petaflops', 'teraflops', 'gigaflops', 'megaflops', 'kiloflops'
7881 * - bandwidth. Default: 'Bps' bytes per second (or 'bps' for bits but 1 Bps = 8 bps)
7882 * Also defined in bytes: 'TiBps', 'GiBps', 'MiBps', 'KiBps', 'TBps', 'GBps', 'MBps', 'kBps', 'Bps'
7883 * And the same in bits: 'Tibps', 'Gibps', 'Mibps', 'Kibps', 'Tbps', 'Gbps', 'Mbps', 'kbps', 'bps'
7884 * - latency. Default: 's' second. Also defined:
7885 * 'w' week, 'd' day, 'h' hour, 'm' minute, 'ms' millisecond, 'us' microsecond, 'ns' nanosecond, 'ps' picosecond
7886 * * New in DTD version 3 (in SimGrid 3.5):
7887 * - The AS tag were introduced. Every platform should now
7888 * contain an englobing AS tag.
7889 * - Routes are now symmetric by default.
7890 * - Renamed tags (for sake of XML sanity):
7891 * - LINK:CTN -> LINK_CTN
7892 * - TRACE:CONNECT -> TRACE_CONNECT
7893 * * New in DTD version 2 (in SimGrid 3.4):
7896 * - NETWORK_LINK -> LINK
7897 * - ROUTE_ELEMENT -> LINK:CTN (changed again in v3)
7898 * - PLATFORM_DESCRIPTION -> PLATFORM
7899 * * New in DTD version 1 (in SimGrid 3.3):
7900 * - DTD is now versionned with the version attribute of platform
7902 * - Link bandwidth: from Mb/s to b/s
7903 * - CPU speed: from MFlop/s to Flop/s
7906 /* rule 359 can match eol */
7908 FAIL("Starting tag <platform> is not allowed here.");
7911 /* rule 360 can match eol */
7914 AX_surfxml_platform_version = 1;
7915 surfxml_platform_version_isset = 0;
7916 ENTER(AL_surfxml_platform); pushbuffer(0);
7921 /* rule 361 can match eol */
7923 if (surfxml_platform_version_isset != 0) {FAIL("Multiple definition of attribute version in <surfxml_platform>");} surfxml_platform_version_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_platform_version);
7926 /* rule 362 can match eol */
7928 if (surfxml_platform_version_isset != 0) {FAIL("Multiple definition of attribute version in <surfxml_platform>");} surfxml_platform_version_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_platform_version);
7933 LEAVE; STag_surfxml_platform();surfxml_pcdata_ix = 0; ENTER(S_surfxml_platform);
7939 LEAVE; STag_surfxml_platform(); surfxml_pcdata_ix = 0; ETag_surfxml_platform(); popbuffer(); /* attribute */
7941 case ROOT_surfxml_platform: SET(EPILOG); break;
7947 FAIL("Unexpected character `%c' in attribute list of platform element.", surf_parse_text[0]);
7951 FAIL("Bad attribute `%s' in `platform' element start tag.",surf_parse_text);
7953 case YY_STATE_EOF(AL_surfxml_platform):
7954 FAIL("EOF in attribute list of `platform' element.");
7958 /* rule 367 can match eol */
7962 ETag_surfxml_platform();
7963 popbuffer(); /* attribute */
7965 case ROOT_surfxml_platform: SET(EPILOG); break;
7970 /* rule 368 can match eol */
7972 FAIL("Unexpected end-tag `%s': `</platform>' expected.",surf_parse_text);
7976 FAIL("Unexpected character `%c': `</platform>' expected.",surf_parse_text[0]);
7978 case YY_STATE_EOF(E_surfxml_platform):
7979 case YY_STATE_EOF(S_surfxml_platform):
7980 case YY_STATE_EOF(S_surfxml_platform_1):
7981 case YY_STATE_EOF(S_surfxml_platform_3):
7982 case YY_STATE_EOF(S_surfxml_platform_4):
7983 case YY_STATE_EOF(S_surfxml_platform_6):
7984 case YY_STATE_EOF(S_surfxml_platform_8):
7985 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</platform>' expected.");
7989 /* rule 370 can match eol */
7991 FAIL("Starting tag <process> is not allowed here.");
7994 /* rule 371 can match eol */
7997 AX_surfxml_process_function = 0;
7998 surfxml_process_function_isset = 0;
7999 AX_surfxml_process_host = 0;
8000 surfxml_process_host_isset = 0;
8001 AX_surfxml_process_kill___time = 50;
8002 surfxml_process_kill___time_isset = 0;
8003 AX_surfxml_process_on___failure = A_surfxml_process_on___failure_DIE;
8004 surfxml_process_on___failure_isset = 0;
8005 AX_surfxml_process_start___time = 45;
8006 surfxml_process_start___time_isset = 0;
8007 ENTER(AL_surfxml_process); pushbuffer(0);
8012 /* rule 372 can match eol */
8014 if (surfxml_process_function_isset != 0) {FAIL("Multiple definition of attribute function in <surfxml_process>");} surfxml_process_function_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_process_function);
8017 /* rule 373 can match eol */
8019 if (surfxml_process_function_isset != 0) {FAIL("Multiple definition of attribute function in <surfxml_process>");} surfxml_process_function_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_process_function);
8022 /* rule 374 can match eol */
8024 if (surfxml_process_host_isset != 0) {FAIL("Multiple definition of attribute host in <surfxml_process>");} surfxml_process_host_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_process_host);
8027 /* rule 375 can match eol */
8029 if (surfxml_process_host_isset != 0) {FAIL("Multiple definition of attribute host in <surfxml_process>");} surfxml_process_host_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_process_host);
8032 /* rule 376 can match eol */
8034 if (surfxml_process_kill___time_isset != 0) {FAIL("Multiple definition of attribute kill_time in <surfxml_process>");} surfxml_process_kill___time_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_process_kill___time);
8037 /* rule 377 can match eol */
8039 if (surfxml_process_kill___time_isset != 0) {FAIL("Multiple definition of attribute kill_time in <surfxml_process>");} surfxml_process_kill___time_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_process_kill___time);
8042 /* rule 378 can match eol */
8044 /* rule 379 can match eol */
8046 A_surfxml_process_on___failure = A_surfxml_process_on___failure_DIE;
8049 /* rule 380 can match eol */
8051 /* rule 381 can match eol */
8053 A_surfxml_process_on___failure = A_surfxml_process_on___failure_RESTART;
8056 /* rule 382 can match eol */
8058 if (surfxml_process_start___time_isset != 0) {FAIL("Multiple definition of attribute start_time in <surfxml_process>");} surfxml_process_start___time_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_process_start___time);
8061 /* rule 383 can match eol */
8063 if (surfxml_process_start___time_isset != 0) {FAIL("Multiple definition of attribute start_time in <surfxml_process>");} surfxml_process_start___time_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_process_start___time);
8068 if (!AX_surfxml_process_function) FAIL("Required attribute `function' not set for `process' element.");
8069 if (!AX_surfxml_process_host) FAIL("Required attribute `host' not set for `process' element.");
8070 LEAVE; STag_surfxml_process();surfxml_pcdata_ix = 0; ENTER(S_surfxml_process);
8076 if (!AX_surfxml_process_function) FAIL("Required attribute `function' not set for `process' element.");
8077 if (!AX_surfxml_process_host) FAIL("Required attribute `host' not set for `process' element.");
8078 LEAVE; STag_surfxml_process(); surfxml_pcdata_ix = 0; ETag_surfxml_process(); popbuffer(); /* attribute */
8080 case S_surfxml_platform: case S_surfxml_platform_1: case S_surfxml_platform_3: case S_surfxml_platform_4: case S_surfxml_platform_6: case S_surfxml_platform_7: case S_surfxml_platform_8: SET(S_surfxml_platform_8); break;
8086 FAIL("Unexpected character `%c' in attribute list of process element.", surf_parse_text[0]);
8090 FAIL("Bad attribute `%s' in `process' element start tag.",surf_parse_text);
8092 case YY_STATE_EOF(AL_surfxml_process):
8093 FAIL("EOF in attribute list of `process' element.");
8097 /* rule 388 can match eol */
8101 ETag_surfxml_process();
8102 popbuffer(); /* attribute */
8104 case S_surfxml_platform: case S_surfxml_platform_1: case S_surfxml_platform_3: case S_surfxml_platform_4: case S_surfxml_platform_6: case S_surfxml_platform_7: case S_surfxml_platform_8: SET(S_surfxml_platform_8); break;
8109 /* rule 389 can match eol */
8111 FAIL("Unexpected end-tag `%s': `</process>' expected.",surf_parse_text);
8115 FAIL("Unexpected character `%c': `</process>' expected.",surf_parse_text[0]);
8117 case YY_STATE_EOF(E_surfxml_process):
8118 case YY_STATE_EOF(S_surfxml_process):
8119 case YY_STATE_EOF(S_surfxml_process_2):
8120 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</process>' expected.");
8123 /* <!-- <!ATTLIST prop key CDATA #REQUIRED> -->
8124 * <!-- <!ATTLIST prop key CDATA #REQUIRED> --> */
8126 /* rule 391 can match eol */
8128 FAIL("Starting tag <prop> is not allowed here.");
8131 /* rule 392 can match eol */
8134 AX_surfxml_prop_id = 0;
8135 surfxml_prop_id_isset = 0;
8136 AX_surfxml_prop_value = 0;
8137 surfxml_prop_value_isset = 0;
8138 ENTER(AL_surfxml_prop); pushbuffer(0);
8143 /* rule 393 can match eol */
8145 if (surfxml_prop_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_prop>");} surfxml_prop_id_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_prop_id);
8148 /* rule 394 can match eol */
8150 if (surfxml_prop_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_prop>");} surfxml_prop_id_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_prop_id);
8153 /* rule 395 can match eol */
8155 if (surfxml_prop_value_isset != 0) {FAIL("Multiple definition of attribute value in <surfxml_prop>");} surfxml_prop_value_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_prop_value);
8158 /* rule 396 can match eol */
8160 if (surfxml_prop_value_isset != 0) {FAIL("Multiple definition of attribute value in <surfxml_prop>");} surfxml_prop_value_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_prop_value);
8165 if (!AX_surfxml_prop_id) FAIL("Required attribute `id' not set for `prop' element.");
8166 if (!AX_surfxml_prop_value) FAIL("Required attribute `value' not set for `prop' element.");
8167 LEAVE; STag_surfxml_prop();surfxml_pcdata_ix = 0; ENTER(E_surfxml_prop);
8173 if (!AX_surfxml_prop_id) FAIL("Required attribute `id' not set for `prop' element.");
8174 if (!AX_surfxml_prop_value) FAIL("Required attribute `value' not set for `prop' element.");
8175 LEAVE; STag_surfxml_prop(); surfxml_pcdata_ix = 0; ETag_surfxml_prop(); popbuffer(); /* attribute */
8177 case S_surfxml_AS: case S_surfxml_AS_2: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
8178 case S_surfxml_cluster: case S_surfxml_cluster_1: case S_surfxml_cluster_2: SET(S_surfxml_cluster_2); break;
8179 case S_surfxml_config: case S_surfxml_config_1: case S_surfxml_config_2: SET(S_surfxml_config_2); break;
8180 case S_surfxml_host: case S_surfxml_host_1: case S_surfxml_host_2: SET(S_surfxml_host_2); break;
8181 case S_surfxml_link: case S_surfxml_link_1: case S_surfxml_link_2: SET(S_surfxml_link_2); break;
8182 case S_surfxml_process: case S_surfxml_process_1: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
8183 case S_surfxml_storage: case S_surfxml_storage_1: case S_surfxml_storage_2: SET(S_surfxml_storage_2); break;
8184 case S_surfxml_storage___type: case S_surfxml_storage___type_1: case S_surfxml_storage___type_2: SET(S_surfxml_storage___type_2); break;
8190 FAIL("Unexpected character `%c' in attribute list of prop element.", surf_parse_text[0]);
8194 FAIL("Bad attribute `%s' in `prop' element start tag.",surf_parse_text);
8196 case YY_STATE_EOF(AL_surfxml_prop):
8197 FAIL("EOF in attribute list of `prop' element.");
8201 /* rule 401 can match eol */
8205 ETag_surfxml_prop();
8206 popbuffer(); /* attribute */
8208 case S_surfxml_AS: case S_surfxml_AS_2: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
8209 case S_surfxml_cluster: case S_surfxml_cluster_1: case S_surfxml_cluster_2: SET(S_surfxml_cluster_2); break;
8210 case S_surfxml_config: case S_surfxml_config_1: case S_surfxml_config_2: SET(S_surfxml_config_2); break;
8211 case S_surfxml_host: case S_surfxml_host_1: case S_surfxml_host_2: SET(S_surfxml_host_2); break;
8212 case S_surfxml_link: case S_surfxml_link_1: case S_surfxml_link_2: SET(S_surfxml_link_2); break;
8213 case S_surfxml_process: case S_surfxml_process_1: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
8214 case S_surfxml_storage: case S_surfxml_storage_1: case S_surfxml_storage_2: SET(S_surfxml_storage_2); break;
8215 case S_surfxml_storage___type: case S_surfxml_storage___type_1: case S_surfxml_storage___type_2: SET(S_surfxml_storage___type_2); break;
8220 /* rule 402 can match eol */
8222 FAIL("Unexpected end-tag `%s': `</prop>' expected.",surf_parse_text);
8226 FAIL("Unexpected character `%c': `</prop>' expected.",surf_parse_text[0]);
8228 case YY_STATE_EOF(E_surfxml_prop):
8229 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</prop>' expected.");
8233 /* rule 404 can match eol */
8235 FAIL("Starting tag <random> is not allowed here.");
8238 /* rule 405 can match eol */
8241 AX_surfxml_random_generator = A_surfxml_random_generator_DRAND48;
8242 surfxml_random_generator_isset = 0;
8243 AX_surfxml_random_id = 0;
8244 surfxml_random_id_isset = 0;
8245 AX_surfxml_random_max = 0;
8246 surfxml_random_max_isset = 0;
8247 AX_surfxml_random_mean = 0;
8248 surfxml_random_mean_isset = 0;
8249 AX_surfxml_random_min = 0;
8250 surfxml_random_min_isset = 0;
8251 AX_surfxml_random_radical = 0;
8252 surfxml_random_radical_isset = 0;
8253 AX_surfxml_random_seed = 5;
8254 surfxml_random_seed_isset = 0;
8255 AX_surfxml_random_std___deviation = 0;
8256 surfxml_random_std___deviation_isset = 0;
8257 ENTER(AL_surfxml_random); pushbuffer(0);
8262 /* rule 406 can match eol */
8264 /* rule 407 can match eol */
8266 A_surfxml_random_generator = A_surfxml_random_generator_DRAND48;
8269 /* rule 408 can match eol */
8271 /* rule 409 can match eol */
8273 A_surfxml_random_generator = A_surfxml_random_generator_RAND;
8276 /* rule 410 can match eol */
8278 /* rule 411 can match eol */
8280 A_surfxml_random_generator = A_surfxml_random_generator_RNGSTREAM;
8283 /* rule 412 can match eol */
8285 /* rule 413 can match eol */
8287 A_surfxml_random_generator = A_surfxml_random_generator_NONE;
8290 /* rule 414 can match eol */
8292 if (surfxml_random_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_random>");} surfxml_random_id_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_random_id);
8295 /* rule 415 can match eol */
8297 if (surfxml_random_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_random>");} surfxml_random_id_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_random_id);
8300 /* rule 416 can match eol */
8302 if (surfxml_random_max_isset != 0) {FAIL("Multiple definition of attribute max in <surfxml_random>");} surfxml_random_max_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_random_max);
8305 /* rule 417 can match eol */
8307 if (surfxml_random_max_isset != 0) {FAIL("Multiple definition of attribute max in <surfxml_random>");} surfxml_random_max_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_random_max);
8310 /* rule 418 can match eol */
8312 if (surfxml_random_mean_isset != 0) {FAIL("Multiple definition of attribute mean in <surfxml_random>");} surfxml_random_mean_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_random_mean);
8315 /* rule 419 can match eol */
8317 if (surfxml_random_mean_isset != 0) {FAIL("Multiple definition of attribute mean in <surfxml_random>");} surfxml_random_mean_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_random_mean);
8320 /* rule 420 can match eol */
8322 if (surfxml_random_min_isset != 0) {FAIL("Multiple definition of attribute min in <surfxml_random>");} surfxml_random_min_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_random_min);
8325 /* rule 421 can match eol */
8327 if (surfxml_random_min_isset != 0) {FAIL("Multiple definition of attribute min in <surfxml_random>");} surfxml_random_min_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_random_min);
8330 /* rule 422 can match eol */
8332 if (surfxml_random_radical_isset != 0) {FAIL("Multiple definition of attribute radical in <surfxml_random>");} surfxml_random_radical_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_random_radical);
8335 /* rule 423 can match eol */
8337 if (surfxml_random_radical_isset != 0) {FAIL("Multiple definition of attribute radical in <surfxml_random>");} surfxml_random_radical_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_random_radical);
8340 /* rule 424 can match eol */
8342 if (surfxml_random_seed_isset != 0) {FAIL("Multiple definition of attribute seed in <surfxml_random>");} surfxml_random_seed_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_random_seed);
8345 /* rule 425 can match eol */
8347 if (surfxml_random_seed_isset != 0) {FAIL("Multiple definition of attribute seed in <surfxml_random>");} surfxml_random_seed_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_random_seed);
8350 /* rule 426 can match eol */
8352 if (surfxml_random_std___deviation_isset != 0) {FAIL("Multiple definition of attribute std_deviation in <surfxml_random>");} surfxml_random_std___deviation_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_random_std___deviation);
8355 /* rule 427 can match eol */
8357 if (surfxml_random_std___deviation_isset != 0) {FAIL("Multiple definition of attribute std_deviation in <surfxml_random>");} surfxml_random_std___deviation_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_random_std___deviation);
8362 if (!AX_surfxml_random_id) FAIL("Required attribute `id' not set for `random' element.");
8363 if (!AX_surfxml_random_max) FAIL("Required attribute `max' not set for `random' element.");
8364 if (!AX_surfxml_random_mean) FAIL("Required attribute `mean' not set for `random' element.");
8365 if (!AX_surfxml_random_min) FAIL("Required attribute `min' not set for `random' element.");
8366 if (!AX_surfxml_random_std___deviation) FAIL("Required attribute `std_deviation' not set for `random' element.");
8367 LEAVE; STag_surfxml_random();surfxml_pcdata_ix = 0; ENTER(E_surfxml_random);
8373 if (!AX_surfxml_random_id) FAIL("Required attribute `id' not set for `random' element.");
8374 if (!AX_surfxml_random_max) FAIL("Required attribute `max' not set for `random' element.");
8375 if (!AX_surfxml_random_mean) FAIL("Required attribute `mean' not set for `random' element.");
8376 if (!AX_surfxml_random_min) FAIL("Required attribute `min' not set for `random' element.");
8377 if (!AX_surfxml_random_std___deviation) FAIL("Required attribute `std_deviation' not set for `random' element.");
8378 LEAVE; STag_surfxml_random(); surfxml_pcdata_ix = 0; ETag_surfxml_random(); popbuffer(); /* attribute */
8380 case S_surfxml_platform: case S_surfxml_platform_2: case S_surfxml_platform_3: SET(S_surfxml_platform_3); break;
8386 FAIL("Unexpected character `%c' in attribute list of random element.", surf_parse_text[0]);
8390 FAIL("Bad attribute `%s' in `random' element start tag.",surf_parse_text);
8392 case YY_STATE_EOF(AL_surfxml_random):
8393 FAIL("EOF in attribute list of `random' element.");
8397 /* rule 432 can match eol */
8401 ETag_surfxml_random();
8402 popbuffer(); /* attribute */
8404 case S_surfxml_platform: case S_surfxml_platform_2: case S_surfxml_platform_3: SET(S_surfxml_platform_3); break;
8409 /* rule 433 can match eol */
8411 FAIL("Unexpected end-tag `%s': `</random>' expected.",surf_parse_text);
8415 FAIL("Unexpected character `%c': `</random>' expected.",surf_parse_text[0]);
8417 case YY_STATE_EOF(E_surfxml_random):
8418 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</random>' expected.");
8422 /* rule 435 can match eol */
8424 FAIL("Starting tag <route> is not allowed here.");
8427 /* rule 436 can match eol */
8430 AX_surfxml_route_dst = 0;
8431 surfxml_route_dst_isset = 0;
8432 AX_surfxml_route_src = 0;
8433 surfxml_route_src_isset = 0;
8434 AX_surfxml_route_symmetrical = A_surfxml_route_symmetrical_YES;
8435 surfxml_route_symmetrical_isset = 0;
8436 ENTER(AL_surfxml_route); pushbuffer(0);
8441 /* rule 437 can match eol */
8443 if (surfxml_route_dst_isset != 0) {FAIL("Multiple definition of attribute dst in <surfxml_route>");} surfxml_route_dst_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_route_dst);
8446 /* rule 438 can match eol */
8448 if (surfxml_route_dst_isset != 0) {FAIL("Multiple definition of attribute dst in <surfxml_route>");} surfxml_route_dst_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_route_dst);
8451 /* rule 439 can match eol */
8453 if (surfxml_route_src_isset != 0) {FAIL("Multiple definition of attribute src in <surfxml_route>");} surfxml_route_src_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_route_src);
8456 /* rule 440 can match eol */
8458 if (surfxml_route_src_isset != 0) {FAIL("Multiple definition of attribute src in <surfxml_route>");} surfxml_route_src_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_route_src);
8461 /* rule 441 can match eol */
8463 /* rule 442 can match eol */
8465 A_surfxml_route_symmetrical = A_surfxml_route_symmetrical_YES;
8468 /* rule 443 can match eol */
8470 /* rule 444 can match eol */
8472 A_surfxml_route_symmetrical = A_surfxml_route_symmetrical_NO;
8477 if (!AX_surfxml_route_dst) FAIL("Required attribute `dst' not set for `route' element.");
8478 if (!AX_surfxml_route_src) FAIL("Required attribute `src' not set for `route' element.");
8479 LEAVE; STag_surfxml_route();surfxml_pcdata_ix = 0; ENTER(S_surfxml_route);
8485 if (!AX_surfxml_route_dst) FAIL("Required attribute `dst' not set for `route' element.");
8486 if (!AX_surfxml_route_src) FAIL("Required attribute `src' not set for `route' element.");
8487 LEAVE; STag_surfxml_route(); surfxml_pcdata_ix = 0; ETag_surfxml_route(); popbuffer(); /* attribute */
8489 case S_surfxml_AS: case S_surfxml_AS_1: case S_surfxml_AS_3: case S_surfxml_AS_4: case S_surfxml_AS_6: case S_surfxml_AS_7: case S_surfxml_AS_8: SET(S_surfxml_AS_8); break;
8495 FAIL("Unexpected character `%c' in attribute list of route element.", surf_parse_text[0]);
8499 FAIL("Bad attribute `%s' in `route' element start tag.",surf_parse_text);
8501 case YY_STATE_EOF(AL_surfxml_route):
8502 FAIL("EOF in attribute list of `route' element.");
8506 /* rule 449 can match eol */
8510 ETag_surfxml_route();
8511 popbuffer(); /* attribute */
8513 case S_surfxml_AS: case S_surfxml_AS_1: case S_surfxml_AS_3: case S_surfxml_AS_4: case S_surfxml_AS_6: case S_surfxml_AS_7: case S_surfxml_AS_8: SET(S_surfxml_AS_8); break;
8518 /* rule 450 can match eol */
8520 FAIL("Unexpected end-tag `%s': `</route>' expected.",surf_parse_text);
8524 FAIL("Unexpected character `%c': `</route>' expected.",surf_parse_text[0]);
8526 case YY_STATE_EOF(E_surfxml_route):
8527 case YY_STATE_EOF(S_surfxml_route):
8528 case YY_STATE_EOF(S_surfxml_route_2):
8529 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</route>' expected.");
8533 /* rule 452 can match eol */
8535 FAIL("Starting tag <router> is not allowed here.");
8538 /* rule 453 can match eol */
8541 AX_surfxml_router_coordinates = 0;
8542 surfxml_router_coordinates_isset = 0;
8543 AX_surfxml_router_id = 0;
8544 surfxml_router_id_isset = 0;
8545 ENTER(AL_surfxml_router); pushbuffer(0);
8550 /* rule 454 can match eol */
8552 if (surfxml_router_coordinates_isset != 0) {FAIL("Multiple definition of attribute coordinates in <surfxml_router>");} surfxml_router_coordinates_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_router_coordinates);
8555 /* rule 455 can match eol */
8557 if (surfxml_router_coordinates_isset != 0) {FAIL("Multiple definition of attribute coordinates in <surfxml_router>");} surfxml_router_coordinates_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_router_coordinates);
8560 /* rule 456 can match eol */
8562 if (surfxml_router_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_router>");} surfxml_router_id_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_router_id);
8565 /* rule 457 can match eol */
8567 if (surfxml_router_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_router>");} surfxml_router_id_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_router_id);
8572 if (!AX_surfxml_router_id) FAIL("Required attribute `id' not set for `router' element.");
8573 LEAVE; STag_surfxml_router();surfxml_pcdata_ix = 0; ENTER(E_surfxml_router);
8579 if (!AX_surfxml_router_id) FAIL("Required attribute `id' not set for `router' element.");
8580 LEAVE; STag_surfxml_router(); surfxml_pcdata_ix = 0; ETag_surfxml_router(); popbuffer(); /* attribute */
8582 case S_surfxml_AS: case S_surfxml_AS_1: case S_surfxml_AS_3: case S_surfxml_AS_5: case S_surfxml_AS_6: SET(S_surfxml_AS_6); break;
8588 FAIL("Unexpected character `%c' in attribute list of router element.", surf_parse_text[0]);
8592 FAIL("Bad attribute `%s' in `router' element start tag.",surf_parse_text);
8594 case YY_STATE_EOF(AL_surfxml_router):
8595 FAIL("EOF in attribute list of `router' element.");
8599 /* rule 462 can match eol */
8603 ETag_surfxml_router();
8604 popbuffer(); /* attribute */
8606 case S_surfxml_AS: case S_surfxml_AS_1: case S_surfxml_AS_3: case S_surfxml_AS_5: case S_surfxml_AS_6: SET(S_surfxml_AS_6); break;
8611 /* rule 463 can match eol */
8613 FAIL("Unexpected end-tag `%s': `</router>' expected.",surf_parse_text);
8617 FAIL("Unexpected character `%c': `</router>' expected.",surf_parse_text[0]);
8619 case YY_STATE_EOF(E_surfxml_router):
8620 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</router>' expected.");
8624 /* rule 465 can match eol */
8626 FAIL("Starting tag <storage> is not allowed here.");
8629 /* rule 466 can match eol */
8632 AX_surfxml_storage_attach = 0;
8633 surfxml_storage_attach_isset = 0;
8634 AX_surfxml_storage_content = 0;
8635 surfxml_storage_content_isset = 0;
8636 AX_surfxml_storage_content___type = 31;
8637 surfxml_storage_content___type_isset = 0;
8638 AX_surfxml_storage_id = 0;
8639 surfxml_storage_id_isset = 0;
8640 AX_surfxml_storage_typeId = 0;
8641 surfxml_storage_typeId_isset = 0;
8642 ENTER(AL_surfxml_storage); pushbuffer(0);
8647 /* rule 467 can match eol */
8649 if (surfxml_storage_attach_isset != 0) {FAIL("Multiple definition of attribute attach in <surfxml_storage>");} surfxml_storage_attach_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_storage_attach);
8652 /* rule 468 can match eol */
8654 if (surfxml_storage_attach_isset != 0) {FAIL("Multiple definition of attribute attach in <surfxml_storage>");} surfxml_storage_attach_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_storage_attach);
8657 /* rule 469 can match eol */
8659 if (surfxml_storage_content_isset != 0) {FAIL("Multiple definition of attribute content in <surfxml_storage>");} surfxml_storage_content_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_storage_content);
8662 /* rule 470 can match eol */
8664 if (surfxml_storage_content_isset != 0) {FAIL("Multiple definition of attribute content in <surfxml_storage>");} surfxml_storage_content_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_storage_content);
8667 /* rule 471 can match eol */
8669 if (surfxml_storage_content___type_isset != 0) {FAIL("Multiple definition of attribute content_type in <surfxml_storage>");} surfxml_storage_content___type_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_storage_content___type);
8672 /* rule 472 can match eol */
8674 if (surfxml_storage_content___type_isset != 0) {FAIL("Multiple definition of attribute content_type in <surfxml_storage>");} surfxml_storage_content___type_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_storage_content___type);
8677 /* rule 473 can match eol */
8679 if (surfxml_storage_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_storage>");} surfxml_storage_id_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_storage_id);
8682 /* rule 474 can match eol */
8684 if (surfxml_storage_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_storage>");} surfxml_storage_id_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_storage_id);
8687 /* rule 475 can match eol */
8689 if (surfxml_storage_typeId_isset != 0) {FAIL("Multiple definition of attribute typeId in <surfxml_storage>");} surfxml_storage_typeId_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_storage_typeId);
8692 /* rule 476 can match eol */
8694 if (surfxml_storage_typeId_isset != 0) {FAIL("Multiple definition of attribute typeId in <surfxml_storage>");} surfxml_storage_typeId_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_storage_typeId);
8699 if (!AX_surfxml_storage_attach) FAIL("Required attribute `attach' not set for `storage' element.");
8700 if (!AX_surfxml_storage_id) FAIL("Required attribute `id' not set for `storage' element.");
8701 if (!AX_surfxml_storage_typeId) FAIL("Required attribute `typeId' not set for `storage' element.");
8702 LEAVE; STag_surfxml_storage();surfxml_pcdata_ix = 0; ENTER(S_surfxml_storage);
8708 if (!AX_surfxml_storage_attach) FAIL("Required attribute `attach' not set for `storage' element.");
8709 if (!AX_surfxml_storage_id) FAIL("Required attribute `id' not set for `storage' element.");
8710 if (!AX_surfxml_storage_typeId) FAIL("Required attribute `typeId' not set for `storage' element.");
8711 LEAVE; STag_surfxml_storage(); surfxml_pcdata_ix = 0; ETag_surfxml_storage(); popbuffer(); /* attribute */
8713 case S_surfxml_AS: case S_surfxml_AS_1: case S_surfxml_AS_3: case S_surfxml_AS_5: case S_surfxml_AS_6: SET(S_surfxml_AS_6); break;
8719 FAIL("Unexpected character `%c' in attribute list of storage element.", surf_parse_text[0]);
8723 FAIL("Bad attribute `%s' in `storage' element start tag.",surf_parse_text);
8725 case YY_STATE_EOF(AL_surfxml_storage):
8726 FAIL("EOF in attribute list of `storage' element.");
8730 /* rule 481 can match eol */
8734 ETag_surfxml_storage();
8735 popbuffer(); /* attribute */
8737 case S_surfxml_AS: case S_surfxml_AS_1: case S_surfxml_AS_3: case S_surfxml_AS_5: case S_surfxml_AS_6: SET(S_surfxml_AS_6); break;
8742 /* rule 482 can match eol */
8744 FAIL("Unexpected end-tag `%s': `</storage>' expected.",surf_parse_text);
8748 FAIL("Unexpected character `%c': `</storage>' expected.",surf_parse_text[0]);
8750 case YY_STATE_EOF(E_surfxml_storage):
8751 case YY_STATE_EOF(S_surfxml_storage):
8752 case YY_STATE_EOF(S_surfxml_storage_2):
8753 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</storage>' expected.");
8757 /* rule 484 can match eol */
8759 FAIL("Starting tag <storage_type> is not allowed here.");
8762 /* rule 485 can match eol */
8765 AX_surfxml_storage___type_content = 0;
8766 surfxml_storage___type_content_isset = 0;
8767 AX_surfxml_storage___type_content___type = 16;
8768 surfxml_storage___type_content___type_isset = 0;
8769 AX_surfxml_storage___type_id = 0;
8770 surfxml_storage___type_id_isset = 0;
8771 AX_surfxml_storage___type_model = 0;
8772 surfxml_storage___type_model_isset = 0;
8773 AX_surfxml_storage___type_size = 0;
8774 surfxml_storage___type_size_isset = 0;
8775 ENTER(AL_surfxml_storage___type); pushbuffer(0);
8780 /* rule 486 can match eol */
8782 if (surfxml_storage___type_content_isset != 0) {FAIL("Multiple definition of attribute content in <surfxml_storage___type>");} surfxml_storage___type_content_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_storage___type_content);
8785 /* rule 487 can match eol */
8787 if (surfxml_storage___type_content_isset != 0) {FAIL("Multiple definition of attribute content in <surfxml_storage___type>");} surfxml_storage___type_content_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_storage___type_content);
8790 /* rule 488 can match eol */
8792 if (surfxml_storage___type_content___type_isset != 0) {FAIL("Multiple definition of attribute content_type in <surfxml_storage___type>");} surfxml_storage___type_content___type_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_storage___type_content___type);
8795 /* rule 489 can match eol */
8797 if (surfxml_storage___type_content___type_isset != 0) {FAIL("Multiple definition of attribute content_type in <surfxml_storage___type>");} surfxml_storage___type_content___type_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_storage___type_content___type);
8800 /* rule 490 can match eol */
8802 if (surfxml_storage___type_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_storage___type>");} surfxml_storage___type_id_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_storage___type_id);
8805 /* rule 491 can match eol */
8807 if (surfxml_storage___type_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_storage___type>");} surfxml_storage___type_id_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_storage___type_id);
8810 /* rule 492 can match eol */
8812 if (surfxml_storage___type_model_isset != 0) {FAIL("Multiple definition of attribute model in <surfxml_storage___type>");} surfxml_storage___type_model_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_storage___type_model);
8815 /* rule 493 can match eol */
8817 if (surfxml_storage___type_model_isset != 0) {FAIL("Multiple definition of attribute model in <surfxml_storage___type>");} surfxml_storage___type_model_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_storage___type_model);
8820 /* rule 494 can match eol */
8822 if (surfxml_storage___type_size_isset != 0) {FAIL("Multiple definition of attribute size in <surfxml_storage___type>");} surfxml_storage___type_size_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_storage___type_size);
8825 /* rule 495 can match eol */
8827 if (surfxml_storage___type_size_isset != 0) {FAIL("Multiple definition of attribute size in <surfxml_storage___type>");} surfxml_storage___type_size_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_storage___type_size);
8832 if (!AX_surfxml_storage___type_id) FAIL("Required attribute `id' not set for `storage_type' element.");
8833 if (!AX_surfxml_storage___type_model) FAIL("Required attribute `model' not set for `storage_type' element.");
8834 if (!AX_surfxml_storage___type_size) FAIL("Required attribute `size' not set for `storage_type' element.");
8835 LEAVE; STag_surfxml_storage___type();surfxml_pcdata_ix = 0; ENTER(S_surfxml_storage___type);
8841 if (!AX_surfxml_storage___type_id) FAIL("Required attribute `id' not set for `storage_type' element.");
8842 if (!AX_surfxml_storage___type_model) FAIL("Required attribute `model' not set for `storage_type' element.");
8843 if (!AX_surfxml_storage___type_size) FAIL("Required attribute `size' not set for `storage_type' element.");
8844 LEAVE; STag_surfxml_storage___type(); surfxml_pcdata_ix = 0; ETag_surfxml_storage___type(); popbuffer(); /* attribute */
8846 case S_surfxml_AS: case S_surfxml_AS_1: case S_surfxml_AS_3: case S_surfxml_AS_5: case S_surfxml_AS_6: SET(S_surfxml_AS_6); break;
8852 FAIL("Unexpected character `%c' in attribute list of storage_type element.", surf_parse_text[0]);
8856 FAIL("Bad attribute `%s' in `storage_type' element start tag.",surf_parse_text);
8858 case YY_STATE_EOF(AL_surfxml_storage___type):
8859 FAIL("EOF in attribute list of `storage_type' element.");
8863 /* rule 500 can match eol */
8867 ETag_surfxml_storage___type();
8868 popbuffer(); /* attribute */
8870 case S_surfxml_AS: case S_surfxml_AS_1: case S_surfxml_AS_3: case S_surfxml_AS_5: case S_surfxml_AS_6: SET(S_surfxml_AS_6); break;
8875 /* rule 501 can match eol */
8877 FAIL("Unexpected end-tag `%s': `</storage_type>' expected.",surf_parse_text);
8881 FAIL("Unexpected character `%c': `</storage_type>' expected.",surf_parse_text[0]);
8883 case YY_STATE_EOF(E_surfxml_storage___type):
8884 case YY_STATE_EOF(S_surfxml_storage___type):
8885 case YY_STATE_EOF(S_surfxml_storage___type_2):
8886 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</storage_type>' expected.");
8890 /* rule 503 can match eol */
8892 FAIL("Starting tag <trace> is not allowed here.");
8895 /* rule 504 can match eol */
8898 AX_surfxml_trace_file = 0;
8899 surfxml_trace_file_isset = 0;
8900 AX_surfxml_trace_id = 0;
8901 surfxml_trace_id_isset = 0;
8902 AX_surfxml_trace_periodicity = 0;
8903 surfxml_trace_periodicity_isset = 0;
8904 ENTER(AL_surfxml_trace); pushbuffer(0);
8909 /* rule 505 can match eol */
8911 if (surfxml_trace_file_isset != 0) {FAIL("Multiple definition of attribute file in <surfxml_trace>");} surfxml_trace_file_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_file);
8914 /* rule 506 can match eol */
8916 if (surfxml_trace_file_isset != 0) {FAIL("Multiple definition of attribute file in <surfxml_trace>");} surfxml_trace_file_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_file);
8919 /* rule 507 can match eol */
8921 if (surfxml_trace_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_trace>");} surfxml_trace_id_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_id);
8924 /* rule 508 can match eol */
8926 if (surfxml_trace_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_trace>");} surfxml_trace_id_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_id);
8929 /* rule 509 can match eol */
8931 if (surfxml_trace_periodicity_isset != 0) {FAIL("Multiple definition of attribute periodicity in <surfxml_trace>");} surfxml_trace_periodicity_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_periodicity);
8934 /* rule 510 can match eol */
8936 if (surfxml_trace_periodicity_isset != 0) {FAIL("Multiple definition of attribute periodicity in <surfxml_trace>");} surfxml_trace_periodicity_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_periodicity);
8941 if (!AX_surfxml_trace_id) FAIL("Required attribute `id' not set for `trace' element.");
8942 if (!AX_surfxml_trace_periodicity) FAIL("Required attribute `periodicity' not set for `trace' element.");
8943 LEAVE; STag_surfxml_trace();pushbuffer(surfxml_pcdata_ix); BUFFERSET(surfxml_pcdata_ix);; ENTER(IN_trace);
8949 if (!AX_surfxml_trace_id) FAIL("Required attribute `id' not set for `trace' element.");
8950 if (!AX_surfxml_trace_periodicity) FAIL("Required attribute `periodicity' not set for `trace' element.");
8951 LEAVE; STag_surfxml_trace(); surfxml_pcdata_ix = 0; ETag_surfxml_trace(); popbuffer(); /* attribute */
8953 case S_surfxml_AS: case S_surfxml_AS_1: case S_surfxml_AS_3: case S_surfxml_AS_4: case S_surfxml_AS_6: case S_surfxml_AS_7: case S_surfxml_AS_8: SET(S_surfxml_AS_8); break;
8954 case S_surfxml_include: case S_surfxml_include_1: case S_surfxml_include_2: SET(S_surfxml_include_2); break;
8955 case S_surfxml_platform: case S_surfxml_platform_1: case S_surfxml_platform_3: case S_surfxml_platform_5: case S_surfxml_platform_6: SET(S_surfxml_platform_6); break;
8961 FAIL("Unexpected character `%c' in attribute list of trace element.", surf_parse_text[0]);
8965 FAIL("Bad attribute `%s' in `trace' element start tag.",surf_parse_text);
8967 case YY_STATE_EOF(AL_surfxml_trace):
8968 FAIL("EOF in attribute list of `trace' element.");
8972 /* rule 515 can match eol */
8977 ETag_surfxml_trace();
8978 surfxml_pcdata_ix = popbuffer();
8979 popbuffer(); /* attribute */
8981 case S_surfxml_AS: case S_surfxml_AS_1: case S_surfxml_AS_3: case S_surfxml_AS_4: case S_surfxml_AS_6: case S_surfxml_AS_7: case S_surfxml_AS_8: SET(S_surfxml_AS_8); break;
8982 case S_surfxml_include: case S_surfxml_include_1: case S_surfxml_include_2: SET(S_surfxml_include_2); break;
8983 case S_surfxml_platform: case S_surfxml_platform_1: case S_surfxml_platform_3: case S_surfxml_platform_5: case S_surfxml_platform_6: SET(S_surfxml_platform_6); break;
8988 /* rule 516 can match eol */
8990 FAIL("Unexpected end-tag `%s': `</trace>' expected.",surf_parse_text);
8992 case YY_STATE_EOF(IN_trace):
8993 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</trace>' expected.");
8997 /* rule 517 can match eol */
8999 FAIL("Starting tag <trace_connect> is not allowed here.");
9002 /* rule 518 can match eol */
9005 AX_surfxml_trace___connect_element = 0;
9006 surfxml_trace___connect_element_isset = 0;
9007 AX_surfxml_trace___connect_kind = A_surfxml_trace___connect_kind_HOST___AVAIL;
9008 surfxml_trace___connect_kind_isset = 0;
9009 AX_surfxml_trace___connect_trace = 0;
9010 surfxml_trace___connect_trace_isset = 0;
9011 ENTER(AL_surfxml_trace___connect); pushbuffer(0);
9016 /* rule 519 can match eol */
9018 if (surfxml_trace___connect_element_isset != 0) {FAIL("Multiple definition of attribute element in <surfxml_trace___connect>");} surfxml_trace___connect_element_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_trace___connect_element);
9021 /* rule 520 can match eol */
9023 if (surfxml_trace___connect_element_isset != 0) {FAIL("Multiple definition of attribute element in <surfxml_trace___connect>");} surfxml_trace___connect_element_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_trace___connect_element);
9026 /* rule 521 can match eol */
9028 /* rule 522 can match eol */
9030 A_surfxml_trace___connect_kind = A_surfxml_trace___connect_kind_HOST___AVAIL;
9033 /* rule 523 can match eol */
9035 /* rule 524 can match eol */
9037 A_surfxml_trace___connect_kind = A_surfxml_trace___connect_kind_SPEED;
9040 /* rule 525 can match eol */
9042 /* rule 526 can match eol */
9044 A_surfxml_trace___connect_kind = A_surfxml_trace___connect_kind_LINK___AVAIL;
9047 /* rule 527 can match eol */
9049 /* rule 528 can match eol */
9051 A_surfxml_trace___connect_kind = A_surfxml_trace___connect_kind_BANDWIDTH;
9054 /* rule 529 can match eol */
9056 /* rule 530 can match eol */
9058 A_surfxml_trace___connect_kind = A_surfxml_trace___connect_kind_LATENCY;
9061 /* rule 531 can match eol */
9063 if (surfxml_trace___connect_trace_isset != 0) {FAIL("Multiple definition of attribute trace in <surfxml_trace___connect>");} surfxml_trace___connect_trace_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_trace___connect_trace);
9066 /* rule 532 can match eol */
9068 if (surfxml_trace___connect_trace_isset != 0) {FAIL("Multiple definition of attribute trace in <surfxml_trace___connect>");} surfxml_trace___connect_trace_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_trace___connect_trace);
9073 if (!AX_surfxml_trace___connect_element) FAIL("Required attribute `element' not set for `trace_connect' element.");
9074 if (!AX_surfxml_trace___connect_trace) FAIL("Required attribute `trace' not set for `trace_connect' element.");
9075 LEAVE; STag_surfxml_trace___connect();surfxml_pcdata_ix = 0; ENTER(E_surfxml_trace___connect);
9081 if (!AX_surfxml_trace___connect_element) FAIL("Required attribute `element' not set for `trace_connect' element.");
9082 if (!AX_surfxml_trace___connect_trace) FAIL("Required attribute `trace' not set for `trace_connect' element.");
9083 LEAVE; STag_surfxml_trace___connect(); surfxml_pcdata_ix = 0; ETag_surfxml_trace___connect(); popbuffer(); /* attribute */
9085 case S_surfxml_AS: case S_surfxml_AS_1: case S_surfxml_AS_3: case S_surfxml_AS_4: case S_surfxml_AS_6: case S_surfxml_AS_7: case S_surfxml_AS_8: SET(S_surfxml_AS_8); break;
9086 case S_surfxml_include: case S_surfxml_include_1: case S_surfxml_include_2: SET(S_surfxml_include_2); break;
9087 case S_surfxml_platform: case S_surfxml_platform_1: case S_surfxml_platform_3: case S_surfxml_platform_5: case S_surfxml_platform_6: SET(S_surfxml_platform_6); break;
9093 FAIL("Unexpected character `%c' in attribute list of trace_connect element.", surf_parse_text[0]);
9097 FAIL("Bad attribute `%s' in `trace_connect' element start tag.",surf_parse_text);
9099 case YY_STATE_EOF(AL_surfxml_trace___connect):
9100 FAIL("EOF in attribute list of `trace_connect' element.");
9104 /* rule 537 can match eol */
9108 ETag_surfxml_trace___connect();
9109 popbuffer(); /* attribute */
9111 case S_surfxml_AS: case S_surfxml_AS_1: case S_surfxml_AS_3: case S_surfxml_AS_4: case S_surfxml_AS_6: case S_surfxml_AS_7: case S_surfxml_AS_8: SET(S_surfxml_AS_8); break;
9112 case S_surfxml_include: case S_surfxml_include_1: case S_surfxml_include_2: SET(S_surfxml_include_2); break;
9113 case S_surfxml_platform: case S_surfxml_platform_1: case S_surfxml_platform_3: case S_surfxml_platform_5: case S_surfxml_platform_6: SET(S_surfxml_platform_6); break;
9118 /* rule 538 can match eol */
9120 FAIL("Unexpected end-tag `%s': `</trace_connect>' expected.",surf_parse_text);
9124 FAIL("Unexpected character `%c': `</trace_connect>' expected.",surf_parse_text[0]);
9126 case YY_STATE_EOF(E_surfxml_trace___connect):
9127 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</trace_connect>' expected.");
9130 /* EPILOG: after the root element. */
9134 {SET(PROLOG); yyless(0); CLEANUP; return -1;}
9136 case YY_STATE_EOF(EPILOG):
9140 /* CHARACTER DATA. */
9142 /* Non-defined standard entities... */
9163 /* Character entities. */
9166 BUFFERPUTC((unsigned char)atoi(surf_parse_text+2));
9170 BUFFERPUTC((unsigned char)strtol(surf_parse_text+3,NULL,16));
9174 /* rule 548 can match eol */
9176 /* rule 549 can match eol */
9178 /* rule 550 can match eol */
9180 /* rule 551 can match eol */
9191 FAIL("Unexpected `]""]>' in character data.");
9198 case YY_STATE_EOF(VALUE1):
9199 FAIL("EOF in literal (\"'\" expected).");
9206 case YY_STATE_EOF(VALUE2):
9207 FAIL("EOF in literal (`\"' expected).");
9211 /* rule 556 can match eol */
9213 BUFFERPUTC(surf_parse_text[0]);
9217 FAIL("Spurious `%c' in character data.",surf_parse_text[0]);
9224 /* "]""]" BUFFERPUTC(surf_parse_text[0]); BUFFERPUTC(surf_parse_text[1]); */
9227 BUFFERPUTC(surf_parse_text[0]);
9229 case YY_STATE_EOF(CDATA):
9230 FAIL("EOF in CDATA section.");
9233 /* Impossible rules to avoid warnings from flex(1). */
9234 /* Ideally, this should be replaced by code in flexml.pl that
9235 generates just the states not covered by other rules. */
9238 /* rule 560 can match eol */
9240 FAIL("Syntax error on character `%c'.", surf_parse_text[0]);
9247 case YY_STATE_EOF(INITIAL):
9248 case YY_STATE_EOF(S_surfxml_AS_2):
9249 case YY_STATE_EOF(S_surfxml_AS_5):
9250 case YY_STATE_EOF(S_surfxml_AS_7):
9251 case YY_STATE_EOF(S_surfxml_ASroute_1):
9252 case YY_STATE_EOF(S_surfxml_bypassASroute_1):
9253 case YY_STATE_EOF(S_surfxml_bypassRoute_1):
9254 case YY_STATE_EOF(S_surfxml_cluster_1):
9255 case YY_STATE_EOF(S_surfxml_config_1):
9256 case YY_STATE_EOF(S_surfxml_host_1):
9257 case YY_STATE_EOF(S_surfxml_include_1):
9258 case YY_STATE_EOF(S_surfxml_link_1):
9259 case YY_STATE_EOF(ROOT_surfxml_platform):
9260 case YY_STATE_EOF(S_surfxml_platform_2):
9261 case YY_STATE_EOF(S_surfxml_platform_5):
9262 case YY_STATE_EOF(S_surfxml_platform_7):
9263 case YY_STATE_EOF(S_surfxml_process_1):
9264 case YY_STATE_EOF(S_surfxml_route_1):
9265 case YY_STATE_EOF(S_surfxml_storage_1):
9266 case YY_STATE_EOF(S_surfxml_storage___type_1):
9267 case YY_STATE_EOF(IMPOSSIBLE):
9270 case YY_END_OF_BUFFER:
9272 /* Amount of text matched not including the EOB char. */
9273 int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
9275 /* Undo the effects of YY_DO_BEFORE_ACTION. */
9276 *yy_cp = (yy_hold_char);
9277 YY_RESTORE_YY_MORE_OFFSET
9279 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
9281 /* We're scanning a new file or input source. It's
9282 * possible that this happened because the user
9283 * just pointed surf_parse_in at a new source and called
9284 * surf_parse_lex(). If so, then we have to assure
9285 * consistency between YY_CURRENT_BUFFER and our
9286 * globals. Here is the right place to do so, because
9287 * this is the first action (other than possibly a
9288 * back-up) that will match for the new input source.
9290 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
9291 YY_CURRENT_BUFFER_LVALUE->yy_input_file = surf_parse_in;
9292 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
9295 /* Note that here we test for yy_c_buf_p "<=" to the position
9296 * of the first EOB in the buffer, since yy_c_buf_p will
9297 * already have been incremented past the NUL character
9298 * (since all states make transitions on EOB to the
9299 * end-of-buffer state). Contrast this with the test
9302 if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
9303 { /* This was really a NUL. */
9304 yy_state_type yy_next_state;
9306 (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
9308 yy_current_state = yy_get_previous_state( );
9310 /* Okay, we're now positioned to make the NUL
9311 * transition. We couldn't have
9312 * yy_get_previous_state() go ahead and do it
9313 * for us because it doesn't know how to deal
9314 * with the possibility of jamming (and we don't
9315 * want to build jamming into it because then it
9316 * will run more slowly).
9319 yy_next_state = yy_try_NUL_trans( yy_current_state );
9321 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
9323 if ( yy_next_state )
9325 /* Consume the NUL. */
9326 yy_cp = ++(yy_c_buf_p);
9327 yy_current_state = yy_next_state;
9333 yy_cp = (yy_c_buf_p);
9334 goto yy_find_action;
9338 else switch ( yy_get_next_buffer( ) )
9340 case EOB_ACT_END_OF_FILE:
9342 (yy_did_buffer_switch_on_eof) = 0;
9344 if ( surf_parse_wrap( ) )
9346 /* Note: because we've taken care in
9347 * yy_get_next_buffer() to have set up
9348 * surf_parse_text, we can now set up
9349 * yy_c_buf_p so that if some total
9350 * hoser (like flex itself) wants to
9351 * call the scanner after we return the
9352 * YY_NULL, it'll still work - another
9353 * YY_NULL will get returned.
9355 (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
9357 yy_act = YY_STATE_EOF(YY_START);
9363 if ( ! (yy_did_buffer_switch_on_eof) )
9369 case EOB_ACT_CONTINUE_SCAN:
9371 (yytext_ptr) + yy_amount_of_matched_text;
9373 yy_current_state = yy_get_previous_state( );
9375 yy_cp = (yy_c_buf_p);
9376 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
9379 case EOB_ACT_LAST_MATCH:
9381 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
9383 yy_current_state = yy_get_previous_state( );
9385 yy_cp = (yy_c_buf_p);
9386 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
9387 goto yy_find_action;
9394 "fatal flex scanner internal error--no action found" );
9395 } /* end of action switch */
9396 } /* end of scanning one token */
9397 } /* end of user's declarations */
9398 } /* end of surf_parse_lex */
9400 /* yy_get_next_buffer - try to read in a new buffer
9402 * Returns a code representing an action:
9403 * EOB_ACT_LAST_MATCH -
9404 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
9405 * EOB_ACT_END_OF_FILE - end of file
9407 static int yy_get_next_buffer (void)
9409 char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
9410 char *source = (yytext_ptr);
9411 yy_size_t number_to_move, i;
9414 if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
9416 "fatal flex scanner internal error--end of buffer missed" );
9418 if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
9419 { /* Don't try to fill the buffer, so this is an EOF. */
9420 if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
9422 /* We matched a single character, the EOB, so
9423 * treat this as a final EOF.
9425 return EOB_ACT_END_OF_FILE;
9430 /* We matched some text prior to the EOB, first
9433 return EOB_ACT_LAST_MATCH;
9437 /* Try to read more data. */
9439 /* First move last chars to start of buffer. */
9440 number_to_move = (yy_size_t) ((yy_c_buf_p) - (yytext_ptr)) - 1;
9442 for ( i = 0; i < number_to_move; ++i )
9443 *(dest++) = *(source++);
9445 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
9446 /* don't do the read, it's not guaranteed to return an EOF,
9449 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
9453 yy_size_t num_to_read =
9454 YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
9456 while ( num_to_read <= 0 )
9457 { /* Not enough room in the buffer - grow it. */
9459 /* just a shorter name for the current buffer */
9460 YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE;
9462 int yy_c_buf_p_offset =
9463 (int) ((yy_c_buf_p) - b->yy_ch_buf);
9465 if ( b->yy_is_our_buffer )
9467 yy_size_t new_size = b->yy_buf_size * 2;
9469 if ( new_size <= 0 )
9470 b->yy_buf_size += b->yy_buf_size / 8;
9472 b->yy_buf_size *= 2;
9474 b->yy_ch_buf = (char *)
9475 /* Include room in for 2 EOB chars. */
9476 surf_parse_realloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 );
9479 /* Can't grow it, we don't own it. */
9482 if ( ! b->yy_ch_buf )
9484 "fatal error - scanner input buffer overflow" );
9486 (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
9488 num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
9493 if ( num_to_read > YY_READ_BUF_SIZE )
9494 num_to_read = YY_READ_BUF_SIZE;
9496 /* Read in more data. */
9497 YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
9498 (yy_n_chars), num_to_read );
9500 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
9503 if ( (yy_n_chars) == 0 )
9505 if ( number_to_move == YY_MORE_ADJ )
9507 ret_val = EOB_ACT_END_OF_FILE;
9508 surf_parse_restart(surf_parse_in );
9513 ret_val = EOB_ACT_LAST_MATCH;
9514 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
9515 YY_BUFFER_EOF_PENDING;
9520 ret_val = EOB_ACT_CONTINUE_SCAN;
9522 if ((unsigned int) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
9523 /* Extend the array by 50%, plus the number we really need. */
9524 int new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
9525 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) surf_parse_realloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size );
9526 if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
9527 YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
9530 (yy_n_chars) += number_to_move;
9531 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
9532 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
9534 (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
9539 /* yy_get_previous_state - get the state just before the EOB char was reached */
9541 static yy_state_type yy_get_previous_state (void)
9543 yy_state_type yy_current_state;
9546 yy_current_state = (yy_start);
9548 for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
9550 YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
9551 if ( yy_accept[yy_current_state] )
9553 (yy_last_accepting_state) = yy_current_state;
9554 (yy_last_accepting_cpos) = yy_cp;
9556 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
9558 yy_current_state = (int) yy_def[yy_current_state];
9559 if ( yy_current_state >= 3334 )
9560 yy_c = yy_meta[(unsigned int) yy_c];
9562 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
9565 return yy_current_state;
9568 /* yy_try_NUL_trans - try to make a transition on the NUL character
9571 * next_state = yy_try_NUL_trans( current_state );
9573 static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state )
9576 char *yy_cp = (yy_c_buf_p);
9579 if ( yy_accept[yy_current_state] )
9581 (yy_last_accepting_state) = yy_current_state;
9582 (yy_last_accepting_cpos) = yy_cp;
9584 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
9586 yy_current_state = (int) yy_def[yy_current_state];
9587 if ( yy_current_state >= 3334 )
9588 yy_c = yy_meta[(unsigned int) yy_c];
9590 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
9591 yy_is_jam = (yy_current_state == 3333);
9593 return yy_is_jam ? 0 : yy_current_state;
9602 static int yyinput (void)
9604 static int input (void)
9610 *(yy_c_buf_p) = (yy_hold_char);
9612 if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
9614 /* yy_c_buf_p now points to the character we want to return.
9615 * If this occurs *before* the EOB characters, then it's a
9616 * valid NUL; if not, then we've hit the end of the buffer.
9618 if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
9619 /* This was really a NUL. */
9620 *(yy_c_buf_p) = '\0';
9623 { /* need more input */
9624 yy_size_t offset = (yy_c_buf_p) - (yytext_ptr);
9627 switch ( yy_get_next_buffer( ) )
9629 case EOB_ACT_LAST_MATCH:
9630 /* This happens because yy_g_n_b()
9631 * sees that we've accumulated a
9632 * token and flags that we need to
9633 * try matching the token before
9634 * proceeding. But for input(),
9635 * there's no matching to consider.
9636 * So convert the EOB_ACT_LAST_MATCH
9637 * to EOB_ACT_END_OF_FILE.
9640 /* Reset buffer status. */
9641 surf_parse_restart(surf_parse_in );
9645 case EOB_ACT_END_OF_FILE:
9647 if ( surf_parse_wrap( ) )
9650 if ( ! (yy_did_buffer_switch_on_eof) )
9659 case EOB_ACT_CONTINUE_SCAN:
9660 (yy_c_buf_p) = (yytext_ptr) + offset;
9666 c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */
9667 *(yy_c_buf_p) = '\0'; /* preserve surf_parse_text */
9668 (yy_hold_char) = *++(yy_c_buf_p);
9672 surf_parse_lineno++;
9677 #endif /* ifndef YY_NO_INPUT */
9679 /** Immediately switch to a different input stream.
9680 * @param input_file A readable stream.
9682 * @note This function does not reset the start condition to @c INITIAL .
9684 void surf_parse_restart (FILE * input_file )
9687 if ( ! YY_CURRENT_BUFFER ){
9688 surf_parse_ensure_buffer_stack ();
9689 YY_CURRENT_BUFFER_LVALUE =
9690 surf_parse__create_buffer(surf_parse_in,YY_BUF_SIZE );
9693 surf_parse__init_buffer(YY_CURRENT_BUFFER,input_file );
9694 surf_parse__load_buffer_state( );
9697 /** Switch to a different input buffer.
9698 * @param new_buffer The new input buffer.
9701 void surf_parse__switch_to_buffer (YY_BUFFER_STATE new_buffer )
9704 /* TODO. We should be able to replace this entire function body
9706 * surf_parse_pop_buffer_state();
9707 * surf_parse_push_buffer_state(new_buffer);
9709 surf_parse_ensure_buffer_stack ();
9710 if ( YY_CURRENT_BUFFER == new_buffer )
9713 if ( YY_CURRENT_BUFFER )
9715 /* Flush out information for old buffer. */
9716 *(yy_c_buf_p) = (yy_hold_char);
9717 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
9718 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
9721 YY_CURRENT_BUFFER_LVALUE = new_buffer;
9722 surf_parse__load_buffer_state( );
9724 /* We don't actually know whether we did this switch during
9725 * EOF (surf_parse_wrap()) processing, but the only time this flag
9726 * is looked at is after surf_parse_wrap() is called, so it's safe
9727 * to go ahead and always set it.
9729 (yy_did_buffer_switch_on_eof) = 1;
9732 static void surf_parse__load_buffer_state (void)
9734 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
9735 (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
9736 surf_parse_in = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
9737 (yy_hold_char) = *(yy_c_buf_p);
9740 /** Allocate and initialize an input buffer state.
9741 * @param file A readable stream.
9742 * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
9744 * @return the allocated buffer state.
9746 YY_BUFFER_STATE surf_parse__create_buffer (FILE * file, int size )
9750 b = (YY_BUFFER_STATE) surf_parse_alloc(sizeof( struct yy_buffer_state ) );
9752 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__create_buffer()" );
9754 b->yy_buf_size = (yy_size_t)size;
9756 /* yy_ch_buf has to be 2 characters longer than the size given because
9757 * we need to put in 2 end-of-buffer characters.
9759 b->yy_ch_buf = (char *) surf_parse_alloc(b->yy_buf_size + 2 );
9760 if ( ! b->yy_ch_buf )
9761 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__create_buffer()" );
9763 b->yy_is_our_buffer = 1;
9765 surf_parse__init_buffer(b,file );
9770 /** Destroy the buffer.
9771 * @param b a buffer created with surf_parse__create_buffer()
9774 void surf_parse__delete_buffer (YY_BUFFER_STATE b )
9780 if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
9781 YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
9783 if ( b->yy_is_our_buffer )
9784 surf_parse_free((void *) b->yy_ch_buf );
9786 surf_parse_free((void *) b );
9789 /* Initializes or reinitializes a buffer.
9790 * This function is sometimes called more than once on the same buffer,
9791 * such as during a surf_parse_restart() or at EOF.
9793 static void surf_parse__init_buffer (YY_BUFFER_STATE b, FILE * file )
9798 surf_parse__flush_buffer(b );
9800 b->yy_input_file = file;
9801 b->yy_fill_buffer = 1;
9803 /* If b is the current buffer, then surf_parse__init_buffer was _probably_
9804 * called from surf_parse_restart() or through yy_get_next_buffer.
9805 * In that case, we don't want to reset the lineno or column.
9807 if (b != YY_CURRENT_BUFFER){
9808 b->yy_bs_lineno = 1;
9809 b->yy_bs_column = 0;
9812 b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
9817 /** Discard all buffered characters. On the next scan, YY_INPUT will be called.
9818 * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
9821 void surf_parse__flush_buffer (YY_BUFFER_STATE b )
9828 /* We always need two end-of-buffer characters. The first causes
9829 * a transition to the end-of-buffer state. The second causes
9830 * a jam in that state.
9832 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
9833 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
9835 b->yy_buf_pos = &b->yy_ch_buf[0];
9838 b->yy_buffer_status = YY_BUFFER_NEW;
9840 if ( b == YY_CURRENT_BUFFER )
9841 surf_parse__load_buffer_state( );
9844 /** Pushes the new state onto the stack. The new state becomes
9845 * the current state. This function will allocate the stack
9847 * @param new_buffer The new state.
9850 void surf_parse_push_buffer_state (YY_BUFFER_STATE new_buffer )
9852 if (new_buffer == NULL)
9855 surf_parse_ensure_buffer_stack();
9857 /* This block is copied from surf_parse__switch_to_buffer. */
9858 if ( YY_CURRENT_BUFFER )
9860 /* Flush out information for old buffer. */
9861 *(yy_c_buf_p) = (yy_hold_char);
9862 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
9863 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
9866 /* Only push if top exists. Otherwise, replace top. */
9867 if (YY_CURRENT_BUFFER)
9868 (yy_buffer_stack_top)++;
9869 YY_CURRENT_BUFFER_LVALUE = new_buffer;
9871 /* copied from surf_parse__switch_to_buffer. */
9872 surf_parse__load_buffer_state( );
9873 (yy_did_buffer_switch_on_eof) = 1;
9876 /** Removes and deletes the top of the stack, if present.
9877 * The next element becomes the new top.
9880 void surf_parse_pop_buffer_state (void)
9882 if (!YY_CURRENT_BUFFER)
9885 surf_parse__delete_buffer(YY_CURRENT_BUFFER );
9886 YY_CURRENT_BUFFER_LVALUE = NULL;
9887 if ((yy_buffer_stack_top) > 0)
9888 --(yy_buffer_stack_top);
9890 if (YY_CURRENT_BUFFER) {
9891 surf_parse__load_buffer_state( );
9892 (yy_did_buffer_switch_on_eof) = 1;
9896 /* Allocates the stack if it does not exist.
9897 * Guarantees space for at least one push.
9899 static void surf_parse_ensure_buffer_stack (void)
9901 yy_size_t num_to_alloc;
9903 if (!(yy_buffer_stack)) {
9905 /* First allocation is just for 2 elements, since we don't know if this
9906 * scanner will even need a stack. We use 2 instead of 1 to avoid an
9907 * immediate realloc on the next call.
9909 num_to_alloc = 1; /* After all that talk, this was set to 1 anyways... */
9910 (yy_buffer_stack) = (struct yy_buffer_state**)surf_parse_alloc
9911 (num_to_alloc * sizeof(struct yy_buffer_state*)
9913 if ( ! (yy_buffer_stack) )
9914 YY_FATAL_ERROR( "out of dynamic memory in surf_parse_ensure_buffer_stack()" );
9916 memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
9918 (yy_buffer_stack_max) = num_to_alloc;
9919 (yy_buffer_stack_top) = 0;
9923 if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
9925 /* Increase the buffer to prepare for a possible push. */
9926 yy_size_t grow_size = 8 /* arbitrary grow size */;
9928 num_to_alloc = (yy_buffer_stack_max) + grow_size;
9929 (yy_buffer_stack) = (struct yy_buffer_state**)surf_parse_realloc
9931 num_to_alloc * sizeof(struct yy_buffer_state*)
9933 if ( ! (yy_buffer_stack) )
9934 YY_FATAL_ERROR( "out of dynamic memory in surf_parse_ensure_buffer_stack()" );
9936 /* zero only the new slots.*/
9937 memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
9938 (yy_buffer_stack_max) = num_to_alloc;
9942 /** Setup the input buffer state to scan directly from a user-specified character buffer.
9943 * @param base the character buffer
9944 * @param size the size in bytes of the character buffer
9946 * @return the newly allocated buffer state object.
9948 YY_BUFFER_STATE surf_parse__scan_buffer (char * base, yy_size_t size )
9953 base[size-2] != YY_END_OF_BUFFER_CHAR ||
9954 base[size-1] != YY_END_OF_BUFFER_CHAR )
9955 /* They forgot to leave room for the EOB's. */
9958 b = (YY_BUFFER_STATE) surf_parse_alloc(sizeof( struct yy_buffer_state ) );
9960 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__scan_buffer()" );
9962 b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
9963 b->yy_buf_pos = b->yy_ch_buf = base;
9964 b->yy_is_our_buffer = 0;
9965 b->yy_input_file = 0;
9966 b->yy_n_chars = b->yy_buf_size;
9967 b->yy_is_interactive = 0;
9969 b->yy_fill_buffer = 0;
9970 b->yy_buffer_status = YY_BUFFER_NEW;
9972 surf_parse__switch_to_buffer(b );
9977 /** Setup the input buffer state to scan a string. The next call to surf_parse_lex() will
9978 * scan from a @e copy of @a str.
9979 * @param yystr a NUL-terminated string to scan
9981 * @return the newly allocated buffer state object.
9982 * @note If you want to scan bytes that may contain NUL values, then use
9983 * surf_parse__scan_bytes() instead.
9985 YY_BUFFER_STATE surf_parse__scan_string (yyconst char * yystr )
9988 return surf_parse__scan_bytes(yystr,strlen(yystr) );
9991 /** Setup the input buffer state to scan the given bytes. The next call to surf_parse_lex() will
9992 * scan from a @e copy of @a bytes.
9993 * @param yybytes the byte buffer to scan
9994 * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
9996 * @return the newly allocated buffer state object.
9998 YY_BUFFER_STATE surf_parse__scan_bytes (yyconst char * yybytes, yy_size_t _yybytes_len )
10005 /* Get memory for full buffer, including space for trailing EOB's. */
10006 n = _yybytes_len + 2;
10007 buf = (char *) surf_parse_alloc(n );
10009 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__scan_bytes()" );
10011 for ( i = 0; i < _yybytes_len; ++i )
10012 buf[i] = yybytes[i];
10014 buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
10016 b = surf_parse__scan_buffer(buf,n );
10018 YY_FATAL_ERROR( "bad buffer in surf_parse__scan_bytes()" );
10020 /* It's okay to grow etc. this buffer, and we should throw it
10021 * away when we're done.
10023 b->yy_is_our_buffer = 1;
10028 static void yy_push_state (int _new_state )
10030 if ( (yy_start_stack_ptr) >= (yy_start_stack_depth) )
10032 yy_size_t new_size;
10034 (yy_start_stack_depth) += YY_START_STACK_INCR;
10035 new_size = (yy_start_stack_depth) * sizeof( int );
10037 if ( ! (yy_start_stack) )
10038 (yy_start_stack) = (int *) surf_parse_alloc(new_size );
10041 (yy_start_stack) = (int *) surf_parse_realloc((void *) (yy_start_stack),new_size );
10043 if ( ! (yy_start_stack) )
10044 YY_FATAL_ERROR( "out of memory expanding start-condition stack" );
10047 (yy_start_stack)[(yy_start_stack_ptr)++] = YY_START;
10052 static void yy_pop_state (void)
10054 if ( --(yy_start_stack_ptr) < 0 )
10055 YY_FATAL_ERROR( "start-condition stack underflow" );
10057 BEGIN((yy_start_stack)[(yy_start_stack_ptr)]);
10060 #ifndef YY_EXIT_FAILURE
10061 #define YY_EXIT_FAILURE 2
10064 static void yy_fatal_error (yyconst char* msg )
10066 (void) fprintf( stderr, "%s\n", msg );
10067 exit( YY_EXIT_FAILURE );
10070 /* Redefine yyless() so it works in section 3 code. */
10073 #define yyless(n) \
10076 /* Undo effects of setting up surf_parse_text. */ \
10077 int yyless_macro_arg = (n); \
10078 YY_LESS_LINENO(yyless_macro_arg);\
10079 surf_parse_text[surf_parse_leng] = (yy_hold_char); \
10080 (yy_c_buf_p) = surf_parse_text + yyless_macro_arg; \
10081 (yy_hold_char) = *(yy_c_buf_p); \
10082 *(yy_c_buf_p) = '\0'; \
10083 surf_parse_leng = yyless_macro_arg; \
10087 /* Accessor methods (get/set functions) to struct members. */
10089 /** Get the current line number.
10092 int surf_parse_get_lineno (void)
10095 return surf_parse_lineno;
10098 /** Get the input stream.
10101 FILE *surf_parse_get_in (void)
10103 return surf_parse_in;
10106 /** Get the output stream.
10109 FILE *surf_parse_get_out (void)
10111 return surf_parse_out;
10114 /** Get the length of the current token.
10117 yy_size_t surf_parse_get_leng (void)
10119 return surf_parse_leng;
10122 /** Get the current token.
10126 char *surf_parse_get_text (void)
10128 return surf_parse_text;
10131 /** Set the current line number.
10132 * @param _line_number line number
10135 void surf_parse_set_lineno (int _line_number )
10138 surf_parse_lineno = _line_number;
10141 /** Set the input stream. This does not discard the current
10143 * @param _in_str A readable stream.
10145 * @see surf_parse__switch_to_buffer
10147 void surf_parse_set_in (FILE * _in_str )
10149 surf_parse_in = _in_str ;
10152 void surf_parse_set_out (FILE * _out_str )
10154 surf_parse_out = _out_str ;
10157 int surf_parse_get_debug (void)
10159 return surf_parse__flex_debug;
10162 void surf_parse_set_debug (int _bdebug )
10164 surf_parse__flex_debug = _bdebug ;
10167 static int yy_init_globals (void)
10169 /* Initialization is the same as for the non-reentrant scanner.
10170 * This function is called from surf_parse_lex_destroy(), so don't allocate here.
10173 /* We do not touch surf_parse_lineno unless the option is enabled. */
10174 surf_parse_lineno = 1;
10176 (yy_buffer_stack) = 0;
10177 (yy_buffer_stack_top) = 0;
10178 (yy_buffer_stack_max) = 0;
10179 (yy_c_buf_p) = (char *) 0;
10183 (yy_start_stack_ptr) = 0;
10184 (yy_start_stack_depth) = 0;
10185 (yy_start_stack) = NULL;
10187 /* Defined in main.c */
10189 surf_parse_in = stdin;
10190 surf_parse_out = stdout;
10192 surf_parse_in = (FILE *) 0;
10193 surf_parse_out = (FILE *) 0;
10196 /* For future reference: Set errno on error, since we are called by
10197 * surf_parse_lex_init()
10202 /* surf_parse_lex_destroy is for both reentrant and non-reentrant scanners. */
10203 int surf_parse_lex_destroy (void)
10206 /* Pop the buffer stack, destroying each element. */
10207 while(YY_CURRENT_BUFFER){
10208 surf_parse__delete_buffer(YY_CURRENT_BUFFER );
10209 YY_CURRENT_BUFFER_LVALUE = NULL;
10210 surf_parse_pop_buffer_state();
10213 /* Destroy the stack itself. */
10214 surf_parse_free((yy_buffer_stack) );
10215 (yy_buffer_stack) = NULL;
10217 /* Destroy the start condition stack. */
10218 surf_parse_free((yy_start_stack) );
10219 (yy_start_stack) = NULL;
10221 /* Reset the globals. This is important in a non-reentrant scanner so the next time
10222 * surf_parse_lex() is called, initialization will occur. */
10223 yy_init_globals( );
10229 * Internal utility routines.
10233 static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
10237 for ( i = 0; i < n; ++i )
10242 #ifdef YY_NEED_STRLEN
10243 static int yy_flex_strlen (yyconst char * s )
10246 for ( n = 0; s[n]; ++n )
10253 void *surf_parse_alloc (yy_size_t size )
10255 return (void *) malloc( size );
10258 void *surf_parse_realloc (void * ptr, yy_size_t size )
10261 /* The cast to (char *) in the following accommodates both
10262 * implementations that use char* generic pointers, and those
10263 * that use void* generic pointers. It works with the latter
10264 * because both ANSI C and C++ allow castless assignment from
10265 * any pointer type to void*, and deal with argument conversions
10266 * as though doing an assignment.
10268 return (void *) realloc( (char *) ptr, size );
10271 void surf_parse_free (void * ptr )
10273 free( (char *) ptr ); /* see surf_parse_realloc() for (char *) cast */
10276 #define YYTABLES_NAME "yytables"
10278 /* Element context stack lookup. */
10279 int surfxml_element_context(int i)
10281 return (0<i && i<yy_start_stack_depth
10282 ? yy_start_stack[yy_start_stack_ptr - i]
10287 void print_yy_stack(char* fmt, ...)
10289 int i = 0; va_list ap; va_start(ap, fmt);
10290 vfprintf(stderr, fmt, ap);
10291 if (surfxml_statenames) {
10292 for (i=1; i<yy_start_stack_ptr; i++) {
10293 fprintf(stderr, "%s/", surfxml_statenames[yy_start_stack[i] ]);
10295 fprintf(stderr,"%s\n", surfxml_statenames[YY_START]);
10300 void print_surfxml_bufferstack()
10303 fputs("Buffer: ", stderr);
10304 for (i = 0; i < blimit; i++) {
10305 if ( surfxml_bufferstack[i] == '\377' ) break;
10306 putc(surfxml_bufferstack[i], stderr);
10308 putc('\n', stderr);
10311 static void debug_enter(int state, const char* statename) {
10312 yy_push_state(state);
10313 if (surf_parse__flex_debug) {
10314 print_yy_stack("--ENTER(%s) : ",statename);
10315 print_surfxml_bufferstack();
10319 static void debug_leave(void) {
10320 if (surf_parse__flex_debug) {
10321 print_yy_stack("--LEAVE : ");
10322 print_surfxml_bufferstack();
10327 static void debug_set(int state, const char* statename) {
10329 if (surf_parse__flex_debug) print_yy_stack("--SET(%s) : ",statename);
10333 static void cleanup(void)
10335 if (surfxml_statenames) {
10336 free(surfxml_statenames);
10337 surfxml_statenames = NULL;
10339 free(surfxml_bufferstack);
10340 surfxml_bufferstack = NULL;
10346 static int fail(const char* fmt, ...)
10348 int chars_left, used;
10349 va_list ap; va_start(ap, fmt);
10350 #ifdef FLEXML_yylineno
10351 used = sprintf(flexml_err_msg,
10352 "Invalid XML (XML input line %d, state %d): ",
10353 surf_parse_lineno, YY_START);
10355 used = sprintf(flexml_err_msg,
10356 "Invalid XML (state %d): ",
10359 chars_left = flexml_max_err_msg_size - used - 1;
10360 vsnprintf(flexml_err_msg + used, chars_left, fmt, ap);
10363 #ifndef FLEXML_quiet_parser
10364 /* print directly to sdterr */
10365 fprintf(stderr, "%s\n", flexml_err_msg);
10366 flexml_err_msg[0] = '\0';