2 #line 3 "src/surf/xml/simgrid_dtd.c"
4 #define YY_INT_ALIGNED short int
6 /* A lexical scanner generated by flex */
8 #define yy_create_buffer surf_parse__create_buffer
9 #define yy_delete_buffer surf_parse__delete_buffer
10 #define yy_flex_debug surf_parse__flex_debug
11 #define yy_init_buffer surf_parse__init_buffer
12 #define yy_flush_buffer surf_parse__flush_buffer
13 #define yy_load_buffer_state surf_parse__load_buffer_state
14 #define yy_switch_to_buffer surf_parse__switch_to_buffer
15 #define yyin surf_parse_in
16 #define yyleng surf_parse_leng
17 #define yylex surf_parse_lex
18 #define yylineno surf_parse_lineno
19 #define yyout surf_parse_out
20 #define yyrestart surf_parse_restart
21 #define yytext surf_parse_text
22 #define yywrap surf_parse_wrap
23 #define yyalloc surf_parse_alloc
24 #define yyrealloc surf_parse_realloc
25 #define yyfree surf_parse_free
28 #define YY_FLEX_MAJOR_VERSION 2
29 #define YY_FLEX_MINOR_VERSION 5
30 #define YY_FLEX_SUBMINOR_VERSION 39
31 #if YY_FLEX_SUBMINOR_VERSION > 0
35 /* First, we deal with platform-specific or compiler-specific issues. */
37 /* begin standard C headers. */
43 /* end standard C headers. */
45 /* flex integer type definitions */
50 /* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
52 #if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
54 /* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
55 * if you want the limit (max/min) macros for int types.
57 #ifndef __STDC_LIMIT_MACROS
58 #define __STDC_LIMIT_MACROS 1
62 typedef int8_t flex_int8_t;
63 typedef uint8_t flex_uint8_t;
64 typedef int16_t flex_int16_t;
65 typedef uint16_t flex_uint16_t;
66 typedef int32_t flex_int32_t;
67 typedef uint32_t flex_uint32_t;
69 typedef signed char flex_int8_t;
70 typedef short int flex_int16_t;
71 typedef int flex_int32_t;
72 typedef unsigned char flex_uint8_t;
73 typedef unsigned short int flex_uint16_t;
74 typedef unsigned int flex_uint32_t;
76 /* Limits of integral types. */
78 #define INT8_MIN (-128)
81 #define INT16_MIN (-32767-1)
84 #define INT32_MIN (-2147483647-1)
87 #define INT8_MAX (127)
90 #define INT16_MAX (32767)
93 #define INT32_MAX (2147483647)
96 #define UINT8_MAX (255U)
99 #define UINT16_MAX (65535U)
102 #define UINT32_MAX (4294967295U)
107 #endif /* ! FLEXINT_H */
111 /* The "const" storage-class-modifier is valid. */
114 #else /* ! __cplusplus */
116 /* C99 requires __STDC__ to be defined as 1. */
117 #if defined (__STDC__)
121 #endif /* defined (__STDC__) */
122 #endif /* ! __cplusplus */
125 #define yyconst const
130 /* Returned upon end-of-file. */
133 /* Promotes a possibly negative, possibly signed char to an unsigned
134 * integer for use as an array index. If the signed char is negative,
135 * we want to instead treat it as an 8-bit unsigned char, hence the
138 #define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
140 /* Enter a start condition. This macro really ought to take a parameter,
141 * but we do it the disgusting crufty way forced on us by the ()-less
142 * definition of BEGIN.
144 #define BEGIN (yy_start) = 1 + 2 *
146 /* Translate the current start state into a value that can be later handed
147 * to BEGIN to return to the state. The YYSTATE alias is for lex
150 #define YY_START (((yy_start) - 1) / 2)
151 #define YYSTATE YY_START
153 /* Action number for EOF rule of a given start state. */
154 #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
156 /* Special action meaning "start processing a new file". */
157 #define YY_NEW_FILE surf_parse_restart(surf_parse_in )
159 #define YY_END_OF_BUFFER_CHAR 0
161 /* Size of default input buffer. */
164 /* On IA-64, the buffer size is 16k, not 8k.
165 * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case.
166 * Ditto for the __ia64__ case accordingly.
168 #define YY_BUF_SIZE 32768
170 #define YY_BUF_SIZE 16384
171 #endif /* __ia64__ */
174 /* The state buf must be large enough to hold one state per character in the main buffer.
176 #define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
178 #ifndef YY_TYPEDEF_YY_BUFFER_STATE
179 #define YY_TYPEDEF_YY_BUFFER_STATE
180 typedef struct yy_buffer_state *YY_BUFFER_STATE;
183 #ifndef YY_TYPEDEF_YY_SIZE_T
184 #define YY_TYPEDEF_YY_SIZE_T
185 typedef size_t yy_size_t;
188 extern yy_size_t surf_parse_leng;
190 extern FILE *surf_parse_in, *surf_parse_out;
192 #define EOB_ACT_CONTINUE_SCAN 0
193 #define EOB_ACT_END_OF_FILE 1
194 #define EOB_ACT_LAST_MATCH 2
196 /* Note: We specifically omit the test for yy_rule_can_match_eol because it requires
197 * access to the local variable yy_act. Since yyless() is a macro, it would break
198 * existing scanners that call yyless() from OUTSIDE surf_parse_lex.
199 * One obvious solution it to make yy_act a global. I tried that, and saw
200 * a 5% performance hit in a non-surf_parse_lineno scanner, because yy_act is
201 * normally declared as a variable-- so it is not worth it.
203 #define YY_LESS_LINENO(n) \
206 for ( yyl = n; yyl < surf_parse_leng; ++yyl )\
207 if ( surf_parse_text[yyl] == '\n' )\
208 --surf_parse_lineno;\
210 #define YY_LINENO_REWIND_TO(dst) \
213 for ( p = yy_cp-1; p >= (dst); --p)\
215 --surf_parse_lineno;\
218 /* Return all but the first "n" matched characters back to the input stream. */
222 /* Undo effects of setting up surf_parse_text. */ \
223 int yyless_macro_arg = (n); \
224 YY_LESS_LINENO(yyless_macro_arg);\
225 *yy_cp = (yy_hold_char); \
226 YY_RESTORE_YY_MORE_OFFSET \
227 (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
228 YY_DO_BEFORE_ACTION; /* set up surf_parse_text again */ \
232 #define unput(c) yyunput( c, (yytext_ptr) )
234 #ifndef YY_STRUCT_YY_BUFFER_STATE
235 #define YY_STRUCT_YY_BUFFER_STATE
236 struct yy_buffer_state
240 char *yy_ch_buf; /* input buffer */
241 char *yy_buf_pos; /* current position in input buffer */
243 /* Size of input buffer in bytes, not including room for EOB
246 yy_size_t yy_buf_size;
248 /* Number of characters read into yy_ch_buf, not including EOB
251 yy_size_t yy_n_chars;
253 /* Whether we "own" the buffer - i.e., we know we created it,
254 * and can realloc() it to grow it, and should free() it to
257 int yy_is_our_buffer;
259 /* Whether this is an "interactive" input source; if so, and
260 * if we're using stdio for input, then we want to use getc()
261 * instead of fread(), to make sure we stop fetching input after
264 int yy_is_interactive;
266 /* Whether we're considered to be at the beginning of a line.
267 * If so, '^' rules will be active on the next match, otherwise
272 int yy_bs_lineno; /**< The line count. */
273 int yy_bs_column; /**< The column count. */
275 /* Whether to try to fill the input buffer when we reach the
280 int yy_buffer_status;
282 #define YY_BUFFER_NEW 0
283 #define YY_BUFFER_NORMAL 1
284 /* When an EOF's been seen but there's still some text to process
285 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
286 * shouldn't try reading from the input source any more. We might
287 * still have a bunch of tokens to match, though, because of
288 * possible backing-up.
290 * When we actually see the EOF, we change the status to "new"
291 * (via surf_parse_restart()), so that the user can continue scanning by
292 * just pointing surf_parse_in at a new input file.
294 #define YY_BUFFER_EOF_PENDING 2
297 #endif /* !YY_STRUCT_YY_BUFFER_STATE */
299 /* Stack of input buffers. */
300 static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
301 static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
302 static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */
304 /* We provide macros for accessing buffer states in case in the
305 * future we want to put the buffer states in a more general
308 * Returns the top of the stack, or NULL.
310 #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
311 ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
314 /* Same as previous macro, but useful when we know that the buffer stack is not
315 * NULL or when we need an lvalue. For internal use only.
317 #define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
319 /* yy_hold_char holds the character lost when surf_parse_text is formed. */
320 static char yy_hold_char;
321 static yy_size_t yy_n_chars; /* number of characters read into yy_ch_buf */
322 yy_size_t surf_parse_leng;
324 /* Points to current character in buffer. */
325 static char *yy_c_buf_p = (char *) 0;
326 static int yy_init = 0; /* whether we need to initialize */
327 static int yy_start = 0; /* start state number */
329 /* Flag which is used to allow surf_parse_wrap()'s to do buffer switches
330 * instead of setting up a fresh surf_parse_in. A bit of a hack ...
332 static int yy_did_buffer_switch_on_eof;
334 void surf_parse_restart (FILE *input_file );
335 void surf_parse__switch_to_buffer (YY_BUFFER_STATE new_buffer );
336 YY_BUFFER_STATE surf_parse__create_buffer (FILE *file,int size );
337 void surf_parse__delete_buffer (YY_BUFFER_STATE b );
338 void surf_parse__flush_buffer (YY_BUFFER_STATE b );
339 void surf_parse_push_buffer_state (YY_BUFFER_STATE new_buffer );
340 void surf_parse_pop_buffer_state (void );
342 static void surf_parse_ensure_buffer_stack (void );
343 static void surf_parse__load_buffer_state (void );
344 static void surf_parse__init_buffer (YY_BUFFER_STATE b,FILE *file );
346 #define YY_FLUSH_BUFFER surf_parse__flush_buffer(YY_CURRENT_BUFFER )
348 YY_BUFFER_STATE surf_parse__scan_buffer (char *base,yy_size_t size );
349 YY_BUFFER_STATE surf_parse__scan_string (yyconst char *yy_str );
350 YY_BUFFER_STATE surf_parse__scan_bytes (yyconst char *bytes,yy_size_t len );
352 void *surf_parse_alloc (yy_size_t );
353 void *surf_parse_realloc (void *,yy_size_t );
354 void surf_parse_free (void * );
356 #define yy_new_buffer surf_parse__create_buffer
358 #define yy_set_interactive(is_interactive) \
360 if ( ! YY_CURRENT_BUFFER ){ \
361 surf_parse_ensure_buffer_stack (); \
362 YY_CURRENT_BUFFER_LVALUE = \
363 surf_parse__create_buffer(surf_parse_in,YY_BUF_SIZE ); \
365 YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
368 #define yy_set_bol(at_bol) \
370 if ( ! YY_CURRENT_BUFFER ){\
371 surf_parse_ensure_buffer_stack (); \
372 YY_CURRENT_BUFFER_LVALUE = \
373 surf_parse__create_buffer(surf_parse_in,YY_BUF_SIZE ); \
375 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
378 #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
380 /* Begin user sect3 */
382 #define surf_parse_wrap() 1
383 #define YY_SKIP_YYWRAP
385 typedef unsigned char YY_CHAR;
387 FILE *surf_parse_in = (FILE *) 0, *surf_parse_out = (FILE *) 0;
389 typedef int yy_state_type;
391 extern int surf_parse_lineno;
393 int surf_parse_lineno = 1;
395 extern char *surf_parse_text;
396 #define yytext_ptr surf_parse_text
398 static yy_state_type yy_get_previous_state (void );
399 static yy_state_type yy_try_NUL_trans (yy_state_type current_state );
400 static int yy_get_next_buffer (void );
401 static void yy_fatal_error (yyconst char msg[] );
403 /* Done after the current pattern has been matched and before the
404 * corresponding action - sets up surf_parse_text.
406 #define YY_DO_BEFORE_ACTION \
407 (yytext_ptr) = yy_bp; \
408 surf_parse_leng = (size_t) (yy_cp - yy_bp); \
409 (yy_hold_char) = *yy_cp; \
411 (yy_c_buf_p) = yy_cp;
413 #define YY_NUM_RULES 561
414 #define YY_END_OF_BUFFER 562
415 /* This struct is not used in this scanner,
416 but its presence is necessary. */
419 flex_int32_t yy_verify;
422 static yyconst flex_int16_t yy_accept[3330] =
424 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
425 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
426 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
427 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
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,
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,
438 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,
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,
449 0, 0, 0, 0, 0, 0, 0, 0, 562, 560,
450 15, 10, 10, 15, 15, 540, 10, 540, 5, 6,
451 5, 8, 9, 8, 556, 548, 549, 557, 554, 557,
452 555, 559, 548, 549, 559, 40, 10, 40, 40, 40,
453 38, 40, 40, 44, 10, 44, 44, 560, 44, 560,
454 560, 44, 61, 10, 61, 61, 61, 59, 61, 61,
455 61, 65, 10, 65, 560, 65, 72, 10, 72, 72,
457 72, 70, 72, 76, 10, 76, 87, 10, 87, 87,
458 87, 85, 87, 87, 87, 91, 10, 91, 104, 10,
459 104, 104, 104, 102, 104, 104, 104, 108, 10, 108,
460 108, 117, 10, 117, 117, 117, 115, 117, 117, 121,
461 10, 121, 121, 140, 10, 140, 140, 140, 138, 140,
462 140, 140, 140, 140, 140, 144, 10, 144, 199, 10,
463 199, 199, 199, 197, 199, 199, 199, 199, 199, 199,
464 199, 199, 199, 203, 10, 203, 203, 210, 10, 210,
465 210, 210, 208, 210, 214, 10, 214, 214, 233, 10,
466 233, 233, 233, 231, 233, 233, 233, 233, 233, 237,
468 10, 237, 560, 237, 248, 10, 248, 248, 248, 246,
469 248, 248, 248, 252, 10, 252, 259, 10, 259, 259,
470 259, 257, 259, 263, 10, 263, 560, 263, 286, 10,
471 286, 286, 286, 284, 286, 286, 286, 286, 290, 10,
472 290, 290, 303, 10, 303, 303, 303, 301, 303, 303,
473 307, 10, 307, 316, 10, 316, 316, 316, 314, 316,
474 316, 320, 10, 320, 329, 10, 329, 329, 329, 327,
475 329, 329, 333, 10, 333, 354, 10, 354, 354, 354,
476 352, 354, 354, 354, 354, 354, 354, 358, 10, 358,
477 560, 365, 10, 365, 365, 365, 363, 365, 369, 10,
479 369, 369, 560, 369, 560, 369, 386, 10, 386, 386,
480 386, 384, 386, 386, 386, 386, 386, 390, 10, 390,
481 560, 390, 399, 10, 399, 399, 399, 397, 399, 399,
482 403, 10, 403, 430, 10, 430, 430, 430, 428, 430,
483 430, 430, 430, 430, 434, 10, 434, 447, 10, 447,
484 447, 447, 445, 447, 447, 451, 10, 451, 451, 460,
485 10, 460, 460, 460, 458, 460, 460, 464, 10, 464,
486 479, 10, 479, 479, 479, 477, 479, 479, 479, 479,
487 483, 10, 483, 483, 498, 10, 498, 498, 498, 496,
488 498, 498, 498, 498, 502, 10, 502, 560, 502, 513,
490 10, 513, 513, 513, 511, 513, 513, 513, 557, 556,
491 535, 10, 535, 535, 535, 533, 535, 535, 535, 539,
492 10, 539, 10, 0, 2, 2, 0, 4, 7, 551,
493 550, 0, 0, 0, 0, 0, 0, 39, 41, 41,
494 41, 0, 0, 0, 0, 0, 0, 0, 0, 0,
495 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
496 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
497 0, 60, 62, 62, 62, 62, 62, 0, 0, 71,
498 73, 73, 0, 86, 88, 88, 88, 88, 0, 103,
499 105, 105, 105, 105, 0, 116, 118, 118, 118, 0,
501 139, 141, 141, 141, 141, 141, 141, 141, 141, 0,
502 198, 200, 200, 200, 200, 200, 200, 200, 200, 200,
503 200, 200, 200, 200, 200, 200, 200, 200, 0, 209,
504 211, 211, 0, 232, 234, 234, 234, 234, 234, 234,
505 234, 0, 0, 247, 249, 249, 249, 249, 0, 258,
506 260, 260, 0, 0, 285, 287, 287, 287, 287, 287,
507 287, 0, 302, 304, 304, 304, 0, 315, 317, 317,
508 317, 0, 328, 330, 330, 330, 0, 353, 355, 355,
509 355, 355, 355, 355, 355, 355, 0, 0, 364, 366,
510 366, 0, 0, 0, 0, 0, 0, 385, 387, 387,
512 387, 387, 387, 387, 0, 0, 398, 400, 400, 400,
513 0, 429, 431, 431, 431, 431, 431, 431, 431, 431,
514 431, 0, 446, 448, 448, 448, 448, 0, 459, 461,
515 461, 461, 0, 478, 480, 480, 480, 480, 480, 0,
516 497, 499, 499, 499, 499, 499, 0, 0, 512, 514,
517 514, 514, 514, 0, 0, 0, 534, 536, 536, 536,
518 536, 0, 0, 0, 0, 0, 3, 0, 0, 0,
519 0, 0, 0, 0, 558, 0, 0, 41, 0, 0,
520 17, 0, 0, 0, 0, 0, 0, 0, 0, 0,
521 0, 0, 0, 0, 0, 0, 0, 0, 0, 16,
523 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
524 0, 16, 0, 0, 62, 62, 62, 62, 0, 0,
525 0, 73, 0, 0, 88, 0, 0, 88, 0, 0,
526 105, 105, 105, 0, 0, 118, 118, 0, 0, 0,
527 0, 0, 0, 141, 141, 141, 141, 141, 0, 0,
528 200, 200, 0, 0, 200, 0, 0, 200, 200, 200,
529 200, 200, 200, 200, 200, 200, 200, 200, 0, 0,
530 0, 0, 0, 0, 234, 234, 234, 0, 0, 234,
531 234, 234, 0, 0, 0, 249, 0, 0, 0, 0,
532 0, 0, 260, 0, 0, 17, 287, 0, 0, 287,
534 287, 287, 0, 0, 304, 0, 0, 0, 0, 0,
535 0, 317, 0, 0, 330, 330, 0, 0, 355, 355,
536 355, 0, 0, 355, 355, 355, 0, 0, 0, 366,
537 0, 0, 0, 0, 0, 387, 387, 387, 387, 387,
538 0, 0, 0, 0, 0, 400, 0, 0, 431, 0,
539 0, 431, 431, 431, 431, 431, 431, 0, 0, 448,
540 448, 448, 0, 0, 461, 0, 0, 0, 0, 480,
541 480, 0, 0, 480, 0, 0, 499, 0, 0, 499,
542 499, 0, 0, 0, 514, 0, 0, 514, 0, 0,
543 0, 553, 536, 536, 536, 0, 0, 0, 14, 1,
545 0, 0, 546, 0, 0, 0, 543, 542, 0, 0,
546 19, 18, 41, 0, 0, 43, 0, 17, 0, 0,
547 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
548 0, 0, 0, 0, 0, 0, 0, 0, 16, 0,
549 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
550 0, 0, 0, 0, 0, 62, 62, 0, 0, 62,
551 0, 0, 64, 0, 0, 73, 0, 0, 75, 0,
552 88, 0, 82, 81, 88, 0, 0, 90, 0, 0,
553 0, 105, 105, 0, 0, 0, 0, 107, 0, 0,
554 0, 0, 0, 0, 0, 120, 0, 0, 125, 124,
556 0, 127, 126, 0, 0, 141, 141, 141, 141, 0,
557 0, 143, 0, 200, 200, 200, 200, 0, 158, 157,
558 200, 0, 162, 161, 0, 0, 200, 200, 200, 200,
559 200, 200, 200, 200, 200, 200, 0, 0, 202, 0,
560 0, 207, 206, 0, 0, 213, 0, 234, 234, 234,
561 0, 224, 223, 234, 234, 234, 0, 0, 236, 0,
562 0, 249, 0, 243, 242, 0, 245, 244, 0, 0,
563 251, 0, 260, 0, 0, 262, 0, 287, 0, 271,
564 270, 287, 287, 287, 0, 0, 289, 0, 304, 0,
565 300, 299, 0, 0, 306, 0, 0, 311, 310, 317,
567 0, 0, 319, 0, 330, 330, 0, 0, 332, 0,
568 355, 355, 355, 355, 0, 345, 344, 0, 0, 355,
569 355, 0, 0, 357, 0, 0, 366, 0, 0, 368,
570 0, 0, 0, 0, 387, 387, 387, 387, 387, 0,
571 0, 389, 0, 0, 0, 394, 393, 400, 0, 0,
572 402, 0, 431, 0, 415, 414, 0, 0, 431, 0,
573 0, 431, 431, 431, 0, 0, 433, 0, 0, 0,
574 0, 0, 448, 0, 0, 450, 0, 461, 0, 457,
575 456, 0, 0, 463, 0, 480, 480, 0, 474, 473,
576 480, 0, 0, 482, 0, 499, 0, 491, 490, 499,
578 499, 0, 0, 501, 0, 0, 514, 0, 508, 507,
579 514, 0, 0, 0, 516, 0, 536, 536, 536, 0,
580 0, 538, 0, 0, 0, 547, 541, 0, 0, 41,
581 0, 42, 0, 0, 0, 0, 0, 0, 0, 216,
582 0, 265, 0, 0, 335, 0, 0, 392, 0, 0,
583 0, 0, 391, 0, 0, 0, 0, 0, 215, 0,
584 264, 334, 0, 0, 0, 0, 0, 0, 48, 47,
585 62, 62, 0, 54, 53, 62, 0, 264, 73, 0,
586 88, 88, 0, 0, 95, 94, 105, 105, 0, 101,
587 100, 0, 0, 112, 111, 0, 114, 113, 0, 0,
589 129, 128, 141, 141, 141, 141, 0, 200, 200, 200,
590 200, 0, 0, 0, 164, 163, 200, 200, 200, 200,
591 200, 200, 200, 200, 200, 200, 200, 0, 0, 234,
592 234, 0, 0, 234, 234, 234, 0, 0, 0, 0,
593 0, 0, 0, 0, 287, 287, 287, 287, 0, 304,
594 0, 317, 0, 0, 0, 330, 0, 355, 355, 355,
595 355, 0, 347, 346, 355, 355, 0, 0, 366, 0,
596 0, 0, 0, 387, 0, 0, 387, 387, 387, 0,
597 0, 400, 0, 431, 0, 417, 416, 0, 0, 0,
598 421, 420, 431, 0, 0, 431, 0, 0, 438, 437,
600 0, 440, 439, 448, 0, 461, 0, 480, 480, 480,
601 0, 499, 499, 0, 0, 0, 0, 0, 0, 514,
602 0, 0, 536, 0, 0, 536, 0, 0, 0, 0,
603 12, 0, 544, 545, 41, 0, 0, 0, 0, 0,
604 0, 0, 216, 0, 0, 265, 0, 0, 321, 335,
605 0, 0, 392, 0, 436, 0, 504, 391, 0, 0,
606 0, 0, 0, 215, 0, 0, 264, 334, 435, 0,
607 503, 436, 435, 62, 62, 62, 0, 0, 0, 0,
608 0, 88, 88, 0, 105, 105, 0, 0, 141, 141,
609 0, 0, 141, 0, 200, 0, 0, 200, 200, 0,
611 160, 159, 200, 200, 200, 200, 200, 200, 0, 0,
612 200, 200, 200, 200, 0, 0, 234, 234, 0, 222,
613 221, 234, 0, 0, 234, 0, 322, 0, 241, 240,
614 0, 0, 256, 255, 0, 287, 287, 287, 287, 0,
615 304, 0, 0, 0, 0, 0, 324, 323, 330, 0,
616 355, 0, 0, 355, 355, 0, 0, 355, 0, 0,
617 366, 0, 0, 0, 0, 387, 0, 375, 374, 387,
618 387, 387, 0, 0, 0, 0, 0, 431, 0, 419,
619 418, 431, 0, 425, 424, 431, 0, 448, 0, 461,
620 0, 480, 480, 480, 0, 499, 0, 0, 0, 495,
622 494, 0, 0, 0, 506, 505, 514, 0, 0, 536,
623 0, 0, 0, 0, 0, 0, 0, 0, 0, 11,
624 41, 0, 0, 0, 0, 0, 0, 204, 0, 0,
625 0, 0, 321, 0, 0, 404, 436, 453, 0, 504,
626 0, 0, 0, 0, 0, 0, 0, 0, 435, 452,
627 0, 503, 0, 0, 0, 0, 0, 62, 0, 0,
628 0, 69, 68, 0, 88, 88, 0, 0, 0, 0,
629 0, 0, 0, 0, 0, 141, 0, 135, 134, 0,
630 0, 0, 200, 0, 150, 149, 0, 0, 200, 200,
631 200, 0, 0, 200, 200, 200, 0, 184, 183, 200,
633 0, 0, 200, 200, 0, 0, 234, 234, 0, 0,
634 0, 228, 227, 234, 0, 235, 322, 0, 0, 287,
635 287, 287, 287, 0, 288, 304, 0, 0, 313, 312,
636 0, 330, 0, 355, 0, 339, 338, 0, 0, 355,
637 0, 349, 348, 355, 0, 356, 0, 366, 0, 205,
638 0, 405, 387, 387, 387, 387, 0, 0, 0, 396,
639 395, 0, 401, 431, 431, 431, 0, 448, 0, 461,
640 0, 0, 0, 480, 0, 0, 0, 499, 0, 493,
641 492, 0, 0, 514, 0, 0, 536, 0, 0, 0,
642 0, 0, 0, 0, 0, 0, 532, 531, 0, 0,
644 0, 0, 0, 0, 46, 0, 0, 0, 0, 123,
645 146, 204, 0, 254, 0, 0, 0, 370, 404, 453,
646 466, 0, 45, 0, 0, 0, 122, 145, 0, 253,
647 452, 465, 0, 0, 50, 49, 0, 52, 51, 62,
648 0, 0, 0, 88, 0, 0, 0, 0, 97, 96,
649 0, 99, 98, 0, 0, 0, 131, 130, 0, 0,
650 0, 137, 136, 0, 200, 0, 152, 151, 200, 200,
651 200, 0, 172, 171, 0, 0, 200, 200, 200, 0,
652 188, 187, 200, 200, 0, 0, 234, 234, 0, 226,
653 225, 234, 0, 0, 287, 0, 0, 287, 287, 287,
655 304, 0, 0, 330, 0, 331, 355, 0, 341, 340,
656 355, 355, 0, 0, 0, 0, 205, 371, 405, 387,
657 387, 387, 387, 0, 0, 431, 0, 0, 431, 0,
658 448, 0, 449, 461, 0, 0, 468, 467, 0, 0,
659 480, 0, 476, 475, 0, 0, 0, 499, 0, 0,
660 514, 0, 0, 515, 0, 0, 0, 0, 0, 0,
661 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
662 0, 0, 0, 46, 66, 78, 0, 0, 123, 146,
663 0, 254, 291, 0, 359, 370, 466, 0, 0, 45,
664 77, 0, 0, 122, 145, 0, 253, 465, 0, 0,
666 62, 0, 292, 0, 88, 0, 84, 83, 0, 0,
667 0, 0, 133, 132, 0, 200, 200, 200, 200, 0,
668 174, 173, 200, 200, 200, 200, 0, 0, 0, 0,
669 212, 234, 234, 234, 0, 0, 287, 0, 273, 272,
670 287, 287, 287, 304, 0, 0, 330, 355, 355, 355,
671 360, 0, 362, 361, 0, 371, 0, 0, 387, 387,
672 387, 0, 67, 431, 0, 423, 422, 431, 0, 432,
673 448, 461, 0, 462, 0, 470, 469, 480, 0, 0,
674 487, 486, 499, 0, 0, 514, 552, 0, 520, 519,
675 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
677 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
678 0, 0, 0, 0, 66, 78, 0, 0, 239, 291,
679 0, 359, 0, 0, 77, 0, 0, 238, 0, 0,
680 62, 0, 63, 292, 0, 0, 0, 0, 0, 0,
681 0, 142, 200, 200, 200, 200, 200, 0, 0, 200,
682 200, 200, 0, 0, 0, 0, 201, 234, 234, 234,
683 0, 0, 261, 0, 0, 287, 287, 287, 287, 0,
684 0, 0, 0, 0, 0, 355, 355, 355, 360, 0,
685 0, 373, 372, 0, 0, 387, 387, 0, 388, 67,
686 0, 0, 431, 448, 461, 480, 0, 481, 499, 0,
688 0, 514, 0, 0, 0, 0, 0, 0, 0, 0,
689 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
690 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
691 239, 308, 0, 0, 0, 0, 238, 0, 0, 62,
692 0, 74, 0, 80, 79, 0, 89, 0, 0, 200,
693 200, 200, 200, 200, 0, 176, 175, 200, 0, 0,
694 200, 0, 0, 0, 0, 234, 234, 0, 0, 0,
695 0, 267, 266, 287, 287, 287, 0, 0, 0, 0,
696 0, 0, 305, 0, 0, 326, 325, 355, 355, 0,
697 0, 0, 367, 0, 377, 376, 0, 0, 0, 0,
699 0, 0, 0, 431, 448, 461, 480, 499, 0, 309,
700 514, 0, 0, 0, 0, 0, 0, 0, 0, 0,
701 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
702 0, 0, 0, 0, 0, 0, 0, 0, 110, 308,
703 0, 0, 0, 109, 0, 0, 0, 0, 0, 0,
704 200, 200, 200, 0, 0, 200, 200, 0, 186, 185,
705 200, 0, 0, 0, 0, 0, 0, 234, 0, 0,
706 0, 230, 229, 0, 250, 287, 287, 287, 0, 283,
707 282, 0, 0, 0, 0, 0, 0, 0, 355, 0,
708 0, 0, 351, 350, 0, 0, 0, 0, 383, 382,
710 0, 0, 0, 0, 0, 0, 431, 0, 0, 0,
711 0, 480, 499, 0, 309, 0, 0, 0, 0, 0,
712 0, 524, 0, 0, 0, 0, 523, 0, 0, 0,
713 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
714 0, 0, 0, 0, 110, 485, 0, 0, 109, 484,
715 0, 0, 0, 0, 0, 0, 200, 200, 0, 0,
716 0, 168, 167, 0, 0, 200, 200, 0, 0, 0,
717 0, 0, 0, 234, 0, 220, 219, 287, 0, 0,
718 287, 0, 0, 0, 0, 0, 0, 0, 318, 355,
719 0, 343, 342, 0, 0, 0, 0, 0, 0, 0,
721 0, 0, 0, 0, 0, 431, 0, 0, 0, 0,
722 455, 454, 0, 0, 0, 0, 0, 0, 510, 509,
723 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
724 0, 0, 0, 0, 0, 0, 21, 29, 0, 0,
725 0, 0, 20, 28, 0, 93, 485, 518, 92, 484,
726 517, 0, 0, 0, 0, 0, 0, 119, 200, 200,
727 0, 166, 165, 0, 170, 169, 200, 200, 0, 0,
728 0, 0, 0, 0, 234, 287, 0, 275, 274, 287,
729 0, 0, 294, 0, 0, 293, 355, 0, 0, 0,
730 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
732 0, 0, 0, 0, 0, 0, 472, 471, 0, 489,
733 488, 0, 0, 0, 530, 0, 0, 0, 529, 0,
734 0, 0, 0, 0, 0, 0, 0, 0, 0, 23,
735 0, 0, 0, 22, 0, 93, 518, 92, 517, 0,
736 0, 0, 0, 0, 200, 200, 0, 0, 200, 0,
737 192, 0, 0, 191, 0, 234, 0, 0, 0, 0,
738 0, 0, 0, 0, 355, 0, 0, 0, 0, 0,
739 0, 0, 0, 0, 0, 0, 0, 0, 427, 426,
740 0, 0, 0, 0, 0, 500, 0, 0, 0, 0,
741 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
743 0, 0, 0, 0, 0, 58, 0, 57, 0, 0,
744 106, 200, 200, 0, 0, 0, 0, 0, 0, 194,
745 0, 193, 234, 0, 269, 268, 0, 0, 0, 296,
746 298, 295, 297, 355, 379, 0, 378, 0, 0, 413,
747 409, 0, 0, 412, 408, 0, 444, 0, 443, 0,
748 528, 0, 0, 527, 0, 0, 0, 537, 0, 0,
749 0, 12, 0, 12, 0, 33, 0, 0, 0, 31,
750 32, 0, 0, 0, 30, 56, 55, 200, 200, 0,
751 0, 0, 0, 0, 190, 189, 0, 0, 234, 0,
752 0, 0, 0, 355, 0, 0, 0, 0, 0, 0,
754 442, 441, 522, 526, 521, 525, 0, 0, 0, 0,
755 0, 0, 0, 25, 0, 0, 0, 24, 0, 0,
756 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
757 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
758 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
759 0, 0, 0, 0, 0, 0, 148, 147, 0, 0,
760 0, 0, 0, 0, 0, 0, 0, 196, 195, 0,
761 218, 217, 0, 0, 0, 0, 0, 0, 0, 337,
762 336, 0, 0, 407, 0, 406, 0, 0, 11, 0,
763 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
765 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
766 0, 381, 380, 0, 0, 0, 0, 0, 0, 0,
767 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
768 0, 0, 0, 0, 0, 0, 0, 0, 411, 410,
769 0, 0, 35, 0, 0, 34, 0, 0, 0, 0,
770 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
771 0, 0, 0, 0, 0, 27, 0, 26, 0, 0,
772 0, 0, 0, 0, 178, 0, 0, 177, 0, 0,
773 277, 0, 0, 276, 0, 37, 36, 0, 0, 0,
774 0, 182, 0, 181, 0, 279, 0, 278, 0, 0,
776 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
777 154, 0, 153, 0, 0, 0, 0, 0, 0, 156,
778 155, 180, 179, 281, 280, 0, 0, 0, 0, 0,
779 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
780 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
781 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
782 0, 0, 0, 0, 0, 0, 0, 0, 0, 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,
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, 13, 0
792 static yyconst flex_int32_t yy_ec[256] =
794 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
795 1, 2, 4, 1, 1, 1, 1, 1, 1, 1,
796 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
797 1, 2, 5, 6, 7, 1, 1, 8, 9, 1,
798 1, 1, 1, 1, 10, 11, 12, 13, 13, 13,
799 13, 14, 13, 13, 13, 15, 13, 16, 17, 18,
800 19, 20, 21, 1, 22, 23, 24, 25, 26, 27,
801 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
802 31, 38, 39, 40, 41, 42, 43, 44, 45, 31,
803 46, 1, 47, 1, 48, 1, 49, 50, 51, 52,
805 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
806 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
807 73, 74, 1, 1, 1, 1, 1, 1, 1, 1,
808 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
809 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
810 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
811 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
812 1, 1, 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,
816 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
817 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
818 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
819 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
820 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
824 static yyconst flex_int32_t yy_meta[75] =
826 1, 2, 2, 2, 1, 1, 1, 1, 1, 3,
827 3, 1, 4, 4, 4, 5, 6, 1, 7, 8,
828 1, 9, 9, 9, 9, 9, 9, 5, 5, 5,
829 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
830 5, 5, 5, 5, 5, 1, 1, 5, 9, 9,
831 9, 9, 9, 9, 5, 5, 5, 5, 5, 5,
832 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
836 static yyconst flex_int16_t yy_base[3809] =
838 0, 0, 0, 3, 6, 9, 12, 29, 16, 19,
839 14, 17, 33, 36, 49, 55, 45, 61, 108, 174,
840 66, 72, 75, 78, 83, 128, 131, 134, 138, 141,
841 194, 197, 200, 204, 207, 224, 230, 233, 241, 250,
842 268, 335, 288, 291, 294, 298, 301, 355, 358, 361,
843 402, 472, 365, 368, 542, 602, 422, 425, 662, 729,
844 428, 432, 435, 452, 492, 495, 498, 502, 796, 863,
845 505, 522, 562, 565, 568, 572, 575, 622, 930, 997,
846 625, 628, 1064, 0, 632, 635, 682, 685, 688, 692,
847 695, 749, 1138, 1195, 752, 755, 759, 762, 816, 819,
849 822, 826, 1252, 1319, 829, 883, 886, 889, 893, 896,
850 950, 953, 1386, 1455, 956, 960, 1524, 1578, 963, 1017,
851 1020, 1023, 1027, 1030, 1158, 1161, 1632, 1699, 1164, 1168,
852 1171, 1215, 1218, 1221, 1225, 1228, 1766, 1823, 1272, 1275,
853 1880, 1950, 1278, 1282, 2020, 2087, 1339, 1342, 2154, 2221,
854 1345, 1349, 1406, 1409, 2288, 2358, 1412, 1416, 1419, 1475,
855 1478, 1481, 1485, 1488, 1544, 1547, 1550, 1554, 1557, 1598,
856 1601, 1604, 1608, 1611, 1652, 1655, 2428, 2495, 1658, 1662,
857 1665, 1719, 1722, 1725, 1729, 1732, 2562, 2632, 1786, 1789,
858 2702, 2769, 1792, 1796, 2836, 2903, 1799, 1843, 1846, 1849,
860 1853, 1856, 1900, 1903, 2970, 3027, 1906, 1910, 3084, 3152,
861 1913, 1930, 1970, 1973, 1976, 1980, 1983, 2000, 3220, 3287,
862 2040, 2043, 2046, 2050, 2053, 2107, 2110, 2113, 3354, 3418,
863 2132, 2134, 3482, 3550, 2174, 2180, 0, 0, 9050,11804,
864 11804, 95, 100, 29, 41,11804, 103, 51,11804,11804,
865 9037,11804,11804, 9026,11804, 9041, 9037, 164,11804,11804,
866 11804,11804, 9035, 9035, 8988,11804, 158, 9014, 0, 142,
867 11804, 8981, 8965,11804, 164, 3614, 8963, 3678, 2187, 1238,
868 9014, 31,11804, 253, 9003, 0, 143,11804, 8955, 8950,
869 84,11804, 258, 253, 9004, 8955,11804, 322, 8994, 0,
871 148,11804, 8962,11804, 325, 218,11804, 328, 8990, 0,
872 242,11804, 8960, 8952, 8954,11804, 389, 373,11804, 393,
873 8982, 0, 245,11804, 8932, 8927, 8931,11804, 396, 8980,
874 11,11804, 455, 8971, 0, 313,11804, 8923, 8921,11804,
875 458, 8974, 79,11804, 461, 8965, 0, 446,11804, 8909,
876 8927, 8929, 8909, 8925, 19,11804, 525, 509,11804, 529,
877 8953, 0, 447,11804, 8898, 101, 8904, 8914, 317, 8897,
878 258, 651, 8899,11804, 532, 8949, 246,11804, 535, 8936,
879 0, 576,11804, 8903,11804, 592, 8942, 287,11804, 652,
880 8931, 0, 577,11804, 8880, 8886, 8892, 8876, 320,11804,
882 719, 112, 8881, 377,11804, 722, 8919, 0, 579,11804,
883 8875, 8885, 8868,11804, 783, 639,11804, 786, 8911, 0,
884 580,11804, 8873,11804, 789, 2129, 8915, 629,11804, 847,
885 8906, 0, 637,11804, 8876, 8868, 8870, 102,11804, 850,
886 8906, 704,11804, 853, 8895, 0, 640,11804, 8857, 8861,
887 11804, 856, 706,11804, 914, 8888, 0, 707,11804, 8855,
888 8857,11804, 917, 901,11804, 921, 8883, 0, 773,11804,
889 8853, 8833,11804, 924, 967,11804, 980, 8876, 0, 774,
890 11804, 8825, 8823, 8828, 8838, 8840, 447,11804, 989, 1034,
891 841,11804, 1047, 8864, 0, 840,11804, 8822,11804, 1056,
893 1305, 748, 1126, 771, 8810, 815,11804, 1245, 8853, 0,
894 964,11804, 8799, 8804, 8809, 8799, 8792,11804, 1308, 454,
895 8810, 882,11804, 1311, 8834, 0, 965,11804, 8801, 8803,
896 11804, 1370, 1423,11804, 1375, 8827, 0, 968,11804, 8793,
897 8793, 1134, 8791, 137,11804, 1378, 1424,11804, 1437, 8819,
898 0, 1031,11804, 8771, 1115,11804, 1444, 8821, 204,11804,
899 1447, 8812, 0, 1032,11804, 8768, 8774,11804, 1450, 1492,
900 11804, 1506, 8805, 0, 1035,11804, 8756, 8756, 8766, 8744,
901 11804, 1512, 8800, 949,11804, 1515, 8791, 0, 1173,11804,
902 8747, 8753, 8741, 8746,11804, 1518, 272, 8737, 1181,11804,
904 1682, 8777, 0, 1230,11804, 8739, 8739, 8737, 1669, 8742,
905 11804, 1691, 8764, 0, 1284,11804, 8723, 8725, 8711,11804,
906 1694, 1736, 1749, 408, 8704,11804, 8765, 8750,11804,11804,
907 11804, 1747, 153, 8701, 8700, 8694, 8742,11804, 0, 2120,
908 8692, 8734, 8716, 8688, 328, 1177, 8686, 8686, 8690, 8679,
909 1445, 259, 8673, 8674, 1755, 8696, 396, 1234, 8671, 8671,
910 8671, 1756, 524, 8659, 8660, 8682, 398, 1812, 584, 439,
911 979,11804, 0, 8652, 8671, 8663, 8652, 8690, 8650,11804,
912 0, 8646, 8656,11804, 0, 8638, 2187, 8631, 8648,11804,
913 0, 8625, 8644, 8640, 8096,11804, 0, 8077, 8092, 8092,
915 11804, 0, 2241, 2244, 8073, 8087, 8087, 8085, 8083, 8084,
916 11804, 0, 8085, 8084, 2254, 8058, 2308, 8055, 8060, 8050,
917 8058, 8058, 8039, 8054, 8049, 8051, 8040, 8028, 8037,11804,
918 0, 2311, 8035,11804, 0, 8036, 175, 2314, 8007, 8011,
919 8014, 7997, 7989,11804, 0, 7979, 2317, 2320, 7984,11804,
920 0, 7973, 7975, 7991,11804, 0, 7967, 2338, 7944, 7960,
921 7958, 7943,11804, 0, 7934, 2378, 7939,11804, 0, 2381,
922 7931, 7929,11804, 0, 7927, 7920, 7921,11804, 0, 7931,
923 7923, 7907, 2384, 7898, 7900, 7896, 7880, 7882,11804, 0,
924 7870, 7871, 1301, 1813, 1368, 1506, 1869,11804, 0, 7871,
926 7857, 7859, 7859, 7857, 7835, 7832,11804, 0, 2387, 7836,
927 7831,11804, 0, 7831, 2390, 7813, 7835, 7820, 7821, 7819,
928 7818, 7802,11804, 0, 7780, 7796, 7784, 7774,11804, 0,
929 7775, 2408, 7771,11804, 0, 7767, 7759, 2448, 7738, 7733,
930 11804, 0, 7737, 2451, 7745, 7712, 7708, 7711,11804, 0,
931 7712, 2454, 7701, 512, 7698, 7743,11804, 0, 7708, 7698,
932 7709, 7688, 7735, 7743, 1271, 7678,11804, 1925, 0, 7674,
933 7673, 7714, 7711, 7659,11804, 2457, 2006, 7652, 2192, 2516,
934 2077, 7656, 7659, 7640, 7653, 7632, 7628, 7620, 7631, 7618,
935 860, 7626, 7628, 7606, 7606, 7569, 7573, 7583, 7564, 2081,
937 7568, 7554, 7558, 7538, 7530, 7545, 7532, 7533, 7514, 7515,
938 7528, 2142, 7502, 7497, 2460, 2526, 2519, 2529, 2262, 2582,
939 7493, 7485, 2523, 2592, 7500, 2585, 2341, 7490, 2595, 2652,
940 2603, 2666, 2657, 2660, 2663, 2671, 2722, 2725, 2735, 2728,
941 2411, 2748, 2614, 2790, 2798, 2801, 2808, 2865, 2740, 2876,
942 7484, 1939, 2794, 2622, 7483, 2862, 2689, 2868, 7478, 7469,
943 7470, 7459, 7446, 7436, 7444, 7428, 7440, 7413, 2871, 2926,
944 2929, 2819, 2932, 2936, 7418, 7407, 7418, 2939, 2891, 7421,
945 7415, 7386, 2990, 2993, 1266, 7391, 2999, 2957, 3003, 3048,
946 3056, 3059, 7398, 3062, 3106, 2213, 7398, 3109, 3066, 7380,
948 7366, 7362, 3112, 3117, 7376, 3121, 3140, 3173, 3185, 3176,
949 3188, 7358, 3180, 3248, 7369, 7355, 3241, 3252, 7358, 3,
950 7348, 3244, 3204, 3255, 7359, 7333, 3310, 3317, 7351, 7331,
951 3320, 3323, 7331, 7329, 7328, 7334, 7314, 7316, 7321, 7307,
952 3374, 3377, 7310, 3383, 3276, 7295, 3386, 3389, 7305, 3438,
953 3343, 3442, 7295, 3447, 7298, 7290, 7287, 3450, 3456, 3504,
954 3507, 3511, 3514, 3517, 7268, 3529, 3401, 3571, 3574, 7275,
955 7255, 3579, 3465, 7268, 3582, 3585, 7245, 3597, 3536, 7258,
956 7257, 3604, 3608, 1306, 7251, 3611, 3636, 7243, 7274, 3629,
957 3648,11804, 7227, 7234, 7233, 3652, 3657, 7259,11804,11804,
959 681, 7218,11804, 7259, 7254, 7199,11804,11804, 7180, 3682,
960 11804,11804, 7190, 3690, 3693,11804, 3699, 1761, 7182, 7175,
961 7183, 7192, 7167, 7156, 7162, 7147, 7148, 7148, 7149, 7139,
962 7129, 7122, 718, 7137, 7110, 7110, 7117, 1244, 1941, 7104,
963 7106, 7111, 7102, 7090, 7077, 7083, 7079, 7071, 7058, 7059,
964 7072, 7047, 7045, 3702, 3745, 7045, 7044, 3705, 3753, 7056,
965 3713, 3761,11804, 3764, 7048, 7053, 3767, 3770,11804, 3773,
966 7033, 3776,11804,11804, 7030, 3792, 3795,11804, 3798, 3801,
967 3804, 7024, 7023, 3819, 3823, 3831, 3837,11804, 3840, 3843,
968 3850, 3861, 3864, 3872, 3875,11804, 3879, 3882,11804,11804,
970 3894,11804,11804, 3903, 3906, 7024, 7028, 7024, 7011, 3914,
971 3917,11804, 3921, 7000, 6988, 7000, 6992, 3924,11804,11804,
972 3936, 3942,11804,11804, 3950, 3954, 6978, 6982, 6974, 6978,
973 6975, 6965, 6969, 6951, 6945, 1516, 3962, 3970,11804, 3973,
974 3977,11804,11804, 3985, 3992,11804, 3995, 6941, 6943, 3998,
975 4004,11804,11804, 6925, 6940, 6919, 4016, 4019,11804, 4023,
976 6909, 4026, 4029,11804,11804, 4044,11804,11804, 4052, 4056,
977 11804, 4059, 4062, 4065, 4071,11804, 4080, 6889, 4090,11804,
978 11804, 6897, 6900, 6890, 4084, 4099,11804, 4103, 6891, 4106,
979 11804,11804, 4114, 4118,11804, 4125, 4133,11804,11804, 6887,
981 4144, 4147,11804, 4150, 4153, 4156, 4159, 4174,11804, 4178,
982 6879, 6875, 6867, 6878, 4182,11804,11804, 4193, 4197, 6869,
983 6867, 4205, 4211,11804, 4214, 6846, 6856, 4217, 4220,11804,
984 4224, 6857, 1566, 6848, 6831, 4239, 6849, 6842, 6821, 4246,
985 4249,11804, 4252, 6819, 4259,11804,11804, 6832, 4272, 4275,
986 11804, 4278, 6818, 4281,11804,11804, 4297, 4300, 4308, 4315,
987 4319, 6831, 4327, 6828, 4333, 4336,11804, 4340, 4345, 4348,
988 4359, 4363, 6826, 4371, 4377,11804, 4380, 6823, 4383,11804,
989 11804, 4391, 4401,11804, 4404, 6810, 6805, 4410,11804,11804,
990 6827, 4423, 4426,11804, 4430, 6802, 4433,11804,11804, 6790,
992 4449, 4452, 4455,11804, 4458, 6776, 4461, 4479,11804,11804,
993 4467, 6794, 4487, 4492,11804, 4495, 6747, 4498, 6723, 4502,
994 4506,11804, 4516, 955, 4521,11804,11804, 6737, 6730, 6641,
995 4525,11804, 6628, 6620, 6581, 6552, 6555, 6548, 6557, 2070,
996 6523, 2073, 6530, 6466, 2216, 6359, 6317, 2272, 6238, 6191,
997 6167, 6160, 2281, 6050, 5928, 5904, 5890, 5783, 2350, 20,
998 2420, 2486, 41, 51, 193, 196, 214, 4529,11804,11804,
999 243, 324, 4544,11804,11804, 374, 4552, 2829, 4555, 4558,
1000 387, 466, 4564, 4567,11804,11804, 473, 540, 4577,11804,
1001 11804, 4585, 4588,11804,11804, 4597,11804,11804, 4605, 4608,
1003 11804,11804, 546, 608, 4616, 606, 4626, 653, 4629, 636,
1004 696, 4634, 4638, 4653,11804,11804, 718, 723, 702, 787,
1005 772, 777, 4647, 793, 830, 839, 845, 4661, 4665, 1013,
1006 1097, 4668, 4671, 1116, 4686, 1132, 4689, 1143, 4692, 4695,
1007 4704, 4710, 4714, 4723, 1177, 1187, 1182, 1220, 4728, 1219,
1008 4731, 4734, 4738, 4742, 4760, 1237, 4772, 1305, 4752, 1287,
1009 1302, 4775,11804,11804, 4791, 1314, 4794, 1330, 1322, 4797,
1010 1345, 1372, 1363, 1385, 4800, 4803, 1403, 1429, 1446, 4818,
1011 1434, 4821, 4824, 1451, 4827,11804,11804, 4839, 4843, 4853,
1012 11804,11804, 1474, 4864, 4868, 1487, 4876, 4883,11804,11804,
1014 4891,11804,11804, 1495, 4899, 1510, 4902, 1517, 1512, 1525,
1015 4905, 1532, 4908, 4911, 4914, 4929, 1549, 4932, 4935, 1566,
1016 1598, 4943, 1559, 4950, 4953, 4962, 4970, 1603, 1607, 4973,
1017 11804, 1608,11804,11804, 1576, 1595, 1618, 1609, 1608, 1624,
1018 1634, 1633, 2490, 1631, 1663, 2557, 1679, 1690, 2684, 2762,
1019 1676, 1675, 2965, 1683, 3411, 1699, 3212, 3021, 1687, 1695,
1020 1715, 1744, 1752, 3215, 1746, 1759, 3314, 3476, 4976, 1765,
1021 3618, 4980, 4983, 4994, 4997, 5000, 5003, 1788, 5006, 5025,
1022 5033, 1802, 1789, 5036, 5048, 5055, 5058, 5061, 5066, 5073,
1023 5080, 5087, 5098, 5101, 1813, 5104, 5107, 5116, 1802, 5128,
1025 11804,11804, 1810, 1826, 5136, 1836, 1863, 1864, 5139, 5142,
1026 1866, 5150, 1874, 1870, 5157, 5162, 1880, 1874, 5169,11804,
1027 11804, 5177, 5181, 5184, 1887, 5195, 3644, 5199,11804,11804,
1028 5207, 5214,11804,11804, 5210, 1894, 1874, 1894, 1912, 5229,
1029 1924, 5232, 5235, 5238, 5254, 5257,11804,11804, 1937, 5265,
1030 1942, 5268, 5280, 5273, 1931, 5291, 5294, 1941, 5302, 1937,
1031 1943, 5305, 1956, 1946, 1953, 1953, 5309,11804,11804, 1960,
1032 1959, 1968, 5317, 1998, 5324, 5332, 5327, 1991, 5342,11804,
1033 11804, 2000, 5351,11804,11804, 1992, 5359, 1997, 5362, 2003,
1034 5365, 5369, 5372, 5390, 5393, 2001, 5397, 5401, 5417,11804,
1036 11804, 5425, 2022, 5428,11804,11804, 2021, 2046, 5444, 2035,
1037 5447, 2511, 2975, 5456, 5459, 5467, 2133, 2187, 2234,11804,
1038 5474, 2066, 2058, 2064, 2110, 2059, 2063, 3728, 2073, 2132,
1039 2119, 2124, 5477, 2136, 2143, 5480, 5486, 5492, 2160, 5496,
1040 2199, 2199, 2197, 2239, 2194, 2203, 2223, 2233, 5499, 5502,
1041 2251, 5505, 2274, 5508, 5512, 5520, 5526, 2269, 5534, 2260,
1042 5538,11804,11804, 5546, 2261, 5549, 5553, 5556, 5561, 5574,
1043 5577, 5585, 5588, 5592, 5611, 5619, 5622,11804,11804, 5630,
1044 5633, 5641, 2274, 5644,11804,11804, 5654, 5660, 2275, 2289,
1045 2279, 5668, 5672, 5680, 2289, 2300, 5686,11804,11804, 2292,
1047 5694, 5698, 2285, 2282, 5706, 5712, 2299, 2325, 5715, 5718,
1048 5727,11804,11804, 2338, 5735,11804, 5738, 5741, 5744, 2328,
1049 5747, 2351, 2344, 5750,11804, 2339, 5754, 5769,11804,11804,
1050 5777, 2377, 5780, 2351, 5783,11804,11804, 5800, 5804, 2367,
1051 5812,11804,11804, 2361, 5820,11804, 2353, 5824, 5827, 5830,
1052 2354, 5833, 2363, 2365, 2375, 2408, 5842, 2404, 5846,11804,
1053 11804, 5854,11804, 2406, 5857, 2414, 5861, 2415, 5864, 2428,
1054 5867, 5875, 5889, 5897, 5900, 5904, 5921, 5924, 5928,11804,
1055 11804, 5936, 2414, 2429, 2459, 5944, 5947, 2461, 2449, 2517,
1056 2449, 2489, 2481, 2570, 2487, 5951,11804,11804, 5959, 2526,
1058 2734, 2537, 5965, 5971, 5979, 2467, 2484, 2514, 2493, 5983,
1059 5986, 5990, 2529, 5993, 2539, 2544, 2550, 5996, 5999, 6002,
1060 6006, 2550, 6009, 2561, 2588, 2566, 6012, 6015, 2568, 6018,
1061 6021, 6024, 2585, 6027,11804,11804, 6035,11804,11804, 2606,
1062 6043, 2609, 6046, 2621, 6049, 6053, 6067, 6071,11804,11804,
1063 6079,11804,11804, 6087, 6090, 6095,11804,11804, 6111, 6114,
1064 6129,11804,11804, 6122, 2621, 6137,11804,11804, 2620, 2624,
1065 2646, 6145,11804,11804, 6153, 6156, 2644, 2633, 2639, 6164,
1066 11804,11804, 2651, 6172, 6175, 6178, 2674, 2667, 6183,11804,
1067 11804, 2680, 6197, 6200, 2690, 6203, 6206, 2699, 2692, 2698,
1069 2699, 6222, 6225, 2710, 6228,11804, 2731, 6231,11804,11804,
1070 2727, 2739, 2745, 6247, 6253, 6261, 6265, 6268, 6271, 6274,
1071 6280, 6283, 6292, 6301, 2739, 2748, 6304, 6310, 2769, 6322,
1072 2768, 6326,11804, 2761, 6332, 6335,11804,11804, 6352, 6355,
1073 2766, 6363,11804,11804, 6371, 6374, 6377, 2791, 6385, 2794,
1074 2805, 2817, 6392,11804, 6395, 6398, 2841, 2846, 2846, 2854,
1075 2864, 2857, 2859, 2859, 2866, 2876, 6406, 6413, 2937, 2942,
1076 6416, 3943, 4725, 6425, 6428, 6432, 2860, 2858, 6437, 6440,
1077 2878, 6443, 6446, 2881, 6449, 6452, 6456, 2877, 2885, 6459,
1078 6462, 2885, 2884, 6465, 6468, 2895, 6471, 6474, 2896, 2903,
1080 2962, 6477, 6480, 6483, 6486, 6489,11804,11804, 6497, 6504,
1081 6507, 6510,11804,11804, 6518, 2955, 2960, 2962, 2993, 6526,
1082 11804,11804, 6537, 2957, 2973, 2988, 6542, 6551, 6545, 6560,
1083 11804, 2998, 3014, 3018, 6564, 6569, 6572, 6579,11804,11804,
1084 6575, 6593, 6596, 6599, 6602, 6605, 6625, 3020, 3027, 3028,
1085 6631, 6634,11804,11804, 6643, 6648, 6651, 6656, 6664, 6670,
1086 6673, 6676, 6682, 6691, 6696,11804,11804, 6705, 6709,11804,
1087 3034, 3047, 6712,11804, 6716,11804,11804, 3033, 6731, 6734,
1088 11804,11804, 3034, 6742, 3054, 3050,11804, 6746,11804,11804,
1089 3102, 3089, 3108, 3104, 3112, 3114, 3105, 3121, 3116, 3124,
1091 6754, 6757, 3184, 3192, 3091, 3124, 3142, 3122, 3129, 3136,
1092 3196, 3204, 3199, 3208, 6761, 6764, 3206, 3202, 6767, 6776,
1093 3211, 6779, 3203, 3221, 6782, 3221, 3218, 6785, 3230, 3247,
1094 3250, 6789,11804, 6792, 6795, 6799, 6802, 6810, 6820, 6823,
1095 6829,11804, 3260, 3281, 3269, 3261, 3286, 6832, 6835, 3276,
1096 6843, 3286, 6850, 3355, 3372, 6861,11804, 3273, 3275, 6864,
1097 6867, 6870,11804, 6874, 6892, 3296, 3291, 3293, 6900, 6903,
1098 6906, 6914, 6921, 6925, 6929, 3316, 3329, 6943, 6946, 6949,
1099 6952,11804,11804, 6961, 6964, 6972, 6975, 6979,11804, 6983,
1100 6986, 6994, 7004, 3338, 3349, 3353, 7007,11804, 3370, 7010,
1102 3383, 3375, 3413, 3414, 3428, 3425, 3456, 3455, 3456, 3477,
1103 3474, 3499, 7013, 3584, 3570, 3516, 3456, 3469, 3480, 3484,
1104 3484, 3477, 3480, 3508, 3529, 3533, 3533, 3547, 3554, 3572,
1105 7016, 7022, 3565, 3581, 3572, 3590, 7032, 3593, 3605, 7035,
1106 7038,11804, 7041,11804,11804, 7049,11804, 7053, 7060, 3589,
1107 3603, 3610, 7063, 3605, 7068,11804,11804, 3622, 7081, 7084,
1108 3619, 3689, 3653, 3703, 3654, 3625, 7092, 7095, 7099, 7115,
1109 7118,11804,11804, 3655, 3665, 3663, 7127, 7130, 7138, 3999,
1110 4089, 7146,11804, 7149, 7152,11804,11804, 3653, 7160, 7168,
1111 7171, 7179,11804, 7182,11804,11804, 7190, 7194, 7202, 7208,
1113 7216, 3715, 3823, 7224, 7227, 7230, 3684, 3688, 7233, 7236,
1114 7248, 3713, 3730, 3734, 3738, 3755, 3753, 3764, 3764, 3767,
1115 3782, 7252, 3852, 3849, 3851, 3725, 3750, 3738, 3754, 3763,
1116 3768, 3752, 3765, 3758, 3776, 3784, 3801, 3787, 7255, 7258,
1117 3834, 3838, 3822, 7261, 3840, 3843, 7266, 7271, 7279, 7287,
1118 3854, 3851, 7290, 7293, 7299, 7313, 3878, 7316,11804,11804,
1119 3878, 3892, 3913, 3898, 3902, 3925, 3911, 3902, 7324, 7327,
1120 7335,11804,11804, 7343,11804, 3899, 7347, 3910, 7350,11804,
1121 11804, 3926, 3948, 3954, 3956, 3967, 3967, 7358, 3961, 7365,
1122 7368, 7377,11804,11804, 7385, 4073, 4207, 7393,11804,11804,
1124 3973, 3978, 4211, 3978, 4001, 4235, 7401, 7404, 7407, 7415,
1125 7422, 7433, 7436, 7439, 7442, 7445, 7463, 4016, 4002, 4004,
1126 4009,11804, 4027, 4028, 4026, 4035,11804, 7454, 4075, 4058,
1127 7458, 4012, 4022, 4045, 4119, 4126, 4073, 4072, 4074, 4092,
1128 4157, 4159, 4109, 4118, 7477, 7480, 4105, 4121, 7483, 7486,
1129 4115, 7489, 4194, 4251, 7497, 7502, 4135, 4130, 7506, 7509,
1130 7517,11804,11804, 7525, 7528, 4119, 4127, 4156, 4170, 4170,
1131 4182, 4195, 4195, 4184, 7536,11804,11804, 4206, 7544, 7547,
1132 4187, 4221, 4236, 4282, 4246, 4256, 4284, 7555,11804, 4240,
1133 7558,11804,11804, 4267, 4279, 4277, 4282, 4291, 4279, 4285,
1135 4296, 4304, 4297, 4298, 4317, 7566, 7570, 4323, 4353, 7578,
1136 11804,11804, 7586, 7589, 7597, 7600, 7608, 7611,11804,11804,
1137 4315, 4337, 4364, 4349, 4336, 4355, 4381, 4374, 7619, 4390,
1138 7622, 7627, 7631, 4346, 4333, 4403,11804,11804, 4363, 4364,
1139 4350, 4411,11804,11804, 4370, 7641, 7646, 7650, 7653, 7656,
1140 7660, 4387, 4405, 4402, 4414, 7663, 7669,11804, 4384, 4388,
1141 7672,11804,11804, 7682,11804,11804, 7690, 4380, 4408, 4460,
1142 4428, 4434, 4467, 4438, 4422, 7693, 7696,11804,11804, 7704,
1143 4449, 4461,11804, 4457, 4477,11804, 4454, 4487, 4475, 4490,
1144 4495, 4502, 4513, 4515, 4504, 4514, 4525, 4527, 4524, 7711,
1146 7715, 4528, 4549, 4541, 4556, 7723,11804,11804, 7731,11804,
1147 11804, 7739, 4556, 4563,11804, 4565, 4567, 4568,11804, 4572,
1148 7742, 4619, 7745, 7748, 7767, 7810, 7857, 4538, 4547,11804,
1149 4559, 4555, 4556,11804, 4567, 7775, 7778, 7781, 7786, 4620,
1150 4604, 4636, 4613, 7789, 4598, 4609, 7801, 7792, 7804, 4623,
1151 11804, 4670, 4640,11804, 4670, 4624, 7822, 7830, 7848, 7840,
1152 4680, 4694, 4693, 4694, 4650, 4709, 4681, 4713, 4699, 4722,
1153 4753, 4759, 4728, 4745, 4764, 4771, 4742, 7877,11804,11804,
1154 4779, 4747, 4779, 4750, 7851,11804, 4802, 4778, 4780, 4806,
1155 4783, 4785, 7885, 4815, 7888, 4831, 4830, 7908, 7955, 5005,
1157 4783, 4842, 5167, 4804, 4845,11804, 4855,11804, 4854, 7898,
1158 11804, 4811, 4800, 7928, 4921, 4985, 7919, 7937, 4849,11804,
1159 4850,11804, 4829, 7975,11804,11804, 7983, 4991, 5085,11804,
1160 11804,11804,11804, 4831,11804, 4868,11804, 4869, 4884,11804,
1161 11804, 4861, 4907,11804,11804, 4886,11804, 4920,11804, 4920,
1162 11804, 4934, 4936,11804, 4934, 4941, 7945,11804, 4972, 5035,
1163 4968, 4952, 5078, 4952, 7948,11804, 4919, 4928, 5073,11804,
1164 11804, 4965, 4952, 5064,11804,11804,11804, 7991, 7994, 5073,
1165 4988, 5127, 4991, 8002,11804,11804, 4996, 5018, 8012, 5148,
1166 5018, 5202, 5019, 8015, 5016, 5033, 5065, 5089, 5107, 5100,
1168 11804,11804,11804,11804,11804,11804, 8018, 5121, 5108, 5127,
1169 8021, 5079, 5084,11804, 5107, 5089, 5096,11804, 5118, 8024,
1170 8033, 8042, 8045, 5134, 5158, 5170, 5155, 5171, 5184, 5215,
1171 5213, 8053, 8056, 5186, 5195, 5207, 5205, 5213, 5226, 8064,
1172 8067, 5210, 5211, 5247, 5240, 5255, 5243, 8075, 5253, 5238,
1173 5212, 5237, 5250, 5222, 5248, 8078,11804,11804, 8087, 5313,
1174 5350, 5264, 5269, 5278, 5280, 5290, 5286,11804,11804, 8095,
1175 11804,11804, 5295, 5306, 5304, 5312, 5317, 5318, 8103,11804,
1176 11804, 5352, 5369,11804, 5346,11804, 5347, 5363,11804, 5318,
1177 5319, 5331, 5324, 5331, 5346, 5384, 5382, 5390, 5385, 5387,
1179 5399, 5399, 5403, 5410, 5410, 5408, 5414, 5415, 5413, 5419,
1180 5426,11804,11804, 5448, 5446, 5446, 5404, 5461, 5419, 5420,
1181 5477, 5438, 5452, 5491, 5477, 5497, 5488, 5485, 5506, 5496,
1182 5493, 5518, 5508, 5505, 5536, 5525, 5528, 5546,11804,11804,
1183 5564, 5519,11804, 5568, 5529,11804, 5576, 5560, 5560, 5563,
1184 5563, 5577, 5569, 5601, 5583, 5573, 5603, 5592, 5582, 5621,
1185 5603, 5593, 5631, 5634, 5635,11804, 5642,11804, 5629, 5639,
1186 5637, 5642, 5671, 5646,11804, 5671, 5652,11804, 5680, 5658,
1187 11804, 5684, 5670,11804, 5691,11804,11804, 5668, 5681, 5675,
1188 5698,11804, 5702,11804, 5709,11804, 5734,11804, 5736, 8113,
1190 5737, 5759, 5742, 5760, 5732, 5733, 5744, 5746, 8116, 5785,
1191 11804, 5784,11804, 5788, 5789, 5793, 5800, 5797, 5819,11804,
1192 11804,11804,11804,11804,11804, 5818, 5821, 5852, 5853, 5865,
1193 5894, 5895, 6044, 5800, 5868, 5885, 5924, 5892, 5898, 6022,
1194 6038, 5822, 6015, 5862, 5915, 5876, 6012, 6045, 6064, 6085,
1195 6092, 6023, 6116, 6114, 6133, 6091, 6130, 5791, 6151, 6020,
1196 6086, 6141, 6163, 6047, 6144, 6227, 6232, 6201, 6203, 6041,
1197 6174, 6173, 6226, 6241, 6260, 6271, 6298, 6268, 6289, 6277,
1198 6328, 6340, 6476, 6199, 6320, 6295, 6323, 6364, 6474, 6102,
1199 6290, 6330, 6482, 6503, 6573, 6495, 6566, 6484, 6506, 6391,
1201 6513, 6325, 6590, 6567, 6591, 6302, 6498, 6662, 6686, 6621,
1202 6622, 6670, 6671, 6649, 6701, 6610, 6719, 6755, 6790, 6593,
1203 6752, 6796, 6808, 6417, 6722, 8124, 8127,11804,11804, 8147,
1204 8156, 8165, 8174, 8183, 8192, 8201, 8210, 8219, 8228, 8237,
1205 8246, 8255, 8264, 8273, 8282, 8291, 8300, 8309, 8318, 8327,
1206 8336, 8345, 8354, 8363, 8372, 8381, 8390, 8399, 8408, 8417,
1207 8426, 8435, 8444, 8453, 8462, 8471, 8480, 8489, 8498, 8507,
1208 8516, 8525, 8534, 8543, 8552, 8561, 8570, 8579, 8588, 8597,
1209 8606, 8615, 8624, 8633, 8642, 8651, 8660, 8669, 8678, 8685,
1210 8692, 8699, 8706, 8713, 8720, 8727, 8734, 8741, 8748, 8755,
1212 8762, 8769, 8776, 8783, 8790, 8797, 8804, 8811, 8818, 8825,
1213 8832, 8839, 8846, 8853, 8860, 8867, 8876, 8883, 8888, 8895,
1214 8900, 8907, 8912, 8919, 8924, 8931, 8936, 8943, 8948, 8955,
1215 8960, 8967, 8972, 8979, 8984, 8991, 8996, 9003, 9008, 9015,
1216 9020, 9027, 9032, 9039, 9044, 9051, 9056, 9063, 9068, 9075,
1217 9080, 9087, 9092, 9099, 9104, 9111, 9116, 9123, 9128, 9135,
1218 9140, 9147, 9152, 9159, 9164, 9171, 9176, 9183, 9188, 9195,
1219 9200, 9209, 9215, 9222, 9230, 9238, 9246, 9253, 9261, 9268,
1220 9276, 9284, 9292, 9300, 9308, 9316, 9324, 9331, 9339, 9347,
1221 9354, 9362, 9369, 9377, 9384, 9392, 9399, 9407, 9414, 9422,
1223 9429, 9437, 9444, 9452, 9459, 9467, 9474, 9482, 9489, 9497,
1224 9504, 9512, 9519, 9527, 9535, 9543, 9550, 9558, 9565, 9573,
1225 9580, 9588, 9595, 9603, 9610, 9618, 9627, 9633, 9640, 9648,
1226 9655, 9663, 9670, 9678, 9685, 9693, 9700, 9708, 9716, 9723,
1227 9731, 9738, 9746, 9754, 9761, 9769, 9777, 9785, 9793, 9801,
1228 9808, 9816, 9823, 9831, 9838, 9846, 9854, 9862, 9869, 9877,
1229 9884, 9892, 9899, 9907, 9914, 9922, 9929, 9937, 9944, 9952,
1230 9959, 9967, 9974, 9982, 9989, 9997,10005,10013,10020,10028,
1231 10037,10046,10053,10060,10068,10076,10084,10091,10099,10106,
1232 10114,10122,10129,10137,10144,10152,10160,10167,10175,10183,
1234 10191,10198,10206,10213,10221,10229,10237,10244,10252,10259,
1235 10267,10274,10282,10289,10297,10305,10313,10320,10328,10335,
1236 10343,10350,10358,10365,10373,10380,10388,10395,10403,10410,
1237 10418,10427,10436,10443,10451,10459,10467,10474,10482,10490,
1238 10498,10506,10514,10522,10529,10537,10545,10552,10560,10568,
1239 10576,10583,10591,10598,10606,10614,10621,10629,10636,10644,
1240 10651,10659,10666,10674,10682,10689,10697,10704,10712,10719,
1241 10727,10735,10743,10750,10758,10765,10773,10780,10788,10797,
1242 10806,10814,10821,10829,10837,10844,10852,10860,10868,10876,
1243 10884,10891,10899,10907,10914,10922,10930,10937,10944,10952,
1245 10960,10967,10975,10982,10990,10998,11005,11013,11020,11028,
1246 11035,11043,11050,11058,11066,11074,11082,11090,11097,11105,
1247 11113,11121,11130,11139,11146,11154,11162,11169,11177,11185,
1248 11193,11201,11208,11216,11224,11231,11239,11247,11254,11261,
1249 11269,11277,11284,11291,11299,11307,11315,11322,11330,11337,
1250 11344,11352,11359,11367,11374,11382,11389,11397,11406,11415,
1251 11422,11430,11438,11446,11454,11462,11470,11478,11485,11493,
1252 11500,11508,11516,11524,11532,11540,11548,11556,11563,11571,
1253 11579,11587,11595,11602,11609,11616,11624,11631,11639,11646,
1254 11654,11663,11672,11679,11687,11695,11703,11711,11718,11725,
1256 11733,11740,11749,11758,11767,11776,11785,11794
1259 static yyconst flex_int16_t yy_def[3809] =
1261 3330, 3330, 3331, 3331, 3331, 3331, 3332, 3332, 3333, 3333,
1262 3334, 3334, 3335, 3335, 3335, 3335, 3336, 3336, 3337, 3337,
1263 3338, 3338, 3338, 3338, 3330, 3330, 3338, 3338, 3338, 3338,
1264 3330, 3330, 3338, 3338, 3330, 3330, 3338, 3338, 3338, 3338,
1265 3339, 3339, 3340, 3340, 3330, 3330, 3340, 3340, 3340, 3340,
1266 3341, 3341, 3342, 3342, 3343, 3343, 3344, 3344, 3345, 3345,
1267 3346, 3346, 3330, 3330, 3346, 3346, 3346, 3346, 3347, 3347,
1268 3348, 3348, 3330, 3330, 3348, 3348, 3348, 3348, 3349, 3349,
1269 3350, 3350, 3329, 83, 3351, 3351, 3330, 3330, 3351, 3351,
1270 3351, 3351, 3352, 3352, 3353, 3353, 3330, 3330, 3353, 3353,
1272 3353, 3353, 3354, 3354, 3355, 3355, 3330, 3330, 3355, 3355,
1273 3355, 3355, 3356, 3356, 3357, 3357, 3358, 3358, 3359, 3359,
1274 3330, 3330, 3359, 3359, 3359, 3359, 3360, 3360, 3361, 3361,
1275 3330, 3330, 3361, 3361, 3361, 3361, 3362, 3362, 3363, 3363,
1276 3364, 3364, 3365, 3365, 3366, 3366, 3367, 3367, 3368, 3368,
1277 3369, 3369, 3330, 3330, 3370, 3370, 3371, 3371, 3371, 3371,
1278 3330, 3330, 3371, 3371, 3371, 3371, 3330, 3330, 3371, 3371,
1279 3330, 3330, 3371, 3371, 3371, 3371, 3372, 3372, 3373, 3373,
1280 3330, 3330, 3373, 3373, 3373, 3373, 3374, 3374, 3375, 3375,
1281 3376, 3376, 3377, 3377, 3378, 3378, 3379, 3379, 3330, 3330,
1283 3379, 3379, 3379, 3379, 3380, 3380, 3381, 3381, 3382, 3382,
1284 3383, 3383, 3330, 3330, 3383, 3383, 3383, 3383, 3384, 3384,
1285 3385, 3385, 3330, 3330, 3385, 3385, 3385, 3385, 3386, 3386,
1286 3387, 3387, 3388, 3388, 3389, 3389, 3330, 3330, 3329, 3329,
1287 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329,
1288 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329,
1289 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3390, 3329,
1290 3329, 3390, 3390, 3329, 3329, 3329, 276, 3329, 278, 276,
1291 279, 278, 3329, 3329, 3329, 3391, 3329, 3329, 3391, 3391,
1292 3391, 3329, 3329, 278, 294, 294, 3329, 3329, 3329, 3392,
1294 3329, 3329, 3392, 3329, 3329, 3329, 3329, 3329, 3329, 3393,
1295 3329, 3329, 3393, 3393, 3393, 3329, 3329, 3329, 3329, 3329,
1296 3329, 3394, 3329, 3329, 3394, 3394, 3394, 3329, 3329, 294,
1297 294, 3329, 3329, 3329, 3395, 3329, 3329, 3395, 3395, 3329,
1298 3329, 294, 294, 3329, 3329, 3329, 3396, 3329, 3329, 3396,
1299 3396, 3396, 3396, 3396, 3396, 3329, 3329, 3329, 3329, 3329,
1300 3329, 3397, 3329, 3329, 3397, 3397, 3397, 3397, 3397, 3397,
1301 3397, 3397, 3397, 3329, 3329, 278, 278, 3329, 3329, 3329,
1302 3398, 3329, 3329, 3398, 3329, 3329, 278, 278, 3329, 3329,
1303 3329, 3399, 3329, 3329, 3399, 3399, 3399, 3399, 3399, 3329,
1305 3329, 278, 278, 278, 3329, 3329, 3329, 3400, 3329, 3329,
1306 3400, 3400, 3400, 3329, 3329, 3329, 3329, 3329, 3329, 3401,
1307 3329, 3329, 3401, 3329, 3329, 278, 426, 278, 3329, 3329,
1308 3329, 3402, 3329, 3329, 3402, 3402, 3402, 3402, 3329, 3329,
1309 278, 278, 3329, 3329, 3329, 3403, 3329, 3329, 3403, 3403,
1310 3329, 3329, 3329, 3329, 3329, 3329, 3404, 3329, 3329, 3404,
1311 3404, 3329, 3329, 3329, 3329, 3329, 3329, 3405, 3329, 3329,
1312 3405, 3405, 3329, 3329, 3329, 3329, 3329, 3329, 3406, 3329,
1313 3329, 3406, 3406, 3406, 3406, 3406, 3406, 3329, 3329, 3329,
1314 3329, 3329, 3329, 3329, 3407, 3329, 3329, 3407, 3329, 3329,
1316 426, 426, 278, 278, 278, 278, 3329, 3329, 3329, 3408,
1317 3329, 3329, 3408, 3408, 3408, 3408, 3408, 3329, 3329, 278,
1318 278, 278, 3329, 3329, 3329, 3409, 3329, 3329, 3409, 3409,
1319 3329, 3329, 3329, 3329, 3329, 3329, 3410, 3329, 3329, 3410,
1320 3410, 3410, 3410, 3410, 3329, 3329, 3329, 3329, 3329, 3329,
1321 3411, 3329, 3329, 3411, 3411, 3329, 3329, 294, 294, 3329,
1322 3329, 3329, 3412, 3329, 3329, 3412, 3412, 3329, 3329, 3329,
1323 3329, 3329, 3329, 3413, 3329, 3329, 3413, 3413, 3413, 3413,
1324 3329, 3329, 278, 278, 3329, 3329, 3329, 3414, 3329, 3329,
1325 3414, 3414, 3414, 3414, 3329, 3329, 278, 278, 278, 3329,
1327 3329, 3329, 3415, 3329, 3329, 3415, 3415, 3415, 3329, 3329,
1328 3329, 3329, 3329, 3416, 3329, 3329, 3416, 3416, 3416, 3329,
1329 3329, 3329, 3329, 3417, 3329, 3329, 3329, 3329, 3329, 3329,
1330 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3418, 3418,
1331 3418, 3419, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329,
1332 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329,
1333 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329,
1334 3329, 3329, 3420, 3420, 3420, 3420, 3420, 3421, 3329, 3329,
1335 3422, 3422, 3423, 3329, 3424, 3424, 3424, 3424, 3425, 3329,
1336 3426, 3426, 3426, 3426, 3427, 3329, 3428, 3428, 3428, 3429,
1338 3329, 3430, 3430, 3430, 3430, 3430, 3430, 3430, 3430, 3431,
1339 3329, 3432, 3432, 3432, 3432, 3432, 3432, 3432, 3432, 3432,
1340 3432, 3432, 3432, 3432, 3432, 3432, 3432, 3432, 3433, 3329,
1341 3434, 3434, 3435, 3329, 3436, 3436, 3436, 3436, 3436, 3436,
1342 3436, 3437, 3329, 3329, 3438, 3438, 3438, 3438, 3439, 3329,
1343 3440, 3440, 3441, 3329, 3329, 3442, 3442, 3442, 3442, 3442,
1344 3442, 3443, 3329, 3444, 3444, 3444, 3445, 3329, 3446, 3446,
1345 3446, 3447, 3329, 3448, 3448, 3448, 3449, 3329, 3450, 3450,
1346 3450, 3450, 3450, 3450, 3450, 3450, 3451, 3329, 3329, 3452,
1347 3452, 3453, 3329, 3329, 3329, 3329, 3329, 3329, 3454, 3454,
1349 3454, 3454, 3454, 3454, 3455, 3329, 3329, 3456, 3456, 3456,
1350 3457, 3329, 3458, 3458, 3458, 3458, 3458, 3458, 3458, 3458,
1351 3458, 3459, 3329, 3460, 3460, 3460, 3460, 3461, 3329, 3462,
1352 3462, 3462, 3463, 3329, 3464, 3464, 3464, 3464, 3464, 3465,
1353 3329, 3466, 3466, 3466, 3466, 3466, 3467, 3329, 3329, 3468,
1354 3468, 3468, 3468, 3329, 3469, 3329, 3329, 3470, 3470, 3470,
1355 3470, 3471, 3472, 3329, 3472, 3329, 3329, 3329, 3473, 3329,
1356 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3474, 3475, 3475,
1357 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329,
1358 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329,
1360 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329,
1361 3329, 3329, 3329, 3329, 3476, 3476, 3476, 3476, 3477, 3477,
1362 3329, 3478, 3479, 3479, 3480, 3329, 3329, 3480, 3481, 3481,
1363 3482, 3482, 3482, 3483, 3483, 3484, 3484, 3485, 3485, 3329,
1364 3329, 3329, 3329, 3486, 3486, 3486, 3486, 3486, 3487, 3487,
1365 3488, 3488, 3329, 3329, 3488, 3329, 3329, 3488, 3488, 3488,
1366 3488, 3488, 3488, 3488, 3488, 3488, 3488, 3488, 3489, 3489,
1367 3329, 3329, 3490, 3490, 3491, 3491, 3491, 3329, 3329, 3491,
1368 3491, 3491, 3492, 3492, 3329, 3493, 3329, 3329, 3329, 3329,
1369 3494, 3494, 3495, 3496, 3496, 3329, 3497, 3329, 3329, 3497,
1371 3497, 3497, 3498, 3498, 3499, 3329, 3329, 3500, 3500, 3329,
1372 3329, 3501, 3502, 3502, 3503, 3503, 3504, 3504, 3505, 3505,
1373 3505, 3329, 3329, 3505, 3505, 3505, 3506, 3506, 3329, 3507,
1374 3508, 3508, 3329, 3329, 3329, 3509, 3509, 3509, 3509, 3509,
1375 3510, 3510, 3329, 3329, 3329, 3511, 3512, 3512, 3513, 3329,
1376 3329, 3513, 3513, 3513, 3513, 3513, 3513, 3514, 3514, 3515,
1377 3515, 3515, 3516, 3516, 3517, 3329, 3329, 3518, 3518, 3519,
1378 3519, 3329, 3329, 3519, 3520, 3520, 3521, 3329, 3329, 3521,
1379 3521, 3522, 3522, 3329, 3523, 3329, 3329, 3523, 3329, 3524,
1380 3524, 3329, 3525, 3525, 3525, 3526, 3526, 3527, 3329, 3329,
1382 3527, 3329, 3329, 3528, 3329, 3329, 3329, 3329, 3329, 3329,
1383 3329, 3329, 3529, 3329, 3530, 3329, 3530, 3329, 3329, 3329,
1384 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329,
1385 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329,
1386 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329,
1387 3329, 3329, 3329, 3329, 3329, 3531, 3531, 3329, 3329, 3531,
1388 3329, 3532, 3329, 3532, 3329, 3533, 3329, 3534, 3329, 3534,
1389 3535, 3329, 3329, 3329, 3535, 3329, 3536, 3329, 3536, 3329,
1390 3329, 3537, 3537, 3329, 3329, 3329, 3538, 3329, 3538, 3329,
1391 3329, 3329, 3329, 3329, 3539, 3329, 3539, 3329, 3329, 3329,
1393 3329, 3329, 3329, 3329, 3329, 3540, 3540, 3540, 3540, 3329,
1394 3541, 3329, 3541, 3542, 3542, 3542, 3542, 3329, 3329, 3329,
1395 3542, 3329, 3329, 3329, 3329, 3329, 3542, 3542, 3542, 3542,
1396 3542, 3542, 3542, 3542, 3542, 3542, 3329, 3543, 3329, 3543,
1397 3329, 3329, 3329, 3329, 3544, 3329, 3544, 3545, 3545, 3545,
1398 3329, 3329, 3329, 3545, 3545, 3545, 3329, 3546, 3329, 3546,
1399 3329, 3547, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3548,
1400 3329, 3548, 3549, 3329, 3550, 3329, 3550, 3551, 3329, 3329,
1401 3329, 3551, 3551, 3551, 3329, 3552, 3329, 3552, 3553, 3329,
1402 3329, 3329, 3329, 3554, 3329, 3554, 3329, 3329, 3329, 3555,
1404 3329, 3556, 3329, 3556, 3557, 3557, 3329, 3558, 3329, 3558,
1405 3559, 3559, 3559, 3559, 3329, 3329, 3329, 3329, 3329, 3559,
1406 3559, 3329, 3560, 3329, 3560, 3329, 3561, 3329, 3562, 3329,
1407 3562, 3329, 3329, 3329, 3563, 3563, 3563, 3563, 3563, 3329,
1408 3564, 3329, 3564, 3329, 3329, 3329, 3329, 3565, 3329, 3566,
1409 3329, 3566, 3567, 3329, 3329, 3329, 3329, 3329, 3567, 3329,
1410 3329, 3567, 3567, 3567, 3329, 3568, 3329, 3568, 3329, 3329,
1411 3329, 3329, 3569, 3329, 3570, 3329, 3570, 3571, 3329, 3329,
1412 3329, 3329, 3572, 3329, 3572, 3573, 3573, 3329, 3329, 3329,
1413 3573, 3329, 3574, 3329, 3574, 3575, 3329, 3329, 3329, 3575,
1415 3575, 3329, 3576, 3329, 3576, 3329, 3577, 3329, 3329, 3329,
1416 3577, 3329, 3329, 3578, 3329, 3578, 3579, 3579, 3579, 3329,
1417 3580, 3329, 3580, 3581, 3582, 3329, 3329, 3329, 3329, 3583,
1418 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329,
1419 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329,
1420 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329,
1421 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329,
1422 3584, 3584, 3329, 3329, 3329, 3584, 3585, 3329, 3586, 3587,
1423 3588, 3588, 3589, 3329, 3329, 3329, 3590, 3590, 3329, 3329,
1424 3329, 3591, 3329, 3329, 3329, 3329, 3329, 3329, 3592, 3329,
1426 3329, 3329, 3593, 3593, 3593, 3593, 3594, 3595, 3595, 3595,
1427 3595, 3329, 3329, 3329, 3329, 3329, 3595, 3595, 3595, 3595,
1428 3595, 3595, 3595, 3595, 3595, 3595, 3595, 3596, 3597, 3598,
1429 3598, 3329, 3329, 3598, 3598, 3598, 3599, 3329, 3329, 3329,
1430 3600, 3329, 3329, 3601, 3602, 3602, 3602, 3602, 3603, 3604,
1431 3605, 3606, 3607, 3329, 3329, 3608, 3609, 3610, 3610, 3610,
1432 3610, 3329, 3329, 3329, 3610, 3610, 3611, 3329, 3612, 3613,
1433 3329, 3329, 3329, 3614, 3329, 3329, 3614, 3614, 3614, 3615,
1434 3329, 3616, 3617, 3618, 3329, 3329, 3329, 3329, 3329, 3329,
1435 3329, 3329, 3618, 3329, 3329, 3618, 3619, 3329, 3329, 3329,
1437 3329, 3329, 3329, 3620, 3621, 3622, 3623, 3624, 3624, 3624,
1438 3625, 3626, 3626, 3329, 3329, 3627, 3329, 3329, 3329, 3628,
1439 3329, 3629, 3630, 3329, 3329, 3630, 3631, 3632, 3633, 3633,
1440 3329, 3633, 3329, 3329, 3634, 3329, 3329, 3329, 3329, 3329,
1441 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329,
1442 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329,
1443 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329,
1444 3329, 3329, 3329, 3635, 3635, 3635, 3636, 3329, 3329, 3329,
1445 3637, 3638, 3638, 3639, 3640, 3640, 3641, 3642, 3643, 3643,
1446 3329, 3329, 3643, 3644, 3645, 3329, 3329, 3645, 3645, 3329,
1448 3329, 3329, 3645, 3645, 3645, 3645, 3645, 3645, 3329, 3329,
1449 3645, 3645, 3645, 3645, 3646, 3647, 3648, 3648, 3329, 3329,
1450 3329, 3648, 3329, 3329, 3648, 3649, 3329, 3329, 3329, 3329,
1451 3650, 3329, 3329, 3329, 3651, 3652, 3652, 3652, 3652, 3653,
1452 3654, 3655, 3329, 3329, 3656, 3329, 3329, 3329, 3657, 3658,
1453 3659, 3329, 3329, 3659, 3659, 3329, 3329, 3659, 3660, 3329,
1454 3661, 3662, 3329, 3329, 3329, 3663, 3329, 3329, 3329, 3663,
1455 3663, 3663, 3664, 3329, 3329, 3329, 3665, 3666, 3329, 3329,
1456 3329, 3666, 3329, 3329, 3329, 3666, 3667, 3668, 3669, 3670,
1457 3671, 3672, 3672, 3672, 3673, 3674, 3329, 3329, 3329, 3329,
1459 3329, 3675, 3329, 3329, 3329, 3329, 3676, 3329, 3677, 3678,
1460 3329, 3329, 3329, 3329, 3329, 3679, 3680, 3681, 3681, 3329,
1461 3682, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329,
1462 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329,
1463 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329,
1464 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3683, 3684, 3329,
1465 3329, 3329, 3329, 3685, 3686, 3686, 3687, 3329, 3329, 3329,
1466 3329, 3688, 3689, 3329, 3329, 3690, 3329, 3329, 3329, 3329,
1467 3329, 3691, 3692, 3329, 3329, 3329, 3329, 3329, 3692, 3692,
1468 3692, 3329, 3329, 3692, 3692, 3692, 3329, 3329, 3329, 3692,
1470 3329, 3329, 3692, 3692, 3693, 3694, 3695, 3695, 3329, 3329,
1471 3329, 3329, 3329, 3695, 3329, 3329, 3329, 3696, 3697, 3698,
1472 3698, 3698, 3698, 3329, 3329, 3699, 3700, 3329, 3329, 3329,
1473 3701, 3702, 3703, 3704, 3329, 3329, 3329, 3329, 3329, 3704,
1474 3329, 3329, 3329, 3704, 3329, 3329, 3329, 3705, 3706, 3329,
1475 3329, 3329, 3707, 3707, 3707, 3707, 3708, 3329, 3329, 3329,
1476 3329, 3329, 3329, 3709, 3709, 3709, 3710, 3711, 3712, 3713,
1477 3714, 3329, 3329, 3715, 3329, 3329, 3716, 3717, 3329, 3329,
1478 3329, 3718, 3329, 3719, 3329, 3720, 3721, 3329, 3329, 3329,
1479 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3722, 3723,
1481 3724, 3724, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329,
1482 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329,
1483 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329,
1484 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3725,
1485 3726, 3329, 3727, 3728, 3329, 3329, 3729, 3329, 3329, 3329,
1486 3329, 3329, 3329, 3730, 3731, 3329, 3329, 3329, 3329, 3329,
1487 3329, 3329, 3329, 3732, 3733, 3329, 3329, 3329, 3733, 3733,
1488 3733, 3329, 3329, 3329, 3329, 3329, 3733, 3733, 3733, 3329,
1489 3329, 3329, 3733, 3733, 3734, 3735, 3736, 3736, 3329, 3329,
1490 3329, 3736, 3737, 3738, 3739, 3329, 3329, 3739, 3739, 3739,
1492 3740, 3741, 3742, 3743, 3329, 3329, 3744, 3329, 3329, 3329,
1493 3744, 3744, 3329, 3329, 3329, 3745, 3329, 3329, 3329, 3746,
1494 3746, 3746, 3746, 3747, 3329, 3748, 3329, 3329, 3748, 3749,
1495 3750, 3329, 3329, 3751, 3752, 3329, 3329, 3329, 3329, 3329,
1496 3753, 3329, 3329, 3329, 3754, 3329, 3329, 3755, 3756, 3329,
1497 3757, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329,
1498 3329, 3329, 3329, 3329, 3329, 3329, 3758, 3759, 3760, 3760,
1499 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329,
1500 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329,
1501 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329,
1503 3761, 3762, 3329, 3763, 3764, 3329, 3329, 3329, 3765, 3766,
1504 3767, 3329, 3329, 3329, 3768, 3769, 3769, 3769, 3769, 3329,
1505 3329, 3329, 3769, 3769, 3769, 3769, 3329, 3329, 3770, 3329,
1506 3329, 3771, 3771, 3771, 3772, 3773, 3774, 3329, 3329, 3329,
1507 3774, 3774, 3774, 3775, 3776, 3777, 3778, 3779, 3779, 3779,
1508 3329, 3329, 3329, 3329, 3780, 3329, 3329, 3329, 3781, 3781,
1509 3781, 3782, 3329, 3783, 3329, 3329, 3329, 3783, 3329, 3329,
1510 3784, 3785, 3329, 3329, 3329, 3329, 3329, 3786, 3787, 3329,
1511 3329, 3329, 3788, 3789, 3329, 3790, 3329, 3329, 3329, 3329,
1512 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329,
1514 3791, 3792, 3793, 3793, 3329, 3329, 3329, 3329, 3329, 3329,
1515 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329,
1516 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329,
1517 3794, 3329, 3329, 3329, 3795, 3329, 3329, 3796, 3797, 3798,
1518 3329, 3329, 3799, 3799, 3799, 3799, 3799, 3329, 3329, 3799,
1519 3799, 3799, 3329, 3329, 3329, 3329, 3329, 3800, 3800, 3800,
1520 3801, 3329, 3329, 3329, 3329, 3802, 3802, 3802, 3802, 3329,
1521 3329, 3776, 3777, 3329, 3329, 3779, 3779, 3779, 3329, 3780,
1522 3329, 3329, 3329, 3329, 3329, 3781, 3781, 3329, 3329, 3329,
1523 3329, 3329, 3783, 3784, 3785, 3786, 3329, 3329, 3788, 3789,
1525 3329, 3790, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329,
1526 3329, 3329, 3791, 3792, 3793, 3793, 3329, 3329, 3329, 3329,
1527 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329,
1528 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3794,
1529 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3797, 3798, 3799,
1530 3799, 3799, 3799, 3799, 3329, 3329, 3329, 3799, 3329, 3329,
1531 3799, 3329, 3329, 3329, 3329, 3800, 3800, 3329, 3329, 3801,
1532 3329, 3329, 3329, 3802, 3802, 3802, 3329, 3329, 3329, 3329,
1533 3329, 3329, 3329, 3777, 3329, 3329, 3329, 3779, 3779, 3329,
1534 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329,
1536 3329, 3329, 3329, 3783, 3784, 3785, 3786, 3788, 3789, 3329,
1537 3790, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329,
1538 3329, 3791, 3792, 3793, 3793, 3329, 3329, 3329, 3329, 3329,
1539 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329,
1540 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3797, 3798,
1541 3799, 3799, 3799, 3329, 3329, 3799, 3799, 3329, 3329, 3329,
1542 3799, 3329, 3329, 3329, 3329, 3329, 3329, 3800, 3329, 3329,
1543 3329, 3329, 3329, 3329, 3329, 3802, 3802, 3802, 3329, 3329,
1544 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3777, 3779, 3329,
1545 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329,
1547 3329, 3329, 3329, 3329, 3329, 3329, 3783, 3329, 3329, 3329,
1548 3329, 3786, 3788, 3789, 3329, 3329, 3329, 3329, 3329, 3329,
1549 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3791, 3792, 3793,
1550 3793, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329,
1551 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329,
1552 3329, 3329, 3329, 3329, 3797, 3798, 3799, 3799, 3329, 3329,
1553 3329, 3329, 3329, 3329, 3329, 3799, 3799, 3329, 3329, 3329,
1554 3329, 3329, 3329, 3800, 3329, 3329, 3329, 3802, 3329, 3329,
1555 3802, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3779,
1556 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329,
1558 3329, 3329, 3329, 3329, 3329, 3783, 3329, 3329, 3329, 3329,
1559 3329, 3329, 3329, 3329, 3329, 3329, 3789, 3329, 3329, 3329,
1560 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3791, 3792,
1561 3793, 3793, 3793, 3329, 3329, 3329, 3329, 3329, 3329, 3329,
1562 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329,
1563 3329, 3329, 3329, 3329, 3329, 3797, 3329, 3329, 3799, 3799,
1564 3329, 3329, 3329, 3329, 3329, 3329, 3799, 3799, 3329, 3329,
1565 3329, 3329, 3329, 3329, 3800, 3802, 3329, 3329, 3329, 3802,
1566 3329, 3329, 3329, 3329, 3329, 3329, 3779, 3329, 3329, 3329,
1567 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329,
1569 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329,
1570 3329, 3789, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329,
1571 3791, 3792, 3793, 3793, 3793, 3803, 3804, 3329, 3329, 3329,
1572 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329,
1573 3329, 3329, 3329, 3797, 3799, 3799, 3329, 3329, 3799, 3329,
1574 3329, 3329, 3329, 3329, 3329, 3800, 3329, 3329, 3329, 3329,
1575 3329, 3329, 3329, 3329, 3779, 3329, 3329, 3329, 3329, 3329,
1576 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329,
1577 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329,
1578 3329, 3329, 3791, 3792, 3793, 3805, 3806, 3803, 3804, 3329,
1580 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329,
1581 3329, 3799, 3799, 3329, 3329, 3329, 3329, 3329, 3329, 3329,
1582 3329, 3329, 3800, 3329, 3329, 3329, 3329, 3329, 3329, 3329,
1583 3329, 3329, 3329, 3779, 3329, 3329, 3329, 3329, 3329, 3329,
1584 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329,
1585 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3792, 3805,
1586 3793, 3807, 3806, 3808, 3793, 3329, 3329, 3329, 3329, 3329,
1587 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3799, 3799, 3329,
1588 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3800, 3329,
1589 3329, 3329, 3329, 3779, 3329, 3329, 3329, 3329, 3329, 3329,
1591 3329, 3329, 3329, 3329, 3329, 3329, 3792, 3807, 3329, 3808,
1592 3793, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329,
1593 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329,
1594 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329,
1595 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3792, 3329, 3329,
1596 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329,
1597 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329,
1598 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329,
1599 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3792, 3329, 3329,
1600 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329,
1602 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329,
1603 3329, 3329, 3329, 3329, 3329, 3792, 3329, 3329, 3329, 3329,
1604 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329,
1605 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329,
1606 3792, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329,
1607 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329,
1608 3329, 3329, 3329, 3792, 3329, 3329, 3329, 3329, 3329, 3329,
1609 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329,
1610 3329, 3329, 3329, 3329, 3792, 3329, 3329, 3329, 3329, 3329,
1611 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3792,
1613 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3792, 3329,
1614 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3792, 3792, 3329,
1615 3329, 3329, 3329, 3329, 3329, 3792, 3792, 3792, 3792, 3792,
1616 3792, 3792, 3792, 3792, 3792, 3792, 3792, 3792, 3792, 3792,
1617 3792, 3792, 3792, 3792, 3792, 3792, 3792, 3792, 3792, 3792,
1618 3792, 3792, 3792, 3792, 3792, 3792, 3792, 3792, 3792, 3792,
1619 3792, 3792, 3792, 3792, 3792, 3792, 3792, 3792, 3792, 3792,
1620 3792, 3792, 3792, 3792, 3792, 3792, 3792, 3792, 3792, 3792,
1621 3792, 3792, 3792, 3792, 3792, 3792, 3792, 3792, 3792, 3792,
1622 3792, 3792, 3792, 3792, 3792, 3792, 3792, 3792, 3792, 3792,
1624 3792, 3792, 3792, 3792, 3792, 3792, 3792, 3792, 3792, 3792,
1625 3792, 3792, 3792, 3792, 3792, 3792, 3792, 3792, 3792, 3792,
1626 3792, 3792, 3792, 3792, 3792, 3792, 3792, 3329, 0, 3329,
1627 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329,
1628 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329,
1629 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329,
1630 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329,
1631 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329,
1632 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329,
1633 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329,
1635 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329,
1636 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329,
1637 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329,
1638 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329,
1639 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329,
1640 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329,
1641 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329,
1642 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329,
1643 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329,
1644 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329,
1646 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329,
1647 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329,
1648 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329,
1649 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329,
1650 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329,
1651 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329,
1652 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329,
1653 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329,
1654 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329,
1655 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329,
1657 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329,
1658 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329,
1659 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329,
1660 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329,
1661 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329,
1662 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329,
1663 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329,
1664 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329,
1665 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329,
1666 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329,
1668 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329,
1669 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329,
1670 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329,
1671 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329,
1672 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329,
1673 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329,
1674 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329,
1675 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329,
1676 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329,
1677 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329,
1679 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329
1682 static yyconst flex_int16_t yy_nxt[11879] =
1684 3329, 242, 243, 242, 242, 243, 242, 242, 243, 242,
1685 242, 243, 242, 247, 243, 247, 253, 244, 250, 253,
1686 244, 250, 695, 245, 3329, 251, 245, 3329, 251, 248,
1687 247, 243, 247, 624, 254, 256, 257, 254, 256, 257,
1688 258, 259, 642, 258, 259, 624, 248, 263, 264, 625,
1689 260, 256, 257, 260, 261, 627, 258, 256, 257, 1312,
1690 261, 626, 258, 263, 264, 1313, 260, 275, 243, 275,
1691 661, 626, 260, 275, 243, 275, 275, 243, 275, 275,
1692 243, 275, 708, 276, 243, 243, 243, 709, 1666, 276,
1693 700, 265, 277, 1669, 668, 277, 623, 623, 623, 1670,
1695 278, 623, 623, 623, 623, 623, 623, 265, 266, 267,
1696 243, 267, 266, 266, 266, 266, 266, 266, 266, 268,
1697 266, 266, 266, 742, 266, 270, 266, 271, 266, 243,
1698 243, 243, 275, 243, 275, 275, 243, 275, 661, 275,
1699 243, 275, 275, 243, 275, 278, 627, 627, 276, 676,
1700 714, 276, 627, 266, 266, 279, 677, 760, 279, 623,
1701 623, 623, 626, 626, 272, 623, 623, 623, 626, 761,
1702 632, 715, 743, 273, 266, 267, 243, 267, 266, 266,
1703 266, 266, 266, 266, 266, 268, 266, 266, 266, 820,
1704 266, 270, 266, 271, 266, 243, 243, 243, 243, 243,
1706 243, 275, 243, 275, 821, 275, 243, 275, 243, 243,
1707 243, 280, 633, 870, 280, 828, 871, 277, 634, 266,
1708 266, 277, 627, 635, 281, 243, 243, 243, 636, 683,
1709 272, 275, 243, 275, 275, 243, 275, 976, 626, 273,
1710 977, 281, 275, 243, 275, 1671, 627, 279, 1672, 627,
1711 279, 275, 243, 275, 623, 623, 623, 729, 282, 623,
1712 623, 623, 626, 661, 678, 626, 1673, 282, 283, 284,
1713 243, 284, 283, 283, 283, 283, 283, 283, 283, 285,
1714 283, 283, 283, 847, 283, 287, 283, 288, 283, 293,
1715 243, 293, 293, 243, 293, 243, 243, 243, 733, 243,
1717 243, 243, 293, 243, 293, 294, 722, 895, 294, 668,
1718 1674, 295, 679, 283, 283, 295, 668, 627, 294, 289,
1719 723, 896, 290, 623, 623, 623, 623, 623, 623, 623,
1720 623, 623, 848, 626, 291, 283, 284, 243, 284, 283,
1721 283, 283, 283, 283, 283, 283, 285, 283, 283, 283,
1722 668, 283, 287, 283, 288, 283, 293, 243, 293, 293,
1723 243, 293, 293, 243, 293, 718, 305, 243, 305, 305,
1724 243, 305, 294, 719, 1675, 296, 883, 627, 296, 720,
1725 283, 283, 306, 740, 689, 306, 289, 741, 742, 290,
1726 623, 623, 623, 626, 623, 623, 623, 623, 623, 623,
1728 884, 291, 297, 298, 243, 298, 297, 297, 297, 297,
1729 297, 297, 297, 299, 297, 297, 297, 864, 297, 301,
1730 297, 302, 297, 317, 243, 317, 317, 243, 317, 329,
1731 243, 329, 865, 329, 243, 329, 243, 243, 243, 318,
1732 668, 1676, 318, 1682, 901, 330, 901, 297, 297, 330,
1733 627, 627, 295, 243, 243, 243, 623, 623, 623, 623,
1734 623, 623, 623, 623, 623, 805, 626, 626, 902, 295,
1735 884, 303, 297, 298, 243, 298, 297, 297, 297, 297,
1736 297, 297, 297, 299, 297, 297, 297, 883, 297, 301,
1737 297, 302, 297, 329, 243, 329, 329, 243, 329, 329,
1739 243, 329, 806, 329, 243, 329, 341, 243, 341, 330,
1740 785, 902, 330, 627, 786, 331, 1683, 297, 297, 331,
1741 710, 864, 342, 341, 243, 341, 623, 623, 623, 626,
1742 623, 623, 623, 623, 623, 623, 623, 623, 623, 342,
1743 1685, 303, 307, 308, 243, 308, 307, 307, 307, 307,
1744 307, 307, 307, 309, 307, 307, 307, 1089, 307, 311,
1745 307, 312, 307, 243, 243, 243, 243, 243, 243, 341,
1746 243, 341, 895, 341, 243, 341, 341, 243, 341, 295,
1747 627, 627, 295, 627, 627, 342, 909, 307, 307, 342,
1748 1686, 313, 343, 623, 623, 623, 626, 626, 314, 626,
1750 626, 315, 307, 308, 243, 308, 307, 307, 307, 307,
1751 307, 307, 307, 309, 307, 307, 307, 1689, 307, 311,
1752 307, 312, 307, 341, 243, 341, 357, 243, 357, 357,
1753 243, 357, 895, 375, 243, 375, 375, 243, 375, 343,
1754 753, 627, 358, 627, 627, 358, 913, 307, 307, 376,
1755 749, 313, 376, 623, 623, 623, 1690, 626, 314, 626,
1756 626, 315, 319, 320, 243, 320, 319, 319, 319, 319,
1757 319, 319, 319, 321, 319, 319, 319, 1693, 319, 323,
1758 319, 324, 319, 243, 243, 243, 243, 243, 243, 375,
1759 243, 375, 668, 375, 243, 375, 375, 243, 375, 278,
1761 1099, 1695, 278, 1698, 1424, 376, 724, 319, 319, 376,
1762 627, 627, 377, 325, 725, 762, 326, 767, 726, 727,
1763 623, 623, 623, 623, 623, 623, 626, 626, 327, 319,
1764 320, 243, 320, 319, 319, 319, 319, 319, 319, 319,
1765 321, 319, 319, 319, 1699, 319, 323, 319, 324, 319,
1766 375, 243, 375, 386, 243, 386, 386, 243, 386, 792,
1767 243, 243, 243, 243, 243, 243, 377, 668, 1447, 387,
1768 1703, 1704, 387, 1705, 319, 319, 278, 627, 627, 278,
1769 325, 1448, 792, 326, 623, 623, 623, 623, 623, 623,
1770 623, 623, 623, 626, 626, 327, 332, 333, 243, 333,
1772 332, 332, 332, 332, 332, 332, 332, 334, 332, 332,
1773 332, 794, 332, 336, 332, 337, 332, 386, 243, 386,
1774 386, 243, 386, 386, 243, 386, 792, 386, 243, 386,
1775 401, 243, 401, 387, 797, 1706, 387, 1707, 1708, 388,
1776 1711, 332, 332, 388, 627, 627, 402, 338, 623, 623,
1777 623, 623, 623, 623, 623, 623, 623, 623, 623, 623,
1778 626, 626, 339, 332, 333, 243, 333, 332, 332, 332,
1779 332, 332, 332, 332, 334, 332, 332, 332, 668, 332,
1780 336, 332, 337, 332, 401, 243, 401, 243, 243, 243,
1781 243, 243, 243, 805, 401, 243, 401, 401, 243, 401,
1783 402, 1712, 1713, 403, 788, 627, 403, 1714, 332, 332,
1784 402, 1129, 772, 402, 338, 623, 623, 623, 623, 623,
1785 623, 626, 623, 623, 623, 623, 623, 623, 1130, 339,
1786 344, 345, 243, 345, 344, 344, 344, 344, 344, 344,
1787 344, 346, 344, 344, 344, 668, 344, 348, 344, 349,
1788 344, 401, 243, 401, 401, 243, 401, 415, 243, 415,
1789 840, 415, 243, 415, 425, 243, 425, 404, 627, 627,
1790 404, 627, 627, 416, 1099, 344, 344, 416, 777, 350,
1791 426, 623, 623, 623, 626, 626, 351, 626, 626, 352,
1792 623, 623, 623, 353, 1628, 354, 355, 344, 345, 243,
1794 345, 344, 344, 344, 344, 344, 344, 344, 346, 344,
1795 344, 344, 668, 344, 348, 344, 349, 344, 425, 243,
1796 425, 243, 243, 243, 243, 243, 243, 895, 425, 243,
1797 425, 425, 243, 425, 426, 627, 627, 427, 627, 627,
1798 427, 914, 344, 344, 426, 787, 350, 426, 623, 623,
1799 623, 626, 626, 351, 626, 626, 352, 623, 623, 623,
1800 353, 1717, 354, 355, 359, 360, 243, 360, 359, 359,
1801 359, 359, 359, 359, 359, 361, 359, 359, 359, 362,
1802 359, 363, 359, 364, 359, 362, 362, 362, 362, 362,
1803 362, 362, 362, 362, 362, 362, 362, 362, 362, 362,
1805 362, 362, 362, 362, 362, 362, 362, 362, 362, 359,
1806 359, 362, 365, 366, 367, 362, 362, 362, 362, 362,
1807 368, 362, 362, 369, 362, 362, 362, 370, 362, 371,
1808 372, 373, 362, 362, 362, 362, 362, 362, 378, 379,
1809 243, 379, 378, 378, 378, 378, 378, 378, 378, 380,
1810 378, 378, 378, 1718, 378, 382, 378, 383, 378, 425,
1811 243, 425, 425, 243, 425, 440, 243, 440, 1722, 440,
1812 243, 440, 243, 243, 243, 428, 796, 627, 428, 1725,
1813 826, 441, 816, 378, 378, 441, 817, 827, 278, 668,
1814 818, 795, 847, 626, 384, 378, 379, 243, 379, 378,
1816 378, 378, 378, 378, 378, 378, 380, 378, 378, 378,
1817 1727, 378, 382, 378, 383, 378, 243, 243, 243, 440,
1818 243, 440, 440, 243, 440, 885, 440, 243, 440, 440,
1819 243, 440, 278, 1736, 627, 441, 886, 1737, 441, 887,
1820 378, 378, 442, 1738, 668, 442, 623, 623, 623, 3329,
1821 626, 384, 389, 390, 243, 390, 389, 389, 389, 389,
1822 389, 389, 389, 391, 389, 389, 389, 1739, 389, 393,
1823 389, 394, 389, 452, 243, 452, 452, 243, 452, 463,
1824 243, 463, 903, 463, 243, 463, 1741, 670, 627, 453,
1825 1099, 1749, 453, 904, 1447, 464, 887, 389, 389, 464,
1827 395, 655, 396, 671, 626, 665, 1101, 1453, 397, 623,
1828 623, 623, 623, 623, 623, 398, 792, 1129, 399, 389,
1829 390, 243, 390, 389, 389, 389, 389, 389, 389, 389,
1830 391, 389, 389, 389, 1261, 389, 393, 389, 394, 389,
1831 474, 243, 474, 474, 243, 474, 489, 243, 489, 885,
1832 489, 243, 489, 1751, 1754, 793, 475, 1406, 1755, 475,
1833 886, 1758, 490, 1033, 389, 389, 490, 395, 794, 396,
1834 795, 623, 623, 623, 1130, 397, 623, 623, 623, 623,
1835 623, 623, 398, 1760, 1761, 399, 405, 406, 243, 406,
1836 405, 405, 405, 405, 405, 405, 405, 407, 405, 405,
1838 405, 1763, 405, 409, 405, 410, 405, 243, 243, 243,
1839 243, 243, 243, 500, 243, 500, 1035, 500, 243, 500,
1840 500, 243, 500, 491, 1764, 1765, 491, 627, 627, 501,
1841 909, 405, 405, 501, 811, 822, 502, 411, 623, 623,
1842 623, 1766, 412, 626, 626, 623, 623, 623, 623, 623,
1843 623, 623, 623, 623, 413, 405, 406, 243, 406, 405,
1844 405, 405, 405, 405, 405, 405, 407, 405, 405, 405,
1845 1770, 405, 409, 405, 410, 405, 500, 243, 500, 243,
1846 243, 243, 243, 243, 243, 1771, 500, 243, 500, 500,
1847 243, 500, 502, 1772, 1774, 503, 627, 892, 503, 1778,
1849 405, 405, 501, 833, 893, 501, 411, 623, 623, 623,
1850 894, 412, 626, 623, 623, 623, 623, 623, 623, 623,
1851 623, 623, 1782, 413, 417, 418, 243, 418, 417, 417,
1852 417, 417, 417, 417, 417, 419, 417, 417, 417, 1786,
1853 417, 421, 417, 422, 417, 500, 243, 500, 500, 243,
1854 500, 243, 243, 243, 903, 243, 243, 243, 500, 243,
1855 500, 504, 1788, 1526, 504, 904, 1790, 427, 1033, 417,
1856 417, 427, 1792, 1793, 502, 1527, 1794, 423, 417, 418,
1857 243, 418, 417, 417, 417, 417, 417, 417, 417, 419,
1858 417, 417, 417, 1796, 417, 421, 417, 422, 417, 500,
1860 243, 500, 243, 243, 243, 243, 243, 243, 1803, 500,
1861 243, 500, 500, 243, 500, 502, 1572, 1807, 505, 1808,
1862 1810, 505, 1099, 417, 417, 504, 1631, 1820, 504, 1453,
1863 1821, 423, 429, 430, 243, 430, 429, 429, 429, 429,
1864 429, 429, 429, 431, 429, 429, 429, 1817, 429, 433,
1865 429, 434, 429, 500, 243, 500, 500, 243, 500, 519,
1866 243, 519, 1822, 519, 243, 519, 243, 243, 243, 506,
1867 1823, 1824, 506, 854, 1825, 520, 1826, 429, 429, 520,
1868 855, 435, 521, 623, 623, 623, 1827, 1828, 436, 626,
1869 1829, 437, 623, 623, 623, 623, 623, 623, 438, 429,
1871 430, 243, 430, 429, 429, 429, 429, 429, 429, 429,
1872 431, 429, 429, 429, 1830, 429, 433, 429, 434, 429,
1873 243, 243, 243, 519, 243, 519, 519, 243, 519, 1831,
1874 519, 243, 519, 519, 243, 519, 521, 1832, 1834, 520,
1875 627, 1835, 520, 1836, 429, 429, 522, 862, 435, 522,
1876 623, 623, 623, 1839, 1842, 436, 626, 1843, 437, 868,
1877 868, 868, 1118, 1118, 1118, 438, 443, 444, 243, 444,
1878 443, 443, 443, 443, 443, 443, 443, 445, 443, 443,
1879 443, 1844, 443, 447, 443, 448, 443, 532, 243, 532,
1880 532, 243, 532, 546, 243, 546, 1845, 546, 243, 546,
1882 557, 243, 557, 533, 1846, 1847, 533, 892, 908, 547,
1883 1848, 443, 443, 547, 893, 893, 558, 449, 869, 1851,
1884 899, 894, 450, 443, 444, 243, 444, 443, 443, 443,
1885 443, 443, 443, 443, 445, 443, 443, 443, 1860, 443,
1886 447, 443, 448, 443, 557, 243, 557, 243, 243, 243,
1887 243, 243, 243, 1865, 557, 243, 557, 557, 243, 557,
1888 558, 1866, 1883, 295, 908, 892, 295, 1889, 443, 443,
1889 558, 893, 893, 558, 449, 1890, 1891, 899, 1034, 450,
1890 454, 455, 243, 455, 454, 454, 454, 454, 454, 454,
1891 454, 456, 454, 454, 454, 1894, 454, 458, 454, 459,
1893 454, 557, 243, 557, 557, 243, 557, 569, 243, 569,
1894 1895, 569, 243, 569, 582, 243, 582, 559, 1896, 1900,
1895 559, 908, 1903, 570, 1904, 454, 454, 570, 893, 1907,
1896 583, 582, 243, 582, 1034, 1908, 460, 868, 868, 868,
1897 1914, 1103, 1139, 1139, 1139, 1920, 1921, 583, 1922, 461,
1898 454, 455, 243, 455, 454, 454, 454, 454, 454, 454,
1899 454, 456, 454, 454, 454, 1923, 454, 458, 454, 459,
1900 454, 243, 243, 243, 243, 243, 243, 582, 243, 582,
1901 1926, 582, 243, 582, 582, 243, 582, 278, 1215, 1932,
1902 278, 1934, 1940, 583, 1944, 454, 454, 583, 1216, 1947,
1904 584, 582, 243, 582, 1948, 1217, 460, 1110, 1110, 1110,
1905 1950, 1111, 1951, 1952, 1112, 1953, 1954, 584, 1955, 461,
1906 465, 466, 243, 466, 465, 465, 465, 465, 465, 465,
1907 465, 467, 465, 465, 465, 1956, 465, 469, 465, 470,
1908 465, 596, 243, 596, 596, 243, 596, 243, 243, 243,
1909 1958, 243, 243, 243, 596, 243, 596, 597, 1964, 1965,
1910 597, 1966, 1968, 598, 1970, 465, 465, 598, 1978, 1983,
1911 597, 1643, 1643, 1643, 1646, 1646, 1646, 1984, 1118, 1118,
1912 1118, 471, 1139, 1139, 1139, 1985, 472, 465, 466, 243,
1913 466, 465, 465, 465, 465, 465, 465, 465, 467, 465,
1915 465, 465, 1987, 465, 469, 465, 470, 465, 596, 243,
1916 596, 596, 243, 596, 596, 243, 596, 1644, 2005, 2006,
1917 1647, 876, 876, 876, 597, 2007, 2010, 599, 2011, 2013,
1918 599, 2008, 465, 465, 256, 257, 256, 257, 877, 258,
1919 753, 258, 1119, 1139, 1139, 1139, 1140, 2009, 471, 609,
1920 754, 609, 1099, 472, 476, 477, 243, 477, 476, 476,
1921 476, 476, 476, 476, 476, 478, 476, 476, 476, 2000,
1922 476, 480, 476, 481, 476, 621, 243, 621, 610, 646,
1923 610, 621, 243, 621, 2014, 648, 2015, 2016, 926, 926,
1924 926, 622, 655, 1114, 1114, 1114, 654, 622, 642, 476,
1926 476, 2017, 482, 483, 484, 927, 1631, 1119, 666, 2018,
1927 485, 1116, 2021, 486, 1118, 1118, 1118, 1650, 1650, 1650,
1928 487, 476, 477, 243, 477, 476, 476, 476, 476, 476,
1929 476, 476, 478, 476, 476, 476, 667, 476, 480, 476,
1930 481, 476, 940, 940, 940, 942, 942, 942, 2001, 2022,
1931 668, 2023, 669, 1631, 654, 953, 953, 953, 2024, 941,
1932 2025, 2027, 943, 1161, 1161, 1161, 476, 476, 2028, 482,
1933 483, 484, 954, 1653, 1653, 1653, 2026, 485, 1140, 2029,
1934 486, 1163, 1658, 1658, 1658, 2030, 2002, 487, 492, 493,
1935 243, 493, 492, 492, 492, 492, 492, 492, 492, 494,
1937 492, 492, 492, 2032, 492, 496, 492, 497, 492, 956,
1938 956, 956, 971, 971, 971, 978, 978, 978, 987, 987,
1939 987, 989, 989, 989, 2033, 2040, 957, 2042, 2044, 972,
1940 2065, 2069, 979, 492, 492, 988, 2070, 2071, 990, 998,
1941 998, 998, 1172, 1172, 1172, 2077, 1173, 2078, 2079, 1174,
1942 2083, 1664, 1664, 1664, 2084, 2087, 999, 498, 492, 493,
1943 243, 493, 492, 492, 492, 492, 492, 492, 492, 494,
1944 492, 492, 492, 2088, 492, 496, 492, 497, 492, 1006,
1945 1006, 1006, 1010, 1010, 1010, 1022, 1022, 1022, 1044, 1044,
1946 1044, 1050, 1050, 1050, 2092, 2095, 1007, 1665, 2099, 1011,
1948 2100, 2101, 1023, 492, 492, 1045, 2104, 2107, 1051, 1066,
1949 1066, 1066, 1198, 1198, 1198, 2111, 1199, 2112, 2113, 1200,
1950 2118, 1667, 1667, 1667, 2120, 2121, 1067, 498, 507, 508,
1951 243, 508, 507, 507, 507, 507, 507, 507, 507, 509,
1952 507, 507, 507, 2122, 507, 511, 507, 512, 507, 1072,
1953 1072, 1072, 1078, 1078, 1078, 1086, 1086, 1086, 876, 876,
1954 876, 1154, 1154, 1154, 2123, 2125, 1073, 1647, 2126, 1079,
1955 2129, 2131, 1087, 507, 507, 877, 2134, 2150, 1155, 2151,
1956 2152, 513, 2157, 514, 2158, 2161, 515, 1668, 1668, 1668,
1957 516, 1643, 1643, 1643, 517, 507, 508, 243, 508, 507,
1959 507, 507, 507, 507, 507, 507, 509, 507, 507, 507,
1960 2162, 507, 511, 507, 512, 507, 2163, 1114, 1114, 1114,
1961 1158, 1158, 1158, 2166, 1167, 1167, 1167, 3329, 3329, 3329,
1962 3329, 3329, 3329, 1988, 2175, 1116, 2176, 1159, 2159, 1989,
1963 507, 507, 1169, 1990, 3329, 1099, 2160, 3329, 513, 1991,
1964 514, 2168, 2177, 515, 1117, 2178, 1631, 516, 1646, 1646,
1965 1646, 517, 523, 524, 243, 524, 523, 523, 523, 523,
1966 523, 523, 523, 525, 523, 523, 523, 1156, 523, 527,
1967 523, 528, 523, 1161, 1161, 1161, 926, 926, 926, 1160,
1968 2181, 2164, 1157, 1167, 1167, 1167, 1176, 1176, 1176, 2165,
1970 2183, 1163, 2170, 927, 1180, 1180, 1180, 523, 523, 2184,
1971 2185, 1169, 2189, 2191, 1178, 1201, 1201, 1201, 529, 1202,
1972 1164, 1181, 1203, 1218, 1218, 1218, 2192, 1219, 2193, 2196,
1973 1220, 530, 523, 524, 243, 524, 523, 523, 523, 523,
1974 523, 523, 523, 525, 523, 523, 523, 2200, 523, 527,
1975 523, 528, 523, 1176, 1176, 1176, 2201, 1170, 1184, 1184,
1976 1184, 1186, 1186, 1186, 1186, 1186, 1186, 3329, 3329, 3329,
1977 2203, 1178, 1190, 1190, 1190, 1185, 2205, 523, 523, 1188,
1978 2216, 2217, 1188, 2218, 3329, 1833, 1833, 1833, 529, 1191,
1979 1222, 1222, 1222, 2219, 1223, 2223, 2224, 1224, 2225, 2226,
1981 1179, 530, 534, 535, 243, 535, 534, 534, 534, 534,
1982 534, 534, 534, 536, 534, 534, 534, 1182, 534, 538,
1983 534, 539, 534, 1192, 1192, 1192, 1194, 1194, 1194, 940,
1984 940, 940, 1183, 2232, 2233, 1189, 1194, 1194, 1194, 2234,
1985 1193, 1210, 1210, 1210, 1196, 2237, 941, 534, 534, 942,
1986 942, 942, 2241, 1631, 1196, 2242, 540, 2243, 541, 1212,
1987 2244, 2247, 542, 1650, 1650, 1650, 943, 543, 544, 534,
1988 535, 243, 535, 534, 534, 534, 534, 534, 534, 534,
1989 536, 534, 534, 534, 2169, 534, 538, 534, 539, 534,
1990 2248, 1204, 1204, 1204, 2249, 953, 953, 953, 2250, 3329,
1992 3329, 3329, 3329, 3329, 3329, 2251, 2263, 1197, 1205, 3329,
1993 3329, 3329, 954, 2264, 534, 534, 3329, 2268, 2271, 3329,
1994 1241, 1241, 1241, 540, 1242, 541, 3329, 1243, 2272, 542,
1995 1667, 1667, 1667, 2278, 543, 544, 548, 549, 243, 549,
1996 548, 548, 548, 548, 548, 548, 548, 550, 548, 548,
1997 548, 1206, 548, 552, 548, 553, 548, 1207, 2283, 2285,
1998 1208, 2286, 2287, 956, 956, 956, 3329, 3329, 3329, 1225,
1999 1225, 1225, 1237, 1237, 1237, 2291, 1678, 1210, 1210, 1210,
2000 957, 548, 548, 3329, 2292, 2293, 1226, 554, 2294, 2295,
2001 1239, 2296, 1251, 1251, 1251, 1212, 1252, 2297, 2298, 1253,
2003 2299, 2300, 555, 548, 549, 243, 549, 548, 548, 548,
2004 548, 548, 548, 548, 550, 548, 548, 548, 1209, 548,
2005 552, 548, 553, 548, 1213, 2317, 2318, 1237, 1237, 1237,
2006 971, 971, 971, 1244, 1244, 1244, 2319, 1244, 1244, 1244,
2007 978, 978, 978, 2321, 2323, 1239, 2324, 972, 548, 548,
2008 2326, 1246, 2327, 2328, 554, 1246, 1631, 979, 1263, 1263,
2009 1263, 1631, 1264, 2329, 2330, 1265, 1653, 1653, 1653, 555,
2010 560, 561, 243, 561, 560, 560, 560, 560, 560, 560,
2011 560, 562, 560, 560, 560, 1240, 560, 564, 560, 565,
2012 560, 1257, 1257, 1257, 1257, 1257, 1257, 1992, 1247, 2303,
2014 987, 987, 987, 1993, 989, 989, 989, 1994, 2304, 1259,
2015 2331, 2343, 1259, 1995, 2344, 560, 560, 988, 2345, 2350,
2016 566, 990, 1658, 1658, 1658, 2351, 567, 560, 561, 243,
2017 561, 560, 560, 560, 560, 560, 560, 560, 562, 560,
2018 560, 560, 2346, 560, 564, 560, 565, 560, 2352, 1266,
2019 1266, 1266, 2347, 1267, 2358, 1260, 1268, 1269, 1269, 1269,
2020 1269, 1269, 1269, 1274, 1274, 1274, 2359, 1279, 1279, 1279,
2021 2360, 1280, 560, 560, 1281, 1271, 2376, 566, 1271, 2377,
2022 2378, 1276, 2394, 567, 571, 572, 243, 572, 571, 571,
2023 571, 571, 571, 571, 571, 573, 571, 571, 571, 2395,
2025 571, 575, 571, 576, 571, 2396, 2399, 1274, 1274, 1274,
2026 998, 998, 998, 1285, 1285, 1285, 2401, 2402, 1285, 1285,
2027 1285, 1272, 1006, 1006, 1006, 1276, 2403, 999, 2404, 571,
2028 571, 1287, 577, 2405, 578, 2406, 1287, 2407, 2408, 1007,
2029 579, 1290, 1290, 1290, 2409, 1291, 2410, 2411, 1292, 2412,
2030 2417, 580, 571, 572, 243, 572, 571, 571, 571, 571,
2031 571, 571, 571, 573, 571, 571, 571, 1277, 571, 575,
2032 571, 576, 571, 1288, 1293, 1293, 1293, 1010, 1010, 1010,
2033 2418, 1301, 1301, 1301, 2421, 2422, 1293, 1293, 1293, 1297,
2034 1297, 1297, 1295, 1298, 1011, 2423, 1299, 571, 571, 1303,
2036 577, 2419, 578, 1631, 1295, 1315, 1315, 1315, 579, 1316,
2037 2420, 1631, 1317, 1840, 1840, 1840, 1664, 1664, 1664, 580,
2038 585, 586, 243, 586, 585, 585, 585, 585, 585, 585,
2039 585, 587, 585, 585, 585, 2415, 585, 589, 585, 590,
2040 585, 1296, 1307, 1307, 1307, 1022, 1022, 1022, 2416, 1301,
2041 1301, 1301, 2424, 1307, 1307, 1307, 1318, 1318, 1318, 1841,
2042 1309, 2427, 1023, 2425, 2428, 585, 585, 1303, 2429, 2430,
2043 591, 1309, 2426, 1319, 2432, 2433, 592, 1345, 1345, 1345,
2044 593, 1346, 2434, 2435, 1347, 2436, 594, 585, 586, 243,
2045 586, 585, 585, 585, 585, 585, 585, 585, 587, 585,
2047 585, 585, 2438, 585, 589, 585, 590, 585, 2439, 2440,
2048 1304, 1322, 1322, 1322, 1310, 1667, 1667, 1667, 1322, 1322,
2049 1322, 1328, 1328, 1328, 1328, 1328, 1328, 2450, 2451, 1324,
2050 2452, 2453, 585, 585, 2454, 2458, 1324, 591, 2461, 1330,
2051 2466, 2467, 1330, 592, 1354, 1354, 1354, 593, 1355, 2474,
2052 2475, 1356, 2476, 594, 600, 601, 243, 601, 600, 600,
2053 600, 600, 600, 600, 600, 602, 600, 600, 600, 1325,
2054 600, 604, 600, 605, 600, 1340, 1340, 1340, 1340, 1340,
2055 1340, 2462, 1331, 2488, 1044, 1044, 1044, 1349, 1349, 1349,
2056 1349, 1349, 1349, 1342, 2463, 2489, 1342, 2505, 2464, 600,
2058 600, 1045, 1379, 1379, 1379, 1351, 1380, 606, 1351, 1381,
2059 607, 2465, 1837, 1837, 1837, 2506, 2507, 608, 600, 601,
2060 243, 601, 600, 600, 600, 600, 600, 600, 600, 602,
2061 600, 600, 600, 2508, 600, 604, 600, 605, 600, 1050,
2062 1050, 1050, 1343, 1357, 1357, 1357, 2510, 2511, 1360, 1360,
2063 1360, 1365, 1365, 1365, 1352, 2512, 1051, 1365, 1365, 1365,
2064 1358, 2513, 2514, 600, 600, 1361, 1388, 1388, 1388, 1367,
2065 1389, 606, 2515, 1390, 607, 1367, 1838, 1668, 1668, 1668,
2066 2516, 608, 611, 612, 243, 612, 611, 611, 611, 611,
2067 611, 611, 611, 613, 611, 611, 611, 2517, 611, 615,
2069 611, 616, 611, 2518, 1368, 1369, 1369, 1369, 1371, 1371,
2070 1371, 2519, 3329, 3329, 3329, 1374, 1374, 1374, 1374, 1374,
2071 1374, 2520, 1370, 2521, 2526, 1372, 2527, 611, 611, 3329,
2072 1066, 1066, 1066, 1376, 617, 1631, 1376, 1397, 1397, 1397,
2073 618, 1398, 2528, 2529, 1399, 2530, 2531, 1067, 2532, 619,
2074 611, 612, 243, 612, 611, 611, 611, 611, 611, 611,
2075 611, 613, 611, 611, 611, 2533, 611, 615, 611, 616,
2076 611, 1373, 1382, 1382, 1382, 1382, 1382, 1382, 2525, 1377,
2077 1072, 1072, 1072, 1392, 1392, 1392, 1392, 1392, 1392, 1631,
2078 1384, 2534, 2535, 1384, 2536, 611, 611, 1073, 1078, 1078,
2080 1078, 1394, 617, 1099, 1394, 1402, 1402, 1402, 618, 1402,
2081 1402, 1402, 1086, 1086, 1086, 1079, 2537, 619, 627, 1852,
2082 1852, 1852, 2538, 1404, 2539, 642, 2524, 1404, 2541, 1087,
2083 1413, 1413, 1413, 2542, 626, 643, 1385, 1408, 1408, 1408,
2084 2543, 1409, 2544, 2523, 1410, 1917, 1917, 1917, 1415, 1413,
2085 1413, 1413, 1395, 1420, 1420, 1420, 2545, 2546, 1420, 1420,
2086 1420, 2551, 644, 645, 646, 1853, 2552, 1415, 2553, 647,
2087 648, 1422, 2556, 649, 650, 1405, 1422, 651, 2557, 652,
2088 653, 654, 627, 1110, 1110, 1110, 2561, 1111, 2564, 2567,
2089 1112, 1114, 1114, 1114, 1114, 1114, 1114, 2568, 626, 656,
2091 1431, 1431, 1431, 1154, 1154, 1154, 1158, 1158, 1158, 1116,
2092 2562, 2576, 1116, 1416, 1161, 1161, 1161, 2577, 1432, 2578,
2093 1155, 2563, 1423, 1159, 2565, 2589, 644, 657, 658, 2012,
2094 2012, 2012, 1163, 659, 660, 2566, 2612, 661, 650, 2601,
2095 2613, 662, 2618, 663, 664, 665, 1468, 1468, 1468, 2602,
2096 1469, 2619, 2603, 1470, 1473, 1473, 1473, 2620, 1474, 2621,
2097 2622, 1475, 1161, 1161, 1161, 1161, 1161, 1161, 1167, 1167,
2098 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1172, 1172, 1172,
2099 1163, 1173, 2623, 1163, 1174, 2624, 1169, 2625, 2626, 1169,
2100 2627, 2632, 1169, 1176, 1176, 1176, 1176, 1176, 1176, 1176,
2102 1176, 1176, 1180, 1180, 1180, 1484, 1484, 1484, 2633, 1485,
2103 2634, 1178, 1486, 2635, 1178, 2636, 2637, 1178, 2638, 1181,
2104 1184, 1184, 1184, 2639, 1489, 1489, 1489, 1480, 1490, 1477,
2105 2640, 1491, 1186, 1186, 1186, 2641, 2642, 1185, 1186, 1186,
2106 1186, 1186, 1186, 1186, 1190, 1190, 1190, 2604, 1483, 2643,
2107 1188, 1493, 1493, 1493, 2644, 1494, 1188, 2605, 1495, 1188,
2108 2606, 1191, 1192, 1192, 1192, 1496, 1496, 1496, 1631, 1497,
2109 1631, 1099, 1498, 1194, 1194, 1194, 1194, 1194, 1194, 1193,
2110 1194, 1194, 1194, 1198, 1198, 1198, 2646, 1199, 2647, 2648,
2111 1200, 1196, 2650, 2651, 1196, 1201, 1201, 1201, 1196, 1202,
2113 2629, 2657, 1203, 1492, 1204, 1204, 1204, 1500, 1500, 1500,
2114 2630, 1501, 2631, 2658, 1502, 1210, 1210, 1210, 1210, 1210,
2115 1210, 1205, 1210, 1210, 1210, 1218, 1218, 1218, 2666, 1219,
2116 2667, 2668, 1220, 1212, 2669, 2670, 1212, 1512, 1512, 1512,
2117 1212, 2671, 1499, 1222, 1222, 1222, 2672, 1223, 2673, 2674,
2118 1224, 1225, 1225, 1225, 1513, 1514, 1514, 1514, 2678, 1515,
2119 2681, 2682, 1516, 1237, 1237, 1237, 2305, 2306, 1226, 2307,
2120 1507, 1237, 1237, 1237, 1237, 1237, 1237, 2308, 1241, 1241,
2121 1241, 1239, 1242, 2683, 2309, 1243, 1244, 1244, 1244, 1239,
2122 2684, 2685, 1239, 1244, 1244, 1244, 1244, 1244, 1244, 1532,
2124 1532, 1532, 2686, 2687, 1246, 1251, 1251, 1251, 2690, 1252,
2125 2698, 1246, 1253, 2699, 1246, 2702, 1533, 1257, 1257, 1257,
2126 1257, 1257, 1257, 2582, 1257, 1257, 1257, 1539, 1539, 1539,
2127 1263, 1263, 1263, 2583, 1264, 1259, 2703, 1265, 1259, 2584,
2128 2721, 1528, 1259, 2722, 1540, 1266, 1266, 1266, 2723, 1267,
2129 2724, 2725, 1268, 1269, 1269, 1269, 1529, 1269, 1269, 1269,
2130 1269, 1269, 1269, 1542, 1542, 1542, 1274, 1274, 1274, 2726,
2131 2727, 1271, 1274, 1274, 1274, 1271, 2728, 1631, 1271, 2734,
2132 1543, 1274, 1274, 1274, 1276, 1285, 1285, 1285, 2735, 1537,
2133 1276, 1279, 1279, 1279, 1099, 1280, 2736, 2694, 1281, 1276,
2135 1285, 1285, 1285, 1287, 1285, 1285, 1285, 1290, 1290, 1290,
2136 2695, 1291, 2731, 2585, 1292, 1293, 1293, 1293, 1287, 1293,
2137 1293, 1293, 1287, 2586, 2737, 1541, 1293, 1293, 1293, 2587,
2138 1544, 2738, 2739, 1295, 1297, 1297, 1297, 1295, 1298, 2740,
2139 2741, 1299, 2730, 2742, 1295, 1301, 1301, 1301, 1301, 1301,
2140 1301, 1301, 1301, 1301, 1554, 1554, 1554, 3329, 3329, 3329,
2141 1307, 1307, 1307, 1303, 1549, 2743, 1303, 2744, 2745, 1303,
2142 2746, 1555, 2748, 2749, 3329, 1307, 1307, 1307, 1309, 1307,
2143 1307, 1307, 2751, 1315, 1315, 1315, 1551, 1316, 2759, 2760,
2144 1317, 2767, 2768, 1309, 1318, 1318, 1318, 1309, 1562, 1562,
2146 1562, 1553, 1563, 2769, 1556, 1564, 1322, 1322, 1322, 2770,
2147 2771, 1319, 1322, 1322, 1322, 1322, 1322, 1322, 1328, 1328,
2148 1328, 1328, 1328, 1328, 1324, 1328, 1328, 1328, 2752, 2772,
2149 1324, 2696, 2700, 1324, 2773, 2774, 1330, 2775, 2753, 1330,
2150 1575, 1575, 1575, 1330, 2697, 2701, 1557, 1340, 1340, 1340,
2151 1340, 1340, 1340, 1340, 1340, 1340, 2704, 1576, 2776, 2780,
2152 1345, 1345, 1345, 2781, 1346, 1342, 1567, 1347, 1342, 2705,
2153 2782, 1342, 1570, 1349, 1349, 1349, 1349, 1349, 1349, 1349,
2154 1349, 1349, 1354, 1354, 1354, 2754, 1355, 2783, 2784, 1356,
2155 2785, 1351, 2786, 2787, 1351, 2755, 2788, 1351, 1357, 1357,
2157 1357, 1585, 1585, 1585, 2789, 1586, 2790, 2791, 1587, 1588,
2158 1588, 1588, 2792, 2793, 1580, 1358, 1360, 1360, 1360, 2794,
2159 1590, 1590, 1590, 2795, 1591, 2796, 1589, 1592, 1594, 1594,
2160 1594, 2797, 2798, 1361, 1365, 1365, 1365, 1365, 1365, 1365,
2161 1583, 1365, 1365, 1365, 2799, 1595, 1369, 1369, 1369, 1598,
2162 1598, 1598, 1367, 1599, 2813, 1367, 1600, 2802, 2814, 1367,
2163 1371, 1371, 1371, 1370, 1601, 1601, 1601, 2803, 1602, 2815,
2164 2816, 1603, 1374, 1374, 1374, 2817, 2818, 1372, 1374, 1374,
2165 1374, 1374, 1374, 1374, 1379, 1379, 1379, 2804, 1380, 2819,
2166 1376, 1381, 1382, 1382, 1382, 2820, 1376, 2805, 2828, 1376,
2168 2829, 1597, 1382, 1382, 1382, 1382, 1382, 1382, 2830, 1099,
2169 1384, 1388, 1388, 1388, 2831, 1389, 2832, 2833, 1390, 2834,
2170 1384, 2835, 2840, 1384, 1392, 1392, 1392, 1392, 1392, 1392,
2171 2841, 1392, 1392, 1392, 1397, 1397, 1397, 2842, 1398, 2843,
2172 2845, 1399, 1394, 2822, 2846, 1394, 2849, 2850, 1605, 1394,
2173 1614, 1614, 1614, 1402, 1402, 1402, 1402, 1402, 1402, 1402,
2174 1402, 1402, 1618, 1618, 1618, 2851, 2852, 1615, 3329, 3329,
2175 3329, 1404, 1607, 2853, 1404, 2854, 2855, 1404, 2856, 1619,
2176 1408, 1408, 1408, 2861, 1409, 3329, 2862, 1410, 1413, 1413,
2177 1413, 2863, 1611, 1413, 1413, 1413, 1413, 1413, 1413, 1624,
2179 1624, 1624, 2864, 1420, 1420, 1420, 1415, 1420, 1420, 1420,
2180 2865, 1415, 2866, 2867, 1415, 2868, 1625, 1420, 1420, 1420,
2181 1616, 1422, 1630, 1630, 1630, 1422, 1431, 1431, 1431, 1620,
2182 1468, 1468, 1468, 2869, 1469, 1422, 2870, 1470, 2871, 2872,
2183 1631, 1632, 2873, 1622, 1432, 1473, 1473, 1473, 2874, 1474,
2184 2875, 2876, 1475, 1161, 1161, 1161, 1679, 1679, 1679, 1167,
2185 1167, 1167, 2877, 2881, 1627, 1176, 1176, 1176, 1484, 1484,
2186 1484, 1163, 1485, 1680, 2882, 1486, 2883, 1169, 1489, 1489,
2187 1489, 2884, 1490, 1178, 2887, 1491, 1186, 1186, 1186, 1493,
2188 1493, 1493, 2888, 1494, 2889, 2890, 1495, 2891, 1496, 1496,
2190 1496, 2892, 1497, 2900, 1188, 1498, 1194, 1194, 1194, 1500,
2191 1500, 1500, 2901, 1501, 1677, 2902, 1502, 1691, 1691, 1691,
2192 2903, 2904, 1684, 2905, 1196, 2906, 1681, 1210, 1210, 1210,
2193 1696, 1696, 1696, 1687, 1692, 1512, 1512, 1512, 1099, 1700,
2194 1700, 1700, 2907, 1701, 2908, 1212, 1702, 1697, 1709, 1709,
2195 1709, 2909, 1513, 1688, 1514, 1514, 1514, 2912, 1515, 2913,
2196 2919, 1516, 1237, 1237, 1237, 1710, 1244, 1244, 1244, 1532,
2197 1532, 1532, 1719, 1719, 1719, 2920, 1720, 2921, 2922, 1721,
2198 1239, 2894, 1694, 2923, 1246, 2930, 1533, 1723, 1723, 1723,
2199 1257, 1257, 1257, 1539, 1539, 1539, 1728, 1728, 1728, 2931,
2201 1729, 2932, 2933, 1730, 1724, 1269, 1269, 1269, 1259, 2934,
2202 1540, 1542, 1542, 1542, 2935, 1732, 1732, 1732, 1716, 1733,
2203 2936, 2937, 1734, 1271, 1274, 1274, 1274, 1715, 1543, 1285,
2204 1285, 1285, 1293, 1293, 1293, 1743, 1743, 1743, 2938, 1301,
2205 1301, 1301, 1276, 1554, 1554, 1554, 2939, 1287, 2310, 2311,
2206 1295, 2312, 1744, 1752, 1752, 1752, 1726, 1303, 2940, 2313,
2207 1555, 1746, 1746, 1746, 2941, 1747, 2314, 2942, 1748, 2943,
2208 1753, 1731, 2944, 1307, 1307, 1307, 1562, 1562, 1562, 2945,
2209 1563, 2946, 1735, 1564, 2947, 2948, 1740, 2949, 2950, 1742,
2210 1745, 1309, 1756, 1756, 1756, 1322, 1322, 1322, 1328, 1328,
2212 1328, 1575, 1575, 1575, 1767, 1767, 1767, 2951, 1768, 1757,
2213 2952, 1769, 2953, 1324, 2954, 2955, 1330, 2956, 1576, 1340,
2214 1340, 1340, 1775, 1775, 1775, 1349, 1349, 1349, 1585, 1585,
2215 1585, 2969, 1586, 1750, 1099, 1587, 2961, 1342, 2961, 1776,
2216 1588, 1588, 1588, 1351, 1779, 1779, 1779, 2970, 1780, 2964,
2217 2962, 1781, 2974, 2975, 1590, 1590, 1590, 1589, 1591, 1759,
2218 2976, 1592, 2977, 2978, 1762, 1594, 1594, 1594, 1773, 1783,
2219 1783, 1783, 2979, 1784, 2987, 2988, 1785, 1365, 1365, 1365,
2220 2959, 2989, 1595, 2994, 1598, 1598, 1598, 1777, 1599, 2995,
2221 2996, 1600, 1601, 1601, 1601, 1367, 1602, 2997, 2998, 1603,
2223 1374, 1374, 1374, 1382, 1382, 1382, 1392, 1392, 1392, 1797,
2224 1797, 1797, 1614, 1614, 1614, 1799, 1799, 1799, 1376, 1800,
2225 2999, 1384, 1801, 3000, 1394, 3001, 1798, 1787, 3002, 1615,
2226 1402, 1402, 1402, 1618, 1618, 1618, 1804, 1804, 1804, 3003,
2227 1805, 3004, 3005, 1806, 1413, 1413, 1413, 2980, 1404, 3006,
2228 1619, 1624, 1624, 1624, 1811, 1811, 1811, 3009, 1812, 2981,
2229 3009, 1813, 1415, 1814, 1814, 1814, 1789, 3012, 1625, 1791,
2230 1795, 1420, 1420, 1420, 1630, 1630, 1630, 1849, 1849, 1849,
2231 1815, 1837, 1837, 1837, 1849, 1849, 1849, 1631, 1632, 1422,
2232 3013, 1099, 1631, 1809, 1802, 1854, 1854, 1854, 1856, 1856,
2234 1856, 3329, 3329, 3329, 1161, 1161, 1161, 1679, 1679, 1679,
2235 2966, 2982, 1855, 3016, 3017, 1857, 3026, 2990, 3329, 3029,
2236 1816, 3030, 1163, 2983, 1680, 1818, 1861, 1861, 1861, 2991,
2237 1862, 2967, 3007, 1863, 1167, 1167, 1167, 1176, 1176, 1176,
2238 2961, 1850, 1819, 3031, 2968, 1850, 3036, 3039, 1838, 1868,
2239 1868, 1868, 1169, 3042, 2962, 1178, 1870, 1870, 1870, 1186,
2240 1186, 1186, 1194, 1194, 1194, 1858, 1869, 1874, 1874, 1874,
2241 3043, 1859, 3018, 1871, 3329, 3329, 3329, 1188, 3014, 3044,
2242 1196, 1691, 1691, 1691, 1875, 1867, 2961, 3019, 1877, 1877,
2243 1877, 3329, 1878, 1864, 3024, 1879, 3015, 2964, 1692, 1880,
2245 1880, 1880, 1210, 1210, 1210, 1696, 1696, 1696, 1884, 1884,
2246 1884, 2992, 1885, 3025, 3045, 1886, 1881, 1887, 1887, 1887,
2247 1212, 3046, 1697, 2993, 1872, 3047, 3009, 1873, 3049, 1700,
2248 1700, 1700, 1876, 1701, 1888, 3009, 1702, 1892, 1892, 1892,
2249 1709, 1709, 1709, 1897, 1897, 1897, 3050, 1898, 3027, 3051,
2250 1899, 1901, 1901, 1901, 1893, 3052, 3053, 1710, 1237, 1237,
2251 1237, 3054, 1882, 1244, 1244, 1244, 3055, 3028, 1902, 3034,
2252 1719, 1719, 1719, 3062, 1720, 2971, 1239, 1721, 1909, 1909,
2253 1909, 1246, 1723, 1723, 1723, 1911, 1911, 1911, 3035, 1912,
2254 3063, 3064, 1913, 2972, 3065, 1910, 1915, 1915, 1915, 1724,
2256 1728, 1728, 1728, 3066, 1729, 3067, 2973, 1730, 1269, 1269,
2257 1269, 1274, 1274, 1274, 1916, 1732, 1732, 1732, 1906, 1733,
2258 3068, 3069, 1734, 3037, 1905, 3073, 1271, 3074, 3075, 1276,
2259 1924, 1924, 1924, 1293, 1293, 1293, 1743, 1743, 1743, 1928,
2260 1928, 1928, 3038, 1929, 3076, 3077, 1930, 3078, 1925, 3082,
2261 3083, 1295, 3084, 1744, 1918, 1301, 1301, 1301, 1746, 1746,
2262 1746, 3085, 1747, 3086, 3087, 1748, 1307, 1307, 1307, 1752,
2263 1752, 1752, 3089, 1303, 1938, 1938, 1938, 3090, 1919, 1927,
2264 3091, 1935, 1935, 1935, 1309, 1936, 1753, 3092, 1937, 3093,
2265 3094, 1939, 1756, 1756, 1756, 1941, 1941, 1941, 3095, 1942,
2267 3100, 3101, 1943, 1945, 1945, 1945, 1328, 1328, 1328, 1757,
2268 1767, 1767, 1767, 1931, 1768, 3102, 3103, 1769, 1340, 1340,
2269 1340, 1946, 3104, 3105, 1330, 1775, 1775, 1775, 1962, 1962,
2270 1962, 3106, 1933, 1959, 1959, 1959, 1342, 1960, 3107, 3096,
2271 1961, 3108, 1776, 1779, 1779, 1779, 1963, 1780, 3109, 3110,
2272 1781, 3097, 1783, 1783, 1783, 3111, 1784, 3112, 1949, 1785,
2273 1365, 1365, 1365, 1374, 1374, 1374, 1382, 1382, 1382, 1957,
2274 1972, 1972, 1972, 3329, 3329, 3329, 3098, 3113, 1367, 3114,
2275 3115, 1376, 1099, 3117, 1384, 3118, 3119, 1973, 3099, 3120,
2276 3329, 1975, 1975, 1975, 1392, 1392, 1392, 3121, 1797, 1797,
2278 1797, 3122, 1979, 1979, 1979, 3123, 1980, 3116, 1976, 1981,
2279 3124, 3125, 1394, 3126, 1969, 1798, 3127, 1971, 1799, 1799,
2280 1799, 1967, 1800, 3128, 3129, 1801, 1402, 1402, 1402, 1804,
2281 1804, 1804, 3130, 1805, 3131, 3132, 1806, 3133, 3134, 1974,
2282 3135, 1977, 3136, 3137, 1404, 1413, 1413, 1413, 1811, 1811,
2283 1811, 3138, 1812, 3139, 3140, 1813, 3142, 1814, 1814, 1814,
2284 1996, 1996, 1996, 1415, 1997, 1099, 3143, 1998, 1420, 1420,
2285 1420, 3144, 3145, 1982, 1815, 2003, 2003, 2003, 1833, 1833,
2286 1833, 2019, 2019, 2019, 3141, 3146, 1422, 1837, 1837, 1837,
2287 3147, 3148, 2004, 2020, 2020, 2020, 1986, 1840, 1840, 1840,
2289 1849, 1849, 1849, 2031, 2031, 2031, 1852, 1852, 1852, 1854,
2290 1854, 1854, 3149, 2034, 2034, 2034, 3150, 2035, 3151, 1999,
2291 2036, 1856, 1856, 1856, 3152, 3153, 1855, 2037, 2037, 2037,
2292 3154, 2038, 3155, 3156, 2039, 1161, 1161, 1161, 1857, 1861,
2293 1861, 1861, 3157, 1862, 3158, 3159, 1863, 1167, 1167, 1167,
2294 2045, 2045, 2045, 1163, 1176, 1176, 1176, 1868, 1868, 1868,
2295 3160, 3161, 2048, 2048, 2048, 1169, 2049, 2046, 3162, 2050,
2296 3163, 3165, 1178, 3166, 1869, 1870, 1870, 1870, 2051, 2051,
2297 2051, 3167, 2052, 1099, 3168, 2053, 1186, 1186, 1186, 1194,
2298 1194, 1194, 1871, 1874, 1874, 1874, 3169, 3170, 2043, 3171,
2300 3172, 2041, 3173, 3164, 1188, 3174, 3175, 1196, 3176, 3177,
2301 1875, 3178, 2056, 2056, 2056, 2047, 2057, 3179, 3180, 2058,
2302 2059, 2059, 2059, 1877, 1877, 1877, 3181, 1878, 3182, 3183,
2303 1879, 1880, 1880, 1880, 2061, 2061, 2061, 2060, 2062, 3184,
2304 3186, 2063, 1210, 1210, 1210, 1884, 1884, 1884, 1881, 1885,
2305 3187, 2054, 1886, 1099, 2055, 1887, 1887, 1887, 3188, 3185,
2306 1212, 2066, 2066, 2066, 3189, 2067, 3190, 3191, 2068, 1892,
2307 1892, 1892, 1888, 2072, 2072, 2072, 3192, 2073, 3193, 3194,
2308 2074, 2075, 2075, 2075, 3195, 3196, 1893, 1897, 1897, 1897,
2309 3197, 1898, 3198, 2064, 1899, 1901, 1901, 1901, 2076, 2080,
2311 2080, 2080, 3199, 2081, 3201, 3202, 2082, 1237, 1237, 1237,
2312 1099, 3203, 1902, 1244, 1244, 1244, 1909, 1909, 1909, 2089,
2313 2089, 2089, 3204, 2090, 3200, 1239, 2091, 3205, 1911, 1911,
2314 1911, 1246, 1912, 1910, 3206, 1913, 1915, 1915, 1915, 1917,
2315 1917, 1917, 1269, 1269, 1269, 1274, 1274, 1274, 2096, 2096,
2316 2096, 1924, 1924, 1924, 1916, 1293, 1293, 1293, 2085, 3207,
2317 1271, 3208, 3210, 1276, 3211, 2097, 2086, 3212, 3213, 1925,
2318 1928, 1928, 1928, 1295, 1929, 3214, 3215, 1930, 1301, 1301,
2319 1301, 2105, 2105, 2105, 1935, 1935, 1935, 3216, 1936, 3217,
2320 3220, 1937, 3221, 3222, 2098, 2094, 1303, 3223, 3224, 2106,
2322 2093, 1938, 1938, 1938, 2102, 2108, 2108, 2108, 3225, 2109,
2323 1099, 3236, 2110, 1941, 1941, 1941, 1099, 1942, 1939, 1099,
2324 1943, 1945, 1945, 1945, 2103, 2114, 2114, 2114, 1328, 1328,
2325 1328, 2117, 2117, 2117, 2119, 2119, 2119, 1099, 1099, 1946,
2326 1099, 1099, 2115, 1340, 1340, 1340, 1330, 1959, 1959, 1959,
2327 1663, 1960, 3226, 3260, 1961, 1962, 1962, 1962, 2127, 2127,
2328 2127, 1342, 1365, 1365, 1365, 2132, 2132, 2132, 1382, 1382,
2329 1382, 1099, 1099, 1963, 3227, 2128, 1972, 1972, 1972, 3237,
2330 1367, 1099, 3244, 2133, 1099, 3228, 1384, 1099, 3229, 2116,
2331 2136, 2136, 2136, 1973, 2137, 1099, 3238, 2138, 2139, 2139,
2333 2139, 1975, 1975, 1975, 1099, 2142, 2142, 2142, 2124, 2143,
2334 3234, 1099, 2144, 1099, 1099, 2140, 3246, 1099, 1976, 3230,
2335 3231, 2130, 1392, 1392, 1392, 2146, 2146, 2146, 3232, 1979,
2336 1979, 1979, 2135, 1980, 1099, 3239, 1981, 1402, 1402, 1402,
2337 1394, 3248, 2147, 1099, 2141, 2153, 2153, 2153, 2155, 2155,
2338 2155, 1662, 1996, 1996, 1996, 1404, 1997, 3233, 3240, 1998,
2339 1420, 1420, 1420, 2154, 3241, 2156, 2003, 2003, 2003, 3247,
2340 1661, 2148, 2171, 2171, 2171, 2145, 2172, 1660, 1422, 2173,
2341 2174, 2174, 2174, 2004, 2179, 2179, 2179, 2180, 2180, 2180,
2342 2149, 2012, 2012, 2012, 2182, 2182, 2182, 2186, 2186, 2186,
2344 2019, 2019, 2019, 2020, 2020, 2020, 2167, 2187, 2187, 2187,
2345 2190, 2190, 2190, 2194, 2194, 2194, 2195, 2195, 2195, 2197,
2346 2197, 2197, 2031, 2031, 2031, 2198, 2198, 2198, 2034, 2034,
2347 2034, 1099, 2035, 3254, 1099, 2036, 2037, 2037, 2037, 1099,
2348 2038, 1099, 1099, 2039, 1161, 1161, 1161, 1167, 1167, 1167,
2349 2045, 2045, 2045, 2188, 2206, 2206, 2206, 1099, 2207, 3235,
2350 1099, 2208, 1163, 1099, 1099, 1169, 1099, 2046, 1176, 1176,
2351 1176, 2199, 2048, 2048, 2048, 3245, 2049, 3249, 3242, 2050,
2352 2051, 2051, 2051, 1099, 2052, 3262, 1178, 2053, 1186, 1186,
2353 1186, 1194, 1194, 1194, 3243, 2202, 2056, 2056, 2056, 3266,
2355 2057, 3250, 3272, 2058, 1099, 1099, 1188, 2204, 2210, 1196,
2356 1099, 1099, 2059, 2059, 2059, 2212, 2212, 2212, 1659, 2213,
2357 3251, 1099, 2214, 1210, 1210, 1210, 3255, 2211, 2209, 2060,
2358 2061, 2061, 2061, 1099, 2062, 1099, 3252, 2063, 2066, 2066,
2359 2066, 1212, 2067, 3253, 3258, 2068, 2072, 2072, 2072, 1099,
2360 2073, 3263, 1099, 2074, 2075, 2075, 2075, 2220, 2220, 2220,
2361 1099, 2221, 3292, 1099, 2222, 2080, 2080, 2080, 3256, 2081,
2362 1099, 2076, 2082, 2227, 2227, 2227, 1237, 1237, 1237, 2230,
2363 2230, 2230, 1099, 3259, 2089, 2089, 2089, 3257, 2090, 2215,
2364 2228, 2091, 1099, 1099, 1239, 3264, 3267, 2231, 1269, 1269,
2366 1269, 1274, 1274, 1274, 2096, 2096, 2096, 2238, 2238, 2238,
2367 3286, 2239, 1657, 3261, 2240, 1656, 1271, 3265, 1099, 1276,
2368 1099, 2097, 1099, 1293, 1293, 1293, 1301, 1301, 1301, 2105,
2369 2105, 2105, 2108, 2108, 2108, 3273, 2109, 3268, 3274, 2110,
2370 2229, 1295, 3269, 1655, 1303, 1099, 1099, 2106, 2114, 2114,
2371 2114, 1099, 2236, 2235, 2252, 2252, 2252, 3270, 2253, 3271,
2372 1099, 2254, 1328, 1328, 1328, 2115, 2117, 2117, 2117, 2256,
2373 2256, 2256, 2119, 2119, 2119, 2257, 2257, 2257, 3280, 1099,
2374 1330, 3329, 3329, 3329, 3329, 3329, 3329, 1099, 2246, 2245,
2375 1099, 3275, 2258, 3329, 3329, 3329, 1099, 3276, 3329, 3281,
2377 1654, 3329, 1340, 1340, 1340, 2127, 2127, 2127, 1099, 1099,
2378 3329, 2265, 2265, 2265, 1099, 2266, 3277, 1099, 2267, 3278,
2379 1342, 1099, 2128, 2269, 2269, 2269, 2255, 2132, 2132, 2132,
2380 3282, 3287, 2259, 2273, 2273, 2273, 2136, 2136, 2136, 1099,
2381 2137, 2270, 1099, 2138, 1099, 2133, 3279, 1099, 2260, 1099,
2382 3293, 2274, 2261, 2139, 2139, 2139, 2275, 2275, 2275, 1099,
2383 2276, 3288, 3308, 2277, 2142, 2142, 2142, 2262, 2143, 1652,
2384 2140, 2144, 1392, 1392, 1392, 2146, 2146, 2146, 2280, 2280,
2385 2280, 3283, 2281, 1099, 3294, 2282, 1402, 1402, 1402, 3289,
2386 1394, 3304, 2147, 2153, 2153, 2153, 2155, 2155, 2155, 2288,
2388 2288, 2288, 3302, 2289, 1404, 3284, 2290, 1420, 1420, 1420,
2389 1099, 2154, 1651, 2156, 2302, 2302, 2302, 2171, 2171, 2171,
2390 3290, 2172, 3326, 2279, 2173, 1422, 2174, 2174, 2174, 2315,
2391 2315, 2315, 1099, 2316, 2316, 2316, 1099, 2284, 2179, 2179,
2392 2179, 2180, 2180, 2180, 2182, 2182, 2182, 2320, 2320, 2320,
2393 2322, 2322, 2322, 2186, 2186, 2186, 2301, 2187, 2187, 2187,
2394 2190, 2190, 2190, 2325, 2325, 2325, 2194, 2194, 2194, 2195,
2395 2195, 2195, 2197, 2197, 2197, 2198, 2198, 2198, 2332, 2332,
2396 2332, 2334, 2334, 2334, 1167, 1167, 1167, 2336, 2336, 2336,
2397 2206, 2206, 2206, 1099, 2207, 1099, 2333, 2208, 1176, 1176,
2399 1176, 1099, 1169, 1099, 2337, 1186, 1186, 1186, 1194, 1194,
2400 1194, 2212, 2212, 2212, 1099, 2213, 1178, 1099, 2214, 2341,
2401 2341, 2341, 1099, 1188, 3303, 1099, 1196, 2220, 2220, 2220,
2402 3291, 2221, 1099, 1649, 2222, 3300, 3295, 2342, 2348, 2348,
2403 2348, 3285, 2339, 2227, 2227, 2227, 2356, 2356, 2356, 2338,
2404 2335, 3298, 2353, 2353, 2353, 2349, 2354, 3301, 3309, 2355,
2405 2228, 2230, 2230, 2230, 2357, 1269, 1269, 1269, 3296, 2340,
2406 2362, 2362, 2362, 2364, 2364, 2364, 3329, 3329, 3329, 2231,
2407 2238, 2238, 2238, 1271, 2239, 1099, 1099, 2240, 2363, 1648,
2408 2365, 1645, 1099, 3329, 3329, 3329, 3329, 3329, 3329, 3329,
2410 2370, 2370, 2370, 1293, 1293, 1293, 1301, 1301, 1301, 1099,
2411 1099, 3329, 1099, 1642, 3329, 1641, 1640, 2371, 1639, 2366,
2412 3318, 1295, 3299, 3306, 1303, 2361, 2374, 2374, 2374, 1099,
2413 1638, 2367, 2379, 2379, 2379, 2252, 2252, 2252, 3297, 2253,
2414 1099, 1099, 2254, 2375, 1328, 1328, 1328, 3307, 2369, 2256,
2415 2256, 2256, 2257, 2257, 2257, 2368, 3305, 2381, 2381, 2381,
2416 3322, 2382, 1330, 2372, 2383, 2384, 2384, 2384, 1099, 2258,
2417 2373, 3329, 3329, 3329, 3329, 3329, 3329, 2388, 2388, 2388,
2418 1637, 1099, 2385, 2390, 2390, 2390, 3312, 3313, 3329, 1099,
2419 1099, 3329, 2391, 2391, 2391, 2389, 1636, 2265, 2265, 2265,
2421 3316, 2266, 1635, 2380, 2267, 1099, 3329, 3329, 3329, 2392,
2422 2269, 2269, 2269, 2273, 2273, 2273, 3310, 2275, 2275, 2275,
2423 1099, 2276, 2386, 3329, 2277, 2387, 3314, 3315, 2270, 3319,
2424 3326, 2274, 2397, 2397, 2397, 2280, 2280, 2280, 1099, 2281,
2425 3311, 1099, 2282, 1402, 1402, 1402, 1634, 2288, 2288, 2288,
2426 2398, 2289, 3317, 1633, 2290, 1420, 1420, 1420, 2302, 2302,
2427 2302, 1404, 2315, 2315, 2315, 2316, 2316, 2316, 2431, 2431,
2428 2431, 1099, 2393, 1422, 1099, 1626, 1099, 2320, 2320, 2320,
2429 2322, 2322, 2322, 2325, 2325, 2325, 2437, 2437, 2437, 2400,
2430 2332, 2332, 2332, 2334, 2334, 2334, 2441, 2441, 2441, 1623,
2432 2336, 2336, 2336, 2443, 2443, 2443, 3320, 2444, 2333, 1099,
2433 2445, 2446, 2446, 2446, 2442, 1099, 2413, 2337, 1621, 3323,
2434 2414, 1186, 1186, 1186, 1194, 1194, 1194, 1099, 1617, 2447,
2435 2341, 2341, 2341, 2348, 2348, 2348, 2455, 2455, 2455, 1188,
2436 2456, 3321, 1196, 2457, 2459, 2459, 2459, 3324, 2342, 1613,
2437 2349, 2353, 2353, 2353, 1612, 2354, 1610, 1609, 2355, 3325,
2438 1608, 2460, 2356, 2356, 2356, 2468, 2468, 2468, 1269, 1269,
2439 1269, 2362, 2362, 2362, 1606, 2364, 2364, 2364, 1604, 1596,
2440 2357, 1593, 2469, 1584, 1582, 2448, 1271, 1581, 1579, 2363,
2441 1578, 2449, 2365, 2471, 2471, 2471, 1577, 2472, 1574, 1573,
2443 2473, 2477, 2477, 2477, 2370, 2370, 2370, 2479, 2479, 2479,
2444 1571, 2480, 1569, 1568, 2481, 2482, 2482, 2482, 2478, 1566,
2445 1565, 2371, 1301, 1301, 1301, 2470, 2374, 2374, 2374, 1561,
2446 2485, 2485, 2485, 2483, 2486, 1560, 1559, 2487, 1558, 1552,
2447 1303, 1550, 1548, 2375, 2490, 2490, 2490, 2379, 2379, 2379,
2448 2492, 2492, 2492, 2381, 2381, 2381, 1547, 2382, 1546, 1545,
2449 2383, 2491, 2384, 2384, 2384, 2494, 2494, 2494, 2493, 2495,
2450 1538, 1536, 2496, 2497, 2497, 2497, 2499, 2499, 2499, 2385,
2451 2388, 2388, 2388, 2484, 2390, 2390, 2390, 2391, 2391, 2391,
2452 2498, 1535, 1534, 2500, 1531, 2501, 2501, 2501, 2389, 2502,
2454 1530, 1525, 2503, 1524, 2392, 3329, 3329, 3329, 2397, 2397,
2455 2397, 1402, 1402, 1402, 1420, 1420, 1420, 2431, 2431, 2431,
2456 1523, 1522, 3329, 2540, 2540, 2540, 2398, 1521, 1520, 1404,
2457 1519, 1518, 1422, 2437, 2437, 2437, 2547, 2547, 2547, 2441,
2458 2441, 2441, 2443, 2443, 2443, 1517, 2444, 1511, 1510, 2445,
2459 2446, 2446, 2446, 2548, 1186, 1186, 1186, 2442, 1509, 1508,
2460 2504, 1194, 1194, 1194, 2554, 2554, 2554, 1506, 2447, 2455,
2461 2455, 2455, 1188, 2456, 2522, 1505, 2457, 2509, 1504, 1196,
2462 1503, 2555, 2459, 2459, 2459, 2558, 2558, 2558, 1488, 2559,
2463 1487, 1482, 2560, 2569, 2569, 2569, 2468, 2468, 2468, 2460,
2465 2571, 2571, 2571, 1481, 2572, 1479, 1478, 2573, 1476, 1472,
2466 2570, 1471, 1467, 2469, 1466, 2549, 2574, 2574, 2574, 2471,
2467 2471, 2471, 1465, 2472, 1464, 1463, 2473, 2550, 2477, 2477,
2468 2477, 2579, 2579, 2579, 2575, 2580, 1462, 1461, 2581, 2479,
2469 2479, 2479, 1460, 2480, 1459, 2478, 2481, 2482, 2482, 2482,
2470 1301, 1301, 1301, 2485, 2485, 2485, 1458, 2486, 1457, 1456,
2471 2487, 2590, 2590, 2590, 1455, 2483, 1454, 1452, 1303, 2490,
2472 2490, 2490, 2592, 2592, 2592, 1451, 2593, 1450, 2591, 2594,
2473 2492, 2492, 2492, 2494, 2494, 2494, 2491, 2495, 1449, 1446,
2474 2496, 2497, 2497, 2497, 1445, 2595, 2595, 2595, 2493, 2596,
2476 1444, 1443, 2597, 2499, 2499, 2499, 1442, 1441, 2498, 2598,
2477 2598, 2598, 2588, 2599, 1440, 1439, 2600, 2501, 2501, 2501,
2478 2500, 2502, 1438, 1437, 2503, 3329, 3329, 3329, 2608, 2608,
2479 2608, 2610, 2610, 2610, 1402, 1402, 1402, 2615, 2615, 2615,
2480 1436, 1435, 3329, 1434, 1433, 2609, 1430, 1429, 2611, 2616,
2481 2616, 2616, 1404, 1420, 1420, 1420, 2645, 2645, 2645, 2540,
2482 2540, 2540, 2649, 2649, 2649, 1428, 2617, 2547, 2547, 2547,
2483 1427, 1422, 2652, 2652, 2652, 1426, 2653, 1425, 1099, 2654,
2484 1186, 1186, 1186, 1419, 2548, 1418, 2607, 1417, 1194, 1194,
2485 1194, 2659, 2659, 2659, 2554, 2554, 2554, 1412, 1188, 1411,
2487 2661, 2661, 2661, 1407, 2662, 2614, 1196, 2663, 2660, 1401,
2488 1400, 2555, 1396, 2628, 2664, 2664, 2664, 2558, 2558, 2558,
2489 1391, 2559, 1387, 1386, 2560, 2569, 2569, 2569, 2675, 2675,
2490 2675, 2665, 2676, 1378, 1364, 2677, 2571, 2571, 2571, 2656,
2491 2572, 1363, 2570, 2573, 2574, 2574, 2574, 2655, 2679, 2679,
2492 2679, 2579, 2579, 2579, 1362, 2580, 1359, 1353, 2581, 2688,
2493 2688, 2688, 2575, 1348, 1344, 2680, 2590, 2590, 2590, 2691,
2494 2691, 2691, 1339, 2692, 1338, 1337, 2693, 2689, 2592, 2592,
2495 2592, 1336, 2593, 2591, 1335, 2594, 2595, 2595, 2595, 1334,
2496 2596, 1333, 1332, 2597, 2598, 2598, 2598, 1327, 2599, 1326,
2498 1321, 2600, 3329, 3329, 3329, 2608, 2608, 2608, 2707, 2707,
2499 2707, 1320, 2708, 1314, 1311, 2709, 2610, 2610, 2610, 3329,
2500 1306, 1305, 2609, 2710, 2710, 2710, 1300, 2711, 1289, 1284,
2501 2712, 1283, 1282, 2611, 2713, 2713, 2713, 2715, 2715, 2715,
2502 1402, 1402, 1402, 2615, 2615, 2615, 2616, 2616, 2616, 1278,
2503 1273, 2714, 1262, 1256, 2716, 1420, 1420, 1420, 1404, 2732,
2504 2732, 2732, 2706, 2617, 2718, 2718, 2718, 1255, 2719, 1254,
2505 1250, 2720, 1249, 1422, 1248, 1236, 2733, 1631, 2645, 2645,
2506 2645, 2747, 2747, 2747, 2649, 2649, 2649, 2750, 2750, 2750,
2507 2652, 2652, 2652, 1235, 2653, 1234, 1233, 2654, 1186, 1186,
2509 1186, 1232, 2717, 2757, 2757, 2757, 2729, 2659, 2659, 2659,
2510 2761, 2761, 2761, 1231, 2762, 1230, 1188, 2763, 2661, 2661,
2511 2661, 2758, 2662, 1229, 2660, 2663, 2664, 2664, 2664, 2764,
2512 2764, 2764, 1228, 2765, 1227, 1221, 2766, 2675, 2675, 2675,
2513 1214, 2676, 1175, 2665, 2677, 2679, 2679, 2679, 2777, 2777,
2514 2777, 1171, 2778, 1166, 1165, 2779, 2688, 2688, 2688, 2691,
2515 2691, 2691, 2680, 2692, 2756, 1153, 2693, 2800, 2800, 2800,
2516 1152, 2707, 2707, 2707, 2689, 2708, 1151, 1150, 2709, 2710,
2517 2710, 2710, 1149, 2711, 2801, 1148, 2712, 2713, 2713, 2713,
2518 2806, 2806, 2806, 1147, 2807, 1146, 1145, 2808, 2715, 2715,
2520 2715, 2809, 2809, 2809, 2714, 2810, 1144, 1143, 2811, 1402,
2521 1402, 1402, 2718, 2718, 2718, 2716, 2719, 1142, 1141, 2720,
2522 1420, 1420, 1420, 2823, 2823, 2823, 1138, 1404, 2732, 2732,
2523 2732, 1137, 2825, 2825, 2825, 1136, 2826, 1135, 1422, 2827,
2524 2824, 1631, 2836, 2836, 2836, 2733, 1631, 2747, 2747, 2747,
2525 1631, 2837, 2837, 2837, 2838, 2838, 2838, 2750, 2750, 2750,
2526 2812, 2839, 2839, 2839, 1186, 1186, 1186, 1134, 1133, 2821,
2527 2757, 2757, 2757, 2761, 2761, 2761, 1132, 2762, 1131, 1128,
2528 2763, 1127, 1188, 2764, 2764, 2764, 1126, 2765, 2758, 1125,
2529 2766, 2847, 2847, 2847, 2857, 2857, 2857, 2777, 2777, 2777,
2531 1124, 2778, 1123, 1122, 2779, 2859, 2859, 2859, 2848, 1121,
2532 1120, 2858, 2800, 2800, 2800, 2844, 2878, 2878, 2878, 1113,
2533 2879, 1109, 2860, 2880, 2806, 2806, 2806, 1108, 2807, 2801,
2534 1107, 2808, 2809, 2809, 2809, 1106, 2810, 1105, 1102, 2811,
2535 2885, 2885, 2885, 1420, 1420, 1420, 2823, 2823, 2823, 2895,
2536 2895, 2895, 1100, 2896, 1099, 1097, 2897, 1095, 2886, 1094,
2537 1093, 1422, 1092, 2824, 1631, 1091, 1088, 1631, 2825, 2825,
2538 2825, 1085, 2826, 1084, 1083, 2827, 2836, 2836, 2836, 2837,
2539 2837, 2837, 2838, 2838, 2838, 1081, 1631, 2839, 2839, 2839,
2540 2910, 2910, 2910, 2914, 2914, 2914, 1080, 2915, 1077, 1076,
2542 2916, 1074, 2847, 2847, 2847, 2917, 2917, 2917, 2911, 2893,
2543 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 2848,
2544 1071, 1629, 2918, 2857, 2857, 2857, 1629, 1629, 1629, 1631,
2545 1629, 2924, 2924, 2924, 1070, 2925, 1069, 1065, 2926, 1064,
2546 2858, 2927, 2927, 2927, 1062, 2928, 1061, 1060, 2929, 2859,
2547 2859, 2859, 2885, 2885, 2885, 1629, 1629, 1629, 1629, 1629,
2548 1629, 1629, 1629, 1629, 1629, 1629, 2860, 1059, 1629, 1057,
2549 2886, 1056, 1055, 1629, 1629, 1629, 1631, 1629, 2878, 2878,
2550 2878, 1054, 2879, 1053, 1052, 2880, 2957, 2957, 2957, 2895,
2551 2895, 2895, 1049, 2896, 1048, 1046, 2897, 1043, 1042, 2910,
2553 2910, 2910, 1629, 1629, 2958, 1040, 1039, 1631, 1629, 1629,
2554 1629, 1629, 1629, 2965, 1629, 1629, 1629, 2911, 1038, 1629,
2555 2917, 2917, 2917, 1037, 1629, 1629, 1629, 1631, 1629, 2914,
2556 2914, 2914, 1036, 2915, 1032, 1030, 2916, 2918, 2984, 2984,
2557 2984, 1029, 2985, 1028, 1026, 2986, 2957, 2957, 2957, 3011,
2558 3011, 3011, 1025, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
2559 1629, 1629, 1629, 2965, 2958, 1024, 1629, 1631, 1632, 1021,
2560 1020, 1629, 1629, 1629, 1631, 1629, 2924, 2924, 2924, 1019,
2561 2925, 1018, 1016, 2926, 2927, 2927, 2927, 1015, 2928, 1014,
2562 1012, 2929, 3020, 3020, 3020, 3022, 3022, 3022, 1009, 1005,
2564 1629, 1629, 1004, 2984, 2984, 2984, 1002, 2985, 1001, 3021,
2565 2986, 1000, 3023, 3032, 3032, 3032, 3040, 3040, 3040, 3048,
2566 3048, 3048, 3011, 3011, 3011, 3020, 3020, 3020, 997, 996,
2567 3033, 995, 993, 3041, 3056, 3056, 3056, 1099, 3057, 992,
2568 1631, 3058, 3021, 3022, 3022, 3022, 3059, 3059, 3059, 986,
2569 3060, 985, 984, 3061, 3032, 3032, 3032, 3070, 3070, 3070,
2570 3023, 3071, 982, 981, 3072, 3040, 3040, 3040, 3079, 3079,
2571 3079, 3033, 3080, 1818, 980, 3081, 3048, 3048, 3048, 3056,
2572 3056, 3056, 3041, 3057, 975, 974, 3058, 970, 3059, 3059,
2573 3059, 968, 3060, 967, 1099, 3061, 3070, 3070, 3070, 966,
2575 3071, 965, 964, 3072, 3079, 3079, 3079, 963, 3080, 962,
2576 961, 3081, 960, 3088, 3209, 3209, 3209, 3209, 3209, 3209,
2577 959, 3218, 958, 955, 3219, 3327, 3327, 3327, 3327, 3327,
2578 3327, 952, 1099, 951, 950, 1099, 948, 947, 946, 945,
2579 944, 939, 937, 3328, 936, 935, 3328, 240, 240, 240,
2580 240, 240, 240, 240, 240, 240, 241, 241, 241, 241,
2581 241, 241, 241, 241, 241, 246, 246, 246, 246, 246,
2582 246, 246, 246, 246, 249, 249, 249, 249, 249, 249,
2583 249, 249, 249, 252, 252, 252, 252, 252, 252, 252,
2584 252, 252, 255, 255, 255, 255, 255, 255, 255, 255,
2586 255, 262, 262, 262, 262, 262, 262, 262, 262, 262,
2587 269, 269, 269, 269, 269, 269, 269, 269, 269, 274,
2588 274, 274, 274, 274, 274, 274, 274, 274, 286, 286,
2589 286, 286, 286, 286, 286, 286, 286, 292, 292, 292,
2590 292, 292, 292, 292, 292, 292, 300, 300, 300, 300,
2591 300, 300, 300, 300, 300, 304, 304, 304, 304, 304,
2592 304, 304, 304, 304, 310, 310, 310, 310, 310, 310,
2593 310, 310, 310, 316, 316, 316, 316, 316, 316, 316,
2594 316, 316, 322, 322, 322, 322, 322, 322, 322, 322,
2595 322, 328, 328, 328, 328, 328, 328, 328, 328, 328,
2597 335, 335, 335, 335, 335, 335, 335, 335, 335, 340,
2598 340, 340, 340, 340, 340, 340, 340, 340, 347, 347,
2599 347, 347, 347, 347, 347, 347, 347, 356, 356, 356,
2600 356, 356, 356, 356, 356, 356, 374, 374, 374, 374,
2601 374, 374, 374, 374, 374, 381, 381, 381, 381, 381,
2602 381, 381, 381, 381, 385, 385, 385, 385, 385, 385,
2603 385, 385, 385, 392, 392, 392, 392, 392, 392, 392,
2604 392, 392, 400, 400, 400, 400, 400, 400, 400, 400,
2605 400, 408, 408, 408, 408, 408, 408, 408, 408, 408,
2606 414, 414, 414, 414, 414, 414, 414, 414, 414, 420,
2608 420, 420, 420, 420, 420, 420, 420, 420, 424, 424,
2609 424, 424, 424, 424, 424, 424, 424, 432, 432, 432,
2610 432, 432, 432, 432, 432, 432, 439, 439, 439, 439,
2611 439, 439, 439, 439, 439, 446, 446, 446, 446, 446,
2612 446, 446, 446, 446, 451, 451, 451, 451, 451, 451,
2613 451, 451, 451, 457, 457, 457, 457, 457, 457, 457,
2614 457, 457, 462, 462, 462, 462, 462, 462, 462, 462,
2615 462, 468, 468, 468, 468, 468, 468, 468, 468, 468,
2616 473, 473, 473, 473, 473, 473, 473, 473, 473, 479,
2617 479, 479, 479, 479, 479, 479, 479, 479, 488, 488,
2619 488, 488, 488, 488, 488, 488, 488, 495, 495, 495,
2620 495, 495, 495, 495, 495, 495, 499, 499, 499, 499,
2621 499, 499, 499, 499, 499, 510, 510, 510, 510, 510,
2622 510, 510, 510, 510, 518, 518, 518, 518, 518, 518,
2623 518, 518, 518, 526, 526, 526, 526, 526, 526, 526,
2624 526, 526, 531, 531, 531, 531, 531, 531, 531, 531,
2625 531, 537, 537, 537, 537, 537, 537, 537, 537, 537,
2626 545, 545, 545, 545, 545, 545, 545, 545, 545, 551,
2627 551, 551, 551, 551, 551, 551, 551, 551, 556, 556,
2628 556, 556, 556, 556, 556, 556, 556, 563, 563, 563,
2630 563, 563, 563, 563, 563, 563, 568, 568, 568, 568,
2631 568, 568, 568, 568, 568, 574, 574, 574, 574, 574,
2632 574, 574, 574, 574, 581, 581, 581, 581, 581, 581,
2633 581, 581, 581, 588, 588, 588, 588, 588, 588, 588,
2634 588, 588, 595, 595, 595, 595, 595, 595, 595, 595,
2635 595, 603, 603, 603, 603, 603, 603, 603, 603, 603,
2636 255, 255, 255, 255, 255, 255, 255, 255, 255, 614,
2637 614, 614, 614, 614, 614, 614, 614, 614, 620, 620,
2638 620, 620, 620, 620, 620, 620, 620, 639, 639, 639,
2639 933, 932, 931, 639, 673, 673, 673, 930, 928, 925,
2641 673, 681, 681, 681, 924, 922, 921, 681, 685, 685,
2642 685, 920, 918, 917, 685, 691, 691, 691, 916, 915,
2643 912, 691, 697, 697, 697, 911, 910, 907, 697, 702,
2644 702, 702, 906, 905, 900, 702, 712, 712, 712, 898,
2645 897, 891, 712, 731, 731, 731, 890, 889, 888, 731,
2646 735, 735, 735, 882, 881, 880, 735, 745, 745, 745,
2647 878, 875, 874, 745, 751, 751, 751, 873, 872, 867,
2648 751, 756, 756, 756, 864, 866, 861, 756, 764, 764,
2649 764, 860, 859, 857, 764, 769, 769, 769, 856, 853,
2650 852, 769, 774, 774, 774, 851, 849, 848, 774, 779,
2652 779, 779, 846, 845, 844, 779, 790, 790, 790, 843,
2653 841, 840, 790, 799, 799, 799, 839, 838, 837, 799,
2654 808, 808, 808, 836, 834, 832, 808, 813, 813, 813,
2655 831, 829, 828, 813, 824, 824, 824, 825, 823, 819,
2656 824, 830, 830, 830, 815, 814, 812, 830, 835, 835,
2657 835, 810, 809, 807, 835, 842, 842, 842, 806, 804,
2658 803, 842, 850, 850, 850, 802, 801, 800, 850, 858,
2659 858, 858, 798, 797, 791, 858, 863, 863, 863, 863,
2660 863, 863, 863, 789, 863, 639, 639, 639, 784, 783,
2661 782, 639, 879, 781, 780, 778, 879, 673, 673, 673,
2663 776, 775, 773, 673, 919, 771, 770, 768, 919, 681,
2664 681, 681, 766, 765, 763, 681, 923, 762, 759, 758,
2665 923, 685, 685, 685, 757, 755, 3329, 685, 929, 752,
2666 750, 748, 929, 691, 691, 691, 747, 746, 744, 691,
2667 934, 743, 739, 738, 934, 697, 697, 697, 737, 736,
2668 734, 697, 938, 733, 732, 730, 938, 702, 702, 702,
2669 729, 728, 721, 702, 949, 717, 716, 713, 949, 712,
2670 712, 712, 711, 707, 706, 712, 969, 705, 704, 703,
2671 969, 731, 731, 731, 701, 700, 699, 731, 973, 698,
2672 696, 695, 973, 735, 735, 735, 694, 693, 692, 735,
2674 983, 690, 688, 687, 983, 745, 745, 745, 686, 684,
2675 682, 745, 991, 680, 661, 3329, 991, 751, 751, 751,
2676 675, 674, 672, 751, 994, 3329, 655, 641, 994, 756,
2677 756, 756, 640, 638, 637, 756, 1003, 631, 630, 631,
2678 1003, 764, 764, 764, 630, 629, 628, 764, 1008, 3329,
2679 3329, 3329, 1008, 769, 769, 769, 3329, 3329, 3329, 769,
2680 1013, 3329, 3329, 3329, 1013, 774, 774, 774, 3329, 3329,
2681 3329, 774, 1017, 3329, 3329, 3329, 1017, 779, 779, 779,
2682 3329, 3329, 3329, 779, 1027, 3329, 3329, 3329, 1027, 790,
2683 790, 790, 3329, 3329, 3329, 790, 1031, 3329, 3329, 3329,
2685 1031, 799, 799, 799, 3329, 3329, 3329, 799, 1041, 3329,
2686 3329, 3329, 1041, 808, 808, 808, 3329, 3329, 3329, 808,
2687 1047, 3329, 3329, 3329, 1047, 813, 813, 813, 3329, 3329,
2688 3329, 813, 1058, 3329, 3329, 3329, 1058, 824, 824, 824,
2689 3329, 3329, 3329, 824, 1063, 3329, 3329, 3329, 1063, 830,
2690 830, 830, 3329, 3329, 3329, 830, 1068, 3329, 3329, 3329,
2691 1068, 835, 835, 835, 3329, 3329, 3329, 835, 1075, 3329,
2692 3329, 3329, 1075, 842, 842, 842, 3329, 3329, 3329, 842,
2693 1082, 3329, 3329, 3329, 1082, 850, 850, 850, 3329, 3329,
2694 3329, 850, 1090, 3329, 3329, 3329, 1090, 858, 858, 858,
2696 3329, 3329, 3329, 858, 1096, 3329, 3329, 3329, 1096, 1098,
2697 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1104, 3329,
2698 3329, 3329, 3329, 1104, 639, 639, 639, 3329, 3329, 3329,
2699 639, 1115, 1115, 1115, 1115, 3329, 3329, 1115, 1115, 673,
2700 673, 673, 673, 3329, 673, 3329, 673, 1162, 1162, 1162,
2701 1162, 3329, 3329, 1162, 1162, 681, 681, 681, 3329, 3329,
2702 3329, 681, 1168, 1168, 1168, 1168, 3329, 3329, 1168, 1168,
2703 685, 685, 685, 3329, 3329, 3329, 685, 1177, 1177, 1177,
2704 1177, 3329, 3329, 1177, 1177, 691, 691, 691, 691, 3329,
2705 691, 3329, 691, 1187, 1187, 1187, 1187, 3329, 3329, 1187,
2707 1187, 697, 697, 697, 697, 3329, 697, 3329, 697, 1195,
2708 1195, 1195, 1195, 3329, 3329, 1195, 1195, 702, 702, 702,
2709 702, 3329, 702, 3329, 702, 1211, 1211, 1211, 1211, 3329,
2710 3329, 1211, 1211, 712, 712, 712, 3329, 3329, 3329, 712,
2711 1238, 1238, 1238, 1238, 3329, 3329, 1238, 1238, 1245, 1245,
2712 1245, 1245, 3329, 3329, 1245, 1245, 735, 735, 735, 3329,
2713 3329, 3329, 735, 1258, 1258, 1258, 1258, 3329, 3329, 1258,
2714 1258, 745, 745, 745, 3329, 3329, 3329, 745, 1270, 1270,
2715 1270, 1270, 3329, 3329, 1270, 1270, 751, 751, 751, 3329,
2716 3329, 3329, 751, 1275, 1275, 1275, 1275, 3329, 3329, 1275,
2718 1275, 756, 756, 756, 3329, 3329, 3329, 756, 1286, 1286,
2719 1286, 1286, 3329, 3329, 1286, 1286, 764, 764, 764, 3329,
2720 3329, 3329, 764, 1294, 1294, 1294, 1294, 3329, 3329, 1294,
2721 1294, 769, 769, 769, 3329, 3329, 3329, 769, 1302, 1302,
2722 1302, 1302, 3329, 3329, 1302, 1302, 774, 774, 774, 3329,
2723 3329, 3329, 774, 1308, 1308, 1308, 1308, 3329, 3329, 1308,
2724 1308, 779, 779, 779, 3329, 3329, 3329, 779, 1323, 1323,
2725 1323, 1323, 3329, 3329, 1323, 1323, 790, 790, 790, 3329,
2726 3329, 3329, 790, 1329, 1329, 1329, 1329, 3329, 3329, 1329,
2727 1329, 799, 799, 799, 3329, 3329, 3329, 799, 1341, 1341,
2729 1341, 1341, 3329, 3329, 1341, 1341, 808, 808, 808, 3329,
2730 3329, 3329, 808, 1350, 1350, 1350, 1350, 3329, 3329, 1350,
2731 1350, 813, 813, 813, 3329, 3329, 3329, 813, 1366, 1366,
2732 1366, 1366, 3329, 3329, 1366, 1366, 824, 824, 824, 824,
2733 3329, 824, 3329, 824, 1375, 1375, 1375, 1375, 3329, 3329,
2734 1375, 1375, 830, 830, 830, 3329, 3329, 3329, 830, 1383,
2735 1383, 1383, 1383, 3329, 3329, 1383, 1383, 835, 835, 835,
2736 3329, 3329, 3329, 835, 1393, 1393, 1393, 1393, 3329, 3329,
2737 1393, 1393, 842, 842, 842, 3329, 3329, 3329, 842, 1403,
2738 1403, 1403, 1403, 3329, 3329, 1403, 1403, 850, 850, 850,
2740 3329, 3329, 3329, 850, 1414, 1414, 1414, 1414, 3329, 3329,
2741 1414, 1414, 858, 858, 858, 3329, 3329, 3329, 858, 1421,
2742 1421, 1421, 1421, 3329, 3329, 1421, 1421, 1098, 1098, 1098,
2743 1098, 1098, 1098, 1098, 1098, 1098, 1104, 3329, 1104, 3329,
2744 3329, 1104, 639, 639, 639, 3329, 3329, 3329, 639, 1115,
2745 1115, 1115, 1115, 3329, 3329, 1115, 1115, 673, 673, 673,
2746 3329, 3329, 3329, 673, 1162, 1162, 1162, 1162, 3329, 3329,
2747 1162, 1162, 681, 681, 681, 3329, 3329, 3329, 681, 1168,
2748 1168, 1168, 1168, 3329, 3329, 1168, 1168, 685, 685, 685,
2749 3329, 3329, 3329, 685, 1177, 1177, 1177, 1177, 3329, 3329,
2751 1177, 1177, 691, 691, 691, 3329, 3329, 3329, 691, 1187,
2752 1187, 1187, 1187, 3329, 3329, 1187, 1187, 1195, 1195, 1195,
2753 1195, 3329, 3329, 1195, 1195, 702, 702, 702, 3329, 3329,
2754 3329, 702, 1211, 1211, 1211, 1211, 3329, 3329, 1211, 1211,
2755 712, 712, 712, 3329, 3329, 3329, 712, 1238, 1238, 1238,
2756 1238, 3329, 3329, 1238, 1238, 1245, 1245, 1245, 1245, 3329,
2757 3329, 1245, 1245, 735, 735, 735, 3329, 3329, 3329, 735,
2758 1258, 1258, 1258, 1258, 3329, 3329, 1258, 1258, 745, 745,
2759 745, 745, 3329, 745, 3329, 745, 1270, 1270, 1270, 1270,
2760 3329, 3329, 1270, 1270, 751, 751, 751, 751, 3329, 751,
2762 3329, 751, 1275, 1275, 1275, 1275, 3329, 3329, 1275, 1275,
2763 756, 756, 756, 3329, 3329, 3329, 756, 1286, 1286, 1286,
2764 1286, 3329, 3329, 1286, 1286, 764, 764, 764, 3329, 3329,
2765 3329, 764, 1294, 1294, 1294, 1294, 3329, 3329, 1294, 1294,
2766 769, 769, 769, 3329, 3329, 3329, 769, 1302, 1302, 1302,
2767 1302, 3329, 3329, 1302, 1302, 774, 774, 774, 774, 3329,
2768 774, 3329, 774, 1308, 1308, 1308, 1308, 3329, 3329, 1308,
2769 1308, 779, 779, 779, 3329, 3329, 3329, 779, 1323, 1323,
2770 1323, 1323, 3329, 3329, 1323, 1323, 790, 790, 790, 3329,
2771 3329, 3329, 790, 1329, 1329, 1329, 1329, 3329, 3329, 1329,
2773 1329, 799, 799, 799, 3329, 3329, 3329, 799, 1341, 1341,
2774 1341, 1341, 3329, 3329, 1341, 1341, 808, 808, 808, 3329,
2775 3329, 3329, 808, 1350, 1350, 1350, 1350, 3329, 3329, 1350,
2776 1350, 813, 813, 813, 3329, 3329, 3329, 813, 1366, 1366,
2777 1366, 1366, 3329, 3329, 1366, 1366, 824, 824, 824, 3329,
2778 3329, 3329, 824, 1375, 1375, 1375, 1375, 3329, 3329, 1375,
2779 1375, 830, 830, 830, 3329, 3329, 3329, 830, 1383, 1383,
2780 1383, 1383, 3329, 3329, 1383, 1383, 835, 835, 835, 3329,
2781 3329, 3329, 835, 1393, 1393, 1393, 1393, 3329, 3329, 1393,
2782 1393, 842, 842, 842, 3329, 3329, 3329, 842, 1403, 1403,
2784 1403, 1403, 3329, 3329, 1403, 1403, 850, 850, 850, 850,
2785 3329, 850, 3329, 850, 1414, 1414, 1414, 1414, 3329, 3329,
2786 1414, 1414, 858, 858, 858, 3329, 3329, 3329, 858, 1421,
2787 1421, 1421, 1421, 3329, 3329, 1421, 1421, 1098, 1098, 1098,
2788 1098, 1098, 1098, 1098, 1098, 1098, 1629, 1629, 1629, 1629,
2789 1629, 1629, 1629, 1629, 1629, 639, 639, 639, 3329, 3329,
2790 3329, 639, 673, 673, 673, 3329, 3329, 3329, 673, 1162,
2791 1162, 1162, 1162, 3329, 3329, 1162, 1162, 681, 681, 681,
2792 681, 3329, 681, 3329, 681, 1168, 1168, 1168, 1168, 3329,
2793 3329, 1168, 1168, 685, 685, 685, 3329, 3329, 3329, 685,
2795 1177, 1177, 1177, 1177, 3329, 3329, 1177, 1177, 691, 691,
2796 691, 3329, 3329, 3329, 691, 1187, 1187, 1187, 1187, 3329,
2797 3329, 1187, 1187, 1195, 1195, 1195, 1195, 3329, 3329, 1195,
2798 1195, 702, 702, 702, 3329, 3329, 3329, 702, 1211, 1211,
2799 1211, 1211, 3329, 3329, 1211, 1211, 712, 712, 712, 3329,
2800 3329, 3329, 712, 1238, 1238, 1238, 1238, 3329, 3329, 1238,
2801 1238, 1245, 1245, 1245, 1245, 3329, 3329, 1245, 1245, 735,
2802 735, 735, 3329, 3329, 3329, 735, 1258, 1258, 1258, 1258,
2803 3329, 3329, 1258, 1258, 1270, 1270, 1270, 1270, 3329, 3329,
2804 1270, 1270, 1275, 1275, 1275, 1275, 3329, 3329, 1275, 1275,
2806 756, 756, 756, 3329, 3329, 3329, 756, 1286, 1286, 1286,
2807 1286, 3329, 3329, 1286, 1286, 764, 764, 764, 3329, 3329,
2808 3329, 764, 1294, 1294, 1294, 1294, 3329, 3329, 1294, 1294,
2809 769, 769, 769, 769, 3329, 769, 3329, 769, 1302, 1302,
2810 1302, 1302, 3329, 3329, 1302, 1302, 774, 774, 774, 3329,
2811 3329, 3329, 774, 1308, 1308, 1308, 1308, 3329, 3329, 1308,
2812 1308, 779, 779, 779, 3329, 3329, 3329, 779, 1323, 1323,
2813 1323, 1323, 3329, 3329, 1323, 1323, 790, 790, 790, 3329,
2814 3329, 3329, 790, 1329, 1329, 1329, 1329, 3329, 3329, 1329,
2815 1329, 799, 799, 799, 3329, 3329, 3329, 799, 1341, 1341,
2817 1341, 1341, 3329, 3329, 1341, 1341, 808, 808, 808, 808,
2818 3329, 808, 3329, 808, 1350, 1350, 1350, 1350, 3329, 3329,
2819 1350, 1350, 813, 813, 813, 3329, 3329, 3329, 813, 1366,
2820 1366, 1366, 1366, 3329, 3329, 1366, 1366, 824, 824, 824,
2821 3329, 3329, 3329, 824, 1375, 1375, 1375, 1375, 3329, 3329,
2822 1375, 1375, 830, 830, 830, 3329, 3329, 3329, 830, 1383,
2823 1383, 1383, 1383, 3329, 3329, 1383, 1383, 835, 835, 835,
2824 3329, 3329, 3329, 835, 1393, 1393, 1393, 1393, 3329, 3329,
2825 1393, 1393, 842, 842, 842, 3329, 3329, 3329, 842, 1403,
2826 1403, 1403, 1403, 3329, 3329, 1403, 1403, 850, 850, 850,
2828 3329, 3329, 3329, 850, 1414, 1414, 1414, 1414, 3329, 3329,
2829 1414, 1414, 858, 858, 858, 3329, 3329, 3329, 858, 1421,
2830 1421, 1421, 1421, 3329, 3329, 1421, 1421, 1098, 1098, 1098,
2831 1098, 1098, 1098, 1098, 1098, 1098, 1629, 1629, 1629, 1629,
2832 1629, 1629, 1629, 1629, 1629, 639, 639, 639, 3329, 3329,
2833 3329, 639, 673, 673, 673, 673, 3329, 673, 3329, 673,
2834 1162, 1162, 1162, 1162, 3329, 3329, 1162, 1162, 1168, 1168,
2835 1168, 1168, 3329, 3329, 1168, 1168, 685, 685, 685, 3329,
2836 3329, 3329, 685, 1177, 1177, 1177, 1177, 3329, 3329, 1177,
2837 1177, 691, 691, 691, 691, 3329, 691, 3329, 691, 1187,
2839 1187, 1187, 1187, 3329, 3329, 1187, 1187, 1195, 1195, 1195,
2840 1195, 3329, 3329, 1195, 1195, 702, 702, 702, 702, 3329,
2841 702, 3329, 702, 1211, 1211, 1211, 1211, 3329, 3329, 1211,
2842 1211, 712, 712, 712, 3329, 3329, 3329, 712, 1238, 1238,
2843 1238, 1238, 3329, 3329, 1238, 1238, 1245, 1245, 1245, 1245,
2844 3329, 3329, 1245, 1245, 735, 735, 735, 3329, 3329, 3329,
2845 735, 1258, 1258, 1258, 1258, 3329, 3329, 1258, 1258, 1270,
2846 1270, 1270, 1270, 3329, 3329, 1270, 1270, 1275, 1275, 1275,
2847 1275, 3329, 3329, 1275, 1275, 756, 756, 756, 3329, 3329,
2848 3329, 756, 1286, 1286, 1286, 1286, 3329, 3329, 1286, 1286,
2850 764, 764, 764, 3329, 3329, 3329, 764, 1294, 1294, 1294,
2851 1294, 3329, 3329, 1294, 1294, 1302, 1302, 1302, 1302, 3329,
2852 3329, 1302, 1302, 774, 774, 774, 3329, 3329, 3329, 774,
2853 1308, 1308, 1308, 1308, 3329, 3329, 1308, 1308, 779, 779,
2854 779, 3329, 3329, 3329, 779, 1323, 1323, 1323, 1323, 3329,
2855 3329, 1323, 1323, 790, 790, 790, 3329, 3329, 3329, 790,
2856 1329, 1329, 1329, 1329, 3329, 3329, 1329, 1329, 799, 799,
2857 799, 3329, 3329, 3329, 799, 1341, 1341, 1341, 1341, 3329,
2858 3329, 1341, 1341, 1350, 1350, 1350, 1350, 3329, 3329, 1350,
2859 1350, 813, 813, 813, 3329, 3329, 3329, 813, 1366, 1366,
2861 1366, 1366, 3329, 3329, 1366, 1366, 824, 824, 824, 3329,
2862 3329, 3329, 824, 1375, 1375, 1375, 1375, 3329, 3329, 1375,
2863 1375, 830, 830, 830, 3329, 3329, 3329, 830, 1383, 1383,
2864 1383, 1383, 3329, 3329, 1383, 1383, 835, 835, 835, 835,
2865 3329, 835, 3329, 835, 1393, 1393, 1393, 1393, 3329, 3329,
2866 1393, 1393, 842, 842, 842, 3329, 3329, 3329, 842, 1403,
2867 1403, 1403, 1403, 3329, 3329, 1403, 1403, 850, 850, 850,
2868 3329, 3329, 3329, 850, 1414, 1414, 1414, 1414, 3329, 3329,
2869 1414, 1414, 858, 858, 858, 3329, 3329, 3329, 858, 1421,
2870 1421, 1421, 1421, 3329, 3329, 1421, 1421, 1098, 1098, 1098,
2872 1098, 1098, 1098, 1098, 1098, 1098, 1629, 1629, 1629, 1629,
2873 1629, 1629, 1629, 1629, 1629, 639, 639, 639, 639, 3329,
2874 639, 3329, 639, 673, 673, 673, 3329, 3329, 3329, 673,
2875 1162, 1162, 1162, 1162, 3329, 3329, 1162, 1162, 1168, 1168,
2876 1168, 1168, 3329, 3329, 1168, 1168, 685, 685, 685, 3329,
2877 3329, 3329, 685, 1177, 1177, 1177, 1177, 3329, 3329, 1177,
2878 1177, 1187, 1187, 1187, 1187, 3329, 3329, 1187, 1187, 1195,
2879 1195, 1195, 1195, 3329, 3329, 1195, 1195, 702, 702, 702,
2880 702, 3329, 702, 3329, 702, 1211, 1211, 1211, 1211, 3329,
2881 3329, 1211, 1211, 712, 712, 712, 3329, 3329, 3329, 712,
2883 1238, 1238, 1238, 1238, 3329, 3329, 1238, 1238, 1245, 1245,
2884 1245, 1245, 3329, 3329, 1245, 1245, 735, 735, 735, 3329,
2885 3329, 3329, 735, 1270, 1270, 1270, 1270, 3329, 3329, 1270,
2886 1270, 1275, 1275, 1275, 1275, 3329, 3329, 1275, 1275, 756,
2887 756, 756, 3329, 3329, 3329, 756, 764, 764, 764, 3329,
2888 3329, 3329, 764, 1294, 1294, 1294, 1294, 3329, 3329, 1294,
2889 1294, 1302, 1302, 1302, 1302, 3329, 3329, 1302, 1302, 774,
2890 774, 774, 3329, 3329, 3329, 774, 1308, 1308, 1308, 1308,
2891 3329, 3329, 1308, 1308, 779, 779, 779, 3329, 3329, 3329,
2892 779, 790, 790, 790, 790, 3329, 790, 3329, 790, 1329,
2894 1329, 1329, 1329, 3329, 3329, 1329, 1329, 799, 799, 799,
2895 3329, 3329, 3329, 799, 1341, 1341, 1341, 1341, 3329, 3329,
2896 1341, 1341, 813, 813, 813, 3329, 3329, 3329, 813, 1366,
2897 1366, 1366, 1366, 3329, 3329, 1366, 1366, 824, 824, 824,
2898 3329, 3329, 3329, 824, 1375, 1375, 1375, 1375, 3329, 3329,
2899 1375, 1375, 830, 830, 830, 3329, 3329, 3329, 830, 1383,
2900 1383, 1383, 1383, 3329, 3329, 1383, 1383, 835, 835, 835,
2901 835, 3329, 835, 3329, 835, 1393, 1393, 1393, 1393, 3329,
2902 3329, 1393, 1393, 842, 842, 842, 842, 3329, 842, 3329,
2903 842, 1403, 1403, 1403, 1403, 3329, 3329, 1403, 1403, 850,
2905 850, 850, 3329, 3329, 3329, 850, 1414, 1414, 1414, 1414,
2906 3329, 3329, 1414, 1414, 858, 858, 858, 858, 3329, 858,
2907 3329, 858, 1421, 1421, 1421, 1421, 3329, 3329, 1421, 1421,
2908 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1629,
2909 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 673, 673,
2910 673, 3329, 3329, 3329, 673, 1162, 1162, 1162, 1162, 3329,
2911 3329, 1162, 1162, 1168, 1168, 1168, 1168, 3329, 3329, 1168,
2912 1168, 685, 685, 685, 3329, 3329, 3329, 685, 1177, 1177,
2913 1177, 1177, 3329, 3329, 1177, 1177, 1187, 1187, 1187, 1187,
2914 3329, 3329, 1187, 1187, 1195, 1195, 1195, 1195, 3329, 3329,
2916 1195, 1195, 1211, 1211, 1211, 1211, 3329, 3329, 1211, 1211,
2917 712, 712, 712, 3329, 3329, 3329, 712, 1238, 1238, 1238,
2918 1238, 3329, 3329, 1238, 1238, 1245, 1245, 1245, 1245, 3329,
2919 3329, 1245, 1245, 735, 735, 735, 3329, 3329, 3329, 735,
2920 1270, 1270, 1270, 1270, 3329, 3329, 1270, 1270, 1275, 1275,
2921 1275, 1275, 3329, 3329, 1275, 1275, 756, 756, 756, 3329,
2922 3329, 3329, 756, 764, 764, 764, 3329, 3329, 3329, 764,
2923 1294, 1294, 1294, 1294, 3329, 3329, 1294, 1294, 1302, 1302,
2924 1302, 1302, 3329, 3329, 1302, 1302, 774, 774, 774, 3329,
2925 3329, 3329, 774, 779, 779, 779, 3329, 3329, 3329, 779,
2927 1329, 1329, 1329, 1329, 3329, 3329, 1329, 1329, 799, 799,
2928 799, 799, 3329, 799, 3329, 799, 1341, 1341, 1341, 1341,
2929 3329, 3329, 1341, 1341, 813, 813, 813, 3329, 3329, 3329,
2930 813, 1366, 1366, 1366, 1366, 3329, 3329, 1366, 1366, 824,
2931 824, 824, 3329, 3329, 3329, 824, 830, 830, 830, 3329,
2932 3329, 3329, 830, 1383, 1383, 1383, 1383, 3329, 3329, 1383,
2933 1383, 835, 835, 835, 3329, 3329, 3329, 835, 1393, 1393,
2934 1393, 1393, 3329, 3329, 1393, 1393, 842, 842, 842, 3329,
2935 3329, 3329, 842, 1403, 1403, 1403, 1403, 3329, 3329, 1403,
2936 1403, 850, 850, 850, 3329, 3329, 3329, 850, 1421, 1421,
2938 1421, 1421, 3329, 3329, 1421, 1421, 1098, 1098, 1098, 1098,
2939 1098, 1098, 1098, 1098, 1098, 1629, 1629, 1629, 1629, 1629,
2940 1629, 1629, 1629, 1629, 673, 673, 673, 3329, 3329, 3329,
2941 673, 1162, 1162, 1162, 1162, 3329, 3329, 1162, 1162, 1168,
2942 1168, 1168, 1168, 3329, 3329, 1168, 1168, 685, 685, 685,
2943 685, 3329, 685, 3329, 685, 1177, 1177, 1177, 1177, 3329,
2944 3329, 1177, 1177, 1187, 1187, 1187, 1187, 3329, 3329, 1187,
2945 1187, 1195, 1195, 1195, 1195, 3329, 3329, 1195, 1195, 1211,
2946 1211, 1211, 1211, 3329, 3329, 1211, 1211, 712, 712, 712,
2947 3329, 3329, 3329, 712, 1238, 1238, 1238, 1238, 3329, 3329,
2949 1238, 1238, 735, 735, 735, 3329, 3329, 3329, 735, 1270,
2950 1270, 1270, 1270, 3329, 3329, 1270, 1270, 1275, 1275, 1275,
2951 1275, 3329, 3329, 1275, 1275, 756, 756, 756, 756, 3329,
2952 756, 3329, 756, 764, 764, 764, 764, 3329, 764, 3329,
2953 764, 1294, 1294, 1294, 1294, 3329, 3329, 1294, 1294, 1302,
2954 1302, 1302, 1302, 3329, 3329, 1302, 1302, 774, 774, 774,
2955 774, 3329, 774, 3329, 774, 779, 779, 779, 3329, 3329,
2956 3329, 779, 1329, 1329, 1329, 1329, 3329, 3329, 1329, 1329,
2957 799, 799, 799, 799, 3329, 799, 3329, 799, 1341, 1341,
2958 1341, 1341, 3329, 3329, 1341, 1341, 813, 813, 813, 813,
2960 3329, 813, 3329, 813, 824, 824, 824, 3329, 3329, 3329,
2961 824, 830, 830, 830, 3329, 3329, 3329, 830, 835, 835,
2962 835, 3329, 3329, 3329, 835, 1393, 1393, 1393, 1393, 3329,
2963 3329, 1393, 1393, 842, 842, 842, 3329, 3329, 3329, 842,
2964 1403, 1403, 1403, 1403, 3329, 3329, 1403, 1403, 850, 850,
2965 850, 3329, 3329, 3329, 850, 1421, 1421, 1421, 1421, 3329,
2966 3329, 1421, 1421, 1098, 1098, 1098, 1098, 1098, 1098, 1098,
2967 1098, 1098, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
2968 1629, 673, 673, 673, 3329, 3329, 3329, 673, 1168, 1168,
2969 1168, 1168, 3329, 3329, 1168, 1168, 1177, 1177, 1177, 1177,
2971 3329, 3329, 1177, 1177, 1187, 1187, 1187, 1187, 3329, 3329,
2972 1187, 1187, 1195, 1195, 1195, 1195, 3329, 3329, 1195, 1195,
2973 712, 712, 712, 3329, 3329, 3329, 712, 735, 735, 735,
2974 3329, 3329, 3329, 735, 1270, 1270, 1270, 1270, 3329, 3329,
2975 1270, 1270, 756, 756, 756, 3329, 3329, 3329, 756, 2898,
2976 2898, 2898, 2898, 2898, 2898, 2898, 2898, 2898, 2899, 2899,
2977 2899, 2899, 2899, 2899, 2899, 2899, 2899, 2960, 2960, 2960,
2978 2960, 2960, 2960, 2960, 2960, 2960, 2963, 2963, 2963, 2963,
2979 2963, 2963, 2963, 2963, 2963, 3008, 3008, 3008, 3008, 3008,
2980 3008, 3008, 3008, 3008, 3010, 3010, 3010, 3010, 3010, 3010,
2982 3010, 3010, 3010, 239, 3329, 3329, 3329, 3329, 3329, 3329,
2983 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329,
2984 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329,
2985 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329,
2986 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329,
2987 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329,
2988 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329,
2989 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329
2992 static yyconst flex_int16_t yy_chk[11879] =
2994 0, 3, 3, 3, 4, 4, 4, 5, 5, 5,
2995 6, 6, 6, 7, 7, 7, 11, 3, 9, 12,
2996 4, 10, 331, 5, 0, 9, 6, 0, 10, 7,
2997 8, 8, 8, 244, 11, 13, 13, 12, 14, 14,
2998 13, 13, 282, 14, 14, 245, 8, 17, 17, 244,
2999 13, 15, 15, 14, 15, 248, 15, 16, 16, 1020,
3000 16, 245, 16, 18, 18, 1020, 15, 21, 21, 21,
3001 331, 248, 16, 22, 22, 22, 23, 23, 23, 24,
3002 24, 24, 355, 21, 25, 25, 25, 355, 1460, 22,
3003 343, 17, 23, 1463, 282, 24, 242, 242, 242, 1464,
3005 25, 243, 243, 243, 247, 247, 247, 18, 19, 19,
3006 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
3007 19, 19, 19, 402, 19, 19, 19, 19, 19, 26,
3008 26, 26, 27, 27, 27, 28, 28, 28, 343, 29,
3009 29, 29, 30, 30, 30, 26, 270, 287, 27, 291,
3010 366, 28, 301, 19, 19, 29, 291, 438, 30, 267,
3011 267, 267, 270, 287, 19, 275, 275, 275, 301, 438,
3012 258, 366, 402, 19, 20, 20, 20, 20, 20, 20,
3013 20, 20, 20, 20, 20, 20, 20, 20, 20, 544,
3014 20, 20, 20, 20, 20, 31, 31, 31, 32, 32,
3016 32, 33, 33, 33, 544, 34, 34, 34, 35, 35,
3017 35, 31, 258, 633, 32, 559, 633, 33, 258, 20,
3018 20, 34, 306, 258, 35, 36, 36, 36, 258, 306,
3019 20, 37, 37, 37, 38, 38, 38, 737, 306, 20,
3020 737, 36, 39, 39, 39, 1465, 311, 37, 1466, 323,
3021 38, 40, 40, 40, 284, 284, 284, 377, 39, 293,
3022 293, 293, 311, 559, 294, 323, 1467, 40, 41, 41,
3023 41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
3024 41, 41, 41, 597, 41, 41, 41, 41, 41, 43,
3025 43, 43, 44, 44, 44, 45, 45, 45, 388, 46,
3027 46, 46, 47, 47, 47, 43, 371, 652, 44, 377,
3028 1471, 45, 294, 41, 41, 46, 294, 336, 47, 41,
3029 371, 652, 41, 298, 298, 298, 305, 305, 305, 308,
3030 308, 308, 597, 336, 41, 42, 42, 42, 42, 42,
3031 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
3032 388, 42, 42, 42, 42, 42, 48, 48, 48, 49,
3033 49, 49, 50, 50, 50, 369, 53, 53, 53, 54,
3034 54, 54, 48, 369, 1472, 49, 645, 318, 50, 369,
3035 42, 42, 53, 399, 318, 54, 42, 399, 404, 42,
3036 317, 317, 317, 318, 320, 320, 320, 329, 329, 329,
3038 645, 42, 51, 51, 51, 51, 51, 51, 51, 51,
3039 51, 51, 51, 51, 51, 51, 51, 624, 51, 51,
3040 51, 51, 51, 57, 57, 57, 58, 58, 58, 61,
3041 61, 61, 624, 62, 62, 62, 63, 63, 63, 57,
3042 404, 1476, 58, 1481, 657, 61, 667, 51, 51, 62,
3043 348, 363, 63, 64, 64, 64, 333, 333, 333, 341,
3044 341, 341, 345, 345, 345, 520, 348, 363, 657, 64,
3045 667, 51, 52, 52, 52, 52, 52, 52, 52, 52,
3046 52, 52, 52, 52, 52, 52, 52, 670, 52, 52,
3047 52, 52, 52, 65, 65, 65, 66, 66, 66, 67,
3049 67, 67, 520, 68, 68, 68, 71, 71, 71, 65,
3050 487, 670, 66, 358, 487, 67, 1482, 52, 52, 68,
3051 358, 854, 71, 72, 72, 72, 357, 357, 357, 358,
3052 360, 360, 360, 375, 375, 375, 379, 379, 379, 72,
3053 1487, 52, 55, 55, 55, 55, 55, 55, 55, 55,
3054 55, 55, 55, 55, 55, 55, 55, 854, 55, 55,
3055 55, 55, 55, 73, 73, 73, 74, 74, 74, 75,
3056 75, 75, 663, 76, 76, 76, 77, 77, 77, 73,
3057 382, 393, 74, 409, 421, 75, 663, 55, 55, 76,
3058 1488, 55, 77, 386, 386, 386, 382, 393, 55, 409,
3060 421, 55, 56, 56, 56, 56, 56, 56, 56, 56,
3061 56, 56, 56, 56, 56, 56, 56, 1503, 56, 56,
3062 56, 56, 56, 78, 78, 78, 81, 81, 81, 82,
3063 82, 82, 669, 85, 85, 85, 86, 86, 86, 78,
3064 428, 433, 81, 416, 447, 82, 669, 56, 56, 85,
3065 416, 56, 86, 390, 390, 390, 1504, 433, 56, 416,
3066 447, 56, 59, 59, 59, 59, 59, 59, 59, 59,
3067 59, 59, 59, 59, 59, 59, 59, 1506, 59, 59,
3068 59, 59, 59, 87, 87, 87, 88, 88, 88, 89,
3069 89, 89, 428, 90, 90, 90, 91, 91, 91, 87,
3071 1101, 1508, 88, 1510, 1101, 89, 372, 59, 59, 90,
3072 453, 458, 91, 59, 372, 442, 59, 453, 372, 372,
3073 401, 401, 401, 406, 406, 406, 453, 458, 59, 60,
3074 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
3075 60, 60, 60, 60, 1511, 60, 60, 60, 60, 60,
3076 92, 92, 92, 95, 95, 95, 96, 96, 96, 502,
3077 97, 97, 97, 98, 98, 98, 92, 442, 1133, 95,
3078 1517, 1518, 96, 1519, 60, 60, 97, 469, 480, 98,
3079 60, 1133, 504, 60, 415, 415, 415, 418, 418, 418,
3080 425, 425, 425, 469, 480, 60, 69, 69, 69, 69,
3082 69, 69, 69, 69, 69, 69, 69, 69, 69, 69,
3083 69, 502, 69, 69, 69, 69, 69, 99, 99, 99,
3084 100, 100, 100, 101, 101, 101, 506, 102, 102, 102,
3085 105, 105, 105, 99, 504, 1520, 100, 1521, 1522, 101,
3086 1524, 69, 69, 102, 496, 491, 105, 69, 430, 430,
3087 430, 440, 440, 440, 444, 444, 444, 452, 452, 452,
3088 496, 491, 69, 70, 70, 70, 70, 70, 70, 70,
3089 70, 70, 70, 70, 70, 70, 70, 70, 506, 70,
3090 70, 70, 70, 70, 106, 106, 106, 107, 107, 107,
3091 108, 108, 108, 522, 109, 109, 109, 110, 110, 110,
3093 106, 1525, 1526, 107, 491, 464, 108, 1527, 70, 70,
3094 109, 891, 464, 110, 70, 455, 455, 455, 463, 463,
3095 463, 464, 466, 466, 466, 474, 474, 474, 891, 70,
3096 79, 79, 79, 79, 79, 79, 79, 79, 79, 79,
3097 79, 79, 79, 79, 79, 522, 79, 79, 79, 79,
3098 79, 111, 111, 111, 112, 112, 112, 115, 115, 115,
3099 584, 116, 116, 116, 119, 119, 119, 111, 511, 527,
3100 112, 475, 538, 115, 1424, 79, 79, 116, 475, 79,
3101 119, 477, 477, 477, 511, 527, 79, 475, 538, 79,
3102 489, 489, 489, 79, 1424, 79, 79, 80, 80, 80,
3104 80, 80, 80, 80, 80, 80, 80, 80, 80, 80,
3105 80, 80, 584, 80, 80, 80, 80, 80, 120, 120,
3106 120, 121, 121, 121, 122, 122, 122, 671, 123, 123,
3107 123, 124, 124, 124, 120, 552, 564, 121, 490, 575,
3108 122, 671, 80, 80, 123, 490, 80, 124, 493, 493,
3109 493, 552, 564, 80, 490, 575, 80, 500, 500, 500,
3110 80, 1530, 80, 80, 83, 83, 83, 83, 83, 83,
3111 83, 83, 83, 83, 83, 83, 83, 83, 83, 83,
3112 83, 83, 83, 83, 83, 83, 83, 83, 83, 83,
3113 83, 83, 83, 83, 83, 83, 83, 83, 83, 83,
3115 83, 83, 83, 83, 83, 83, 83, 83, 83, 83,
3116 83, 83, 83, 83, 83, 83, 83, 83, 83, 83,
3117 83, 83, 83, 83, 83, 83, 83, 83, 83, 83,
3118 83, 83, 83, 83, 83, 83, 83, 83, 93, 93,
3119 93, 93, 93, 93, 93, 93, 93, 93, 93, 93,
3120 93, 93, 93, 1531, 93, 93, 93, 93, 93, 125,
3121 125, 125, 126, 126, 126, 129, 129, 129, 1534, 130,
3122 130, 130, 131, 131, 131, 125, 503, 589, 126, 1536,
3123 555, 129, 542, 93, 93, 130, 542, 555, 131, 503,
3124 542, 503, 599, 589, 93, 94, 94, 94, 94, 94,
3126 94, 94, 94, 94, 94, 94, 94, 94, 94, 94,
3127 1538, 94, 94, 94, 94, 94, 132, 132, 132, 133,
3128 133, 133, 134, 134, 134, 646, 135, 135, 135, 136,
3129 136, 136, 132, 1545, 604, 133, 646, 1546, 134, 646,
3130 94, 94, 135, 1547, 599, 136, 508, 508, 508, 280,
3131 604, 94, 103, 103, 103, 103, 103, 103, 103, 103,
3132 103, 103, 103, 103, 103, 103, 103, 1548, 103, 103,
3133 103, 103, 103, 139, 139, 139, 140, 140, 140, 143,
3134 143, 143, 658, 144, 144, 144, 1550, 280, 615, 139,
3135 865, 1556, 140, 658, 1138, 143, 658, 103, 103, 144,
3137 103, 280, 103, 280, 615, 280, 865, 1138, 103, 519,
3138 519, 519, 524, 524, 524, 103, 501, 985, 103, 104,
3139 104, 104, 104, 104, 104, 104, 104, 104, 104, 104,
3140 104, 104, 104, 104, 985, 104, 104, 104, 104, 104,
3141 147, 147, 147, 148, 148, 148, 151, 151, 151, 793,
3142 152, 152, 152, 1558, 1560, 501, 147, 1084, 1561, 148,
3143 793, 1566, 151, 793, 104, 104, 152, 104, 501, 104,
3144 501, 532, 532, 532, 1084, 104, 535, 535, 535, 546,
3145 546, 546, 104, 1568, 1569, 104, 113, 113, 113, 113,
3146 113, 113, 113, 113, 113, 113, 113, 113, 113, 113,
3148 113, 1571, 113, 113, 113, 113, 113, 153, 153, 153,
3149 154, 154, 154, 157, 157, 157, 795, 158, 158, 158,
3150 159, 159, 159, 153, 1572, 1573, 154, 533, 547, 157,
3151 795, 113, 113, 158, 533, 547, 159, 113, 549, 549,
3152 549, 1574, 113, 533, 547, 557, 557, 557, 561, 561,
3153 561, 569, 569, 569, 113, 114, 114, 114, 114, 114,
3154 114, 114, 114, 114, 114, 114, 114, 114, 114, 114,
3155 1577, 114, 114, 114, 114, 114, 160, 160, 160, 161,
3156 161, 161, 162, 162, 162, 1578, 163, 163, 163, 164,
3157 164, 164, 160, 1579, 1581, 161, 570, 651, 162, 1584,
3159 114, 114, 163, 570, 651, 164, 114, 572, 572, 572,
3160 651, 114, 570, 582, 582, 582, 586, 586, 586, 596,
3161 596, 596, 1593, 114, 117, 117, 117, 117, 117, 117,
3162 117, 117, 117, 117, 117, 117, 117, 117, 117, 1596,
3163 117, 117, 117, 117, 117, 165, 165, 165, 166, 166,
3164 166, 167, 167, 167, 796, 168, 168, 168, 169, 169,
3165 169, 165, 1604, 1236, 166, 796, 1606, 167, 796, 117,
3166 117, 168, 1608, 1609, 169, 1236, 1610, 117, 118, 118,
3167 118, 118, 118, 118, 118, 118, 118, 118, 118, 118,
3168 118, 118, 118, 1612, 118, 118, 118, 118, 118, 170,
3170 170, 170, 171, 171, 171, 172, 172, 172, 1617, 173,
3171 173, 173, 174, 174, 174, 170, 1333, 1620, 171, 1621,
3172 1623, 172, 1628, 118, 118, 173, 1629, 1632, 174, 1333,
3173 1635, 118, 127, 127, 127, 127, 127, 127, 127, 127,
3174 127, 127, 127, 127, 127, 127, 127, 1628, 127, 127,
3175 127, 127, 127, 175, 175, 175, 176, 176, 176, 179,
3176 179, 179, 1636, 180, 180, 180, 181, 181, 181, 175,
3177 1637, 1638, 176, 609, 1639, 179, 1640, 127, 127, 180,
3178 609, 127, 181, 601, 601, 601, 1641, 1642, 127, 609,
3179 1644, 127, 612, 612, 612, 621, 621, 621, 127, 128,
3181 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
3182 128, 128, 128, 128, 1645, 128, 128, 128, 128, 128,
3183 182, 182, 182, 183, 183, 183, 184, 184, 184, 1647,
3184 185, 185, 185, 186, 186, 186, 182, 1648, 1651, 183,
3185 622, 1652, 184, 1654, 128, 128, 185, 622, 128, 186,
3186 623, 623, 623, 1656, 1659, 128, 622, 1660, 128, 632,
3187 632, 632, 1118, 1118, 1118, 128, 137, 137, 137, 137,
3188 137, 137, 137, 137, 137, 137, 137, 137, 137, 137,
3189 137, 1661, 137, 137, 137, 137, 137, 189, 189, 189,
3190 190, 190, 190, 193, 193, 193, 1662, 194, 194, 194,
3192 197, 197, 197, 189, 1663, 1665, 190, 655, 662, 193,
3193 1666, 137, 137, 194, 655, 662, 197, 137, 632, 1670,
3194 655, 662, 137, 138, 138, 138, 138, 138, 138, 138,
3195 138, 138, 138, 138, 138, 138, 138, 138, 1678, 138,
3196 138, 138, 138, 138, 198, 198, 198, 199, 199, 199,
3197 200, 200, 200, 1682, 201, 201, 201, 202, 202, 202,
3198 198, 1683, 1695, 199, 668, 794, 200, 1699, 138, 138,
3199 201, 668, 794, 202, 138, 1703, 1704, 668, 794, 138,
3200 141, 141, 141, 141, 141, 141, 141, 141, 141, 141,
3201 141, 141, 141, 141, 141, 1706, 141, 141, 141, 141,
3203 141, 203, 203, 203, 204, 204, 204, 207, 207, 207,
3204 1707, 208, 208, 208, 211, 211, 211, 203, 1708, 1711,
3205 204, 797, 1713, 207, 1714, 141, 141, 208, 797, 1717,
3206 211, 212, 212, 212, 797, 1718, 141, 868, 868, 868,
3207 1725, 868, 1139, 1139, 1139, 1736, 1737, 212, 1738, 141,
3208 142, 142, 142, 142, 142, 142, 142, 142, 142, 142,
3209 142, 142, 142, 142, 142, 1739, 142, 142, 142, 142,
3210 142, 213, 213, 213, 214, 214, 214, 215, 215, 215,
3211 1741, 216, 216, 216, 217, 217, 217, 213, 952, 1749,
3212 214, 1751, 1755, 215, 1758, 142, 142, 216, 952, 1760,
3214 217, 218, 218, 218, 1761, 952, 142, 877, 877, 877,
3215 1763, 877, 1764, 1765, 877, 1766, 1770, 218, 1771, 142,
3216 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
3217 145, 145, 145, 145, 145, 1772, 145, 145, 145, 145,
3218 145, 221, 221, 221, 222, 222, 222, 223, 223, 223,
3219 1774, 224, 224, 224, 225, 225, 225, 221, 1778, 1782,
3220 222, 1786, 1788, 223, 1790, 145, 145, 224, 1796, 1803,
3221 225, 1440, 1440, 1440, 1442, 1442, 1442, 1807, 881, 881,
3222 881, 145, 900, 900, 900, 1808, 145, 146, 146, 146,
3223 146, 146, 146, 146, 146, 146, 146, 146, 146, 146,
3225 146, 146, 1810, 146, 146, 146, 146, 146, 226, 226,
3226 226, 227, 227, 227, 228, 228, 228, 1440, 1822, 1823,
3227 1442, 640, 640, 640, 226, 1824, 1826, 227, 1827, 1829,
3228 228, 1825, 146, 146, 231, 231, 232, 232, 640, 231,
3229 426, 232, 881, 912, 912, 912, 900, 1825, 146, 231,
3230 426, 232, 1817, 146, 149, 149, 149, 149, 149, 149,
3231 149, 149, 149, 149, 149, 149, 149, 149, 149, 1817,
3232 149, 149, 149, 149, 149, 235, 235, 235, 231, 426,
3233 232, 236, 236, 236, 1830, 426, 1831, 1832, 687, 687,
3234 687, 235, 426, 879, 879, 879, 426, 236, 279, 149,
3236 149, 1834, 149, 149, 149, 687, 1818, 912, 279, 1835,
3237 149, 879, 1839, 149, 996, 996, 996, 1445, 1445, 1445,
3238 149, 150, 150, 150, 150, 150, 150, 150, 150, 150,
3239 150, 150, 150, 150, 150, 150, 279, 150, 150, 150,
3240 150, 150, 703, 703, 703, 704, 704, 704, 1818, 1841,
3241 279, 1842, 279, 1819, 279, 715, 715, 715, 1843, 703,
3242 1844, 1845, 704, 919, 919, 919, 150, 150, 1846, 150,
3243 150, 150, 715, 1448, 1448, 1448, 1844, 150, 996, 1847,
3244 150, 919, 1453, 1453, 1453, 1848, 1819, 150, 155, 155,
3245 155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
3247 155, 155, 155, 1851, 155, 155, 155, 155, 155, 717,
3248 717, 717, 732, 732, 732, 738, 738, 738, 747, 747,
3249 747, 748, 748, 748, 1853, 1858, 717, 1860, 1865, 732,
3250 1883, 1889, 738, 155, 155, 747, 1890, 1891, 748, 758,
3251 758, 758, 927, 927, 927, 1895, 927, 1896, 1900, 927,
3252 1903, 1459, 1459, 1459, 1904, 1907, 758, 155, 156, 156,
3253 156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
3254 156, 156, 156, 1908, 156, 156, 156, 156, 156, 766,
3255 766, 766, 770, 770, 770, 783, 783, 783, 809, 809,
3256 809, 815, 815, 815, 1914, 1920, 766, 1459, 1922, 770,
3258 1923, 1926, 783, 156, 156, 809, 1932, 1934, 815, 832,
3259 832, 832, 941, 941, 941, 1940, 941, 1944, 1947, 941,
3260 1951, 1461, 1461, 1461, 1953, 1954, 832, 156, 177, 177,
3261 177, 177, 177, 177, 177, 177, 177, 177, 177, 177,
3262 177, 177, 177, 1955, 177, 177, 177, 177, 177, 838,
3263 838, 838, 844, 844, 844, 852, 852, 852, 876, 876,
3264 876, 915, 915, 915, 1956, 1958, 838, 1461, 1964, 844,
3265 1966, 1968, 852, 177, 177, 876, 1970, 1983, 915, 1984,
3266 1985, 177, 1988, 177, 1989, 1991, 177, 1462, 1462, 1462,
3267 177, 1643, 1643, 1643, 177, 178, 178, 178, 178, 178,
3269 178, 178, 178, 178, 178, 178, 178, 178, 178, 178,
3270 1992, 178, 178, 178, 178, 178, 1993, 880, 880, 880,
3271 917, 917, 917, 1995, 923, 923, 923, 916, 916, 916,
3272 918, 918, 918, 1812, 2006, 880, 2007, 917, 1990, 1812,
3273 178, 178, 923, 1812, 916, 2000, 1990, 918, 178, 1812,
3274 178, 2000, 2008, 178, 880, 2009, 2002, 178, 1646, 1646,
3275 1646, 178, 187, 187, 187, 187, 187, 187, 187, 187,
3276 187, 187, 187, 187, 187, 187, 187, 916, 187, 187,
3277 187, 187, 187, 920, 920, 920, 926, 926, 926, 918,
3278 2013, 1994, 916, 924, 924, 924, 929, 929, 929, 1994,
3280 2015, 920, 2002, 926, 931, 931, 931, 187, 187, 2016,
3281 2017, 924, 2022, 2024, 929, 943, 943, 943, 187, 943,
3282 920, 931, 943, 954, 954, 954, 2025, 954, 2026, 2029,
3283 954, 187, 188, 188, 188, 188, 188, 188, 188, 188,
3284 188, 188, 188, 188, 188, 188, 188, 2033, 188, 188,
3285 188, 188, 188, 930, 930, 930, 2040, 924, 933, 933,
3286 933, 934, 934, 934, 935, 935, 935, 932, 932, 932,
3287 2042, 930, 936, 936, 936, 933, 2044, 188, 188, 934,
3288 2065, 2069, 935, 2070, 932, 1649, 1649, 1649, 188, 936,
3289 957, 957, 957, 2071, 957, 2077, 2078, 957, 2079, 2083,
3291 930, 188, 191, 191, 191, 191, 191, 191, 191, 191,
3292 191, 191, 191, 191, 191, 191, 191, 932, 191, 191,
3293 191, 191, 191, 937, 937, 937, 938, 938, 938, 940,
3294 940, 940, 932, 2087, 2088, 935, 939, 939, 939, 2092,
3295 937, 949, 949, 949, 938, 2095, 940, 191, 191, 942,
3296 942, 942, 2098, 2001, 939, 2099, 191, 2100, 191, 949,
3297 2101, 2104, 191, 1650, 1650, 1650, 942, 191, 191, 192,
3298 192, 192, 192, 192, 192, 192, 192, 192, 192, 192,
3299 192, 192, 192, 192, 2001, 192, 192, 192, 192, 192,
3300 2107, 944, 944, 944, 2111, 953, 953, 953, 2112, 945,
3302 945, 945, 946, 946, 946, 2113, 2125, 939, 944, 947,
3303 947, 947, 953, 2126, 192, 192, 945, 2129, 2131, 946,
3304 972, 972, 972, 192, 972, 192, 947, 972, 2134, 192,
3305 1478, 1478, 1478, 2141, 192, 192, 195, 195, 195, 195,
3306 195, 195, 195, 195, 195, 195, 195, 195, 195, 195,
3307 195, 945, 195, 195, 195, 195, 195, 946, 2148, 2150,
3308 947, 2151, 2152, 956, 956, 956, 948, 948, 948, 958,
3309 958, 958, 969, 969, 969, 2157, 1478, 950, 950, 950,
3310 956, 195, 195, 948, 2158, 2159, 958, 195, 2160, 2161,
3311 969, 2162, 979, 979, 979, 950, 979, 2163, 2164, 979,
3313 2165, 2166, 195, 196, 196, 196, 196, 196, 196, 196,
3314 196, 196, 196, 196, 196, 196, 196, 196, 948, 196,
3315 196, 196, 196, 196, 950, 2177, 2178, 970, 970, 970,
3316 971, 971, 971, 973, 973, 973, 2181, 974, 974, 974,
3317 978, 978, 978, 2184, 2188, 970, 2189, 971, 196, 196,
3318 2192, 973, 2193, 2196, 196, 974, 2169, 978, 988, 988,
3319 988, 2170, 988, 2199, 2200, 988, 1653, 1653, 1653, 196,
3320 205, 205, 205, 205, 205, 205, 205, 205, 205, 205,
3321 205, 205, 205, 205, 205, 970, 205, 205, 205, 205,
3322 205, 983, 983, 983, 984, 984, 984, 1813, 974, 2169,
3324 987, 987, 987, 1813, 989, 989, 989, 1813, 2170, 983,
3325 2201, 2216, 984, 1813, 2217, 205, 205, 987, 2218, 2224,
3326 205, 989, 1658, 1658, 1658, 2225, 205, 206, 206, 206,
3327 206, 206, 206, 206, 206, 206, 206, 206, 206, 206,
3328 206, 206, 2219, 206, 206, 206, 206, 206, 2226, 990,
3329 990, 990, 2219, 990, 2232, 984, 990, 991, 991, 991,
3330 992, 992, 992, 994, 994, 994, 2233, 999, 999, 999,
3331 2234, 999, 206, 206, 999, 991, 2248, 206, 992, 2249,
3332 2250, 994, 2271, 206, 209, 209, 209, 209, 209, 209,
3333 209, 209, 209, 209, 209, 209, 209, 209, 209, 2272,
3335 209, 209, 209, 209, 209, 2278, 2283, 995, 995, 995,
3336 998, 998, 998, 1003, 1003, 1003, 2285, 2286, 1004, 1004,
3337 1004, 992, 1006, 1006, 1006, 995, 2291, 998, 2292, 209,
3338 209, 1003, 209, 2293, 209, 2294, 1004, 2295, 2296, 1006,
3339 209, 1007, 1007, 1007, 2297, 1007, 2298, 2299, 1007, 2300,
3340 2305, 209, 210, 210, 210, 210, 210, 210, 210, 210,
3341 210, 210, 210, 210, 210, 210, 210, 995, 210, 210,
3342 210, 210, 210, 1004, 1008, 1008, 1008, 1010, 1010, 1010,
3343 2306, 1013, 1013, 1013, 2308, 2309, 1009, 1009, 1009, 1011,
3344 1011, 1011, 1008, 1011, 1010, 2310, 1011, 210, 210, 1013,
3346 210, 2307, 210, 2303, 1009, 1023, 1023, 1023, 210, 1023,
3347 2307, 2304, 1023, 1657, 1657, 1657, 1664, 1664, 1664, 210,
3348 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
3349 219, 219, 219, 219, 219, 2303, 219, 219, 219, 219,
3350 219, 1009, 1017, 1017, 1017, 1022, 1022, 1022, 2304, 1014,
3351 1014, 1014, 2311, 1018, 1018, 1018, 1024, 1024, 1024, 1657,
3352 1017, 2313, 1022, 2312, 2314, 219, 219, 1014, 2317, 2318,
3353 219, 1018, 2312, 1024, 2321, 2323, 219, 1045, 1045, 1045,
3354 219, 1045, 2324, 2326, 1045, 2327, 219, 220, 220, 220,
3355 220, 220, 220, 220, 220, 220, 220, 220, 220, 220,
3357 220, 220, 2329, 220, 220, 220, 220, 220, 2330, 2331,
3358 1014, 1027, 1027, 1027, 1018, 1667, 1667, 1667, 1028, 1028,
3359 1028, 1031, 1031, 1031, 1032, 1032, 1032, 2343, 2344, 1027,
3360 2345, 2346, 220, 220, 2347, 2350, 1028, 220, 2352, 1031,
3361 2358, 2359, 1032, 220, 1051, 1051, 1051, 220, 1051, 2366,
3362 2367, 1051, 2368, 220, 229, 229, 229, 229, 229, 229,
3363 229, 229, 229, 229, 229, 229, 229, 229, 229, 1028,
3364 229, 229, 229, 229, 229, 1041, 1041, 1041, 1042, 1042,
3365 1042, 2354, 1032, 2376, 1044, 1044, 1044, 1047, 1047, 1047,
3366 1048, 1048, 1048, 1041, 2354, 2377, 1042, 2394, 2355, 229,
3368 229, 1044, 1067, 1067, 1067, 1047, 1067, 229, 1048, 1067,
3369 229, 2355, 1655, 1655, 1655, 2395, 2396, 229, 230, 230,
3370 230, 230, 230, 230, 230, 230, 230, 230, 230, 230,
3371 230, 230, 230, 2399, 230, 230, 230, 230, 230, 1050,
3372 1050, 1050, 1042, 1052, 1052, 1052, 2401, 2402, 1054, 1054,
3373 1054, 1058, 1058, 1058, 1048, 2403, 1050, 1059, 1059, 1059,
3374 1052, 2404, 2405, 230, 230, 1054, 1073, 1073, 1073, 1058,
3375 1073, 230, 2406, 1073, 230, 1059, 1655, 1668, 1668, 1668,
3376 2407, 230, 233, 233, 233, 233, 233, 233, 233, 233,
3377 233, 233, 233, 233, 233, 233, 233, 2408, 233, 233,
3379 233, 233, 233, 2409, 1059, 1060, 1060, 1060, 1061, 1061,
3380 1061, 2410, 1062, 1062, 1062, 1063, 1063, 1063, 1064, 1064,
3381 1064, 2411, 1060, 2412, 2417, 1061, 2418, 233, 233, 1062,
3382 1066, 1066, 1066, 1063, 233, 2416, 1064, 1079, 1079, 1079,
3383 233, 1079, 2419, 2420, 1079, 2421, 2422, 1066, 2423, 233,
3384 234, 234, 234, 234, 234, 234, 234, 234, 234, 234,
3385 234, 234, 234, 234, 234, 2424, 234, 234, 234, 234,
3386 234, 1062, 1068, 1068, 1068, 1069, 1069, 1069, 2416, 1064,
3387 1072, 1072, 1072, 1075, 1075, 1075, 1076, 1076, 1076, 2415,
3388 1068, 2425, 2426, 1069, 2427, 234, 234, 1072, 1078, 1078,
3390 1078, 1075, 234, 2414, 1076, 1082, 1082, 1082, 234, 1083,
3391 1083, 1083, 1086, 1086, 1086, 1078, 2428, 234, 276, 1671,
3392 1671, 1671, 2429, 1082, 2430, 276, 2415, 1083, 2433, 1086,
3393 1090, 1090, 1090, 2434, 276, 276, 1069, 1087, 1087, 1087,
3394 2435, 1087, 2436, 2414, 1087, 1727, 1727, 1727, 1090, 1091,
3395 1091, 1091, 1076, 1096, 1096, 1096, 2438, 2439, 1097, 1097,
3396 1097, 2450, 276, 276, 276, 1671, 2451, 1091, 2452, 276,
3397 276, 1096, 2454, 276, 276, 1083, 1097, 276, 2458, 276,
3398 276, 276, 278, 1110, 1110, 1110, 2461, 1110, 2463, 2465,
3399 1110, 1114, 1114, 1114, 1115, 1115, 1115, 2466, 278, 278,
3401 1117, 1117, 1117, 1154, 1154, 1154, 1158, 1158, 1158, 1114,
3402 2462, 2474, 1115, 1091, 1161, 1161, 1161, 2475, 1117, 2476,
3403 1154, 2462, 1097, 1158, 2464, 2488, 278, 278, 278, 1828,
3404 1828, 1828, 1161, 278, 278, 2464, 2507, 278, 278, 2502,
3405 2508, 278, 2512, 278, 278, 278, 1155, 1155, 1155, 2502,
3406 1155, 2513, 2502, 1155, 1159, 1159, 1159, 2514, 1159, 2515,
3407 2516, 1159, 1162, 1162, 1162, 1164, 1164, 1164, 1167, 1167,
3408 1167, 1168, 1168, 1168, 1170, 1170, 1170, 1172, 1172, 1172,
3409 1162, 1172, 2517, 1164, 1172, 2518, 1167, 2519, 2520, 1168,
3410 2521, 2526, 1170, 1176, 1176, 1176, 1177, 1177, 1177, 1179,
3412 1179, 1179, 1180, 1180, 1180, 1181, 1181, 1181, 2527, 1181,
3413 2528, 1176, 1181, 2529, 1177, 2530, 2531, 1179, 2532, 1180,
3414 1184, 1184, 1184, 2533, 1185, 1185, 1185, 1170, 1185, 1164,
3415 2534, 1185, 1186, 1186, 1186, 2535, 2536, 1184, 1187, 1187,
3416 1187, 1189, 1189, 1189, 1190, 1190, 1190, 2503, 1179, 2537,
3417 1186, 1191, 1191, 1191, 2538, 1191, 1187, 2503, 1191, 1189,
3418 2503, 1190, 1192, 1192, 1192, 1193, 1193, 1193, 2524, 1193,
3419 2525, 2523, 1193, 1194, 1194, 1194, 1195, 1195, 1195, 1192,
3420 1197, 1197, 1197, 1198, 1198, 1198, 2541, 1198, 2542, 2543,
3421 1198, 1194, 2545, 2546, 1195, 1201, 1201, 1201, 1197, 1201,
3423 2523, 2551, 1201, 1189, 1204, 1204, 1204, 1205, 1205, 1205,
3424 2524, 1205, 2525, 2552, 1205, 1210, 1210, 1210, 1211, 1211,
3425 1211, 1204, 1213, 1213, 1213, 1218, 1218, 1218, 2557, 1218,
3426 2561, 2562, 1218, 1210, 2563, 2564, 1211, 1221, 1221, 1221,
3427 1213, 2565, 1197, 1222, 1222, 1222, 2566, 1222, 2567, 2568,
3428 1222, 1225, 1225, 1225, 1221, 1226, 1226, 1226, 2576, 1226,
3429 2578, 2582, 1226, 1237, 1237, 1237, 2172, 2172, 1225, 2172,
3430 1213, 1238, 1238, 1238, 1240, 1240, 1240, 2172, 1241, 1241,
3431 1241, 1237, 1241, 2583, 2172, 1241, 1244, 1244, 1244, 1238,
3432 2584, 2585, 1240, 1245, 1245, 1245, 1247, 1247, 1247, 1250,
3434 1250, 1250, 2586, 2587, 1244, 1251, 1251, 1251, 2589, 1251,
3435 2601, 1245, 1251, 2602, 1247, 2604, 1250, 1257, 1257, 1257,
3436 1258, 1258, 1258, 2480, 1260, 1260, 1260, 1262, 1262, 1262,
3437 1263, 1263, 1263, 2480, 1263, 1257, 2605, 1263, 1258, 2480,
3438 2618, 1240, 1260, 2619, 1262, 1266, 1266, 1266, 2620, 1266,
3439 2621, 2623, 1266, 1269, 1269, 1269, 1247, 1270, 1270, 1270,
3440 1272, 1272, 1272, 1273, 1273, 1273, 1274, 1274, 1274, 2624,
3441 2625, 1269, 1275, 1275, 1275, 1270, 2626, 2630, 1272, 2632,
3442 1273, 1277, 1277, 1277, 1274, 1285, 1285, 1285, 2633, 1260,
3443 1275, 1279, 1279, 1279, 2629, 1279, 2634, 2596, 1279, 1277,
3445 1286, 1286, 1286, 1285, 1288, 1288, 1288, 1290, 1290, 1290,
3446 2596, 1290, 2630, 2481, 1290, 1293, 1293, 1293, 1286, 1294,
3447 1294, 1294, 1288, 2481, 2635, 1272, 1296, 1296, 1296, 2481,
3448 1277, 2636, 2637, 1293, 1297, 1297, 1297, 1294, 1297, 2638,
3449 2639, 1297, 2629, 2640, 1296, 1301, 1301, 1301, 1302, 1302,
3450 1302, 1304, 1304, 1304, 1305, 1305, 1305, 1306, 1306, 1306,
3451 1307, 1307, 1307, 1301, 1288, 2641, 1302, 2642, 2643, 1304,
3452 2644, 1305, 2647, 2648, 1306, 1308, 1308, 1308, 1307, 1310,
3453 1310, 1310, 2651, 1315, 1315, 1315, 1296, 1315, 2657, 2658,
3454 1315, 2666, 2667, 1308, 1318, 1318, 1318, 1310, 1319, 1319,
3456 1319, 1304, 1319, 2668, 1306, 1319, 1322, 1322, 1322, 2669,
3457 2670, 1318, 1323, 1323, 1323, 1325, 1325, 1325, 1328, 1328,
3458 1328, 1329, 1329, 1329, 1322, 1331, 1331, 1331, 2653, 2671,
3459 1323, 2597, 2603, 1325, 2672, 2673, 1328, 2674, 2653, 1329,
3460 1336, 1336, 1336, 1331, 2597, 2603, 1310, 1340, 1340, 1340,
3461 1341, 1341, 1341, 1343, 1343, 1343, 2606, 1336, 2678, 2681,
3462 1345, 1345, 1345, 2682, 1345, 1340, 1325, 1345, 1341, 2606,
3463 2683, 1343, 1331, 1349, 1349, 1349, 1350, 1350, 1350, 1352,
3464 1352, 1352, 1354, 1354, 1354, 2654, 1354, 2684, 2685, 1354,
3465 2686, 1349, 2687, 2690, 1350, 2654, 2694, 1352, 1357, 1357,
3467 1357, 1358, 1358, 1358, 2695, 1358, 2696, 2697, 1358, 1359,
3468 1359, 1359, 2698, 2699, 1343, 1357, 1360, 1360, 1360, 2700,
3469 1361, 1361, 1361, 2701, 1361, 2702, 1359, 1361, 1363, 1363,
3470 1363, 2703, 2704, 1360, 1365, 1365, 1365, 1366, 1366, 1366,
3471 1352, 1368, 1368, 1368, 2705, 1363, 1369, 1369, 1369, 1370,
3472 1370, 1370, 1365, 1370, 2721, 1366, 1370, 2708, 2722, 1368,
3473 1371, 1371, 1371, 1369, 1372, 1372, 1372, 2708, 1372, 2723,
3474 2724, 1372, 1374, 1374, 1374, 2725, 2726, 1371, 1375, 1375,
3475 1375, 1377, 1377, 1377, 1379, 1379, 1379, 2709, 1379, 2727,
3476 1374, 1379, 1382, 1382, 1382, 2728, 1375, 2709, 2734, 1377,
3478 2735, 1368, 1383, 1383, 1383, 1385, 1385, 1385, 2736, 2730,
3479 1382, 1388, 1388, 1388, 2739, 1388, 2740, 2741, 1388, 2742,
3480 1383, 2745, 2752, 1385, 1392, 1392, 1392, 1393, 1393, 1393,
3481 2753, 1395, 1395, 1395, 1397, 1397, 1397, 2754, 1397, 2755,
3482 2759, 1397, 1392, 2730, 2760, 1393, 2768, 2769, 1377, 1395,
3483 1401, 1401, 1401, 1402, 1402, 1402, 1403, 1403, 1403, 1405,
3484 1405, 1405, 1407, 1407, 1407, 2770, 2771, 1401, 1411, 1411,
3485 1411, 1402, 1385, 2772, 1403, 2773, 2774, 1405, 2775, 1407,
3486 1408, 1408, 1408, 2781, 1408, 1411, 2782, 1408, 1413, 1413,
3487 1413, 2784, 1395, 1414, 1414, 1414, 1416, 1416, 1416, 1418,
3489 1418, 1418, 2785, 1420, 1420, 1420, 1413, 1421, 1421, 1421,
3490 2787, 1414, 2788, 2789, 1416, 2790, 1418, 1423, 1423, 1423,
3491 1405, 1420, 1425, 1425, 1425, 1421, 1431, 1431, 1431, 1411,
3492 1468, 1468, 1468, 2791, 1468, 1423, 2792, 1468, 2793, 2794,
3493 1425, 1425, 2795, 1416, 1431, 1473, 1473, 1473, 2796, 1473,
3494 2797, 2798, 1473, 1477, 1477, 1477, 1479, 1479, 1479, 1480,
3495 1480, 1480, 2799, 2802, 1423, 1483, 1483, 1483, 1484, 1484,
3496 1484, 1477, 1484, 1479, 2803, 1484, 2804, 1480, 1489, 1489,
3497 1489, 2805, 1489, 1483, 2813, 1489, 1492, 1492, 1492, 1493,
3498 1493, 1493, 2814, 1493, 2816, 2817, 1493, 2818, 1496, 1496,
3500 1496, 2820, 1496, 2828, 1492, 1496, 1499, 1499, 1499, 1500,
3501 1500, 1500, 2829, 1500, 1477, 2831, 1500, 1505, 1505, 1505,
3502 2832, 2833, 1483, 2835, 1499, 2840, 1480, 1507, 1507, 1507,
3503 1509, 1509, 1509, 1492, 1505, 1512, 1512, 1512, 2822, 1513,
3504 1513, 1513, 2841, 1513, 2842, 1507, 1513, 1509, 1523, 1523,
3505 1523, 2843, 1512, 1499, 1514, 1514, 1514, 2845, 1514, 2846,
3506 2850, 1514, 1528, 1528, 1528, 1523, 1529, 1529, 1529, 1532,
3507 1532, 1532, 1533, 1533, 1533, 2852, 1533, 2853, 2855, 1533,
3508 1528, 2822, 1507, 2856, 1529, 2861, 1532, 1535, 1535, 1535,
3509 1537, 1537, 1537, 1539, 1539, 1539, 1540, 1540, 1540, 2862,
3511 1540, 2863, 2864, 1540, 1535, 1541, 1541, 1541, 1537, 2865,
3512 1539, 1542, 1542, 1542, 2866, 1543, 1543, 1543, 1529, 1543,
3513 2867, 2868, 1543, 1541, 1544, 1544, 1544, 1528, 1542, 1549,
3514 1549, 1549, 1551, 1551, 1551, 1552, 1552, 1552, 2869, 1553,
3515 1553, 1553, 1544, 1554, 1554, 1554, 2870, 1549, 2173, 2173,
3516 1551, 2173, 1552, 1559, 1559, 1559, 1537, 1553, 2871, 2173,
3517 1554, 1555, 1555, 1555, 2872, 1555, 2173, 2873, 1555, 2874,
3518 1559, 1541, 2875, 1557, 1557, 1557, 1562, 1562, 1562, 2876,
3519 1562, 2877, 1544, 1562, 2881, 2882, 1549, 2883, 2884, 1551,
3520 1553, 1557, 1565, 1565, 1565, 1567, 1567, 1567, 1570, 1570,
3522 1570, 1575, 1575, 1575, 1576, 1576, 1576, 2887, 1576, 1565,
3523 2888, 1576, 2889, 1567, 2890, 2891, 1570, 2892, 1575, 1580,
3524 1580, 1580, 1582, 1582, 1582, 1583, 1583, 1583, 1585, 1585,
3525 1585, 2901, 1585, 1557, 2894, 1585, 2896, 1580, 2897, 1582,
3526 1588, 1588, 1588, 1583, 1589, 1589, 1589, 2902, 1589, 2897,
3527 2896, 1589, 2904, 2905, 1590, 1590, 1590, 1588, 1590, 1567,
3528 2907, 1590, 2909, 2912, 1570, 1594, 1594, 1594, 1580, 1595,
3529 1595, 1595, 2913, 1595, 2919, 2921, 1595, 1597, 1597, 1597,
3530 2894, 2923, 1594, 2934, 1598, 1598, 1598, 1583, 1598, 2936,
3531 2938, 1598, 1601, 1601, 1601, 1597, 1601, 2939, 2942, 1601,
3533 1605, 1605, 1605, 1607, 1607, 1607, 1611, 1611, 1611, 1613,
3534 1613, 1613, 1614, 1614, 1614, 1615, 1615, 1615, 1605, 1615,
3535 2943, 1607, 1615, 2946, 1611, 2948, 1613, 1597, 2950, 1614,
3536 1616, 1616, 1616, 1618, 1618, 1618, 1619, 1619, 1619, 2952,
3537 1619, 2953, 2955, 1619, 1622, 1622, 1622, 2915, 1616, 2956,
3538 1618, 1624, 1624, 1624, 1625, 1625, 1625, 2962, 1625, 2915,
3539 2964, 1625, 1622, 1626, 1626, 1626, 1605, 2967, 1624, 1607,
3540 1611, 1627, 1627, 1627, 1630, 1630, 1630, 1669, 1669, 1669,
3541 1626, 1672, 1672, 1672, 1673, 1673, 1673, 2961, 2961, 1627,
3542 2968, 2959, 1630, 1622, 1616, 1674, 1674, 1674, 1675, 1675,
3544 1675, 1676, 1676, 1676, 1677, 1677, 1677, 1679, 1679, 1679,
3545 2900, 2916, 1674, 2972, 2973, 1675, 2981, 2928, 1676, 2983,
3546 1627, 2987, 1677, 2916, 1679, 1630, 1680, 1680, 1680, 2928,
3547 1680, 2900, 2959, 1680, 1681, 1681, 1681, 1684, 1684, 1684,
3548 2960, 1669, 1630, 2988, 2900, 1672, 2991, 2993, 1673, 1685,
3549 1685, 1685, 1681, 2995, 2960, 1684, 1686, 1686, 1686, 1687,
3550 1687, 1687, 1688, 1688, 1688, 1676, 1685, 1689, 1689, 1689,
3551 2996, 1677, 2974, 1686, 1690, 1690, 1690, 1687, 2969, 2997,
3552 1688, 1691, 1691, 1691, 1689, 1684, 2963, 2974, 1692, 1692,
3553 1692, 1690, 1692, 1681, 2980, 1692, 2969, 2963, 1691, 1693,
3555 1693, 1693, 1694, 1694, 1694, 1696, 1696, 1696, 1697, 1697,
3556 1697, 2929, 1697, 2980, 2998, 1697, 1693, 1698, 1698, 1698,
3557 1694, 2999, 1696, 2929, 1687, 3000, 3008, 1688, 3009, 1700,
3558 1700, 1700, 1690, 1700, 1698, 3010, 1700, 1705, 1705, 1705,
3559 1709, 1709, 1709, 1710, 1710, 1710, 3012, 1710, 2982, 3013,
3560 1710, 1712, 1712, 1712, 1705, 3015, 3016, 1709, 1715, 1715,
3561 1715, 3017, 1694, 1716, 1716, 1716, 3019, 2982, 1712, 2990,
3562 1719, 1719, 1719, 3024, 1719, 2903, 1715, 1719, 1722, 1722,
3563 1722, 1716, 1723, 1723, 1723, 1724, 1724, 1724, 2990, 1724,
3564 3025, 3026, 1724, 2903, 3027, 1722, 1726, 1726, 1726, 1723,
3566 1728, 1728, 1728, 3028, 1728, 3029, 2903, 1728, 1731, 1731,
3567 1731, 1735, 1735, 1735, 1726, 1732, 1732, 1732, 1716, 1732,
3568 3030, 3031, 1732, 2992, 1715, 3034, 1731, 3035, 3036, 1735,
3569 1740, 1740, 1740, 1742, 1742, 1742, 1743, 1743, 1743, 1744,
3570 1744, 1744, 2992, 1744, 3037, 3038, 1744, 3039, 1740, 3042,
3571 3043, 1742, 3044, 1743, 1731, 1745, 1745, 1745, 1746, 1746,
3572 1746, 3045, 1746, 3046, 3047, 1746, 1750, 1750, 1750, 1752,
3573 1752, 1752, 3049, 1745, 1754, 1754, 1754, 3050, 1735, 1742,
3574 3051, 1753, 1753, 1753, 1750, 1753, 1752, 3052, 1753, 3053,
3575 3054, 1754, 1756, 1756, 1756, 1757, 1757, 1757, 3055, 1757,
3577 3062, 3063, 1757, 1759, 1759, 1759, 1762, 1762, 1762, 1756,
3578 1767, 1767, 1767, 1745, 1767, 3064, 3065, 1767, 1773, 1773,
3579 1773, 1759, 3066, 3067, 1762, 1775, 1775, 1775, 1777, 1777,
3580 1777, 3073, 1750, 1776, 1776, 1776, 1773, 1776, 3074, 3060,
3581 1776, 3075, 1775, 1779, 1779, 1779, 1777, 1779, 3076, 3077,
3582 1779, 3060, 1783, 1783, 1783, 3078, 1783, 3082, 1762, 1783,
3583 1787, 1787, 1787, 1789, 1789, 1789, 1791, 1791, 1791, 1773,
3584 1792, 1792, 1792, 1793, 1793, 1793, 3061, 3083, 1787, 3085,
3585 3087, 1789, 3088, 3090, 1791, 3091, 3092, 1792, 3061, 3093,
3586 1793, 1794, 1794, 1794, 1795, 1795, 1795, 3094, 1797, 1797,
3588 1797, 3095, 1798, 1798, 1798, 3096, 1798, 3088, 1794, 1798,
3589 3097, 3098, 1795, 3099, 1789, 1797, 3100, 1791, 1799, 1799,
3590 1799, 1787, 1799, 3101, 3102, 1799, 1802, 1802, 1802, 1804,
3591 1804, 1804, 3103, 1804, 3104, 3105, 1804, 3106, 3107, 1793,
3592 3108, 1795, 3109, 3110, 1802, 1809, 1809, 1809, 1811, 1811,
3593 1811, 3111, 1811, 3114, 3115, 1811, 3117, 1814, 1814, 1814,
3594 1815, 1815, 1815, 1809, 1815, 3116, 3118, 1815, 1816, 1816,
3595 1816, 3119, 3120, 1802, 1814, 1821, 1821, 1821, 1833, 1833,
3596 1833, 1836, 1836, 1836, 3116, 3121, 1816, 1837, 1837, 1837,
3597 3122, 3123, 1821, 1838, 1838, 1838, 1809, 1840, 1840, 1840,
3599 1849, 1849, 1849, 1850, 1850, 1850, 1852, 1852, 1852, 1854,
3600 1854, 1854, 3124, 1855, 1855, 1855, 3125, 1855, 3126, 1816,
3601 1855, 1856, 1856, 1856, 3127, 3128, 1854, 1857, 1857, 1857,
3602 3129, 1857, 3130, 3131, 1857, 1859, 1859, 1859, 1856, 1861,
3603 1861, 1861, 3132, 1861, 3133, 3134, 1861, 1864, 1864, 1864,
3604 1866, 1866, 1866, 1859, 1867, 1867, 1867, 1868, 1868, 1868,
3605 3135, 3136, 1869, 1869, 1869, 1864, 1869, 1866, 3137, 1869,
3606 3138, 3142, 1867, 3144, 1868, 1870, 1870, 1870, 1871, 1871,
3607 1871, 3145, 1871, 3141, 3147, 1871, 1872, 1872, 1872, 1873,
3608 1873, 1873, 1870, 1874, 1874, 1874, 3148, 3149, 1864, 3150,
3610 3151, 1859, 3152, 3141, 1872, 3153, 3154, 1873, 3155, 3156,
3611 1874, 3157, 1875, 1875, 1875, 1867, 1875, 3158, 3159, 1875,
3612 1876, 1876, 1876, 1877, 1877, 1877, 3160, 1877, 3161, 3162,
3613 1877, 1880, 1880, 1880, 1881, 1881, 1881, 1876, 1881, 3163,
3614 3165, 1881, 1882, 1882, 1882, 1884, 1884, 1884, 1880, 1884,
3615 3167, 1872, 1884, 3164, 1873, 1887, 1887, 1887, 3169, 3164,
3616 1882, 1888, 1888, 1888, 3170, 1888, 3171, 3172, 1888, 1892,
3617 1892, 1892, 1887, 1893, 1893, 1893, 3173, 1893, 3174, 3176,
3618 1893, 1894, 1894, 1894, 3177, 3179, 1892, 1897, 1897, 1897,
3619 3180, 1897, 3182, 1882, 1897, 1901, 1901, 1901, 1894, 1902,
3621 1902, 1902, 3183, 1902, 3188, 3189, 1902, 1905, 1905, 1905,
3622 3185, 3190, 1901, 1906, 1906, 1906, 1909, 1909, 1909, 1910,
3623 1910, 1910, 3191, 1910, 3185, 1905, 1910, 3193, 1911, 1911,
3624 1911, 1906, 1911, 1909, 3195, 1911, 1915, 1915, 1915, 1917,
3625 1917, 1917, 1918, 1918, 1918, 1919, 1919, 1919, 1921, 1921,
3626 1921, 1924, 1924, 1924, 1915, 1927, 1927, 1927, 1905, 3197,
3627 1918, 3199, 3201, 1919, 3202, 1921, 1906, 3203, 3204, 1924,
3628 1928, 1928, 1928, 1927, 1928, 3205, 3206, 1928, 1931, 1931,
3629 1931, 1933, 1933, 1933, 1935, 1935, 1935, 3207, 1935, 3208,
3630 3210, 1935, 3212, 3214, 1921, 1919, 1931, 3215, 3216, 1933,
3632 1918, 1938, 1938, 1938, 1927, 1939, 1939, 1939, 3217, 1939,
3633 3258, 3234, 1939, 1941, 1941, 1941, 3218, 1941, 1938, 3234,
3634 1941, 1945, 1945, 1945, 1931, 1948, 1948, 1948, 1949, 1949,
3635 1949, 1950, 1950, 1950, 1952, 1952, 1952, 3226, 3219, 1945,
3636 3227, 3242, 1948, 1957, 1957, 1957, 1949, 1959, 1959, 1959,
3637 1458, 1959, 3218, 3258, 1959, 1962, 1962, 1962, 1965, 1965,
3638 1965, 1957, 1967, 1967, 1967, 1969, 1969, 1969, 1971, 1971,
3639 1971, 3228, 3229, 1962, 3219, 1965, 1972, 1972, 1972, 3235,
3640 1967, 3244, 3242, 1969, 3230, 3226, 1971, 3235, 3227, 1949,
3641 1973, 1973, 1973, 1972, 1973, 3246, 3236, 1973, 1974, 1974,
3643 1974, 1975, 1975, 1975, 3236, 1976, 1976, 1976, 1957, 1976,
3644 3232, 3238, 1976, 3231, 3232, 1974, 3244, 3239, 1975, 3228,
3645 3229, 1967, 1977, 1977, 1977, 1978, 1978, 1978, 3230, 1979,
3646 1979, 1979, 1971, 1979, 3245, 3237, 1979, 1982, 1982, 1982,
3647 1977, 3246, 1978, 3237, 1974, 1986, 1986, 1986, 1987, 1987,
3648 1987, 1457, 1996, 1996, 1996, 1982, 1996, 3231, 3238, 1996,
3649 1999, 1999, 1999, 1986, 3239, 1987, 2003, 2003, 2003, 3245,
3650 1456, 1978, 2004, 2004, 2004, 1977, 2004, 1455, 1999, 2004,
3651 2005, 2005, 2005, 2003, 2010, 2010, 2010, 2011, 2011, 2011,
3652 1982, 2012, 2012, 2012, 2014, 2014, 2014, 2018, 2018, 2018,
3654 2019, 2019, 2019, 2020, 2020, 2020, 1999, 2021, 2021, 2021,
3655 2023, 2023, 2023, 2027, 2027, 2027, 2028, 2028, 2028, 2030,
3656 2030, 2030, 2031, 2031, 2031, 2032, 2032, 2032, 2034, 2034,
3657 2034, 3247, 2034, 3252, 3243, 2034, 2037, 2037, 2037, 3260,
3658 2037, 3240, 3252, 2037, 2041, 2041, 2041, 2043, 2043, 2043,
3659 2045, 2045, 2045, 2021, 2046, 2046, 2046, 3241, 2046, 3233,
3660 3270, 2046, 2041, 3233, 3248, 2043, 3264, 2045, 2047, 2047,
3661 2047, 2032, 2048, 2048, 2048, 3243, 2048, 3247, 3240, 2048,
3662 2051, 2051, 2051, 3249, 2051, 3260, 2047, 2051, 2054, 2054,
3663 2054, 2055, 2055, 2055, 3241, 2041, 2056, 2056, 2056, 3264,
3665 2056, 3248, 3270, 2056, 3250, 3261, 2054, 2043, 2054, 2055,
3666 3256, 3251, 2059, 2059, 2059, 2060, 2060, 2060, 1454, 2060,
3667 3249, 3290, 2060, 2064, 2064, 2064, 3253, 2055, 2047, 2059,
3668 2061, 2061, 2061, 3254, 2061, 3253, 3250, 2061, 2066, 2066,
3669 2066, 2064, 2066, 3251, 3256, 2066, 2072, 2072, 2072, 3257,
3670 2072, 3261, 3255, 2072, 2075, 2075, 2075, 2076, 2076, 2076,
3671 3262, 2076, 3290, 3265, 2076, 2080, 2080, 2080, 3254, 2080,
3672 3259, 2075, 2080, 2084, 2084, 2084, 2085, 2085, 2085, 2086,
3673 2086, 2086, 3263, 3257, 2089, 2089, 2089, 3255, 2089, 2064,
3674 2084, 2089, 3272, 3271, 2085, 3262, 3265, 2086, 2093, 2093,
3676 2093, 2094, 2094, 2094, 2096, 2096, 2096, 2097, 2097, 2097,
3677 3284, 2097, 1452, 3259, 2097, 1451, 2093, 3263, 3284, 2094,
3678 3268, 2096, 3269, 2102, 2102, 2102, 2103, 2103, 2103, 2105,
3679 2105, 2105, 2108, 2108, 2108, 3271, 2108, 3266, 3272, 2108,
3680 2085, 2102, 3267, 1450, 2103, 3273, 3266, 2105, 2114, 2114,
3681 2114, 3267, 2094, 2093, 2115, 2115, 2115, 3268, 2115, 3269,
3682 3274, 2115, 2116, 2116, 2116, 2114, 2117, 2117, 2117, 2118,
3683 2118, 2118, 2119, 2119, 2119, 2120, 2120, 2120, 3278, 3275,
3684 2116, 2121, 2121, 2121, 2122, 2122, 2122, 3278, 2103, 2102,
3685 3276, 3273, 2120, 2123, 2123, 2123, 3280, 3274, 2121, 3279,
3687 1449, 2122, 2124, 2124, 2124, 2127, 2127, 2127, 3279, 3291,
3688 2123, 2128, 2128, 2128, 3286, 2128, 3275, 3277, 2128, 3276,
3689 2124, 3306, 2127, 2130, 2130, 2130, 2116, 2132, 2132, 2132,
3690 3280, 3285, 2121, 2135, 2135, 2135, 2136, 2136, 2136, 3285,
3691 2136, 2130, 3287, 2136, 3302, 2132, 3277, 3281, 2122, 3292,
3692 3291, 2135, 2123, 2139, 2139, 2139, 2140, 2140, 2140, 3282,
3693 2140, 3286, 3306, 2140, 2142, 2142, 2142, 2124, 2142, 1447,
3694 2139, 2142, 2145, 2145, 2145, 2146, 2146, 2146, 2147, 2147,
3695 2147, 3281, 2147, 3288, 3292, 2147, 2149, 2149, 2149, 3287,
3696 2145, 3302, 2146, 2153, 2153, 2153, 2155, 2155, 2155, 2156,
3698 2156, 2156, 3300, 2156, 2149, 3282, 2156, 2167, 2167, 2167,
3699 3300, 2153, 1446, 2155, 2168, 2168, 2168, 2171, 2171, 2171,
3700 3288, 2171, 3324, 2145, 2171, 2167, 2174, 2174, 2174, 2175,
3701 2175, 2175, 2168, 2176, 2176, 2176, 3324, 2149, 2179, 2179,
3702 2179, 2180, 2180, 2180, 2182, 2182, 2182, 2183, 2183, 2183,
3703 2185, 2185, 2185, 2186, 2186, 2186, 2167, 2187, 2187, 2187,
3704 2190, 2190, 2190, 2191, 2191, 2191, 2194, 2194, 2194, 2195,
3705 2195, 2195, 2197, 2197, 2197, 2198, 2198, 2198, 2202, 2202,
3706 2202, 2203, 2203, 2203, 2204, 2204, 2204, 2205, 2205, 2205,
3707 2206, 2206, 2206, 3289, 2206, 3283, 2202, 2206, 2209, 2209,
3709 2209, 3293, 2204, 3298, 2205, 2210, 2210, 2210, 2211, 2211,
3710 2211, 2212, 2212, 2212, 3296, 2212, 2209, 3307, 2212, 2215,
3711 2215, 2215, 3294, 2210, 3301, 3299, 2211, 2220, 2220, 2220,
3712 3289, 2220, 3301, 1444, 2220, 3298, 3293, 2215, 2223, 2223,
3713 2223, 3283, 2210, 2227, 2227, 2227, 2229, 2229, 2229, 2209,
3714 2204, 3296, 2228, 2228, 2228, 2223, 2228, 3299, 3307, 2228,
3715 2227, 2230, 2230, 2230, 2229, 2235, 2235, 2235, 3294, 2211,
3716 2236, 2236, 2236, 2237, 2237, 2237, 2241, 2241, 2241, 2230,
3717 2238, 2238, 2238, 2235, 2238, 3297, 3304, 2238, 2236, 1443,
3718 2237, 1441, 3295, 2241, 2242, 2242, 2242, 2243, 2243, 2243,
3720 2244, 2244, 2244, 2245, 2245, 2245, 2246, 2246, 2246, 3303,
3721 3305, 2242, 3320, 1439, 2243, 1438, 1437, 2244, 1436, 2237,
3722 3316, 2245, 3297, 3304, 2246, 2235, 2247, 2247, 2247, 3316,
3723 1435, 2241, 2251, 2251, 2251, 2252, 2252, 2252, 3295, 2252,
3724 3310, 3311, 2252, 2247, 2255, 2255, 2255, 3305, 2243, 2256,
3725 2256, 2256, 2257, 2257, 2257, 2242, 3303, 2258, 2258, 2258,
3726 3320, 2258, 2255, 2245, 2258, 2259, 2259, 2259, 3314, 2257,
3727 2246, 2260, 2260, 2260, 2261, 2261, 2261, 2262, 2262, 2262,
3728 1434, 3308, 2259, 2263, 2263, 2263, 3310, 3311, 2260, 3312,
3729 3313, 2261, 2264, 2264, 2264, 2262, 1433, 2265, 2265, 2265,
3731 3314, 2265, 1430, 2255, 2265, 3309, 2268, 2268, 2268, 2264,
3732 2269, 2269, 2269, 2273, 2273, 2273, 3308, 2275, 2275, 2275,
3733 3315, 2275, 2260, 2268, 2275, 2261, 3312, 3313, 2269, 3317,
3734 3325, 2273, 2279, 2279, 2279, 2280, 2280, 2280, 3317, 2280,
3735 3309, 3325, 2280, 2284, 2284, 2284, 1429, 2288, 2288, 2288,
3736 2279, 2288, 3315, 1428, 2288, 2301, 2301, 2301, 2302, 2302,
3737 2302, 2284, 2315, 2315, 2315, 2316, 2316, 2316, 2319, 2319,
3738 2319, 3321, 2268, 2301, 3318, 1419, 2302, 2320, 2320, 2320,
3739 2322, 2322, 2322, 2325, 2325, 2325, 2328, 2328, 2328, 2284,
3740 2332, 2332, 2332, 2334, 2334, 2334, 2335, 2335, 2335, 1417,
3742 2336, 2336, 2336, 2337, 2337, 2337, 3318, 2337, 2332, 3319,
3743 2337, 2338, 2338, 2338, 2335, 3322, 2301, 2336, 1412, 3321,
3744 2302, 2339, 2339, 2339, 2340, 2340, 2340, 3323, 1406, 2338,
3745 2341, 2341, 2341, 2348, 2348, 2348, 2349, 2349, 2349, 2339,
3746 2349, 3319, 2340, 2349, 2351, 2351, 2351, 3322, 2341, 1400,
3747 2348, 2353, 2353, 2353, 1396, 2353, 1391, 1387, 2353, 3323,
3748 1386, 2351, 2356, 2356, 2356, 2360, 2360, 2360, 2361, 2361,
3749 2361, 2362, 2362, 2362, 1378, 2364, 2364, 2364, 1373, 1364,
3750 2356, 1362, 2360, 1353, 1348, 2339, 2361, 1344, 1339, 2362,
3751 1338, 2340, 2364, 2365, 2365, 2365, 1337, 2365, 1335, 1334,
3753 2365, 2369, 2369, 2369, 2370, 2370, 2370, 2371, 2371, 2371,
3754 1332, 2371, 1327, 1326, 2371, 2372, 2372, 2372, 2369, 1321,
3755 1320, 2370, 2373, 2373, 2373, 2361, 2374, 2374, 2374, 1314,
3756 2375, 2375, 2375, 2372, 2375, 1313, 1312, 2375, 1311, 1300,
3757 2373, 1289, 1284, 2374, 2378, 2378, 2378, 2379, 2379, 2379,
3758 2380, 2380, 2380, 2381, 2381, 2381, 1283, 2381, 1282, 1278,
3759 2381, 2378, 2384, 2384, 2384, 2385, 2385, 2385, 2380, 2385,
3760 1261, 1256, 2385, 2386, 2386, 2386, 2387, 2387, 2387, 2384,
3761 2388, 2388, 2388, 2373, 2390, 2390, 2390, 2391, 2391, 2391,
3762 2386, 1255, 1254, 2387, 1249, 2392, 2392, 2392, 2388, 2392,
3764 1248, 1235, 2392, 1234, 2391, 2393, 2393, 2393, 2397, 2397,
3765 2397, 2400, 2400, 2400, 2413, 2413, 2413, 2431, 2431, 2431,
3766 1233, 1232, 2393, 2432, 2432, 2432, 2397, 1231, 1230, 2400,
3767 1229, 1228, 2413, 2437, 2437, 2437, 2440, 2440, 2440, 2441,
3768 2441, 2441, 2443, 2443, 2443, 1227, 2443, 1217, 1216, 2443,
3769 2446, 2446, 2446, 2440, 2448, 2448, 2448, 2441, 1215, 1214,
3770 2393, 2449, 2449, 2449, 2453, 2453, 2453, 1209, 2446, 2455,
3771 2455, 2455, 2448, 2455, 2413, 1208, 2455, 2400, 1207, 2449,
3772 1206, 2453, 2459, 2459, 2459, 2460, 2460, 2460, 1183, 2460,
3773 1182, 1175, 2460, 2467, 2467, 2467, 2468, 2468, 2468, 2459,
3775 2469, 2469, 2469, 1171, 2469, 1166, 1165, 2469, 1160, 1157,
3776 2467, 1156, 1153, 2468, 1152, 2448, 2470, 2470, 2470, 2471,
3777 2471, 2471, 1151, 2471, 1150, 1149, 2471, 2449, 2477, 2477,
3778 2477, 2478, 2478, 2478, 2470, 2478, 1148, 1147, 2478, 2479,
3779 2479, 2479, 1146, 2479, 1145, 2477, 2479, 2482, 2482, 2482,
3780 2484, 2484, 2484, 2485, 2485, 2485, 1144, 2485, 1143, 1142,
3781 2485, 2489, 2489, 2489, 1141, 2482, 1140, 1137, 2484, 2490,
3782 2490, 2490, 2491, 2491, 2491, 1136, 2491, 1135, 2489, 2491,
3783 2492, 2492, 2492, 2494, 2494, 2494, 2490, 2494, 1134, 1132,
3784 2494, 2497, 2497, 2497, 1131, 2498, 2498, 2498, 2492, 2498,
3786 1130, 1129, 2498, 2499, 2499, 2499, 1128, 1127, 2497, 2500,
3787 2500, 2500, 2484, 2500, 1126, 1125, 2500, 2501, 2501, 2501,
3788 2499, 2501, 1124, 1123, 2501, 2504, 2504, 2504, 2505, 2505,
3789 2505, 2506, 2506, 2506, 2509, 2509, 2509, 2510, 2510, 2510,
3790 1122, 1121, 2504, 1120, 1119, 2505, 1113, 1109, 2506, 2511,
3791 2511, 2511, 2509, 2522, 2522, 2522, 2539, 2539, 2539, 2540,
3792 2540, 2540, 2544, 2544, 2544, 1106, 2511, 2547, 2547, 2547,
3793 1105, 2522, 2548, 2548, 2548, 1104, 2548, 1102, 1098, 2548,
3794 2549, 2549, 2549, 1095, 2547, 1094, 2504, 1093, 2550, 2550,
3795 2550, 2553, 2553, 2553, 2554, 2554, 2554, 1089, 2549, 1088,
3797 2555, 2555, 2555, 1085, 2555, 2509, 2550, 2555, 2553, 1081,
3798 1080, 2554, 1077, 2522, 2556, 2556, 2556, 2558, 2558, 2558,
3799 1074, 2558, 1071, 1070, 2558, 2569, 2569, 2569, 2570, 2570,
3800 2570, 2556, 2570, 1065, 1057, 2570, 2571, 2571, 2571, 2550,
3801 2571, 1056, 2569, 2571, 2574, 2574, 2574, 2549, 2577, 2577,
3802 2577, 2579, 2579, 2579, 1055, 2579, 1053, 1049, 2579, 2588,
3803 2588, 2588, 2574, 1046, 1043, 2577, 2590, 2590, 2590, 2591,
3804 2591, 2591, 1040, 2591, 1039, 1038, 2591, 2588, 2592, 2592,
3805 2592, 1037, 2592, 2590, 1036, 2592, 2595, 2595, 2595, 1035,
3806 2595, 1034, 1033, 2595, 2598, 2598, 2598, 1030, 2598, 1029,
3808 1026, 2598, 2607, 2607, 2607, 2608, 2608, 2608, 2609, 2609,
3809 2609, 1025, 2609, 1021, 1019, 2609, 2610, 2610, 2610, 2607,
3810 1016, 1015, 2608, 2611, 2611, 2611, 1012, 2611, 1005, 1002,
3811 2611, 1001, 1000, 2610, 2612, 2612, 2612, 2613, 2613, 2613,
3812 2614, 2614, 2614, 2615, 2615, 2615, 2616, 2616, 2616, 997,
3813 993, 2612, 986, 982, 2613, 2628, 2628, 2628, 2614, 2631,
3814 2631, 2631, 2607, 2616, 2617, 2617, 2617, 981, 2617, 980,
3815 977, 2617, 976, 2628, 975, 968, 2631, 2631, 2645, 2645,
3816 2645, 2646, 2646, 2646, 2649, 2649, 2649, 2650, 2650, 2650,
3817 2652, 2652, 2652, 967, 2652, 966, 965, 2652, 2655, 2655,
3819 2655, 964, 2614, 2656, 2656, 2656, 2628, 2659, 2659, 2659,
3820 2660, 2660, 2660, 963, 2660, 962, 2655, 2660, 2661, 2661,
3821 2661, 2656, 2661, 961, 2659, 2661, 2664, 2664, 2664, 2665,
3822 2665, 2665, 960, 2665, 959, 955, 2665, 2675, 2675, 2675,
3823 951, 2675, 928, 2664, 2675, 2679, 2679, 2679, 2680, 2680,
3824 2680, 925, 2680, 922, 921, 2680, 2688, 2688, 2688, 2691,
3825 2691, 2691, 2679, 2691, 2655, 914, 2691, 2706, 2706, 2706,
3826 913, 2707, 2707, 2707, 2688, 2707, 911, 910, 2707, 2710,
3827 2710, 2710, 909, 2710, 2706, 908, 2710, 2713, 2713, 2713,
3828 2714, 2714, 2714, 907, 2714, 906, 905, 2714, 2715, 2715,
3830 2715, 2716, 2716, 2716, 2713, 2716, 904, 903, 2716, 2717,
3831 2717, 2717, 2718, 2718, 2718, 2715, 2718, 902, 901, 2718,
3832 2729, 2729, 2729, 2731, 2731, 2731, 899, 2717, 2732, 2732,
3833 2732, 898, 2733, 2733, 2733, 897, 2733, 896, 2729, 2733,
3834 2731, 2731, 2746, 2746, 2746, 2732, 2732, 2747, 2747, 2747,
3835 2733, 2748, 2748, 2748, 2749, 2749, 2749, 2750, 2750, 2750,
3836 2717, 2751, 2751, 2751, 2756, 2756, 2756, 895, 894, 2729,
3837 2757, 2757, 2757, 2761, 2761, 2761, 893, 2761, 892, 890,
3838 2761, 889, 2756, 2764, 2764, 2764, 888, 2764, 2757, 887,
3839 2764, 2767, 2767, 2767, 2776, 2776, 2776, 2777, 2777, 2777,
3841 886, 2777, 885, 884, 2777, 2780, 2780, 2780, 2767, 883,
3842 882, 2776, 2800, 2800, 2800, 2756, 2801, 2801, 2801, 878,
3843 2801, 874, 2780, 2801, 2806, 2806, 2806, 873, 2806, 2800,
3844 872, 2806, 2809, 2809, 2809, 871, 2809, 870, 866, 2809,
3845 2812, 2812, 2812, 2821, 2821, 2821, 2823, 2823, 2823, 2824,
3846 2824, 2824, 864, 2824, 863, 862, 2824, 861, 2812, 860,
3847 859, 2821, 856, 2823, 2823, 855, 853, 2824, 2825, 2825,
3848 2825, 851, 2825, 848, 847, 2825, 2836, 2836, 2836, 2837,
3849 2837, 2837, 2838, 2838, 2838, 846, 2825, 2839, 2839, 2839,
3850 2844, 2844, 2844, 2848, 2848, 2848, 845, 2848, 843, 840,
3852 2848, 839, 2847, 2847, 2847, 2849, 2849, 2849, 2844, 2821,
3853 2826, 2826, 2826, 2826, 2826, 2826, 2826, 2826, 2826, 2847,
3854 837, 2826, 2849, 2857, 2857, 2857, 2826, 2826, 2826, 2826,
3855 2826, 2858, 2858, 2858, 836, 2858, 833, 831, 2858, 828,
3856 2857, 2860, 2860, 2860, 827, 2860, 826, 825, 2860, 2859,
3857 2859, 2859, 2885, 2885, 2885, 2826, 2826, 2827, 2827, 2827,
3858 2827, 2827, 2827, 2827, 2827, 2827, 2859, 822, 2827, 821,
3859 2885, 820, 819, 2827, 2827, 2827, 2827, 2827, 2878, 2878,
3860 2878, 818, 2878, 817, 816, 2878, 2893, 2893, 2893, 2895,
3861 2895, 2895, 814, 2895, 811, 810, 2895, 806, 805, 2910,
3863 2910, 2910, 2827, 2827, 2893, 804, 803, 2895, 2898, 2898,
3864 2898, 2898, 2898, 2898, 2898, 2898, 2898, 2910, 802, 2898,
3865 2917, 2917, 2917, 801, 2898, 2898, 2898, 2898, 2898, 2914,
3866 2914, 2914, 800, 2914, 792, 791, 2914, 2917, 2918, 2918,
3867 2918, 788, 2918, 787, 786, 2918, 2957, 2957, 2957, 2965,
3868 2965, 2965, 785, 2898, 2898, 2899, 2899, 2899, 2899, 2899,
3869 2899, 2899, 2899, 2899, 2957, 784, 2899, 2965, 2965, 782,
3870 781, 2899, 2899, 2899, 2899, 2899, 2924, 2924, 2924, 780,
3871 2924, 777, 776, 2924, 2927, 2927, 2927, 775, 2927, 772,
3872 771, 2927, 2978, 2978, 2978, 2979, 2979, 2979, 767, 765,
3874 2899, 2899, 762, 2984, 2984, 2984, 761, 2984, 760, 2978,
3875 2984, 759, 2979, 2989, 2989, 2989, 2994, 2994, 2994, 3007,
3876 3007, 3007, 3011, 3011, 3011, 3020, 3020, 3020, 757, 754,
3877 2989, 753, 752, 2994, 3021, 3021, 3021, 3007, 3021, 749,
3878 3011, 3021, 3020, 3022, 3022, 3022, 3023, 3023, 3023, 746,
3879 3023, 743, 742, 3023, 3032, 3032, 3032, 3033, 3033, 3033,
3880 3022, 3033, 741, 740, 3033, 3040, 3040, 3040, 3041, 3041,
3881 3041, 3032, 3041, 3011, 739, 3041, 3048, 3048, 3048, 3056,
3882 3056, 3056, 3040, 3056, 736, 733, 3056, 729, 3059, 3059,
3883 3059, 728, 3059, 727, 3048, 3059, 3070, 3070, 3070, 726,
3885 3070, 725, 724, 3070, 3079, 3079, 3079, 723, 3079, 722,
3886 721, 3079, 720, 3048, 3200, 3200, 3200, 3209, 3209, 3209,
3887 719, 3209, 718, 716, 3209, 3326, 3326, 3326, 3327, 3327,
3888 3327, 714, 3200, 713, 710, 3209, 709, 708, 707, 706,
3889 705, 700, 699, 3326, 698, 695, 3327, 3330, 3330, 3330,
3890 3330, 3330, 3330, 3330, 3330, 3330, 3331, 3331, 3331, 3331,
3891 3331, 3331, 3331, 3331, 3331, 3332, 3332, 3332, 3332, 3332,
3892 3332, 3332, 3332, 3332, 3333, 3333, 3333, 3333, 3333, 3333,
3893 3333, 3333, 3333, 3334, 3334, 3334, 3334, 3334, 3334, 3334,
3894 3334, 3334, 3335, 3335, 3335, 3335, 3335, 3335, 3335, 3335,
3896 3335, 3336, 3336, 3336, 3336, 3336, 3336, 3336, 3336, 3336,
3897 3337, 3337, 3337, 3337, 3337, 3337, 3337, 3337, 3337, 3338,
3898 3338, 3338, 3338, 3338, 3338, 3338, 3338, 3338, 3339, 3339,
3899 3339, 3339, 3339, 3339, 3339, 3339, 3339, 3340, 3340, 3340,
3900 3340, 3340, 3340, 3340, 3340, 3340, 3341, 3341, 3341, 3341,
3901 3341, 3341, 3341, 3341, 3341, 3342, 3342, 3342, 3342, 3342,
3902 3342, 3342, 3342, 3342, 3343, 3343, 3343, 3343, 3343, 3343,
3903 3343, 3343, 3343, 3344, 3344, 3344, 3344, 3344, 3344, 3344,
3904 3344, 3344, 3345, 3345, 3345, 3345, 3345, 3345, 3345, 3345,
3905 3345, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
3907 3347, 3347, 3347, 3347, 3347, 3347, 3347, 3347, 3347, 3348,
3908 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3349, 3349,
3909 3349, 3349, 3349, 3349, 3349, 3349, 3349, 3350, 3350, 3350,
3910 3350, 3350, 3350, 3350, 3350, 3350, 3351, 3351, 3351, 3351,
3911 3351, 3351, 3351, 3351, 3351, 3352, 3352, 3352, 3352, 3352,
3912 3352, 3352, 3352, 3352, 3353, 3353, 3353, 3353, 3353, 3353,
3913 3353, 3353, 3353, 3354, 3354, 3354, 3354, 3354, 3354, 3354,
3914 3354, 3354, 3355, 3355, 3355, 3355, 3355, 3355, 3355, 3355,
3915 3355, 3356, 3356, 3356, 3356, 3356, 3356, 3356, 3356, 3356,
3916 3357, 3357, 3357, 3357, 3357, 3357, 3357, 3357, 3357, 3358,
3918 3358, 3358, 3358, 3358, 3358, 3358, 3358, 3358, 3359, 3359,
3919 3359, 3359, 3359, 3359, 3359, 3359, 3359, 3360, 3360, 3360,
3920 3360, 3360, 3360, 3360, 3360, 3360, 3361, 3361, 3361, 3361,
3921 3361, 3361, 3361, 3361, 3361, 3362, 3362, 3362, 3362, 3362,
3922 3362, 3362, 3362, 3362, 3363, 3363, 3363, 3363, 3363, 3363,
3923 3363, 3363, 3363, 3364, 3364, 3364, 3364, 3364, 3364, 3364,
3924 3364, 3364, 3365, 3365, 3365, 3365, 3365, 3365, 3365, 3365,
3925 3365, 3366, 3366, 3366, 3366, 3366, 3366, 3366, 3366, 3366,
3926 3367, 3367, 3367, 3367, 3367, 3367, 3367, 3367, 3367, 3368,
3927 3368, 3368, 3368, 3368, 3368, 3368, 3368, 3368, 3369, 3369,
3929 3369, 3369, 3369, 3369, 3369, 3369, 3369, 3370, 3370, 3370,
3930 3370, 3370, 3370, 3370, 3370, 3370, 3371, 3371, 3371, 3371,
3931 3371, 3371, 3371, 3371, 3371, 3372, 3372, 3372, 3372, 3372,
3932 3372, 3372, 3372, 3372, 3373, 3373, 3373, 3373, 3373, 3373,
3933 3373, 3373, 3373, 3374, 3374, 3374, 3374, 3374, 3374, 3374,
3934 3374, 3374, 3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375,
3935 3375, 3376, 3376, 3376, 3376, 3376, 3376, 3376, 3376, 3376,
3936 3377, 3377, 3377, 3377, 3377, 3377, 3377, 3377, 3377, 3378,
3937 3378, 3378, 3378, 3378, 3378, 3378, 3378, 3378, 3379, 3379,
3938 3379, 3379, 3379, 3379, 3379, 3379, 3379, 3380, 3380, 3380,
3940 3380, 3380, 3380, 3380, 3380, 3380, 3381, 3381, 3381, 3381,
3941 3381, 3381, 3381, 3381, 3381, 3382, 3382, 3382, 3382, 3382,
3942 3382, 3382, 3382, 3382, 3383, 3383, 3383, 3383, 3383, 3383,
3943 3383, 3383, 3383, 3384, 3384, 3384, 3384, 3384, 3384, 3384,
3944 3384, 3384, 3385, 3385, 3385, 3385, 3385, 3385, 3385, 3385,
3945 3385, 3386, 3386, 3386, 3386, 3386, 3386, 3386, 3386, 3386,
3946 3387, 3387, 3387, 3387, 3387, 3387, 3387, 3387, 3387, 3388,
3947 3388, 3388, 3388, 3388, 3388, 3388, 3388, 3388, 3389, 3389,
3948 3389, 3389, 3389, 3389, 3389, 3389, 3389, 3390, 3390, 3390,
3949 694, 693, 692, 3390, 3391, 3391, 3391, 689, 688, 686,
3951 3391, 3392, 3392, 3392, 683, 682, 679, 3392, 3393, 3393,
3952 3393, 678, 677, 676, 3393, 3394, 3394, 3394, 675, 674,
3953 666, 3394, 3395, 3395, 3395, 665, 664, 661, 3395, 3396,
3954 3396, 3396, 660, 659, 656, 3396, 3397, 3397, 3397, 654,
3955 653, 650, 3397, 3398, 3398, 3398, 649, 648, 647, 3398,
3956 3399, 3399, 3399, 644, 643, 642, 3399, 3400, 3400, 3400,
3957 641, 637, 636, 3400, 3401, 3401, 3401, 635, 634, 628,
3958 3401, 3402, 3402, 3402, 627, 625, 619, 3402, 3403, 3403,
3959 3403, 618, 617, 613, 3403, 3404, 3404, 3404, 610, 608,
3960 607, 3404, 3405, 3405, 3405, 606, 602, 598, 3405, 3406,
3962 3406, 3406, 594, 593, 592, 3406, 3407, 3407, 3407, 591,
3963 587, 583, 3407, 3408, 3408, 3408, 580, 579, 578, 3408,
3964 3409, 3409, 3409, 577, 573, 567, 3409, 3410, 3410, 3410,
3965 566, 562, 558, 3410, 3411, 3411, 3411, 554, 550, 543,
3966 3411, 3412, 3412, 3412, 541, 540, 536, 3412, 3413, 3413,
3967 3413, 530, 529, 525, 3413, 3414, 3414, 3414, 521, 517,
3968 516, 3414, 3415, 3415, 3415, 515, 514, 513, 3415, 3416,
3969 3416, 3416, 509, 505, 498, 3416, 3417, 3417, 3417, 3417,
3970 3417, 3417, 3417, 494, 3417, 3418, 3418, 3418, 486, 485,
3971 484, 3418, 3419, 483, 482, 478, 3419, 3420, 3420, 3420,
3973 472, 471, 467, 3420, 3421, 461, 460, 456, 3421, 3422,
3974 3422, 3422, 450, 449, 445, 3422, 3423, 441, 437, 436,
3975 3423, 3424, 3424, 3424, 435, 431, 427, 3424, 3425, 423,
3976 419, 413, 3425, 3426, 3426, 3426, 412, 411, 407, 3426,
3977 3427, 403, 398, 397, 3427, 3428, 3428, 3428, 396, 395,
3978 391, 3428, 3429, 387, 384, 380, 3429, 3430, 3430, 3430,
3979 376, 373, 370, 3430, 3431, 368, 367, 365, 3431, 3432,
3980 3432, 3432, 361, 354, 353, 3432, 3433, 352, 351, 350,
3981 3433, 3434, 3434, 3434, 346, 342, 339, 3434, 3435, 338,
3982 334, 330, 3435, 3436, 3436, 3436, 327, 326, 325, 3436,
3984 3437, 321, 315, 314, 3437, 3438, 3438, 3438, 313, 309,
3985 303, 3438, 3439, 299, 296, 295, 3439, 3440, 3440, 3440,
3986 290, 289, 285, 3440, 3441, 281, 277, 273, 3441, 3442,
3987 3442, 3442, 272, 268, 265, 3442, 3443, 264, 263, 257,
3988 3443, 3444, 3444, 3444, 256, 254, 251, 3444, 3445, 239,
3989 0, 0, 3445, 3446, 3446, 3446, 0, 0, 0, 3446,
3990 3447, 0, 0, 0, 3447, 3448, 3448, 3448, 0, 0,
3991 0, 3448, 3449, 0, 0, 0, 3449, 3450, 3450, 3450,
3992 0, 0, 0, 3450, 3451, 0, 0, 0, 3451, 3452,
3993 3452, 3452, 0, 0, 0, 3452, 3453, 0, 0, 0,
3995 3453, 3454, 3454, 3454, 0, 0, 0, 3454, 3455, 0,
3996 0, 0, 3455, 3456, 3456, 3456, 0, 0, 0, 3456,
3997 3457, 0, 0, 0, 3457, 3458, 3458, 3458, 0, 0,
3998 0, 3458, 3459, 0, 0, 0, 3459, 3460, 3460, 3460,
3999 0, 0, 0, 3460, 3461, 0, 0, 0, 3461, 3462,
4000 3462, 3462, 0, 0, 0, 3462, 3463, 0, 0, 0,
4001 3463, 3464, 3464, 3464, 0, 0, 0, 3464, 3465, 0,
4002 0, 0, 3465, 3466, 3466, 3466, 0, 0, 0, 3466,
4003 3467, 0, 0, 0, 3467, 3468, 3468, 3468, 0, 0,
4004 0, 3468, 3469, 0, 0, 0, 3469, 3470, 3470, 3470,
4006 0, 0, 0, 3470, 3471, 0, 0, 0, 3471, 3472,
4007 3472, 3472, 3472, 3472, 3472, 3472, 3472, 3472, 3473, 0,
4008 0, 0, 0, 3473, 3474, 3474, 3474, 0, 0, 0,
4009 3474, 3475, 3475, 3475, 3475, 0, 0, 3475, 3475, 3476,
4010 3476, 3476, 3476, 0, 3476, 0, 3476, 3477, 3477, 3477,
4011 3477, 0, 0, 3477, 3477, 3478, 3478, 3478, 0, 0,
4012 0, 3478, 3479, 3479, 3479, 3479, 0, 0, 3479, 3479,
4013 3480, 3480, 3480, 0, 0, 0, 3480, 3481, 3481, 3481,
4014 3481, 0, 0, 3481, 3481, 3482, 3482, 3482, 3482, 0,
4015 3482, 0, 3482, 3483, 3483, 3483, 3483, 0, 0, 3483,
4017 3483, 3484, 3484, 3484, 3484, 0, 3484, 0, 3484, 3485,
4018 3485, 3485, 3485, 0, 0, 3485, 3485, 3486, 3486, 3486,
4019 3486, 0, 3486, 0, 3486, 3487, 3487, 3487, 3487, 0,
4020 0, 3487, 3487, 3488, 3488, 3488, 0, 0, 0, 3488,
4021 3489, 3489, 3489, 3489, 0, 0, 3489, 3489, 3490, 3490,
4022 3490, 3490, 0, 0, 3490, 3490, 3491, 3491, 3491, 0,
4023 0, 0, 3491, 3492, 3492, 3492, 3492, 0, 0, 3492,
4024 3492, 3493, 3493, 3493, 0, 0, 0, 3493, 3494, 3494,
4025 3494, 3494, 0, 0, 3494, 3494, 3495, 3495, 3495, 0,
4026 0, 0, 3495, 3496, 3496, 3496, 3496, 0, 0, 3496,
4028 3496, 3497, 3497, 3497, 0, 0, 0, 3497, 3498, 3498,
4029 3498, 3498, 0, 0, 3498, 3498, 3499, 3499, 3499, 0,
4030 0, 0, 3499, 3500, 3500, 3500, 3500, 0, 0, 3500,
4031 3500, 3501, 3501, 3501, 0, 0, 0, 3501, 3502, 3502,
4032 3502, 3502, 0, 0, 3502, 3502, 3503, 3503, 3503, 0,
4033 0, 0, 3503, 3504, 3504, 3504, 3504, 0, 0, 3504,
4034 3504, 3505, 3505, 3505, 0, 0, 0, 3505, 3506, 3506,
4035 3506, 3506, 0, 0, 3506, 3506, 3507, 3507, 3507, 0,
4036 0, 0, 3507, 3508, 3508, 3508, 3508, 0, 0, 3508,
4037 3508, 3509, 3509, 3509, 0, 0, 0, 3509, 3510, 3510,
4039 3510, 3510, 0, 0, 3510, 3510, 3511, 3511, 3511, 0,
4040 0, 0, 3511, 3512, 3512, 3512, 3512, 0, 0, 3512,
4041 3512, 3513, 3513, 3513, 0, 0, 0, 3513, 3514, 3514,
4042 3514, 3514, 0, 0, 3514, 3514, 3515, 3515, 3515, 3515,
4043 0, 3515, 0, 3515, 3516, 3516, 3516, 3516, 0, 0,
4044 3516, 3516, 3517, 3517, 3517, 0, 0, 0, 3517, 3518,
4045 3518, 3518, 3518, 0, 0, 3518, 3518, 3519, 3519, 3519,
4046 0, 0, 0, 3519, 3520, 3520, 3520, 3520, 0, 0,
4047 3520, 3520, 3521, 3521, 3521, 0, 0, 0, 3521, 3522,
4048 3522, 3522, 3522, 0, 0, 3522, 3522, 3523, 3523, 3523,
4050 0, 0, 0, 3523, 3524, 3524, 3524, 3524, 0, 0,
4051 3524, 3524, 3525, 3525, 3525, 0, 0, 0, 3525, 3526,
4052 3526, 3526, 3526, 0, 0, 3526, 3526, 3527, 3527, 3527,
4053 3527, 3527, 3527, 3527, 3527, 3527, 3528, 0, 3528, 0,
4054 0, 3528, 3529, 3529, 3529, 0, 0, 0, 3529, 3530,
4055 3530, 3530, 3530, 0, 0, 3530, 3530, 3531, 3531, 3531,
4056 0, 0, 0, 3531, 3532, 3532, 3532, 3532, 0, 0,
4057 3532, 3532, 3533, 3533, 3533, 0, 0, 0, 3533, 3534,
4058 3534, 3534, 3534, 0, 0, 3534, 3534, 3535, 3535, 3535,
4059 0, 0, 0, 3535, 3536, 3536, 3536, 3536, 0, 0,
4061 3536, 3536, 3537, 3537, 3537, 0, 0, 0, 3537, 3538,
4062 3538, 3538, 3538, 0, 0, 3538, 3538, 3539, 3539, 3539,
4063 3539, 0, 0, 3539, 3539, 3540, 3540, 3540, 0, 0,
4064 0, 3540, 3541, 3541, 3541, 3541, 0, 0, 3541, 3541,
4065 3542, 3542, 3542, 0, 0, 0, 3542, 3543, 3543, 3543,
4066 3543, 0, 0, 3543, 3543, 3544, 3544, 3544, 3544, 0,
4067 0, 3544, 3544, 3545, 3545, 3545, 0, 0, 0, 3545,
4068 3546, 3546, 3546, 3546, 0, 0, 3546, 3546, 3547, 3547,
4069 3547, 3547, 0, 3547, 0, 3547, 3548, 3548, 3548, 3548,
4070 0, 0, 3548, 3548, 3549, 3549, 3549, 3549, 0, 3549,
4072 0, 3549, 3550, 3550, 3550, 3550, 0, 0, 3550, 3550,
4073 3551, 3551, 3551, 0, 0, 0, 3551, 3552, 3552, 3552,
4074 3552, 0, 0, 3552, 3552, 3553, 3553, 3553, 0, 0,
4075 0, 3553, 3554, 3554, 3554, 3554, 0, 0, 3554, 3554,
4076 3555, 3555, 3555, 0, 0, 0, 3555, 3556, 3556, 3556,
4077 3556, 0, 0, 3556, 3556, 3557, 3557, 3557, 3557, 0,
4078 3557, 0, 3557, 3558, 3558, 3558, 3558, 0, 0, 3558,
4079 3558, 3559, 3559, 3559, 0, 0, 0, 3559, 3560, 3560,
4080 3560, 3560, 0, 0, 3560, 3560, 3561, 3561, 3561, 0,
4081 0, 0, 3561, 3562, 3562, 3562, 3562, 0, 0, 3562,
4083 3562, 3563, 3563, 3563, 0, 0, 0, 3563, 3564, 3564,
4084 3564, 3564, 0, 0, 3564, 3564, 3565, 3565, 3565, 0,
4085 0, 0, 3565, 3566, 3566, 3566, 3566, 0, 0, 3566,
4086 3566, 3567, 3567, 3567, 0, 0, 0, 3567, 3568, 3568,
4087 3568, 3568, 0, 0, 3568, 3568, 3569, 3569, 3569, 0,
4088 0, 0, 3569, 3570, 3570, 3570, 3570, 0, 0, 3570,
4089 3570, 3571, 3571, 3571, 0, 0, 0, 3571, 3572, 3572,
4090 3572, 3572, 0, 0, 3572, 3572, 3573, 3573, 3573, 0,
4091 0, 0, 3573, 3574, 3574, 3574, 3574, 0, 0, 3574,
4092 3574, 3575, 3575, 3575, 0, 0, 0, 3575, 3576, 3576,
4094 3576, 3576, 0, 0, 3576, 3576, 3577, 3577, 3577, 3577,
4095 0, 3577, 0, 3577, 3578, 3578, 3578, 3578, 0, 0,
4096 3578, 3578, 3579, 3579, 3579, 0, 0, 0, 3579, 3580,
4097 3580, 3580, 3580, 0, 0, 3580, 3580, 3581, 3581, 3581,
4098 3581, 3581, 3581, 3581, 3581, 3581, 3582, 3582, 3582, 3582,
4099 3582, 3582, 3582, 3582, 3582, 3583, 3583, 3583, 0, 0,
4100 0, 3583, 3584, 3584, 3584, 0, 0, 0, 3584, 3585,
4101 3585, 3585, 3585, 0, 0, 3585, 3585, 3586, 3586, 3586,
4102 3586, 0, 3586, 0, 3586, 3587, 3587, 3587, 3587, 0,
4103 0, 3587, 3587, 3588, 3588, 3588, 0, 0, 0, 3588,
4105 3589, 3589, 3589, 3589, 0, 0, 3589, 3589, 3590, 3590,
4106 3590, 0, 0, 0, 3590, 3591, 3591, 3591, 3591, 0,
4107 0, 3591, 3591, 3592, 3592, 3592, 3592, 0, 0, 3592,
4108 3592, 3593, 3593, 3593, 0, 0, 0, 3593, 3594, 3594,
4109 3594, 3594, 0, 0, 3594, 3594, 3595, 3595, 3595, 0,
4110 0, 0, 3595, 3596, 3596, 3596, 3596, 0, 0, 3596,
4111 3596, 3597, 3597, 3597, 3597, 0, 0, 3597, 3597, 3598,
4112 3598, 3598, 0, 0, 0, 3598, 3599, 3599, 3599, 3599,
4113 0, 0, 3599, 3599, 3600, 3600, 3600, 3600, 0, 0,
4114 3600, 3600, 3601, 3601, 3601, 3601, 0, 0, 3601, 3601,
4116 3602, 3602, 3602, 0, 0, 0, 3602, 3603, 3603, 3603,
4117 3603, 0, 0, 3603, 3603, 3604, 3604, 3604, 0, 0,
4118 0, 3604, 3605, 3605, 3605, 3605, 0, 0, 3605, 3605,
4119 3606, 3606, 3606, 3606, 0, 3606, 0, 3606, 3607, 3607,
4120 3607, 3607, 0, 0, 3607, 3607, 3608, 3608, 3608, 0,
4121 0, 0, 3608, 3609, 3609, 3609, 3609, 0, 0, 3609,
4122 3609, 3610, 3610, 3610, 0, 0, 0, 3610, 3611, 3611,
4123 3611, 3611, 0, 0, 3611, 3611, 3612, 3612, 3612, 0,
4124 0, 0, 3612, 3613, 3613, 3613, 3613, 0, 0, 3613,
4125 3613, 3614, 3614, 3614, 0, 0, 0, 3614, 3615, 3615,
4127 3615, 3615, 0, 0, 3615, 3615, 3616, 3616, 3616, 3616,
4128 0, 3616, 0, 3616, 3617, 3617, 3617, 3617, 0, 0,
4129 3617, 3617, 3618, 3618, 3618, 0, 0, 0, 3618, 3619,
4130 3619, 3619, 3619, 0, 0, 3619, 3619, 3620, 3620, 3620,
4131 0, 0, 0, 3620, 3621, 3621, 3621, 3621, 0, 0,
4132 3621, 3621, 3622, 3622, 3622, 0, 0, 0, 3622, 3623,
4133 3623, 3623, 3623, 0, 0, 3623, 3623, 3624, 3624, 3624,
4134 0, 0, 0, 3624, 3625, 3625, 3625, 3625, 0, 0,
4135 3625, 3625, 3626, 3626, 3626, 0, 0, 0, 3626, 3627,
4136 3627, 3627, 3627, 0, 0, 3627, 3627, 3628, 3628, 3628,
4138 0, 0, 0, 3628, 3629, 3629, 3629, 3629, 0, 0,
4139 3629, 3629, 3630, 3630, 3630, 0, 0, 0, 3630, 3631,
4140 3631, 3631, 3631, 0, 0, 3631, 3631, 3632, 3632, 3632,
4141 3632, 3632, 3632, 3632, 3632, 3632, 3633, 3633, 3633, 3633,
4142 3633, 3633, 3633, 3633, 3633, 3634, 3634, 3634, 0, 0,
4143 0, 3634, 3635, 3635, 3635, 3635, 0, 3635, 0, 3635,
4144 3636, 3636, 3636, 3636, 0, 0, 3636, 3636, 3637, 3637,
4145 3637, 3637, 0, 0, 3637, 3637, 3638, 3638, 3638, 0,
4146 0, 0, 3638, 3639, 3639, 3639, 3639, 0, 0, 3639,
4147 3639, 3640, 3640, 3640, 3640, 0, 3640, 0, 3640, 3641,
4149 3641, 3641, 3641, 0, 0, 3641, 3641, 3642, 3642, 3642,
4150 3642, 0, 0, 3642, 3642, 3643, 3643, 3643, 3643, 0,
4151 3643, 0, 3643, 3644, 3644, 3644, 3644, 0, 0, 3644,
4152 3644, 3645, 3645, 3645, 0, 0, 0, 3645, 3646, 3646,
4153 3646, 3646, 0, 0, 3646, 3646, 3647, 3647, 3647, 3647,
4154 0, 0, 3647, 3647, 3648, 3648, 3648, 0, 0, 0,
4155 3648, 3649, 3649, 3649, 3649, 0, 0, 3649, 3649, 3650,
4156 3650, 3650, 3650, 0, 0, 3650, 3650, 3651, 3651, 3651,
4157 3651, 0, 0, 3651, 3651, 3652, 3652, 3652, 0, 0,
4158 0, 3652, 3653, 3653, 3653, 3653, 0, 0, 3653, 3653,
4160 3654, 3654, 3654, 0, 0, 0, 3654, 3655, 3655, 3655,
4161 3655, 0, 0, 3655, 3655, 3656, 3656, 3656, 3656, 0,
4162 0, 3656, 3656, 3657, 3657, 3657, 0, 0, 0, 3657,
4163 3658, 3658, 3658, 3658, 0, 0, 3658, 3658, 3659, 3659,
4164 3659, 0, 0, 0, 3659, 3660, 3660, 3660, 3660, 0,
4165 0, 3660, 3660, 3661, 3661, 3661, 0, 0, 0, 3661,
4166 3662, 3662, 3662, 3662, 0, 0, 3662, 3662, 3663, 3663,
4167 3663, 0, 0, 0, 3663, 3664, 3664, 3664, 3664, 0,
4168 0, 3664, 3664, 3665, 3665, 3665, 3665, 0, 0, 3665,
4169 3665, 3666, 3666, 3666, 0, 0, 0, 3666, 3667, 3667,
4171 3667, 3667, 0, 0, 3667, 3667, 3668, 3668, 3668, 0,
4172 0, 0, 3668, 3669, 3669, 3669, 3669, 0, 0, 3669,
4173 3669, 3670, 3670, 3670, 0, 0, 0, 3670, 3671, 3671,
4174 3671, 3671, 0, 0, 3671, 3671, 3672, 3672, 3672, 3672,
4175 0, 3672, 0, 3672, 3673, 3673, 3673, 3673, 0, 0,
4176 3673, 3673, 3674, 3674, 3674, 0, 0, 0, 3674, 3675,
4177 3675, 3675, 3675, 0, 0, 3675, 3675, 3676, 3676, 3676,
4178 0, 0, 0, 3676, 3677, 3677, 3677, 3677, 0, 0,
4179 3677, 3677, 3678, 3678, 3678, 0, 0, 0, 3678, 3679,
4180 3679, 3679, 3679, 0, 0, 3679, 3679, 3680, 3680, 3680,
4182 3680, 3680, 3680, 3680, 3680, 3680, 3681, 3681, 3681, 3681,
4183 3681, 3681, 3681, 3681, 3681, 3682, 3682, 3682, 3682, 0,
4184 3682, 0, 3682, 3683, 3683, 3683, 0, 0, 0, 3683,
4185 3684, 3684, 3684, 3684, 0, 0, 3684, 3684, 3685, 3685,
4186 3685, 3685, 0, 0, 3685, 3685, 3686, 3686, 3686, 0,
4187 0, 0, 3686, 3687, 3687, 3687, 3687, 0, 0, 3687,
4188 3687, 3688, 3688, 3688, 3688, 0, 0, 3688, 3688, 3689,
4189 3689, 3689, 3689, 0, 0, 3689, 3689, 3690, 3690, 3690,
4190 3690, 0, 3690, 0, 3690, 3691, 3691, 3691, 3691, 0,
4191 0, 3691, 3691, 3692, 3692, 3692, 0, 0, 0, 3692,
4193 3693, 3693, 3693, 3693, 0, 0, 3693, 3693, 3694, 3694,
4194 3694, 3694, 0, 0, 3694, 3694, 3695, 3695, 3695, 0,
4195 0, 0, 3695, 3696, 3696, 3696, 3696, 0, 0, 3696,
4196 3696, 3697, 3697, 3697, 3697, 0, 0, 3697, 3697, 3698,
4197 3698, 3698, 0, 0, 0, 3698, 3699, 3699, 3699, 0,
4198 0, 0, 3699, 3700, 3700, 3700, 3700, 0, 0, 3700,
4199 3700, 3701, 3701, 3701, 3701, 0, 0, 3701, 3701, 3702,
4200 3702, 3702, 0, 0, 0, 3702, 3703, 3703, 3703, 3703,
4201 0, 0, 3703, 3703, 3704, 3704, 3704, 0, 0, 0,
4202 3704, 3705, 3705, 3705, 3705, 0, 3705, 0, 3705, 3706,
4204 3706, 3706, 3706, 0, 0, 3706, 3706, 3707, 3707, 3707,
4205 0, 0, 0, 3707, 3708, 3708, 3708, 3708, 0, 0,
4206 3708, 3708, 3709, 3709, 3709, 0, 0, 0, 3709, 3710,
4207 3710, 3710, 3710, 0, 0, 3710, 3710, 3711, 3711, 3711,
4208 0, 0, 0, 3711, 3712, 3712, 3712, 3712, 0, 0,
4209 3712, 3712, 3713, 3713, 3713, 0, 0, 0, 3713, 3714,
4210 3714, 3714, 3714, 0, 0, 3714, 3714, 3715, 3715, 3715,
4211 3715, 0, 3715, 0, 3715, 3716, 3716, 3716, 3716, 0,
4212 0, 3716, 3716, 3717, 3717, 3717, 3717, 0, 3717, 0,
4213 3717, 3718, 3718, 3718, 3718, 0, 0, 3718, 3718, 3719,
4215 3719, 3719, 0, 0, 0, 3719, 3720, 3720, 3720, 3720,
4216 0, 0, 3720, 3720, 3721, 3721, 3721, 3721, 0, 3721,
4217 0, 3721, 3722, 3722, 3722, 3722, 0, 0, 3722, 3722,
4218 3723, 3723, 3723, 3723, 3723, 3723, 3723, 3723, 3723, 3724,
4219 3724, 3724, 3724, 3724, 3724, 3724, 3724, 3724, 3725, 3725,
4220 3725, 0, 0, 0, 3725, 3726, 3726, 3726, 3726, 0,
4221 0, 3726, 3726, 3727, 3727, 3727, 3727, 0, 0, 3727,
4222 3727, 3728, 3728, 3728, 0, 0, 0, 3728, 3729, 3729,
4223 3729, 3729, 0, 0, 3729, 3729, 3730, 3730, 3730, 3730,
4224 0, 0, 3730, 3730, 3731, 3731, 3731, 3731, 0, 0,
4226 3731, 3731, 3732, 3732, 3732, 3732, 0, 0, 3732, 3732,
4227 3733, 3733, 3733, 0, 0, 0, 3733, 3734, 3734, 3734,
4228 3734, 0, 0, 3734, 3734, 3735, 3735, 3735, 3735, 0,
4229 0, 3735, 3735, 3736, 3736, 3736, 0, 0, 0, 3736,
4230 3737, 3737, 3737, 3737, 0, 0, 3737, 3737, 3738, 3738,
4231 3738, 3738, 0, 0, 3738, 3738, 3739, 3739, 3739, 0,
4232 0, 0, 3739, 3740, 3740, 3740, 0, 0, 0, 3740,
4233 3741, 3741, 3741, 3741, 0, 0, 3741, 3741, 3742, 3742,
4234 3742, 3742, 0, 0, 3742, 3742, 3743, 3743, 3743, 0,
4235 0, 0, 3743, 3744, 3744, 3744, 0, 0, 0, 3744,
4237 3745, 3745, 3745, 3745, 0, 0, 3745, 3745, 3746, 3746,
4238 3746, 3746, 0, 3746, 0, 3746, 3747, 3747, 3747, 3747,
4239 0, 0, 3747, 3747, 3748, 3748, 3748, 0, 0, 0,
4240 3748, 3749, 3749, 3749, 3749, 0, 0, 3749, 3749, 3750,
4241 3750, 3750, 0, 0, 0, 3750, 3751, 3751, 3751, 0,
4242 0, 0, 3751, 3752, 3752, 3752, 3752, 0, 0, 3752,
4243 3752, 3753, 3753, 3753, 0, 0, 0, 3753, 3754, 3754,
4244 3754, 3754, 0, 0, 3754, 3754, 3755, 3755, 3755, 0,
4245 0, 0, 3755, 3756, 3756, 3756, 3756, 0, 0, 3756,
4246 3756, 3757, 3757, 3757, 0, 0, 0, 3757, 3758, 3758,
4248 3758, 3758, 0, 0, 3758, 3758, 3759, 3759, 3759, 3759,
4249 3759, 3759, 3759, 3759, 3759, 3760, 3760, 3760, 3760, 3760,
4250 3760, 3760, 3760, 3760, 3761, 3761, 3761, 0, 0, 0,
4251 3761, 3762, 3762, 3762, 3762, 0, 0, 3762, 3762, 3763,
4252 3763, 3763, 3763, 0, 0, 3763, 3763, 3764, 3764, 3764,
4253 3764, 0, 3764, 0, 3764, 3765, 3765, 3765, 3765, 0,
4254 0, 3765, 3765, 3766, 3766, 3766, 3766, 0, 0, 3766,
4255 3766, 3767, 3767, 3767, 3767, 0, 0, 3767, 3767, 3768,
4256 3768, 3768, 3768, 0, 0, 3768, 3768, 3769, 3769, 3769,
4257 0, 0, 0, 3769, 3770, 3770, 3770, 3770, 0, 0,
4259 3770, 3770, 3771, 3771, 3771, 0, 0, 0, 3771, 3772,
4260 3772, 3772, 3772, 0, 0, 3772, 3772, 3773, 3773, 3773,
4261 3773, 0, 0, 3773, 3773, 3774, 3774, 3774, 3774, 0,
4262 3774, 0, 3774, 3775, 3775, 3775, 3775, 0, 3775, 0,
4263 3775, 3776, 3776, 3776, 3776, 0, 0, 3776, 3776, 3777,
4264 3777, 3777, 3777, 0, 0, 3777, 3777, 3778, 3778, 3778,
4265 3778, 0, 3778, 0, 3778, 3779, 3779, 3779, 0, 0,
4266 0, 3779, 3780, 3780, 3780, 3780, 0, 0, 3780, 3780,
4267 3781, 3781, 3781, 3781, 0, 3781, 0, 3781, 3782, 3782,
4268 3782, 3782, 0, 0, 3782, 3782, 3783, 3783, 3783, 3783,
4270 0, 3783, 0, 3783, 3784, 3784, 3784, 0, 0, 0,
4271 3784, 3785, 3785, 3785, 0, 0, 0, 3785, 3786, 3786,
4272 3786, 0, 0, 0, 3786, 3787, 3787, 3787, 3787, 0,
4273 0, 3787, 3787, 3788, 3788, 3788, 0, 0, 0, 3788,
4274 3789, 3789, 3789, 3789, 0, 0, 3789, 3789, 3790, 3790,
4275 3790, 0, 0, 0, 3790, 3791, 3791, 3791, 3791, 0,
4276 0, 3791, 3791, 3792, 3792, 3792, 3792, 3792, 3792, 3792,
4277 3792, 3792, 3793, 3793, 3793, 3793, 3793, 3793, 3793, 3793,
4278 3793, 3794, 3794, 3794, 0, 0, 0, 3794, 3795, 3795,
4279 3795, 3795, 0, 0, 3795, 3795, 3796, 3796, 3796, 3796,
4281 0, 0, 3796, 3796, 3797, 3797, 3797, 3797, 0, 0,
4282 3797, 3797, 3798, 3798, 3798, 3798, 0, 0, 3798, 3798,
4283 3799, 3799, 3799, 0, 0, 0, 3799, 3800, 3800, 3800,
4284 0, 0, 0, 3800, 3801, 3801, 3801, 3801, 0, 0,
4285 3801, 3801, 3802, 3802, 3802, 0, 0, 0, 3802, 3803,
4286 3803, 3803, 3803, 3803, 3803, 3803, 3803, 3803, 3804, 3804,
4287 3804, 3804, 3804, 3804, 3804, 3804, 3804, 3805, 3805, 3805,
4288 3805, 3805, 3805, 3805, 3805, 3805, 3806, 3806, 3806, 3806,
4289 3806, 3806, 3806, 3806, 3806, 3807, 3807, 3807, 3807, 3807,
4290 3807, 3807, 3807, 3807, 3808, 3808, 3808, 3808, 3808, 3808,
4292 3808, 3808, 3808, 3329, 3329, 3329, 3329, 3329, 3329, 3329,
4293 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329,
4294 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329,
4295 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329,
4296 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329,
4297 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329,
4298 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329,
4299 3329, 3329, 3329, 3329, 3329, 3329, 3329, 3329
4302 /* Table of booleans, true if rule could match eol. */
4303 static yyconst flex_int32_t yy_rule_can_match_eol[562] =
4305 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1,
4306 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0,
4307 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,
4308 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1,
4309 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1,
4310 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1,
4311 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0,
4312 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
4313 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
4314 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0,
4315 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1,
4316 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1,
4317 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0,
4318 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
4319 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1,
4320 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1,
4321 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1,
4322 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1,
4323 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
4324 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0,
4325 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
4326 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1,
4327 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0,
4328 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0,
4329 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0,
4330 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1,
4331 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0,
4332 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0,
4335 static yy_state_type yy_last_accepting_state;
4336 static char *yy_last_accepting_cpos;
4338 extern int surf_parse__flex_debug;
4339 int surf_parse__flex_debug = 0;
4341 /* The intent behind this definition is that it'll catch
4342 * any uses of REJECT which flex missed.
4344 #define REJECT reject_used_but_not_detected
4345 #define yymore() yymore_used_but_not_detected
4346 #define YY_MORE_ADJ 0
4347 #define YY_RESTORE_YY_MORE_OFFSET
4348 char *surf_parse_text;
4349 /* Validating XML processor for src/surf/xml/simgrid.dtd.
4351 * This program was generated with the FleXML XML processor generator.
4352 * FleXML is Copyright (C) 1999-2005 Kristoffer Rose. All rights reserved.
4353 * FleXML is Copyright (C) 2003-2013 Martin Quinson. All rights reserved.
4356 * There are two, intertwined parts to this program, part A and part B.
4361 * Some parts, here collectively called "Part A", are found in the
4362 * FleXML package. They are Copyright (C) 1999-2005 Kristoffer Rose
4363 * and Copyright (C) 2003-2013 Martin Quinson. All rights reserved.
4365 * You can redistribute, use, perform, display and/or modify "Part A"
4366 * provided the following two conditions hold:
4368 * 1. The program is distributed WITHOUT ANY WARRANTY from the author of
4369 * FleXML; without even the implied warranty of MERCHANTABILITY or
4370 * FITNESS FOR A PARTICULAR PURPOSE.
4372 * 2. The program distribution conditions do not in any way affect the
4373 * distribution conditions of the FleXML system used to generate this
4374 * file or any version of FleXML derived from that system.
4376 * Notice that these are explicit rights granted to you for files
4377 * generated by the FleXML system. For your rights in connection with
4378 * the FleXML system itself please consult the GNU General Public License.
4383 * The other parts, here collectively called "Part B", and which came
4384 * from the DTD used by FleXML to generate this program, can be
4385 * distributed (or not, as the case may be) under the terms of whoever
4386 * wrote them, provided these terms respect and obey the two conditions
4387 * above under the heading "Part A".
4389 * The author of and contributors to FleXML specifically disclaim
4390 * any copyright interest in "Part B", unless "Part B" was written
4391 * by the author of or contributors to FleXML.
4395 /* Version strings. */
4396 const char surfxml_flexml_version[] = "1.9.6";
4399 #include <stdlib.h> /* for realloc() -- needed here when using flex 2.5.4 */
4406 #if defined(_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__TOS_WIN__)
4407 # ifndef __STRICT_ANSI__
4409 # include <process.h>
4412 # include <unistd.h>
4415 #ifndef FLEXML_INDEXSTACKSIZE
4416 #define FLEXML_INDEXSTACKSIZE 1000
4419 /* Generated definitions. */
4420 #define FLEXML_yylineno
4421 #ifndef FLEXML_BUFFERSTACKSIZE
4422 #define FLEXML_BUFFERSTACKSIZE 1000000
4424 #define FLEXML_NEED_BUFFERLIT
4426 /* XML processor api. */
4427 /* FleXML-provided data. */
4428 int surfxml_pcdata_ix;
4429 extern char *surfxml_bufferstack;
4430 #define surfxml_pcdata (surfxml_bufferstack + surfxml_pcdata_ix)
4431 AT_surfxml_AS_id AX_surfxml_AS_id;
4432 #define A_surfxml_AS_id (surfxml_bufferstack + AX_surfxml_AS_id)
4433 short int surfxml_AS_id_isset;
4434 AT_surfxml_AS_routing AX_surfxml_AS_routing;
4435 #define A_surfxml_AS_routing AX_surfxml_AS_routing
4436 short int surfxml_AS_routing_isset;
4437 AT_surfxml_ASroute_dst AX_surfxml_ASroute_dst;
4438 #define A_surfxml_ASroute_dst (surfxml_bufferstack + AX_surfxml_ASroute_dst)
4439 short int surfxml_ASroute_dst_isset;
4440 AT_surfxml_ASroute_gw___dst AX_surfxml_ASroute_gw___dst;
4441 #define A_surfxml_ASroute_gw___dst (surfxml_bufferstack + AX_surfxml_ASroute_gw___dst)
4442 short int surfxml_ASroute_gw___dst_isset;
4443 AT_surfxml_ASroute_gw___src AX_surfxml_ASroute_gw___src;
4444 #define A_surfxml_ASroute_gw___src (surfxml_bufferstack + AX_surfxml_ASroute_gw___src)
4445 short int surfxml_ASroute_gw___src_isset;
4446 AT_surfxml_ASroute_src AX_surfxml_ASroute_src;
4447 #define A_surfxml_ASroute_src (surfxml_bufferstack + AX_surfxml_ASroute_src)
4448 short int surfxml_ASroute_src_isset;
4449 AT_surfxml_ASroute_symmetrical AX_surfxml_ASroute_symmetrical;
4450 #define A_surfxml_ASroute_symmetrical AX_surfxml_ASroute_symmetrical
4451 short int surfxml_ASroute_symmetrical_isset;
4452 AT_surfxml_argument_value AX_surfxml_argument_value;
4453 #define A_surfxml_argument_value (surfxml_bufferstack + AX_surfxml_argument_value)
4454 short int surfxml_argument_value_isset;
4455 AT_surfxml_backbone_bandwidth AX_surfxml_backbone_bandwidth;
4456 #define A_surfxml_backbone_bandwidth (surfxml_bufferstack + AX_surfxml_backbone_bandwidth)
4457 short int surfxml_backbone_bandwidth_isset;
4458 AT_surfxml_backbone_id AX_surfxml_backbone_id;
4459 #define A_surfxml_backbone_id (surfxml_bufferstack + AX_surfxml_backbone_id)
4460 short int surfxml_backbone_id_isset;
4461 AT_surfxml_backbone_latency AX_surfxml_backbone_latency;
4462 #define A_surfxml_backbone_latency (surfxml_bufferstack + AX_surfxml_backbone_latency)
4463 short int surfxml_backbone_latency_isset;
4464 AT_surfxml_bypassASroute_dst AX_surfxml_bypassASroute_dst;
4465 #define A_surfxml_bypassASroute_dst (surfxml_bufferstack + AX_surfxml_bypassASroute_dst)
4466 short int surfxml_bypassASroute_dst_isset;
4467 AT_surfxml_bypassASroute_gw___dst AX_surfxml_bypassASroute_gw___dst;
4468 #define A_surfxml_bypassASroute_gw___dst (surfxml_bufferstack + AX_surfxml_bypassASroute_gw___dst)
4469 short int surfxml_bypassASroute_gw___dst_isset;
4470 AT_surfxml_bypassASroute_gw___src AX_surfxml_bypassASroute_gw___src;
4471 #define A_surfxml_bypassASroute_gw___src (surfxml_bufferstack + AX_surfxml_bypassASroute_gw___src)
4472 short int surfxml_bypassASroute_gw___src_isset;
4473 AT_surfxml_bypassASroute_src AX_surfxml_bypassASroute_src;
4474 #define A_surfxml_bypassASroute_src (surfxml_bufferstack + AX_surfxml_bypassASroute_src)
4475 short int surfxml_bypassASroute_src_isset;
4476 AT_surfxml_bypassRoute_dst AX_surfxml_bypassRoute_dst;
4477 #define A_surfxml_bypassRoute_dst (surfxml_bufferstack + AX_surfxml_bypassRoute_dst)
4478 short int surfxml_bypassRoute_dst_isset;
4479 AT_surfxml_bypassRoute_src AX_surfxml_bypassRoute_src;
4480 #define A_surfxml_bypassRoute_src (surfxml_bufferstack + AX_surfxml_bypassRoute_src)
4481 short int surfxml_bypassRoute_src_isset;
4482 AT_surfxml_cabinet_bw AX_surfxml_cabinet_bw;
4483 #define A_surfxml_cabinet_bw (surfxml_bufferstack + AX_surfxml_cabinet_bw)
4484 short int surfxml_cabinet_bw_isset;
4485 AT_surfxml_cabinet_id AX_surfxml_cabinet_id;
4486 #define A_surfxml_cabinet_id (surfxml_bufferstack + AX_surfxml_cabinet_id)
4487 short int surfxml_cabinet_id_isset;
4488 AT_surfxml_cabinet_lat AX_surfxml_cabinet_lat;
4489 #define A_surfxml_cabinet_lat (surfxml_bufferstack + AX_surfxml_cabinet_lat)
4490 short int surfxml_cabinet_lat_isset;
4491 AT_surfxml_cabinet_prefix AX_surfxml_cabinet_prefix;
4492 #define A_surfxml_cabinet_prefix (surfxml_bufferstack + AX_surfxml_cabinet_prefix)
4493 short int surfxml_cabinet_prefix_isset;
4494 AT_surfxml_cabinet_radical AX_surfxml_cabinet_radical;
4495 #define A_surfxml_cabinet_radical (surfxml_bufferstack + AX_surfxml_cabinet_radical)
4496 short int surfxml_cabinet_radical_isset;
4497 AT_surfxml_cabinet_speed AX_surfxml_cabinet_speed;
4498 #define A_surfxml_cabinet_speed (surfxml_bufferstack + AX_surfxml_cabinet_speed)
4499 short int surfxml_cabinet_speed_isset;
4500 AT_surfxml_cabinet_suffix AX_surfxml_cabinet_suffix;
4501 #define A_surfxml_cabinet_suffix (surfxml_bufferstack + AX_surfxml_cabinet_suffix)
4502 short int surfxml_cabinet_suffix_isset;
4503 AT_surfxml_cluster_availability___file AX_surfxml_cluster_availability___file;
4504 #define A_surfxml_cluster_availability___file (surfxml_bufferstack + AX_surfxml_cluster_availability___file)
4505 short int surfxml_cluster_availability___file_isset;
4506 AT_surfxml_cluster_bb___bw AX_surfxml_cluster_bb___bw;
4507 #define A_surfxml_cluster_bb___bw (surfxml_bufferstack + AX_surfxml_cluster_bb___bw)
4508 short int surfxml_cluster_bb___bw_isset;
4509 AT_surfxml_cluster_bb___lat AX_surfxml_cluster_bb___lat;
4510 #define A_surfxml_cluster_bb___lat (surfxml_bufferstack + AX_surfxml_cluster_bb___lat)
4511 short int surfxml_cluster_bb___lat_isset;
4512 AT_surfxml_cluster_bb___sharing___policy AX_surfxml_cluster_bb___sharing___policy;
4513 #define A_surfxml_cluster_bb___sharing___policy AX_surfxml_cluster_bb___sharing___policy
4514 short int surfxml_cluster_bb___sharing___policy_isset;
4515 AT_surfxml_cluster_bw AX_surfxml_cluster_bw;
4516 #define A_surfxml_cluster_bw (surfxml_bufferstack + AX_surfxml_cluster_bw)
4517 short int surfxml_cluster_bw_isset;
4518 AT_surfxml_cluster_core AX_surfxml_cluster_core;
4519 #define A_surfxml_cluster_core (surfxml_bufferstack + AX_surfxml_cluster_core)
4520 short int surfxml_cluster_core_isset;
4521 AT_surfxml_cluster_id AX_surfxml_cluster_id;
4522 #define A_surfxml_cluster_id (surfxml_bufferstack + AX_surfxml_cluster_id)
4523 short int surfxml_cluster_id_isset;
4524 AT_surfxml_cluster_lat AX_surfxml_cluster_lat;
4525 #define A_surfxml_cluster_lat (surfxml_bufferstack + AX_surfxml_cluster_lat)
4526 short int surfxml_cluster_lat_isset;
4527 AT_surfxml_cluster_limiter___link AX_surfxml_cluster_limiter___link;
4528 #define A_surfxml_cluster_limiter___link (surfxml_bufferstack + AX_surfxml_cluster_limiter___link)
4529 short int surfxml_cluster_limiter___link_isset;
4530 AT_surfxml_cluster_loopback___bw AX_surfxml_cluster_loopback___bw;
4531 #define A_surfxml_cluster_loopback___bw (surfxml_bufferstack + AX_surfxml_cluster_loopback___bw)
4532 short int surfxml_cluster_loopback___bw_isset;
4533 AT_surfxml_cluster_loopback___lat AX_surfxml_cluster_loopback___lat;
4534 #define A_surfxml_cluster_loopback___lat (surfxml_bufferstack + AX_surfxml_cluster_loopback___lat)
4535 short int surfxml_cluster_loopback___lat_isset;
4536 AT_surfxml_cluster_prefix AX_surfxml_cluster_prefix;
4537 #define A_surfxml_cluster_prefix (surfxml_bufferstack + AX_surfxml_cluster_prefix)
4538 short int surfxml_cluster_prefix_isset;
4539 AT_surfxml_cluster_radical AX_surfxml_cluster_radical;
4540 #define A_surfxml_cluster_radical (surfxml_bufferstack + AX_surfxml_cluster_radical)
4541 short int surfxml_cluster_radical_isset;
4542 AT_surfxml_cluster_router___id AX_surfxml_cluster_router___id;
4543 #define A_surfxml_cluster_router___id (surfxml_bufferstack + AX_surfxml_cluster_router___id)
4544 short int surfxml_cluster_router___id_isset;
4545 AT_surfxml_cluster_sharing___policy AX_surfxml_cluster_sharing___policy;
4546 #define A_surfxml_cluster_sharing___policy AX_surfxml_cluster_sharing___policy
4547 short int surfxml_cluster_sharing___policy_isset;
4548 AT_surfxml_cluster_speed AX_surfxml_cluster_speed;
4549 #define A_surfxml_cluster_speed (surfxml_bufferstack + AX_surfxml_cluster_speed)
4550 short int surfxml_cluster_speed_isset;
4551 AT_surfxml_cluster_state___file AX_surfxml_cluster_state___file;
4552 #define A_surfxml_cluster_state___file (surfxml_bufferstack + AX_surfxml_cluster_state___file)
4553 short int surfxml_cluster_state___file_isset;
4554 AT_surfxml_cluster_suffix AX_surfxml_cluster_suffix;
4555 #define A_surfxml_cluster_suffix (surfxml_bufferstack + AX_surfxml_cluster_suffix)
4556 short int surfxml_cluster_suffix_isset;
4557 AT_surfxml_cluster_topo___parameters AX_surfxml_cluster_topo___parameters;
4558 #define A_surfxml_cluster_topo___parameters (surfxml_bufferstack + AX_surfxml_cluster_topo___parameters)
4559 short int surfxml_cluster_topo___parameters_isset;
4560 AT_surfxml_cluster_topology AX_surfxml_cluster_topology;
4561 #define A_surfxml_cluster_topology AX_surfxml_cluster_topology
4562 short int surfxml_cluster_topology_isset;
4563 AT_surfxml_config_id AX_surfxml_config_id;
4564 #define A_surfxml_config_id (surfxml_bufferstack + AX_surfxml_config_id)
4565 short int surfxml_config_id_isset;
4566 AT_surfxml_host_availability___file AX_surfxml_host_availability___file;
4567 #define A_surfxml_host_availability___file (surfxml_bufferstack + AX_surfxml_host_availability___file)
4568 short int surfxml_host_availability___file_isset;
4569 AT_surfxml_host_coordinates AX_surfxml_host_coordinates;
4570 #define A_surfxml_host_coordinates (surfxml_bufferstack + AX_surfxml_host_coordinates)
4571 short int surfxml_host_coordinates_isset;
4572 AT_surfxml_host_core AX_surfxml_host_core;
4573 #define A_surfxml_host_core (surfxml_bufferstack + AX_surfxml_host_core)
4574 short int surfxml_host_core_isset;
4575 AT_surfxml_host_id AX_surfxml_host_id;
4576 #define A_surfxml_host_id (surfxml_bufferstack + AX_surfxml_host_id)
4577 short int surfxml_host_id_isset;
4578 AT_surfxml_host_pstate AX_surfxml_host_pstate;
4579 #define A_surfxml_host_pstate (surfxml_bufferstack + AX_surfxml_host_pstate)
4580 short int surfxml_host_pstate_isset;
4581 AT_surfxml_host_speed AX_surfxml_host_speed;
4582 #define A_surfxml_host_speed (surfxml_bufferstack + AX_surfxml_host_speed)
4583 short int surfxml_host_speed_isset;
4584 AT_surfxml_host_state___file AX_surfxml_host_state___file;
4585 #define A_surfxml_host_state___file (surfxml_bufferstack + AX_surfxml_host_state___file)
4586 short int surfxml_host_state___file_isset;
4587 AT_surfxml_host___link_down AX_surfxml_host___link_down;
4588 #define A_surfxml_host___link_down (surfxml_bufferstack + AX_surfxml_host___link_down)
4589 short int surfxml_host___link_down_isset;
4590 AT_surfxml_host___link_id AX_surfxml_host___link_id;
4591 #define A_surfxml_host___link_id (surfxml_bufferstack + AX_surfxml_host___link_id)
4592 short int surfxml_host___link_id_isset;
4593 AT_surfxml_host___link_up AX_surfxml_host___link_up;
4594 #define A_surfxml_host___link_up (surfxml_bufferstack + AX_surfxml_host___link_up)
4595 short int surfxml_host___link_up_isset;
4596 AT_surfxml_include_file AX_surfxml_include_file;
4597 #define A_surfxml_include_file (surfxml_bufferstack + AX_surfxml_include_file)
4598 short int surfxml_include_file_isset;
4599 AT_surfxml_link_bandwidth AX_surfxml_link_bandwidth;
4600 #define A_surfxml_link_bandwidth (surfxml_bufferstack + AX_surfxml_link_bandwidth)
4601 short int surfxml_link_bandwidth_isset;
4602 AT_surfxml_link_bandwidth___file AX_surfxml_link_bandwidth___file;
4603 #define A_surfxml_link_bandwidth___file (surfxml_bufferstack + AX_surfxml_link_bandwidth___file)
4604 short int surfxml_link_bandwidth___file_isset;
4605 AT_surfxml_link_id AX_surfxml_link_id;
4606 #define A_surfxml_link_id (surfxml_bufferstack + AX_surfxml_link_id)
4607 short int surfxml_link_id_isset;
4608 AT_surfxml_link_latency AX_surfxml_link_latency;
4609 #define A_surfxml_link_latency (surfxml_bufferstack + AX_surfxml_link_latency)
4610 short int surfxml_link_latency_isset;
4611 AT_surfxml_link_latency___file AX_surfxml_link_latency___file;
4612 #define A_surfxml_link_latency___file (surfxml_bufferstack + AX_surfxml_link_latency___file)
4613 short int surfxml_link_latency___file_isset;
4614 AT_surfxml_link_sharing___policy AX_surfxml_link_sharing___policy;
4615 #define A_surfxml_link_sharing___policy AX_surfxml_link_sharing___policy
4616 short int surfxml_link_sharing___policy_isset;
4617 AT_surfxml_link_state___file AX_surfxml_link_state___file;
4618 #define A_surfxml_link_state___file (surfxml_bufferstack + AX_surfxml_link_state___file)
4619 short int surfxml_link_state___file_isset;
4620 AT_surfxml_link___ctn_direction AX_surfxml_link___ctn_direction;
4621 #define A_surfxml_link___ctn_direction AX_surfxml_link___ctn_direction
4622 short int surfxml_link___ctn_direction_isset;
4623 AT_surfxml_link___ctn_id AX_surfxml_link___ctn_id;
4624 #define A_surfxml_link___ctn_id (surfxml_bufferstack + AX_surfxml_link___ctn_id)
4625 short int surfxml_link___ctn_id_isset;
4626 AT_surfxml_model___prop_id AX_surfxml_model___prop_id;
4627 #define A_surfxml_model___prop_id (surfxml_bufferstack + AX_surfxml_model___prop_id)
4628 short int surfxml_model___prop_id_isset;
4629 AT_surfxml_model___prop_value AX_surfxml_model___prop_value;
4630 #define A_surfxml_model___prop_value (surfxml_bufferstack + AX_surfxml_model___prop_value)
4631 short int surfxml_model___prop_value_isset;
4632 AT_surfxml_mount_name AX_surfxml_mount_name;
4633 #define A_surfxml_mount_name (surfxml_bufferstack + AX_surfxml_mount_name)
4634 short int surfxml_mount_name_isset;
4635 AT_surfxml_mount_storageId AX_surfxml_mount_storageId;
4636 #define A_surfxml_mount_storageId (surfxml_bufferstack + AX_surfxml_mount_storageId)
4637 short int surfxml_mount_storageId_isset;
4638 AT_surfxml_peer_availability___file AX_surfxml_peer_availability___file;
4639 #define A_surfxml_peer_availability___file (surfxml_bufferstack + AX_surfxml_peer_availability___file)
4640 short int surfxml_peer_availability___file_isset;
4641 AT_surfxml_peer_bw___in AX_surfxml_peer_bw___in;
4642 #define A_surfxml_peer_bw___in (surfxml_bufferstack + AX_surfxml_peer_bw___in)
4643 short int surfxml_peer_bw___in_isset;
4644 AT_surfxml_peer_bw___out AX_surfxml_peer_bw___out;
4645 #define A_surfxml_peer_bw___out (surfxml_bufferstack + AX_surfxml_peer_bw___out)
4646 short int surfxml_peer_bw___out_isset;
4647 AT_surfxml_peer_coordinates AX_surfxml_peer_coordinates;
4648 #define A_surfxml_peer_coordinates (surfxml_bufferstack + AX_surfxml_peer_coordinates)
4649 short int surfxml_peer_coordinates_isset;
4650 AT_surfxml_peer_id AX_surfxml_peer_id;
4651 #define A_surfxml_peer_id (surfxml_bufferstack + AX_surfxml_peer_id)
4652 short int surfxml_peer_id_isset;
4653 AT_surfxml_peer_lat AX_surfxml_peer_lat;
4654 #define A_surfxml_peer_lat (surfxml_bufferstack + AX_surfxml_peer_lat)
4655 short int surfxml_peer_lat_isset;
4656 AT_surfxml_peer_speed AX_surfxml_peer_speed;
4657 #define A_surfxml_peer_speed (surfxml_bufferstack + AX_surfxml_peer_speed)
4658 short int surfxml_peer_speed_isset;
4659 AT_surfxml_peer_state___file AX_surfxml_peer_state___file;
4660 #define A_surfxml_peer_state___file (surfxml_bufferstack + AX_surfxml_peer_state___file)
4661 short int surfxml_peer_state___file_isset;
4662 AT_surfxml_platform_version AX_surfxml_platform_version;
4663 #define A_surfxml_platform_version (surfxml_bufferstack + AX_surfxml_platform_version)
4664 short int surfxml_platform_version_isset;
4665 AT_surfxml_process_function AX_surfxml_process_function;
4666 #define A_surfxml_process_function (surfxml_bufferstack + AX_surfxml_process_function)
4667 short int surfxml_process_function_isset;
4668 AT_surfxml_process_host AX_surfxml_process_host;
4669 #define A_surfxml_process_host (surfxml_bufferstack + AX_surfxml_process_host)
4670 short int surfxml_process_host_isset;
4671 AT_surfxml_process_kill___time AX_surfxml_process_kill___time;
4672 #define A_surfxml_process_kill___time (surfxml_bufferstack + AX_surfxml_process_kill___time)
4673 short int surfxml_process_kill___time_isset;
4674 AT_surfxml_process_on___failure AX_surfxml_process_on___failure;
4675 #define A_surfxml_process_on___failure AX_surfxml_process_on___failure
4676 short int surfxml_process_on___failure_isset;
4677 AT_surfxml_process_start___time AX_surfxml_process_start___time;
4678 #define A_surfxml_process_start___time (surfxml_bufferstack + AX_surfxml_process_start___time)
4679 short int surfxml_process_start___time_isset;
4680 AT_surfxml_prop_id AX_surfxml_prop_id;
4681 #define A_surfxml_prop_id (surfxml_bufferstack + AX_surfxml_prop_id)
4682 short int surfxml_prop_id_isset;
4683 AT_surfxml_prop_value AX_surfxml_prop_value;
4684 #define A_surfxml_prop_value (surfxml_bufferstack + AX_surfxml_prop_value)
4685 short int surfxml_prop_value_isset;
4686 AT_surfxml_random_generator AX_surfxml_random_generator;
4687 #define A_surfxml_random_generator AX_surfxml_random_generator
4688 short int surfxml_random_generator_isset;
4689 AT_surfxml_random_id AX_surfxml_random_id;
4690 #define A_surfxml_random_id (surfxml_bufferstack + AX_surfxml_random_id)
4691 short int surfxml_random_id_isset;
4692 AT_surfxml_random_max AX_surfxml_random_max;
4693 #define A_surfxml_random_max (surfxml_bufferstack + AX_surfxml_random_max)
4694 short int surfxml_random_max_isset;
4695 AT_surfxml_random_mean AX_surfxml_random_mean;
4696 #define A_surfxml_random_mean (surfxml_bufferstack + AX_surfxml_random_mean)
4697 short int surfxml_random_mean_isset;
4698 AT_surfxml_random_min AX_surfxml_random_min;
4699 #define A_surfxml_random_min (surfxml_bufferstack + AX_surfxml_random_min)
4700 short int surfxml_random_min_isset;
4701 AT_surfxml_random_radical AX_surfxml_random_radical;
4702 #define A_surfxml_random_radical (surfxml_bufferstack + AX_surfxml_random_radical)
4703 short int surfxml_random_radical_isset;
4704 AT_surfxml_random_seed AX_surfxml_random_seed;
4705 #define A_surfxml_random_seed (surfxml_bufferstack + AX_surfxml_random_seed)
4706 short int surfxml_random_seed_isset;
4707 AT_surfxml_random_std___deviation AX_surfxml_random_std___deviation;
4708 #define A_surfxml_random_std___deviation (surfxml_bufferstack + AX_surfxml_random_std___deviation)
4709 short int surfxml_random_std___deviation_isset;
4710 AT_surfxml_route_dst AX_surfxml_route_dst;
4711 #define A_surfxml_route_dst (surfxml_bufferstack + AX_surfxml_route_dst)
4712 short int surfxml_route_dst_isset;
4713 AT_surfxml_route_src AX_surfxml_route_src;
4714 #define A_surfxml_route_src (surfxml_bufferstack + AX_surfxml_route_src)
4715 short int surfxml_route_src_isset;
4716 AT_surfxml_route_symmetrical AX_surfxml_route_symmetrical;
4717 #define A_surfxml_route_symmetrical AX_surfxml_route_symmetrical
4718 short int surfxml_route_symmetrical_isset;
4719 AT_surfxml_router_coordinates AX_surfxml_router_coordinates;
4720 #define A_surfxml_router_coordinates (surfxml_bufferstack + AX_surfxml_router_coordinates)
4721 short int surfxml_router_coordinates_isset;
4722 AT_surfxml_router_id AX_surfxml_router_id;
4723 #define A_surfxml_router_id (surfxml_bufferstack + AX_surfxml_router_id)
4724 short int surfxml_router_id_isset;
4725 AT_surfxml_storage_attach AX_surfxml_storage_attach;
4726 #define A_surfxml_storage_attach (surfxml_bufferstack + AX_surfxml_storage_attach)
4727 short int surfxml_storage_attach_isset;
4728 AT_surfxml_storage_content AX_surfxml_storage_content;
4729 #define A_surfxml_storage_content (surfxml_bufferstack + AX_surfxml_storage_content)
4730 short int surfxml_storage_content_isset;
4731 AT_surfxml_storage_content___type AX_surfxml_storage_content___type;
4732 #define A_surfxml_storage_content___type (surfxml_bufferstack + AX_surfxml_storage_content___type)
4733 short int surfxml_storage_content___type_isset;
4734 AT_surfxml_storage_id AX_surfxml_storage_id;
4735 #define A_surfxml_storage_id (surfxml_bufferstack + AX_surfxml_storage_id)
4736 short int surfxml_storage_id_isset;
4737 AT_surfxml_storage_typeId AX_surfxml_storage_typeId;
4738 #define A_surfxml_storage_typeId (surfxml_bufferstack + AX_surfxml_storage_typeId)
4739 short int surfxml_storage_typeId_isset;
4740 AT_surfxml_storage___type_content AX_surfxml_storage___type_content;
4741 #define A_surfxml_storage___type_content (surfxml_bufferstack + AX_surfxml_storage___type_content)
4742 short int surfxml_storage___type_content_isset;
4743 AT_surfxml_storage___type_content___type AX_surfxml_storage___type_content___type;
4744 #define A_surfxml_storage___type_content___type (surfxml_bufferstack + AX_surfxml_storage___type_content___type)
4745 short int surfxml_storage___type_content___type_isset;
4746 AT_surfxml_storage___type_id AX_surfxml_storage___type_id;
4747 #define A_surfxml_storage___type_id (surfxml_bufferstack + AX_surfxml_storage___type_id)
4748 short int surfxml_storage___type_id_isset;
4749 AT_surfxml_storage___type_model AX_surfxml_storage___type_model;
4750 #define A_surfxml_storage___type_model (surfxml_bufferstack + AX_surfxml_storage___type_model)
4751 short int surfxml_storage___type_model_isset;
4752 AT_surfxml_storage___type_size AX_surfxml_storage___type_size;
4753 #define A_surfxml_storage___type_size (surfxml_bufferstack + AX_surfxml_storage___type_size)
4754 short int surfxml_storage___type_size_isset;
4755 AT_surfxml_trace_file AX_surfxml_trace_file;
4756 #define A_surfxml_trace_file (surfxml_bufferstack + AX_surfxml_trace_file)
4757 short int surfxml_trace_file_isset;
4758 AT_surfxml_trace_id AX_surfxml_trace_id;
4759 #define A_surfxml_trace_id (surfxml_bufferstack + AX_surfxml_trace_id)
4760 short int surfxml_trace_id_isset;
4761 AT_surfxml_trace_periodicity AX_surfxml_trace_periodicity;
4762 #define A_surfxml_trace_periodicity (surfxml_bufferstack + AX_surfxml_trace_periodicity)
4763 short int surfxml_trace_periodicity_isset;
4764 AT_surfxml_trace___connect_element AX_surfxml_trace___connect_element;
4765 #define A_surfxml_trace___connect_element (surfxml_bufferstack + AX_surfxml_trace___connect_element)
4766 short int surfxml_trace___connect_element_isset;
4767 AT_surfxml_trace___connect_kind AX_surfxml_trace___connect_kind;
4768 #define A_surfxml_trace___connect_kind AX_surfxml_trace___connect_kind
4769 short int surfxml_trace___connect_kind_isset;
4770 AT_surfxml_trace___connect_trace AX_surfxml_trace___connect_trace;
4771 #define A_surfxml_trace___connect_trace (surfxml_bufferstack + AX_surfxml_trace___connect_trace)
4772 short int surfxml_trace___connect_trace_isset;
4776 # define ENTER(state) debug_enter(state,#state)
4777 # define LEAVE debug_leave()
4778 # define SET(state) debug_set(state,#state)
4779 static void debug_enter(int, const char*);
4780 static void debug_leave(void);
4781 static void debug_set(int, const char*);
4783 # define ENTER(state) (yy_push_state(state))
4784 # define LEAVE (yy_pop_state())
4785 # define SET(state) BEGIN(state)
4788 /* Generic actions. */
4789 #define SKIP /*skip*/
4790 #define SUCCEED CLEANUP; return 0
4792 #define FAIL return fail
4793 static int fail(const char*, ...);
4795 enum {flexml_max_err_msg_size = 512};
4796 static char flexml_err_msg[flexml_max_err_msg_size];
4797 const char * surfxml_parse_err_msg()
4799 return flexml_err_msg;
4801 static void reset_surfxml_parse_err_msg()
4803 flexml_err_msg[0] = '\0';
4807 static void cleanup(void);
4808 #define CLEANUP cleanup()
4810 /* Text buffer stack handling. */
4811 char *surfxml_bufferstack = NULL;
4812 static int blimit = FLEXML_BUFFERSTACKSIZE;
4813 static int bnext = 1;
4815 static int *indexstack = NULL;
4816 static int ilimit = FLEXML_INDEXSTACKSIZE;
4817 static int inext = 1;
4819 #define BUFFERSET(P) (P = bnext)
4820 #define BUFFERPUTC(C) (ck_blimit(), surfxml_bufferstack[bnext++] = (C))
4821 #define BUFFERDONE (BUFFERPUTC('\0'))
4823 #define BUFFERLITERAL(C, P) surfxml_bufferliteral(C, &(P), surf_parse_text)
4825 /* after this is called, there are at least 2 slots left in the stack */
4826 static int ck_blimit()
4828 if (bnext >= blimit) {
4829 blimit += FLEXML_BUFFERSTACKSIZE + 2;
4831 char *temp = (char *) realloc(surfxml_bufferstack, blimit);
4833 surfxml_bufferstack = temp;
4839 /* after this is called, there are at least 2 slots left in the stack */
4840 static int ck_ilimit()
4842 if (inext >= ilimit) {
4843 ilimit += FLEXML_INDEXSTACKSIZE + 2;
4845 int *temp = (int *) realloc(indexstack, ilimit);
4853 #ifdef FLEXML_NEED_BUFFERLIT
4854 static void surfxml_bufferliteral(char c, int* pp, const char* text)
4858 const char *s = strchr(text, c), *e = strrchr(text, c);
4859 assert(s && e && s <= e);
4864 do ++s; while (s < e && isspace(*s));
4869 const char *s = text;
4877 static void pushbuffer(int p)
4880 indexstack[inext++] = p;
4881 indexstack[inext++] = bnext;
4884 static int popbuffer(void)
4887 bnext = indexstack[--inext];
4888 return indexstack[--inext];
4891 /* General internal entities are `unput' back onto the input stream... */
4892 #define ENTITYTEXT(T) \
4893 { char *s = (T), *e = s+strlen(s);\
4894 while (--e >= s) { unput(*e); }}
4896 /* Flex standard options. */
4897 #define YY_NO_INPUT 1
4898 /* Flex user-requested options. */
4899 /* XML character classes (currently restricted to ASCII). */
4900 /* "Common syntactic structures." */
4901 /* "Names and Tokens." */
4902 /* Miscellaneous. */
4903 /* Parser states (flex `exclusive start conditions'):
4905 * PROLOG the XML prolog of the document before <?xml...>
4906 * DOCTYPE the XML prolog of the document after <?xml...>
4907 * EPILOG after the root element
4908 * INCOMMENT inside an XML comment <!--....-->
4909 * INPI inside an XML PI <?...?>
4910 * VALUE1 inside a '...'-delimited literal
4911 * VALUE2 inside a "..."-delimited literal
4912 * CDATA inside a <![CDATA[...] ]> section.
4913 * ROOT_<tag> expect root element <tag>
4914 * AL_<tag> inside the attribute list for <tag>
4915 * IN_<tag> inside a <tag> with element contents (ready for end tag)
4916 * IMPOSSIBLE dummy to permit disabling rules; must be last
4920 const char* *surfxml_statenames=NULL;
4931 #define AL_surfxml_AS 9
4932 #define S_surfxml_AS 10
4933 #define S_surfxml_AS_1 11
4934 #define S_surfxml_AS_2 12
4935 #define S_surfxml_AS_3 13
4936 #define S_surfxml_AS_4 14
4937 #define S_surfxml_AS_5 15
4938 #define S_surfxml_AS_6 16
4939 #define S_surfxml_AS_7 17
4940 #define S_surfxml_AS_8 18
4941 #define E_surfxml_AS 19
4942 #define AL_surfxml_ASroute 20
4943 #define S_surfxml_ASroute 21
4944 #define S_surfxml_ASroute_1 22
4945 #define S_surfxml_ASroute_2 23
4946 #define E_surfxml_ASroute 24
4947 #define AL_surfxml_argument 25
4948 #define E_surfxml_argument 26
4949 #define AL_surfxml_backbone 27
4950 #define E_surfxml_backbone 28
4951 #define AL_surfxml_bypassASroute 29
4952 #define S_surfxml_bypassASroute 30
4953 #define S_surfxml_bypassASroute_1 31
4954 #define S_surfxml_bypassASroute_2 32
4955 #define E_surfxml_bypassASroute 33
4956 #define AL_surfxml_bypassRoute 34
4957 #define S_surfxml_bypassRoute 35
4958 #define S_surfxml_bypassRoute_1 36
4959 #define S_surfxml_bypassRoute_2 37
4960 #define E_surfxml_bypassRoute 38
4961 #define AL_surfxml_cabinet 39
4962 #define E_surfxml_cabinet 40
4963 #define AL_surfxml_cluster 41
4964 #define S_surfxml_cluster 42
4965 #define S_surfxml_cluster_1 43
4966 #define S_surfxml_cluster_2 44
4967 #define E_surfxml_cluster 45
4968 #define AL_surfxml_config 46
4969 #define S_surfxml_config 47
4970 #define S_surfxml_config_1 48
4971 #define S_surfxml_config_2 49
4972 #define E_surfxml_config 50
4973 #define AL_surfxml_host 51
4974 #define S_surfxml_host 52
4975 #define S_surfxml_host_1 53
4976 #define S_surfxml_host_2 54
4977 #define E_surfxml_host 55
4978 #define AL_surfxml_host___link 56
4979 #define E_surfxml_host___link 57
4980 #define AL_surfxml_include 58
4981 #define S_surfxml_include 59
4982 #define S_surfxml_include_1 60
4983 #define S_surfxml_include_2 61
4984 #define E_surfxml_include 62
4985 #define AL_surfxml_link 63
4986 #define S_surfxml_link 64
4987 #define S_surfxml_link_1 65
4988 #define S_surfxml_link_2 66
4989 #define E_surfxml_link 67
4990 #define AL_surfxml_link___ctn 68
4991 #define E_surfxml_link___ctn 69
4992 #define AL_surfxml_model___prop 70
4993 #define E_surfxml_model___prop 71
4994 #define AL_surfxml_mount 72
4995 #define E_surfxml_mount 73
4996 #define AL_surfxml_peer 74
4997 #define E_surfxml_peer 75
4998 #define ROOT_surfxml_platform 76
4999 #define AL_surfxml_platform 77
5000 #define S_surfxml_platform 78
5001 #define S_surfxml_platform_1 79
5002 #define S_surfxml_platform_2 80
5003 #define S_surfxml_platform_3 81
5004 #define S_surfxml_platform_4 82
5005 #define S_surfxml_platform_5 83
5006 #define S_surfxml_platform_6 84
5007 #define S_surfxml_platform_7 85
5008 #define S_surfxml_platform_8 86
5009 #define E_surfxml_platform 87
5010 #define AL_surfxml_process 88
5011 #define S_surfxml_process 89
5012 #define S_surfxml_process_1 90
5013 #define S_surfxml_process_2 91
5014 #define E_surfxml_process 92
5015 #define AL_surfxml_prop 93
5016 #define E_surfxml_prop 94
5017 #define AL_surfxml_random 95
5018 #define E_surfxml_random 96
5019 #define AL_surfxml_route 97
5020 #define S_surfxml_route 98
5021 #define S_surfxml_route_1 99
5022 #define S_surfxml_route_2 100
5023 #define E_surfxml_route 101
5024 #define AL_surfxml_router 102
5025 #define E_surfxml_router 103
5026 #define AL_surfxml_storage 104
5027 #define S_surfxml_storage 105
5028 #define S_surfxml_storage_1 106
5029 #define S_surfxml_storage_2 107
5030 #define E_surfxml_storage 108
5031 #define AL_surfxml_storage___type 109
5032 #define S_surfxml_storage___type 110
5033 #define S_surfxml_storage___type_1 111
5034 #define S_surfxml_storage___type_2 112
5035 #define E_surfxml_storage___type 113
5036 #define AL_surfxml_trace 114
5037 #define IN_trace 115
5038 #define AL_surfxml_trace___connect 116
5039 #define E_surfxml_trace___connect 117
5040 #define IMPOSSIBLE 118
5042 #ifndef YY_NO_UNISTD_H
5043 /* Special case for "unistd.h", since it is non-ANSI. We include it way
5044 * down here because we want the user's section 1 to have been scanned first.
5045 * The user has a chance to override it with an option.
5048 # ifndef __STRICT_ANSI__
5050 # include <process.h>
5053 # include <unistd.h>
5057 #ifndef YY_EXTRA_TYPE
5058 #define YY_EXTRA_TYPE void *
5061 static int yy_init_globals (void );
5063 /* Accessor methods to globals.
5064 These are made visible to non-reentrant scanners for convenience. */
5066 int surf_parse_lex_destroy (void );
5068 int surf_parse_get_debug (void );
5070 void surf_parse_set_debug (int debug_flag );
5072 YY_EXTRA_TYPE surf_parse_get_extra (void );
5074 void surf_parse_set_extra (YY_EXTRA_TYPE user_defined );
5076 FILE *surf_parse_get_in (void );
5078 void surf_parse_set_in (FILE * in_str );
5080 FILE *surf_parse_get_out (void );
5082 void surf_parse_set_out (FILE * out_str );
5084 yy_size_t surf_parse_get_leng (void );
5086 char *surf_parse_get_text (void );
5088 int surf_parse_get_lineno (void );
5090 void surf_parse_set_lineno (int line_number );
5092 /* Macros after this point can all be overridden by user definitions in
5096 #ifndef YY_SKIP_YYWRAP
5098 extern "C" int surf_parse_wrap (void );
5100 extern int surf_parse_wrap (void );
5105 static void yy_flex_strncpy (char *,yyconst char *,int );
5108 #ifdef YY_NEED_STRLEN
5109 static int yy_flex_strlen (yyconst char * );
5115 static int yyinput (void );
5117 static int input (void );
5122 static int yy_start_stack_ptr = 0;
5123 static int yy_start_stack_depth = 0;
5124 static int *yy_start_stack = NULL;
5126 static void yy_push_state (int new_state );
5128 static void yy_pop_state (void );
5130 /* Amount of stuff to slurp up with each read. */
5131 #ifndef YY_READ_BUF_SIZE
5133 /* On IA-64, the buffer size is 16k, not 8k */
5134 #define YY_READ_BUF_SIZE 16384
5136 #define YY_READ_BUF_SIZE 8192
5137 #endif /* __ia64__ */
5140 /* Copy whatever the last rule matched to the standard output. */
5142 /* This used to be an fputs(), but since the string might contain NUL's,
5143 * we now use fwrite().
5145 #define ECHO do { if (fwrite( surf_parse_text, surf_parse_leng, 1, surf_parse_out )) {} } while (0)
5148 /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
5149 * is returned in "result".
5152 #define YY_INPUT(buf,result,max_size) \
5153 if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
5157 for ( n = 0; n < max_size && \
5158 (c = getc( surf_parse_in )) != EOF && c != '\n'; ++n ) \
5159 buf[n] = (char) c; \
5161 buf[n++] = (char) c; \
5162 if ( c == EOF && ferror( surf_parse_in ) ) \
5163 YY_FATAL_ERROR( "input in flex scanner failed" ); \
5169 while ( (result = fread(buf, 1, max_size, surf_parse_in))==0 && ferror(surf_parse_in)) \
5171 if( errno != EINTR) \
5173 YY_FATAL_ERROR( "input in flex scanner failed" ); \
5177 clearerr(surf_parse_in); \
5184 /* No semi-colon after return; correct usage is to write "yyterminate();" -
5185 * we don't want an extra ';' after the "return" because that will cause
5186 * some compilers to complain about unreachable statements.
5189 #define yyterminate() return YY_NULL
5192 /* Number of entries by which start-condition stack grows. */
5193 #ifndef YY_START_STACK_INCR
5194 #define YY_START_STACK_INCR 25
5197 /* Report a fatal error. */
5198 #ifndef YY_FATAL_ERROR
5199 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
5202 /* end tables serialization structures and prototypes */
5204 /* Default declaration of generated scanner - a define so the user can
5205 * easily add parameters.
5208 #define YY_DECL_IS_OURS 1
5210 extern int surf_parse_lex (void);
5212 #define YY_DECL int surf_parse_lex (void)
5213 #endif /* !YY_DECL */
5215 /* Code executed at the beginning of each rule, after surf_parse_text and surf_parse_leng
5218 #ifndef YY_USER_ACTION
5219 #define YY_USER_ACTION
5222 /* Code executed at the end of each rule. */
5224 #define YY_BREAK break;
5227 #define YY_RULE_SETUP \
5230 /** The main scanner function which does all the work.
5234 yy_state_type yy_current_state;
5235 char *yy_cp, *yy_bp;
5247 (yy_start) = 1; /* first start state */
5249 if ( ! surf_parse_in )
5250 surf_parse_in = stdin;
5252 if ( ! surf_parse_out )
5253 surf_parse_out = stdout;
5255 if ( ! YY_CURRENT_BUFFER ) {
5256 surf_parse_ensure_buffer_stack ();
5257 YY_CURRENT_BUFFER_LVALUE =
5258 surf_parse__create_buffer(surf_parse_in,YY_BUF_SIZE );
5261 surf_parse__load_buffer_state( );
5266 /* Bypass Flex's default INITIAL state and begin by parsing the XML prolog. */
5268 reset_surfxml_parse_err_msg();
5269 surfxml_bufferstack = (char *) malloc(FLEXML_BUFFERSTACKSIZE);
5270 assert(surfxml_bufferstack);
5274 for (i = 0; i < blimit; i++) {
5275 surfxml_bufferstack[i] = '\377';
5279 surfxml_bufferstack[0] = '\0';
5280 indexstack = (int *) malloc(FLEXML_INDEXSTACKSIZE * sizeof(int));
5286 surfxml_bufferliteral('\0', &bnext, "0.0");
5287 surfxml_bufferliteral('\0', &bnext, "2147483647");
5288 surfxml_bufferliteral('\0', &bnext, "txt_unix");
5289 surfxml_bufferliteral('\0', &bnext, "1");
5290 surfxml_bufferliteral('\0', &bnext, "0.0");
5291 surfxml_bufferliteral('\0', &bnext, "txt_unix");
5292 surfxml_bufferliteral('\0', &bnext, "1");
5293 surfxml_bufferliteral('\0', &bnext, "0s");
5294 surfxml_bufferliteral('\0', &bnext, "-1.0");
5295 surfxml_bufferliteral('\0', &bnext, "-1.0");
5296 if(!surfxml_statenames) {surfxml_statenames= (const char **)calloc(IMPOSSIBLE,sizeof(char*));
5297 surfxml_statenames[PROLOG] = NULL;
5298 surfxml_statenames[DOCTYPE] = NULL;
5299 surfxml_statenames[EPILOG] = NULL;
5300 surfxml_statenames[INCOMMENT] = NULL;
5301 surfxml_statenames[INPI] = NULL;
5302 surfxml_statenames[VALUE1] = NULL;
5303 surfxml_statenames[VALUE2] = NULL;
5304 surfxml_statenames[CDATA] = NULL;
5305 surfxml_statenames[AL_surfxml_AS] = NULL;
5306 surfxml_statenames[S_surfxml_AS] = "AS";
5307 surfxml_statenames[S_surfxml_AS_1] = "AS";
5308 surfxml_statenames[S_surfxml_AS_2] = "AS";
5309 surfxml_statenames[S_surfxml_AS_3] = "AS";
5310 surfxml_statenames[S_surfxml_AS_4] = "AS";
5311 surfxml_statenames[S_surfxml_AS_5] = "AS";
5312 surfxml_statenames[S_surfxml_AS_6] = "AS";
5313 surfxml_statenames[S_surfxml_AS_7] = "AS";
5314 surfxml_statenames[S_surfxml_AS_8] = "AS";
5315 surfxml_statenames[E_surfxml_AS] = "AS";
5316 surfxml_statenames[AL_surfxml_ASroute] = NULL;
5317 surfxml_statenames[S_surfxml_ASroute] = "ASroute";
5318 surfxml_statenames[S_surfxml_ASroute_1] = "ASroute";
5319 surfxml_statenames[S_surfxml_ASroute_2] = "ASroute";
5320 surfxml_statenames[E_surfxml_ASroute] = "ASroute";
5321 surfxml_statenames[AL_surfxml_argument] = NULL;
5322 surfxml_statenames[E_surfxml_argument] = "argument";
5323 surfxml_statenames[AL_surfxml_backbone] = NULL;
5324 surfxml_statenames[E_surfxml_backbone] = "backbone";
5325 surfxml_statenames[AL_surfxml_bypassASroute] = NULL;
5326 surfxml_statenames[S_surfxml_bypassASroute] = "bypassASroute";
5327 surfxml_statenames[S_surfxml_bypassASroute_1] = "bypassASroute";
5328 surfxml_statenames[S_surfxml_bypassASroute_2] = "bypassASroute";
5329 surfxml_statenames[E_surfxml_bypassASroute] = "bypassASroute";
5330 surfxml_statenames[AL_surfxml_bypassRoute] = NULL;
5331 surfxml_statenames[S_surfxml_bypassRoute] = "bypassRoute";
5332 surfxml_statenames[S_surfxml_bypassRoute_1] = "bypassRoute";
5333 surfxml_statenames[S_surfxml_bypassRoute_2] = "bypassRoute";
5334 surfxml_statenames[E_surfxml_bypassRoute] = "bypassRoute";
5335 surfxml_statenames[AL_surfxml_cabinet] = NULL;
5336 surfxml_statenames[E_surfxml_cabinet] = "cabinet";
5337 surfxml_statenames[AL_surfxml_cluster] = NULL;
5338 surfxml_statenames[S_surfxml_cluster] = "cluster";
5339 surfxml_statenames[S_surfxml_cluster_1] = "cluster";
5340 surfxml_statenames[S_surfxml_cluster_2] = "cluster";
5341 surfxml_statenames[E_surfxml_cluster] = "cluster";
5342 surfxml_statenames[AL_surfxml_config] = NULL;
5343 surfxml_statenames[S_surfxml_config] = "config";
5344 surfxml_statenames[S_surfxml_config_1] = "config";
5345 surfxml_statenames[S_surfxml_config_2] = "config";
5346 surfxml_statenames[E_surfxml_config] = "config";
5347 surfxml_statenames[AL_surfxml_host] = NULL;
5348 surfxml_statenames[S_surfxml_host] = "host";
5349 surfxml_statenames[S_surfxml_host_1] = "host";
5350 surfxml_statenames[S_surfxml_host_2] = "host";
5351 surfxml_statenames[E_surfxml_host] = "host";
5352 surfxml_statenames[AL_surfxml_host___link] = NULL;
5353 surfxml_statenames[E_surfxml_host___link] = "host_link";
5354 surfxml_statenames[AL_surfxml_include] = NULL;
5355 surfxml_statenames[S_surfxml_include] = "include";
5356 surfxml_statenames[S_surfxml_include_1] = "include";
5357 surfxml_statenames[S_surfxml_include_2] = "include";
5358 surfxml_statenames[E_surfxml_include] = "include";
5359 surfxml_statenames[AL_surfxml_link] = NULL;
5360 surfxml_statenames[S_surfxml_link] = "link";
5361 surfxml_statenames[S_surfxml_link_1] = "link";
5362 surfxml_statenames[S_surfxml_link_2] = "link";
5363 surfxml_statenames[E_surfxml_link] = "link";
5364 surfxml_statenames[AL_surfxml_link___ctn] = NULL;
5365 surfxml_statenames[E_surfxml_link___ctn] = "link_ctn";
5366 surfxml_statenames[AL_surfxml_model___prop] = NULL;
5367 surfxml_statenames[E_surfxml_model___prop] = "model_prop";
5368 surfxml_statenames[AL_surfxml_mount] = NULL;
5369 surfxml_statenames[E_surfxml_mount] = "mount";
5370 surfxml_statenames[AL_surfxml_peer] = NULL;
5371 surfxml_statenames[E_surfxml_peer] = "peer";
5372 surfxml_statenames[ROOT_surfxml_platform] = NULL;
5373 surfxml_statenames[AL_surfxml_platform] = NULL;
5374 surfxml_statenames[S_surfxml_platform] = "platform";
5375 surfxml_statenames[S_surfxml_platform_1] = "platform";
5376 surfxml_statenames[S_surfxml_platform_2] = "platform";
5377 surfxml_statenames[S_surfxml_platform_3] = "platform";
5378 surfxml_statenames[S_surfxml_platform_4] = "platform";
5379 surfxml_statenames[S_surfxml_platform_5] = "platform";
5380 surfxml_statenames[S_surfxml_platform_6] = "platform";
5381 surfxml_statenames[S_surfxml_platform_7] = "platform";
5382 surfxml_statenames[S_surfxml_platform_8] = "platform";
5383 surfxml_statenames[E_surfxml_platform] = "platform";
5384 surfxml_statenames[AL_surfxml_process] = NULL;
5385 surfxml_statenames[S_surfxml_process] = "process";
5386 surfxml_statenames[S_surfxml_process_1] = "process";
5387 surfxml_statenames[S_surfxml_process_2] = "process";
5388 surfxml_statenames[E_surfxml_process] = "process";
5389 surfxml_statenames[AL_surfxml_prop] = NULL;
5390 surfxml_statenames[E_surfxml_prop] = "prop";
5391 surfxml_statenames[AL_surfxml_random] = NULL;
5392 surfxml_statenames[E_surfxml_random] = "random";
5393 surfxml_statenames[AL_surfxml_route] = NULL;
5394 surfxml_statenames[S_surfxml_route] = "route";
5395 surfxml_statenames[S_surfxml_route_1] = "route";
5396 surfxml_statenames[S_surfxml_route_2] = "route";
5397 surfxml_statenames[E_surfxml_route] = "route";
5398 surfxml_statenames[AL_surfxml_router] = NULL;
5399 surfxml_statenames[E_surfxml_router] = "router";
5400 surfxml_statenames[AL_surfxml_storage] = NULL;
5401 surfxml_statenames[S_surfxml_storage] = "storage";
5402 surfxml_statenames[S_surfxml_storage_1] = "storage";
5403 surfxml_statenames[S_surfxml_storage_2] = "storage";
5404 surfxml_statenames[E_surfxml_storage] = "storage";
5405 surfxml_statenames[AL_surfxml_storage___type] = NULL;
5406 surfxml_statenames[S_surfxml_storage___type] = "storage_type";
5407 surfxml_statenames[S_surfxml_storage___type_1] = "storage_type";
5408 surfxml_statenames[S_surfxml_storage___type_2] = "storage_type";
5409 surfxml_statenames[E_surfxml_storage___type] = "storage_type";
5410 surfxml_statenames[AL_surfxml_trace] = NULL;
5411 surfxml_statenames[IN_trace] = "trace";
5412 surfxml_statenames[AL_surfxml_trace___connect] = NULL;
5413 surfxml_statenames[E_surfxml_trace___connect] = "trace_connect";
5416 /* COMMENTS and PIs: handled uniformly for efficiency. */
5418 while ( 1 ) /* loops until end-of-file is reached */
5420 yy_cp = (yy_c_buf_p);
5422 /* Support of surf_parse_text. */
5423 *yy_cp = (yy_hold_char);
5425 /* yy_bp points to the position in yy_ch_buf of the start of
5430 yy_current_state = (yy_start);
5434 YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)] ;
5435 if ( yy_accept[yy_current_state] )
5437 (yy_last_accepting_state) = yy_current_state;
5438 (yy_last_accepting_cpos) = yy_cp;
5440 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
5442 yy_current_state = (int) yy_def[yy_current_state];
5443 if ( yy_current_state >= 3330 )
5444 yy_c = yy_meta[(unsigned int) yy_c];
5446 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
5449 while ( yy_base[yy_current_state] != 11804 );
5452 yy_act = yy_accept[yy_current_state];
5454 { /* have to back up */
5455 yy_cp = (yy_last_accepting_cpos);
5456 yy_current_state = (yy_last_accepting_state);
5457 yy_act = yy_accept[yy_current_state];
5460 YY_DO_BEFORE_ACTION;
5462 if ( yy_act != YY_END_OF_BUFFER && yy_rule_can_match_eol[yy_act] )
5465 for ( yyl = 0; yyl < surf_parse_leng; ++yyl )
5466 if ( surf_parse_text[yyl] == '\n' )
5468 surf_parse_lineno++;
5472 do_action: /* This label is used only to access EOF actions. */
5475 { /* beginning of action switch */
5476 case 0: /* must back up */
5477 /* undo the effects of YY_DO_BEFORE_ACTION */
5478 *yy_cp = (yy_hold_char);
5479 yy_cp = (yy_last_accepting_cpos);
5480 yy_current_state = (yy_last_accepting_state);
5481 goto yy_find_action;
5499 /* rule 6 can match eol */
5503 case YY_STATE_EOF(INCOMMENT):
5504 FAIL("EOF in comment.");
5513 /* rule 9 can match eol */
5517 case YY_STATE_EOF(INPI):
5518 FAIL("EOF in PI (processing instruction).");
5521 /* SPACES: skipped uniformly */
5523 /* rule 10 can match eol */
5527 /* PROLOG: determine root element and process it. */
5530 /* rule 11 can match eol */
5535 /* rule 12 can match eol */
5537 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);
5541 /* rule 13 can match eol */
5543 SET(ROOT_surfxml_platform);
5546 /* rule 14 can match eol */
5548 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);
5552 FAIL("Unexpected character `%c' in prolog.", surf_parse_text[0]);
5554 case YY_STATE_EOF(PROLOG):
5555 case YY_STATE_EOF(DOCTYPE):
5556 FAIL("EOF in prolog.");
5559 /* RULES DERIVED FROM DTD. */
5561 /* rule 16 can match eol */
5563 FAIL("Starting tag <AS> is not allowed here.");
5566 /* rule 17 can match eol */
5569 AX_surfxml_AS_id = 0;
5570 surfxml_AS_id_isset = 0;
5571 AX_surfxml_AS_routing = AU_surfxml_AS_routing;
5572 surfxml_AS_routing_isset = 0;
5573 ENTER(AL_surfxml_AS); pushbuffer(0);
5578 /* rule 18 can match eol */
5580 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);
5583 /* rule 19 can match eol */
5585 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);
5588 /* rule 20 can match eol */
5590 /* rule 21 can match eol */
5592 A_surfxml_AS_routing = A_surfxml_AS_routing_Full;
5595 /* rule 22 can match eol */
5597 /* rule 23 can match eol */
5599 A_surfxml_AS_routing = A_surfxml_AS_routing_Floyd;
5602 /* rule 24 can match eol */
5604 /* rule 25 can match eol */
5606 A_surfxml_AS_routing = A_surfxml_AS_routing_Dijkstra;
5609 /* rule 26 can match eol */
5611 /* rule 27 can match eol */
5613 A_surfxml_AS_routing = A_surfxml_AS_routing_DijkstraCache;
5616 /* rule 28 can match eol */
5618 /* rule 29 can match eol */
5620 A_surfxml_AS_routing = A_surfxml_AS_routing_None;
5623 /* rule 30 can match eol */
5625 /* rule 31 can match eol */
5627 A_surfxml_AS_routing = A_surfxml_AS_routing_Vivaldi;
5630 /* rule 32 can match eol */
5632 /* rule 33 can match eol */
5634 A_surfxml_AS_routing = A_surfxml_AS_routing_Cluster;
5637 /* rule 34 can match eol */
5639 /* rule 35 can match eol */
5641 A_surfxml_AS_routing = A_surfxml_AS_routing_ClusterTorus;
5644 /* rule 36 can match eol */
5646 /* rule 37 can match eol */
5648 A_surfxml_AS_routing = A_surfxml_AS_routing_ClusterFatTree;
5653 if (!AX_surfxml_AS_id) FAIL("Required attribute `id' not set for `AS' element.");
5654 if (!AX_surfxml_AS_routing) FAIL("Required attribute `routing' not set for `AS' element.");
5655 LEAVE; STag_surfxml_AS();surfxml_pcdata_ix = 0; ENTER(S_surfxml_AS);
5661 if (!AX_surfxml_AS_id) FAIL("Required attribute `id' not set for `AS' element.");
5662 if (!AX_surfxml_AS_routing) FAIL("Required attribute `routing' not set for `AS' element.");
5663 LEAVE; STag_surfxml_AS(); surfxml_pcdata_ix = 0; ETag_surfxml_AS(); popbuffer(); /* attribute */
5665 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;
5666 case S_surfxml_include: case S_surfxml_include_1: case S_surfxml_include_2: SET(S_surfxml_include_2); break;
5667 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;
5673 FAIL("Unexpected character `%c' in attribute list of AS element.", surf_parse_text[0]);
5677 FAIL("Bad attribute `%s' in `AS' element start tag.",surf_parse_text);
5679 case YY_STATE_EOF(AL_surfxml_AS):
5680 FAIL("EOF in attribute list of `AS' element.");
5684 /* rule 42 can match eol */
5689 popbuffer(); /* attribute */
5691 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;
5692 case S_surfxml_include: case S_surfxml_include_1: case S_surfxml_include_2: SET(S_surfxml_include_2); break;
5693 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;
5698 /* rule 43 can match eol */
5700 FAIL("Unexpected end-tag `%s': `</AS>' expected.",surf_parse_text);
5704 FAIL("Unexpected character `%c': `</AS>' expected.",surf_parse_text[0]);
5706 case YY_STATE_EOF(E_surfxml_AS):
5707 case YY_STATE_EOF(S_surfxml_AS):
5708 case YY_STATE_EOF(S_surfxml_AS_1):
5709 case YY_STATE_EOF(S_surfxml_AS_3):
5710 case YY_STATE_EOF(S_surfxml_AS_4):
5711 case YY_STATE_EOF(S_surfxml_AS_6):
5712 case YY_STATE_EOF(S_surfxml_AS_8):
5713 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</AS>' expected.");
5717 /* rule 45 can match eol */
5719 FAIL("Starting tag <ASroute> is not allowed here.");
5722 /* rule 46 can match eol */
5725 AX_surfxml_ASroute_dst = 0;
5726 surfxml_ASroute_dst_isset = 0;
5727 AX_surfxml_ASroute_gw___dst = 0;
5728 surfxml_ASroute_gw___dst_isset = 0;
5729 AX_surfxml_ASroute_gw___src = 0;
5730 surfxml_ASroute_gw___src_isset = 0;
5731 AX_surfxml_ASroute_src = 0;
5732 surfxml_ASroute_src_isset = 0;
5733 AX_surfxml_ASroute_symmetrical = A_surfxml_ASroute_symmetrical_YES;
5734 surfxml_ASroute_symmetrical_isset = 0;
5735 ENTER(AL_surfxml_ASroute); pushbuffer(0);
5740 /* rule 47 can match eol */
5742 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);
5745 /* rule 48 can match eol */
5747 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);
5750 /* rule 49 can match eol */
5752 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);
5755 /* rule 50 can match eol */
5757 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);
5760 /* rule 51 can match eol */
5762 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);
5765 /* rule 52 can match eol */
5767 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);
5770 /* rule 53 can match eol */
5772 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);
5775 /* rule 54 can match eol */
5777 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);
5780 /* rule 55 can match eol */
5782 /* rule 56 can match eol */
5784 A_surfxml_ASroute_symmetrical = A_surfxml_ASroute_symmetrical_YES;
5787 /* rule 57 can match eol */
5789 /* rule 58 can match eol */
5791 A_surfxml_ASroute_symmetrical = A_surfxml_ASroute_symmetrical_NO;
5796 if (!AX_surfxml_ASroute_dst) FAIL("Required attribute `dst' not set for `ASroute' element.");
5797 if (!AX_surfxml_ASroute_gw___dst) FAIL("Required attribute `gw_dst' not set for `ASroute' element.");
5798 if (!AX_surfxml_ASroute_gw___src) FAIL("Required attribute `gw_src' not set for `ASroute' element.");
5799 if (!AX_surfxml_ASroute_src) FAIL("Required attribute `src' not set for `ASroute' element.");
5800 LEAVE; STag_surfxml_ASroute();surfxml_pcdata_ix = 0; ENTER(S_surfxml_ASroute);
5806 if (!AX_surfxml_ASroute_dst) FAIL("Required attribute `dst' not set for `ASroute' element.");
5807 if (!AX_surfxml_ASroute_gw___dst) FAIL("Required attribute `gw_dst' not set for `ASroute' element.");
5808 if (!AX_surfxml_ASroute_gw___src) FAIL("Required attribute `gw_src' not set for `ASroute' element.");
5809 if (!AX_surfxml_ASroute_src) FAIL("Required attribute `src' not set for `ASroute' element.");
5810 LEAVE; STag_surfxml_ASroute(); surfxml_pcdata_ix = 0; ETag_surfxml_ASroute(); popbuffer(); /* attribute */
5812 case S_surfxml_AS_3: case S_surfxml_AS_5: SET(S_surfxml_AS_6); break;
5813 case S_surfxml_AS: case S_surfxml_AS_1: 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;
5819 FAIL("Unexpected character `%c' in attribute list of ASroute element.", surf_parse_text[0]);
5823 FAIL("Bad attribute `%s' in `ASroute' element start tag.",surf_parse_text);
5825 case YY_STATE_EOF(AL_surfxml_ASroute):
5826 FAIL("EOF in attribute list of `ASroute' element.");
5830 /* rule 63 can match eol */
5834 ETag_surfxml_ASroute();
5835 popbuffer(); /* attribute */
5837 case S_surfxml_AS_3: case S_surfxml_AS_5: SET(S_surfxml_AS_6); break;
5838 case S_surfxml_AS: case S_surfxml_AS_1: 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;
5843 /* rule 64 can match eol */
5845 FAIL("Unexpected end-tag `%s': `</ASroute>' expected.",surf_parse_text);
5849 FAIL("Unexpected character `%c': `</ASroute>' expected.",surf_parse_text[0]);
5851 case YY_STATE_EOF(E_surfxml_ASroute):
5852 case YY_STATE_EOF(S_surfxml_ASroute):
5853 case YY_STATE_EOF(S_surfxml_ASroute_2):
5854 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</ASroute>' expected.");
5858 /* rule 66 can match eol */
5860 FAIL("Starting tag <argument> is not allowed here.");
5863 /* rule 67 can match eol */
5866 AX_surfxml_argument_value = 0;
5867 surfxml_argument_value_isset = 0;
5868 ENTER(AL_surfxml_argument); pushbuffer(0);
5873 /* rule 68 can match eol */
5875 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);
5878 /* rule 69 can match eol */
5880 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);
5885 if (!AX_surfxml_argument_value) FAIL("Required attribute `value' not set for `argument' element.");
5886 LEAVE; STag_surfxml_argument();surfxml_pcdata_ix = 0; ENTER(E_surfxml_argument);
5892 if (!AX_surfxml_argument_value) FAIL("Required attribute `value' not set for `argument' element.");
5893 LEAVE; STag_surfxml_argument(); surfxml_pcdata_ix = 0; ETag_surfxml_argument(); popbuffer(); /* attribute */
5895 case S_surfxml_process: case S_surfxml_process_1: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
5901 FAIL("Unexpected character `%c' in attribute list of argument element.", surf_parse_text[0]);
5905 FAIL("Bad attribute `%s' in `argument' element start tag.",surf_parse_text);
5907 case YY_STATE_EOF(AL_surfxml_argument):
5908 FAIL("EOF in attribute list of `argument' element.");
5912 /* rule 74 can match eol */
5916 ETag_surfxml_argument();
5917 popbuffer(); /* attribute */
5919 case S_surfxml_process: case S_surfxml_process_1: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
5924 /* rule 75 can match eol */
5926 FAIL("Unexpected end-tag `%s': `</argument>' expected.",surf_parse_text);
5930 FAIL("Unexpected character `%c': `</argument>' expected.",surf_parse_text[0]);
5932 case YY_STATE_EOF(E_surfxml_argument):
5933 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</argument>' expected.");
5937 /* rule 77 can match eol */
5939 FAIL("Starting tag <backbone> is not allowed here.");
5942 /* rule 78 can match eol */
5945 AX_surfxml_backbone_bandwidth = 0;
5946 surfxml_backbone_bandwidth_isset = 0;
5947 AX_surfxml_backbone_id = 0;
5948 surfxml_backbone_id_isset = 0;
5949 AX_surfxml_backbone_latency = 0;
5950 surfxml_backbone_latency_isset = 0;
5951 ENTER(AL_surfxml_backbone); pushbuffer(0);
5956 /* rule 79 can match eol */
5958 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);
5961 /* rule 80 can match eol */
5963 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);
5966 /* rule 81 can match eol */
5968 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);
5971 /* rule 82 can match eol */
5973 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);
5976 /* rule 83 can match eol */
5978 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);
5981 /* rule 84 can match eol */
5983 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);
5988 if (!AX_surfxml_backbone_bandwidth) FAIL("Required attribute `bandwidth' not set for `backbone' element.");
5989 if (!AX_surfxml_backbone_id) FAIL("Required attribute `id' not set for `backbone' element.");
5990 if (!AX_surfxml_backbone_latency) FAIL("Required attribute `latency' not set for `backbone' element.");
5991 LEAVE; STag_surfxml_backbone();surfxml_pcdata_ix = 0; ENTER(E_surfxml_backbone);
5997 if (!AX_surfxml_backbone_bandwidth) FAIL("Required attribute `bandwidth' not set for `backbone' element.");
5998 if (!AX_surfxml_backbone_id) FAIL("Required attribute `id' not set for `backbone' element.");
5999 if (!AX_surfxml_backbone_latency) FAIL("Required attribute `latency' not set for `backbone' element.");
6000 LEAVE; STag_surfxml_backbone(); surfxml_pcdata_ix = 0; ETag_surfxml_backbone(); popbuffer(); /* attribute */
6002 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;
6008 FAIL("Unexpected character `%c' in attribute list of backbone element.", surf_parse_text[0]);
6012 FAIL("Bad attribute `%s' in `backbone' element start tag.",surf_parse_text);
6014 case YY_STATE_EOF(AL_surfxml_backbone):
6015 FAIL("EOF in attribute list of `backbone' element.");
6019 /* rule 89 can match eol */
6023 ETag_surfxml_backbone();
6024 popbuffer(); /* attribute */
6026 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;
6031 /* rule 90 can match eol */
6033 FAIL("Unexpected end-tag `%s': `</backbone>' expected.",surf_parse_text);
6037 FAIL("Unexpected character `%c': `</backbone>' expected.",surf_parse_text[0]);
6039 case YY_STATE_EOF(E_surfxml_backbone):
6040 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</backbone>' expected.");
6044 /* rule 92 can match eol */
6046 FAIL("Starting tag <bypassASroute> is not allowed here.");
6049 /* rule 93 can match eol */
6052 AX_surfxml_bypassASroute_dst = 0;
6053 surfxml_bypassASroute_dst_isset = 0;
6054 AX_surfxml_bypassASroute_gw___dst = 0;
6055 surfxml_bypassASroute_gw___dst_isset = 0;
6056 AX_surfxml_bypassASroute_gw___src = 0;
6057 surfxml_bypassASroute_gw___src_isset = 0;
6058 AX_surfxml_bypassASroute_src = 0;
6059 surfxml_bypassASroute_src_isset = 0;
6060 ENTER(AL_surfxml_bypassASroute); pushbuffer(0);
6065 /* rule 94 can match eol */
6067 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);
6070 /* rule 95 can match eol */
6072 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);
6075 /* rule 96 can match eol */
6077 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);
6080 /* rule 97 can match eol */
6082 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);
6085 /* rule 98 can match eol */
6087 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);
6090 /* rule 99 can match eol */
6092 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);
6095 /* rule 100 can match eol */
6097 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);
6100 /* rule 101 can match eol */
6102 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);
6107 if (!AX_surfxml_bypassASroute_dst) FAIL("Required attribute `dst' not set for `bypassASroute' element.");
6108 if (!AX_surfxml_bypassASroute_gw___dst) FAIL("Required attribute `gw_dst' not set for `bypassASroute' element.");
6109 if (!AX_surfxml_bypassASroute_gw___src) FAIL("Required attribute `gw_src' not set for `bypassASroute' element.");
6110 if (!AX_surfxml_bypassASroute_src) FAIL("Required attribute `src' not set for `bypassASroute' element.");
6111 LEAVE; STag_surfxml_bypassASroute();surfxml_pcdata_ix = 0; ENTER(S_surfxml_bypassASroute);
6117 if (!AX_surfxml_bypassASroute_dst) FAIL("Required attribute `dst' not set for `bypassASroute' element.");
6118 if (!AX_surfxml_bypassASroute_gw___dst) FAIL("Required attribute `gw_dst' not set for `bypassASroute' element.");
6119 if (!AX_surfxml_bypassASroute_gw___src) FAIL("Required attribute `gw_src' not set for `bypassASroute' element.");
6120 if (!AX_surfxml_bypassASroute_src) FAIL("Required attribute `src' not set for `bypassASroute' element.");
6121 LEAVE; STag_surfxml_bypassASroute(); surfxml_pcdata_ix = 0; ETag_surfxml_bypassASroute(); popbuffer(); /* attribute */
6123 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;
6129 FAIL("Unexpected character `%c' in attribute list of bypassASroute element.", surf_parse_text[0]);
6133 FAIL("Bad attribute `%s' in `bypassASroute' element start tag.",surf_parse_text);
6135 case YY_STATE_EOF(AL_surfxml_bypassASroute):
6136 FAIL("EOF in attribute list of `bypassASroute' element.");
6140 /* rule 106 can match eol */
6144 ETag_surfxml_bypassASroute();
6145 popbuffer(); /* attribute */
6147 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;
6152 /* rule 107 can match eol */
6154 FAIL("Unexpected end-tag `%s': `</bypassASroute>' expected.",surf_parse_text);
6158 FAIL("Unexpected character `%c': `</bypassASroute>' expected.",surf_parse_text[0]);
6160 case YY_STATE_EOF(E_surfxml_bypassASroute):
6161 case YY_STATE_EOF(S_surfxml_bypassASroute):
6162 case YY_STATE_EOF(S_surfxml_bypassASroute_2):
6163 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</bypassASroute>' expected.");
6167 /* rule 109 can match eol */
6169 FAIL("Starting tag <bypassRoute> is not allowed here.");
6172 /* rule 110 can match eol */
6175 AX_surfxml_bypassRoute_dst = 0;
6176 surfxml_bypassRoute_dst_isset = 0;
6177 AX_surfxml_bypassRoute_src = 0;
6178 surfxml_bypassRoute_src_isset = 0;
6179 ENTER(AL_surfxml_bypassRoute); pushbuffer(0);
6184 /* rule 111 can match eol */
6186 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);
6189 /* rule 112 can match eol */
6191 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);
6194 /* rule 113 can match eol */
6196 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);
6199 /* rule 114 can match eol */
6201 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);
6206 if (!AX_surfxml_bypassRoute_dst) FAIL("Required attribute `dst' not set for `bypassRoute' element.");
6207 if (!AX_surfxml_bypassRoute_src) FAIL("Required attribute `src' not set for `bypassRoute' element.");
6208 LEAVE; STag_surfxml_bypassRoute();surfxml_pcdata_ix = 0; ENTER(S_surfxml_bypassRoute);
6214 if (!AX_surfxml_bypassRoute_dst) FAIL("Required attribute `dst' not set for `bypassRoute' element.");
6215 if (!AX_surfxml_bypassRoute_src) FAIL("Required attribute `src' not set for `bypassRoute' element.");
6216 LEAVE; STag_surfxml_bypassRoute(); surfxml_pcdata_ix = 0; ETag_surfxml_bypassRoute(); popbuffer(); /* attribute */
6218 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;
6224 FAIL("Unexpected character `%c' in attribute list of bypassRoute element.", surf_parse_text[0]);
6228 FAIL("Bad attribute `%s' in `bypassRoute' element start tag.",surf_parse_text);
6230 case YY_STATE_EOF(AL_surfxml_bypassRoute):
6231 FAIL("EOF in attribute list of `bypassRoute' element.");
6235 /* rule 119 can match eol */
6239 ETag_surfxml_bypassRoute();
6240 popbuffer(); /* attribute */
6242 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;
6247 /* rule 120 can match eol */
6249 FAIL("Unexpected end-tag `%s': `</bypassRoute>' expected.",surf_parse_text);
6253 FAIL("Unexpected character `%c': `</bypassRoute>' expected.",surf_parse_text[0]);
6255 case YY_STATE_EOF(E_surfxml_bypassRoute):
6256 case YY_STATE_EOF(S_surfxml_bypassRoute):
6257 case YY_STATE_EOF(S_surfxml_bypassRoute_2):
6258 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</bypassRoute>' expected.");
6262 /* rule 122 can match eol */
6264 FAIL("Starting tag <cabinet> is not allowed here.");
6267 /* rule 123 can match eol */
6270 AX_surfxml_cabinet_bw = 0;
6271 surfxml_cabinet_bw_isset = 0;
6272 AX_surfxml_cabinet_id = 0;
6273 surfxml_cabinet_id_isset = 0;
6274 AX_surfxml_cabinet_lat = 0;
6275 surfxml_cabinet_lat_isset = 0;
6276 AX_surfxml_cabinet_prefix = 0;
6277 surfxml_cabinet_prefix_isset = 0;
6278 AX_surfxml_cabinet_radical = 0;
6279 surfxml_cabinet_radical_isset = 0;
6280 AX_surfxml_cabinet_speed = 0;
6281 surfxml_cabinet_speed_isset = 0;
6282 AX_surfxml_cabinet_suffix = 0;
6283 surfxml_cabinet_suffix_isset = 0;
6284 ENTER(AL_surfxml_cabinet); pushbuffer(0);
6289 /* rule 124 can match eol */
6291 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);
6294 /* rule 125 can match eol */
6296 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);
6299 /* rule 126 can match eol */
6301 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);
6304 /* rule 127 can match eol */
6306 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);
6309 /* rule 128 can match eol */
6311 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);
6314 /* rule 129 can match eol */
6316 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);
6319 /* rule 130 can match eol */
6321 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);
6324 /* rule 131 can match eol */
6326 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);
6329 /* rule 132 can match eol */
6331 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);
6334 /* rule 133 can match eol */
6336 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);
6339 /* rule 134 can match eol */
6341 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);
6344 /* rule 135 can match eol */
6346 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);
6349 /* rule 136 can match eol */
6351 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);
6354 /* rule 137 can match eol */
6356 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);
6361 if (!AX_surfxml_cabinet_bw) FAIL("Required attribute `bw' not set for `cabinet' element.");
6362 if (!AX_surfxml_cabinet_id) FAIL("Required attribute `id' not set for `cabinet' element.");
6363 if (!AX_surfxml_cabinet_lat) FAIL("Required attribute `lat' not set for `cabinet' element.");
6364 if (!AX_surfxml_cabinet_prefix) FAIL("Required attribute `prefix' not set for `cabinet' element.");
6365 if (!AX_surfxml_cabinet_radical) FAIL("Required attribute `radical' not set for `cabinet' element.");
6366 if (!AX_surfxml_cabinet_speed) FAIL("Required attribute `speed' not set for `cabinet' element.");
6367 if (!AX_surfxml_cabinet_suffix) FAIL("Required attribute `suffix' not set for `cabinet' element.");
6368 LEAVE; STag_surfxml_cabinet();surfxml_pcdata_ix = 0; ENTER(E_surfxml_cabinet);
6374 if (!AX_surfxml_cabinet_bw) FAIL("Required attribute `bw' not set for `cabinet' element.");
6375 if (!AX_surfxml_cabinet_id) FAIL("Required attribute `id' not set for `cabinet' element.");
6376 if (!AX_surfxml_cabinet_lat) FAIL("Required attribute `lat' not set for `cabinet' element.");
6377 if (!AX_surfxml_cabinet_prefix) FAIL("Required attribute `prefix' not set for `cabinet' element.");
6378 if (!AX_surfxml_cabinet_radical) FAIL("Required attribute `radical' not set for `cabinet' element.");
6379 if (!AX_surfxml_cabinet_speed) FAIL("Required attribute `speed' not set for `cabinet' element.");
6380 if (!AX_surfxml_cabinet_suffix) FAIL("Required attribute `suffix' not set for `cabinet' element.");
6381 LEAVE; STag_surfxml_cabinet(); surfxml_pcdata_ix = 0; ETag_surfxml_cabinet(); popbuffer(); /* attribute */
6383 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;
6384 case S_surfxml_include: case S_surfxml_include_1: case S_surfxml_include_2: SET(S_surfxml_include_2); break;
6385 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;
6391 FAIL("Unexpected character `%c' in attribute list of cabinet element.", surf_parse_text[0]);
6395 FAIL("Bad attribute `%s' in `cabinet' element start tag.",surf_parse_text);
6397 case YY_STATE_EOF(AL_surfxml_cabinet):
6398 FAIL("EOF in attribute list of `cabinet' element.");
6402 /* rule 142 can match eol */
6406 ETag_surfxml_cabinet();
6407 popbuffer(); /* attribute */
6409 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;
6410 case S_surfxml_include: case S_surfxml_include_1: case S_surfxml_include_2: SET(S_surfxml_include_2); break;
6411 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;
6416 /* rule 143 can match eol */
6418 FAIL("Unexpected end-tag `%s': `</cabinet>' expected.",surf_parse_text);
6422 FAIL("Unexpected character `%c': `</cabinet>' expected.",surf_parse_text[0]);
6424 case YY_STATE_EOF(E_surfxml_cabinet):
6425 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</cabinet>' expected.");
6429 /* rule 145 can match eol */
6431 FAIL("Starting tag <cluster> is not allowed here.");
6434 /* rule 146 can match eol */
6437 AX_surfxml_cluster_availability___file = 0;
6438 surfxml_cluster_availability___file_isset = 0;
6439 AX_surfxml_cluster_bb___bw = 0;
6440 surfxml_cluster_bb___bw_isset = 0;
6441 AX_surfxml_cluster_bb___lat = 42;
6442 surfxml_cluster_bb___lat_isset = 0;
6443 AX_surfxml_cluster_bb___sharing___policy = A_surfxml_cluster_bb___sharing___policy_SHARED;
6444 surfxml_cluster_bb___sharing___policy_isset = 0;
6445 AX_surfxml_cluster_bw = 0;
6446 surfxml_cluster_bw_isset = 0;
6447 AX_surfxml_cluster_core = 40;
6448 surfxml_cluster_core_isset = 0;
6449 AX_surfxml_cluster_id = 0;
6450 surfxml_cluster_id_isset = 0;
6451 AX_surfxml_cluster_lat = 0;
6452 surfxml_cluster_lat_isset = 0;
6453 AX_surfxml_cluster_limiter___link = 0;
6454 surfxml_cluster_limiter___link_isset = 0;
6455 AX_surfxml_cluster_loopback___bw = 0;
6456 surfxml_cluster_loopback___bw_isset = 0;
6457 AX_surfxml_cluster_loopback___lat = 0;
6458 surfxml_cluster_loopback___lat_isset = 0;
6459 AX_surfxml_cluster_prefix = 0;
6460 surfxml_cluster_prefix_isset = 0;
6461 AX_surfxml_cluster_radical = 0;
6462 surfxml_cluster_radical_isset = 0;
6463 AX_surfxml_cluster_router___id = 0;
6464 surfxml_cluster_router___id_isset = 0;
6465 AX_surfxml_cluster_sharing___policy = A_surfxml_cluster_sharing___policy_FULLDUPLEX;
6466 surfxml_cluster_sharing___policy_isset = 0;
6467 AX_surfxml_cluster_speed = 0;
6468 surfxml_cluster_speed_isset = 0;
6469 AX_surfxml_cluster_state___file = 0;
6470 surfxml_cluster_state___file_isset = 0;
6471 AX_surfxml_cluster_suffix = 0;
6472 surfxml_cluster_suffix_isset = 0;
6473 AX_surfxml_cluster_topo___parameters = 0;
6474 surfxml_cluster_topo___parameters_isset = 0;
6475 AX_surfxml_cluster_topology = A_surfxml_cluster_topology_FLAT;
6476 surfxml_cluster_topology_isset = 0;
6477 ENTER(AL_surfxml_cluster); pushbuffer(0);
6482 /* rule 147 can match eol */
6484 if (surfxml_cluster_availability___file_isset != 0) {FAIL("Multiple definition of attribute availability_file in <surfxml_cluster>");} surfxml_cluster_availability___file_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_availability___file);
6487 /* rule 148 can match eol */
6489 if (surfxml_cluster_availability___file_isset != 0) {FAIL("Multiple definition of attribute availability_file in <surfxml_cluster>");} surfxml_cluster_availability___file_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_availability___file);
6492 /* rule 149 can match eol */
6494 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);
6497 /* rule 150 can match eol */
6499 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);
6502 /* rule 151 can match eol */
6504 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);
6507 /* rule 152 can match eol */
6509 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);
6512 /* rule 153 can match eol */
6514 /* rule 154 can match eol */
6516 A_surfxml_cluster_bb___sharing___policy = A_surfxml_cluster_bb___sharing___policy_SHARED;
6519 /* rule 155 can match eol */
6521 /* rule 156 can match eol */
6523 A_surfxml_cluster_bb___sharing___policy = A_surfxml_cluster_bb___sharing___policy_FATPIPE;
6526 /* rule 157 can match eol */
6528 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);
6531 /* rule 158 can match eol */
6533 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);
6536 /* rule 159 can match eol */
6538 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);
6541 /* rule 160 can match eol */
6543 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);
6546 /* rule 161 can match eol */
6548 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);
6551 /* rule 162 can match eol */
6553 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);
6556 /* rule 163 can match eol */
6558 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);
6561 /* rule 164 can match eol */
6563 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);
6566 /* rule 165 can match eol */
6568 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);
6571 /* rule 166 can match eol */
6573 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);
6576 /* rule 167 can match eol */
6578 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);
6581 /* rule 168 can match eol */
6583 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);
6586 /* rule 169 can match eol */
6588 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);
6591 /* rule 170 can match eol */
6593 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);
6596 /* rule 171 can match eol */
6598 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);
6601 /* rule 172 can match eol */
6603 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);
6606 /* rule 173 can match eol */
6608 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);
6611 /* rule 174 can match eol */
6613 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);
6616 /* rule 175 can match eol */
6618 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);
6621 /* rule 176 can match eol */
6623 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);
6626 /* rule 177 can match eol */
6628 /* rule 178 can match eol */
6630 A_surfxml_cluster_sharing___policy = A_surfxml_cluster_sharing___policy_SHARED;
6633 /* rule 179 can match eol */
6635 /* rule 180 can match eol */
6637 A_surfxml_cluster_sharing___policy = A_surfxml_cluster_sharing___policy_FULLDUPLEX;
6640 /* rule 181 can match eol */
6642 /* rule 182 can match eol */
6644 A_surfxml_cluster_sharing___policy = A_surfxml_cluster_sharing___policy_FATPIPE;
6647 /* rule 183 can match eol */
6649 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);
6652 /* rule 184 can match eol */
6654 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);
6657 /* rule 185 can match eol */
6659 if (surfxml_cluster_state___file_isset != 0) {FAIL("Multiple definition of attribute state_file in <surfxml_cluster>");} surfxml_cluster_state___file_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_state___file);
6662 /* rule 186 can match eol */
6664 if (surfxml_cluster_state___file_isset != 0) {FAIL("Multiple definition of attribute state_file in <surfxml_cluster>");} surfxml_cluster_state___file_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_state___file);
6667 /* rule 187 can match eol */
6669 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);
6672 /* rule 188 can match eol */
6674 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);
6677 /* rule 189 can match eol */
6679 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);
6682 /* rule 190 can match eol */
6684 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);
6687 /* rule 191 can match eol */
6689 /* rule 192 can match eol */
6691 A_surfxml_cluster_topology = A_surfxml_cluster_topology_FLAT;
6694 /* rule 193 can match eol */
6696 /* rule 194 can match eol */
6698 A_surfxml_cluster_topology = A_surfxml_cluster_topology_TORUS;
6701 /* rule 195 can match eol */
6703 /* rule 196 can match eol */
6705 A_surfxml_cluster_topology = A_surfxml_cluster_topology_FAT___TREE;
6710 if (!AX_surfxml_cluster_bw) FAIL("Required attribute `bw' not set for `cluster' element.");
6711 if (!AX_surfxml_cluster_id) FAIL("Required attribute `id' not set for `cluster' element.");
6712 if (!AX_surfxml_cluster_lat) FAIL("Required attribute `lat' not set for `cluster' element.");
6713 if (!AX_surfxml_cluster_prefix) FAIL("Required attribute `prefix' not set for `cluster' element.");
6714 if (!AX_surfxml_cluster_radical) FAIL("Required attribute `radical' not set for `cluster' element.");
6715 if (!AX_surfxml_cluster_speed) FAIL("Required attribute `speed' not set for `cluster' element.");
6716 if (!AX_surfxml_cluster_suffix) FAIL("Required attribute `suffix' not set for `cluster' element.");
6717 LEAVE; STag_surfxml_cluster();surfxml_pcdata_ix = 0; ENTER(S_surfxml_cluster);
6723 if (!AX_surfxml_cluster_bw) FAIL("Required attribute `bw' not set for `cluster' element.");
6724 if (!AX_surfxml_cluster_id) FAIL("Required attribute `id' not set for `cluster' element.");
6725 if (!AX_surfxml_cluster_lat) FAIL("Required attribute `lat' not set for `cluster' element.");
6726 if (!AX_surfxml_cluster_prefix) FAIL("Required attribute `prefix' not set for `cluster' element.");
6727 if (!AX_surfxml_cluster_radical) FAIL("Required attribute `radical' not set for `cluster' element.");
6728 if (!AX_surfxml_cluster_speed) FAIL("Required attribute `speed' not set for `cluster' element.");
6729 if (!AX_surfxml_cluster_suffix) FAIL("Required attribute `suffix' not set for `cluster' element.");
6730 LEAVE; STag_surfxml_cluster(); surfxml_pcdata_ix = 0; ETag_surfxml_cluster(); popbuffer(); /* attribute */
6732 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;
6733 case S_surfxml_include: case S_surfxml_include_1: case S_surfxml_include_2: SET(S_surfxml_include_2); break;
6734 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;
6740 FAIL("Unexpected character `%c' in attribute list of cluster element.", surf_parse_text[0]);
6744 FAIL("Bad attribute `%s' in `cluster' element start tag.",surf_parse_text);
6746 case YY_STATE_EOF(AL_surfxml_cluster):
6747 FAIL("EOF in attribute list of `cluster' element.");
6751 /* rule 201 can match eol */
6755 ETag_surfxml_cluster();
6756 popbuffer(); /* attribute */
6758 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;
6759 case S_surfxml_include: case S_surfxml_include_1: case S_surfxml_include_2: SET(S_surfxml_include_2); break;
6760 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;
6765 /* rule 202 can match eol */
6767 FAIL("Unexpected end-tag `%s': `</cluster>' expected.",surf_parse_text);
6771 FAIL("Unexpected character `%c': `</cluster>' expected.",surf_parse_text[0]);
6773 case YY_STATE_EOF(E_surfxml_cluster):
6774 case YY_STATE_EOF(S_surfxml_cluster):
6775 case YY_STATE_EOF(S_surfxml_cluster_2):
6776 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</cluster>' expected.");
6780 /* rule 204 can match eol */
6782 FAIL("Starting tag <config> is not allowed here.");
6785 /* rule 205 can match eol */
6788 AX_surfxml_config_id = 0;
6789 surfxml_config_id_isset = 0;
6790 ENTER(AL_surfxml_config); pushbuffer(0);
6795 /* rule 206 can match eol */
6797 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);
6800 /* rule 207 can match eol */
6802 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);
6807 LEAVE; STag_surfxml_config();surfxml_pcdata_ix = 0; ENTER(S_surfxml_config);
6813 LEAVE; STag_surfxml_config(); surfxml_pcdata_ix = 0; ETag_surfxml_config(); popbuffer(); /* attribute */
6815 case S_surfxml_platform: case S_surfxml_platform_2: case S_surfxml_platform_3: SET(S_surfxml_platform_3); break;
6821 FAIL("Unexpected character `%c' in attribute list of config element.", surf_parse_text[0]);
6825 FAIL("Bad attribute `%s' in `config' element start tag.",surf_parse_text);
6827 case YY_STATE_EOF(AL_surfxml_config):
6828 FAIL("EOF in attribute list of `config' element.");
6832 /* rule 212 can match eol */
6836 ETag_surfxml_config();
6837 popbuffer(); /* attribute */
6839 case S_surfxml_platform: case S_surfxml_platform_2: case S_surfxml_platform_3: SET(S_surfxml_platform_3); break;
6844 /* rule 213 can match eol */
6846 FAIL("Unexpected end-tag `%s': `</config>' expected.",surf_parse_text);
6850 FAIL("Unexpected character `%c': `</config>' expected.",surf_parse_text[0]);
6852 case YY_STATE_EOF(E_surfxml_config):
6853 case YY_STATE_EOF(S_surfxml_config):
6854 case YY_STATE_EOF(S_surfxml_config_2):
6855 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</config>' expected.");
6859 /* rule 215 can match eol */
6861 FAIL("Starting tag <host> is not allowed here.");
6864 /* rule 216 can match eol */
6867 AX_surfxml_host_availability___file = 0;
6868 surfxml_host_availability___file_isset = 0;
6869 AX_surfxml_host_coordinates = 0;
6870 surfxml_host_coordinates_isset = 0;
6871 AX_surfxml_host_core = 25;
6872 surfxml_host_core_isset = 0;
6873 AX_surfxml_host_id = 0;
6874 surfxml_host_id_isset = 0;
6875 AX_surfxml_host_pstate = 27;
6876 surfxml_host_pstate_isset = 0;
6877 AX_surfxml_host_speed = 0;
6878 surfxml_host_speed_isset = 0;
6879 AX_surfxml_host_state___file = 0;
6880 surfxml_host_state___file_isset = 0;
6881 ENTER(AL_surfxml_host); pushbuffer(0);
6886 /* rule 217 can match eol */
6888 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);
6891 /* rule 218 can match eol */
6893 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);
6896 /* rule 219 can match eol */
6898 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);
6901 /* rule 220 can match eol */
6903 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);
6906 /* rule 221 can match eol */
6908 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);
6911 /* rule 222 can match eol */
6913 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);
6916 /* rule 223 can match eol */
6918 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);
6921 /* rule 224 can match eol */
6923 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);
6926 /* rule 225 can match eol */
6928 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);
6931 /* rule 226 can match eol */
6933 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);
6936 /* rule 227 can match eol */
6938 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);
6941 /* rule 228 can match eol */
6943 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);
6946 /* rule 229 can match eol */
6948 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);
6951 /* rule 230 can match eol */
6953 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);
6958 if (!AX_surfxml_host_id) FAIL("Required attribute `id' not set for `host' element.");
6959 if (!AX_surfxml_host_speed) FAIL("Required attribute `speed' not set for `host' element.");
6960 LEAVE; STag_surfxml_host();surfxml_pcdata_ix = 0; ENTER(S_surfxml_host);
6966 if (!AX_surfxml_host_id) FAIL("Required attribute `id' not set for `host' element.");
6967 if (!AX_surfxml_host_speed) FAIL("Required attribute `speed' not set for `host' element.");
6968 LEAVE; STag_surfxml_host(); surfxml_pcdata_ix = 0; ETag_surfxml_host(); popbuffer(); /* attribute */
6970 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;
6976 FAIL("Unexpected character `%c' in attribute list of host element.", surf_parse_text[0]);
6980 FAIL("Bad attribute `%s' in `host' element start tag.",surf_parse_text);
6982 case YY_STATE_EOF(AL_surfxml_host):
6983 FAIL("EOF in attribute list of `host' element.");
6987 /* rule 235 can match eol */
6991 ETag_surfxml_host();
6992 popbuffer(); /* attribute */
6994 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;
6999 /* rule 236 can match eol */
7001 FAIL("Unexpected end-tag `%s': `</host>' expected.",surf_parse_text);
7005 FAIL("Unexpected character `%c': `</host>' expected.",surf_parse_text[0]);
7007 case YY_STATE_EOF(E_surfxml_host):
7008 case YY_STATE_EOF(S_surfxml_host):
7009 case YY_STATE_EOF(S_surfxml_host_2):
7010 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</host>' expected.");
7014 /* rule 238 can match eol */
7016 FAIL("Starting tag <host_link> is not allowed here.");
7019 /* rule 239 can match eol */
7022 AX_surfxml_host___link_down = 0;
7023 surfxml_host___link_down_isset = 0;
7024 AX_surfxml_host___link_id = 0;
7025 surfxml_host___link_id_isset = 0;
7026 AX_surfxml_host___link_up = 0;
7027 surfxml_host___link_up_isset = 0;
7028 ENTER(AL_surfxml_host___link); pushbuffer(0);
7033 /* rule 240 can match eol */
7035 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);
7038 /* rule 241 can match eol */
7040 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);
7043 /* rule 242 can match eol */
7045 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);
7048 /* rule 243 can match eol */
7050 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);
7053 /* rule 244 can match eol */
7055 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);
7058 /* rule 245 can match eol */
7060 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);
7065 if (!AX_surfxml_host___link_down) FAIL("Required attribute `down' not set for `host_link' element.");
7066 if (!AX_surfxml_host___link_id) FAIL("Required attribute `id' not set for `host_link' element.");
7067 if (!AX_surfxml_host___link_up) FAIL("Required attribute `up' not set for `host_link' element.");
7068 LEAVE; STag_surfxml_host___link();surfxml_pcdata_ix = 0; ENTER(E_surfxml_host___link);
7074 if (!AX_surfxml_host___link_down) FAIL("Required attribute `down' not set for `host_link' element.");
7075 if (!AX_surfxml_host___link_id) FAIL("Required attribute `id' not set for `host_link' element.");
7076 if (!AX_surfxml_host___link_up) FAIL("Required attribute `up' not set for `host_link' element.");
7077 LEAVE; STag_surfxml_host___link(); surfxml_pcdata_ix = 0; ETag_surfxml_host___link(); popbuffer(); /* attribute */
7079 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;
7085 FAIL("Unexpected character `%c' in attribute list of host_link element.", surf_parse_text[0]);
7089 FAIL("Bad attribute `%s' in `host_link' element start tag.",surf_parse_text);
7091 case YY_STATE_EOF(AL_surfxml_host___link):
7092 FAIL("EOF in attribute list of `host_link' element.");
7096 /* rule 250 can match eol */
7100 ETag_surfxml_host___link();
7101 popbuffer(); /* attribute */
7103 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;
7108 /* rule 251 can match eol */
7110 FAIL("Unexpected end-tag `%s': `</host_link>' expected.",surf_parse_text);
7114 FAIL("Unexpected character `%c': `</host_link>' expected.",surf_parse_text[0]);
7116 case YY_STATE_EOF(E_surfxml_host___link):
7117 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</host_link>' expected.");
7121 /* rule 253 can match eol */
7123 FAIL("Starting tag <include> is not allowed here.");
7126 /* rule 254 can match eol */
7129 AX_surfxml_include_file = 0;
7130 surfxml_include_file_isset = 0;
7131 ENTER(AL_surfxml_include); pushbuffer(0);
7136 /* rule 255 can match eol */
7138 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);
7141 /* rule 256 can match eol */
7143 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);
7148 if (!AX_surfxml_include_file) FAIL("Required attribute `file' not set for `include' element.");
7149 LEAVE; STag_surfxml_include();surfxml_pcdata_ix = 0; ENTER(S_surfxml_include);
7155 if (!AX_surfxml_include_file) FAIL("Required attribute `file' not set for `include' element.");
7156 LEAVE; STag_surfxml_include(); surfxml_pcdata_ix = 0; ETag_surfxml_include(); popbuffer(); /* attribute */
7158 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;
7159 case S_surfxml_include: case S_surfxml_include_1: case S_surfxml_include_2: SET(S_surfxml_include_2); break;
7160 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;
7166 FAIL("Unexpected character `%c' in attribute list of include element.", surf_parse_text[0]);
7170 FAIL("Bad attribute `%s' in `include' element start tag.",surf_parse_text);
7172 case YY_STATE_EOF(AL_surfxml_include):
7173 FAIL("EOF in attribute list of `include' element.");
7177 /* rule 261 can match eol */
7181 ETag_surfxml_include();
7182 popbuffer(); /* attribute */
7184 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;
7185 case S_surfxml_include: case S_surfxml_include_1: case S_surfxml_include_2: SET(S_surfxml_include_2); break;
7186 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;
7191 /* rule 262 can match eol */
7193 FAIL("Unexpected end-tag `%s': `</include>' expected.",surf_parse_text);
7197 FAIL("Unexpected character `%c': `</include>' expected.",surf_parse_text[0]);
7199 case YY_STATE_EOF(E_surfxml_include):
7200 case YY_STATE_EOF(S_surfxml_include):
7201 case YY_STATE_EOF(S_surfxml_include_2):
7202 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</include>' expected.");
7206 /* rule 264 can match eol */
7208 FAIL("Starting tag <link> is not allowed here.");
7211 /* rule 265 can match eol */
7214 AX_surfxml_link_bandwidth = 0;
7215 surfxml_link_bandwidth_isset = 0;
7216 AX_surfxml_link_bandwidth___file = 0;
7217 surfxml_link_bandwidth___file_isset = 0;
7218 AX_surfxml_link_id = 0;
7219 surfxml_link_id_isset = 0;
7220 AX_surfxml_link_latency = 0;
7221 surfxml_link_latency_isset = 0;
7222 AX_surfxml_link_latency___file = 0;
7223 surfxml_link_latency___file_isset = 0;
7224 AX_surfxml_link_sharing___policy = A_surfxml_link_sharing___policy_SHARED;
7225 surfxml_link_sharing___policy_isset = 0;
7226 AX_surfxml_link_state___file = 0;
7227 surfxml_link_state___file_isset = 0;
7228 ENTER(AL_surfxml_link); pushbuffer(0);
7233 /* rule 266 can match eol */
7235 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);
7238 /* rule 267 can match eol */
7240 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);
7243 /* rule 268 can match eol */
7245 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);
7248 /* rule 269 can match eol */
7250 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);
7253 /* rule 270 can match eol */
7255 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);
7258 /* rule 271 can match eol */
7260 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);
7263 /* rule 272 can match eol */
7265 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);
7268 /* rule 273 can match eol */
7270 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);
7273 /* rule 274 can match eol */
7275 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);
7278 /* rule 275 can match eol */
7280 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);
7283 /* rule 276 can match eol */
7285 /* rule 277 can match eol */
7287 A_surfxml_link_sharing___policy = A_surfxml_link_sharing___policy_SHARED;
7290 /* rule 278 can match eol */
7292 /* rule 279 can match eol */
7294 A_surfxml_link_sharing___policy = A_surfxml_link_sharing___policy_FATPIPE;
7297 /* rule 280 can match eol */
7299 /* rule 281 can match eol */
7301 A_surfxml_link_sharing___policy = A_surfxml_link_sharing___policy_FULLDUPLEX;
7304 /* rule 282 can match eol */
7306 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);
7309 /* rule 283 can match eol */
7311 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);
7316 if (!AX_surfxml_link_bandwidth) FAIL("Required attribute `bandwidth' not set for `link' element.");
7317 if (!AX_surfxml_link_id) FAIL("Required attribute `id' not set for `link' element.");
7318 LEAVE; STag_surfxml_link();surfxml_pcdata_ix = 0; ENTER(S_surfxml_link);
7324 if (!AX_surfxml_link_bandwidth) FAIL("Required attribute `bandwidth' not set for `link' element.");
7325 if (!AX_surfxml_link_id) FAIL("Required attribute `id' not set for `link' element.");
7326 LEAVE; STag_surfxml_link(); surfxml_pcdata_ix = 0; ETag_surfxml_link(); popbuffer(); /* attribute */
7328 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;
7334 FAIL("Unexpected character `%c' in attribute list of link element.", surf_parse_text[0]);
7338 FAIL("Bad attribute `%s' in `link' element start tag.",surf_parse_text);
7340 case YY_STATE_EOF(AL_surfxml_link):
7341 FAIL("EOF in attribute list of `link' element.");
7345 /* rule 288 can match eol */
7349 ETag_surfxml_link();
7350 popbuffer(); /* attribute */
7352 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;
7357 /* rule 289 can match eol */
7359 FAIL("Unexpected end-tag `%s': `</link>' expected.",surf_parse_text);
7363 FAIL("Unexpected character `%c': `</link>' expected.",surf_parse_text[0]);
7365 case YY_STATE_EOF(E_surfxml_link):
7366 case YY_STATE_EOF(S_surfxml_link):
7367 case YY_STATE_EOF(S_surfxml_link_2):
7368 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</link>' expected.");
7372 /* rule 291 can match eol */
7374 FAIL("Starting tag <link_ctn> is not allowed here.");
7377 /* rule 292 can match eol */
7380 AX_surfxml_link___ctn_direction = A_surfxml_link___ctn_direction_NONE;
7381 surfxml_link___ctn_direction_isset = 0;
7382 AX_surfxml_link___ctn_id = 0;
7383 surfxml_link___ctn_id_isset = 0;
7384 ENTER(AL_surfxml_link___ctn); pushbuffer(0);
7389 /* rule 293 can match eol */
7391 /* rule 294 can match eol */
7393 A_surfxml_link___ctn_direction = A_surfxml_link___ctn_direction_UP;
7396 /* rule 295 can match eol */
7398 /* rule 296 can match eol */
7400 A_surfxml_link___ctn_direction = A_surfxml_link___ctn_direction_DOWN;
7403 /* rule 297 can match eol */
7405 /* rule 298 can match eol */
7407 A_surfxml_link___ctn_direction = A_surfxml_link___ctn_direction_NONE;
7410 /* rule 299 can match eol */
7412 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);
7415 /* rule 300 can match eol */
7417 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);
7422 if (!AX_surfxml_link___ctn_id) FAIL("Required attribute `id' not set for `link_ctn' element.");
7423 LEAVE; STag_surfxml_link___ctn();surfxml_pcdata_ix = 0; ENTER(E_surfxml_link___ctn);
7429 if (!AX_surfxml_link___ctn_id) FAIL("Required attribute `id' not set for `link_ctn' element.");
7430 LEAVE; STag_surfxml_link___ctn(); surfxml_pcdata_ix = 0; ETag_surfxml_link___ctn(); popbuffer(); /* attribute */
7432 case S_surfxml_ASroute: case S_surfxml_ASroute_1: case S_surfxml_ASroute_2: SET(S_surfxml_ASroute_2); break;
7433 case S_surfxml_bypassASroute: case S_surfxml_bypassASroute_1: case S_surfxml_bypassASroute_2: SET(S_surfxml_bypassASroute_2); break;
7434 case S_surfxml_bypassRoute: case S_surfxml_bypassRoute_1: case S_surfxml_bypassRoute_2: SET(S_surfxml_bypassRoute_2); break;
7435 case S_surfxml_route: case S_surfxml_route_1: case S_surfxml_route_2: SET(S_surfxml_route_2); break;
7441 FAIL("Unexpected character `%c' in attribute list of link_ctn element.", surf_parse_text[0]);
7445 FAIL("Bad attribute `%s' in `link_ctn' element start tag.",surf_parse_text);
7447 case YY_STATE_EOF(AL_surfxml_link___ctn):
7448 FAIL("EOF in attribute list of `link_ctn' element.");
7452 /* rule 305 can match eol */
7456 ETag_surfxml_link___ctn();
7457 popbuffer(); /* attribute */
7459 case S_surfxml_ASroute: case S_surfxml_ASroute_1: case S_surfxml_ASroute_2: SET(S_surfxml_ASroute_2); break;
7460 case S_surfxml_bypassASroute: case S_surfxml_bypassASroute_1: case S_surfxml_bypassASroute_2: SET(S_surfxml_bypassASroute_2); break;
7461 case S_surfxml_bypassRoute: case S_surfxml_bypassRoute_1: case S_surfxml_bypassRoute_2: SET(S_surfxml_bypassRoute_2); break;
7462 case S_surfxml_route: case S_surfxml_route_1: case S_surfxml_route_2: SET(S_surfxml_route_2); break;
7467 /* rule 306 can match eol */
7469 FAIL("Unexpected end-tag `%s': `</link_ctn>' expected.",surf_parse_text);
7473 FAIL("Unexpected character `%c': `</link_ctn>' expected.",surf_parse_text[0]);
7475 case YY_STATE_EOF(E_surfxml_link___ctn):
7476 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</link_ctn>' expected.");
7479 /* <!-- <!ATTLIST model_prop key CDATA #REQUIRED> -->
7480 * <!-- <!ATTLIST model_prop key CDATA #REQUIRED> --> */
7482 /* rule 308 can match eol */
7484 FAIL("Starting tag <model_prop> is not allowed here.");
7487 /* rule 309 can match eol */
7490 AX_surfxml_model___prop_id = 0;
7491 surfxml_model___prop_id_isset = 0;
7492 AX_surfxml_model___prop_value = 0;
7493 surfxml_model___prop_value_isset = 0;
7494 ENTER(AL_surfxml_model___prop); pushbuffer(0);
7499 /* rule 310 can match eol */
7501 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);
7504 /* rule 311 can match eol */
7506 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);
7509 /* rule 312 can match eol */
7511 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);
7514 /* rule 313 can match eol */
7516 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);
7521 if (!AX_surfxml_model___prop_id) FAIL("Required attribute `id' not set for `model_prop' element.");
7522 if (!AX_surfxml_model___prop_value) FAIL("Required attribute `value' not set for `model_prop' element.");
7523 LEAVE; STag_surfxml_model___prop();surfxml_pcdata_ix = 0; ENTER(E_surfxml_model___prop);
7529 if (!AX_surfxml_model___prop_id) FAIL("Required attribute `id' not set for `model_prop' element.");
7530 if (!AX_surfxml_model___prop_value) FAIL("Required attribute `value' not set for `model_prop' element.");
7531 LEAVE; STag_surfxml_model___prop(); surfxml_pcdata_ix = 0; ETag_surfxml_model___prop(); popbuffer(); /* attribute */
7533 case S_surfxml_storage___type: case S_surfxml_storage___type_1: case S_surfxml_storage___type_2: SET(S_surfxml_storage___type_2); break;
7539 FAIL("Unexpected character `%c' in attribute list of model_prop element.", surf_parse_text[0]);
7543 FAIL("Bad attribute `%s' in `model_prop' element start tag.",surf_parse_text);
7545 case YY_STATE_EOF(AL_surfxml_model___prop):
7546 FAIL("EOF in attribute list of `model_prop' element.");
7550 /* rule 318 can match eol */
7554 ETag_surfxml_model___prop();
7555 popbuffer(); /* attribute */
7557 case S_surfxml_storage___type: case S_surfxml_storage___type_1: case S_surfxml_storage___type_2: SET(S_surfxml_storage___type_2); break;
7562 /* rule 319 can match eol */
7564 FAIL("Unexpected end-tag `%s': `</model_prop>' expected.",surf_parse_text);
7568 FAIL("Unexpected character `%c': `</model_prop>' expected.",surf_parse_text[0]);
7570 case YY_STATE_EOF(E_surfxml_model___prop):
7571 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</model_prop>' expected.");
7575 /* rule 321 can match eol */
7577 FAIL("Starting tag <mount> is not allowed here.");
7580 /* rule 322 can match eol */
7583 AX_surfxml_mount_name = 0;
7584 surfxml_mount_name_isset = 0;
7585 AX_surfxml_mount_storageId = 0;
7586 surfxml_mount_storageId_isset = 0;
7587 ENTER(AL_surfxml_mount); pushbuffer(0);
7592 /* rule 323 can match eol */
7594 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);
7597 /* rule 324 can match eol */
7599 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);
7602 /* rule 325 can match eol */
7604 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);
7607 /* rule 326 can match eol */
7609 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);
7614 if (!AX_surfxml_mount_name) FAIL("Required attribute `name' not set for `mount' element.");
7615 if (!AX_surfxml_mount_storageId) FAIL("Required attribute `storageId' not set for `mount' element.");
7616 LEAVE; STag_surfxml_mount();surfxml_pcdata_ix = 0; ENTER(E_surfxml_mount);
7622 if (!AX_surfxml_mount_name) FAIL("Required attribute `name' not set for `mount' element.");
7623 if (!AX_surfxml_mount_storageId) FAIL("Required attribute `storageId' not set for `mount' element.");
7624 LEAVE; STag_surfxml_mount(); surfxml_pcdata_ix = 0; ETag_surfxml_mount(); popbuffer(); /* attribute */
7626 case S_surfxml_host: case S_surfxml_host_1: case S_surfxml_host_2: SET(S_surfxml_host_2); break;
7632 FAIL("Unexpected character `%c' in attribute list of mount element.", surf_parse_text[0]);
7636 FAIL("Bad attribute `%s' in `mount' element start tag.",surf_parse_text);
7638 case YY_STATE_EOF(AL_surfxml_mount):
7639 FAIL("EOF in attribute list of `mount' element.");
7643 /* rule 331 can match eol */
7647 ETag_surfxml_mount();
7648 popbuffer(); /* attribute */
7650 case S_surfxml_host: case S_surfxml_host_1: case S_surfxml_host_2: SET(S_surfxml_host_2); break;
7655 /* rule 332 can match eol */
7657 FAIL("Unexpected end-tag `%s': `</mount>' expected.",surf_parse_text);
7661 FAIL("Unexpected character `%c': `</mount>' expected.",surf_parse_text[0]);
7663 case YY_STATE_EOF(E_surfxml_mount):
7664 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</mount>' expected.");
7668 /* rule 334 can match eol */
7670 FAIL("Starting tag <peer> is not allowed here.");
7673 /* rule 335 can match eol */
7676 AX_surfxml_peer_availability___file = 0;
7677 surfxml_peer_availability___file_isset = 0;
7678 AX_surfxml_peer_bw___in = 0;
7679 surfxml_peer_bw___in_isset = 0;
7680 AX_surfxml_peer_bw___out = 0;
7681 surfxml_peer_bw___out_isset = 0;
7682 AX_surfxml_peer_coordinates = 0;
7683 surfxml_peer_coordinates_isset = 0;
7684 AX_surfxml_peer_id = 0;
7685 surfxml_peer_id_isset = 0;
7686 AX_surfxml_peer_lat = 0;
7687 surfxml_peer_lat_isset = 0;
7688 AX_surfxml_peer_speed = 0;
7689 surfxml_peer_speed_isset = 0;
7690 AX_surfxml_peer_state___file = 0;
7691 surfxml_peer_state___file_isset = 0;
7692 ENTER(AL_surfxml_peer); pushbuffer(0);
7697 /* rule 336 can match eol */
7699 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);
7702 /* rule 337 can match eol */
7704 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);
7707 /* rule 338 can match eol */
7709 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);
7712 /* rule 339 can match eol */
7714 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);
7717 /* rule 340 can match eol */
7719 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);
7722 /* rule 341 can match eol */
7724 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);
7727 /* rule 342 can match eol */
7729 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);
7732 /* rule 343 can match eol */
7734 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);
7737 /* rule 344 can match eol */
7739 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);
7742 /* rule 345 can match eol */
7744 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);
7747 /* rule 346 can match eol */
7749 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);
7752 /* rule 347 can match eol */
7754 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);
7757 /* rule 348 can match eol */
7759 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);
7762 /* rule 349 can match eol */
7764 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);
7767 /* rule 350 can match eol */
7769 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);
7772 /* rule 351 can match eol */
7774 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);
7779 if (!AX_surfxml_peer_bw___in) FAIL("Required attribute `bw_in' not set for `peer' element.");
7780 if (!AX_surfxml_peer_bw___out) FAIL("Required attribute `bw_out' not set for `peer' element.");
7781 if (!AX_surfxml_peer_id) FAIL("Required attribute `id' not set for `peer' element.");
7782 if (!AX_surfxml_peer_lat) FAIL("Required attribute `lat' not set for `peer' element.");
7783 if (!AX_surfxml_peer_speed) FAIL("Required attribute `speed' not set for `peer' element.");
7784 LEAVE; STag_surfxml_peer();surfxml_pcdata_ix = 0; ENTER(E_surfxml_peer);
7790 if (!AX_surfxml_peer_bw___in) FAIL("Required attribute `bw_in' not set for `peer' element.");
7791 if (!AX_surfxml_peer_bw___out) FAIL("Required attribute `bw_out' not set for `peer' element.");
7792 if (!AX_surfxml_peer_id) FAIL("Required attribute `id' not set for `peer' element.");
7793 if (!AX_surfxml_peer_lat) FAIL("Required attribute `lat' not set for `peer' element.");
7794 if (!AX_surfxml_peer_speed) FAIL("Required attribute `speed' not set for `peer' element.");
7795 LEAVE; STag_surfxml_peer(); surfxml_pcdata_ix = 0; ETag_surfxml_peer(); popbuffer(); /* attribute */
7797 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;
7798 case S_surfxml_include: case S_surfxml_include_1: case S_surfxml_include_2: SET(S_surfxml_include_2); break;
7799 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;
7805 FAIL("Unexpected character `%c' in attribute list of peer element.", surf_parse_text[0]);
7809 FAIL("Bad attribute `%s' in `peer' element start tag.",surf_parse_text);
7811 case YY_STATE_EOF(AL_surfxml_peer):
7812 FAIL("EOF in attribute list of `peer' element.");
7816 /* rule 356 can match eol */
7820 ETag_surfxml_peer();
7821 popbuffer(); /* attribute */
7823 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;
7824 case S_surfxml_include: case S_surfxml_include_1: case S_surfxml_include_2: SET(S_surfxml_include_2); break;
7825 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;
7830 /* rule 357 can match eol */
7832 FAIL("Unexpected end-tag `%s': `</peer>' expected.",surf_parse_text);
7836 FAIL("Unexpected character `%c': `</peer>' expected.",surf_parse_text[0]);
7838 case YY_STATE_EOF(E_surfxml_peer):
7839 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</peer>' expected.");
7843 * DTD of SimGrid platform and deployment files.
7844 * More info: http://simgrid.gforge.inria.fr/simgrid/latest/doc/platform.html
7845 * To upgrade your files, use the tool simgrid_update_xml
7846 * * New in DTD version 4 (in SimGrid 3.13):
7847 * - Rename (power->speed) the attributes describing the amount of flop
7848 * that a <host>, <peer>, <cluster> or <cabinet> can deliver per second.
7849 * - In <trace_connect>, attribute kind="POWER" is now kind="SPEED".
7851 * - In <host> and <link>, attributes availability and state are gone.
7852 * It was redundent with state and availability traces, and with peak values.
7853 * - The DOCTYPE points to the right URL (this file):
7854 * http://simgrid.gforge.inria.fr/simgrid/simgrid.dtd
7856 * - Kill <gpu>. Was not doing anything.
7857 * - A warning is emitted for unit-less values (they are still accepted).
7858 * - speed. Default: 'f' or 'flops'. Also defined:
7859 * 'Yf', 'Zf', 'Ef', 'Pf', 'Tf', 'Gf', 'Mf', 'kf'
7860 * 'yottaflops', 'zettaflops', 'exaflops', 'petaflops', 'teraflops', 'gigaflops', 'megaflops', 'kiloflops'
7861 * - bandwidth. Default: 'Bps' bytes per second (or 'bps' for bits but 1 Bps = 8 bps)
7862 * Also defined in bytes: 'TiBps', 'GiBps', 'MiBps', 'KiBps', 'TBps', 'GBps', 'MBps', 'kBps', 'Bps'
7863 * And the same in bits: 'Tibps', 'Gibps', 'Mibps', 'Kibps', 'Tbps', 'Gbps', 'Mbps', 'kbps', 'bps'
7864 * - latency. Default: 's' second. Also defined:
7865 * 'w' week, 'd' day, 'h' hour, 'm' minute, 'ms' millisecond, 'us' microsecond, 'ns' nanosecond, 'ps' picosecond
7866 * * New in DTD version 3 (in SimGrid 3.5):
7867 * - The AS tag were introduced. Every platform should now
7868 * contain an englobing AS tag.
7869 * - Routes are now symmetric by default.
7870 * - Renamed tags (for sake of XML sanity):
7871 * - LINK:CTN -> LINK_CTN
7872 * - TRACE:CONNECT -> TRACE_CONNECT
7873 * * New in DTD version 2 (in SimGrid 3.4):
7876 * - NETWORK_LINK -> LINK
7877 * - ROUTE_ELEMENT -> LINK:CTN (changed again in v3)
7878 * - PLATFORM_DESCRIPTION -> PLATFORM
7879 * * New in DTD version 1 (in SimGrid 3.3):
7880 * - DTD is now versionned with the version attribute of platform
7882 * - Link bandwidth: from Mb/s to b/s
7883 * - CPU speed: from MFlop/s to Flop/s
7886 /* rule 359 can match eol */
7888 FAIL("Starting tag <platform> is not allowed here.");
7891 /* rule 360 can match eol */
7894 AX_surfxml_platform_version = 1;
7895 surfxml_platform_version_isset = 0;
7896 ENTER(AL_surfxml_platform); pushbuffer(0);
7901 /* rule 361 can match eol */
7903 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);
7906 /* rule 362 can match eol */
7908 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);
7913 LEAVE; STag_surfxml_platform();surfxml_pcdata_ix = 0; ENTER(S_surfxml_platform);
7919 LEAVE; STag_surfxml_platform(); surfxml_pcdata_ix = 0; ETag_surfxml_platform(); popbuffer(); /* attribute */
7921 case ROOT_surfxml_platform: SET(EPILOG); break;
7927 FAIL("Unexpected character `%c' in attribute list of platform element.", surf_parse_text[0]);
7931 FAIL("Bad attribute `%s' in `platform' element start tag.",surf_parse_text);
7933 case YY_STATE_EOF(AL_surfxml_platform):
7934 FAIL("EOF in attribute list of `platform' element.");
7938 /* rule 367 can match eol */
7942 ETag_surfxml_platform();
7943 popbuffer(); /* attribute */
7945 case ROOT_surfxml_platform: SET(EPILOG); break;
7950 /* rule 368 can match eol */
7952 FAIL("Unexpected end-tag `%s': `</platform>' expected.",surf_parse_text);
7956 FAIL("Unexpected character `%c': `</platform>' expected.",surf_parse_text[0]);
7958 case YY_STATE_EOF(E_surfxml_platform):
7959 case YY_STATE_EOF(S_surfxml_platform):
7960 case YY_STATE_EOF(S_surfxml_platform_1):
7961 case YY_STATE_EOF(S_surfxml_platform_3):
7962 case YY_STATE_EOF(S_surfxml_platform_4):
7963 case YY_STATE_EOF(S_surfxml_platform_6):
7964 case YY_STATE_EOF(S_surfxml_platform_8):
7965 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</platform>' expected.");
7969 /* rule 370 can match eol */
7971 FAIL("Starting tag <process> is not allowed here.");
7974 /* rule 371 can match eol */
7977 AX_surfxml_process_function = 0;
7978 surfxml_process_function_isset = 0;
7979 AX_surfxml_process_host = 0;
7980 surfxml_process_host_isset = 0;
7981 AX_surfxml_process_kill___time = 50;
7982 surfxml_process_kill___time_isset = 0;
7983 AX_surfxml_process_on___failure = A_surfxml_process_on___failure_DIE;
7984 surfxml_process_on___failure_isset = 0;
7985 AX_surfxml_process_start___time = 45;
7986 surfxml_process_start___time_isset = 0;
7987 ENTER(AL_surfxml_process); pushbuffer(0);
7992 /* rule 372 can match eol */
7994 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);
7997 /* rule 373 can match eol */
7999 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);
8002 /* rule 374 can match eol */
8004 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);
8007 /* rule 375 can match eol */
8009 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);
8012 /* rule 376 can match eol */
8014 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);
8017 /* rule 377 can match eol */
8019 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);
8022 /* rule 378 can match eol */
8024 /* rule 379 can match eol */
8026 A_surfxml_process_on___failure = A_surfxml_process_on___failure_DIE;
8029 /* rule 380 can match eol */
8031 /* rule 381 can match eol */
8033 A_surfxml_process_on___failure = A_surfxml_process_on___failure_RESTART;
8036 /* rule 382 can match eol */
8038 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);
8041 /* rule 383 can match eol */
8043 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);
8048 if (!AX_surfxml_process_function) FAIL("Required attribute `function' not set for `process' element.");
8049 if (!AX_surfxml_process_host) FAIL("Required attribute `host' not set for `process' element.");
8050 LEAVE; STag_surfxml_process();surfxml_pcdata_ix = 0; ENTER(S_surfxml_process);
8056 if (!AX_surfxml_process_function) FAIL("Required attribute `function' not set for `process' element.");
8057 if (!AX_surfxml_process_host) FAIL("Required attribute `host' not set for `process' element.");
8058 LEAVE; STag_surfxml_process(); surfxml_pcdata_ix = 0; ETag_surfxml_process(); popbuffer(); /* attribute */
8060 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;
8066 FAIL("Unexpected character `%c' in attribute list of process element.", surf_parse_text[0]);
8070 FAIL("Bad attribute `%s' in `process' element start tag.",surf_parse_text);
8072 case YY_STATE_EOF(AL_surfxml_process):
8073 FAIL("EOF in attribute list of `process' element.");
8077 /* rule 388 can match eol */
8081 ETag_surfxml_process();
8082 popbuffer(); /* attribute */
8084 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;
8089 /* rule 389 can match eol */
8091 FAIL("Unexpected end-tag `%s': `</process>' expected.",surf_parse_text);
8095 FAIL("Unexpected character `%c': `</process>' expected.",surf_parse_text[0]);
8097 case YY_STATE_EOF(E_surfxml_process):
8098 case YY_STATE_EOF(S_surfxml_process):
8099 case YY_STATE_EOF(S_surfxml_process_2):
8100 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</process>' expected.");
8103 /* <!-- <!ATTLIST prop key CDATA #REQUIRED> -->
8104 * <!-- <!ATTLIST prop key CDATA #REQUIRED> --> */
8106 /* rule 391 can match eol */
8108 FAIL("Starting tag <prop> is not allowed here.");
8111 /* rule 392 can match eol */
8114 AX_surfxml_prop_id = 0;
8115 surfxml_prop_id_isset = 0;
8116 AX_surfxml_prop_value = 0;
8117 surfxml_prop_value_isset = 0;
8118 ENTER(AL_surfxml_prop); pushbuffer(0);
8123 /* rule 393 can match eol */
8125 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);
8128 /* rule 394 can match eol */
8130 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);
8133 /* rule 395 can match eol */
8135 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);
8138 /* rule 396 can match eol */
8140 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);
8145 if (!AX_surfxml_prop_id) FAIL("Required attribute `id' not set for `prop' element.");
8146 if (!AX_surfxml_prop_value) FAIL("Required attribute `value' not set for `prop' element.");
8147 LEAVE; STag_surfxml_prop();surfxml_pcdata_ix = 0; ENTER(E_surfxml_prop);
8153 if (!AX_surfxml_prop_id) FAIL("Required attribute `id' not set for `prop' element.");
8154 if (!AX_surfxml_prop_value) FAIL("Required attribute `value' not set for `prop' element.");
8155 LEAVE; STag_surfxml_prop(); surfxml_pcdata_ix = 0; ETag_surfxml_prop(); popbuffer(); /* attribute */
8157 case S_surfxml_AS: case S_surfxml_AS_2: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
8158 case S_surfxml_cluster: case S_surfxml_cluster_1: case S_surfxml_cluster_2: SET(S_surfxml_cluster_2); break;
8159 case S_surfxml_config: case S_surfxml_config_1: case S_surfxml_config_2: SET(S_surfxml_config_2); break;
8160 case S_surfxml_host: case S_surfxml_host_1: case S_surfxml_host_2: SET(S_surfxml_host_2); break;
8161 case S_surfxml_link: case S_surfxml_link_1: case S_surfxml_link_2: SET(S_surfxml_link_2); break;
8162 case S_surfxml_process: case S_surfxml_process_1: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
8163 case S_surfxml_storage: case S_surfxml_storage_1: case S_surfxml_storage_2: SET(S_surfxml_storage_2); break;
8164 case S_surfxml_storage___type: case S_surfxml_storage___type_1: case S_surfxml_storage___type_2: SET(S_surfxml_storage___type_2); break;
8170 FAIL("Unexpected character `%c' in attribute list of prop element.", surf_parse_text[0]);
8174 FAIL("Bad attribute `%s' in `prop' element start tag.",surf_parse_text);
8176 case YY_STATE_EOF(AL_surfxml_prop):
8177 FAIL("EOF in attribute list of `prop' element.");
8181 /* rule 401 can match eol */
8185 ETag_surfxml_prop();
8186 popbuffer(); /* attribute */
8188 case S_surfxml_AS: case S_surfxml_AS_2: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
8189 case S_surfxml_cluster: case S_surfxml_cluster_1: case S_surfxml_cluster_2: SET(S_surfxml_cluster_2); break;
8190 case S_surfxml_config: case S_surfxml_config_1: case S_surfxml_config_2: SET(S_surfxml_config_2); break;
8191 case S_surfxml_host: case S_surfxml_host_1: case S_surfxml_host_2: SET(S_surfxml_host_2); break;
8192 case S_surfxml_link: case S_surfxml_link_1: case S_surfxml_link_2: SET(S_surfxml_link_2); break;
8193 case S_surfxml_process: case S_surfxml_process_1: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
8194 case S_surfxml_storage: case S_surfxml_storage_1: case S_surfxml_storage_2: SET(S_surfxml_storage_2); break;
8195 case S_surfxml_storage___type: case S_surfxml_storage___type_1: case S_surfxml_storage___type_2: SET(S_surfxml_storage___type_2); break;
8200 /* rule 402 can match eol */
8202 FAIL("Unexpected end-tag `%s': `</prop>' expected.",surf_parse_text);
8206 FAIL("Unexpected character `%c': `</prop>' expected.",surf_parse_text[0]);
8208 case YY_STATE_EOF(E_surfxml_prop):
8209 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</prop>' expected.");
8213 /* rule 404 can match eol */
8215 FAIL("Starting tag <random> is not allowed here.");
8218 /* rule 405 can match eol */
8221 AX_surfxml_random_generator = A_surfxml_random_generator_DRAND48;
8222 surfxml_random_generator_isset = 0;
8223 AX_surfxml_random_id = 0;
8224 surfxml_random_id_isset = 0;
8225 AX_surfxml_random_max = 0;
8226 surfxml_random_max_isset = 0;
8227 AX_surfxml_random_mean = 0;
8228 surfxml_random_mean_isset = 0;
8229 AX_surfxml_random_min = 0;
8230 surfxml_random_min_isset = 0;
8231 AX_surfxml_random_radical = 0;
8232 surfxml_random_radical_isset = 0;
8233 AX_surfxml_random_seed = 5;
8234 surfxml_random_seed_isset = 0;
8235 AX_surfxml_random_std___deviation = 0;
8236 surfxml_random_std___deviation_isset = 0;
8237 ENTER(AL_surfxml_random); pushbuffer(0);
8242 /* rule 406 can match eol */
8244 /* rule 407 can match eol */
8246 A_surfxml_random_generator = A_surfxml_random_generator_DRAND48;
8249 /* rule 408 can match eol */
8251 /* rule 409 can match eol */
8253 A_surfxml_random_generator = A_surfxml_random_generator_RAND;
8256 /* rule 410 can match eol */
8258 /* rule 411 can match eol */
8260 A_surfxml_random_generator = A_surfxml_random_generator_RNGSTREAM;
8263 /* rule 412 can match eol */
8265 /* rule 413 can match eol */
8267 A_surfxml_random_generator = A_surfxml_random_generator_NONE;
8270 /* rule 414 can match eol */
8272 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);
8275 /* rule 415 can match eol */
8277 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);
8280 /* rule 416 can match eol */
8282 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);
8285 /* rule 417 can match eol */
8287 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);
8290 /* rule 418 can match eol */
8292 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);
8295 /* rule 419 can match eol */
8297 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);
8300 /* rule 420 can match eol */
8302 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);
8305 /* rule 421 can match eol */
8307 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);
8310 /* rule 422 can match eol */
8312 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);
8315 /* rule 423 can match eol */
8317 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);
8320 /* rule 424 can match eol */
8322 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);
8325 /* rule 425 can match eol */
8327 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);
8330 /* rule 426 can match eol */
8332 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);
8335 /* rule 427 can match eol */
8337 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);
8342 if (!AX_surfxml_random_id) FAIL("Required attribute `id' not set for `random' element.");
8343 if (!AX_surfxml_random_max) FAIL("Required attribute `max' not set for `random' element.");
8344 if (!AX_surfxml_random_mean) FAIL("Required attribute `mean' not set for `random' element.");
8345 if (!AX_surfxml_random_min) FAIL("Required attribute `min' not set for `random' element.");
8346 if (!AX_surfxml_random_std___deviation) FAIL("Required attribute `std_deviation' not set for `random' element.");
8347 LEAVE; STag_surfxml_random();surfxml_pcdata_ix = 0; ENTER(E_surfxml_random);
8353 if (!AX_surfxml_random_id) FAIL("Required attribute `id' not set for `random' element.");
8354 if (!AX_surfxml_random_max) FAIL("Required attribute `max' not set for `random' element.");
8355 if (!AX_surfxml_random_mean) FAIL("Required attribute `mean' not set for `random' element.");
8356 if (!AX_surfxml_random_min) FAIL("Required attribute `min' not set for `random' element.");
8357 if (!AX_surfxml_random_std___deviation) FAIL("Required attribute `std_deviation' not set for `random' element.");
8358 LEAVE; STag_surfxml_random(); surfxml_pcdata_ix = 0; ETag_surfxml_random(); popbuffer(); /* attribute */
8360 case S_surfxml_platform: case S_surfxml_platform_2: case S_surfxml_platform_3: SET(S_surfxml_platform_3); break;
8366 FAIL("Unexpected character `%c' in attribute list of random element.", surf_parse_text[0]);
8370 FAIL("Bad attribute `%s' in `random' element start tag.",surf_parse_text);
8372 case YY_STATE_EOF(AL_surfxml_random):
8373 FAIL("EOF in attribute list of `random' element.");
8377 /* rule 432 can match eol */
8381 ETag_surfxml_random();
8382 popbuffer(); /* attribute */
8384 case S_surfxml_platform: case S_surfxml_platform_2: case S_surfxml_platform_3: SET(S_surfxml_platform_3); break;
8389 /* rule 433 can match eol */
8391 FAIL("Unexpected end-tag `%s': `</random>' expected.",surf_parse_text);
8395 FAIL("Unexpected character `%c': `</random>' expected.",surf_parse_text[0]);
8397 case YY_STATE_EOF(E_surfxml_random):
8398 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</random>' expected.");
8402 /* rule 435 can match eol */
8404 FAIL("Starting tag <route> is not allowed here.");
8407 /* rule 436 can match eol */
8410 AX_surfxml_route_dst = 0;
8411 surfxml_route_dst_isset = 0;
8412 AX_surfxml_route_src = 0;
8413 surfxml_route_src_isset = 0;
8414 AX_surfxml_route_symmetrical = A_surfxml_route_symmetrical_YES;
8415 surfxml_route_symmetrical_isset = 0;
8416 ENTER(AL_surfxml_route); pushbuffer(0);
8421 /* rule 437 can match eol */
8423 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);
8426 /* rule 438 can match eol */
8428 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);
8431 /* rule 439 can match eol */
8433 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);
8436 /* rule 440 can match eol */
8438 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);
8441 /* rule 441 can match eol */
8443 /* rule 442 can match eol */
8445 A_surfxml_route_symmetrical = A_surfxml_route_symmetrical_YES;
8448 /* rule 443 can match eol */
8450 /* rule 444 can match eol */
8452 A_surfxml_route_symmetrical = A_surfxml_route_symmetrical_NO;
8457 if (!AX_surfxml_route_dst) FAIL("Required attribute `dst' not set for `route' element.");
8458 if (!AX_surfxml_route_src) FAIL("Required attribute `src' not set for `route' element.");
8459 LEAVE; STag_surfxml_route();surfxml_pcdata_ix = 0; ENTER(S_surfxml_route);
8465 if (!AX_surfxml_route_dst) FAIL("Required attribute `dst' not set for `route' element.");
8466 if (!AX_surfxml_route_src) FAIL("Required attribute `src' not set for `route' element.");
8467 LEAVE; STag_surfxml_route(); surfxml_pcdata_ix = 0; ETag_surfxml_route(); popbuffer(); /* attribute */
8469 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;
8475 FAIL("Unexpected character `%c' in attribute list of route element.", surf_parse_text[0]);
8479 FAIL("Bad attribute `%s' in `route' element start tag.",surf_parse_text);
8481 case YY_STATE_EOF(AL_surfxml_route):
8482 FAIL("EOF in attribute list of `route' element.");
8486 /* rule 449 can match eol */
8490 ETag_surfxml_route();
8491 popbuffer(); /* attribute */
8493 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;
8498 /* rule 450 can match eol */
8500 FAIL("Unexpected end-tag `%s': `</route>' expected.",surf_parse_text);
8504 FAIL("Unexpected character `%c': `</route>' expected.",surf_parse_text[0]);
8506 case YY_STATE_EOF(E_surfxml_route):
8507 case YY_STATE_EOF(S_surfxml_route):
8508 case YY_STATE_EOF(S_surfxml_route_2):
8509 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</route>' expected.");
8513 /* rule 452 can match eol */
8515 FAIL("Starting tag <router> is not allowed here.");
8518 /* rule 453 can match eol */
8521 AX_surfxml_router_coordinates = 0;
8522 surfxml_router_coordinates_isset = 0;
8523 AX_surfxml_router_id = 0;
8524 surfxml_router_id_isset = 0;
8525 ENTER(AL_surfxml_router); pushbuffer(0);
8530 /* rule 454 can match eol */
8532 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);
8535 /* rule 455 can match eol */
8537 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);
8540 /* rule 456 can match eol */
8542 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);
8545 /* rule 457 can match eol */
8547 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);
8552 if (!AX_surfxml_router_id) FAIL("Required attribute `id' not set for `router' element.");
8553 LEAVE; STag_surfxml_router();surfxml_pcdata_ix = 0; ENTER(E_surfxml_router);
8559 if (!AX_surfxml_router_id) FAIL("Required attribute `id' not set for `router' element.");
8560 LEAVE; STag_surfxml_router(); surfxml_pcdata_ix = 0; ETag_surfxml_router(); popbuffer(); /* attribute */
8562 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;
8568 FAIL("Unexpected character `%c' in attribute list of router element.", surf_parse_text[0]);
8572 FAIL("Bad attribute `%s' in `router' element start tag.",surf_parse_text);
8574 case YY_STATE_EOF(AL_surfxml_router):
8575 FAIL("EOF in attribute list of `router' element.");
8579 /* rule 462 can match eol */
8583 ETag_surfxml_router();
8584 popbuffer(); /* attribute */
8586 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;
8591 /* rule 463 can match eol */
8593 FAIL("Unexpected end-tag `%s': `</router>' expected.",surf_parse_text);
8597 FAIL("Unexpected character `%c': `</router>' expected.",surf_parse_text[0]);
8599 case YY_STATE_EOF(E_surfxml_router):
8600 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</router>' expected.");
8604 /* rule 465 can match eol */
8606 FAIL("Starting tag <storage> is not allowed here.");
8609 /* rule 466 can match eol */
8612 AX_surfxml_storage_attach = 0;
8613 surfxml_storage_attach_isset = 0;
8614 AX_surfxml_storage_content = 0;
8615 surfxml_storage_content_isset = 0;
8616 AX_surfxml_storage_content___type = 31;
8617 surfxml_storage_content___type_isset = 0;
8618 AX_surfxml_storage_id = 0;
8619 surfxml_storage_id_isset = 0;
8620 AX_surfxml_storage_typeId = 0;
8621 surfxml_storage_typeId_isset = 0;
8622 ENTER(AL_surfxml_storage); pushbuffer(0);
8627 /* rule 467 can match eol */
8629 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);
8632 /* rule 468 can match eol */
8634 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);
8637 /* rule 469 can match eol */
8639 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);
8642 /* rule 470 can match eol */
8644 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);
8647 /* rule 471 can match eol */
8649 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);
8652 /* rule 472 can match eol */
8654 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);
8657 /* rule 473 can match eol */
8659 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);
8662 /* rule 474 can match eol */
8664 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);
8667 /* rule 475 can match eol */
8669 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);
8672 /* rule 476 can match eol */
8674 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);
8679 if (!AX_surfxml_storage_attach) FAIL("Required attribute `attach' not set for `storage' element.");
8680 if (!AX_surfxml_storage_id) FAIL("Required attribute `id' not set for `storage' element.");
8681 if (!AX_surfxml_storage_typeId) FAIL("Required attribute `typeId' not set for `storage' element.");
8682 LEAVE; STag_surfxml_storage();surfxml_pcdata_ix = 0; ENTER(S_surfxml_storage);
8688 if (!AX_surfxml_storage_attach) FAIL("Required attribute `attach' not set for `storage' element.");
8689 if (!AX_surfxml_storage_id) FAIL("Required attribute `id' not set for `storage' element.");
8690 if (!AX_surfxml_storage_typeId) FAIL("Required attribute `typeId' not set for `storage' element.");
8691 LEAVE; STag_surfxml_storage(); surfxml_pcdata_ix = 0; ETag_surfxml_storage(); popbuffer(); /* attribute */
8693 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;
8699 FAIL("Unexpected character `%c' in attribute list of storage element.", surf_parse_text[0]);
8703 FAIL("Bad attribute `%s' in `storage' element start tag.",surf_parse_text);
8705 case YY_STATE_EOF(AL_surfxml_storage):
8706 FAIL("EOF in attribute list of `storage' element.");
8710 /* rule 481 can match eol */
8714 ETag_surfxml_storage();
8715 popbuffer(); /* attribute */
8717 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;
8722 /* rule 482 can match eol */
8724 FAIL("Unexpected end-tag `%s': `</storage>' expected.",surf_parse_text);
8728 FAIL("Unexpected character `%c': `</storage>' expected.",surf_parse_text[0]);
8730 case YY_STATE_EOF(E_surfxml_storage):
8731 case YY_STATE_EOF(S_surfxml_storage):
8732 case YY_STATE_EOF(S_surfxml_storage_2):
8733 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</storage>' expected.");
8737 /* rule 484 can match eol */
8739 FAIL("Starting tag <storage_type> is not allowed here.");
8742 /* rule 485 can match eol */
8745 AX_surfxml_storage___type_content = 0;
8746 surfxml_storage___type_content_isset = 0;
8747 AX_surfxml_storage___type_content___type = 16;
8748 surfxml_storage___type_content___type_isset = 0;
8749 AX_surfxml_storage___type_id = 0;
8750 surfxml_storage___type_id_isset = 0;
8751 AX_surfxml_storage___type_model = 0;
8752 surfxml_storage___type_model_isset = 0;
8753 AX_surfxml_storage___type_size = 0;
8754 surfxml_storage___type_size_isset = 0;
8755 ENTER(AL_surfxml_storage___type); pushbuffer(0);
8760 /* rule 486 can match eol */
8762 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);
8765 /* rule 487 can match eol */
8767 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);
8770 /* rule 488 can match eol */
8772 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);
8775 /* rule 489 can match eol */
8777 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);
8780 /* rule 490 can match eol */
8782 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);
8785 /* rule 491 can match eol */
8787 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);
8790 /* rule 492 can match eol */
8792 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);
8795 /* rule 493 can match eol */
8797 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);
8800 /* rule 494 can match eol */
8802 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);
8805 /* rule 495 can match eol */
8807 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);
8812 if (!AX_surfxml_storage___type_id) FAIL("Required attribute `id' not set for `storage_type' element.");
8813 if (!AX_surfxml_storage___type_model) FAIL("Required attribute `model' not set for `storage_type' element.");
8814 if (!AX_surfxml_storage___type_size) FAIL("Required attribute `size' not set for `storage_type' element.");
8815 LEAVE; STag_surfxml_storage___type();surfxml_pcdata_ix = 0; ENTER(S_surfxml_storage___type);
8821 if (!AX_surfxml_storage___type_id) FAIL("Required attribute `id' not set for `storage_type' element.");
8822 if (!AX_surfxml_storage___type_model) FAIL("Required attribute `model' not set for `storage_type' element.");
8823 if (!AX_surfxml_storage___type_size) FAIL("Required attribute `size' not set for `storage_type' element.");
8824 LEAVE; STag_surfxml_storage___type(); surfxml_pcdata_ix = 0; ETag_surfxml_storage___type(); popbuffer(); /* attribute */
8826 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;
8832 FAIL("Unexpected character `%c' in attribute list of storage_type element.", surf_parse_text[0]);
8836 FAIL("Bad attribute `%s' in `storage_type' element start tag.",surf_parse_text);
8838 case YY_STATE_EOF(AL_surfxml_storage___type):
8839 FAIL("EOF in attribute list of `storage_type' element.");
8843 /* rule 500 can match eol */
8847 ETag_surfxml_storage___type();
8848 popbuffer(); /* attribute */
8850 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;
8855 /* rule 501 can match eol */
8857 FAIL("Unexpected end-tag `%s': `</storage_type>' expected.",surf_parse_text);
8861 FAIL("Unexpected character `%c': `</storage_type>' expected.",surf_parse_text[0]);
8863 case YY_STATE_EOF(E_surfxml_storage___type):
8864 case YY_STATE_EOF(S_surfxml_storage___type):
8865 case YY_STATE_EOF(S_surfxml_storage___type_2):
8866 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</storage_type>' expected.");
8870 /* rule 503 can match eol */
8872 FAIL("Starting tag <trace> is not allowed here.");
8875 /* rule 504 can match eol */
8878 AX_surfxml_trace_file = 0;
8879 surfxml_trace_file_isset = 0;
8880 AX_surfxml_trace_id = 0;
8881 surfxml_trace_id_isset = 0;
8882 AX_surfxml_trace_periodicity = 0;
8883 surfxml_trace_periodicity_isset = 0;
8884 ENTER(AL_surfxml_trace); pushbuffer(0);
8889 /* rule 505 can match eol */
8891 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);
8894 /* rule 506 can match eol */
8896 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);
8899 /* rule 507 can match eol */
8901 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);
8904 /* rule 508 can match eol */
8906 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);
8909 /* rule 509 can match eol */
8911 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);
8914 /* rule 510 can match eol */
8916 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);
8921 if (!AX_surfxml_trace_id) FAIL("Required attribute `id' not set for `trace' element.");
8922 if (!AX_surfxml_trace_periodicity) FAIL("Required attribute `periodicity' not set for `trace' element.");
8923 LEAVE; STag_surfxml_trace();pushbuffer(surfxml_pcdata_ix); BUFFERSET(surfxml_pcdata_ix);; ENTER(IN_trace);
8929 if (!AX_surfxml_trace_id) FAIL("Required attribute `id' not set for `trace' element.");
8930 if (!AX_surfxml_trace_periodicity) FAIL("Required attribute `periodicity' not set for `trace' element.");
8931 LEAVE; STag_surfxml_trace(); surfxml_pcdata_ix = 0; ETag_surfxml_trace(); popbuffer(); /* attribute */
8933 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;
8934 case S_surfxml_include: case S_surfxml_include_1: case S_surfxml_include_2: SET(S_surfxml_include_2); break;
8935 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;
8941 FAIL("Unexpected character `%c' in attribute list of trace element.", surf_parse_text[0]);
8945 FAIL("Bad attribute `%s' in `trace' element start tag.",surf_parse_text);
8947 case YY_STATE_EOF(AL_surfxml_trace):
8948 FAIL("EOF in attribute list of `trace' element.");
8952 /* rule 515 can match eol */
8957 ETag_surfxml_trace();
8958 surfxml_pcdata_ix = popbuffer();
8959 popbuffer(); /* attribute */
8961 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;
8962 case S_surfxml_include: case S_surfxml_include_1: case S_surfxml_include_2: SET(S_surfxml_include_2); break;
8963 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;
8968 /* rule 516 can match eol */
8970 FAIL("Unexpected end-tag `%s': `</trace>' expected.",surf_parse_text);
8972 case YY_STATE_EOF(IN_trace):
8973 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</trace>' expected.");
8977 /* rule 517 can match eol */
8979 FAIL("Starting tag <trace_connect> is not allowed here.");
8982 /* rule 518 can match eol */
8985 AX_surfxml_trace___connect_element = 0;
8986 surfxml_trace___connect_element_isset = 0;
8987 AX_surfxml_trace___connect_kind = A_surfxml_trace___connect_kind_HOST___AVAIL;
8988 surfxml_trace___connect_kind_isset = 0;
8989 AX_surfxml_trace___connect_trace = 0;
8990 surfxml_trace___connect_trace_isset = 0;
8991 ENTER(AL_surfxml_trace___connect); pushbuffer(0);
8996 /* rule 519 can match eol */
8998 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);
9001 /* rule 520 can match eol */
9003 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);
9006 /* rule 521 can match eol */
9008 /* rule 522 can match eol */
9010 A_surfxml_trace___connect_kind = A_surfxml_trace___connect_kind_HOST___AVAIL;
9013 /* rule 523 can match eol */
9015 /* rule 524 can match eol */
9017 A_surfxml_trace___connect_kind = A_surfxml_trace___connect_kind_SPEED;
9020 /* rule 525 can match eol */
9022 /* rule 526 can match eol */
9024 A_surfxml_trace___connect_kind = A_surfxml_trace___connect_kind_LINK___AVAIL;
9027 /* rule 527 can match eol */
9029 /* rule 528 can match eol */
9031 A_surfxml_trace___connect_kind = A_surfxml_trace___connect_kind_BANDWIDTH;
9034 /* rule 529 can match eol */
9036 /* rule 530 can match eol */
9038 A_surfxml_trace___connect_kind = A_surfxml_trace___connect_kind_LATENCY;
9041 /* rule 531 can match eol */
9043 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);
9046 /* rule 532 can match eol */
9048 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);
9053 if (!AX_surfxml_trace___connect_element) FAIL("Required attribute `element' not set for `trace_connect' element.");
9054 if (!AX_surfxml_trace___connect_trace) FAIL("Required attribute `trace' not set for `trace_connect' element.");
9055 LEAVE; STag_surfxml_trace___connect();surfxml_pcdata_ix = 0; ENTER(E_surfxml_trace___connect);
9061 if (!AX_surfxml_trace___connect_element) FAIL("Required attribute `element' not set for `trace_connect' element.");
9062 if (!AX_surfxml_trace___connect_trace) FAIL("Required attribute `trace' not set for `trace_connect' element.");
9063 LEAVE; STag_surfxml_trace___connect(); surfxml_pcdata_ix = 0; ETag_surfxml_trace___connect(); popbuffer(); /* attribute */
9065 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;
9066 case S_surfxml_include: case S_surfxml_include_1: case S_surfxml_include_2: SET(S_surfxml_include_2); break;
9067 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;
9073 FAIL("Unexpected character `%c' in attribute list of trace_connect element.", surf_parse_text[0]);
9077 FAIL("Bad attribute `%s' in `trace_connect' element start tag.",surf_parse_text);
9079 case YY_STATE_EOF(AL_surfxml_trace___connect):
9080 FAIL("EOF in attribute list of `trace_connect' element.");
9084 /* rule 537 can match eol */
9088 ETag_surfxml_trace___connect();
9089 popbuffer(); /* attribute */
9091 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;
9092 case S_surfxml_include: case S_surfxml_include_1: case S_surfxml_include_2: SET(S_surfxml_include_2); break;
9093 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;
9098 /* rule 538 can match eol */
9100 FAIL("Unexpected end-tag `%s': `</trace_connect>' expected.",surf_parse_text);
9104 FAIL("Unexpected character `%c': `</trace_connect>' expected.",surf_parse_text[0]);
9106 case YY_STATE_EOF(E_surfxml_trace___connect):
9107 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</trace_connect>' expected.");
9110 /* EPILOG: after the root element. */
9114 {SET(PROLOG); yyless(0); CLEANUP; return -1;}
9116 case YY_STATE_EOF(EPILOG):
9120 /* CHARACTER DATA. */
9122 /* Non-defined standard entities... */
9143 /* Character entities. */
9146 BUFFERPUTC((unsigned char)atoi(surf_parse_text+2));
9150 BUFFERPUTC((unsigned char)strtol(surf_parse_text+3,NULL,16));
9154 /* rule 548 can match eol */
9156 /* rule 549 can match eol */
9158 /* rule 550 can match eol */
9160 /* rule 551 can match eol */
9171 FAIL("Unexpected `]""]>' in character data.");
9178 case YY_STATE_EOF(VALUE1):
9179 FAIL("EOF in literal (\"'\" expected).");
9186 case YY_STATE_EOF(VALUE2):
9187 FAIL("EOF in literal (`\"' expected).");
9191 /* rule 556 can match eol */
9193 BUFFERPUTC(surf_parse_text[0]);
9197 FAIL("Spurious `%c' in character data.",surf_parse_text[0]);
9204 /* "]""]" BUFFERPUTC(surf_parse_text[0]); BUFFERPUTC(surf_parse_text[1]); */
9207 BUFFERPUTC(surf_parse_text[0]);
9209 case YY_STATE_EOF(CDATA):
9210 FAIL("EOF in CDATA section.");
9213 /* Impossible rules to avoid warnings from flex(1). */
9214 /* Ideally, this should be replaced by code in flexml.pl that
9215 generates just the states not covered by other rules. */
9218 /* rule 560 can match eol */
9220 FAIL("Syntax error on character `%c'.", surf_parse_text[0]);
9227 case YY_STATE_EOF(INITIAL):
9228 case YY_STATE_EOF(S_surfxml_AS_2):
9229 case YY_STATE_EOF(S_surfxml_AS_5):
9230 case YY_STATE_EOF(S_surfxml_AS_7):
9231 case YY_STATE_EOF(S_surfxml_ASroute_1):
9232 case YY_STATE_EOF(S_surfxml_bypassASroute_1):
9233 case YY_STATE_EOF(S_surfxml_bypassRoute_1):
9234 case YY_STATE_EOF(S_surfxml_cluster_1):
9235 case YY_STATE_EOF(S_surfxml_config_1):
9236 case YY_STATE_EOF(S_surfxml_host_1):
9237 case YY_STATE_EOF(S_surfxml_include_1):
9238 case YY_STATE_EOF(S_surfxml_link_1):
9239 case YY_STATE_EOF(ROOT_surfxml_platform):
9240 case YY_STATE_EOF(S_surfxml_platform_2):
9241 case YY_STATE_EOF(S_surfxml_platform_5):
9242 case YY_STATE_EOF(S_surfxml_platform_7):
9243 case YY_STATE_EOF(S_surfxml_process_1):
9244 case YY_STATE_EOF(S_surfxml_route_1):
9245 case YY_STATE_EOF(S_surfxml_storage_1):
9246 case YY_STATE_EOF(S_surfxml_storage___type_1):
9247 case YY_STATE_EOF(IMPOSSIBLE):
9250 case YY_END_OF_BUFFER:
9252 /* Amount of text matched not including the EOB char. */
9253 int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
9255 /* Undo the effects of YY_DO_BEFORE_ACTION. */
9256 *yy_cp = (yy_hold_char);
9257 YY_RESTORE_YY_MORE_OFFSET
9259 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
9261 /* We're scanning a new file or input source. It's
9262 * possible that this happened because the user
9263 * just pointed surf_parse_in at a new source and called
9264 * surf_parse_lex(). If so, then we have to assure
9265 * consistency between YY_CURRENT_BUFFER and our
9266 * globals. Here is the right place to do so, because
9267 * this is the first action (other than possibly a
9268 * back-up) that will match for the new input source.
9270 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
9271 YY_CURRENT_BUFFER_LVALUE->yy_input_file = surf_parse_in;
9272 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
9275 /* Note that here we test for yy_c_buf_p "<=" to the position
9276 * of the first EOB in the buffer, since yy_c_buf_p will
9277 * already have been incremented past the NUL character
9278 * (since all states make transitions on EOB to the
9279 * end-of-buffer state). Contrast this with the test
9282 if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
9283 { /* This was really a NUL. */
9284 yy_state_type yy_next_state;
9286 (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
9288 yy_current_state = yy_get_previous_state( );
9290 /* Okay, we're now positioned to make the NUL
9291 * transition. We couldn't have
9292 * yy_get_previous_state() go ahead and do it
9293 * for us because it doesn't know how to deal
9294 * with the possibility of jamming (and we don't
9295 * want to build jamming into it because then it
9296 * will run more slowly).
9299 yy_next_state = yy_try_NUL_trans( yy_current_state );
9301 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
9303 if ( yy_next_state )
9305 /* Consume the NUL. */
9306 yy_cp = ++(yy_c_buf_p);
9307 yy_current_state = yy_next_state;
9313 yy_cp = (yy_c_buf_p);
9314 goto yy_find_action;
9318 else switch ( yy_get_next_buffer( ) )
9320 case EOB_ACT_END_OF_FILE:
9322 (yy_did_buffer_switch_on_eof) = 0;
9324 if ( surf_parse_wrap( ) )
9326 /* Note: because we've taken care in
9327 * yy_get_next_buffer() to have set up
9328 * surf_parse_text, we can now set up
9329 * yy_c_buf_p so that if some total
9330 * hoser (like flex itself) wants to
9331 * call the scanner after we return the
9332 * YY_NULL, it'll still work - another
9333 * YY_NULL will get returned.
9335 (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
9337 yy_act = YY_STATE_EOF(YY_START);
9343 if ( ! (yy_did_buffer_switch_on_eof) )
9349 case EOB_ACT_CONTINUE_SCAN:
9351 (yytext_ptr) + yy_amount_of_matched_text;
9353 yy_current_state = yy_get_previous_state( );
9355 yy_cp = (yy_c_buf_p);
9356 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
9359 case EOB_ACT_LAST_MATCH:
9361 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
9363 yy_current_state = yy_get_previous_state( );
9365 yy_cp = (yy_c_buf_p);
9366 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
9367 goto yy_find_action;
9374 "fatal flex scanner internal error--no action found" );
9375 } /* end of action switch */
9376 } /* end of scanning one token */
9377 } /* end of user's declarations */
9378 } /* end of surf_parse_lex */
9380 /* yy_get_next_buffer - try to read in a new buffer
9382 * Returns a code representing an action:
9383 * EOB_ACT_LAST_MATCH -
9384 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
9385 * EOB_ACT_END_OF_FILE - end of file
9387 static int yy_get_next_buffer (void)
9389 char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
9390 char *source = (yytext_ptr);
9391 int number_to_move, i;
9394 if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
9396 "fatal flex scanner internal error--end of buffer missed" );
9398 if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
9399 { /* Don't try to fill the buffer, so this is an EOF. */
9400 if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
9402 /* We matched a single character, the EOB, so
9403 * treat this as a final EOF.
9405 return EOB_ACT_END_OF_FILE;
9410 /* We matched some text prior to the EOB, first
9413 return EOB_ACT_LAST_MATCH;
9417 /* Try to read more data. */
9419 /* First move last chars to start of buffer. */
9420 number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
9422 for ( i = 0; i < number_to_move; ++i )
9423 *(dest++) = *(source++);
9425 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
9426 /* don't do the read, it's not guaranteed to return an EOF,
9429 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
9433 yy_size_t num_to_read =
9434 YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
9436 while ( num_to_read <= 0 )
9437 { /* Not enough room in the buffer - grow it. */
9439 /* just a shorter name for the current buffer */
9440 YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE;
9442 int yy_c_buf_p_offset =
9443 (int) ((yy_c_buf_p) - b->yy_ch_buf);
9445 if ( b->yy_is_our_buffer )
9447 yy_size_t new_size = b->yy_buf_size * 2;
9449 if ( new_size <= 0 )
9450 b->yy_buf_size += b->yy_buf_size / 8;
9452 b->yy_buf_size *= 2;
9454 b->yy_ch_buf = (char *)
9455 /* Include room in for 2 EOB chars. */
9456 surf_parse_realloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 );
9459 /* Can't grow it, we don't own it. */
9462 if ( ! b->yy_ch_buf )
9464 "fatal error - scanner input buffer overflow" );
9466 (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
9468 num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
9473 if ( num_to_read > YY_READ_BUF_SIZE )
9474 num_to_read = YY_READ_BUF_SIZE;
9476 /* Read in more data. */
9477 YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
9478 (yy_n_chars), num_to_read );
9480 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
9483 if ( (yy_n_chars) == 0 )
9485 if ( number_to_move == YY_MORE_ADJ )
9487 ret_val = EOB_ACT_END_OF_FILE;
9488 surf_parse_restart(surf_parse_in );
9493 ret_val = EOB_ACT_LAST_MATCH;
9494 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
9495 YY_BUFFER_EOF_PENDING;
9500 ret_val = EOB_ACT_CONTINUE_SCAN;
9502 if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
9503 /* Extend the array by 50%, plus the number we really need. */
9504 yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
9505 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) surf_parse_realloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size );
9506 if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
9507 YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
9510 (yy_n_chars) += number_to_move;
9511 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
9512 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
9514 (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
9519 /* yy_get_previous_state - get the state just before the EOB char was reached */
9521 static yy_state_type yy_get_previous_state (void)
9523 yy_state_type yy_current_state;
9526 yy_current_state = (yy_start);
9528 for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
9530 YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
9531 if ( yy_accept[yy_current_state] )
9533 (yy_last_accepting_state) = yy_current_state;
9534 (yy_last_accepting_cpos) = yy_cp;
9536 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
9538 yy_current_state = (int) yy_def[yy_current_state];
9539 if ( yy_current_state >= 3330 )
9540 yy_c = yy_meta[(unsigned int) yy_c];
9542 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
9545 return yy_current_state;
9548 /* yy_try_NUL_trans - try to make a transition on the NUL character
9551 * next_state = yy_try_NUL_trans( current_state );
9553 static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state )
9556 char *yy_cp = (yy_c_buf_p);
9559 if ( yy_accept[yy_current_state] )
9561 (yy_last_accepting_state) = yy_current_state;
9562 (yy_last_accepting_cpos) = yy_cp;
9564 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
9566 yy_current_state = (int) yy_def[yy_current_state];
9567 if ( yy_current_state >= 3330 )
9568 yy_c = yy_meta[(unsigned int) yy_c];
9570 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
9571 yy_is_jam = (yy_current_state == 3329);
9573 return yy_is_jam ? 0 : yy_current_state;
9578 static int yyinput (void)
9580 static int input (void)
9586 *(yy_c_buf_p) = (yy_hold_char);
9588 if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
9590 /* yy_c_buf_p now points to the character we want to return.
9591 * If this occurs *before* the EOB characters, then it's a
9592 * valid NUL; if not, then we've hit the end of the buffer.
9594 if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
9595 /* This was really a NUL. */
9596 *(yy_c_buf_p) = '\0';
9599 { /* need more input */
9600 yy_size_t offset = (yy_c_buf_p) - (yytext_ptr);
9603 switch ( yy_get_next_buffer( ) )
9605 case EOB_ACT_LAST_MATCH:
9606 /* This happens because yy_g_n_b()
9607 * sees that we've accumulated a
9608 * token and flags that we need to
9609 * try matching the token before
9610 * proceeding. But for input(),
9611 * there's no matching to consider.
9612 * So convert the EOB_ACT_LAST_MATCH
9613 * to EOB_ACT_END_OF_FILE.
9616 /* Reset buffer status. */
9617 surf_parse_restart(surf_parse_in );
9621 case EOB_ACT_END_OF_FILE:
9623 if ( surf_parse_wrap( ) )
9626 if ( ! (yy_did_buffer_switch_on_eof) )
9635 case EOB_ACT_CONTINUE_SCAN:
9636 (yy_c_buf_p) = (yytext_ptr) + offset;
9642 c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */
9643 *(yy_c_buf_p) = '\0'; /* preserve surf_parse_text */
9644 (yy_hold_char) = *++(yy_c_buf_p);
9648 surf_parse_lineno++;
9653 #endif /* ifndef YY_NO_INPUT */
9655 /** Immediately switch to a different input stream.
9656 * @param input_file A readable stream.
9658 * @note This function does not reset the start condition to @c INITIAL .
9660 void surf_parse_restart (FILE * input_file )
9663 if ( ! YY_CURRENT_BUFFER ){
9664 surf_parse_ensure_buffer_stack ();
9665 YY_CURRENT_BUFFER_LVALUE =
9666 surf_parse__create_buffer(surf_parse_in,YY_BUF_SIZE );
9669 surf_parse__init_buffer(YY_CURRENT_BUFFER,input_file );
9670 surf_parse__load_buffer_state( );
9673 /** Switch to a different input buffer.
9674 * @param new_buffer The new input buffer.
9677 void surf_parse__switch_to_buffer (YY_BUFFER_STATE new_buffer )
9680 /* TODO. We should be able to replace this entire function body
9682 * surf_parse_pop_buffer_state();
9683 * surf_parse_push_buffer_state(new_buffer);
9685 surf_parse_ensure_buffer_stack ();
9686 if ( YY_CURRENT_BUFFER == new_buffer )
9689 if ( YY_CURRENT_BUFFER )
9691 /* Flush out information for old buffer. */
9692 *(yy_c_buf_p) = (yy_hold_char);
9693 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
9694 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
9697 YY_CURRENT_BUFFER_LVALUE = new_buffer;
9698 surf_parse__load_buffer_state( );
9700 /* We don't actually know whether we did this switch during
9701 * EOF (surf_parse_wrap()) processing, but the only time this flag
9702 * is looked at is after surf_parse_wrap() is called, so it's safe
9703 * to go ahead and always set it.
9705 (yy_did_buffer_switch_on_eof) = 1;
9708 static void surf_parse__load_buffer_state (void)
9710 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
9711 (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
9712 surf_parse_in = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
9713 (yy_hold_char) = *(yy_c_buf_p);
9716 /** Allocate and initialize an input buffer state.
9717 * @param file A readable stream.
9718 * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
9720 * @return the allocated buffer state.
9722 YY_BUFFER_STATE surf_parse__create_buffer (FILE * file, int size )
9726 b = (YY_BUFFER_STATE) surf_parse_alloc(sizeof( struct yy_buffer_state ) );
9728 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__create_buffer()" );
9730 b->yy_buf_size = size;
9732 /* yy_ch_buf has to be 2 characters longer than the size given because
9733 * we need to put in 2 end-of-buffer characters.
9735 b->yy_ch_buf = (char *) surf_parse_alloc(b->yy_buf_size + 2 );
9736 if ( ! b->yy_ch_buf )
9737 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__create_buffer()" );
9739 b->yy_is_our_buffer = 1;
9741 surf_parse__init_buffer(b,file );
9746 /** Destroy the buffer.
9747 * @param b a buffer created with surf_parse__create_buffer()
9750 void surf_parse__delete_buffer (YY_BUFFER_STATE b )
9756 if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
9757 YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
9759 if ( b->yy_is_our_buffer )
9760 surf_parse_free((void *) b->yy_ch_buf );
9762 surf_parse_free((void *) b );
9765 /* Initializes or reinitializes a buffer.
9766 * This function is sometimes called more than once on the same buffer,
9767 * such as during a surf_parse_restart() or at EOF.
9769 static void surf_parse__init_buffer (YY_BUFFER_STATE b, FILE * file )
9774 surf_parse__flush_buffer(b );
9776 b->yy_input_file = file;
9777 b->yy_fill_buffer = 1;
9779 /* If b is the current buffer, then surf_parse__init_buffer was _probably_
9780 * called from surf_parse_restart() or through yy_get_next_buffer.
9781 * In that case, we don't want to reset the lineno or column.
9783 if (b != YY_CURRENT_BUFFER){
9784 b->yy_bs_lineno = 1;
9785 b->yy_bs_column = 0;
9788 b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
9793 /** Discard all buffered characters. On the next scan, YY_INPUT will be called.
9794 * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
9797 void surf_parse__flush_buffer (YY_BUFFER_STATE b )
9804 /* We always need two end-of-buffer characters. The first causes
9805 * a transition to the end-of-buffer state. The second causes
9806 * a jam in that state.
9808 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
9809 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
9811 b->yy_buf_pos = &b->yy_ch_buf[0];
9814 b->yy_buffer_status = YY_BUFFER_NEW;
9816 if ( b == YY_CURRENT_BUFFER )
9817 surf_parse__load_buffer_state( );
9820 /** Pushes the new state onto the stack. The new state becomes
9821 * the current state. This function will allocate the stack
9823 * @param new_buffer The new state.
9826 void surf_parse_push_buffer_state (YY_BUFFER_STATE new_buffer )
9828 if (new_buffer == NULL)
9831 surf_parse_ensure_buffer_stack();
9833 /* This block is copied from surf_parse__switch_to_buffer. */
9834 if ( YY_CURRENT_BUFFER )
9836 /* Flush out information for old buffer. */
9837 *(yy_c_buf_p) = (yy_hold_char);
9838 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
9839 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
9842 /* Only push if top exists. Otherwise, replace top. */
9843 if (YY_CURRENT_BUFFER)
9844 (yy_buffer_stack_top)++;
9845 YY_CURRENT_BUFFER_LVALUE = new_buffer;
9847 /* copied from surf_parse__switch_to_buffer. */
9848 surf_parse__load_buffer_state( );
9849 (yy_did_buffer_switch_on_eof) = 1;
9852 /** Removes and deletes the top of the stack, if present.
9853 * The next element becomes the new top.
9856 void surf_parse_pop_buffer_state (void)
9858 if (!YY_CURRENT_BUFFER)
9861 surf_parse__delete_buffer(YY_CURRENT_BUFFER );
9862 YY_CURRENT_BUFFER_LVALUE = NULL;
9863 if ((yy_buffer_stack_top) > 0)
9864 --(yy_buffer_stack_top);
9866 if (YY_CURRENT_BUFFER) {
9867 surf_parse__load_buffer_state( );
9868 (yy_did_buffer_switch_on_eof) = 1;
9872 /* Allocates the stack if it does not exist.
9873 * Guarantees space for at least one push.
9875 static void surf_parse_ensure_buffer_stack (void)
9877 yy_size_t num_to_alloc;
9879 if (!(yy_buffer_stack)) {
9881 /* First allocation is just for 2 elements, since we don't know if this
9882 * scanner will even need a stack. We use 2 instead of 1 to avoid an
9883 * immediate realloc on the next call.
9886 (yy_buffer_stack) = (struct yy_buffer_state**)surf_parse_alloc
9887 (num_to_alloc * sizeof(struct yy_buffer_state*)
9889 if ( ! (yy_buffer_stack) )
9890 YY_FATAL_ERROR( "out of dynamic memory in surf_parse_ensure_buffer_stack()" );
9892 memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
9894 (yy_buffer_stack_max) = num_to_alloc;
9895 (yy_buffer_stack_top) = 0;
9899 if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
9901 /* Increase the buffer to prepare for a possible push. */
9902 int grow_size = 8 /* arbitrary grow size */;
9904 num_to_alloc = (yy_buffer_stack_max) + grow_size;
9905 (yy_buffer_stack) = (struct yy_buffer_state**)surf_parse_realloc
9907 num_to_alloc * sizeof(struct yy_buffer_state*)
9909 if ( ! (yy_buffer_stack) )
9910 YY_FATAL_ERROR( "out of dynamic memory in surf_parse_ensure_buffer_stack()" );
9912 /* zero only the new slots.*/
9913 memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
9914 (yy_buffer_stack_max) = num_to_alloc;
9918 /** Setup the input buffer state to scan directly from a user-specified character buffer.
9919 * @param base the character buffer
9920 * @param size the size in bytes of the character buffer
9922 * @return the newly allocated buffer state object.
9924 YY_BUFFER_STATE surf_parse__scan_buffer (char * base, yy_size_t size )
9929 base[size-2] != YY_END_OF_BUFFER_CHAR ||
9930 base[size-1] != YY_END_OF_BUFFER_CHAR )
9931 /* They forgot to leave room for the EOB's. */
9934 b = (YY_BUFFER_STATE) surf_parse_alloc(sizeof( struct yy_buffer_state ) );
9936 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__scan_buffer()" );
9938 b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
9939 b->yy_buf_pos = b->yy_ch_buf = base;
9940 b->yy_is_our_buffer = 0;
9941 b->yy_input_file = 0;
9942 b->yy_n_chars = b->yy_buf_size;
9943 b->yy_is_interactive = 0;
9945 b->yy_fill_buffer = 0;
9946 b->yy_buffer_status = YY_BUFFER_NEW;
9948 surf_parse__switch_to_buffer(b );
9953 /** Setup the input buffer state to scan a string. The next call to surf_parse_lex() will
9954 * scan from a @e copy of @a str.
9955 * @param yystr a NUL-terminated string to scan
9957 * @return the newly allocated buffer state object.
9958 * @note If you want to scan bytes that may contain NUL values, then use
9959 * surf_parse__scan_bytes() instead.
9961 YY_BUFFER_STATE surf_parse__scan_string (yyconst char * yystr )
9964 return surf_parse__scan_bytes(yystr,strlen(yystr) );
9967 /** Setup the input buffer state to scan the given bytes. The next call to surf_parse_lex() will
9968 * scan from a @e copy of @a bytes.
9969 * @param yybytes the byte buffer to scan
9970 * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
9972 * @return the newly allocated buffer state object.
9974 YY_BUFFER_STATE surf_parse__scan_bytes (yyconst char * yybytes, yy_size_t _yybytes_len )
9981 /* Get memory for full buffer, including space for trailing EOB's. */
9982 n = _yybytes_len + 2;
9983 buf = (char *) surf_parse_alloc(n );
9985 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__scan_bytes()" );
9987 for ( i = 0; i < _yybytes_len; ++i )
9988 buf[i] = yybytes[i];
9990 buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
9992 b = surf_parse__scan_buffer(buf,n );
9994 YY_FATAL_ERROR( "bad buffer in surf_parse__scan_bytes()" );
9996 /* It's okay to grow etc. this buffer, and we should throw it
9997 * away when we're done.
9999 b->yy_is_our_buffer = 1;
10004 static void yy_push_state (int new_state )
10006 if ( (yy_start_stack_ptr) >= (yy_start_stack_depth) )
10008 yy_size_t new_size;
10010 (yy_start_stack_depth) += YY_START_STACK_INCR;
10011 new_size = (yy_start_stack_depth) * sizeof( int );
10013 if ( ! (yy_start_stack) )
10014 (yy_start_stack) = (int *) surf_parse_alloc(new_size );
10017 (yy_start_stack) = (int *) surf_parse_realloc((void *) (yy_start_stack),new_size );
10019 if ( ! (yy_start_stack) )
10020 YY_FATAL_ERROR( "out of memory expanding start-condition stack" );
10023 (yy_start_stack)[(yy_start_stack_ptr)++] = YY_START;
10028 static void yy_pop_state (void)
10030 if ( --(yy_start_stack_ptr) < 0 )
10031 YY_FATAL_ERROR( "start-condition stack underflow" );
10033 BEGIN((yy_start_stack)[(yy_start_stack_ptr)]);
10036 #ifndef YY_EXIT_FAILURE
10037 #define YY_EXIT_FAILURE 2
10040 static void yy_fatal_error (yyconst char* msg )
10042 (void) fprintf( stderr, "%s\n", msg );
10043 exit( YY_EXIT_FAILURE );
10046 /* Redefine yyless() so it works in section 3 code. */
10049 #define yyless(n) \
10052 /* Undo effects of setting up surf_parse_text. */ \
10053 int yyless_macro_arg = (n); \
10054 YY_LESS_LINENO(yyless_macro_arg);\
10055 surf_parse_text[surf_parse_leng] = (yy_hold_char); \
10056 (yy_c_buf_p) = surf_parse_text + yyless_macro_arg; \
10057 (yy_hold_char) = *(yy_c_buf_p); \
10058 *(yy_c_buf_p) = '\0'; \
10059 surf_parse_leng = yyless_macro_arg; \
10063 /* Accessor methods (get/set functions) to struct members. */
10065 /** Get the current line number.
10068 int surf_parse_get_lineno (void)
10071 return surf_parse_lineno;
10074 /** Get the input stream.
10077 FILE *surf_parse_get_in (void)
10079 return surf_parse_in;
10082 /** Get the output stream.
10085 FILE *surf_parse_get_out (void)
10087 return surf_parse_out;
10090 /** Get the length of the current token.
10093 yy_size_t surf_parse_get_leng (void)
10095 return surf_parse_leng;
10098 /** Get the current token.
10102 char *surf_parse_get_text (void)
10104 return surf_parse_text;
10107 /** Set the current line number.
10108 * @param line_number
10111 void surf_parse_set_lineno (int line_number )
10114 surf_parse_lineno = line_number;
10117 /** Set the input stream. This does not discard the current
10119 * @param in_str A readable stream.
10121 * @see surf_parse__switch_to_buffer
10123 void surf_parse_set_in (FILE * in_str )
10125 surf_parse_in = in_str ;
10128 void surf_parse_set_out (FILE * out_str )
10130 surf_parse_out = out_str ;
10133 int surf_parse_get_debug (void)
10135 return surf_parse__flex_debug;
10138 void surf_parse_set_debug (int bdebug )
10140 surf_parse__flex_debug = bdebug ;
10143 static int yy_init_globals (void)
10145 /* Initialization is the same as for the non-reentrant scanner.
10146 * This function is called from surf_parse_lex_destroy(), so don't allocate here.
10149 /* We do not touch surf_parse_lineno unless the option is enabled. */
10150 surf_parse_lineno = 1;
10152 (yy_buffer_stack) = 0;
10153 (yy_buffer_stack_top) = 0;
10154 (yy_buffer_stack_max) = 0;
10155 (yy_c_buf_p) = (char *) 0;
10159 (yy_start_stack_ptr) = 0;
10160 (yy_start_stack_depth) = 0;
10161 (yy_start_stack) = NULL;
10163 /* Defined in main.c */
10165 surf_parse_in = stdin;
10166 surf_parse_out = stdout;
10168 surf_parse_in = (FILE *) 0;
10169 surf_parse_out = (FILE *) 0;
10172 /* For future reference: Set errno on error, since we are called by
10173 * surf_parse_lex_init()
10178 /* surf_parse_lex_destroy is for both reentrant and non-reentrant scanners. */
10179 int surf_parse_lex_destroy (void)
10182 /* Pop the buffer stack, destroying each element. */
10183 while(YY_CURRENT_BUFFER){
10184 surf_parse__delete_buffer(YY_CURRENT_BUFFER );
10185 YY_CURRENT_BUFFER_LVALUE = NULL;
10186 surf_parse_pop_buffer_state();
10189 /* Destroy the stack itself. */
10190 surf_parse_free((yy_buffer_stack) );
10191 (yy_buffer_stack) = NULL;
10193 /* Destroy the start condition stack. */
10194 surf_parse_free((yy_start_stack) );
10195 (yy_start_stack) = NULL;
10197 /* Reset the globals. This is important in a non-reentrant scanner so the next time
10198 * surf_parse_lex() is called, initialization will occur. */
10199 yy_init_globals( );
10205 * Internal utility routines.
10209 static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
10212 for ( i = 0; i < n; ++i )
10217 #ifdef YY_NEED_STRLEN
10218 static int yy_flex_strlen (yyconst char * s )
10221 for ( n = 0; s[n]; ++n )
10228 void *surf_parse_alloc (yy_size_t size )
10230 return (void *) malloc( size );
10233 void *surf_parse_realloc (void * ptr, yy_size_t size )
10235 /* The cast to (char *) in the following accommodates both
10236 * implementations that use char* generic pointers, and those
10237 * that use void* generic pointers. It works with the latter
10238 * because both ANSI C and C++ allow castless assignment from
10239 * any pointer type to void*, and deal with argument conversions
10240 * as though doing an assignment.
10242 return (void *) realloc( (char *) ptr, size );
10245 void surf_parse_free (void * ptr )
10247 free( (char *) ptr ); /* see surf_parse_realloc() for (char *) cast */
10250 #define YYTABLES_NAME "yytables"
10252 /* Element context stack lookup. */
10253 int surfxml_element_context(int i)
10255 return (0<i && i<yy_start_stack_depth
10256 ? yy_start_stack[yy_start_stack_ptr - i]
10261 void print_yy_stack(char* fmt, ...)
10263 int i = 0; va_list ap; va_start(ap, fmt);
10264 vfprintf(stderr, fmt, ap);
10265 if (surfxml_statenames) {
10266 for (i=1; i<yy_start_stack_ptr; i++) {
10267 fprintf(stderr, "%s/", surfxml_statenames[yy_start_stack[i] ]);
10269 fprintf(stderr,"%s\n", surfxml_statenames[YY_START]);
10274 void print_surfxml_bufferstack()
10277 fputs("Buffer: ", stderr);
10278 for (i = 0; i < blimit; i++) {
10279 if ( surfxml_bufferstack[i] == '\377' ) break;
10280 putc(surfxml_bufferstack[i], stderr);
10282 putc('\n', stderr);
10285 static void debug_enter(int state, const char* statename) {
10286 yy_push_state(state);
10287 if (surf_parse__flex_debug) {
10288 print_yy_stack("--ENTER(%s) : ",statename);
10289 print_surfxml_bufferstack();
10293 static void debug_leave(void) {
10294 if (surf_parse__flex_debug) {
10295 print_yy_stack("--LEAVE : ");
10296 print_surfxml_bufferstack();
10301 static void debug_set(int state, const char* statename) {
10303 if (surf_parse__flex_debug) print_yy_stack("--SET(%s) : ",statename);
10307 static void cleanup(void)
10309 if (surfxml_statenames) {
10310 free(surfxml_statenames);
10311 surfxml_statenames = NULL;
10313 free(surfxml_bufferstack);
10314 surfxml_bufferstack = NULL;
10320 static int fail(const char* fmt, ...)
10322 int chars_left, used;
10323 va_list ap; va_start(ap, fmt);
10324 #ifdef FLEXML_yylineno
10325 used = sprintf(flexml_err_msg,
10326 "Invalid XML (XML input line %d, state %d): ",
10327 surf_parse_lineno, YY_START);
10329 used = sprintf(flexml_err_msg,
10330 "Invalid XML (state %d): ",
10333 chars_left = flexml_max_err_msg_size - used - 1;
10334 vsnprintf(flexml_err_msg + used, chars_left, fmt, ap);
10337 #ifndef FLEXML_quiet_parser
10338 /* print directly to sdterr */
10339 fprintf(stderr, "%s\n", flexml_err_msg);
10340 flexml_err_msg[0] = '\0';