2 #line 3 "src/surf/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 35
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 extern int surf_parse_leng;
185 extern FILE *surf_parse_in, *surf_parse_out;
187 #define EOB_ACT_CONTINUE_SCAN 0
188 #define EOB_ACT_END_OF_FILE 1
189 #define EOB_ACT_LAST_MATCH 2
191 /* Note: We specifically omit the test for yy_rule_can_match_eol because it requires
192 * access to the local variable yy_act. Since yyless() is a macro, it would break
193 * existing scanners that call yyless() from OUTSIDE surf_parse_lex.
194 * One obvious solution it to make yy_act a global. I tried that, and saw
195 * a 5% performance hit in a non-surf_parse_lineno scanner, because yy_act is
196 * normally declared as a register variable-- so it is not worth it.
198 #define YY_LESS_LINENO(n) \
201 for ( yyl = n; yyl < surf_parse_leng; ++yyl )\
202 if ( surf_parse_text[yyl] == '\n' )\
203 --surf_parse_lineno;\
206 /* Return all but the first "n" matched characters back to the input stream. */
210 /* Undo effects of setting up surf_parse_text. */ \
211 int yyless_macro_arg = (n); \
212 YY_LESS_LINENO(yyless_macro_arg);\
213 *yy_cp = (yy_hold_char); \
214 YY_RESTORE_YY_MORE_OFFSET \
215 (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
216 YY_DO_BEFORE_ACTION; /* set up surf_parse_text again */ \
220 #define unput(c) yyunput( c, (yytext_ptr) )
222 #ifndef YY_TYPEDEF_YY_SIZE_T
223 #define YY_TYPEDEF_YY_SIZE_T
224 typedef size_t yy_size_t;
227 #ifndef YY_STRUCT_YY_BUFFER_STATE
228 #define YY_STRUCT_YY_BUFFER_STATE
229 struct yy_buffer_state
233 char *yy_ch_buf; /* input buffer */
234 char *yy_buf_pos; /* current position in input buffer */
236 /* Size of input buffer in bytes, not including room for EOB
239 yy_size_t yy_buf_size;
241 /* Number of characters read into yy_ch_buf, not including EOB
246 /* Whether we "own" the buffer - i.e., we know we created it,
247 * and can realloc() it to grow it, and should free() it to
250 int yy_is_our_buffer;
252 /* Whether this is an "interactive" input source; if so, and
253 * if we're using stdio for input, then we want to use getc()
254 * instead of fread(), to make sure we stop fetching input after
257 int yy_is_interactive;
259 /* Whether we're considered to be at the beginning of a line.
260 * If so, '^' rules will be active on the next match, otherwise
265 int yy_bs_lineno; /**< The line count. */
266 int yy_bs_column; /**< The column count. */
268 /* Whether to try to fill the input buffer when we reach the
273 int yy_buffer_status;
275 #define YY_BUFFER_NEW 0
276 #define YY_BUFFER_NORMAL 1
277 /* When an EOF's been seen but there's still some text to process
278 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
279 * shouldn't try reading from the input source any more. We might
280 * still have a bunch of tokens to match, though, because of
281 * possible backing-up.
283 * When we actually see the EOF, we change the status to "new"
284 * (via surf_parse_restart()), so that the user can continue scanning by
285 * just pointing surf_parse_in at a new input file.
287 #define YY_BUFFER_EOF_PENDING 2
290 #endif /* !YY_STRUCT_YY_BUFFER_STATE */
292 /* Stack of input buffers. */
293 static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
294 static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
295 static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */
297 /* We provide macros for accessing buffer states in case in the
298 * future we want to put the buffer states in a more general
301 * Returns the top of the stack, or NULL.
303 #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
304 ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
307 /* Same as previous macro, but useful when we know that the buffer stack is not
308 * NULL or when we need an lvalue. For internal use only.
310 #define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
312 /* yy_hold_char holds the character lost when surf_parse_text is formed. */
313 static char yy_hold_char;
314 static int yy_n_chars; /* number of characters read into yy_ch_buf */
317 /* Points to current character in buffer. */
318 static char *yy_c_buf_p = (char *) 0;
319 static int yy_init = 0; /* whether we need to initialize */
320 static int yy_start = 0; /* start state number */
322 /* Flag which is used to allow surf_parse_wrap()'s to do buffer switches
323 * instead of setting up a fresh surf_parse_in. A bit of a hack ...
325 static int yy_did_buffer_switch_on_eof;
327 void surf_parse_restart (FILE *input_file );
328 void surf_parse__switch_to_buffer (YY_BUFFER_STATE new_buffer );
329 YY_BUFFER_STATE surf_parse__create_buffer (FILE *file,int size );
330 void surf_parse__delete_buffer (YY_BUFFER_STATE b );
331 void surf_parse__flush_buffer (YY_BUFFER_STATE b );
332 void surf_parse_push_buffer_state (YY_BUFFER_STATE new_buffer );
333 void surf_parse_pop_buffer_state (void );
335 static void surf_parse_ensure_buffer_stack (void );
336 static void surf_parse__load_buffer_state (void );
337 static void surf_parse__init_buffer (YY_BUFFER_STATE b,FILE *file );
339 #define YY_FLUSH_BUFFER surf_parse__flush_buffer(YY_CURRENT_BUFFER )
341 YY_BUFFER_STATE surf_parse__scan_buffer (char *base,yy_size_t size );
342 YY_BUFFER_STATE surf_parse__scan_string (yyconst char *yy_str );
343 YY_BUFFER_STATE surf_parse__scan_bytes (yyconst char *bytes,int len );
345 void *surf_parse_alloc (yy_size_t );
346 void *surf_parse_realloc (void *,yy_size_t );
347 void surf_parse_free (void * );
349 #define yy_new_buffer surf_parse__create_buffer
351 #define yy_set_interactive(is_interactive) \
353 if ( ! YY_CURRENT_BUFFER ){ \
354 surf_parse_ensure_buffer_stack (); \
355 YY_CURRENT_BUFFER_LVALUE = \
356 surf_parse__create_buffer(surf_parse_in,YY_BUF_SIZE ); \
358 YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
361 #define yy_set_bol(at_bol) \
363 if ( ! YY_CURRENT_BUFFER ){\
364 surf_parse_ensure_buffer_stack (); \
365 YY_CURRENT_BUFFER_LVALUE = \
366 surf_parse__create_buffer(surf_parse_in,YY_BUF_SIZE ); \
368 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
371 #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
373 /* Begin user sect3 */
375 #define surf_parse_wrap(n) 1
376 #define YY_SKIP_YYWRAP
378 typedef unsigned char YY_CHAR;
380 FILE *surf_parse_in = (FILE *) 0, *surf_parse_out = (FILE *) 0;
382 typedef int yy_state_type;
384 extern int surf_parse_lineno;
386 int surf_parse_lineno = 1;
388 extern char *surf_parse_text;
389 #define yytext_ptr surf_parse_text
391 static yy_state_type yy_get_previous_state (void );
392 static yy_state_type yy_try_NUL_trans (yy_state_type current_state );
393 static int yy_get_next_buffer (void );
394 static void yy_fatal_error (yyconst char msg[] );
396 /* Done after the current pattern has been matched and before the
397 * corresponding action - sets up surf_parse_text.
399 #define YY_DO_BEFORE_ACTION \
400 (yytext_ptr) = yy_bp; \
401 surf_parse_leng = (size_t) (yy_cp - yy_bp); \
402 (yy_hold_char) = *yy_cp; \
404 (yy_c_buf_p) = yy_cp;
406 #define YY_NUM_RULES 459
407 #define YY_END_OF_BUFFER 460
408 /* This struct is not used in this scanner,
409 but its presence is necessary. */
412 flex_int32_t yy_verify;
415 static yyconst flex_int16_t yy_accept[2702] =
417 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
418 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
419 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
420 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
421 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
422 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
423 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
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,
428 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
429 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
430 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
431 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
432 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
433 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
434 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
435 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
436 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
437 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
439 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
440 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
441 0, 0, 0, 0, 0, 0, 460, 458, 15, 10,
442 10, 15, 15, 438, 10, 438, 5, 6, 5, 8,
443 9, 8, 454, 446, 447, 455, 452, 455, 453, 457,
444 446, 447, 457, 458, 22, 10, 22, 22, 22, 20,
445 22, 26, 10, 26, 26, 458, 26, 458, 458, 26,
446 33, 10, 33, 33, 33, 31, 33, 37, 10, 37,
447 37, 48, 10, 48, 48, 48, 46, 48, 48, 48,
448 455, 454, 78, 10, 78, 78, 78, 76, 78, 78,
450 78, 78, 78, 82, 10, 82, 458, 82, 101, 10,
451 101, 101, 101, 99, 101, 101, 101, 105, 10, 105,
452 114, 10, 114, 114, 114, 112, 114, 114, 118, 10,
453 118, 118, 458, 118, 118, 458, 458, 118, 458, 118,
454 458, 118, 129, 10, 129, 129, 129, 127, 129, 129,
455 129, 133, 10, 133, 133, 142, 10, 142, 142, 142,
456 140, 142, 142, 146, 10, 146, 146, 155, 10, 155,
457 155, 155, 153, 155, 155, 159, 10, 159, 168, 10,
458 168, 168, 168, 166, 168, 168, 172, 10, 172, 195,
459 10, 195, 195, 195, 193, 195, 195, 195, 195, 195,
461 199, 10, 199, 458, 199, 240, 10, 240, 240, 240,
462 238, 240, 240, 240, 240, 240, 240, 240, 240, 244,
463 10, 244, 265, 10, 265, 265, 265, 263, 265, 265,
464 265, 265, 265, 265, 265, 269, 10, 269, 278, 10,
465 278, 278, 278, 276, 278, 278, 282, 10, 282, 309,
466 10, 309, 309, 309, 307, 309, 309, 309, 309, 313,
467 10, 313, 313, 326, 10, 326, 326, 326, 324, 326,
468 326, 330, 10, 330, 458, 330, 347, 10, 347, 347,
469 347, 345, 347, 347, 347, 351, 10, 351, 351, 364,
470 10, 364, 364, 364, 362, 364, 364, 368, 10, 368,
472 381, 10, 381, 381, 381, 379, 381, 381, 381, 385,
473 10, 385, 385, 398, 10, 398, 398, 398, 396, 398,
474 398, 398, 398, 402, 10, 402, 458, 402, 409, 10,
475 409, 409, 409, 407, 409, 413, 10, 413, 420, 10,
476 420, 420, 420, 418, 420, 424, 10, 424, 424, 433,
477 10, 433, 433, 433, 431, 433, 433, 437, 10, 437,
478 10, 0, 2, 2, 0, 4, 7, 449, 448, 0,
479 0, 0, 0, 0, 0, 0, 21, 23, 23, 0,
480 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
481 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
483 0, 0, 32, 34, 34, 0, 47, 49, 49, 49,
484 49, 0, 0, 0, 77, 79, 79, 79, 79, 79,
485 79, 79, 79, 79, 0, 0, 100, 102, 102, 102,
486 102, 0, 113, 115, 115, 115, 0, 0, 0, 0,
487 0, 0, 0, 0, 0, 0, 128, 130, 130, 130,
488 130, 0, 141, 143, 143, 143, 0, 154, 156, 156,
489 156, 0, 167, 169, 169, 169, 0, 194, 196, 196,
490 196, 196, 196, 196, 0, 0, 239, 241, 241, 241,
491 241, 241, 241, 241, 241, 241, 241, 241, 241, 241,
492 241, 0, 264, 266, 266, 266, 266, 266, 266, 266,
494 266, 0, 277, 279, 279, 279, 0, 308, 310, 310,
495 310, 310, 310, 310, 0, 325, 327, 327, 327, 327,
496 0, 0, 346, 348, 348, 348, 348, 348, 0, 363,
497 365, 365, 365, 0, 380, 382, 382, 382, 382, 0,
498 397, 399, 399, 399, 399, 399, 0, 0, 408, 410,
499 410, 0, 419, 421, 421, 0, 432, 434, 434, 434,
500 0, 0, 0, 0, 0, 3, 0, 0, 0, 0,
501 0, 0, 0, 456, 0, 23, 0, 0, 107, 0,
502 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
503 0, 0, 0, 0, 0, 0, 0, 106, 0, 0,
505 0, 0, 0, 34, 0, 0, 49, 0, 0, 49,
506 0, 0, 0, 451, 79, 0, 0, 79, 79, 79,
507 79, 79, 79, 0, 0, 0, 102, 102, 102, 0,
508 0, 0, 0, 115, 0, 0, 107, 0, 0, 0,
509 0, 0, 106, 0, 0, 130, 0, 0, 130, 0,
510 0, 0, 0, 143, 0, 0, 0, 0, 156, 0,
511 0, 169, 169, 0, 0, 196, 196, 196, 0, 0,
512 196, 196, 0, 0, 0, 0, 241, 241, 0, 0,
513 241, 0, 0, 241, 241, 241, 241, 241, 241, 241,
514 241, 0, 0, 266, 266, 266, 0, 0, 266, 266,
516 266, 0, 0, 279, 0, 0, 0, 0, 310, 0,
517 0, 310, 310, 310, 0, 0, 327, 327, 327, 0,
518 0, 0, 348, 348, 348, 348, 0, 0, 365, 0,
519 0, 0, 0, 382, 382, 382, 0, 0, 399, 399,
520 399, 399, 0, 0, 0, 410, 0, 0, 0, 0,
521 0, 0, 0, 0, 434, 0, 0, 0, 14, 1,
522 0, 0, 444, 0, 0, 0, 441, 440, 0, 0,
523 23, 0, 0, 25, 0, 107, 0, 0, 0, 0,
524 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
525 0, 0, 0, 0, 0, 106, 0, 0, 0, 0,
527 0, 34, 0, 0, 36, 0, 49, 0, 41, 40,
528 49, 0, 0, 0, 51, 0, 79, 0, 55, 54,
529 0, 0, 79, 0, 0, 79, 79, 79, 0, 0,
530 81, 0, 0, 102, 102, 102, 0, 0, 104, 0,
531 0, 109, 108, 115, 0, 0, 117, 0, 0, 0,
532 0, 0, 0, 0, 0, 0, 130, 0, 122, 121,
533 130, 0, 0, 132, 0, 0, 137, 136, 143, 0,
534 0, 145, 0, 0, 150, 149, 156, 0, 0, 158,
535 0, 169, 169, 0, 0, 171, 0, 196, 196, 196,
536 0, 176, 175, 196, 196, 0, 0, 198, 0, 0,
538 0, 241, 241, 241, 241, 0, 215, 214, 241, 0,
539 203, 202, 0, 0, 241, 241, 241, 241, 241, 241,
540 241, 0, 0, 243, 0, 266, 266, 266, 266, 0,
541 248, 247, 0, 0, 266, 266, 0, 0, 268, 0,
542 279, 0, 273, 272, 0, 0, 281, 0, 310, 0,
543 286, 285, 310, 310, 310, 0, 0, 312, 0, 0,
544 0, 0, 0, 327, 0, 0, 329, 0, 0, 0,
545 0, 348, 348, 0, 0, 348, 0, 0, 350, 0,
546 365, 0, 355, 354, 0, 0, 367, 0, 0, 0,
547 382, 382, 0, 0, 0, 0, 384, 0, 399, 399,
549 399, 399, 0, 0, 401, 0, 0, 410, 0, 0,
550 412, 0, 0, 417, 416, 0, 0, 423, 0, 0,
551 428, 427, 434, 0, 0, 436, 0, 0, 0, 445,
552 439, 0, 0, 0, 23, 0, 0, 0, 0, 0,
553 0, 173, 0, 283, 0, 0, 246, 0, 0, 425,
554 0, 0, 0, 0, 0, 0, 0, 0, 245, 0,
555 0, 0, 0, 0, 0, 0, 49, 0, 0, 79,
556 0, 59, 58, 0, 0, 0, 57, 56, 79, 0,
557 0, 79, 0, 426, 102, 0, 0, 102, 0, 115,
558 0, 116, 0, 0, 174, 284, 0, 0, 0, 0,
560 130, 130, 0, 143, 0, 0, 0, 0, 0, 0,
561 169, 0, 196, 196, 0, 0, 196, 196, 0, 0,
562 0, 241, 241, 241, 241, 0, 0, 0, 217, 216,
563 241, 241, 241, 241, 241, 241, 241, 0, 266, 266,
564 266, 266, 0, 256, 255, 266, 266, 0, 279, 0,
565 310, 310, 310, 310, 0, 0, 319, 318, 0, 317,
566 316, 327, 0, 283, 0, 336, 335, 348, 348, 0,
567 334, 333, 348, 0, 365, 0, 0, 374, 373, 382,
568 382, 0, 372, 371, 0, 399, 0, 0, 399, 399,
569 0, 0, 410, 0, 0, 434, 0, 0, 0, 0,
571 12, 0, 442, 443, 0, 23, 0, 0, 0, 0,
572 0, 0, 173, 0, 283, 0, 147, 0, 246, 0,
573 0, 425, 0, 314, 0, 39, 0, 0, 0, 0,
574 245, 0, 38, 0, 30, 29, 0, 0, 43, 42,
575 49, 0, 0, 79, 0, 61, 60, 79, 0, 65,
576 64, 79, 0, 426, 102, 0, 0, 0, 0, 0,
577 0, 115, 0, 0, 174, 284, 315, 0, 315, 314,
578 130, 0, 0, 0, 143, 0, 0, 152, 151, 0,
579 0, 165, 164, 169, 0, 196, 196, 0, 180, 179,
580 0, 0, 0, 0, 196, 0, 148, 0, 241, 0,
582 0, 241, 241, 0, 213, 212, 0, 0, 241, 241,
583 241, 241, 241, 241, 0, 266, 0, 0, 266, 266,
584 0, 0, 266, 0, 279, 0, 310, 310, 310, 0,
585 0, 310, 0, 327, 0, 0, 348, 348, 348, 0,
586 365, 0, 382, 382, 0, 399, 0, 389, 388, 399,
587 399, 0, 0, 0, 0, 0, 0, 0, 0, 0,
588 0, 0, 0, 11, 0, 23, 0, 0, 0, 0,
589 0, 415, 0, 0, 147, 0, 0, 0, 53, 314,
590 270, 0, 39, 0, 414, 52, 0, 0, 0, 38,
591 0, 0, 49, 0, 0, 79, 79, 79, 0, 102,
593 0, 0, 0, 0, 0, 0, 0, 0, 0, 96,
594 95, 0, 115, 0, 0, 315, 271, 0, 130, 0,
595 124, 123, 0, 0, 0, 0, 0, 0, 0, 0,
596 196, 196, 0, 178, 177, 0, 0, 0, 196, 0,
597 197, 148, 0, 241, 0, 225, 224, 0, 0, 241,
598 0, 211, 210, 0, 0, 241, 241, 241, 241, 0,
599 0, 0, 266, 0, 252, 251, 0, 0, 266, 0,
600 250, 249, 266, 0, 267, 279, 0, 310, 310, 310,
601 0, 0, 0, 310, 0, 311, 327, 0, 0, 0,
602 0, 0, 0, 348, 0, 365, 0, 0, 0, 0,
604 0, 0, 399, 399, 399, 0, 0, 0, 406, 405,
605 0, 0, 0, 430, 429, 0, 435, 0, 0, 0,
606 0, 0, 0, 0, 331, 0, 0, 201, 415, 28,
607 0, 0, 0, 387, 53, 270, 134, 0, 414, 52,
608 200, 27, 386, 0, 0, 49, 0, 0, 50, 79,
609 0, 0, 79, 0, 0, 0, 0, 0, 0, 0,
610 0, 0, 0, 0, 0, 0, 0, 0, 0, 332,
611 0, 271, 135, 0, 0, 0, 0, 139, 138, 0,
612 0, 157, 0, 163, 162, 0, 196, 196, 0, 0,
613 196, 0, 241, 0, 227, 226, 241, 0, 205, 204,
615 0, 0, 241, 241, 241, 0, 207, 206, 0, 266,
616 0, 254, 253, 266, 266, 279, 0, 310, 0, 0,
617 310, 310, 0, 0, 310, 327, 0, 328, 0, 0,
618 340, 339, 0, 338, 337, 348, 0, 365, 0, 0,
619 378, 377, 0, 376, 375, 0, 399, 399, 399, 0,
620 0, 0, 0, 0, 0, 0, 17, 0, 19, 18,
621 0, 331, 403, 0, 201, 28, 352, 160, 16, 387,
622 134, 0, 0, 200, 27, 386, 0, 0, 49, 450,
623 79, 0, 67, 66, 79, 0, 80, 0, 98, 97,
624 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
626 0, 0, 111, 110, 332, 0, 135, 0, 0, 126,
627 125, 0, 0, 0, 196, 196, 0, 0, 0, 0,
628 196, 161, 241, 241, 0, 209, 208, 241, 241, 241,
629 0, 266, 266, 266, 279, 0, 280, 310, 0, 292,
630 291, 310, 310, 0, 0, 0, 0, 310, 327, 353,
631 348, 0, 365, 0, 0, 0, 0, 399, 399, 0,
632 404, 0, 0, 422, 0, 0, 0, 17, 0, 403,
633 0, 352, 160, 16, 0, 0, 0, 0, 35, 49,
634 0, 0, 79, 0, 0, 0, 0, 0, 0, 0,
635 0, 0, 0, 0, 0, 0, 0, 0, 144, 0,
637 196, 196, 0, 186, 0, 185, 196, 161, 241, 241,
638 0, 0, 241, 241, 0, 242, 266, 266, 266, 279,
639 0, 0, 310, 310, 310, 0, 296, 0, 295, 310,
640 327, 353, 348, 0, 349, 0, 0, 0, 0, 0,
641 391, 390, 0, 0, 399, 0, 400, 404, 0, 0,
642 0, 0, 0, 24, 0, 0, 0, 0, 49, 0,
643 0, 0, 79, 0, 0, 0, 0, 0, 0, 0,
644 0, 0, 0, 0, 0, 0, 0, 0, 170, 196,
645 196, 188, 187, 0, 0, 241, 241, 0, 237, 236,
646 241, 0, 0, 266, 266, 0, 0, 279, 0, 288,
648 287, 310, 310, 310, 298, 297, 0, 0, 327, 348,
649 0, 0, 0, 0, 366, 0, 0, 395, 394, 0,
650 0, 0, 411, 0, 0, 0, 369, 0, 0, 0,
651 0, 0, 0, 0, 0, 0, 0, 0, 79, 0,
652 0, 0, 0, 88, 0, 0, 0, 0, 87, 0,
653 370, 0, 0, 196, 0, 0, 0, 190, 189, 241,
654 241, 241, 0, 235, 234, 266, 0, 0, 0, 262,
655 261, 0, 0, 310, 310, 310, 0, 300, 299, 0,
656 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
657 0, 393, 392, 0, 0, 0, 369, 119, 0, 0,
659 0, 45, 44, 0, 0, 0, 0, 0, 0, 0,
660 0, 79, 0, 0, 0, 0, 0, 0, 0, 0,
661 0, 370, 120, 0, 0, 0, 196, 0, 192, 191,
662 241, 241, 241, 266, 0, 258, 257, 0, 275, 274,
663 310, 0, 0, 310, 0, 0, 0, 0, 0, 0,
664 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
665 0, 119, 84, 83, 0, 0, 0, 0, 0, 0,
666 0, 0, 0, 0, 0, 0, 94, 0, 0, 0,
667 93, 0, 0, 120, 0, 0, 182, 181, 196, 241,
668 241, 241, 266, 310, 0, 294, 293, 310, 0, 0,
670 0, 0, 0, 0, 0, 0, 0, 0, 357, 0,
671 0, 356, 0, 383, 0, 0, 0, 0, 0, 0,
672 84, 83, 0, 0, 0, 0, 0, 0, 0, 0,
673 0, 63, 62, 0, 0, 0, 0, 0, 0, 0,
674 0, 131, 196, 241, 241, 0, 0, 266, 0, 0,
675 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
676 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
677 0, 75, 71, 0, 0, 74, 70, 0, 92, 0,
678 0, 91, 0, 0, 0, 103, 196, 241, 241, 0,
679 0, 0, 266, 0, 290, 289, 0, 0, 0, 323,
681 0, 322, 0, 344, 0, 343, 0, 359, 361, 358,
682 360, 0, 0, 0, 12, 0, 12, 0, 0, 0,
683 0, 0, 86, 90, 85, 89, 196, 241, 241, 0,
684 0, 0, 0, 266, 0, 0, 0, 0, 321, 320,
685 342, 341, 0, 0, 0, 0, 0, 0, 0, 0,
686 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
687 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
688 0, 0, 0, 69, 0, 68, 0, 0, 184, 183,
689 0, 233, 232, 0, 0, 0, 0, 0, 0, 0,
690 0, 0, 0, 260, 259, 0, 0, 0, 0, 0,
692 0, 0, 11, 0, 0, 0, 0, 0, 0, 0,
693 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
694 0, 0, 73, 72, 0, 0, 0, 0, 0, 0,
695 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
696 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
697 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
698 0, 0, 0, 0, 219, 0, 0, 218, 0, 0,
699 302, 0, 0, 301, 0, 0, 0, 0, 0, 223,
700 0, 222, 0, 304, 0, 303, 0, 0, 0, 0,
701 0, 0, 0, 0, 0, 0, 0, 0, 229, 0,
703 228, 0, 0, 0, 0, 0, 0, 231, 230, 221,
704 220, 306, 305, 0, 0, 0, 0, 0, 0, 0,
705 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
706 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
707 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
708 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
709 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
710 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
711 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
712 0, 0, 0, 0, 0, 0, 0, 0, 0, 13,
717 static yyconst flex_int32_t yy_ec[256] =
719 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
720 1, 2, 4, 1, 1, 1, 1, 1, 1, 1,
721 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
722 1, 2, 5, 6, 7, 1, 1, 8, 9, 1,
723 1, 1, 1, 1, 10, 11, 12, 13, 13, 13,
724 13, 14, 13, 13, 13, 15, 13, 16, 17, 18,
725 19, 20, 21, 1, 22, 23, 24, 25, 26, 27,
726 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
727 31, 38, 39, 40, 41, 42, 43, 44, 45, 31,
728 46, 1, 47, 1, 48, 1, 49, 50, 51, 52,
730 53, 54, 55, 56, 57, 31, 58, 59, 60, 61,
731 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
732 72, 31, 1, 1, 1, 1, 1, 1, 1, 1,
733 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
734 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
735 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
736 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
737 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
738 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
739 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
741 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
742 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
743 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
744 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
745 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
749 static yyconst flex_int32_t yy_meta[73] =
751 1, 2, 2, 2, 1, 1, 1, 1, 1, 3,
752 3, 1, 4, 4, 4, 5, 6, 1, 7, 8,
753 1, 9, 9, 9, 9, 9, 9, 5, 5, 5,
754 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
755 5, 5, 5, 5, 5, 1, 1, 5, 9, 9,
756 9, 9, 9, 9, 5, 5, 5, 5, 5, 5,
757 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
761 static yyconst flex_int16_t yy_base[3077] =
763 0, 0, 0, 3, 6, 9, 12, 29, 16, 19,
764 14, 17, 33, 36, 49, 55, 45, 61, 66, 72,
765 108, 177, 75, 78, 83, 128, 131, 134, 138, 141,
766 158, 197, 200, 203, 207, 210, 227, 230, 233, 236,
767 239, 256, 274, 328, 294, 297, 300, 304, 307, 348,
768 351, 354, 382, 445, 359, 414, 508, 574, 405, 408,
769 412, 417, 465, 468, 471, 475, 640, 707, 478, 528,
770 774, 839, 531, 534, 538, 541, 594, 597, 600, 604,
771 607, 660, 663, 666, 670, 673, 727, 730, 733, 737,
772 740, 794, 797, 800, 804, 807, 859, 862, 865, 869,
774 872, 889, 907, 967, 927, 930, 933, 937, 987, 990,
775 993, 997, 1027, 1094, 1047, 1050, 1053, 1057, 1060, 1114,
776 1117, 1120, 1161, 1222, 1124, 1127, 1283, 1350, 1181, 1184,
777 1417, 1483, 1187, 1191, 1194, 1242, 1245, 1248, 1252, 1255,
778 1549, 0, 1303, 1306, 1621, 0, 1309, 1313, 1693, 1750,
779 1316, 1370, 1807, 1873, 1373, 1376, 1380, 1383, 1437, 1440,
780 1443, 1447, 1939, 2005, 1503, 1506, 1509, 1513, 1713, 1716,
781 1719, 1723, 2071, 2137, 1770, 1773, 1776, 1780, 1827, 1830,
782 1833, 1837, 2203, 2260, 1840, 1893, 2317, 2383, 1896, 1899,
783 1903, 1906, 1959, 1962, 1965, 1969, 2449, 2515, 1972, 2025,
785 2028, 2031, 2035, 2038, 2091, 2094, 2581, 2650, 2097, 2101,
786 2719, 2776, 2104, 2157, 2160, 2163, 2167, 2170, 2223, 2226,
787 2833, 2902, 2229, 2233, 0, 0, 7420, 9692, 9692, 95,
788 100, 29, 41, 9692, 103, 51, 9692, 9692, 7409, 9692,
789 9692, 7394, 9692, 7409, 7409, 498, 9692, 9692, 9692, 9692,
790 7403, 7403, 7358, 145, 9692, 161, 7380, 0, 146, 9692,
791 7346, 9692, 166, 2967, 88, 204, 205, 254, 7386, 7330,
792 9692, 169, 7372, 0, 153, 9692, 7334, 9692, 260, 7374,
793 31, 9692, 357, 7365, 0, 244, 9692, 7327, 7327, 7325,
794 359, 7330, 9692, 438, 7352, 0, 248, 9692, 7318, 7318,
796 441, 7316, 260, 9692, 567, 112, 181, 210, 9692, 624,
797 7344, 0, 360, 9692, 7304, 7301, 7292, 9692, 633, 422,
798 9692, 692, 7336, 0, 479, 9692, 7299, 7288, 9692, 697,
799 2226, 2234, 29, 35, 7327, 16, 135, 348, 2230, 207,
800 7332, 185, 9692, 700, 7323, 0, 480, 9692, 7280, 7285,
801 7274, 9692, 759, 361, 413, 9692, 764, 7315, 0, 482,
802 9692, 7278, 7257, 9692, 767, 425, 432, 9692, 824, 7308,
803 0, 543, 9692, 7271, 7273, 9692, 830, 546, 9692, 833,
804 7301, 0, 545, 9692, 7267, 7243, 9692, 895, 611, 9692,
805 898, 7294, 0, 609, 9692, 7240, 7246, 7255, 7240, 7234,
807 9692, 940, 818, 7288, 263, 9692, 957, 7275, 0, 612,
808 9692, 7225, 177, 7231, 7236, 7238, 314, 630, 615, 9692,
809 1000, 685, 9692, 1017, 7266, 0, 684, 9692, 6762, 6760,
810 6766, 6775, 6777, 6763, 6757, 9692, 1077, 752, 9692, 1083,
811 6803, 0, 751, 9692, 6760, 6768, 9692, 1086, 944, 9692,
812 1089, 6799, 0, 808, 9692, 6768, 6757, 6759, 4, 9692,
813 1144, 512, 527, 9692, 1150, 6786, 0, 874, 9692, 6732,
814 366, 9692, 1153, 1013, 6784, 6736, 9692, 1156, 6773, 0,
815 884, 9692, 6722, 6717, 432, 9692, 1211, 6773, 626, 9692,
816 1217, 6759, 0, 941, 9692, 6720, 6721, 9692, 1272, 945,
818 9692, 1278, 6751, 0, 942, 9692, 6704, 6698, 6695, 9692,
819 1333, 6747, 811, 9692, 1336, 6737, 0, 1001, 9692, 6688,
820 6692, 6692, 6680, 9692, 1339, 1204, 6730, 556, 9692, 1343,
821 6721, 0, 1002, 9692, 6690, 9692, 1400, 1005, 9692, 1403,
822 6714, 0, 1061, 9692, 6677, 9692, 1406, 356, 843, 9692,
823 1410, 6708, 0, 1062, 9692, 6674, 6672, 9692, 1450, 1455,
824 1467, 713, 6644, 9692, 6704, 6692, 9692, 9692, 9692, 1464,
825 686, 6630, 6629, 6626, 6673, 6626, 9692, 0, 6619, 6609,
826 6628, 6601, 6581, 688, 6590, 6589, 6588, 822, 1084, 1155,
827 6577, 6577, 755, 1215, 6598, 757, 6575, 1461, 6569, 950,
829 1480, 1483, 9692, 0, 6566, 6567, 9692, 0, 6561, 1726,
830 6543, 1268, 6540, 6580, 9692, 0, 6538, 1783, 6523, 6541,
831 6527, 6535, 6532, 6528, 6513, 1683, 9692, 0, 6524, 6514,
832 6512, 6475, 9692, 0, 2296, 6473, 6517, 6499, 6464, 6469,
833 6473, 1410, 6461, 6480, 1413, 1476, 9692, 0, 6457, 2337,
834 6464, 6447, 9692, 0, 2340, 6439, 6425, 9692, 0, 2343,
835 6430, 6428, 9692, 0, 6423, 6416, 6412, 9692, 0, 6422,
836 1071, 2346, 6399, 6406, 6398, 1144, 9692, 0, 6403, 6403,
837 2349, 6384, 2403, 6381, 6376, 6380, 6380, 6362, 6366, 6365,
838 6358, 6344, 9692, 0, 6345, 6343, 6326, 2406, 6319, 6314,
840 6334, 6318, 9692, 0, 6305, 2409, 6301, 9692, 0, 6303,
841 2412, 6291, 6307, 6302, 6291, 9692, 0, 6273, 6288, 6272,
842 6266, 6272, 9692, 0, 6256, 6273, 6265, 6253, 6282, 9692,
843 0, 6238, 2415, 6242, 9692, 0, 6233, 6232, 6225, 6221,
844 9692, 0, 6202, 6196, 6193, 6202, 6178, 6175, 9692, 0,
845 6171, 6180, 9692, 0, 2469, 6168, 9692, 0, 2472, 6159,
846 6153, 6188, 6191, 1114, 6138, 9692, 1846, 0, 6134, 6124,
847 6168, 6166, 6116, 9692, 6128, 6109, 2477, 2480, 1802, 6115,
848 6106, 6099, 6099, 6093, 6106, 6074, 6065, 6064, 6077, 6079,
849 6052, 6051, 6043, 6047, 6055, 6042, 6040, 1866, 6028, 6044,
851 6040, 6020, 6032, 6026, 2490, 2543, 6025, 2483, 1990, 6019,
852 6051, 2538, 2546, 9692, 6020, 2549, 2056, 2553, 6000, 2603,
853 6003, 6006, 6002, 2606, 2617, 5987, 5987, 5994, 5993, 2610,
854 2613, 2621, 2125, 5972, 2670, 2673, 1923, 5975, 5966, 5968,
855 5950, 5954, 1932, 5947, 5945, 5944, 2679, 2191, 5957, 2682,
856 2685, 2697, 2307, 5955, 2739, 2742, 2745, 2371, 5947, 2751,
857 2754, 5946, 5939, 2797, 2800, 5934, 5920, 5930, 2808, 2437,
858 5925, 5910, 2804, 2811, 5907, 5903, 5912, 1478, 2853, 2632,
859 5911, 2856, 2640, 2859, 5899, 5895, 5890, 5871, 5855, 5852,
860 5854, 2865, 2879, 5850, 1082, 5840, 2922, 2704, 2925, 5844,
862 5828, 2930, 2933, 5825, 2943, 2766, 2953, 2963, 5837, 2966,
863 2885, 5834, 5808, 5803, 2972, 2978, 2991, 3000, 3003, 3009,
864 3034, 5807, 3037, 3040, 3043, 3047, 3065, 3069, 5811, 3072,
865 3075, 3084, 3091, 3095, 3098, 3116, 3119, 3122, 5811, 5785,
866 5791, 5784, 3125, 3134, 5786, 5771, 3129, 3149, 3153, 3156,
867 3164, 3171, 3174, 3177, 5766, 3185, 3193, 5813, 9692, 9692,
868 1241, 5772, 9692, 5806, 5804, 5754, 9692, 9692, 5748, 5747,
869 5755, 3198, 3204, 9692, 3207, 1998, 5749, 5733, 5741, 5717,
870 5728, 5713, 5711, 5706, 5698, 5696, 5680, 5673, 831, 5687,
871 5663, 5664, 5676, 5672, 5657, 2064, 5641, 5645, 5637, 1007,
873 5627, 3213, 3217, 3226, 9692, 3232, 3236, 3239, 9692, 9692,
874 3247, 5646, 3257, 3260, 9692, 3265, 5599, 3269, 9692, 9692,
875 3284, 3287, 3296, 3302, 3314, 5612, 3308, 5603, 3322, 3326,
876 9692, 3329, 1330, 5598, 3332, 5593, 3335, 3341, 9692, 3350,
877 3354, 9692, 9692, 5588, 3362, 3365, 9692, 3369, 5577, 5586,
878 5554, 5562, 5551, 5548, 5538, 5537, 5540, 3372, 9692, 9692,
879 5532, 3384, 3389, 9692, 3392, 3399, 9692, 9692, 5557, 3411,
880 3414, 9692, 3417, 3420, 9692, 9692, 3436, 3439, 3442, 9692,
881 3445, 3448, 3454, 3466, 3472, 9692, 3478, 5523, 5528, 3485,
882 3491, 9692, 9692, 5509, 5519, 3499, 3503, 9692, 3506, 5472,
884 5462, 5464, 5442, 5461, 5446, 3512, 9692, 9692, 3525, 3528,
885 9692, 9692, 3536, 3544, 5436, 5436, 5441, 5437, 5432, 5434,
886 5428, 3539, 3554, 9692, 3558, 5424, 5421, 5412, 5427, 3561,
887 9692, 9692, 3573, 3577, 5412, 5402, 3585, 3591, 9692, 3594,
888 5396, 3597, 9692, 9692, 3605, 3613, 9692, 3616, 5377, 3625,
889 9692, 9692, 5380, 5375, 5377, 3619, 3638, 9692, 3641, 3646,
890 3650, 3660, 3664, 5372, 3672, 3678, 9692, 3683, 5366, 3686,
891 3691, 5356, 5348, 3704, 3707, 5359, 3715, 3718, 9692, 3722,
892 5359, 3725, 9692, 9692, 3737, 3741, 9692, 3744, 3750, 3756,
893 5343, 5342, 3764, 3768, 3776, 3782, 9692, 3786, 5332, 3789,
895 5346, 5326, 3795, 3807, 9692, 3810, 5323, 5337, 3814, 3817,
896 9692, 3820, 3829, 9692, 9692, 3839, 3842, 9692, 3848, 3851,
897 9692, 9692, 5335, 3861, 3867, 9692, 3874, 304, 3880, 9692,
898 9692, 5362, 5360, 5318, 5309, 3886, 5301, 5297, 5287, 5284,
899 5293, 2250, 5271, 2255, 5270, 5268, 2509, 5274, 5274, 2572,
900 5263, 5271, 5273, 5268, 5262, 5244, 5238, 5235, 2575, 5236,
901 5230, 3889, 3893, 3901, 3908, 3911, 5229, 5254, 3920, 5222,
902 3926, 9692, 9692, 3935, 3939, 3953, 9692, 9692, 5221, 3947,
903 3961, 5211, 3970, 2826, 5202, 3973, 3976, 3984, 3991, 5200,
904 3994, 9692, 5181, 5182, 2893, 3997, 5193, 5196, 5189, 5188,
906 5178, 4002, 4005, 5139, 4013, 4016, 4025, 4034, 4037, 4044,
907 5134, 4055, 5136, 5126, 4058, 4062, 4070, 4077, 4080, 5113,
908 5114, 5125, 4083, 5106, 5118, 4088, 4095, 4106, 9692, 9692,
909 4116, 5095, 5115, 5087, 5090, 5097, 5072, 4119, 5093, 4124,
910 5070, 5079, 4127, 9692, 9692, 4138, 5081, 4142, 5071, 4146,
911 5069, 5063, 5051, 4149, 4152, 4161, 9692, 9692, 4171, 9692,
912 9692, 5042, 4156, 4179, 4184, 9692, 9692, 5029, 5043, 4192,
913 9692, 9692, 5015, 4200, 5009, 4212, 4215, 9692, 9692, 5007,
914 5013, 4227, 9692, 9692, 4235, 5005, 4238, 4241, 4994, 5011,
915 4249, 4997, 4256, 4261, 4269, 4264, 4274, 1303, 5036, 4283,
917 9692, 5034, 9692, 9692, 4973, 4935, 4288, 4914, 4925, 4866,
918 4835, 4815, 2997, 4760, 4293, 4688, 4302, 4685, 4307, 4647,
919 4629, 4310, 4619, 4313, 4560, 4316, 4542, 4530, 4531, 4390,
920 4322, 4337, 4328, 4337, 9692, 9692, 4331, 4351, 9692, 9692,
921 4328, 4288, 4345, 4260, 4364, 9692, 9692, 4262, 4377, 9692,
922 9692, 4165, 4385, 4359, 4144, 4388, 1766, 2087, 4398, 4404,
923 4412, 28, 22, 82, 4416, 4419, 4422, 165, 4425, 4431,
924 223, 4434, 4437, 4446, 4452, 4455, 4458, 9692, 9692, 4466,
925 4470, 9692, 9692, 4478, 4481, 264, 255, 4496, 9692, 9692,
926 4489, 4507, 4515, 4518, 324, 4527, 4533, 355, 383, 4536,
928 4539, 4547, 441, 4550, 9692, 9692, 4558, 4561, 4569, 448,
929 512, 506, 559, 4572, 4576, 574, 4579, 4583, 4591, 595,
930 4597, 4600, 626, 4609, 691, 4615, 707, 718, 750, 4618,
931 4621, 770, 4629, 773, 4636, 852, 4642, 4648, 4651, 4655,
932 866, 4660, 4669, 4674, 4679, 876, 4688, 9692, 9692, 895,
933 916, 4682, 945, 4701, 4708, 4722, 4726, 4729, 4734, 4747,
934 1312, 1049, 1218, 9692, 951, 4750, 4753, 990, 1016, 1087,
935 1112, 4756, 1139, 1133, 4759, 1146, 1138, 1145, 4762, 4768,
936 4772, 1209, 4775, 1221, 4782, 4785, 1234, 1269, 1259, 4788,
937 1275, 4791, 1277, 1311, 4794, 1304, 4797, 1332, 4800, 4803,
939 1368, 1356, 1426, 1359, 1377, 1364, 1451, 1379, 4815, 9692,
940 9692, 4806, 4825, 1363, 1395, 4828, 4831, 1404, 4834, 4843,
941 9692, 9692, 4837, 4859, 4862, 4870, 4873, 4877, 4880, 4895,
942 1425, 1450, 4898, 9692, 9692, 4907, 1482, 1483, 1465, 4915,
943 9692, 4918, 1468, 1484, 4924, 9692, 9692, 4934, 4937, 1486,
944 4945, 9692, 9692, 4953, 4956, 4964, 1490, 1661, 1667, 4967,
945 4971, 4985, 1675, 4988, 9692, 9692, 4996, 5000, 1684, 5008,
946 9692, 9692, 1678, 5016, 9692, 1689, 5019, 1676, 5022, 1698,
947 5025, 1711, 1713, 1709, 5040, 9692, 1724, 5043, 1723, 5046,
948 5049, 5064, 5069, 1735, 5077, 1731, 5083, 5086, 5089, 5097,
950 5104, 5115, 1739, 1763, 1781, 5118, 1785, 5121, 9692, 9692,
951 5129, 5137, 5144, 9692, 9692, 5152, 9692, 1830, 2082, 1851,
952 1787, 5156, 5159, 5167, 5174, 1782, 1790, 5186, 5191, 5194,
953 1801, 1812, 1812, 5197, 5200, 5203, 5206, 1827, 5209, 5212,
954 5215, 5218, 5221, 1842, 5224, 1855, 1867, 5227, 9692, 1850,
955 5231, 5234, 1869, 5249, 5253, 5256, 1887, 1889, 1889, 1898,
956 1894, 1903, 1916, 1930, 1943, 1936, 5264, 5271, 5276, 5284,
957 1919, 5289, 5292, 5295, 5298, 5306, 5314, 9692, 9692, 5309,
958 5328, 9692, 5332, 9692, 9692, 5340, 1923, 1917, 1968, 2009,
959 1930, 1945, 1945, 5343, 9692, 9692, 1960, 5352, 9692, 9692,
961 5361, 5364, 1993, 1984, 1989, 5372, 9692, 9692, 5380, 1991,
962 5383, 9692, 9692, 1987, 1996, 1994, 5394, 2007, 5399, 5402,
963 2010, 2006, 2086, 2141, 2011, 2036, 5413, 9692, 2050, 5417,
964 9692, 9692, 5425, 9692, 9692, 2063, 5433, 2064, 5436, 5440,
965 9692, 9692, 5448, 9692, 9692, 5456, 5459, 5462, 5465, 5468,
966 2063, 5471, 5493, 5496, 2115, 2116, 5502, 5505, 9692, 9692,
967 5515, 5518, 5524, 2064, 5527, 5534, 5537, 5540, 5543, 5546,
968 5549, 2086, 2118, 5552, 5555, 5558, 2119, 5561, 2119, 9692,
969 5564, 5567, 9692, 9692, 5575, 5582, 9692, 5586, 9692, 9692,
970 2162, 2150, 2165, 2164, 2172, 2174, 2161, 2176, 2187, 2208,
972 5594, 5597, 9692, 9692, 5605, 2171, 5608, 2173, 5613, 9692,
973 9692, 5621, 5624, 5627, 2186, 2192, 2256, 2282, 2263, 2284,
974 2241, 5630, 2245, 2249, 5634, 9692, 9692, 5646, 2243, 2255,
975 5650, 2257, 2280, 2301, 2302, 5655, 9692, 5658, 5670, 9692,
976 9692, 2300, 2296, 2333, 2355, 2339, 2358, 2317, 2322, 5664,
977 2327, 5679, 5682, 5685, 5688, 5691, 5694, 5709, 5712, 5715,
978 5718, 5721, 5734, 9692, 5740, 2413, 2379, 5730, 5749, 5745,
979 2311, 5753, 5759, 5764, 2307, 2320, 2321, 5769, 9692, 2348,
980 5772, 5775, 5783, 2378, 2375, 2389, 2378, 2389, 2389, 2389,
981 2407, 2396, 2407, 5790, 2380, 2376, 5793, 5796, 9692, 5802,
983 2410, 2412, 2483, 9692, 2481, 9692, 5805, 5815, 2431, 2451,
984 5823, 5826, 2442, 5834, 5841, 9692, 2437, 2440, 5844, 2442,
985 5852, 5863, 2455, 2455, 2472, 2531, 9692, 2529, 9692, 5855,
986 2484, 5873, 2485, 5876, 9692, 5879, 5882, 5890, 5897, 5900,
987 9692, 9692, 5909, 5912, 5920, 5923, 9692, 5927, 5930, 2544,
988 2540, 2689, 5933, 9692, 2501, 2496, 2512, 2514, 5938, 5942,
989 2679, 2725, 5952, 2540, 2558, 2594, 2607, 2625, 2602, 2617,
990 2621, 2625, 2639, 5956, 2626, 2617, 5959, 5964, 9692, 2619,
991 5970, 9692, 9692, 5978, 5984, 2620, 2631, 5992, 9692, 9692,
992 2638, 6000, 6003, 2631, 6018, 6021, 6024, 6032, 6039, 9692,
994 9692, 2654, 2662, 2661, 9692, 9692, 6050, 6053, 6061, 6064,
995 6068, 2851, 2917, 6082, 9692, 6085, 6088, 9692, 9692, 6096,
996 6104, 6114, 9692, 2772, 2857, 2878, 6117, 2682, 2710, 2716,
997 6120, 6123, 2735, 2762, 2783, 2781, 2789, 2849, 6134, 2801,
998 2790, 2804, 2822, 9692, 2840, 2828, 2829, 2851, 9692, 6138,
999 6141, 2847, 6144, 6152, 6147, 6159, 6170, 9692, 9692, 2853,
1000 2868, 2880, 6178, 9692, 9692, 2892, 6186, 6190, 6200, 9692,
1001 9692, 6208, 6211, 2884, 6219, 2900, 6222, 9692, 9692, 6230,
1002 6233, 6241, 6244, 2918, 2924, 2924, 2927, 2928, 2940, 6252,
1003 6255, 9692, 9692, 2964, 3000, 6263, 6266, 6271, 2911, 2920,
1005 6275, 9692, 9692, 2968, 2956, 2961, 2969, 2986, 2974, 2979,
1006 2987, 6283, 2981, 3006, 3042, 3030, 3013, 3035, 3049, 3038,
1007 6286, 6289, 6292, 6295, 6305, 6308, 3007, 6316, 9692, 9692,
1008 3010, 3006, 2998, 3026, 6324, 9692, 9692, 6332, 9692, 9692,
1009 3029, 6340, 6343, 3011, 6351, 3068, 3070, 6359, 3095, 3099,
1010 3047, 3074, 3104, 3069, 3081, 3132, 6367, 3150, 6370, 6373,
1011 6376, 6395, 6398, 6401, 3108, 3120, 3122, 3122, 3128, 3145,
1012 3157, 3146, 6404, 6407, 3161, 3162, 9692, 3168, 3174, 3182,
1013 9692, 3192, 6415, 6418, 6422, 6425, 9692, 9692, 3166, 3168,
1014 3169, 6434, 3174, 6437, 6441, 9692, 9692, 6455, 3208, 3221,
1016 3217, 3228, 3221, 3239, 3234, 3248, 3241, 3253, 9692, 3246,
1017 3256, 9692, 6458, 9692, 3288, 6461, 6464, 6483, 6503, 6550,
1018 6473, 6491, 3259, 3286, 3288, 3255, 3272, 3292, 3293, 3267,
1019 6523, 9692, 9692, 3307, 3286, 3289, 3331, 3308, 3314, 6494,
1020 6497, 9692, 3289, 3300, 3311, 6541, 6531, 3318, 6544, 6570,
1021 6562, 6580, 3373, 3341, 3374, 3345, 3391, 3359, 3391, 3367,
1022 3401, 3404, 3402, 3416, 3407, 6589, 3457, 3444, 6609, 6656,
1023 3414, 9692, 9692, 3392, 3418, 9692, 9692, 3395, 9692, 3429,
1024 3430, 9692, 3451, 3452, 6599, 9692, 3413, 3418, 3406, 6629,
1025 3472, 3485, 3430, 6637, 9692, 9692, 6645, 3527, 3546, 9692,
1027 3479, 9692, 3481, 9692, 3485, 9692, 3487, 9692, 9692, 9692,
1028 9692, 3531, 3516, 3548, 3511, 3562, 3511, 6602, 3510, 3507,
1029 3520, 3523, 9692, 9692, 9692, 9692, 6667, 6676, 6679, 3591,
1030 3523, 3616, 3555, 6685, 3650, 3561, 3655, 3573, 9692, 9692,
1031 9692, 9692, 6688, 3598, 3589, 3603, 6697, 3618, 3608, 3626,
1032 3615, 6703, 6707, 6716, 6721, 6729, 6734, 3606, 3618, 3633,
1033 3620, 3636, 3649, 6742, 6749, 3638, 3650, 3677, 3661, 3671,
1034 3690, 6760, 3694, 9692, 3681, 9692, 3696, 6763, 9692, 9692,
1035 6772, 9692, 9692, 6780, 3710, 3736, 3695, 3700, 3698, 3713,
1036 3722, 3718, 6788, 9692, 9692, 3736, 3743, 3743, 3745, 3761,
1038 3757, 3780, 9692, 3795, 3794, 3782, 3778, 3804, 3799, 3799,
1039 3811, 3813, 3817, 3823, 3830, 3828, 3836, 3840, 3837, 3848,
1040 3848, 3859, 9692, 9692, 3840, 3863, 3846, 3885, 3879, 3877,
1041 3894, 3888, 3885, 3906, 3896, 3893, 3919, 3909, 3906, 3927,
1042 3941, 3921, 3930, 3932, 3945, 3958, 3952, 3985, 3976, 3973,
1043 4003, 3987, 3986, 4018, 4000, 3993, 4023, 4023, 4014, 4025,
1044 4022, 4029, 4057, 4034, 9692, 4060, 4043, 9692, 4082, 4060,
1045 9692, 4085, 4070, 9692, 4104, 4068, 4081, 4074, 4088, 9692,
1046 4088, 9692, 4090, 9692, 4106, 9692, 4108, 6798, 4111, 4155,
1047 4143, 4162, 4134, 4135, 4140, 4145, 6801, 4185, 9692, 4183,
1049 9692, 4193, 4191, 4199, 4197, 4192, 4205, 9692, 9692, 9692,
1050 9692, 9692, 9692, 4189, 4215, 4226, 4234, 4259, 4282, 4206,
1051 4355, 4268, 4287, 4338, 4357, 4208, 4278, 4336, 4339, 4352,
1052 4384, 4354, 4375, 4458, 4492, 4431, 4432, 4411, 4425, 4483,
1053 4495, 4587, 4614, 4594, 4606, 4506, 4585, 4654, 4676, 4645,
1054 4646, 4505, 4588, 4687, 4695, 4487, 4512, 4188, 4707, 4760,
1055 4793, 4724, 4828, 4362, 4698, 4702, 4831, 4667, 4849, 4830,
1056 4847, 4616, 4894, 4318, 4839, 4867, 4874, 4903, 4922, 4836,
1057 4909, 4914, 4930, 4888, 4956, 4803, 4932, 4996, 5091, 4941,
1058 4981, 4965, 5010, 4988, 5017, 4508, 5095, 6809, 6812, 9692,
1060 9692, 6832, 6841, 6850, 6859, 6868, 6877, 6886, 6895, 6904,
1061 6913, 6922, 6931, 6940, 6949, 6958, 6967, 6976, 6985, 6994,
1062 7003, 7012, 7021, 7030, 7039, 7048, 7057, 7066, 7075, 7084,
1063 7093, 7102, 7111, 7120, 7129, 7138, 7147, 7156, 7165, 7174,
1064 7183, 7192, 7201, 7210, 7219, 7228, 7237, 7246, 7255, 7264,
1065 7273, 7280, 7287, 7294, 7301, 7308, 7315, 7322, 7329, 7336,
1066 7343, 7350, 7357, 7364, 7371, 7378, 7385, 7392, 7399, 7406,
1067 7413, 7420, 7427, 7434, 7443, 7450, 7455, 7462, 7467, 7474,
1068 7479, 7486, 7491, 7498, 7503, 7510, 7515, 7522, 7527, 7534,
1069 7539, 7546, 7551, 7558, 7563, 7570, 7575, 7582, 7587, 7594,
1071 7599, 7606, 7611, 7618, 7623, 7630, 7635, 7642, 7647, 7654,
1072 7659, 7666, 7671, 7678, 7683, 7690, 7695, 7702, 7707, 7714,
1073 7719, 7728, 7734, 7741, 7749, 7756, 7764, 7771, 7779, 7786,
1074 7794, 7801, 7809, 7816, 7824, 7831, 7839, 7846, 7854, 7861,
1075 7869, 7876, 7884, 7891, 7899, 7906, 7914, 7921, 7929, 7936,
1076 7944, 7951, 7959, 7967, 7975, 7983, 7991, 7998, 8006, 8014,
1077 8022, 8029, 8037, 8044, 8052, 8060, 8067, 8075, 8084, 8090,
1078 8097, 8105, 8113, 8121, 8129, 8137, 8144, 8152, 8159, 8167,
1079 8174, 8182, 8189, 8197, 8204, 8212, 8220, 8228, 8236, 8244,
1080 8251, 8259, 8266, 8274, 8281, 8289, 8296, 8304, 8311, 8319,
1082 8326, 8334, 8341, 8349, 8356, 8364, 8371, 8379, 8386, 8394,
1083 8401, 8409, 8417, 8424, 8432, 8441, 8450, 8457, 8465, 8473,
1084 8480, 8488, 8495, 8503, 8510, 8518, 8525, 8532, 8540, 8547,
1085 8555, 8563, 8570, 8578, 8585, 8593, 8600, 8608, 8615, 8623,
1086 8630, 8638, 8645, 8653, 8660, 8668, 8675, 8683, 8690, 8698,
1087 8705, 8713, 8720, 8728, 8736, 8744, 8752, 8760, 8768, 8777,
1088 8786, 8793, 8801, 8809, 8816, 8824, 8831, 8839, 8846, 8854,
1089 8861, 8868, 8876, 8884, 8892, 8900, 8908, 8916, 8923, 8931,
1090 8938, 8946, 8953, 8961, 8968, 8976, 8983, 8991, 8998, 9006,
1091 9014, 9022, 9029, 9037, 9045, 9053, 9060, 9068, 9076, 9084,
1093 9092, 9101, 9110, 9118, 9126, 9134, 9141, 9149, 9156, 9164,
1094 9172, 9180, 9188, 9196, 9204, 9212, 9220, 9228, 9235, 9242,
1095 9250, 9257, 9264, 9272, 9279, 9286, 9294, 9301, 9309, 9316,
1096 9324, 9332, 9339, 9347, 9355, 9363, 9372, 9381, 9389, 9397,
1097 9404, 9411, 9419, 9427, 9435, 9443, 9451, 9458, 9465, 9473,
1098 9480, 9487, 9495, 9502, 9509, 9516, 9524, 9531, 9539, 9547,
1099 9555, 9563, 9571, 9579, 9588, 9597, 9605, 9613, 9620, 9628,
1100 9637, 9646, 9655, 9664, 9673, 9682
1103 static yyconst flex_int16_t yy_def[3077] =
1105 2702, 2702, 2703, 2703, 2703, 2703, 2704, 2704, 2705, 2705,
1106 2706, 2706, 2707, 2707, 2707, 2707, 2708, 2708, 2702, 2702,
1107 2709, 2709, 2710, 2710, 2710, 2710, 2702, 2702, 2710, 2710,
1108 2710, 2710, 2702, 2702, 2710, 2710, 2702, 2702, 2710, 2710,
1109 2710, 2710, 2711, 2711, 2712, 2712, 2702, 2702, 2712, 2712,
1110 2712, 2712, 2713, 2713, 2707, 2707, 2714, 2714, 2715, 2715,
1111 2702, 2702, 2715, 2715, 2715, 2715, 2716, 2716, 2717, 2717,
1112 2718, 2718, 2719, 2719, 2719, 2719, 2702, 2702, 2719, 2719,
1113 2719, 2719, 2702, 2702, 2719, 2719, 2702, 2702, 2719, 2719,
1114 2719, 2719, 2702, 2702, 2719, 2719, 2702, 2702, 2719, 2719,
1116 2719, 2719, 2720, 2720, 2721, 2721, 2702, 2702, 2721, 2721,
1117 2721, 2721, 2722, 2722, 2723, 2723, 2702, 2702, 2723, 2723,
1118 2723, 2723, 2724, 2724, 2725, 2725, 2726, 2726, 2727, 2727,
1119 2728, 2728, 2729, 2729, 2702, 2702, 2729, 2729, 2729, 2729,
1120 2701, 141, 2730, 2730, 2701, 145, 2731, 2731, 2732, 2732,
1121 2733, 2733, 2734, 2734, 2735, 2735, 2702, 2702, 2735, 2735,
1122 2735, 2735, 2736, 2736, 2737, 2737, 2702, 2702, 2737, 2737,
1123 2737, 2737, 2738, 2738, 2739, 2739, 2702, 2702, 2739, 2739,
1124 2739, 2739, 2740, 2740, 2741, 2741, 2742, 2742, 2743, 2743,
1125 2702, 2702, 2743, 2743, 2743, 2743, 2744, 2744, 2745, 2745,
1127 2702, 2702, 2745, 2745, 2745, 2745, 2746, 2746, 2747, 2747,
1128 2748, 2748, 2749, 2749, 2702, 2702, 2749, 2749, 2749, 2749,
1129 2750, 2750, 2751, 2751, 2702, 2702, 2701, 2701, 2701, 2701,
1130 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701,
1131 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701,
1132 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2752, 2701, 2701,
1133 2752, 2701, 2701, 2701, 264, 264, 266, 264, 267, 267,
1134 2701, 2701, 2701, 2753, 2701, 2701, 2753, 2701, 2701, 268,
1135 267, 2701, 2701, 2701, 2754, 2701, 2701, 2754, 2754, 2754,
1136 2701, 2701, 2701, 2701, 2701, 2755, 2701, 2701, 2755, 2755,
1138 2755, 2755, 2755, 2701, 2701, 267, 267, 267, 2701, 2701,
1139 2701, 2756, 2701, 2701, 2756, 2756, 2756, 2701, 2701, 2701,
1140 2701, 2701, 2701, 2757, 2701, 2701, 2757, 2757, 2701, 2701,
1141 268, 267, 268, 331, 332, 332, 332, 332, 338, 339,
1142 338, 338, 2701, 2701, 2701, 2758, 2701, 2701, 2758, 2758,
1143 2758, 2701, 2701, 267, 267, 2701, 2701, 2701, 2759, 2701,
1144 2701, 2759, 2759, 2701, 2701, 267, 267, 2701, 2701, 2701,
1145 2760, 2701, 2701, 2760, 2760, 2701, 2701, 2701, 2701, 2701,
1146 2701, 2761, 2701, 2701, 2761, 2761, 2701, 2701, 2701, 2701,
1147 2701, 2701, 2762, 2701, 2701, 2762, 2762, 2762, 2762, 2762,
1149 2701, 2701, 267, 403, 403, 2701, 2701, 2701, 2763, 2701,
1150 2701, 2763, 2763, 2763, 2763, 2763, 2763, 2763, 2763, 2701,
1151 2701, 2701, 2701, 2701, 2701, 2764, 2701, 2701, 2764, 2764,
1152 2764, 2764, 2764, 2764, 2764, 2701, 2701, 2701, 2701, 2701,
1153 2701, 2765, 2701, 2701, 2765, 2765, 2701, 2701, 2701, 2701,
1154 2701, 2701, 2766, 2701, 2701, 2766, 2766, 2766, 2766, 2701,
1155 2701, 403, 267, 2701, 2701, 2701, 2767, 2701, 2701, 2767,
1156 2767, 2701, 2701, 267, 474, 474, 2701, 2701, 2701, 2768,
1157 2701, 2701, 2768, 2768, 2768, 2701, 2701, 474, 474, 2701,
1158 2701, 2701, 2769, 2701, 2701, 2769, 2769, 2701, 2701, 2701,
1160 2701, 2701, 2701, 2770, 2701, 2701, 2770, 2770, 2770, 2701,
1161 2701, 474, 474, 2701, 2701, 2701, 2771, 2701, 2701, 2771,
1162 2771, 2771, 2771, 2701, 2701, 267, 526, 526, 2701, 2701,
1163 2701, 2772, 2701, 2701, 2772, 2701, 2701, 2701, 2701, 2701,
1164 2701, 2773, 2701, 2701, 2773, 2701, 2701, 526, 267, 2701,
1165 2701, 2701, 2774, 2701, 2701, 2774, 2774, 2701, 2701, 2701,
1166 2701, 2775, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701,
1167 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2776, 2776, 2777,
1168 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701,
1169 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701,
1171 2701, 2701, 2701, 2778, 2778, 2779, 2701, 2780, 2780, 2780,
1172 2780, 2701, 2781, 2701, 2701, 2782, 2782, 2782, 2782, 2782,
1173 2782, 2782, 2782, 2782, 2783, 2701, 2701, 2784, 2784, 2784,
1174 2784, 2785, 2701, 2786, 2786, 2786, 2787, 2701, 2701, 2701,
1175 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2788, 2788, 2788,
1176 2788, 2789, 2701, 2790, 2790, 2790, 2791, 2701, 2792, 2792,
1177 2792, 2793, 2701, 2794, 2794, 2794, 2795, 2701, 2796, 2796,
1178 2796, 2796, 2796, 2796, 2797, 2701, 2701, 2798, 2798, 2798,
1179 2798, 2798, 2798, 2798, 2798, 2798, 2798, 2798, 2798, 2798,
1180 2798, 2799, 2701, 2800, 2800, 2800, 2800, 2800, 2800, 2800,
1182 2800, 2801, 2701, 2802, 2802, 2802, 2803, 2701, 2804, 2804,
1183 2804, 2804, 2804, 2804, 2805, 2701, 2806, 2806, 2806, 2806,
1184 2807, 2701, 2701, 2808, 2808, 2808, 2808, 2808, 2809, 2701,
1185 2810, 2810, 2810, 2811, 2701, 2812, 2812, 2812, 2812, 2813,
1186 2701, 2814, 2814, 2814, 2814, 2814, 2815, 2701, 2701, 2816,
1187 2816, 2817, 2701, 2818, 2818, 2819, 2701, 2820, 2820, 2820,
1188 2821, 2822, 2701, 2822, 2701, 2701, 2701, 2823, 2701, 2701,
1189 2701, 2701, 2701, 2701, 2701, 2824, 2825, 2825, 2701, 2701,
1190 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701,
1191 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701,
1193 2701, 2701, 2701, 2826, 2827, 2827, 2828, 2701, 2701, 2828,
1194 2701, 2829, 2829, 2701, 2830, 2701, 2701, 2830, 2830, 2830,
1195 2830, 2830, 2830, 2831, 2831, 2701, 2832, 2832, 2832, 2833,
1196 2833, 2701, 2701, 2834, 2835, 2835, 2701, 2701, 2701, 2701,
1197 2701, 2701, 2701, 2701, 2701, 2836, 2701, 2701, 2836, 2837,
1198 2837, 2701, 2701, 2838, 2839, 2839, 2701, 2701, 2840, 2841,
1199 2841, 2842, 2842, 2843, 2843, 2844, 2844, 2844, 2701, 2701,
1200 2844, 2844, 2845, 2845, 2701, 2701, 2846, 2846, 2701, 2701,
1201 2846, 2701, 2701, 2846, 2846, 2846, 2846, 2846, 2846, 2846,
1202 2846, 2847, 2847, 2848, 2848, 2848, 2701, 2701, 2848, 2848,
1204 2848, 2849, 2849, 2850, 2701, 2701, 2851, 2851, 2852, 2701,
1205 2701, 2852, 2852, 2852, 2853, 2853, 2854, 2854, 2854, 2855,
1206 2855, 2701, 2856, 2856, 2856, 2856, 2857, 2857, 2858, 2701,
1207 2701, 2859, 2859, 2860, 2860, 2860, 2861, 2861, 2862, 2862,
1208 2862, 2862, 2863, 2863, 2701, 2864, 2865, 2865, 2701, 2701,
1209 2866, 2866, 2701, 2701, 2867, 2868, 2868, 2869, 2701, 2701,
1210 2869, 2701, 2701, 2870, 2701, 2701, 2701, 2701, 2701, 2701,
1211 2871, 2701, 2872, 2701, 2872, 2701, 2701, 2701, 2701, 2701,
1212 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701,
1213 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701,
1215 2701, 2873, 2701, 2874, 2701, 2874, 2875, 2701, 2701, 2701,
1216 2875, 2701, 2701, 2876, 2701, 2876, 2877, 2701, 2701, 2701,
1217 2701, 2701, 2877, 2701, 2701, 2877, 2877, 2877, 2701, 2878,
1218 2701, 2878, 2701, 2879, 2879, 2879, 2701, 2880, 2701, 2880,
1219 2701, 2701, 2701, 2881, 2701, 2882, 2701, 2882, 2701, 2701,
1220 2701, 2701, 2701, 2701, 2701, 2701, 2883, 2701, 2701, 2701,
1221 2883, 2701, 2884, 2701, 2884, 2701, 2701, 2701, 2885, 2701,
1222 2886, 2701, 2886, 2701, 2701, 2701, 2887, 2701, 2888, 2701,
1223 2888, 2889, 2889, 2701, 2890, 2701, 2890, 2891, 2891, 2891,
1224 2701, 2701, 2701, 2891, 2891, 2701, 2892, 2701, 2892, 2701,
1226 2701, 2893, 2893, 2893, 2893, 2701, 2701, 2701, 2893, 2701,
1227 2701, 2701, 2701, 2701, 2893, 2893, 2893, 2893, 2893, 2893,
1228 2893, 2701, 2894, 2701, 2894, 2895, 2895, 2895, 2895, 2701,
1229 2701, 2701, 2701, 2701, 2895, 2895, 2701, 2896, 2701, 2896,
1230 2897, 2701, 2701, 2701, 2701, 2898, 2701, 2898, 2899, 2701,
1231 2701, 2701, 2899, 2899, 2899, 2701, 2900, 2701, 2900, 2701,
1232 2701, 2701, 2701, 2901, 2701, 2902, 2701, 2902, 2701, 2701,
1233 2701, 2903, 2903, 2701, 2701, 2903, 2701, 2904, 2701, 2904,
1234 2905, 2701, 2701, 2701, 2701, 2906, 2701, 2906, 2701, 2701,
1235 2907, 2907, 2701, 2701, 2701, 2908, 2701, 2908, 2909, 2909,
1237 2909, 2909, 2701, 2910, 2701, 2910, 2701, 2911, 2701, 2912,
1238 2701, 2912, 2701, 2701, 2701, 2701, 2913, 2701, 2913, 2701,
1239 2701, 2701, 2914, 2701, 2915, 2701, 2915, 2916, 2917, 2701,
1240 2701, 2701, 2701, 2701, 2918, 2919, 2701, 2701, 2701, 2701,
1241 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701,
1242 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701,
1243 2701, 2701, 2701, 2920, 2701, 2701, 2921, 2701, 2922, 2923,
1244 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2923, 2701,
1245 2701, 2923, 2924, 2701, 2925, 2701, 2701, 2925, 2926, 2927,
1246 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701,
1248 2928, 2928, 2929, 2930, 2931, 2701, 2701, 2932, 2701, 2701,
1249 2933, 2934, 2935, 2935, 2701, 2701, 2935, 2935, 2936, 2701,
1250 2701, 2937, 2937, 2937, 2937, 2701, 2701, 2701, 2701, 2701,
1251 2937, 2937, 2937, 2937, 2937, 2937, 2937, 2938, 2939, 2939,
1252 2939, 2939, 2701, 2701, 2701, 2939, 2939, 2940, 2941, 2942,
1253 2943, 2943, 2943, 2943, 2944, 2701, 2701, 2701, 2701, 2701,
1254 2701, 2945, 2946, 2701, 2701, 2701, 2701, 2947, 2947, 2701,
1255 2701, 2701, 2947, 2948, 2949, 2950, 2701, 2701, 2701, 2951,
1256 2951, 2701, 2701, 2701, 2952, 2953, 2701, 2701, 2953, 2953,
1257 2954, 2701, 2955, 2956, 2957, 2958, 2959, 2960, 2961, 2961,
1259 2701, 2961, 2701, 2701, 2701, 2962, 2963, 2701, 2701, 2701,
1260 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701,
1261 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701,
1262 2701, 2701, 2701, 2701, 2701, 2701, 2964, 2701, 2701, 2701,
1263 2965, 2701, 2966, 2967, 2701, 2701, 2701, 2967, 2701, 2701,
1264 2701, 2967, 2968, 2701, 2969, 2701, 2701, 2701, 2701, 2701,
1265 2970, 2971, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701,
1266 2972, 2701, 2701, 2973, 2974, 2975, 2701, 2701, 2701, 2976,
1267 2701, 2701, 2701, 2977, 2978, 2979, 2979, 2701, 2701, 2701,
1268 2701, 2701, 2701, 2701, 2979, 2980, 2701, 2701, 2981, 2701,
1270 2701, 2981, 2981, 2701, 2701, 2701, 2701, 2701, 2981, 2981,
1271 2981, 2981, 2981, 2981, 2982, 2983, 2701, 2701, 2983, 2983,
1272 2701, 2701, 2983, 2984, 2985, 2986, 2987, 2987, 2987, 2701,
1273 2701, 2987, 2988, 2989, 2990, 2701, 2991, 2991, 2991, 2992,
1274 2993, 2994, 2995, 2995, 2996, 2997, 2701, 2701, 2701, 2997,
1275 2997, 2998, 2701, 2701, 2701, 2999, 3000, 2701, 2701, 3001,
1276 3002, 3003, 3003, 2701, 2701, 3004, 3005, 2701, 2701, 2701,
1277 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701,
1278 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701,
1279 2701, 3006, 3007, 2701, 3008, 3009, 3009, 3009, 3010, 3011,
1281 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701,
1282 2701, 3012, 3013, 2701, 2701, 2701, 2701, 2701, 3014, 2701,
1283 2701, 2701, 3015, 2701, 2701, 3016, 3017, 2701, 2701, 3018,
1284 3019, 3019, 2701, 2701, 2701, 2701, 2701, 2701, 3019, 2701,
1285 2701, 2701, 2701, 3020, 2701, 2701, 2701, 2701, 2701, 3020,
1286 2701, 2701, 2701, 2701, 2701, 3020, 3020, 3020, 3020, 2701,
1287 2701, 3021, 3022, 2701, 2701, 2701, 2701, 2701, 3022, 2701,
1288 2701, 2701, 3022, 2701, 2701, 3023, 3024, 3025, 3025, 3025,
1289 2701, 2701, 2701, 3025, 2701, 2701, 3026, 3027, 2701, 2701,
1290 2701, 2701, 2701, 3028, 3029, 3030, 3031, 2701, 2701, 2701,
1292 2701, 3032, 3033, 3033, 3033, 3034, 2701, 2701, 2701, 2701,
1293 3035, 3036, 2701, 2701, 2701, 2701, 2701, 3037, 3038, 3038,
1294 2701, 2701, 2701, 3039, 2701, 2701, 2701, 2701, 2701, 2701,
1295 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701,
1296 2701, 2701, 2701, 2701, 3040, 3041, 2701, 2701, 2701, 3042,
1297 2701, 2701, 3042, 3043, 2701, 2701, 2701, 2701, 2701, 2701,
1298 2701, 2701, 2701, 2701, 2701, 2701, 3044, 2701, 2701, 2701,
1299 2701, 2701, 2701, 2701, 2701, 3045, 2701, 2701, 2701, 3046,
1300 2701, 2701, 2701, 2701, 2701, 3047, 3048, 3048, 2701, 2701,
1301 3048, 2701, 3049, 2701, 2701, 2701, 3049, 2701, 2701, 2701,
1303 2701, 2701, 3049, 3049, 3049, 2701, 2701, 2701, 3050, 3051,
1304 2701, 2701, 2701, 3051, 3051, 3052, 3053, 3054, 2701, 2701,
1305 3054, 3054, 2701, 2701, 3054, 3055, 2701, 2701, 2701, 2701,
1306 2701, 2701, 2701, 2701, 2701, 3056, 3057, 3058, 3059, 2701,
1307 2701, 2701, 2701, 2701, 2701, 3060, 3061, 3061, 3061, 3062,
1308 2701, 3063, 3064, 3065, 3066, 3066, 2701, 2701, 2701, 2701,
1309 3067, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701,
1310 2701, 2701, 2701, 2701, 2701, 2701, 2701, 3068, 3069, 2701,
1311 3070, 2701, 2701, 2701, 3070, 2701, 2701, 2701, 2701, 2701,
1312 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701,
1314 3044, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701,
1315 2701, 3045, 3046, 3047, 3048, 3048, 2701, 2701, 2701, 2701,
1316 3048, 2701, 3049, 3049, 2701, 2701, 2701, 3049, 3049, 3049,
1317 3050, 3051, 3051, 3051, 3052, 2701, 2701, 3054, 2701, 2701,
1318 2701, 3054, 3054, 2701, 2701, 2701, 2701, 3054, 3055, 2701,
1319 3056, 3057, 3058, 3059, 3060, 2701, 2701, 3061, 3061, 3062,
1320 2701, 3063, 2701, 2701, 3065, 3066, 3066, 2701, 3067, 2701,
1321 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 3069,
1322 2701, 2701, 3070, 2701, 2701, 2701, 2701, 2701, 2701, 2701,
1323 2701, 2701, 2701, 3044, 2701, 2701, 3045, 2701, 2701, 3047,
1325 3048, 3048, 2701, 2701, 2701, 2701, 3048, 2701, 3049, 3049,
1326 2701, 2701, 3049, 3049, 2701, 2701, 3051, 3051, 3051, 3052,
1327 2701, 2701, 3054, 3054, 3054, 2701, 2701, 2701, 2701, 3054,
1328 3055, 2701, 3056, 2701, 2701, 2701, 2701, 3059, 3060, 2701,
1329 2701, 2701, 2701, 2701, 3061, 2701, 2701, 2701, 3063, 3065,
1330 3066, 3066, 2701, 2701, 2701, 2701, 2701, 2701, 3069, 2701,
1331 2701, 2701, 3070, 2701, 2701, 2701, 2701, 2701, 2701, 2701,
1332 2701, 2701, 2701, 3044, 2701, 2701, 3045, 2701, 2701, 3048,
1333 3048, 2701, 2701, 2701, 2701, 3049, 3049, 2701, 2701, 2701,
1334 3049, 2701, 2701, 3051, 3051, 2701, 2701, 3052, 2701, 2701,
1336 2701, 3054, 3054, 3054, 2701, 2701, 2701, 2701, 3055, 3056,
1337 2701, 2701, 2701, 2701, 2701, 3060, 2701, 2701, 2701, 2701,
1338 2701, 2701, 2701, 3065, 3066, 3066, 2701, 2701, 2701, 2701,
1339 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 3070, 2701,
1340 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 3044,
1341 2701, 2701, 3045, 3048, 2701, 2701, 2701, 2701, 2701, 3049,
1342 3049, 3049, 2701, 2701, 2701, 3051, 2701, 2701, 2701, 2701,
1343 2701, 2701, 2701, 3054, 3054, 3054, 2701, 2701, 2701, 2701,
1344 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 3060,
1345 2701, 2701, 2701, 3065, 3066, 3066, 2701, 2701, 2701, 2701,
1347 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701,
1348 2701, 3070, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701,
1349 3044, 2701, 2701, 3045, 2701, 2701, 3048, 2701, 2701, 2701,
1350 3049, 3049, 3049, 3051, 2701, 2701, 2701, 2701, 2701, 2701,
1351 3054, 2701, 2701, 3054, 2701, 2701, 2701, 2701, 2701, 2701,
1352 2701, 2701, 2701, 2701, 2701, 2701, 3060, 3065, 3066, 3066,
1353 3066, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701,
1354 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701,
1355 2701, 2701, 3044, 2701, 3045, 2701, 2701, 2701, 3048, 3049,
1356 3049, 3049, 3051, 3054, 2701, 2701, 2701, 3054, 2701, 2701,
1358 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701,
1359 2701, 2701, 2701, 2701, 3065, 3066, 3066, 3066, 3071, 3072,
1360 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701,
1361 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 3044,
1362 2701, 2701, 3048, 3049, 3049, 2701, 2701, 3051, 2701, 2701,
1363 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701,
1364 2701, 2701, 2701, 2701, 3065, 3066, 3073, 3074, 3071, 3072,
1365 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701,
1366 2701, 2701, 2701, 2701, 2701, 2701, 3048, 3049, 3049, 2701,
1367 2701, 2701, 3051, 2701, 2701, 2701, 2701, 2701, 2701, 2701,
1369 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701,
1370 2701, 3065, 3073, 3066, 3075, 3074, 3076, 3066, 2701, 2701,
1371 2701, 2701, 2701, 2701, 2701, 2701, 3048, 3049, 3049, 2701,
1372 2701, 2701, 2701, 3051, 2701, 2701, 2701, 2701, 2701, 2701,
1373 2701, 2701, 3065, 3075, 2701, 3076, 3066, 2701, 2701, 2701,
1374 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701,
1375 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701,
1376 2701, 3065, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701,
1377 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701,
1378 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701,
1380 2701, 3065, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701,
1381 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701,
1382 2701, 3065, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701,
1383 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701,
1384 3065, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701,
1385 2701, 2701, 2701, 2701, 2701, 2701, 2701, 3065, 2701, 2701,
1386 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701,
1387 2701, 2701, 2701, 2701, 3065, 2701, 2701, 2701, 2701, 2701,
1388 2701, 2701, 2701, 2701, 2701, 2701, 2701, 3065, 2701, 2701,
1389 2701, 2701, 2701, 2701, 2701, 2701, 3065, 2701, 2701, 2701,
1391 2701, 2701, 2701, 2701, 2701, 3065, 3065, 2701, 2701, 2701,
1392 2701, 2701, 2701, 3065, 3065, 3065, 3065, 3065, 3065, 3065,
1393 3065, 3065, 3065, 3065, 3065, 3065, 3065, 3065, 3065, 3065,
1394 3065, 3065, 3065, 3065, 3065, 3065, 3065, 3065, 3065, 3065,
1395 3065, 3065, 3065, 3065, 3065, 3065, 3065, 3065, 3065, 3065,
1396 3065, 3065, 3065, 3065, 3065, 3065, 3065, 3065, 3065, 3065,
1397 3065, 3065, 3065, 3065, 3065, 3065, 3065, 3065, 3065, 3065,
1398 3065, 3065, 3065, 3065, 3065, 3065, 3065, 3065, 3065, 3065,
1399 3065, 3065, 3065, 3065, 3065, 3065, 3065, 3065, 3065, 3065,
1400 3065, 3065, 3065, 3065, 3065, 3065, 3065, 3065, 3065, 2701,
1402 0, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701,
1403 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701,
1404 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701,
1405 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701,
1406 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701,
1407 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701,
1408 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701,
1409 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701,
1410 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701,
1411 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701,
1413 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701,
1414 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701,
1415 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701,
1416 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701,
1417 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701,
1418 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701,
1419 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701,
1420 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701,
1421 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701,
1422 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701,
1424 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701,
1425 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701,
1426 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701,
1427 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701,
1428 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701,
1429 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701,
1430 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701,
1431 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701,
1432 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701,
1433 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701,
1435 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701,
1436 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701,
1437 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701,
1438 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701,
1439 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701,
1440 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701,
1441 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701,
1442 2701, 2701, 2701, 2701, 2701, 2701
1445 static yyconst flex_int16_t yy_nxt[9765] =
1447 2701, 230, 231, 230, 230, 231, 230, 230, 231, 230,
1448 230, 231, 230, 235, 231, 235, 241, 232, 238, 241,
1449 232, 238, 2701, 233, 2701, 239, 233, 2701, 239, 236,
1450 235, 231, 235, 562, 242, 244, 245, 242, 244, 245,
1451 246, 247, 606, 246, 247, 562, 236, 251, 252, 563,
1452 248, 244, 245, 248, 249, 565, 246, 244, 245, 713,
1453 249, 564, 246, 251, 252, 583, 248, 231, 231, 231,
1454 714, 564, 248, 231, 231, 231, 263, 231, 263, 263,
1455 231, 263, 1613, 254, 263, 231, 263, 641, 1614, 254,
1456 585, 253, 264, 598, 643, 264, 561, 561, 561, 594,
1458 265, 561, 561, 561, 561, 561, 561, 253, 255, 256,
1459 231, 256, 255, 255, 255, 255, 255, 255, 255, 257,
1460 255, 255, 255, 625, 255, 259, 255, 260, 255, 263,
1461 231, 263, 231, 231, 231, 231, 231, 231, 593, 263,
1462 231, 263, 263, 231, 263, 265, 2701, 1615, 266, 565,
1463 565, 266, 594, 255, 255, 264, 595, 565, 264, 263,
1464 231, 263, 561, 561, 561, 564, 564, 561, 561, 561,
1465 561, 561, 561, 564, 626, 267, 261, 255, 256, 231,
1466 256, 255, 255, 255, 255, 255, 255, 255, 257, 255,
1467 255, 255, 2701, 255, 259, 255, 260, 255, 263, 231,
1469 263, 231, 231, 231, 231, 231, 231, 576, 263, 231,
1470 263, 263, 231, 263, 267, 2701, 580, 268, 637, 1618,
1471 268, 625, 255, 255, 265, 595, 680, 265, 231, 231,
1472 231, 231, 231, 231, 263, 231, 263, 263, 231, 263,
1473 263, 231, 263, 626, 269, 261, 681, 269, 565, 594,
1474 267, 599, 565, 267, 596, 600, 270, 263, 231, 263,
1475 597, 561, 561, 561, 564, 2701, 598, 601, 564, 594,
1476 599, 642, 598, 270, 271, 272, 231, 272, 271, 271,
1477 271, 271, 271, 271, 271, 273, 271, 271, 271, 1619,
1478 271, 275, 271, 276, 271, 279, 231, 279, 279, 231,
1480 279, 231, 231, 231, 593, 231, 231, 231, 279, 231,
1481 279, 280, 623, 1631, 280, 1632, 602, 268, 594, 271,
1482 271, 268, 588, 959, 280, 598, 624, 277, 271, 272,
1483 231, 272, 271, 271, 271, 271, 271, 271, 271, 273,
1484 271, 271, 271, 1398, 271, 275, 271, 276, 271, 279,
1485 231, 279, 279, 231, 279, 279, 231, 279, 561, 561,
1486 561, 244, 245, 612, 565, 280, 246, 756, 281, 595,
1487 613, 281, 652, 271, 271, 685, 291, 1639, 686, 564,
1488 564, 277, 282, 283, 231, 283, 282, 282, 282, 282,
1489 282, 282, 282, 284, 282, 282, 282, 583, 282, 286,
1491 282, 287, 282, 1643, 582, 292, 305, 231, 305, 305,
1492 231, 305, 645, 231, 231, 231, 244, 245, 231, 231,
1493 231, 246, 306, 626, 652, 306, 565, 282, 282, 307,
1494 719, 291, 1644, 632, 307, 288, 657, 720, 289, 561,
1495 561, 561, 564, 657, 290, 282, 283, 231, 283, 282,
1496 282, 282, 282, 282, 282, 282, 284, 282, 282, 282,
1497 292, 282, 286, 282, 287, 282, 305, 231, 305, 305,
1498 231, 305, 305, 231, 305, 598, 305, 231, 305, 319,
1499 231, 319, 306, 565, 565, 306, 565, 626, 308, 619,
1500 282, 282, 308, 620, 598, 320, 727, 621, 288, 564,
1502 564, 289, 564, 728, 570, 1650, 1656, 290, 293, 294,
1503 231, 294, 293, 293, 293, 293, 293, 293, 293, 295,
1504 293, 293, 293, 715, 293, 297, 293, 298, 293, 319,
1505 231, 319, 330, 231, 330, 330, 231, 330, 715, 330,
1506 231, 330, 330, 231, 330, 320, 571, 565, 331, 565,
1507 565, 331, 572, 293, 293, 332, 573, 662, 332, 1657,
1508 1658, 574, 299, 564, 300, 564, 564, 301, 561, 561,
1509 561, 588, 302, 303, 293, 294, 231, 294, 293, 293,
1510 293, 293, 293, 293, 293, 295, 293, 293, 293, 598,
1511 293, 297, 293, 298, 293, 231, 231, 231, 231, 231,
1513 231, 330, 231, 330, 582, 330, 231, 330, 330, 231,
1514 330, 333, 1659, 565, 333, 565, 565, 334, 598, 293,
1515 293, 334, 667, 1663, 335, 561, 561, 561, 299, 564,
1516 300, 564, 564, 301, 561, 561, 561, 729, 302, 303,
1517 309, 310, 231, 310, 309, 309, 309, 309, 309, 309,
1518 309, 311, 309, 309, 309, 1669, 309, 313, 309, 314,
1519 309, 330, 231, 330, 231, 231, 231, 231, 231, 231,
1520 689, 330, 231, 330, 330, 231, 330, 335, 687, 1673,
1521 336, 690, 691, 336, 587, 309, 309, 332, 565, 565,
1522 332, 688, 315, 561, 561, 561, 692, 316, 561, 561,
1524 561, 561, 561, 561, 564, 564, 317, 309, 310, 231,
1525 310, 309, 309, 309, 309, 309, 309, 309, 311, 309,
1526 309, 309, 763, 309, 313, 309, 314, 309, 231, 231,
1527 231, 231, 231, 231, 330, 231, 330, 764, 330, 231,
1528 330, 330, 231, 330, 337, 769, 782, 337, 770, 783,
1529 335, 1676, 309, 309, 335, 565, 565, 338, 1678, 315,
1530 561, 561, 561, 702, 316, 561, 561, 561, 561, 561,
1531 561, 564, 564, 317, 321, 322, 231, 322, 321, 321,
1532 321, 321, 321, 321, 321, 323, 321, 321, 321, 1679,
1533 321, 325, 321, 326, 321, 330, 231, 330, 231, 231,
1535 231, 231, 231, 231, 1680, 330, 231, 330, 330, 231,
1536 330, 338, 565, 782, 339, 799, 796, 339, 783, 321,
1537 321, 340, 740, 1684, 340, 561, 561, 561, 564, 675,
1538 327, 561, 561, 561, 561, 561, 561, 1687, 328, 321,
1539 322, 231, 322, 321, 321, 321, 321, 321, 321, 321,
1540 323, 321, 321, 321, 756, 321, 325, 321, 326, 321,
1541 231, 231, 231, 231, 231, 231, 330, 231, 330, 587,
1542 330, 231, 330, 330, 231, 330, 341, 676, 565, 341,
1543 626, 1249, 338, 787, 321, 321, 338, 788, 565, 342,
1544 330, 231, 330, 1250, 564, 327, 561, 561, 561, 561,
1546 561, 561, 1689, 328, 564, 598, 342, 343, 344, 231,
1547 344, 343, 343, 343, 343, 343, 343, 343, 345, 343,
1548 343, 343, 1696, 343, 347, 343, 348, 343, 353, 231,
1549 353, 353, 231, 353, 231, 231, 231, 1703, 231, 231,
1550 231, 561, 561, 561, 354, 565, 565, 354, 565, 565,
1551 307, 1704, 343, 343, 307, 707, 734, 349, 561, 561,
1552 561, 564, 564, 350, 564, 564, 351, 343, 344, 231,
1553 344, 343, 343, 343, 343, 343, 343, 343, 345, 343,
1554 343, 343, 1705, 343, 347, 343, 348, 343, 353, 231,
1555 353, 353, 231, 353, 353, 231, 353, 1707, 353, 231,
1557 353, 561, 561, 561, 354, 565, 565, 354, 799, 565,
1558 355, 796, 343, 343, 355, 1721, 752, 349, 561, 561,
1559 561, 564, 564, 350, 721, 564, 351, 356, 357, 231,
1560 357, 356, 356, 356, 356, 356, 356, 356, 358, 356,
1561 356, 356, 1725, 356, 360, 356, 361, 356, 365, 231,
1562 365, 365, 231, 365, 231, 231, 231, 1260, 231, 231,
1563 231, 365, 231, 365, 366, 565, 565, 366, 1401, 1250,
1564 307, 722, 356, 356, 307, 598, 1726, 366, 561, 561,
1565 561, 564, 564, 362, 561, 561, 561, 561, 561, 561,
1566 561, 561, 561, 363, 356, 357, 231, 357, 356, 356,
1568 356, 356, 356, 356, 356, 358, 356, 356, 356, 1719,
1569 356, 360, 356, 361, 356, 365, 231, 365, 365, 231,
1570 365, 365, 231, 365, 1727, 377, 231, 377, 377, 231,
1571 377, 366, 867, 959, 367, 868, 789, 367, 1127, 356,
1572 356, 378, 790, 1128, 378, 561, 561, 561, 791, 961,
1573 362, 561, 561, 561, 561, 561, 561, 561, 561, 561,
1574 363, 368, 369, 231, 369, 368, 368, 368, 368, 368,
1575 368, 368, 370, 368, 368, 368, 1728, 368, 372, 368,
1576 373, 368, 388, 231, 388, 388, 231, 388, 402, 231,
1577 402, 1730, 402, 231, 402, 231, 231, 231, 389, 1731,
1579 1732, 389, 1733, 792, 403, 875, 368, 368, 403, 876,
1580 1734, 404, 561, 561, 561, 747, 793, 374, 561, 561,
1581 561, 375, 368, 369, 231, 369, 368, 368, 368, 368,
1582 368, 368, 368, 370, 368, 368, 368, 1401, 368, 372,
1583 368, 373, 368, 231, 231, 231, 402, 231, 402, 402,
1584 231, 402, 748, 402, 231, 402, 402, 231, 402, 404,
1585 959, 1737, 403, 797, 1228, 403, 626, 368, 368, 405,
1586 1720, 1738, 405, 561, 561, 561, 793, 763, 374, 561,
1587 561, 561, 375, 379, 380, 231, 380, 379, 379, 379,
1588 379, 379, 379, 379, 381, 379, 379, 379, 1741, 379,
1590 383, 379, 384, 379, 421, 231, 421, 421, 231, 421,
1591 437, 231, 437, 811, 437, 231, 437, 448, 231, 448,
1592 422, 1742, 959, 422, 1743, 1744, 438, 1746, 379, 379,
1593 438, 959, 1747, 449, 561, 561, 561, 561, 561, 561,
1594 561, 561, 561, 385, 561, 561, 561, 1561, 1718, 386,
1595 379, 380, 231, 380, 379, 379, 379, 379, 379, 379,
1596 379, 381, 379, 379, 379, 1750, 379, 383, 379, 384,
1597 379, 448, 231, 448, 461, 231, 461, 461, 231, 461,
1598 1260, 231, 231, 231, 231, 231, 231, 449, 1753, 1757,
1599 462, 1758, 1284, 462, 1761, 379, 379, 307, 1762, 1763,
1601 307, 561, 561, 561, 561, 561, 561, 561, 561, 561,
1602 385, 561, 561, 561, 1766, 1770, 386, 390, 391, 231,
1603 391, 390, 390, 390, 390, 390, 390, 390, 392, 390,
1604 390, 390, 1771, 390, 394, 390, 395, 390, 461, 231,
1605 461, 461, 231, 461, 461, 231, 461, 1759, 461, 231,
1606 461, 561, 561, 561, 462, 1760, 1773, 462, 797, 565,
1607 463, 797, 390, 390, 463, 396, 761, 397, 561, 561,
1608 561, 841, 1764, 398, 844, 564, 767, 767, 767, 399,
1609 1765, 1787, 400, 390, 391, 231, 391, 390, 390, 390,
1610 390, 390, 390, 390, 392, 390, 390, 390, 1788, 390,
1612 394, 390, 395, 390, 473, 231, 473, 473, 231, 473,
1613 231, 231, 231, 801, 231, 231, 231, 1789, 1790, 790,
1614 474, 1791, 1792, 474, 797, 802, 475, 1103, 390, 390,
1615 475, 396, 801, 397, 768, 789, 1104, 845, 790, 398,
1616 1793, 790, 1797, 1105, 791, 399, 1803, 802, 400, 406,
1617 407, 231, 407, 406, 406, 406, 406, 406, 406, 406,
1618 408, 406, 406, 406, 409, 406, 410, 406, 411, 406,
1619 409, 409, 409, 409, 409, 409, 409, 409, 409, 409,
1620 409, 409, 409, 409, 409, 409, 409, 409, 409, 409,
1621 409, 409, 409, 409, 406, 406, 409, 412, 413, 414,
1623 409, 409, 409, 409, 409, 415, 409, 416, 409, 409,
1624 409, 417, 409, 418, 419, 409, 409, 409, 409, 409,
1625 409, 423, 424, 231, 424, 423, 423, 423, 423, 423,
1626 423, 423, 425, 423, 423, 423, 426, 423, 427, 423,
1627 428, 423, 426, 426, 426, 426, 426, 426, 426, 426,
1628 426, 426, 426, 426, 426, 426, 426, 426, 426, 426,
1629 426, 426, 426, 426, 426, 426, 423, 423, 426, 429,
1630 430, 431, 426, 426, 426, 426, 426, 432, 426, 433,
1631 426, 426, 426, 434, 426, 426, 435, 426, 426, 426,
1632 426, 426, 426, 439, 440, 231, 440, 439, 439, 439,
1634 439, 439, 439, 439, 441, 439, 439, 439, 1804, 439,
1635 443, 439, 444, 439, 473, 231, 473, 473, 231, 473,
1636 473, 231, 473, 1805, 473, 231, 473, 808, 808, 808,
1637 474, 1810, 1814, 474, 1815, 801, 476, 1816, 439, 439,
1638 476, 790, 1818, 445, 809, 1822, 1823, 826, 1824, 446,
1639 439, 440, 231, 440, 439, 439, 439, 439, 439, 439,
1640 439, 441, 439, 439, 439, 1825, 439, 443, 439, 444,
1641 439, 487, 231, 487, 487, 231, 487, 231, 231, 231,
1642 1826, 231, 231, 231, 816, 816, 816, 488, 1601, 1829,
1643 488, 1836, 1838, 475, 1602, 439, 439, 475, 1603, 1847,
1645 445, 817, 1604, 976, 976, 976, 446, 450, 451, 231,
1646 451, 450, 450, 450, 450, 450, 450, 450, 452, 450,
1647 450, 450, 1848, 450, 454, 450, 455, 450, 487, 231,
1648 487, 487, 231, 487, 487, 231, 487, 1849, 487, 231,
1649 487, 499, 231, 499, 488, 1851, 1857, 488, 1863, 959,
1650 489, 1864, 450, 450, 489, 1854, 456, 500, 767, 767,
1651 767, 1867, 963, 457, 1868, 458, 977, 996, 996, 996,
1652 1401, 1869, 459, 450, 451, 231, 451, 450, 450, 450,
1653 450, 450, 450, 450, 452, 450, 450, 450, 1873, 450,
1654 454, 450, 455, 450, 499, 231, 499, 511, 231, 511,
1656 511, 231, 511, 1877, 231, 231, 231, 231, 231, 231,
1657 500, 1879, 1880, 512, 1881, 1856, 512, 1885, 450, 450,
1658 475, 1891, 456, 475, 976, 976, 976, 1892, 1893, 457,
1659 977, 458, 1894, 996, 996, 996, 1895, 1896, 459, 464,
1660 465, 231, 465, 464, 464, 464, 464, 464, 464, 464,
1661 466, 464, 464, 464, 1897, 464, 468, 464, 469, 464,
1662 511, 231, 511, 511, 231, 511, 511, 231, 511, 1898,
1663 511, 231, 511, 525, 231, 525, 512, 1899, 1900, 512,
1664 1906, 1915, 513, 1916, 464, 464, 513, 1049, 1921, 526,
1665 470, 1008, 1008, 1008, 1917, 1009, 1049, 1922, 1010, 976,
1667 976, 976, 1918, 1923, 471, 464, 465, 231, 465, 464,
1668 464, 464, 464, 464, 464, 464, 466, 464, 464, 464,
1669 1924, 464, 468, 464, 469, 464, 525, 231, 525, 231,
1670 231, 231, 231, 231, 231, 1919, 525, 231, 525, 525,
1671 231, 525, 526, 1920, 1928, 527, 1929, 1930, 527, 1932,
1672 464, 464, 526, 1933, 1934, 526, 470, 1018, 1018, 1018,
1673 1935, 1019, 1938, 1942, 1020, 996, 996, 996, 1943, 1948,
1674 471, 477, 478, 231, 478, 477, 477, 477, 477, 477,
1675 477, 477, 479, 477, 477, 477, 1949, 477, 481, 477,
1676 482, 477, 525, 231, 525, 525, 231, 525, 537, 231,
1678 537, 1401, 537, 231, 537, 547, 231, 547, 528, 1605,
1679 1950, 528, 1944, 1951, 538, 1606, 477, 477, 538, 1607,
1680 1945, 548, 483, 1608, 1953, 484, 1041, 1041, 1041, 1961,
1681 1042, 1971, 1855, 1043, 1401, 1401, 485, 477, 478, 231,
1682 478, 477, 477, 477, 477, 477, 477, 477, 479, 477,
1683 477, 477, 1975, 477, 481, 477, 482, 477, 547, 231,
1684 547, 231, 231, 231, 231, 231, 231, 1946, 547, 231,
1685 547, 547, 231, 547, 548, 1947, 1966, 307, 1976, 1977,
1686 307, 1967, 477, 477, 548, 1980, 1984, 548, 483, 1985,
1687 1986, 484, 1058, 1058, 1058, 1987, 1059, 1988, 1989, 1060,
1689 1990, 1991, 485, 490, 491, 231, 491, 490, 490, 490,
1690 490, 490, 490, 490, 492, 490, 490, 490, 1992, 490,
1691 494, 490, 495, 490, 547, 231, 547, 547, 231, 547,
1692 559, 231, 559, 1993, 559, 231, 559, 637, 1995, 1996,
1693 549, 2701, 2001, 549, 2002, 637, 560, 638, 490, 490,
1694 560, 1413, 1413, 1413, 496, 644, 1415, 1415, 1415, 497,
1695 490, 491, 231, 491, 490, 490, 490, 490, 490, 490,
1696 490, 492, 490, 490, 490, 639, 490, 494, 490, 495,
1697 490, 640, 2003, 639, 641, 640, 586, 2004, 641, 2005,
1698 642, 643, 2006, 2007, 646, 643, 598, 832, 832, 832,
1700 592, 2009, 1416, 2010, 2013, 490, 490, 2014, 1066, 1066,
1701 1066, 496, 1067, 2017, 833, 1068, 497, 501, 502, 231,
1702 502, 501, 501, 501, 501, 501, 501, 501, 503, 501,
1703 501, 501, 2018, 501, 505, 501, 506, 501, 847, 847,
1704 847, 852, 852, 852, 857, 857, 857, 869, 869, 869,
1705 879, 879, 879, 2019, 2020, 848, 2024, 2025, 853, 2026,
1706 2027, 858, 501, 501, 870, 2028, 2029, 880, 507, 2030,
1707 2031, 508, 1074, 1074, 1074, 2033, 1075, 2055, 2056, 1076,
1708 2057, 2058, 509, 501, 502, 231, 502, 501, 501, 501,
1709 501, 501, 501, 501, 503, 501, 501, 501, 1401, 501,
1711 505, 501, 506, 501, 882, 882, 882, 897, 897, 897,
1712 905, 905, 905, 910, 910, 910, 930, 930, 930, 2059,
1713 2064, 883, 2065, 2066, 898, 2067, 2068, 906, 501, 501,
1714 911, 2069, 1401, 931, 507, 2052, 2070, 508, 1091, 1091,
1715 1091, 2071, 1092, 2072, 2073, 1093, 2075, 2076, 509, 514,
1716 515, 231, 515, 514, 514, 514, 514, 514, 514, 514,
1717 516, 514, 514, 514, 2051, 514, 518, 514, 519, 514,
1718 949, 949, 949, 953, 953, 953, 2080, 2081, 972, 972,
1719 972, 972, 972, 972, 808, 808, 808, 950, 2082, 2083,
1720 954, 1003, 1003, 1003, 514, 514, 974, 2086, 2087, 974,
1722 2091, 809, 520, 2094, 521, 2095, 522, 2098, 2102, 1005,
1723 1419, 1419, 1419, 2103, 523, 514, 515, 231, 515, 514,
1724 514, 514, 514, 514, 514, 514, 516, 514, 514, 514,
1725 2104, 514, 518, 514, 519, 514, 2105, 2106, 975, 1013,
1726 1013, 1013, 2109, 2110, 1003, 1003, 1003, 1013, 1013, 1013,
1727 816, 816, 816, 2127, 1021, 1021, 1021, 1015, 2128, 1401,
1728 514, 514, 1005, 959, 2129, 1015, 2130, 817, 520, 2140,
1729 521, 1022, 522, 1422, 1422, 1422, 1431, 1431, 1431, 2141,
1730 523, 529, 530, 231, 530, 529, 529, 529, 529, 529,
1731 529, 529, 531, 529, 529, 529, 2125, 529, 533, 529,
1733 534, 529, 2124, 1006, 1024, 1024, 1024, 1029, 1029, 1029,
1734 1016, 1037, 1037, 1037, 1037, 1037, 1037, 2142, 1029, 1029,
1735 1029, 1025, 832, 832, 832, 1031, 529, 529, 2143, 1039,
1736 2144, 2145, 1039, 1106, 1106, 1106, 1031, 1107, 2146, 833,
1737 1108, 1110, 1110, 1110, 2147, 1111, 2148, 2149, 1112, 535,
1738 529, 530, 231, 530, 529, 529, 529, 529, 529, 529,
1739 529, 531, 529, 529, 529, 1032, 529, 533, 529, 534,
1740 529, 1045, 1045, 1045, 1045, 1045, 1045, 1040, 2151, 2152,
1741 847, 847, 847, 1062, 1062, 1062, 1062, 1062, 1062, 1047,
1742 2154, 2160, 1047, 2161, 2162, 529, 529, 848, 852, 852,
1744 852, 1064, 2166, 2133, 1064, 1130, 1130, 1130, 1401, 1131,
1745 2174, 1048, 1132, 2134, 2175, 853, 2135, 2176, 535, 539,
1746 540, 231, 540, 539, 539, 539, 539, 539, 539, 539,
1747 541, 539, 539, 539, 2198, 539, 543, 539, 544, 539,
1748 1070, 1070, 1070, 1070, 1070, 1070, 857, 857, 857, 2136,
1749 2126, 1065, 1078, 1078, 1078, 1078, 1078, 1078, 1072, 2137,
1750 2199, 1072, 2138, 858, 539, 539, 2200, 1142, 1142, 1142,
1751 1080, 1143, 2204, 1080, 1144, 545, 539, 540, 231, 540,
1752 539, 539, 539, 539, 539, 539, 539, 541, 539, 539,
1753 539, 959, 539, 543, 539, 544, 539, 2205, 1084, 1084,
1755 1084, 1084, 1084, 1084, 2206, 1096, 1096, 1096, 1073, 869,
1756 869, 869, 1096, 1096, 1096, 1081, 1086, 2207, 2208, 1086,
1757 2194, 539, 539, 1098, 2209, 2213, 870, 1454, 1454, 1454,
1758 1098, 2214, 545, 550, 551, 231, 551, 550, 550, 550,
1759 550, 550, 550, 550, 552, 550, 550, 550, 2215, 550,
1760 554, 550, 555, 550, 879, 879, 879, 882, 882, 882,
1761 1113, 1113, 1113, 2216, 2217, 1087, 1122, 1122, 1122, 2218,
1762 2210, 880, 1099, 2219, 883, 2184, 1401, 1114, 550, 550,
1763 1122, 1122, 1122, 2211, 1124, 2185, 1150, 1150, 1150, 556,
1764 1151, 2186, 2220, 1152, 1465, 1465, 1465, 1401, 1124, 2223,
1766 2231, 557, 550, 551, 231, 551, 550, 550, 550, 550,
1767 550, 550, 550, 552, 550, 550, 550, 2195, 550, 554,
1768 550, 555, 550, 897, 897, 897, 1133, 1133, 1133, 2232,
1769 2233, 1137, 1137, 1137, 1137, 1137, 1137, 1125, 2196, 2234,
1770 898, 2187, 2241, 1134, 905, 905, 905, 550, 550, 1139,
1771 2244, 2188, 1139, 2251, 1145, 1145, 1145, 2189, 556, 2252,
1772 2253, 906, 2254, 2255, 1145, 1145, 1145, 910, 910, 910,
1773 557, 565, 1147, 1156, 1156, 1156, 2256, 2263, 580, 1156,
1774 1156, 1156, 1147, 959, 911, 1140, 2264, 564, 581, 2265,
1775 2266, 1158, 1160, 1160, 1160, 2267, 2268, 1158, 1413, 1413,
1777 1413, 1162, 1162, 1162, 2701, 2701, 2701, 2269, 2270, 1161,
1778 1165, 1165, 1165, 2271, 2272, 582, 583, 584, 1163, 1401,
1779 2275, 2701, 585, 586, 1148, 587, 588, 2276, 1167, 589,
1780 2258, 590, 591, 592, 1159, 1165, 1165, 1165, 1170, 1170,
1781 1170, 2701, 2701, 2701, 1174, 1174, 1174, 2277, 2701, 2701,
1782 2701, 2278, 2279, 1167, 2259, 1171, 2280, 2281, 2701, 2282,
1783 2289, 1175, 1164, 2290, 2291, 2701, 1177, 1177, 1177, 2292,
1784 1177, 1177, 1177, 930, 930, 930, 1182, 1182, 1182, 2293,
1785 1183, 2294, 2298, 1184, 1179, 1185, 1185, 1185, 1179, 2307,
1786 931, 1172, 1185, 1185, 1185, 1168, 1189, 1189, 1189, 2701,
1788 2701, 2701, 2299, 1187, 2301, 1173, 1176, 1180, 2308, 2309,
1789 1187, 2310, 2300, 1190, 2302, 2311, 2701, 1193, 1193, 1193,
1790 1195, 1195, 1195, 1195, 1195, 1195, 1203, 1203, 1203, 2303,
1791 1209, 1209, 1209, 2305, 1194, 1203, 1203, 1203, 1197, 2304,
1792 2312, 1197, 2323, 2306, 1205, 2324, 2325, 1188, 1211, 1191,
1793 1209, 1209, 1209, 1205, 949, 949, 949, 1213, 1213, 1213,
1794 2326, 1214, 2327, 1192, 1215, 1216, 1216, 1216, 1211, 959,
1795 2328, 950, 1216, 1216, 1216, 953, 953, 953, 1220, 1220,
1796 1220, 2329, 1221, 1218, 2330, 1222, 1224, 1224, 1224, 2334,
1797 1218, 2335, 954, 1198, 1224, 1224, 1224, 2336, 1206, 972,
1799 972, 972, 2337, 2315, 1226, 972, 972, 972, 972, 972,
1800 972, 2338, 1226, 1212, 1262, 1262, 1262, 974, 1003, 1003,
1801 1003, 2339, 2343, 974, 2344, 2345, 974, 1003, 1003, 1003,
1802 2348, 1263, 1219, 1003, 1003, 1003, 1005, 1265, 1265, 1265,
1803 1008, 1008, 1008, 2353, 1009, 1005, 2354, 1010, 2701, 2701,
1804 2701, 1005, 2355, 2356, 1266, 1236, 2357, 1227, 1013, 1013,
1805 1013, 1013, 1013, 1013, 2358, 2701, 1013, 1013, 1013, 2359,
1806 1018, 1018, 1018, 2360, 1019, 2361, 1015, 1020, 2362, 1015,
1807 2363, 2364, 1264, 2371, 1015, 1021, 1021, 1021, 1271, 1271,
1808 1271, 2372, 1272, 2373, 2374, 1273, 2375, 1274, 1274, 1274,
1810 2376, 2377, 1022, 1024, 1024, 1024, 2378, 959, 1267, 1280,
1811 1280, 1280, 2379, 1269, 1275, 1276, 1276, 1276, 2380, 1277,
1812 1025, 2381, 1278, 1029, 1029, 1029, 1281, 1029, 1029, 1029,
1813 1029, 1029, 1029, 1286, 1286, 1286, 1037, 1037, 1037, 2382,
1814 2383, 1031, 1037, 1037, 1037, 1031, 2384, 2387, 1031, 2365,
1815 1287, 1037, 1037, 1037, 1039, 1041, 1041, 1041, 2388, 1042,
1816 1039, 2389, 1043, 1045, 1045, 1045, 1045, 1045, 1045, 1039,
1817 1291, 1291, 1291, 1058, 1058, 1058, 2393, 1059, 2400, 2401,
1818 1060, 1047, 2402, 2403, 1047, 1062, 1062, 1062, 1292, 1283,
1819 1062, 1062, 1062, 1062, 1062, 1062, 2404, 2405, 1289, 2406,
1821 1066, 1066, 1066, 1064, 1067, 2407, 2408, 1068, 1064, 2409,
1822 2410, 1064, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070,
1823 1070, 1074, 1074, 1074, 2411, 1075, 959, 2419, 1076, 2420,
1824 1072, 2421, 2422, 1072, 2423, 2424, 1072, 1306, 1306, 1306,
1825 1078, 1078, 1078, 1078, 1078, 1078, 1078, 1078, 1078, 1309,
1826 1309, 1309, 2414, 1303, 1307, 2701, 2701, 2701, 1080, 2425,
1827 2426, 1080, 2414, 2417, 1080, 2427, 1310, 1084, 1084, 1084,
1828 2428, 2412, 2701, 1084, 1084, 1084, 2415, 2429, 1305, 1084,
1829 1084, 1084, 2434, 1311, 2439, 1086, 1315, 1315, 1315, 2440,
1830 2441, 1086, 1091, 1091, 1091, 2442, 1092, 1086, 2430, 1093,
1832 1096, 1096, 1096, 1316, 1096, 1096, 1096, 1096, 1096, 1096,
1833 2431, 2432, 1308, 1106, 1106, 1106, 2445, 1107, 1098, 2445,
1834 1108, 2414, 1098, 2433, 2448, 1098, 1326, 1326, 1326, 1110,
1835 1110, 1110, 2449, 1111, 2450, 2415, 1112, 1113, 1113, 1113,
1836 1122, 1122, 1122, 1327, 1312, 1328, 1328, 1328, 2451, 1329,
1837 959, 2460, 1330, 2435, 1114, 1122, 1122, 1122, 1124, 1122,
1838 1122, 1122, 1130, 1130, 1130, 2436, 1131, 1401, 1402, 1132,
1839 2414, 1319, 2437, 1124, 1133, 1133, 1133, 1124, 1343, 1343,
1840 1343, 2417, 1344, 2463, 2438, 1345, 1137, 1137, 1137, 2468,
1841 2443, 1134, 1137, 1137, 1137, 1137, 1137, 1137, 1142, 1142,
1843 1142, 2471, 1143, 2445, 1139, 1144, 1145, 1145, 1145, 2473,
1844 1139, 2445, 2458, 1139, 1145, 1145, 1145, 1145, 1145, 1145,
1845 1156, 1156, 1156, 2474, 1147, 1338, 1150, 1150, 1150, 2475,
1846 1151, 2459, 1147, 1152, 2476, 1147, 2477, 2461, 1158, 1156,
1847 1156, 1156, 1156, 1156, 1156, 2487, 1348, 1160, 1160, 1160,
1848 2488, 1356, 1356, 1356, 2489, 1357, 2462, 1158, 1358, 2490,
1849 1158, 1162, 1162, 1162, 1161, 1359, 1359, 1359, 2491, 1360,
1850 2492, 2466, 1361, 1165, 1165, 1165, 2469, 2496, 1163, 1165,
1851 1165, 1165, 2497, 1350, 1165, 1165, 1165, 1170, 1170, 1170,
1852 2467, 1167, 1365, 1365, 1365, 2470, 1366, 1167, 2498, 1367,
1854 2499, 1355, 1167, 2500, 1171, 1174, 1174, 1174, 1370, 1370,
1855 1370, 2501, 1371, 2503, 2504, 1372, 1177, 1177, 1177, 1177,
1856 1177, 1177, 1175, 1177, 1177, 1177, 1182, 1182, 1182, 2505,
1857 1183, 2510, 2511, 1184, 1179, 2512, 2506, 1179, 1185, 1185,
1858 1185, 1179, 1185, 1185, 1185, 1185, 1185, 1185, 2507, 2513,
1859 1363, 1189, 1189, 1189, 2514, 2515, 1187, 1377, 1377, 1377,
1860 1187, 1378, 2508, 1187, 1379, 1193, 1193, 1193, 1190, 1382,
1861 1382, 1382, 2516, 1383, 2509, 2517, 1384, 1195, 1195, 1195,
1862 2518, 2519, 1194, 1195, 1195, 1195, 1374, 1195, 1195, 1195,
1863 1387, 1387, 1387, 2520, 2521, 1197, 1203, 1203, 1203, 959,
1865 2523, 1197, 2524, 2525, 1376, 1197, 2526, 1388, 1203, 1203,
1866 1203, 1203, 1203, 1203, 1205, 1209, 1209, 1209, 1209, 1209,
1867 1209, 1209, 1209, 1209, 2522, 2527, 1205, 2528, 2529, 1205,
1868 1213, 1213, 1213, 1211, 1214, 2530, 1211, 1215, 2531, 1211,
1869 1216, 1216, 1216, 1216, 1216, 1216, 2532, 2533, 1385, 1216,
1870 1216, 1216, 1220, 1220, 1220, 2534, 1221, 2535, 1218, 1222,
1871 2536, 1218, 1224, 1224, 1224, 2537, 2538, 1218, 1224, 1224,
1872 1224, 1391, 2539, 2540, 1394, 1224, 1224, 1224, 959, 2542,
1873 1226, 1400, 1400, 1400, 2543, 2544, 1226, 972, 972, 972,
1874 1262, 1262, 1262, 1226, 1434, 1434, 1434, 2541, 1435, 1401,
1876 1402, 1436, 1003, 1003, 1003, 974, 2545, 1263, 1395, 1265,
1877 1265, 1265, 1438, 1438, 1438, 2546, 1439, 2547, 2548, 1440,
1878 1005, 1013, 1013, 1013, 2549, 2550, 1266, 1271, 1271, 1271,
1879 2551, 1272, 2552, 2553, 1273, 1397, 1274, 1274, 1274, 1015,
1880 1445, 1445, 1445, 2554, 1446, 2555, 2556, 1447, 1280, 1280,
1881 1280, 2557, 1407, 1275, 1276, 1276, 1276, 2559, 1277, 1437,
1882 959, 1278, 1449, 1449, 1449, 1281, 1450, 2560, 2561, 1451,
1883 1443, 1029, 1029, 1029, 1286, 1286, 1286, 1456, 1456, 1456,
1884 2558, 1457, 2562, 2563, 1458, 1459, 1459, 1459, 2564, 1031,
1885 2565, 1287, 1037, 1037, 1037, 1291, 1291, 1291, 1466, 1466,
1887 1466, 2566, 1460, 1472, 1472, 1472, 1062, 1062, 1062, 2567,
1888 1039, 2568, 2569, 1292, 1070, 1070, 1070, 1306, 1306, 1306,
1889 1473, 1453, 2570, 2571, 1064, 2572, 1477, 1477, 1477, 2573,
1890 1478, 2574, 1072, 1479, 1307, 1078, 1078, 1078, 1309, 1309,
1891 1309, 1461, 959, 2576, 1416, 1481, 1481, 1481, 2575, 1482,
1892 2577, 2578, 1483, 1080, 2579, 1310, 1084, 1084, 1084, 1315,
1893 1315, 1315, 2580, 1488, 1488, 1488, 2581, 1489, 2582, 1474,
1894 1490, 1491, 1491, 1491, 1086, 2583, 1316, 1476, 1493, 1493,
1895 1493, 1096, 1096, 1096, 1500, 1500, 1500, 2584, 1492, 1326,
1896 1326, 1326, 2585, 2586, 1480, 1494, 1504, 1504, 1504, 1098,
1898 1505, 1501, 2587, 1506, 2589, 2590, 1327, 1328, 1328, 1328,
1899 2591, 1329, 2592, 2593, 1330, 2594, 1485, 1507, 1507, 1507,
1900 1122, 1122, 1122, 959, 1495, 1517, 1517, 1517, 1343, 1343,
1901 1343, 2595, 1344, 2596, 1508, 1345, 2598, 2588, 1124, 1521,
1902 1521, 1521, 1518, 1137, 1137, 1137, 1496, 1145, 1145, 1145,
1903 1530, 1530, 1530, 1156, 1156, 1156, 1522, 1165, 1165, 1165,
1904 2599, 1139, 1356, 1356, 1356, 1147, 1357, 1531, 2600, 1358,
1905 2601, 1158, 1359, 1359, 1359, 1167, 1360, 2602, 2603, 1361,
1906 1415, 1415, 1415, 2604, 1515, 1365, 1365, 1365, 2605, 1366,
1907 2608, 2609, 1367, 1370, 1370, 1370, 1532, 1371, 2610, 2611,
1909 1372, 1177, 1177, 1177, 2612, 2613, 1524, 959, 959, 1533,
1910 1600, 959, 1526, 1185, 1185, 1185, 1377, 1377, 1377, 1179,
1911 1378, 2622, 1535, 1379, 959, 959, 1536, 959, 1382, 1382,
1912 1382, 1187, 1383, 1598, 959, 1384, 1195, 1195, 1195, 1387,
1913 1387, 1387, 1547, 1547, 1547, 959, 1548, 2614, 2660, 1549,
1914 1203, 1203, 1203, 959, 1197, 2616, 1388, 1554, 1554, 1554,
1915 2615, 1540, 1209, 1209, 1209, 1558, 1558, 1558, 1205, 1542,
1916 1216, 1216, 1216, 2628, 1555, 1224, 1224, 1224, 959, 2624,
1917 1211, 2617, 1559, 1545, 1400, 1400, 1400, 959, 1218, 972,
1918 972, 972, 2618, 1226, 1415, 1415, 1415, 959, 2625, 1552,
1920 2619, 959, 1401, 1575, 1575, 1575, 959, 974, 1419, 1419,
1921 1419, 1422, 1422, 1422, 1580, 1580, 1580, 1583, 1583, 1583,
1922 1597, 2620, 1557, 1431, 1431, 1431, 1596, 1594, 1556, 1590,
1923 1590, 1590, 1003, 1003, 1003, 1562, 1560, 959, 1434, 1434,
1924 1434, 1567, 1435, 2629, 2621, 1436, 1013, 1013, 1013, 2626,
1925 1005, 1563, 1438, 1438, 1438, 959, 1439, 959, 959, 1440,
1926 1454, 1454, 1454, 1584, 1015, 1445, 1445, 1445, 2627, 1446,
1927 2623, 959, 1447, 959, 959, 1591, 959, 1581, 1449, 1449,
1928 1449, 959, 1450, 2676, 1593, 1451, 1029, 1029, 1029, 1456,
1929 1456, 1456, 2630, 1457, 959, 2631, 1458, 1595, 1592, 1459,
1931 1459, 1459, 1589, 959, 1031, 1609, 1609, 1609, 2634, 1610,
1932 2666, 2632, 1611, 1037, 1037, 1037, 1460, 1465, 1465, 1465,
1933 1466, 1466, 1466, 1616, 1616, 1616, 1616, 1616, 1616, 2635,
1934 959, 1039, 1580, 1580, 1580, 1472, 1472, 1472, 1620, 1620,
1935 1620, 1588, 1621, 2633, 959, 1622, 1599, 1062, 1062, 1062,
1936 959, 959, 1473, 1624, 1624, 1624, 1070, 1070, 1070, 1477,
1937 1477, 1477, 2640, 1478, 1612, 1064, 1479, 1078, 1078, 1078,
1938 1625, 1481, 1481, 1481, 1072, 1482, 2641, 959, 1483, 1628,
1939 1628, 1628, 1084, 1084, 1084, 1080, 1617, 2638, 2639, 1581,
1940 1491, 1491, 1491, 2642, 1623, 1617, 1629, 1488, 1488, 1488,
1942 1086, 1489, 959, 1626, 1490, 2643, 959, 1492, 1633, 1633,
1943 1633, 959, 1634, 2698, 959, 1635, 1493, 1493, 1493, 1636,
1944 1636, 1636, 2636, 1637, 959, 959, 1638, 959, 1640, 1640,
1945 1640, 959, 1627, 1494, 1642, 1642, 1642, 1500, 1500, 1500,
1946 1645, 1645, 1645, 2658, 1646, 1630, 1641, 1647, 1648, 1648,
1947 1648, 1504, 1504, 1504, 1501, 1505, 2637, 2654, 1506, 1507,
1948 1507, 1507, 1651, 1651, 1651, 1649, 1652, 2648, 2659, 1653,
1949 1654, 1654, 1654, 1660, 1660, 1660, 1508, 1122, 1122, 1122,
1950 1517, 1517, 1517, 1587, 1664, 1664, 1664, 1655, 1665, 1586,
1951 1661, 1666, 1667, 1667, 1667, 1124, 1585, 1518, 1521, 1521,
1953 1521, 1670, 1670, 1670, 959, 1671, 959, 959, 1672, 1668,
1954 1674, 1674, 1674, 959, 1582, 1522, 1145, 1145, 1145, 1530,
1955 1530, 1530, 1681, 1681, 1681, 959, 1682, 2674, 1675, 1683,
1956 1685, 1685, 1685, 959, 1147, 959, 1531, 1165, 1165, 1165,
1957 2655, 2644, 1662, 1690, 1690, 1690, 2649, 2646, 1686, 1692,
1958 1692, 1692, 2701, 2701, 2701, 1167, 1177, 1177, 1177, 2647,
1959 1691, 1185, 1185, 1185, 959, 959, 1693, 1677, 2645, 2701,
1960 1698, 1698, 1698, 959, 1179, 1700, 1700, 1700, 1579, 1187,
1961 1195, 1195, 1195, 1203, 1203, 1203, 959, 1699, 1688, 1547,
1962 1547, 1547, 1701, 1548, 1578, 959, 1549, 2656, 1197, 2652,
1964 2653, 1205, 1554, 1554, 1554, 2657, 959, 1697, 1577, 1708,
1965 1708, 1708, 2668, 1709, 959, 1694, 1710, 959, 2650, 1555,
1966 2670, 959, 1695, 1209, 1209, 1209, 959, 1216, 1216, 1216,
1967 1558, 1558, 1558, 1576, 1706, 1713, 1713, 1713, 1574, 1714,
1968 2651, 1211, 1715, 959, 1702, 1218, 2667, 1559, 1716, 1716,
1969 1716, 1722, 1722, 1722, 972, 972, 972, 1729, 1729, 1729,
1970 1575, 1575, 1575, 1735, 1735, 1735, 1717, 2661, 1723, 1580,
1971 1580, 1580, 974, 1736, 1736, 1736, 1583, 1583, 1583, 959,
1972 2664, 1711, 1712, 1739, 1739, 1739, 1740, 1740, 1740, 1590,
1973 1590, 1590, 1003, 1003, 1003, 1748, 1748, 1748, 1751, 1751,
1975 1751, 1029, 1029, 1029, 1755, 1755, 1755, 1037, 1037, 1037,
1976 1005, 1573, 959, 1749, 1724, 1752, 1609, 1609, 1609, 1031,
1977 1610, 1756, 959, 1611, 2662, 1039, 1768, 1768, 1768, 1616,
1978 1616, 1616, 1772, 1772, 1772, 1774, 1774, 1774, 1062, 1062,
1979 1062, 2669, 1745, 1769, 1620, 1620, 1620, 959, 1621, 959,
1980 959, 1622, 1775, 1767, 2688, 959, 1064, 2663, 959, 1754,
1981 1624, 1624, 1624, 1777, 1777, 1777, 959, 1778, 959, 1572,
1982 1779, 1070, 1070, 1070, 1781, 1781, 1781, 1625, 1628, 1628,
1983 1628, 1783, 1783, 1783, 2665, 1784, 959, 1571, 1785, 1072,
1984 2682, 1776, 1782, 959, 2672, 1629, 1084, 1084, 1084, 1633,
1986 1633, 1633, 2671, 1634, 2677, 2675, 1635, 959, 1636, 1636,
1987 1636, 2673, 1637, 959, 1086, 1638, 1640, 1640, 1640, 1642,
1988 1642, 1642, 959, 2678, 1780, 1645, 1645, 1645, 959, 1646,
1989 2679, 1570, 1647, 959, 1641, 1648, 1648, 1648, 1794, 1794,
1990 1794, 959, 1795, 1786, 2686, 1796, 1651, 1651, 1651, 959,
1991 1652, 959, 1649, 1653, 1654, 1654, 1654, 1798, 1798, 1798,
1992 959, 1799, 2680, 2683, 1800, 1801, 1801, 1801, 1660, 1660,
1993 1660, 1655, 1806, 1806, 1806, 959, 1807, 1569, 2684, 1808,
1994 1568, 2681, 1802, 2689, 959, 1661, 1122, 1122, 1122, 1664,
1995 1664, 1664, 2692, 1665, 2685, 1566, 1666, 1667, 1667, 1667,
1997 959, 1811, 1811, 1811, 1124, 1812, 2690, 959, 1813, 1670,
1998 1670, 1670, 2687, 1671, 1668, 959, 1672, 1674, 1674, 1674,
1999 1145, 1145, 1145, 1819, 1819, 1819, 1681, 1681, 1681, 959,
2000 1682, 2694, 2693, 1683, 1565, 1675, 959, 1809, 1147, 2696,
2001 1820, 1685, 1685, 1685, 1827, 1827, 1827, 1690, 1690, 1690,
2002 1830, 1830, 1830, 1564, 1831, 1401, 1553, 1832, 1551, 1686,
2003 1550, 1546, 1828, 1544, 1691, 1692, 1692, 1692, 2697, 1821,
2004 1833, 1833, 1833, 1543, 1834, 1541, 2695, 1835, 1177, 1177,
2005 1177, 1539, 1693, 1817, 1185, 1185, 1185, 1698, 1698, 1698,
2006 1840, 1840, 1840, 1538, 1841, 1537, 1179, 1842, 1700, 1700,
2008 1700, 2691, 1187, 2698, 1699, 1843, 1843, 1843, 1534, 1844,
2009 959, 1529, 1845, 1528, 959, 1701, 1195, 1195, 1195, 1203,
2010 1203, 1203, 1708, 1708, 1708, 1527, 1709, 1525, 1523, 1710,
2011 1209, 1209, 1209, 1839, 1197, 1520, 1519, 1205, 1216, 1216,
2012 1216, 1516, 1514, 1837, 1513, 1713, 1713, 1713, 1211, 1714,
2013 1512, 1511, 1715, 1716, 1716, 1716, 1218, 1722, 1722, 1722,
2014 1858, 1858, 1858, 1510, 1859, 1509, 1503, 1860, 972, 972,
2015 972, 1717, 1502, 1499, 1723, 1862, 1862, 1862, 1498, 1497,
2016 1846, 1852, 1487, 1850, 1486, 1484, 974, 1865, 1865, 1865,
2017 1475, 1853, 1729, 1729, 1729, 1866, 1866, 1866, 1870, 1870,
2019 1870, 1735, 1735, 1735, 1736, 1736, 1736, 1871, 1871, 1871,
2020 1739, 1739, 1739, 1740, 1740, 1740, 1874, 1874, 1874, 1875,
2021 1875, 1875, 1876, 1876, 1876, 1003, 1003, 1003, 1748, 1748,
2022 1748, 1861, 1751, 1751, 1751, 1882, 1882, 1882, 1471, 1883,
2023 1470, 1469, 1884, 1005, 1468, 1467, 1749, 1464, 1463, 1752,
2024 1886, 1886, 1886, 1872, 1755, 1755, 1755, 1888, 1888, 1888,
2025 1462, 1889, 1455, 1452, 1890, 1037, 1037, 1037, 1887, 1448,
2026 1444, 1756, 1768, 1768, 1768, 1442, 1878, 1902, 1902, 1902,
2027 1441, 1903, 1433, 1039, 1904, 1905, 1905, 1905, 1432, 1769,
2028 1772, 1772, 1772, 1907, 1907, 1907, 1774, 1774, 1774, 1909,
2030 1909, 1909, 1430, 1910, 1429, 1428, 1911, 1062, 1062, 1062,
2031 1070, 1070, 1070, 1775, 1901, 1777, 1777, 1777, 1427, 1778,
2032 1426, 1425, 1779, 1424, 1423, 1064, 1421, 1420, 1072, 1781,
2033 1781, 1781, 1418, 1783, 1783, 1783, 1417, 1784, 1414, 1908,
2034 1785, 1084, 1084, 1084, 1794, 1794, 1794, 1782, 1795, 1412,
2035 1411, 1796, 1410, 1798, 1798, 1798, 1409, 1799, 1912, 1086,
2036 1800, 1913, 1801, 1801, 1801, 1925, 1925, 1925, 1408, 1926,
2037 1406, 1405, 1927, 1806, 1806, 1806, 1404, 1807, 1403, 1802,
2038 1808, 1122, 1122, 1122, 1811, 1811, 1811, 1396, 1812, 1393,
2039 1392, 1813, 1390, 1389, 1914, 1936, 1936, 1936, 1386, 1124,
2041 1819, 1819, 1819, 1939, 1939, 1939, 1381, 1940, 1380, 1375,
2042 1941, 1373, 1369, 1937, 1827, 1827, 1827, 1820, 1830, 1830,
2043 1830, 1368, 1831, 1364, 1362, 1832, 1833, 1833, 1833, 1354,
2044 1834, 1353, 1828, 1835, 1177, 1177, 1177, 1185, 1185, 1185,
2045 1352, 1840, 1840, 1840, 1931, 1841, 1351, 1349, 1842, 1843,
2046 1843, 1843, 1179, 1844, 1347, 1187, 1845, 1195, 1195, 1195,
2047 1956, 1956, 1956, 2701, 2701, 2701, 2701, 2701, 2701, 1203,
2048 1203, 1203, 1209, 1209, 1209, 1197, 1346, 1957, 1342, 1341,
2049 2701, 1340, 1339, 2701, 1337, 1952, 1336, 1205, 1335, 1334,
2050 1211, 1333, 1332, 1955, 1963, 1963, 1963, 1965, 1965, 1965,
2052 1331, 1325, 1954, 1968, 1968, 1968, 1858, 1858, 1858, 1324,
2053 1859, 1323, 1964, 1860, 1958, 959, 972, 972, 972, 1862,
2054 1862, 1862, 1322, 1321, 1959, 1970, 1970, 1970, 1865, 1865,
2055 1865, 1962, 1320, 1960, 974, 1866, 1866, 1866, 1972, 1972,
2056 1972, 1973, 1973, 1973, 1974, 1974, 1974, 1870, 1870, 1870,
2057 1871, 1871, 1871, 1874, 1874, 1874, 1875, 1875, 1875, 1876,
2058 1876, 1876, 1978, 1978, 1978, 1981, 1981, 1981, 1882, 1882,
2059 1882, 1318, 1883, 1317, 1969, 1884, 2701, 2701, 2701, 1314,
2060 1979, 1313, 1982, 1886, 1886, 1886, 1304, 1888, 1888, 1888,
2061 1302, 1889, 1301, 2701, 1890, 1037, 1037, 1037, 1902, 1902,
2063 1902, 1887, 1903, 1300, 1299, 1904, 1905, 1905, 1905, 1907,
2064 1907, 1907, 1298, 1039, 1909, 1909, 1909, 1297, 1910, 1296,
2065 1295, 1911, 1062, 1062, 1062, 1998, 1998, 1998, 1084, 1084,
2066 1084, 2008, 2008, 2008, 1294, 1925, 1925, 1925, 1293, 1926,
2067 1064, 1983, 1927, 1999, 1290, 1288, 1086, 2011, 2011, 2011,
2068 1285, 2015, 2015, 2015, 1282, 1994, 1936, 1936, 1936, 2021,
2069 2021, 2021, 1279, 1270, 2012, 2032, 2032, 2032, 1997, 2016,
2070 1268, 1939, 1939, 1939, 1937, 1940, 2022, 1261, 1941, 2000,
2071 2034, 2034, 2034, 2036, 2036, 2036, 1185, 1185, 1185, 1195,
2072 1195, 1195, 1956, 1956, 1956, 2040, 2040, 2040, 2035, 2041,
2074 2037, 1259, 2042, 1258, 1187, 2023, 1257, 1197, 1256, 1957,
2075 2043, 2043, 2043, 2701, 2701, 2701, 2046, 2046, 2046, 2048,
2076 2048, 2048, 1209, 1209, 1209, 1255, 1254, 2044, 1253, 1252,
2077 2701, 1968, 1968, 1968, 2047, 1963, 1963, 1963, 1251, 1248,
2078 1211, 1965, 1965, 1965, 1247, 2038, 1970, 1970, 1970, 2039,
2079 2053, 2053, 2053, 1964, 1972, 1972, 1972, 1246, 1245, 959,
2080 1973, 1973, 1973, 1244, 2045, 1974, 1974, 1974, 2054, 1243,
2081 1978, 1978, 1978, 1981, 1981, 1981, 2060, 2060, 2060, 1242,
2082 2061, 1241, 1240, 2062, 2701, 2701, 2701, 2049, 1979, 1239,
2083 1982, 1037, 1037, 1037, 1062, 1062, 1062, 1998, 1998, 1998,
2085 1238, 2701, 2050, 2078, 2078, 2078, 2084, 2084, 2084, 1039,
2086 1237, 1235, 1064, 1234, 1233, 1999, 2008, 2008, 2008, 1232,
2087 1231, 2079, 1230, 2085, 2011, 2011, 2011, 2088, 2088, 2088,
2088 1229, 2089, 959, 1223, 2090, 2092, 2092, 2092, 1208, 2063,
2089 1207, 2012, 2015, 2015, 2015, 2096, 2096, 2096, 1202, 1201,
2090 2074, 1200, 2093, 2021, 2021, 2021, 2107, 2107, 2107, 2077,
2091 2016, 1199, 2097, 1181, 2099, 2099, 2099, 1169, 2100, 1155,
2092 2022, 2101, 1154, 2108, 2032, 2032, 2032, 2034, 2034, 2034,
2093 2036, 2036, 2036, 2111, 2111, 2111, 1153, 2112, 1149, 1141,
2094 2113, 2114, 2114, 2114, 1136, 2035, 1135, 2037, 1195, 1195,
2096 1195, 2040, 2040, 2040, 1129, 2041, 1126, 1121, 2042, 2115,
2097 2043, 2043, 2043, 2117, 2117, 2117, 1197, 2118, 1120, 1119,
2098 2119, 2120, 2120, 2120, 2046, 2046, 2046, 2044, 2048, 2048,
2099 2048, 2122, 2122, 2122, 2053, 2053, 2053, 1118, 2121, 2131,
2100 2131, 2131, 2047, 2060, 2060, 2060, 1117, 2061, 1116, 2123,
2101 2062, 1115, 2054, 2701, 2701, 2701, 2132, 1037, 1037, 1037,
2102 1062, 1062, 1062, 1109, 2116, 2078, 2078, 2078, 1102, 1101,
2103 2701, 2155, 2155, 2155, 1100, 1039, 1095, 1094, 1064, 2084,
2104 2084, 2084, 1090, 2079, 1089, 2157, 2157, 2157, 2156, 2158,
2105 1088, 1083, 2159, 2088, 2088, 2088, 2085, 2089, 1082, 1077,
2107 2090, 2092, 2092, 2092, 2163, 2163, 2163, 1069, 2164, 1061,
2108 1057, 2165, 1056, 2139, 1055, 1054, 2150, 1053, 2093, 2167,
2109 2167, 2167, 2096, 2096, 2096, 2169, 2169, 2169, 1052, 2170,
2110 2153, 1051, 2171, 2172, 2172, 2172, 2168, 1050, 1044, 2097,
2111 2099, 2099, 2099, 1036, 2100, 1035, 1034, 2101, 1033, 1028,
2112 2173, 2107, 2107, 2107, 2177, 2177, 2177, 1027, 2178, 1026,
2113 1023, 2179, 2180, 2180, 2180, 2182, 2182, 2182, 2108, 2111,
2114 2111, 2111, 1017, 2112, 1012, 1011, 2113, 1007, 1002, 2181,
2115 1001, 1000, 2183, 2114, 2114, 2114, 1195, 1195, 1195, 2117,
2116 2117, 2117, 999, 2118, 998, 997, 2119, 2120, 2120, 2120,
2118 995, 2115, 994, 993, 1197, 2191, 2191, 2191, 992, 2192,
2119 991, 990, 2193, 989, 2121, 2122, 2122, 2122, 2197, 2197,
2120 2197, 2131, 2131, 2131, 2201, 2201, 2201, 988, 2202, 987,
2121 986, 2203, 985, 2123, 984, 2701, 2701, 2701, 2132, 1037,
2122 1037, 1037, 2222, 2222, 2222, 1062, 1062, 1062, 2155, 2155,
2123 2155, 2190, 2701, 2225, 2225, 2225, 983, 1039, 982, 981,
2124 2228, 2228, 2228, 1064, 2229, 2156, 980, 2230, 979, 978,
2125 2226, 2157, 2157, 2157, 971, 2158, 970, 969, 2159, 2163,
2126 2163, 2163, 968, 2164, 967, 966, 2165, 2167, 2167, 2167,
2127 2221, 2235, 2235, 2235, 2212, 2236, 965, 962, 2237, 2227,
2129 960, 2169, 2169, 2169, 2168, 2170, 2224, 959, 2171, 2172,
2130 2172, 2172, 2238, 2238, 2238, 957, 2239, 955, 952, 2240,
2131 2242, 2242, 2242, 2177, 2177, 2177, 2173, 2178, 948, 946,
2132 2179, 2180, 2180, 2180, 2245, 2245, 2245, 2243, 2246, 945,
2133 944, 2247, 2182, 2182, 2182, 2248, 2248, 2248, 2181, 2249,
2134 942, 941, 2250, 1195, 1195, 1195, 2191, 2191, 2191, 2183,
2135 2192, 940, 939, 2193, 2260, 2260, 2260, 2197, 2197, 2197,
2136 938, 1197, 2262, 2262, 2262, 936, 2201, 2201, 2201, 935,
2137 2202, 2261, 1401, 2203, 2273, 2273, 2273, 1037, 1037, 1037,
2138 2222, 2222, 2222, 2284, 2284, 2284, 1062, 1062, 1062, 934,
2140 933, 2274, 929, 928, 2257, 1039, 2225, 2225, 2225, 2286,
2141 2286, 2286, 926, 2287, 1064, 925, 2288, 2228, 2228, 2228,
2142 924, 2229, 923, 2226, 2230, 2235, 2235, 2235, 922, 2236,
2143 921, 919, 2237, 2238, 2238, 2238, 2283, 2239, 918, 917,
2144 2240, 2242, 2242, 2242, 2295, 2295, 2295, 2285, 2296, 916,
2145 914, 2297, 2245, 2245, 2245, 913, 2246, 912, 2243, 2247,
2146 2248, 2248, 2248, 909, 2249, 908, 904, 2250, 2313, 2313,
2147 2313, 2316, 2316, 2316, 2260, 2260, 2260, 2318, 2318, 2318,
2148 903, 2319, 901, 900, 2320, 899, 2314, 896, 2317, 1401,
2149 895, 2261, 1401, 894, 893, 1401, 2262, 2262, 2262, 2321,
2151 2321, 2321, 2322, 2322, 2322, 2273, 2273, 2273, 2331, 2331,
2152 2331, 891, 2332, 890, 889, 2333, 1037, 1037, 1037, 2284,
2153 2284, 2284, 2274, 2341, 2341, 2341, 2286, 2286, 2286, 888,
2154 2287, 887, 886, 2288, 1039, 2346, 2346, 2346, 2349, 2349,
2155 2349, 2342, 2295, 2295, 2295, 885, 2296, 884, 881, 2297,
2156 878, 877, 2347, 874, 872, 2350, 2351, 2351, 2351, 2313,
2157 2313, 2313, 2316, 2316, 2316, 2366, 2366, 2366, 871, 2367,
2158 866, 865, 2368, 2352, 2321, 2321, 2321, 2314, 863, 2317,
2159 1401, 2340, 862, 1401, 2318, 2318, 2318, 861, 2319, 859,
2160 856, 2320, 2322, 2322, 2322, 2385, 2385, 2385, 2341, 2341,
2162 2341, 854, 1401, 1399, 1399, 1399, 1399, 1399, 1399, 1399,
2163 1399, 1399, 851, 2386, 1399, 849, 2342, 846, 843, 1399,
2164 1399, 1399, 1401, 1399, 2331, 2331, 2331, 842, 2332, 840,
2165 839, 2333, 2390, 2390, 2390, 838, 2391, 837, 836, 2392,
2166 834, 831, 2346, 2346, 2346, 2349, 2349, 2349, 1399, 1399,
2167 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 2347,
2168 829, 1399, 2350, 2351, 2351, 2351, 1399, 1399, 1399, 1401,
2169 1399, 2394, 2394, 2394, 828, 2395, 827, 825, 2396, 823,
2170 2352, 2397, 2397, 2397, 822, 2398, 821, 820, 2399, 819,
2171 2366, 2366, 2366, 818, 2367, 1399, 1399, 2368, 815, 814,
2173 2385, 2385, 2385, 2447, 2447, 2447, 813, 810, 1401, 1399,
2174 1399, 1399, 1399, 1399, 2418, 1399, 1399, 1399, 2386, 807,
2175 1399, 1401, 1402, 806, 804, 1399, 1399, 1399, 1401, 1399,
2176 2390, 2390, 2390, 803, 2391, 800, 798, 2392, 2394, 2394,
2177 2394, 795, 2395, 794, 786, 2396, 2397, 2397, 2397, 785,
2178 2398, 784, 781, 2399, 1399, 1399, 1399, 1399, 1399, 1399,
2179 1399, 1399, 1399, 1399, 2418, 780, 779, 1399, 2452, 2452,
2180 2452, 778, 1399, 1399, 1399, 1401, 1399, 2454, 2454, 2454,
2181 2456, 2456, 2456, 776, 775, 2453, 2464, 2464, 2464, 2472,
2182 2472, 2472, 774, 773, 2455, 772, 771, 2457, 2447, 2447,
2184 2447, 1399, 1399, 2465, 2452, 2452, 2452, 959, 2478, 2478,
2185 2478, 766, 2479, 763, 765, 2480, 1401, 2454, 2454, 2454,
2186 760, 2453, 2481, 2481, 2481, 759, 2482, 757, 755, 2483,
2187 2456, 2456, 2456, 753, 2455, 2484, 2484, 2484, 751, 2485,
2188 749, 2701, 2486, 2464, 2464, 2464, 746, 2457, 745, 1562,
2189 2493, 2493, 2493, 744, 2494, 743, 741, 2495, 740, 739,
2190 2465, 2472, 2472, 2472, 2478, 2478, 2478, 738, 2479, 737,
2191 735, 2480, 733, 2481, 2481, 2481, 732, 2482, 730, 959,
2192 2483, 2484, 2484, 2484, 729, 2485, 726, 725, 2486, 2493,
2193 2493, 2493, 723, 2494, 587, 2701, 2495, 718, 2502, 2597,
2195 2597, 2597, 2597, 2597, 2597, 716, 2606, 712, 711, 2607,
2196 2699, 2699, 2699, 2699, 2699, 2699, 710, 959, 708, 706,
2197 959, 705, 703, 701, 700, 699, 698, 697, 2700, 696,
2198 695, 2700, 228, 228, 228, 228, 228, 228, 228, 228,
2199 228, 229, 229, 229, 229, 229, 229, 229, 229, 229,
2200 234, 234, 234, 234, 234, 234, 234, 234, 234, 237,
2201 237, 237, 237, 237, 237, 237, 237, 237, 240, 240,
2202 240, 240, 240, 240, 240, 240, 240, 243, 243, 243,
2203 243, 243, 243, 243, 243, 243, 250, 250, 250, 250,
2204 250, 250, 250, 250, 250, 258, 258, 258, 258, 258,
2206 258, 258, 258, 258, 262, 262, 262, 262, 262, 262,
2207 262, 262, 262, 274, 274, 274, 274, 274, 274, 274,
2208 274, 274, 278, 278, 278, 278, 278, 278, 278, 278,
2209 278, 285, 285, 285, 285, 285, 285, 285, 285, 285,
2210 296, 296, 296, 296, 296, 296, 296, 296, 296, 304,
2211 304, 304, 304, 304, 304, 304, 304, 304, 312, 312,
2212 312, 312, 312, 312, 312, 312, 312, 318, 318, 318,
2213 318, 318, 318, 318, 318, 318, 324, 324, 324, 324,
2214 324, 324, 324, 324, 324, 329, 329, 329, 329, 329,
2215 329, 329, 329, 329, 346, 346, 346, 346, 346, 346,
2217 346, 346, 346, 352, 352, 352, 352, 352, 352, 352,
2218 352, 352, 359, 359, 359, 359, 359, 359, 359, 359,
2219 359, 364, 364, 364, 364, 364, 364, 364, 364, 364,
2220 371, 371, 371, 371, 371, 371, 371, 371, 371, 376,
2221 376, 376, 376, 376, 376, 376, 376, 376, 382, 382,
2222 382, 382, 382, 382, 382, 382, 382, 387, 387, 387,
2223 387, 387, 387, 387, 387, 387, 393, 393, 393, 393,
2224 393, 393, 393, 393, 393, 401, 401, 401, 401, 401,
2225 401, 401, 401, 401, 420, 420, 420, 420, 420, 420,
2226 420, 420, 420, 436, 436, 436, 436, 436, 436, 436,
2228 436, 436, 442, 442, 442, 442, 442, 442, 442, 442,
2229 442, 447, 447, 447, 447, 447, 447, 447, 447, 447,
2230 453, 453, 453, 453, 453, 453, 453, 453, 453, 460,
2231 460, 460, 460, 460, 460, 460, 460, 460, 467, 467,
2232 467, 467, 467, 467, 467, 467, 467, 472, 472, 472,
2233 472, 472, 472, 472, 472, 472, 480, 480, 480, 480,
2234 480, 480, 480, 480, 480, 486, 486, 486, 486, 486,
2235 486, 486, 486, 486, 493, 493, 493, 493, 493, 493,
2236 493, 493, 493, 498, 498, 498, 498, 498, 498, 498,
2237 498, 498, 504, 504, 504, 504, 504, 504, 504, 504,
2239 504, 510, 510, 510, 510, 510, 510, 510, 510, 510,
2240 517, 517, 517, 517, 517, 517, 517, 517, 517, 524,
2241 524, 524, 524, 524, 524, 524, 524, 524, 532, 532,
2242 532, 532, 532, 532, 532, 532, 532, 536, 536, 536,
2243 536, 536, 536, 536, 536, 536, 542, 542, 542, 542,
2244 542, 542, 542, 542, 542, 546, 546, 546, 546, 546,
2245 546, 546, 546, 546, 553, 553, 553, 553, 553, 553,
2246 553, 553, 553, 558, 558, 558, 558, 558, 558, 558,
2247 558, 558, 578, 578, 578, 693, 684, 683, 578, 604,
2248 604, 604, 682, 679, 677, 604, 608, 608, 608, 2701,
2250 674, 673, 608, 616, 616, 616, 672, 671, 670, 616,
2251 628, 628, 628, 668, 666, 665, 628, 634, 634, 634,
2252 663, 661, 660, 634, 648, 648, 648, 658, 656, 655,
2253 648, 654, 654, 654, 653, 651, 650, 654, 659, 659,
2254 659, 649, 647, 2701, 659, 664, 664, 664, 595, 636,
2255 635, 664, 669, 669, 669, 633, 631, 630, 669, 678,
2256 678, 678, 629, 627, 622, 678, 694, 694, 694, 618,
2257 617, 615, 694, 704, 704, 704, 614, 611, 610, 704,
2258 709, 709, 709, 609, 607, 606, 709, 717, 717, 717,
2259 605, 603, 598, 717, 724, 724, 724, 2701, 579, 577,
2261 724, 731, 731, 731, 575, 569, 568, 731, 736, 736,
2262 736, 569, 568, 567, 736, 742, 742, 742, 566, 2701,
2263 2701, 742, 750, 750, 750, 2701, 2701, 2701, 750, 754,
2264 754, 754, 2701, 2701, 2701, 754, 758, 758, 758, 2701,
2265 2701, 2701, 758, 762, 762, 762, 762, 762, 762, 762,
2266 2701, 762, 578, 578, 578, 2701, 2701, 2701, 578, 777,
2267 2701, 2701, 2701, 777, 604, 604, 604, 2701, 2701, 2701,
2268 604, 805, 2701, 2701, 2701, 805, 608, 608, 608, 2701,
2269 2701, 2701, 608, 812, 2701, 2701, 2701, 812, 616, 616,
2270 616, 2701, 2701, 2701, 616, 824, 2701, 2701, 2701, 824,
2272 628, 628, 628, 2701, 2701, 2701, 628, 830, 2701, 2701,
2273 2701, 830, 634, 634, 634, 2701, 2701, 2701, 634, 835,
2274 2701, 2701, 2701, 835, 648, 648, 648, 2701, 2701, 2701,
2275 648, 850, 2701, 2701, 2701, 850, 654, 654, 654, 2701,
2276 2701, 2701, 654, 855, 2701, 2701, 2701, 855, 659, 659,
2277 659, 2701, 2701, 2701, 659, 860, 2701, 2701, 2701, 860,
2278 664, 664, 664, 2701, 2701, 2701, 664, 864, 2701, 2701,
2279 2701, 864, 669, 669, 669, 2701, 2701, 2701, 669, 873,
2280 2701, 2701, 2701, 873, 678, 678, 678, 2701, 2701, 2701,
2281 678, 892, 2701, 2701, 2701, 892, 694, 694, 694, 2701,
2283 2701, 2701, 694, 902, 2701, 2701, 2701, 902, 704, 704,
2284 704, 2701, 2701, 2701, 704, 907, 2701, 2701, 2701, 907,
2285 709, 709, 709, 2701, 2701, 2701, 709, 915, 2701, 2701,
2286 2701, 915, 717, 717, 717, 2701, 2701, 2701, 717, 920,
2287 2701, 2701, 2701, 920, 724, 724, 724, 2701, 2701, 2701,
2288 724, 927, 2701, 2701, 2701, 927, 731, 731, 731, 2701,
2289 2701, 2701, 731, 932, 2701, 2701, 2701, 932, 736, 736,
2290 736, 2701, 2701, 2701, 736, 937, 2701, 2701, 2701, 937,
2291 742, 742, 742, 2701, 2701, 2701, 742, 943, 2701, 2701,
2292 2701, 943, 750, 750, 750, 2701, 2701, 2701, 750, 947,
2294 2701, 2701, 2701, 947, 754, 754, 754, 2701, 2701, 2701,
2295 754, 951, 2701, 2701, 2701, 951, 758, 758, 758, 2701,
2296 2701, 2701, 758, 956, 2701, 2701, 2701, 956, 958, 958,
2297 958, 958, 958, 958, 958, 958, 958, 964, 2701, 2701,
2298 2701, 2701, 964, 578, 578, 578, 2701, 2701, 2701, 578,
2299 973, 973, 973, 973, 2701, 2701, 973, 973, 604, 604,
2300 604, 2701, 2701, 2701, 604, 1004, 1004, 1004, 1004, 2701,
2301 2701, 1004, 1004, 608, 608, 608, 2701, 2701, 2701, 608,
2302 1014, 1014, 1014, 1014, 2701, 2701, 1014, 1014, 616, 616,
2303 616, 2701, 2701, 2701, 616, 1030, 1030, 1030, 1030, 2701,
2305 2701, 1030, 1030, 628, 628, 628, 2701, 2701, 2701, 628,
2306 1038, 1038, 1038, 1038, 2701, 2701, 1038, 1038, 634, 634,
2307 634, 2701, 2701, 2701, 634, 1046, 1046, 1046, 1046, 2701,
2308 2701, 1046, 1046, 648, 648, 648, 2701, 2701, 2701, 648,
2309 1063, 1063, 1063, 1063, 2701, 2701, 1063, 1063, 654, 654,
2310 654, 2701, 2701, 2701, 654, 1071, 1071, 1071, 1071, 2701,
2311 2701, 1071, 1071, 659, 659, 659, 2701, 2701, 2701, 659,
2312 1079, 1079, 1079, 1079, 2701, 2701, 1079, 1079, 664, 664,
2313 664, 2701, 2701, 2701, 664, 1085, 1085, 1085, 1085, 2701,
2314 2701, 1085, 1085, 669, 669, 669, 2701, 2701, 2701, 669,
2316 1097, 1097, 1097, 1097, 2701, 2701, 1097, 1097, 678, 678,
2317 678, 2701, 2701, 2701, 678, 1123, 1123, 1123, 1123, 2701,
2318 2701, 1123, 1123, 694, 694, 694, 2701, 2701, 2701, 694,
2319 1138, 1138, 1138, 1138, 2701, 2701, 1138, 1138, 704, 704,
2320 704, 2701, 2701, 2701, 704, 1146, 1146, 1146, 1146, 2701,
2321 2701, 1146, 1146, 709, 709, 709, 2701, 2701, 2701, 709,
2322 1157, 1157, 1157, 1157, 2701, 2701, 1157, 1157, 717, 717,
2323 717, 717, 2701, 717, 2701, 717, 1166, 1166, 1166, 1166,
2324 2701, 2701, 1166, 1166, 724, 724, 724, 724, 2701, 724,
2325 2701, 724, 1178, 1178, 1178, 1178, 2701, 2701, 1178, 1178,
2327 731, 731, 731, 2701, 2701, 2701, 731, 1186, 1186, 1186,
2328 1186, 2701, 2701, 1186, 1186, 736, 736, 736, 736, 2701,
2329 736, 2701, 736, 1196, 1196, 1196, 1196, 2701, 2701, 1196,
2330 1196, 742, 742, 742, 2701, 2701, 2701, 742, 1204, 1204,
2331 1204, 1204, 2701, 2701, 1204, 1204, 750, 750, 750, 2701,
2332 2701, 2701, 750, 1210, 1210, 1210, 1210, 2701, 2701, 1210,
2333 1210, 1217, 1217, 1217, 1217, 2701, 2701, 1217, 1217, 758,
2334 758, 758, 2701, 2701, 2701, 758, 1225, 1225, 1225, 1225,
2335 2701, 2701, 1225, 1225, 958, 958, 958, 958, 958, 958,
2336 958, 958, 958, 964, 2701, 964, 2701, 2701, 964, 578,
2338 578, 578, 2701, 2701, 2701, 578, 973, 973, 973, 973,
2339 2701, 2701, 973, 973, 604, 604, 604, 604, 2701, 604,
2340 2701, 604, 1004, 1004, 1004, 1004, 2701, 2701, 1004, 1004,
2341 608, 608, 608, 608, 2701, 608, 2701, 608, 1014, 1014,
2342 1014, 1014, 2701, 2701, 1014, 1014, 616, 616, 616, 2701,
2343 2701, 2701, 616, 1030, 1030, 1030, 1030, 2701, 2701, 1030,
2344 1030, 628, 628, 628, 2701, 2701, 2701, 628, 1038, 1038,
2345 1038, 1038, 2701, 2701, 1038, 1038, 634, 634, 634, 2701,
2346 2701, 2701, 634, 1046, 1046, 1046, 1046, 2701, 2701, 1046,
2347 1046, 648, 648, 648, 2701, 2701, 2701, 648, 1063, 1063,
2349 1063, 1063, 2701, 2701, 1063, 1063, 654, 654, 654, 2701,
2350 2701, 2701, 654, 1071, 1071, 1071, 1071, 2701, 2701, 1071,
2351 1071, 659, 659, 659, 659, 2701, 659, 2701, 659, 1079,
2352 1079, 1079, 1079, 2701, 2701, 1079, 1079, 664, 664, 664,
2353 664, 2701, 664, 2701, 664, 1085, 1085, 1085, 1085, 2701,
2354 2701, 1085, 1085, 669, 669, 669, 2701, 2701, 2701, 669,
2355 1097, 1097, 1097, 1097, 2701, 2701, 1097, 1097, 678, 678,
2356 678, 2701, 2701, 2701, 678, 1123, 1123, 1123, 1123, 2701,
2357 2701, 1123, 1123, 694, 694, 694, 2701, 2701, 2701, 694,
2358 1138, 1138, 1138, 1138, 2701, 2701, 1138, 1138, 704, 704,
2360 704, 2701, 2701, 2701, 704, 1146, 1146, 1146, 1146, 2701,
2361 2701, 1146, 1146, 709, 709, 709, 2701, 2701, 2701, 709,
2362 1157, 1157, 1157, 1157, 2701, 2701, 1157, 1157, 717, 717,
2363 717, 2701, 2701, 2701, 717, 1166, 1166, 1166, 1166, 2701,
2364 2701, 1166, 1166, 724, 724, 724, 2701, 2701, 2701, 724,
2365 1178, 1178, 1178, 1178, 2701, 2701, 1178, 1178, 731, 731,
2366 731, 2701, 2701, 2701, 731, 1186, 1186, 1186, 1186, 2701,
2367 2701, 1186, 1186, 736, 736, 736, 2701, 2701, 2701, 736,
2368 1196, 1196, 1196, 1196, 2701, 2701, 1196, 1196, 742, 742,
2369 742, 2701, 2701, 2701, 742, 1204, 1204, 1204, 1204, 2701,
2371 2701, 1204, 1204, 750, 750, 750, 2701, 2701, 2701, 750,
2372 1210, 1210, 1210, 1210, 2701, 2701, 1210, 1210, 1217, 1217,
2373 1217, 1217, 2701, 2701, 1217, 1217, 758, 758, 758, 2701,
2374 2701, 2701, 758, 1225, 1225, 1225, 1225, 2701, 2701, 1225,
2375 1225, 958, 958, 958, 958, 958, 958, 958, 958, 958,
2376 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 578,
2377 578, 578, 2701, 2701, 2701, 578, 973, 973, 973, 973,
2378 2701, 2701, 973, 973, 1004, 1004, 1004, 1004, 2701, 2701,
2379 1004, 1004, 608, 608, 608, 2701, 2701, 2701, 608, 1014,
2380 1014, 1014, 1014, 2701, 2701, 1014, 1014, 616, 616, 616,
2382 2701, 2701, 2701, 616, 1030, 1030, 1030, 1030, 2701, 2701,
2383 1030, 1030, 628, 628, 628, 2701, 2701, 2701, 628, 1038,
2384 1038, 1038, 1038, 2701, 2701, 1038, 1038, 634, 634, 634,
2385 2701, 2701, 2701, 634, 648, 648, 648, 2701, 2701, 2701,
2386 648, 1063, 1063, 1063, 1063, 2701, 2701, 1063, 1063, 654,
2387 654, 654, 2701, 2701, 2701, 654, 1071, 1071, 1071, 1071,
2388 2701, 2701, 1071, 1071, 1079, 1079, 1079, 1079, 2701, 2701,
2389 1079, 1079, 664, 664, 664, 2701, 2701, 2701, 664, 1085,
2390 1085, 1085, 1085, 2701, 2701, 1085, 1085, 669, 669, 669,
2391 2701, 2701, 2701, 669, 1097, 1097, 1097, 1097, 2701, 2701,
2393 1097, 1097, 678, 678, 678, 2701, 2701, 2701, 678, 1123,
2394 1123, 1123, 1123, 2701, 2701, 1123, 1123, 694, 694, 694,
2395 2701, 2701, 2701, 694, 1138, 1138, 1138, 1138, 2701, 2701,
2396 1138, 1138, 704, 704, 704, 2701, 2701, 2701, 704, 1146,
2397 1146, 1146, 1146, 2701, 2701, 1146, 1146, 709, 709, 709,
2398 2701, 2701, 2701, 709, 1157, 1157, 1157, 1157, 2701, 2701,
2399 1157, 1157, 717, 717, 717, 2701, 2701, 2701, 717, 1166,
2400 1166, 1166, 1166, 2701, 2701, 1166, 1166, 724, 724, 724,
2401 2701, 2701, 2701, 724, 1178, 1178, 1178, 1178, 2701, 2701,
2402 1178, 1178, 731, 731, 731, 2701, 2701, 2701, 731, 1186,
2404 1186, 1186, 1186, 2701, 2701, 1186, 1186, 736, 736, 736,
2405 2701, 2701, 2701, 736, 1196, 1196, 1196, 1196, 2701, 2701,
2406 1196, 1196, 742, 742, 742, 2701, 2701, 2701, 742, 1204,
2407 1204, 1204, 1204, 2701, 2701, 1204, 1204, 750, 750, 750,
2408 750, 2701, 750, 2701, 750, 1210, 1210, 1210, 1210, 2701,
2409 2701, 1210, 1210, 1217, 1217, 1217, 1217, 2701, 2701, 1217,
2410 1217, 758, 758, 758, 758, 2701, 758, 2701, 758, 1225,
2411 1225, 1225, 1225, 2701, 2701, 1225, 1225, 958, 958, 958,
2412 958, 958, 958, 958, 958, 958, 1399, 1399, 1399, 1399,
2413 1399, 1399, 1399, 1399, 1399, 578, 578, 578, 2701, 2701,
2415 2701, 578, 973, 973, 973, 973, 2701, 2701, 973, 973,
2416 1004, 1004, 1004, 1004, 2701, 2701, 1004, 1004, 608, 608,
2417 608, 2701, 2701, 2701, 608, 1014, 1014, 1014, 1014, 2701,
2418 2701, 1014, 1014, 616, 616, 616, 2701, 2701, 2701, 616,
2419 1030, 1030, 1030, 1030, 2701, 2701, 1030, 1030, 628, 628,
2420 628, 2701, 2701, 2701, 628, 1038, 1038, 1038, 1038, 2701,
2421 2701, 1038, 1038, 634, 634, 634, 2701, 2701, 2701, 634,
2422 648, 648, 648, 2701, 2701, 2701, 648, 1063, 1063, 1063,
2423 1063, 2701, 2701, 1063, 1063, 654, 654, 654, 654, 2701,
2424 654, 2701, 654, 1071, 1071, 1071, 1071, 2701, 2701, 1071,
2426 1071, 1079, 1079, 1079, 1079, 2701, 2701, 1079, 1079, 664,
2427 664, 664, 664, 2701, 664, 2701, 664, 1085, 1085, 1085,
2428 1085, 2701, 2701, 1085, 1085, 669, 669, 669, 2701, 2701,
2429 2701, 669, 1097, 1097, 1097, 1097, 2701, 2701, 1097, 1097,
2430 678, 678, 678, 2701, 2701, 2701, 678, 1123, 1123, 1123,
2431 1123, 2701, 2701, 1123, 1123, 694, 694, 694, 2701, 2701,
2432 2701, 694, 1138, 1138, 1138, 1138, 2701, 2701, 1138, 1138,
2433 704, 704, 704, 2701, 2701, 2701, 704, 1146, 1146, 1146,
2434 1146, 2701, 2701, 1146, 1146, 709, 709, 709, 2701, 2701,
2435 2701, 709, 1157, 1157, 1157, 1157, 2701, 2701, 1157, 1157,
2437 717, 717, 717, 2701, 2701, 2701, 717, 1166, 1166, 1166,
2438 1166, 2701, 2701, 1166, 1166, 724, 724, 724, 724, 2701,
2439 724, 2701, 724, 1178, 1178, 1178, 1178, 2701, 2701, 1178,
2440 1178, 731, 731, 731, 2701, 2701, 2701, 731, 1186, 1186,
2441 1186, 1186, 2701, 2701, 1186, 1186, 736, 736, 736, 736,
2442 2701, 736, 2701, 736, 1196, 1196, 1196, 1196, 2701, 2701,
2443 1196, 1196, 742, 742, 742, 2701, 2701, 2701, 742, 1204,
2444 1204, 1204, 1204, 2701, 2701, 1204, 1204, 1210, 1210, 1210,
2445 1210, 2701, 2701, 1210, 1210, 1217, 1217, 1217, 1217, 2701,
2446 2701, 1217, 1217, 1225, 1225, 1225, 1225, 2701, 2701, 1225,
2448 1225, 958, 958, 958, 958, 958, 958, 958, 958, 958,
2449 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 578,
2450 578, 578, 578, 2701, 578, 2701, 578, 973, 973, 973,
2451 973, 2701, 2701, 973, 973, 1004, 1004, 1004, 1004, 2701,
2452 2701, 1004, 1004, 608, 608, 608, 2701, 2701, 2701, 608,
2453 1014, 1014, 1014, 1014, 2701, 2701, 1014, 1014, 616, 616,
2454 616, 2701, 2701, 2701, 616, 1030, 1030, 1030, 1030, 2701,
2455 2701, 1030, 1030, 628, 628, 628, 628, 2701, 628, 2701,
2456 628, 1038, 1038, 1038, 1038, 2701, 2701, 1038, 1038, 634,
2457 634, 634, 634, 2701, 634, 2701, 634, 648, 648, 648,
2459 648, 2701, 648, 2701, 648, 1063, 1063, 1063, 1063, 2701,
2460 2701, 1063, 1063, 1071, 1071, 1071, 1071, 2701, 2701, 1071,
2461 1071, 1079, 1079, 1079, 1079, 2701, 2701, 1079, 1079, 1085,
2462 1085, 1085, 1085, 2701, 2701, 1085, 1085, 669, 669, 669,
2463 2701, 2701, 2701, 669, 678, 678, 678, 2701, 2701, 2701,
2464 678, 1123, 1123, 1123, 1123, 2701, 2701, 1123, 1123, 694,
2465 694, 694, 2701, 2701, 2701, 694, 704, 704, 704, 2701,
2466 2701, 2701, 704, 1146, 1146, 1146, 1146, 2701, 2701, 1146,
2467 1146, 709, 709, 709, 2701, 2701, 2701, 709, 717, 717,
2468 717, 2701, 2701, 2701, 717, 1166, 1166, 1166, 1166, 2701,
2470 2701, 1166, 1166, 724, 724, 724, 2701, 2701, 2701, 724,
2471 1178, 1178, 1178, 1178, 2701, 2701, 1178, 1178, 731, 731,
2472 731, 2701, 2701, 2701, 731, 1186, 1186, 1186, 1186, 2701,
2473 2701, 1186, 1186, 1196, 1196, 1196, 1196, 2701, 2701, 1196,
2474 1196, 742, 742, 742, 2701, 2701, 2701, 742, 1204, 1204,
2475 1204, 1204, 2701, 2701, 1204, 1204, 1210, 1210, 1210, 1210,
2476 2701, 2701, 1210, 1210, 1217, 1217, 1217, 1217, 2701, 2701,
2477 1217, 1217, 958, 958, 958, 958, 958, 958, 958, 958,
2478 958, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399,
2479 973, 973, 973, 973, 2701, 2701, 973, 973, 1004, 1004,
2481 1004, 1004, 2701, 2701, 1004, 1004, 608, 608, 608, 2701,
2482 2701, 2701, 608, 616, 616, 616, 2701, 2701, 2701, 616,
2483 1030, 1030, 1030, 1030, 2701, 2701, 1030, 1030, 1038, 1038,
2484 1038, 1038, 2701, 2701, 1038, 1038, 1063, 1063, 1063, 1063,
2485 2701, 2701, 1063, 1063, 1071, 1071, 1071, 1071, 2701, 2701,
2486 1071, 1071, 1085, 1085, 1085, 1085, 2701, 2701, 1085, 1085,
2487 669, 669, 669, 2701, 2701, 2701, 669, 678, 678, 678,
2488 2701, 2701, 2701, 678, 1123, 1123, 1123, 1123, 2701, 2701,
2489 1123, 1123, 694, 694, 694, 2701, 2701, 2701, 694, 704,
2490 704, 704, 2701, 2701, 2701, 704, 1146, 1146, 1146, 1146,
2492 2701, 2701, 1146, 1146, 709, 709, 709, 2701, 2701, 2701,
2493 709, 717, 717, 717, 2701, 2701, 2701, 717, 724, 724,
2494 724, 2701, 2701, 2701, 724, 1178, 1178, 1178, 1178, 2701,
2495 2701, 1178, 1178, 731, 731, 731, 2701, 2701, 2701, 731,
2496 1186, 1186, 1186, 1186, 2701, 2701, 1186, 1186, 1196, 1196,
2497 1196, 1196, 2701, 2701, 1196, 1196, 742, 742, 742, 742,
2498 2701, 742, 2701, 742, 1204, 1204, 1204, 1204, 2701, 2701,
2499 1204, 1204, 1210, 1210, 1210, 1210, 2701, 2701, 1210, 1210,
2500 1217, 1217, 1217, 1217, 2701, 2701, 1217, 1217, 958, 958,
2501 958, 958, 958, 958, 958, 958, 958, 1399, 1399, 1399,
2503 1399, 1399, 1399, 1399, 1399, 1399, 973, 973, 973, 973,
2504 2701, 2701, 973, 973, 1004, 1004, 1004, 1004, 2701, 2701,
2505 1004, 1004, 608, 608, 608, 2701, 2701, 2701, 608, 616,
2506 616, 616, 616, 2701, 616, 2701, 616, 2369, 2369, 2369,
2507 2369, 2369, 2369, 2369, 2369, 2369, 2370, 2370, 2370, 2370,
2508 2370, 2370, 2370, 2370, 2370, 2413, 2413, 2413, 2413, 2413,
2509 2413, 2413, 2413, 2413, 2416, 2416, 2416, 2416, 2416, 2416,
2510 2416, 2416, 2416, 2444, 2444, 2444, 2444, 2444, 2444, 2444,
2511 2444, 2444, 2446, 2446, 2446, 2446, 2446, 2446, 2446, 2446,
2512 2446, 227, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701,
2514 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701,
2515 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701,
2516 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701,
2517 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701,
2518 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701,
2519 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701,
2520 2701, 2701, 2701, 2701
2523 static yyconst flex_int16_t yy_chk[9765] =
2525 0, 3, 3, 3, 4, 4, 4, 5, 5, 5,
2526 6, 6, 6, 7, 7, 7, 11, 3, 9, 12,
2527 4, 10, 0, 5, 0, 9, 6, 336, 10, 7,
2528 8, 8, 8, 232, 11, 13, 13, 12, 14, 14,
2529 13, 13, 281, 14, 14, 233, 8, 17, 17, 232,
2530 13, 15, 15, 14, 15, 236, 15, 16, 16, 459,
2531 16, 233, 16, 18, 18, 336, 15, 19, 19, 19,
2532 459, 236, 16, 20, 20, 20, 23, 23, 23, 24,
2533 24, 24, 1462, 19, 25, 25, 25, 333, 1463, 20,
2534 334, 17, 23, 281, 333, 24, 230, 230, 230, 334,
2536 25, 231, 231, 231, 235, 235, 235, 18, 21, 21,
2537 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
2538 21, 21, 21, 306, 21, 21, 21, 21, 21, 26,
2539 26, 26, 27, 27, 27, 28, 28, 28, 265, 29,
2540 29, 29, 30, 30, 30, 26, 337, 1464, 27, 254,
2541 259, 28, 265, 21, 21, 29, 337, 275, 30, 31,
2542 31, 31, 256, 256, 256, 254, 259, 263, 263, 263,
2543 272, 272, 272, 275, 306, 31, 21, 22, 22, 22,
2544 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
2545 22, 22, 307, 22, 22, 22, 22, 22, 32, 32,
2547 32, 33, 33, 33, 34, 34, 34, 254, 35, 35,
2548 35, 36, 36, 36, 32, 266, 267, 33, 340, 1468,
2549 34, 308, 22, 22, 35, 266, 413, 36, 37, 37,
2550 37, 38, 38, 38, 39, 39, 39, 40, 40, 40,
2551 41, 41, 41, 307, 37, 22, 413, 38, 286, 342,
2552 39, 342, 297, 40, 266, 267, 41, 42, 42, 42,
2553 266, 279, 279, 279, 286, 268, 266, 267, 297, 267,
2554 266, 340, 308, 42, 43, 43, 43, 43, 43, 43,
2555 43, 43, 43, 43, 43, 43, 43, 43, 43, 1471,
2556 43, 43, 43, 43, 43, 45, 45, 45, 46, 46,
2558 46, 47, 47, 47, 268, 48, 48, 48, 49, 49,
2559 49, 45, 303, 1486, 46, 1487, 268, 47, 268, 43,
2560 43, 48, 405, 1228, 49, 405, 303, 43, 44, 44,
2561 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
2562 44, 44, 44, 1228, 44, 44, 44, 44, 44, 50,
2563 50, 50, 51, 51, 51, 52, 52, 52, 283, 283,
2564 283, 55, 55, 291, 313, 50, 55, 548, 51, 338,
2565 291, 52, 354, 44, 44, 417, 55, 1495, 417, 291,
2566 313, 44, 53, 53, 53, 53, 53, 53, 53, 53,
2567 53, 53, 53, 53, 53, 53, 53, 338, 53, 53,
2569 53, 53, 53, 1498, 548, 55, 59, 59, 59, 60,
2570 60, 60, 338, 61, 61, 61, 56, 56, 62, 62,
2571 62, 56, 59, 354, 355, 60, 320, 53, 53, 61,
2572 471, 56, 1499, 320, 62, 53, 366, 471, 53, 294,
2573 294, 294, 320, 367, 53, 54, 54, 54, 54, 54,
2574 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
2575 56, 54, 54, 54, 54, 54, 63, 63, 63, 64,
2576 64, 64, 65, 65, 65, 355, 66, 66, 66, 69,
2577 69, 69, 63, 325, 347, 64, 360, 366, 65, 301,
2578 54, 54, 66, 301, 367, 69, 485, 301, 54, 325,
2580 347, 54, 360, 485, 246, 1503, 1510, 54, 57, 57,
2581 57, 57, 57, 57, 57, 57, 57, 57, 57, 57,
2582 57, 57, 57, 462, 57, 57, 57, 57, 57, 70,
2583 70, 70, 73, 73, 73, 74, 74, 74, 463, 75,
2584 75, 75, 76, 76, 76, 70, 246, 372, 73, 383,
2585 378, 74, 246, 57, 57, 75, 246, 378, 76, 1511,
2586 1512, 246, 57, 372, 57, 383, 378, 57, 305, 305,
2587 305, 462, 57, 57, 58, 58, 58, 58, 58, 58,
2588 58, 58, 58, 58, 58, 58, 58, 58, 58, 463,
2589 58, 58, 58, 58, 58, 77, 77, 77, 78, 78,
2591 78, 79, 79, 79, 528, 80, 80, 80, 81, 81,
2592 81, 77, 1513, 394, 78, 389, 410, 79, 528, 58,
2593 58, 80, 389, 1516, 81, 310, 310, 310, 58, 394,
2594 58, 389, 410, 58, 319, 319, 319, 489, 58, 58,
2595 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
2596 67, 67, 67, 67, 67, 1520, 67, 67, 67, 67,
2597 67, 82, 82, 82, 83, 83, 83, 84, 84, 84,
2598 419, 85, 85, 85, 86, 86, 86, 82, 418, 1523,
2599 83, 419, 419, 84, 489, 67, 67, 85, 427, 422,
2600 86, 418, 67, 322, 322, 322, 422, 67, 330, 330,
2602 330, 344, 344, 344, 427, 422, 67, 68, 68, 68,
2603 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
2604 68, 68, 562, 68, 68, 68, 68, 68, 87, 87,
2605 87, 88, 88, 88, 89, 89, 89, 562, 90, 90,
2606 90, 91, 91, 91, 87, 571, 584, 88, 571, 584,
2607 89, 1525, 68, 68, 90, 443, 438, 91, 1527, 68,
2608 353, 353, 353, 438, 68, 357, 357, 357, 365, 365,
2609 365, 443, 438, 68, 71, 71, 71, 71, 71, 71,
2610 71, 71, 71, 71, 71, 71, 71, 71, 71, 1528,
2611 71, 71, 71, 71, 71, 92, 92, 92, 93, 93,
2613 93, 94, 94, 94, 1529, 95, 95, 95, 96, 96,
2614 96, 92, 454, 593, 93, 596, 593, 94, 596, 71,
2615 71, 95, 513, 1532, 96, 369, 369, 369, 454, 403,
2616 71, 377, 377, 377, 380, 380, 380, 1534, 71, 72,
2617 72, 72, 72, 72, 72, 72, 72, 72, 72, 72,
2618 72, 72, 72, 72, 549, 72, 72, 72, 72, 72,
2619 97, 97, 97, 98, 98, 98, 99, 99, 99, 513,
2620 100, 100, 100, 101, 101, 101, 97, 403, 468, 98,
2621 403, 989, 99, 588, 72, 72, 100, 588, 481, 101,
2622 102, 102, 102, 989, 468, 72, 388, 388, 388, 391,
2624 391, 391, 1536, 72, 481, 549, 102, 103, 103, 103,
2625 103, 103, 103, 103, 103, 103, 103, 103, 103, 103,
2626 103, 103, 1541, 103, 103, 103, 103, 103, 105, 105,
2627 105, 106, 106, 106, 107, 107, 107, 1546, 108, 108,
2628 108, 402, 402, 402, 105, 494, 505, 106, 449, 500,
2629 107, 1550, 103, 103, 108, 449, 500, 103, 407, 407,
2630 407, 494, 505, 103, 449, 500, 103, 104, 104, 104,
2631 104, 104, 104, 104, 104, 104, 104, 104, 104, 104,
2632 104, 104, 1551, 104, 104, 104, 104, 104, 109, 109,
2633 109, 110, 110, 110, 111, 111, 111, 1553, 112, 112,
2635 112, 421, 421, 421, 109, 518, 533, 110, 600, 538,
2636 111, 600, 104, 104, 112, 1565, 538, 104, 424, 424,
2637 424, 518, 533, 104, 474, 538, 104, 113, 113, 113,
2638 113, 113, 113, 113, 113, 113, 113, 113, 113, 113,
2639 113, 113, 1568, 113, 113, 113, 113, 113, 115, 115,
2640 115, 116, 116, 116, 117, 117, 117, 1000, 118, 118,
2641 118, 119, 119, 119, 115, 543, 554, 116, 1562, 1000,
2642 117, 474, 113, 113, 118, 474, 1569, 119, 437, 437,
2643 437, 543, 554, 113, 440, 440, 440, 448, 448, 448,
2644 451, 451, 451, 113, 114, 114, 114, 114, 114, 114,
2646 114, 114, 114, 114, 114, 114, 114, 114, 114, 1562,
2647 114, 114, 114, 114, 114, 120, 120, 120, 121, 121,
2648 121, 122, 122, 122, 1570, 125, 125, 125, 126, 126,
2649 126, 120, 671, 764, 121, 671, 589, 122, 895, 114,
2650 114, 125, 589, 895, 126, 461, 461, 461, 589, 764,
2651 114, 465, 465, 465, 473, 473, 473, 478, 478, 478,
2652 114, 123, 123, 123, 123, 123, 123, 123, 123, 123,
2653 123, 123, 123, 123, 123, 123, 1571, 123, 123, 123,
2654 123, 123, 129, 129, 129, 130, 130, 130, 133, 133,
2655 133, 1573, 134, 134, 134, 135, 135, 135, 129, 1574,
2657 1576, 130, 1577, 590, 133, 676, 123, 123, 134, 676,
2658 1578, 135, 487, 487, 487, 526, 590, 123, 491, 491,
2659 491, 123, 124, 124, 124, 124, 124, 124, 124, 124,
2660 124, 124, 124, 124, 124, 124, 124, 1563, 124, 124,
2661 124, 124, 124, 136, 136, 136, 137, 137, 137, 138,
2662 138, 138, 526, 139, 139, 139, 140, 140, 140, 136,
2663 961, 1582, 137, 594, 961, 138, 526, 124, 124, 139,
2664 1563, 1584, 140, 499, 499, 499, 594, 612, 124, 502,
2665 502, 502, 124, 127, 127, 127, 127, 127, 127, 127,
2666 127, 127, 127, 127, 127, 127, 127, 127, 1587, 127,
2668 127, 127, 127, 127, 143, 143, 143, 144, 144, 144,
2669 147, 147, 147, 612, 148, 148, 148, 151, 151, 151,
2670 143, 1588, 1398, 144, 1589, 1591, 147, 1593, 127, 127,
2671 148, 1561, 1594, 151, 511, 511, 511, 515, 515, 515,
2672 525, 525, 525, 127, 530, 530, 530, 1398, 1561, 127,
2673 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
2674 128, 128, 128, 128, 128, 1596, 128, 128, 128, 128,
2675 128, 152, 152, 152, 155, 155, 155, 156, 156, 156,
2676 1033, 157, 157, 157, 158, 158, 158, 152, 1598, 1601,
2677 155, 1602, 1033, 156, 1604, 128, 128, 157, 1605, 1606,
2679 158, 537, 537, 537, 540, 540, 540, 547, 547, 547,
2680 128, 551, 551, 551, 1608, 1614, 128, 131, 131, 131,
2681 131, 131, 131, 131, 131, 131, 131, 131, 131, 131,
2682 131, 131, 1615, 131, 131, 131, 131, 131, 159, 159,
2683 159, 160, 160, 160, 161, 161, 161, 1603, 162, 162,
2684 162, 559, 559, 559, 159, 1603, 1618, 160, 642, 560,
2685 161, 645, 131, 131, 162, 131, 560, 131, 561, 561,
2686 561, 642, 1607, 131, 645, 560, 570, 570, 570, 131,
2687 1607, 1631, 131, 132, 132, 132, 132, 132, 132, 132,
2688 132, 132, 132, 132, 132, 132, 132, 132, 1632, 132,
2690 132, 132, 132, 132, 165, 165, 165, 166, 166, 166,
2691 167, 167, 167, 598, 168, 168, 168, 1637, 1638, 598,
2692 165, 1639, 1643, 166, 646, 598, 167, 878, 132, 132,
2693 168, 132, 601, 132, 570, 602, 878, 646, 601, 132,
2694 1644, 602, 1650, 878, 601, 132, 1657, 602, 132, 141,
2695 141, 141, 141, 141, 141, 141, 141, 141, 141, 141,
2696 141, 141, 141, 141, 141, 141, 141, 141, 141, 141,
2697 141, 141, 141, 141, 141, 141, 141, 141, 141, 141,
2698 141, 141, 141, 141, 141, 141, 141, 141, 141, 141,
2699 141, 141, 141, 141, 141, 141, 141, 141, 141, 141,
2701 141, 141, 141, 141, 141, 141, 141, 141, 141, 141,
2702 141, 141, 141, 141, 141, 141, 141, 141, 141, 141,
2703 141, 145, 145, 145, 145, 145, 145, 145, 145, 145,
2704 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
2705 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
2706 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
2707 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
2708 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
2709 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
2710 145, 145, 145, 149, 149, 149, 149, 149, 149, 149,
2712 149, 149, 149, 149, 149, 149, 149, 149, 1658, 149,
2713 149, 149, 149, 149, 169, 169, 169, 170, 170, 170,
2714 171, 171, 171, 1659, 172, 172, 172, 610, 610, 610,
2715 169, 1663, 1669, 170, 1673, 626, 171, 1676, 149, 149,
2716 172, 626, 1678, 149, 610, 1680, 1682, 626, 1683, 149,
2717 150, 150, 150, 150, 150, 150, 150, 150, 150, 150,
2718 150, 150, 150, 150, 150, 1684, 150, 150, 150, 150,
2719 150, 175, 175, 175, 176, 176, 176, 177, 177, 177,
2720 1687, 178, 178, 178, 618, 618, 618, 175, 1457, 1689,
2721 176, 1694, 1696, 177, 1457, 150, 150, 178, 1457, 1703,
2723 150, 618, 1457, 779, 779, 779, 150, 153, 153, 153,
2724 153, 153, 153, 153, 153, 153, 153, 153, 153, 153,
2725 153, 153, 1704, 153, 153, 153, 153, 153, 179, 179,
2726 179, 180, 180, 180, 181, 181, 181, 1705, 182, 182,
2727 182, 185, 185, 185, 179, 1707, 1721, 180, 1726, 1718,
2728 181, 1727, 153, 153, 182, 1718, 153, 185, 767, 767,
2729 767, 1731, 767, 153, 1732, 153, 779, 798, 798, 798,
2730 1720, 1733, 153, 154, 154, 154, 154, 154, 154, 154,
2731 154, 154, 154, 154, 154, 154, 154, 154, 1738, 154,
2732 154, 154, 154, 154, 186, 186, 186, 189, 189, 189,
2734 190, 190, 190, 1744, 191, 191, 191, 192, 192, 192,
2735 186, 1746, 1747, 189, 1750, 1720, 190, 1753, 154, 154,
2736 191, 1757, 154, 192, 837, 837, 837, 1758, 1759, 154,
2737 798, 154, 1760, 843, 843, 843, 1761, 1762, 154, 163,
2738 163, 163, 163, 163, 163, 163, 163, 163, 163, 163,
2739 163, 163, 163, 163, 1763, 163, 163, 163, 163, 163,
2740 193, 193, 193, 194, 194, 194, 195, 195, 195, 1764,
2741 196, 196, 196, 199, 199, 199, 193, 1765, 1766, 194,
2742 1771, 1787, 195, 1788, 163, 163, 196, 837, 1791, 199,
2743 163, 809, 809, 809, 1789, 809, 843, 1792, 809, 976,
2745 976, 976, 1789, 1793, 163, 164, 164, 164, 164, 164,
2746 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
2747 1797, 164, 164, 164, 164, 164, 200, 200, 200, 201,
2748 201, 201, 202, 202, 202, 1790, 203, 203, 203, 204,
2749 204, 204, 200, 1790, 1803, 201, 1804, 1805, 202, 1810,
2750 164, 164, 203, 1814, 1815, 204, 164, 817, 817, 817,
2751 1816, 817, 1818, 1821, 817, 996, 996, 996, 1822, 1825,
2752 164, 173, 173, 173, 173, 173, 173, 173, 173, 173,
2753 173, 173, 173, 173, 173, 173, 1826, 173, 173, 173,
2754 173, 173, 205, 205, 205, 206, 206, 206, 209, 209,
2756 209, 1719, 210, 210, 210, 213, 213, 213, 205, 1458,
2757 1829, 206, 1823, 1836, 209, 1458, 173, 173, 210, 1458,
2758 1823, 213, 173, 1458, 1838, 173, 833, 833, 833, 1851,
2759 833, 1864, 1719, 833, 1855, 1856, 173, 174, 174, 174,
2760 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
2761 174, 174, 1872, 174, 174, 174, 174, 174, 214, 214,
2762 214, 215, 215, 215, 216, 216, 216, 1824, 217, 217,
2763 217, 218, 218, 218, 214, 1824, 1855, 215, 1873, 1877,
2764 216, 1856, 174, 174, 217, 1879, 1891, 218, 174, 1892,
2765 1893, 174, 848, 848, 848, 1894, 848, 1895, 1896, 848,
2767 1897, 1898, 174, 183, 183, 183, 183, 183, 183, 183,
2768 183, 183, 183, 183, 183, 183, 183, 183, 1899, 183,
2769 183, 183, 183, 183, 219, 219, 219, 220, 220, 220,
2770 223, 223, 223, 1900, 224, 224, 224, 331, 1906, 1908,
2771 219, 339, 1915, 220, 1916, 332, 223, 331, 183, 183,
2772 224, 1242, 1242, 1242, 183, 332, 1244, 1244, 1244, 183,
2773 184, 184, 184, 184, 184, 184, 184, 184, 184, 184,
2774 184, 184, 184, 184, 184, 331, 184, 184, 184, 184,
2775 184, 331, 1917, 332, 331, 339, 339, 1918, 339, 1919,
2776 331, 331, 1920, 1921, 339, 339, 332, 635, 635, 635,
2778 332, 1923, 1244, 1924, 1929, 184, 184, 1930, 853, 853,
2779 853, 184, 853, 1932, 635, 853, 184, 187, 187, 187,
2780 187, 187, 187, 187, 187, 187, 187, 187, 187, 187,
2781 187, 187, 1933, 187, 187, 187, 187, 187, 650, 650,
2782 650, 655, 655, 655, 660, 660, 660, 672, 672, 672,
2783 681, 681, 681, 1934, 1935, 650, 1942, 1943, 655, 1944,
2784 1945, 660, 187, 187, 672, 1946, 1947, 681, 187, 1948,
2785 1949, 187, 858, 858, 858, 1951, 858, 1971, 1975, 858,
2786 1976, 1977, 187, 188, 188, 188, 188, 188, 188, 188,
2787 188, 188, 188, 188, 188, 188, 188, 188, 1967, 188,
2789 188, 188, 188, 188, 683, 683, 683, 698, 698, 698,
2790 706, 706, 706, 711, 711, 711, 733, 733, 733, 1980,
2791 1984, 683, 1985, 1986, 698, 1987, 1988, 706, 188, 188,
2792 711, 1989, 1966, 733, 188, 1967, 1990, 188, 870, 870,
2793 870, 1991, 870, 1992, 1993, 870, 1995, 1996, 188, 197,
2794 197, 197, 197, 197, 197, 197, 197, 197, 197, 197,
2795 197, 197, 197, 197, 1966, 197, 197, 197, 197, 197,
2796 755, 755, 755, 759, 759, 759, 2001, 2002, 777, 777,
2797 777, 778, 778, 778, 808, 808, 808, 755, 2003, 2005,
2798 759, 805, 805, 805, 197, 197, 777, 2009, 2010, 778,
2800 2013, 808, 197, 2017, 197, 2018, 197, 2020, 2023, 805,
2801 1247, 1247, 1247, 2024, 197, 198, 198, 198, 198, 198,
2802 198, 198, 198, 198, 198, 198, 198, 198, 198, 198,
2803 2025, 198, 198, 198, 198, 198, 2026, 2028, 778, 812,
2804 812, 812, 2031, 2033, 806, 806, 806, 813, 813, 813,
2805 816, 816, 816, 2055, 818, 818, 818, 812, 2056, 2051,
2806 198, 198, 806, 2050, 2057, 813, 2058, 816, 198, 2064,
2807 198, 818, 198, 1250, 1250, 1250, 1259, 1259, 1259, 2065,
2808 198, 207, 207, 207, 207, 207, 207, 207, 207, 207,
2809 207, 207, 207, 207, 207, 207, 2051, 207, 207, 207,
2811 207, 207, 2050, 806, 820, 820, 820, 824, 824, 824,
2812 813, 830, 830, 830, 831, 831, 831, 2066, 825, 825,
2813 825, 820, 832, 832, 832, 824, 207, 207, 2067, 830,
2814 2068, 2069, 831, 880, 880, 880, 825, 880, 2070, 832,
2815 880, 883, 883, 883, 2071, 883, 2072, 2073, 883, 207,
2816 208, 208, 208, 208, 208, 208, 208, 208, 208, 208,
2817 208, 208, 208, 208, 208, 825, 208, 208, 208, 208,
2818 208, 835, 835, 835, 836, 836, 836, 831, 2075, 2076,
2819 847, 847, 847, 850, 850, 850, 851, 851, 851, 835,
2820 2080, 2086, 836, 2087, 2091, 208, 208, 847, 852, 852,
2822 852, 850, 2094, 2061, 851, 898, 898, 898, 2052, 898,
2823 2102, 836, 898, 2061, 2103, 852, 2061, 2104, 208, 211,
2824 211, 211, 211, 211, 211, 211, 211, 211, 211, 211,
2825 211, 211, 211, 211, 2128, 211, 211, 211, 211, 211,
2826 855, 855, 855, 856, 856, 856, 857, 857, 857, 2062,
2827 2052, 851, 860, 860, 860, 861, 861, 861, 855, 2062,
2828 2129, 856, 2062, 857, 211, 211, 2130, 906, 906, 906,
2829 860, 906, 2133, 861, 906, 211, 212, 212, 212, 212,
2830 212, 212, 212, 212, 212, 212, 212, 212, 212, 212,
2831 212, 2124, 212, 212, 212, 212, 212, 2134, 864, 864,
2833 864, 865, 865, 865, 2135, 873, 873, 873, 856, 869,
2834 869, 869, 874, 874, 874, 861, 864, 2135, 2136, 865,
2835 2124, 212, 212, 873, 2137, 2140, 869, 1284, 1284, 1284,
2836 874, 2141, 212, 221, 221, 221, 221, 221, 221, 221,
2837 221, 221, 221, 221, 221, 221, 221, 221, 2142, 221,
2838 221, 221, 221, 221, 879, 879, 879, 882, 882, 882,
2839 884, 884, 884, 2143, 2145, 865, 892, 892, 892, 2146,
2840 2138, 879, 874, 2147, 882, 2112, 2125, 884, 221, 221,
2841 893, 893, 893, 2138, 892, 2112, 911, 911, 911, 221,
2842 911, 2112, 2148, 911, 1295, 1295, 1295, 2126, 893, 2152,
2844 2160, 221, 222, 222, 222, 222, 222, 222, 222, 222,
2845 222, 222, 222, 222, 222, 222, 222, 2125, 222, 222,
2846 222, 222, 222, 897, 897, 897, 899, 899, 899, 2161,
2847 2162, 902, 902, 902, 903, 903, 903, 893, 2126, 2166,
2848 897, 2113, 2174, 899, 905, 905, 905, 222, 222, 902,
2849 2176, 2113, 903, 2184, 907, 907, 907, 2113, 222, 2185,
2850 2186, 905, 2187, 2188, 908, 908, 908, 910, 910, 910,
2851 222, 264, 907, 915, 915, 915, 2189, 2199, 264, 916,
2852 916, 916, 908, 2194, 910, 903, 2200, 264, 264, 2204,
2853 2205, 915, 917, 917, 917, 2206, 2207, 916, 1413, 1413,
2855 1413, 918, 918, 918, 919, 919, 919, 2208, 2209, 917,
2856 920, 920, 920, 2210, 2211, 264, 264, 264, 918, 2195,
2857 2213, 919, 264, 264, 908, 264, 264, 2214, 920, 264,
2858 2194, 264, 264, 264, 916, 921, 921, 921, 923, 923,
2859 923, 924, 924, 924, 925, 925, 925, 2215, 926, 926,
2860 926, 2216, 2217, 921, 2195, 923, 2218, 2219, 924, 2220,
2861 2227, 925, 919, 2231, 2232, 926, 927, 927, 927, 2233,
2862 928, 928, 928, 930, 930, 930, 931, 931, 931, 2234,
2863 931, 2241, 2244, 931, 927, 932, 932, 932, 928, 2251,
2864 930, 924, 933, 933, 933, 921, 934, 934, 934, 935,
2866 935, 935, 2246, 932, 2247, 924, 926, 928, 2252, 2253,
2867 933, 2254, 2246, 934, 2247, 2255, 935, 936, 936, 936,
2868 937, 937, 937, 938, 938, 938, 943, 943, 943, 2249,
2869 947, 947, 947, 2250, 936, 944, 944, 944, 937, 2249,
2870 2256, 938, 2265, 2250, 943, 2266, 2267, 933, 947, 935,
2871 948, 948, 948, 944, 949, 949, 949, 950, 950, 950,
2872 2268, 950, 2269, 935, 950, 951, 951, 951, 948, 2258,
2873 2270, 949, 952, 952, 952, 953, 953, 953, 954, 954,
2874 954, 2271, 954, 951, 2272, 954, 956, 956, 956, 2275,
2875 952, 2276, 953, 938, 957, 957, 957, 2278, 944, 972,
2877 972, 972, 2279, 2258, 956, 973, 973, 973, 975, 975,
2878 975, 2280, 957, 948, 1002, 1002, 1002, 972, 1003, 1003,
2879 1003, 2282, 2289, 973, 2290, 2291, 975, 1004, 1004, 1004,
2880 2293, 1002, 952, 1006, 1006, 1006, 1003, 1007, 1007, 1007,
2881 1008, 1008, 1008, 2299, 1008, 1004, 2300, 1008, 1011, 1011,
2882 1011, 1006, 2301, 2302, 1007, 975, 2303, 957, 1013, 1013,
2883 1013, 1014, 1014, 1014, 2304, 1011, 1016, 1016, 1016, 2305,
2884 1018, 1018, 1018, 2306, 1018, 2307, 1013, 1018, 2308, 1014,
2885 2310, 2311, 1006, 2323, 1016, 1021, 1021, 1021, 1022, 1022,
2886 1022, 2324, 1022, 2325, 2326, 1022, 2327, 1023, 1023, 1023,
2888 2328, 2329, 1021, 1024, 1024, 1024, 2330, 2315, 1011, 1027,
2889 1027, 1027, 2334, 1016, 1023, 1025, 1025, 1025, 2335, 1025,
2890 1024, 2336, 1025, 1029, 1029, 1029, 1027, 1030, 1030, 1030,
2891 1032, 1032, 1032, 1035, 1035, 1035, 1037, 1037, 1037, 2337,
2892 2338, 1029, 1038, 1038, 1038, 1030, 2339, 2343, 1032, 2315,
2893 1035, 1040, 1040, 1040, 1037, 1041, 1041, 1041, 2344, 1041,
2894 1038, 2345, 1041, 1045, 1045, 1045, 1046, 1046, 1046, 1040,
2895 1048, 1048, 1048, 1058, 1058, 1058, 2348, 1058, 2353, 2354,
2896 1058, 1045, 2355, 2356, 1046, 1062, 1062, 1062, 1048, 1032,
2897 1063, 1063, 1063, 1065, 1065, 1065, 2357, 2358, 1040, 2359,
2899 1066, 1066, 1066, 1062, 1066, 2360, 2361, 1066, 1063, 2362,
2900 2363, 1065, 1070, 1070, 1070, 1071, 1071, 1071, 1073, 1073,
2901 1073, 1074, 1074, 1074, 2364, 1074, 2365, 2371, 1074, 2374,
2902 1070, 2375, 2378, 1071, 2380, 2381, 1073, 1077, 1077, 1077,
2903 1078, 1078, 1078, 1079, 1079, 1079, 1081, 1081, 1081, 1082,
2904 1082, 1082, 2368, 1065, 1077, 1083, 1083, 1083, 1078, 2383,
2905 2384, 1079, 2367, 2368, 1081, 2387, 1082, 1084, 1084, 1084,
2906 2388, 2365, 1083, 1085, 1085, 1085, 2367, 2389, 1073, 1087,
2907 1087, 1087, 2393, 1083, 2401, 1084, 1090, 1090, 1090, 2403,
2908 2405, 1085, 1091, 1091, 1091, 2407, 1091, 1087, 2391, 1091,
2910 1096, 1096, 1096, 1090, 1097, 1097, 1097, 1099, 1099, 1099,
2911 2391, 2392, 1081, 1106, 1106, 1106, 2415, 1106, 1096, 2417,
2912 1106, 2413, 1097, 2392, 2419, 1099, 1109, 1109, 1109, 1110,
2913 1110, 1110, 2420, 1110, 2421, 2413, 1110, 1113, 1113, 1113,
2914 1122, 1122, 1122, 1109, 1087, 1114, 1114, 1114, 2422, 1114,
2915 2412, 2431, 1114, 2398, 1113, 1123, 1123, 1123, 1122, 1125,
2916 1125, 1125, 1130, 1130, 1130, 2398, 1130, 2414, 2414, 1130,
2917 2416, 1099, 2399, 1123, 1133, 1133, 1133, 1125, 1134, 1134,
2918 1134, 2416, 1134, 2433, 2399, 1134, 1137, 1137, 1137, 2436,
2919 2412, 1133, 1138, 1138, 1138, 1140, 1140, 1140, 1142, 1142,
2921 1142, 2438, 1142, 2444, 1137, 1142, 1145, 1145, 1145, 2445,
2922 1138, 2446, 2430, 1140, 1146, 1146, 1146, 1148, 1148, 1148,
2923 1156, 1156, 1156, 2448, 1145, 1125, 1150, 1150, 1150, 2449,
2924 1150, 2430, 1146, 1150, 2450, 1148, 2451, 2432, 1156, 1157,
2925 1157, 1157, 1159, 1159, 1159, 2458, 1140, 1160, 1160, 1160,
2926 2459, 1161, 1161, 1161, 2460, 1161, 2432, 1157, 1161, 2461,
2927 1159, 1162, 1162, 1162, 1160, 1163, 1163, 1163, 2462, 1163,
2928 2463, 2435, 1163, 1165, 1165, 1165, 2437, 2466, 1162, 1166,
2929 1166, 1166, 2467, 1148, 1168, 1168, 1168, 1170, 1170, 1170,
2930 2435, 1165, 1171, 1171, 1171, 2437, 1171, 1166, 2468, 1171,
2932 2469, 1159, 1168, 2470, 1170, 1174, 1174, 1174, 1175, 1175,
2933 1175, 2471, 1175, 2473, 2475, 1175, 1177, 1177, 1177, 1178,
2934 1178, 1178, 1174, 1180, 1180, 1180, 1182, 1182, 1182, 2477,
2935 1182, 2487, 2488, 1182, 1177, 2489, 2485, 1178, 1185, 1185,
2936 1185, 1180, 1186, 1186, 1186, 1188, 1188, 1188, 2485, 2490,
2937 1168, 1189, 1189, 1189, 2491, 2492, 1185, 1190, 1190, 1190,
2938 1186, 1190, 2486, 1188, 1190, 1193, 1193, 1193, 1189, 1194,
2939 1194, 1194, 2496, 1194, 2486, 2497, 1194, 1195, 1195, 1195,
2940 2498, 2499, 1193, 1196, 1196, 1196, 1180, 1198, 1198, 1198,
2941 1200, 1200, 1200, 2500, 2501, 1195, 1203, 1203, 1203, 2502,
2943 2504, 1196, 2505, 2506, 1188, 1198, 2507, 1200, 1204, 1204,
2944 1204, 1206, 1206, 1206, 1203, 1209, 1209, 1209, 1210, 1210,
2945 1210, 1212, 1212, 1212, 2502, 2508, 1204, 2509, 2510, 1206,
2946 1213, 1213, 1213, 1209, 1213, 2511, 1210, 1213, 2512, 1212,
2947 1216, 1216, 1216, 1217, 1217, 1217, 2513, 2514, 1198, 1219,
2948 1219, 1219, 1220, 1220, 1220, 2515, 1220, 2516, 1216, 1220,
2949 2517, 1217, 1224, 1224, 1224, 2518, 2519, 1219, 1225, 1225,
2950 1225, 1206, 2520, 2521, 1212, 1227, 1227, 1227, 2522, 2525,
2951 1224, 1229, 1229, 1229, 2526, 2527, 1225, 1236, 1236, 1236,
2952 1262, 1262, 1262, 1227, 1263, 1263, 1263, 2522, 1263, 1229,
2954 1229, 1263, 1264, 1264, 1264, 1236, 2528, 1262, 1219, 1265,
2955 1265, 1265, 1266, 1266, 1266, 2529, 1266, 2530, 2531, 1266,
2956 1264, 1269, 1269, 1269, 2532, 2533, 1265, 1271, 1271, 1271,
2957 2534, 1271, 2535, 2536, 1271, 1227, 1274, 1274, 1274, 1269,
2958 1275, 1275, 1275, 2537, 1275, 2538, 2539, 1275, 1280, 1280,
2959 1280, 2540, 1236, 1274, 1276, 1276, 1276, 2542, 1276, 1264,
2960 2541, 1276, 1281, 1281, 1281, 1280, 1281, 2543, 2544, 1281,
2961 1269, 1283, 1283, 1283, 1286, 1286, 1286, 1287, 1287, 1287,
2962 2541, 1287, 2545, 2546, 1287, 1288, 1288, 1288, 2547, 1283,
2963 2548, 1286, 1289, 1289, 1289, 1291, 1291, 1291, 1296, 1296,
2965 1296, 2549, 1288, 1302, 1302, 1302, 1303, 1303, 1303, 2550,
2966 1289, 2551, 2552, 1291, 1305, 1305, 1305, 1306, 1306, 1306,
2967 1302, 1283, 2553, 2554, 1303, 2555, 1307, 1307, 1307, 2556,
2968 1307, 2557, 1305, 1307, 1306, 1308, 1308, 1308, 1309, 1309,
2969 1309, 1289, 2558, 2559, 1296, 1310, 1310, 1310, 2558, 1310,
2970 2560, 2561, 1310, 1308, 2562, 1309, 1312, 1312, 1312, 1315,
2971 1315, 1315, 2563, 1316, 1316, 1316, 2564, 1316, 2566, 1303,
2972 1316, 1317, 1317, 1317, 1312, 2567, 1315, 1305, 1318, 1318,
2973 1318, 1319, 1319, 1319, 1323, 1323, 1323, 2569, 1317, 1326,
2974 1326, 1326, 2570, 2572, 1308, 1318, 1327, 1327, 1327, 1319,
2976 1327, 1323, 2573, 1327, 2576, 2577, 1326, 1328, 1328, 1328,
2977 2578, 1328, 2579, 2581, 1328, 2583, 1312, 1331, 1331, 1331,
2978 1338, 1338, 1338, 2575, 1318, 1340, 1340, 1340, 1343, 1343,
2979 1343, 2585, 1343, 2587, 1331, 1343, 2589, 2575, 1338, 1346,
2980 1346, 1346, 1340, 1348, 1348, 1348, 1319, 1350, 1350, 1350,
2981 1354, 1354, 1354, 1355, 1355, 1355, 1346, 1363, 1363, 1363,
2982 2590, 1348, 1356, 1356, 1356, 1350, 1356, 1354, 2591, 1356,
2983 2592, 1355, 1359, 1359, 1359, 1363, 1359, 2593, 2594, 1359,
2984 1364, 1364, 1364, 2595, 1338, 1365, 1365, 1365, 2596, 1365,
2985 2598, 2600, 1365, 1370, 1370, 1370, 1354, 1370, 2602, 2603,
2987 1370, 1374, 1374, 1374, 2604, 2605, 1348, 2658, 2614, 1355,
2988 1455, 2606, 1350, 1376, 1376, 1376, 1377, 1377, 1377, 1374,
2989 1377, 2620, 1363, 1377, 2607, 2620, 1364, 2626, 1382, 1382,
2990 1382, 1376, 1382, 1452, 2615, 1382, 1385, 1385, 1385, 1387,
2991 1387, 1387, 1388, 1388, 1388, 2616, 1388, 2606, 2658, 1388,
2992 1391, 1391, 1391, 2617, 1385, 2614, 1387, 1393, 1393, 1393,
2993 2607, 1374, 1394, 1394, 1394, 1396, 1396, 1396, 1391, 1376,
2994 1395, 1395, 1395, 2626, 1393, 1397, 1397, 1397, 2618, 2622,
2995 1394, 2615, 1396, 1385, 1400, 1400, 1400, 2622, 1395, 1407,
2996 1407, 1407, 2616, 1397, 1415, 1415, 1415, 2627, 2623, 1391,
2998 2617, 2619, 1400, 1417, 1417, 1417, 2623, 1407, 1419, 1419,
2999 1419, 1422, 1422, 1422, 1424, 1424, 1424, 1426, 1426, 1426,
3000 1448, 2618, 1395, 1431, 1431, 1431, 1444, 1442, 1394, 1433,
3001 1433, 1433, 1437, 1437, 1437, 1400, 1397, 2674, 1434, 1434,
3002 1434, 1407, 1434, 2627, 2619, 1434, 1443, 1443, 1443, 2624,
3003 1437, 1400, 1438, 1438, 1438, 2628, 1438, 2624, 2629, 1438,
3004 1454, 1454, 1454, 1426, 1443, 1445, 1445, 1445, 2625, 1445,
3005 2621, 2630, 1445, 2632, 2621, 1433, 2625, 1424, 1449, 1449,
3006 1449, 2664, 1449, 2674, 1441, 1449, 1453, 1453, 1453, 1456,
3007 1456, 1456, 2628, 1456, 2633, 2629, 1456, 1443, 1437, 1459,
3009 1459, 1459, 1432, 2631, 1453, 1460, 1460, 1460, 2632, 1460,
3010 2664, 2630, 1460, 1461, 1461, 1461, 1459, 1465, 1465, 1465,
3011 1466, 1466, 1466, 1467, 1467, 1467, 1469, 1469, 1469, 2633,
3012 2638, 1461, 1470, 1470, 1470, 1472, 1472, 1472, 1473, 1473,
3013 1473, 1430, 1473, 2631, 2639, 1473, 1453, 1474, 1474, 1474,
3014 2636, 2637, 1472, 1475, 1475, 1475, 1476, 1476, 1476, 1477,
3015 1477, 1477, 2638, 1477, 1461, 1474, 1477, 1480, 1480, 1480,
3016 1475, 1481, 1481, 1481, 1476, 1481, 2639, 2634, 1481, 1484,
3017 1484, 1484, 1485, 1485, 1485, 1480, 1467, 2636, 2637, 1469,
3018 1491, 1491, 1491, 2640, 1474, 1470, 1484, 1488, 1488, 1488,
3020 1485, 1488, 2640, 1476, 1488, 2641, 2656, 1491, 1492, 1492,
3021 1492, 2635, 1492, 2696, 2641, 1492, 1493, 1493, 1493, 1494,
3022 1494, 1494, 2634, 1494, 2652, 2646, 1494, 2696, 1496, 1496,
3023 1496, 2657, 1480, 1493, 1497, 1497, 1497, 1500, 1500, 1500,
3024 1501, 1501, 1501, 2656, 1501, 1485, 1496, 1501, 1502, 1502,
3025 1502, 1504, 1504, 1504, 1500, 1504, 2635, 2652, 1504, 1507,
3026 1507, 1507, 1508, 1508, 1508, 1502, 1508, 2646, 2657, 1508,
3027 1509, 1509, 1509, 1514, 1514, 1514, 1507, 1515, 1515, 1515,
3028 1517, 1517, 1517, 1429, 1518, 1518, 1518, 1509, 1518, 1428,
3029 1514, 1518, 1519, 1519, 1519, 1515, 1427, 1517, 1521, 1521,
3031 1521, 1522, 1522, 1522, 2647, 1522, 2642, 2653, 1522, 1519,
3032 1524, 1524, 1524, 2644, 1425, 1521, 1526, 1526, 1526, 1530,
3033 1530, 1530, 1531, 1531, 1531, 2645, 1531, 2672, 1524, 1531,
3034 1533, 1533, 1533, 2643, 1526, 2672, 1530, 1535, 1535, 1535,
3035 2653, 2642, 1515, 1537, 1537, 1537, 2647, 2644, 1533, 1538,
3036 1538, 1538, 1539, 1539, 1539, 1535, 1540, 1540, 1540, 2645,
3037 1537, 1542, 1542, 1542, 2650, 2651, 1538, 1526, 2643, 1539,
3038 1543, 1543, 1543, 2648, 1540, 1544, 1544, 1544, 1423, 1542,
3039 1545, 1545, 1545, 1552, 1552, 1552, 2668, 1543, 1535, 1547,
3040 1547, 1547, 1544, 1547, 1421, 2649, 1547, 2654, 1545, 2650,
3042 2651, 1552, 1554, 1554, 1554, 2655, 2654, 1542, 1420, 1555,
3043 1555, 1555, 2666, 1555, 2655, 1539, 1555, 2665, 2648, 1554,
3044 2668, 2666, 1540, 1556, 1556, 1556, 2659, 1557, 1557, 1557,
3045 1558, 1558, 1558, 1418, 1552, 1559, 1559, 1559, 1416, 1559,
3046 2649, 1556, 1559, 2662, 1545, 1557, 2665, 1558, 1560, 1560,
3047 1560, 1566, 1566, 1566, 1567, 1567, 1567, 1572, 1572, 1572,
3048 1575, 1575, 1575, 1579, 1579, 1579, 1560, 2659, 1566, 1580,
3049 1580, 1580, 1567, 1581, 1581, 1581, 1583, 1583, 1583, 2660,
3050 2662, 1556, 1557, 1585, 1585, 1585, 1586, 1586, 1586, 1590,
3051 1590, 1590, 1592, 1592, 1592, 1595, 1595, 1595, 1597, 1597,
3053 1597, 1599, 1599, 1599, 1600, 1600, 1600, 1612, 1612, 1612,
3054 1592, 1414, 2661, 1595, 1567, 1597, 1609, 1609, 1609, 1599,
3055 1609, 1600, 2686, 1609, 2660, 1612, 1613, 1613, 1613, 1616,
3056 1616, 1616, 1617, 1617, 1617, 1619, 1619, 1619, 1623, 1623,
3057 1623, 2667, 1592, 1613, 1620, 1620, 1620, 2663, 1620, 2670,
3058 2667, 1620, 1619, 1612, 2686, 2680, 1623, 2661, 2675, 1599,
3059 1624, 1624, 1624, 1625, 1625, 1625, 2671, 1625, 2669, 1412,
3060 1625, 1626, 1626, 1626, 1627, 1627, 1627, 1624, 1628, 1628,
3061 1628, 1629, 1629, 1629, 2663, 1629, 2676, 1411, 1629, 1626,
3062 2680, 1623, 1627, 2677, 2670, 1628, 1630, 1630, 1630, 1633,
3064 1633, 1633, 2669, 1633, 2675, 2673, 1633, 2684, 1636, 1636,
3065 1636, 2671, 1636, 2673, 1630, 1636, 1640, 1640, 1640, 1642,
3066 1642, 1642, 2678, 2676, 1626, 1645, 1645, 1645, 2681, 1645,
3067 2677, 1410, 1645, 2682, 1640, 1648, 1648, 1648, 1649, 1649,
3068 1649, 2679, 1649, 1630, 2684, 1649, 1651, 1651, 1651, 2683,
3069 1651, 2687, 1648, 1651, 1654, 1654, 1654, 1655, 1655, 1655,
3070 2690, 1655, 2678, 2681, 1655, 1656, 1656, 1656, 1660, 1660,
3071 1660, 1654, 1661, 1661, 1661, 2685, 1661, 1409, 2682, 1661,
3072 1408, 2679, 1656, 2687, 2692, 1660, 1662, 1662, 1662, 1664,
3073 1664, 1664, 2690, 1664, 2683, 1406, 1664, 1667, 1667, 1667,
3075 2691, 1668, 1668, 1668, 1662, 1668, 2688, 2694, 1668, 1670,
3076 1670, 1670, 2685, 1670, 1667, 2688, 1670, 1674, 1674, 1674,
3077 1677, 1677, 1677, 1679, 1679, 1679, 1681, 1681, 1681, 2693,
3078 1681, 2692, 2691, 1681, 1405, 1674, 2695, 1662, 1677, 2694,
3079 1679, 1685, 1685, 1685, 1688, 1688, 1688, 1690, 1690, 1690,
3080 1691, 1691, 1691, 1402, 1691, 1399, 1392, 1691, 1390, 1685,
3081 1389, 1386, 1688, 1381, 1690, 1692, 1692, 1692, 2695, 1679,
3082 1693, 1693, 1693, 1380, 1693, 1375, 2693, 1693, 1695, 1695,
3083 1695, 1373, 1692, 1677, 1697, 1697, 1697, 1698, 1698, 1698,
3084 1699, 1699, 1699, 1369, 1699, 1368, 1695, 1699, 1700, 1700,
3086 1700, 2689, 1697, 2697, 1698, 1701, 1701, 1701, 1362, 1701,
3087 2689, 1353, 1701, 1352, 2697, 1700, 1702, 1702, 1702, 1706,
3088 1706, 1706, 1708, 1708, 1708, 1351, 1708, 1349, 1347, 1708,
3089 1711, 1711, 1711, 1697, 1702, 1342, 1341, 1706, 1712, 1712,
3090 1712, 1339, 1337, 1695, 1336, 1713, 1713, 1713, 1711, 1713,
3091 1335, 1334, 1713, 1716, 1716, 1716, 1712, 1722, 1722, 1722,
3092 1723, 1723, 1723, 1333, 1723, 1332, 1325, 1723, 1724, 1724,
3093 1724, 1716, 1324, 1322, 1722, 1725, 1725, 1725, 1321, 1320,
3094 1702, 1711, 1314, 1706, 1313, 1311, 1724, 1728, 1728, 1728,
3095 1304, 1712, 1729, 1729, 1729, 1730, 1730, 1730, 1734, 1734,
3097 1734, 1735, 1735, 1735, 1736, 1736, 1736, 1737, 1737, 1737,
3098 1739, 1739, 1739, 1740, 1740, 1740, 1741, 1741, 1741, 1742,
3099 1742, 1742, 1743, 1743, 1743, 1745, 1745, 1745, 1748, 1748,
3100 1748, 1724, 1751, 1751, 1751, 1752, 1752, 1752, 1301, 1752,
3101 1300, 1299, 1752, 1745, 1298, 1297, 1748, 1294, 1293, 1751,
3102 1754, 1754, 1754, 1737, 1755, 1755, 1755, 1756, 1756, 1756,
3103 1290, 1756, 1285, 1282, 1756, 1767, 1767, 1767, 1754, 1279,
3104 1270, 1755, 1768, 1768, 1768, 1268, 1745, 1769, 1769, 1769,
3105 1267, 1769, 1261, 1767, 1769, 1770, 1770, 1770, 1260, 1768,
3106 1772, 1772, 1772, 1773, 1773, 1773, 1774, 1774, 1774, 1775,
3108 1775, 1775, 1258, 1775, 1257, 1256, 1775, 1776, 1776, 1776,
3109 1780, 1780, 1780, 1774, 1767, 1777, 1777, 1777, 1255, 1777,
3110 1254, 1253, 1777, 1252, 1251, 1776, 1249, 1248, 1780, 1781,
3111 1781, 1781, 1246, 1783, 1783, 1783, 1245, 1783, 1243, 1773,
3112 1783, 1786, 1786, 1786, 1794, 1794, 1794, 1781, 1794, 1241,
3113 1240, 1794, 1239, 1798, 1798, 1798, 1238, 1798, 1776, 1786,
3114 1798, 1780, 1801, 1801, 1801, 1802, 1802, 1802, 1237, 1802,
3115 1235, 1234, 1802, 1806, 1806, 1806, 1233, 1806, 1232, 1801,
3116 1806, 1809, 1809, 1809, 1811, 1811, 1811, 1223, 1811, 1208,
3117 1207, 1811, 1202, 1201, 1786, 1817, 1817, 1817, 1199, 1809,
3119 1819, 1819, 1819, 1820, 1820, 1820, 1192, 1820, 1191, 1181,
3120 1820, 1176, 1173, 1817, 1827, 1827, 1827, 1819, 1830, 1830,
3121 1830, 1172, 1830, 1169, 1164, 1830, 1833, 1833, 1833, 1155,
3122 1833, 1154, 1827, 1833, 1837, 1837, 1837, 1839, 1839, 1839,
3123 1153, 1840, 1840, 1840, 1809, 1840, 1149, 1141, 1840, 1843,
3124 1843, 1843, 1837, 1843, 1136, 1839, 1843, 1846, 1846, 1846,
3125 1847, 1847, 1847, 1848, 1848, 1848, 1849, 1849, 1849, 1850,
3126 1850, 1850, 1852, 1852, 1852, 1846, 1135, 1847, 1129, 1128,
3127 1848, 1127, 1126, 1849, 1121, 1837, 1120, 1850, 1119, 1118,
3128 1852, 1117, 1116, 1846, 1853, 1853, 1853, 1854, 1854, 1854,
3130 1115, 1105, 1839, 1857, 1857, 1857, 1858, 1858, 1858, 1104,
3131 1858, 1103, 1853, 1858, 1848, 1854, 1861, 1861, 1861, 1862,
3132 1862, 1862, 1102, 1101, 1849, 1863, 1863, 1863, 1865, 1865,
3133 1865, 1852, 1100, 1850, 1861, 1866, 1866, 1866, 1867, 1867,
3134 1867, 1868, 1868, 1868, 1869, 1869, 1869, 1870, 1870, 1870,
3135 1871, 1871, 1871, 1874, 1874, 1874, 1875, 1875, 1875, 1876,
3136 1876, 1876, 1878, 1878, 1878, 1881, 1881, 1881, 1882, 1882,
3137 1882, 1095, 1882, 1094, 1861, 1882, 1885, 1885, 1885, 1089,
3138 1878, 1088, 1881, 1886, 1886, 1886, 1069, 1888, 1888, 1888,
3139 1061, 1888, 1057, 1885, 1888, 1901, 1901, 1901, 1902, 1902,
3141 1902, 1886, 1902, 1056, 1055, 1902, 1905, 1905, 1905, 1907,
3142 1907, 1907, 1054, 1901, 1909, 1909, 1909, 1053, 1909, 1052,
3143 1051, 1909, 1912, 1912, 1912, 1913, 1913, 1913, 1914, 1914,
3144 1914, 1922, 1922, 1922, 1050, 1925, 1925, 1925, 1049, 1925,
3145 1912, 1885, 1925, 1913, 1044, 1036, 1914, 1928, 1928, 1928,
3146 1034, 1931, 1931, 1931, 1028, 1901, 1936, 1936, 1936, 1938,
3147 1938, 1938, 1026, 1017, 1928, 1950, 1950, 1950, 1912, 1931,
3148 1012, 1939, 1939, 1939, 1936, 1939, 1938, 1001, 1939, 1914,
3149 1952, 1952, 1952, 1953, 1953, 1953, 1954, 1954, 1954, 1955,
3150 1955, 1955, 1956, 1956, 1956, 1957, 1957, 1957, 1952, 1957,
3152 1953, 999, 1957, 998, 1954, 1938, 997, 1955, 995, 1956,
3153 1958, 1958, 1958, 1959, 1959, 1959, 1960, 1960, 1960, 1961,
3154 1961, 1961, 1962, 1962, 1962, 994, 993, 1958, 992, 991,
3155 1959, 1968, 1968, 1968, 1960, 1963, 1963, 1963, 990, 988,
3156 1962, 1965, 1965, 1965, 987, 1954, 1970, 1970, 1970, 1955,
3157 1969, 1969, 1969, 1963, 1972, 1972, 1972, 986, 985, 1965,
3158 1973, 1973, 1973, 984, 1959, 1974, 1974, 1974, 1969, 983,
3159 1978, 1978, 1978, 1981, 1981, 1981, 1982, 1982, 1982, 982,
3160 1982, 981, 980, 1982, 1983, 1983, 1983, 1962, 1978, 979,
3161 1981, 1994, 1994, 1994, 1997, 1997, 1997, 1998, 1998, 1998,
3163 978, 1983, 1965, 2000, 2000, 2000, 2007, 2007, 2007, 1994,
3164 977, 971, 1997, 970, 969, 1998, 2008, 2008, 2008, 966,
3165 965, 2000, 964, 2007, 2011, 2011, 2011, 2012, 2012, 2012,
3166 962, 2012, 958, 955, 2012, 2014, 2014, 2014, 946, 1983,
3167 945, 2011, 2015, 2015, 2015, 2019, 2019, 2019, 942, 941,
3168 1994, 940, 2014, 2021, 2021, 2021, 2030, 2030, 2030, 1997,
3169 2015, 939, 2019, 929, 2022, 2022, 2022, 922, 2022, 914,
3170 2021, 2022, 913, 2030, 2032, 2032, 2032, 2034, 2034, 2034,
3171 2036, 2036, 2036, 2037, 2037, 2037, 912, 2037, 909, 904,
3172 2037, 2038, 2038, 2038, 901, 2034, 900, 2036, 2039, 2039,
3174 2039, 2040, 2040, 2040, 896, 2040, 894, 891, 2040, 2038,
3175 2043, 2043, 2043, 2044, 2044, 2044, 2039, 2044, 890, 889,
3176 2044, 2045, 2045, 2045, 2046, 2046, 2046, 2043, 2048, 2048,
3177 2048, 2049, 2049, 2049, 2053, 2053, 2053, 888, 2045, 2059,
3178 2059, 2059, 2046, 2060, 2060, 2060, 887, 2060, 886, 2049,
3179 2060, 885, 2053, 2063, 2063, 2063, 2059, 2074, 2074, 2074,
3180 2077, 2077, 2077, 881, 2039, 2078, 2078, 2078, 877, 876,
3181 2063, 2081, 2081, 2081, 875, 2074, 872, 871, 2077, 2084,
3182 2084, 2084, 868, 2078, 867, 2085, 2085, 2085, 2081, 2085,
3183 866, 863, 2085, 2088, 2088, 2088, 2084, 2088, 862, 859,
3185 2088, 2092, 2092, 2092, 2093, 2093, 2093, 854, 2093, 849,
3186 846, 2093, 845, 2063, 844, 842, 2074, 841, 2092, 2095,
3187 2095, 2095, 2096, 2096, 2096, 2097, 2097, 2097, 840, 2097,
3188 2077, 839, 2097, 2098, 2098, 2098, 2095, 838, 834, 2096,
3189 2099, 2099, 2099, 829, 2099, 828, 827, 2099, 826, 823,
3190 2098, 2107, 2107, 2107, 2108, 2108, 2108, 822, 2108, 821,
3191 819, 2108, 2109, 2109, 2109, 2110, 2110, 2110, 2107, 2111,
3192 2111, 2111, 815, 2111, 811, 810, 2111, 807, 804, 2109,
3193 803, 802, 2110, 2114, 2114, 2114, 2116, 2116, 2116, 2117,
3194 2117, 2117, 801, 2117, 800, 799, 2117, 2120, 2120, 2120,
3196 797, 2114, 796, 795, 2116, 2121, 2121, 2121, 794, 2121,
3197 793, 792, 2121, 791, 2120, 2122, 2122, 2122, 2127, 2127,
3198 2127, 2131, 2131, 2131, 2132, 2132, 2132, 790, 2132, 789,
3199 788, 2132, 787, 2122, 786, 2139, 2139, 2139, 2131, 2150,
3200 2150, 2150, 2151, 2151, 2151, 2153, 2153, 2153, 2155, 2155,
3201 2155, 2116, 2139, 2154, 2154, 2154, 785, 2150, 784, 783,
3202 2156, 2156, 2156, 2153, 2156, 2155, 782, 2156, 781, 780,
3203 2154, 2157, 2157, 2157, 776, 2157, 775, 773, 2157, 2163,
3204 2163, 2163, 772, 2163, 771, 770, 2163, 2167, 2167, 2167,
3205 2150, 2168, 2168, 2168, 2139, 2168, 769, 765, 2168, 2154,
3207 763, 2169, 2169, 2169, 2167, 2169, 2153, 762, 2169, 2172,
3208 2172, 2172, 2173, 2173, 2173, 761, 2173, 760, 756, 2173,
3209 2175, 2175, 2175, 2177, 2177, 2177, 2172, 2177, 752, 751,
3210 2177, 2180, 2180, 2180, 2181, 2181, 2181, 2175, 2181, 748,
3211 747, 2181, 2182, 2182, 2182, 2183, 2183, 2183, 2180, 2183,
3212 746, 745, 2183, 2190, 2190, 2190, 2191, 2191, 2191, 2182,
3213 2191, 744, 743, 2191, 2196, 2196, 2196, 2197, 2197, 2197,
3214 740, 2190, 2198, 2198, 2198, 739, 2201, 2201, 2201, 738,
3215 2201, 2196, 2196, 2201, 2212, 2212, 2212, 2221, 2221, 2221,
3216 2222, 2222, 2222, 2223, 2223, 2223, 2224, 2224, 2224, 737,
3218 734, 2212, 732, 729, 2190, 2221, 2225, 2225, 2225, 2226,
3219 2226, 2226, 728, 2226, 2224, 727, 2226, 2228, 2228, 2228,
3220 726, 2228, 725, 2225, 2228, 2235, 2235, 2235, 722, 2235,
3221 721, 720, 2235, 2238, 2238, 2238, 2221, 2238, 719, 718,
3222 2238, 2242, 2242, 2242, 2243, 2243, 2243, 2224, 2243, 715,
3223 714, 2243, 2245, 2245, 2245, 713, 2245, 712, 2242, 2245,
3224 2248, 2248, 2248, 710, 2248, 707, 705, 2248, 2257, 2257,
3225 2257, 2259, 2259, 2259, 2260, 2260, 2260, 2261, 2261, 2261,
3226 702, 2261, 701, 700, 2261, 699, 2257, 697, 2259, 2259,
3227 696, 2260, 2260, 695, 692, 2261, 2262, 2262, 2262, 2263,
3229 2263, 2263, 2264, 2264, 2264, 2273, 2273, 2273, 2274, 2274,
3230 2274, 691, 2274, 690, 689, 2274, 2283, 2283, 2283, 2284,
3231 2284, 2284, 2273, 2285, 2285, 2285, 2286, 2286, 2286, 688,
3232 2286, 687, 686, 2286, 2283, 2292, 2292, 2292, 2294, 2294,
3233 2294, 2285, 2295, 2295, 2295, 685, 2295, 684, 682, 2295,
3234 680, 679, 2292, 675, 674, 2294, 2298, 2298, 2298, 2313,
3235 2313, 2313, 2316, 2316, 2316, 2317, 2317, 2317, 673, 2317,
3236 670, 667, 2317, 2298, 2321, 2321, 2321, 2313, 666, 2316,
3237 2316, 2283, 665, 2317, 2318, 2318, 2318, 662, 2318, 661,
3238 657, 2318, 2322, 2322, 2322, 2340, 2340, 2340, 2341, 2341,
3240 2341, 656, 2318, 2319, 2319, 2319, 2319, 2319, 2319, 2319,
3241 2319, 2319, 652, 2340, 2319, 651, 2341, 649, 644, 2319,
3242 2319, 2319, 2319, 2319, 2331, 2331, 2331, 643, 2331, 641,
3243 640, 2331, 2347, 2347, 2347, 639, 2347, 638, 637, 2347,
3244 636, 632, 2346, 2346, 2346, 2349, 2349, 2349, 2319, 2319,
3245 2320, 2320, 2320, 2320, 2320, 2320, 2320, 2320, 2320, 2346,
3246 631, 2320, 2349, 2351, 2351, 2351, 2320, 2320, 2320, 2320,
3247 2320, 2350, 2350, 2350, 630, 2350, 629, 625, 2350, 624,
3248 2351, 2352, 2352, 2352, 623, 2352, 622, 621, 2352, 620,
3249 2366, 2366, 2366, 619, 2366, 2320, 2320, 2366, 617, 614,
3251 2385, 2385, 2385, 2418, 2418, 2418, 613, 611, 2366, 2369,
3252 2369, 2369, 2369, 2369, 2369, 2369, 2369, 2369, 2385, 609,
3253 2369, 2418, 2418, 606, 605, 2369, 2369, 2369, 2369, 2369,
3254 2390, 2390, 2390, 599, 2390, 597, 595, 2390, 2394, 2394,
3255 2394, 592, 2394, 591, 587, 2394, 2397, 2397, 2397, 586,
3256 2397, 585, 583, 2397, 2369, 2369, 2370, 2370, 2370, 2370,
3257 2370, 2370, 2370, 2370, 2370, 582, 581, 2370, 2427, 2427,
3258 2427, 580, 2370, 2370, 2370, 2370, 2370, 2428, 2428, 2428,
3259 2429, 2429, 2429, 579, 576, 2427, 2434, 2434, 2434, 2443,
3260 2443, 2443, 575, 574, 2428, 573, 572, 2429, 2447, 2447,
3262 2447, 2370, 2370, 2434, 2452, 2452, 2452, 2443, 2453, 2453,
3263 2453, 566, 2453, 565, 563, 2453, 2447, 2454, 2454, 2454,
3264 557, 2452, 2455, 2455, 2455, 556, 2455, 552, 545, 2455,
3265 2456, 2456, 2456, 541, 2454, 2457, 2457, 2457, 535, 2457,
3266 531, 527, 2457, 2464, 2464, 2464, 523, 2456, 522, 2447,
3267 2465, 2465, 2465, 521, 2465, 520, 516, 2465, 512, 509,
3268 2464, 2472, 2472, 2472, 2478, 2478, 2478, 508, 2478, 507,
3269 503, 2478, 497, 2481, 2481, 2481, 496, 2481, 492, 2472,
3270 2481, 2484, 2484, 2484, 488, 2484, 484, 483, 2484, 2493,
3271 2493, 2493, 479, 2493, 476, 475, 2493, 470, 2472, 2588,
3273 2588, 2588, 2597, 2597, 2597, 466, 2597, 458, 457, 2597,
3274 2698, 2698, 2698, 2699, 2699, 2699, 456, 2588, 452, 446,
3275 2597, 445, 441, 435, 434, 433, 432, 431, 2698, 430,
3276 429, 2699, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702,
3277 2702, 2703, 2703, 2703, 2703, 2703, 2703, 2703, 2703, 2703,
3278 2704, 2704, 2704, 2704, 2704, 2704, 2704, 2704, 2704, 2705,
3279 2705, 2705, 2705, 2705, 2705, 2705, 2705, 2705, 2706, 2706,
3280 2706, 2706, 2706, 2706, 2706, 2706, 2706, 2707, 2707, 2707,
3281 2707, 2707, 2707, 2707, 2707, 2707, 2708, 2708, 2708, 2708,
3282 2708, 2708, 2708, 2708, 2708, 2709, 2709, 2709, 2709, 2709,
3284 2709, 2709, 2709, 2709, 2710, 2710, 2710, 2710, 2710, 2710,
3285 2710, 2710, 2710, 2711, 2711, 2711, 2711, 2711, 2711, 2711,
3286 2711, 2711, 2712, 2712, 2712, 2712, 2712, 2712, 2712, 2712,
3287 2712, 2713, 2713, 2713, 2713, 2713, 2713, 2713, 2713, 2713,
3288 2714, 2714, 2714, 2714, 2714, 2714, 2714, 2714, 2714, 2715,
3289 2715, 2715, 2715, 2715, 2715, 2715, 2715, 2715, 2716, 2716,
3290 2716, 2716, 2716, 2716, 2716, 2716, 2716, 2717, 2717, 2717,
3291 2717, 2717, 2717, 2717, 2717, 2717, 2718, 2718, 2718, 2718,
3292 2718, 2718, 2718, 2718, 2718, 2719, 2719, 2719, 2719, 2719,
3293 2719, 2719, 2719, 2719, 2720, 2720, 2720, 2720, 2720, 2720,
3295 2720, 2720, 2720, 2721, 2721, 2721, 2721, 2721, 2721, 2721,
3296 2721, 2721, 2722, 2722, 2722, 2722, 2722, 2722, 2722, 2722,
3297 2722, 2723, 2723, 2723, 2723, 2723, 2723, 2723, 2723, 2723,
3298 2724, 2724, 2724, 2724, 2724, 2724, 2724, 2724, 2724, 2725,
3299 2725, 2725, 2725, 2725, 2725, 2725, 2725, 2725, 2726, 2726,
3300 2726, 2726, 2726, 2726, 2726, 2726, 2726, 2727, 2727, 2727,
3301 2727, 2727, 2727, 2727, 2727, 2727, 2728, 2728, 2728, 2728,
3302 2728, 2728, 2728, 2728, 2728, 2729, 2729, 2729, 2729, 2729,
3303 2729, 2729, 2729, 2729, 2730, 2730, 2730, 2730, 2730, 2730,
3304 2730, 2730, 2730, 2731, 2731, 2731, 2731, 2731, 2731, 2731,
3306 2731, 2731, 2732, 2732, 2732, 2732, 2732, 2732, 2732, 2732,
3307 2732, 2733, 2733, 2733, 2733, 2733, 2733, 2733, 2733, 2733,
3308 2734, 2734, 2734, 2734, 2734, 2734, 2734, 2734, 2734, 2735,
3309 2735, 2735, 2735, 2735, 2735, 2735, 2735, 2735, 2736, 2736,
3310 2736, 2736, 2736, 2736, 2736, 2736, 2736, 2737, 2737, 2737,
3311 2737, 2737, 2737, 2737, 2737, 2737, 2738, 2738, 2738, 2738,
3312 2738, 2738, 2738, 2738, 2738, 2739, 2739, 2739, 2739, 2739,
3313 2739, 2739, 2739, 2739, 2740, 2740, 2740, 2740, 2740, 2740,
3314 2740, 2740, 2740, 2741, 2741, 2741, 2741, 2741, 2741, 2741,
3315 2741, 2741, 2742, 2742, 2742, 2742, 2742, 2742, 2742, 2742,
3317 2742, 2743, 2743, 2743, 2743, 2743, 2743, 2743, 2743, 2743,
3318 2744, 2744, 2744, 2744, 2744, 2744, 2744, 2744, 2744, 2745,
3319 2745, 2745, 2745, 2745, 2745, 2745, 2745, 2745, 2746, 2746,
3320 2746, 2746, 2746, 2746, 2746, 2746, 2746, 2747, 2747, 2747,
3321 2747, 2747, 2747, 2747, 2747, 2747, 2748, 2748, 2748, 2748,
3322 2748, 2748, 2748, 2748, 2748, 2749, 2749, 2749, 2749, 2749,
3323 2749, 2749, 2749, 2749, 2750, 2750, 2750, 2750, 2750, 2750,
3324 2750, 2750, 2750, 2751, 2751, 2751, 2751, 2751, 2751, 2751,
3325 2751, 2751, 2752, 2752, 2752, 425, 416, 415, 2752, 2753,
3326 2753, 2753, 414, 412, 408, 2753, 2754, 2754, 2754, 404,
3328 400, 399, 2754, 2755, 2755, 2755, 398, 397, 396, 2755,
3329 2756, 2756, 2756, 392, 386, 385, 2756, 2757, 2757, 2757,
3330 381, 375, 374, 2757, 2758, 2758, 2758, 370, 363, 362,
3331 2758, 2759, 2759, 2759, 358, 351, 350, 2759, 2760, 2760,
3332 2760, 349, 345, 341, 2760, 2761, 2761, 2761, 335, 328,
3333 327, 2761, 2762, 2762, 2762, 323, 317, 316, 2762, 2763,
3334 2763, 2763, 315, 311, 302, 2763, 2764, 2764, 2764, 300,
3335 299, 295, 2764, 2765, 2765, 2765, 292, 290, 289, 2765,
3336 2766, 2766, 2766, 288, 284, 280, 2766, 2767, 2767, 2767,
3337 277, 273, 270, 2767, 2768, 2768, 2768, 269, 261, 257,
3339 2768, 2769, 2769, 2769, 253, 252, 251, 2769, 2770, 2770,
3340 2770, 245, 244, 242, 2770, 2771, 2771, 2771, 239, 227,
3341 0, 2771, 2772, 2772, 2772, 0, 0, 0, 2772, 2773,
3342 2773, 2773, 0, 0, 0, 2773, 2774, 2774, 2774, 0,
3343 0, 0, 2774, 2775, 2775, 2775, 2775, 2775, 2775, 2775,
3344 0, 2775, 2776, 2776, 2776, 0, 0, 0, 2776, 2777,
3345 0, 0, 0, 2777, 2778, 2778, 2778, 0, 0, 0,
3346 2778, 2779, 0, 0, 0, 2779, 2780, 2780, 2780, 0,
3347 0, 0, 2780, 2781, 0, 0, 0, 2781, 2782, 2782,
3348 2782, 0, 0, 0, 2782, 2783, 0, 0, 0, 2783,
3350 2784, 2784, 2784, 0, 0, 0, 2784, 2785, 0, 0,
3351 0, 2785, 2786, 2786, 2786, 0, 0, 0, 2786, 2787,
3352 0, 0, 0, 2787, 2788, 2788, 2788, 0, 0, 0,
3353 2788, 2789, 0, 0, 0, 2789, 2790, 2790, 2790, 0,
3354 0, 0, 2790, 2791, 0, 0, 0, 2791, 2792, 2792,
3355 2792, 0, 0, 0, 2792, 2793, 0, 0, 0, 2793,
3356 2794, 2794, 2794, 0, 0, 0, 2794, 2795, 0, 0,
3357 0, 2795, 2796, 2796, 2796, 0, 0, 0, 2796, 2797,
3358 0, 0, 0, 2797, 2798, 2798, 2798, 0, 0, 0,
3359 2798, 2799, 0, 0, 0, 2799, 2800, 2800, 2800, 0,
3361 0, 0, 2800, 2801, 0, 0, 0, 2801, 2802, 2802,
3362 2802, 0, 0, 0, 2802, 2803, 0, 0, 0, 2803,
3363 2804, 2804, 2804, 0, 0, 0, 2804, 2805, 0, 0,
3364 0, 2805, 2806, 2806, 2806, 0, 0, 0, 2806, 2807,
3365 0, 0, 0, 2807, 2808, 2808, 2808, 0, 0, 0,
3366 2808, 2809, 0, 0, 0, 2809, 2810, 2810, 2810, 0,
3367 0, 0, 2810, 2811, 0, 0, 0, 2811, 2812, 2812,
3368 2812, 0, 0, 0, 2812, 2813, 0, 0, 0, 2813,
3369 2814, 2814, 2814, 0, 0, 0, 2814, 2815, 0, 0,
3370 0, 2815, 2816, 2816, 2816, 0, 0, 0, 2816, 2817,
3372 0, 0, 0, 2817, 2818, 2818, 2818, 0, 0, 0,
3373 2818, 2819, 0, 0, 0, 2819, 2820, 2820, 2820, 0,
3374 0, 0, 2820, 2821, 0, 0, 0, 2821, 2822, 2822,
3375 2822, 2822, 2822, 2822, 2822, 2822, 2822, 2823, 0, 0,
3376 0, 0, 2823, 2824, 2824, 2824, 0, 0, 0, 2824,
3377 2825, 2825, 2825, 2825, 0, 0, 2825, 2825, 2826, 2826,
3378 2826, 0, 0, 0, 2826, 2827, 2827, 2827, 2827, 0,
3379 0, 2827, 2827, 2828, 2828, 2828, 0, 0, 0, 2828,
3380 2829, 2829, 2829, 2829, 0, 0, 2829, 2829, 2830, 2830,
3381 2830, 0, 0, 0, 2830, 2831, 2831, 2831, 2831, 0,
3383 0, 2831, 2831, 2832, 2832, 2832, 0, 0, 0, 2832,
3384 2833, 2833, 2833, 2833, 0, 0, 2833, 2833, 2834, 2834,
3385 2834, 0, 0, 0, 2834, 2835, 2835, 2835, 2835, 0,
3386 0, 2835, 2835, 2836, 2836, 2836, 0, 0, 0, 2836,
3387 2837, 2837, 2837, 2837, 0, 0, 2837, 2837, 2838, 2838,
3388 2838, 0, 0, 0, 2838, 2839, 2839, 2839, 2839, 0,
3389 0, 2839, 2839, 2840, 2840, 2840, 0, 0, 0, 2840,
3390 2841, 2841, 2841, 2841, 0, 0, 2841, 2841, 2842, 2842,
3391 2842, 0, 0, 0, 2842, 2843, 2843, 2843, 2843, 0,
3392 0, 2843, 2843, 2844, 2844, 2844, 0, 0, 0, 2844,
3394 2845, 2845, 2845, 2845, 0, 0, 2845, 2845, 2846, 2846,
3395 2846, 0, 0, 0, 2846, 2847, 2847, 2847, 2847, 0,
3396 0, 2847, 2847, 2848, 2848, 2848, 0, 0, 0, 2848,
3397 2849, 2849, 2849, 2849, 0, 0, 2849, 2849, 2850, 2850,
3398 2850, 0, 0, 0, 2850, 2851, 2851, 2851, 2851, 0,
3399 0, 2851, 2851, 2852, 2852, 2852, 0, 0, 0, 2852,
3400 2853, 2853, 2853, 2853, 0, 0, 2853, 2853, 2854, 2854,
3401 2854, 2854, 0, 2854, 0, 2854, 2855, 2855, 2855, 2855,
3402 0, 0, 2855, 2855, 2856, 2856, 2856, 2856, 0, 2856,
3403 0, 2856, 2857, 2857, 2857, 2857, 0, 0, 2857, 2857,
3405 2858, 2858, 2858, 0, 0, 0, 2858, 2859, 2859, 2859,
3406 2859, 0, 0, 2859, 2859, 2860, 2860, 2860, 2860, 0,
3407 2860, 0, 2860, 2861, 2861, 2861, 2861, 0, 0, 2861,
3408 2861, 2862, 2862, 2862, 0, 0, 0, 2862, 2863, 2863,
3409 2863, 2863, 0, 0, 2863, 2863, 2864, 2864, 2864, 0,
3410 0, 0, 2864, 2865, 2865, 2865, 2865, 0, 0, 2865,
3411 2865, 2866, 2866, 2866, 2866, 0, 0, 2866, 2866, 2867,
3412 2867, 2867, 0, 0, 0, 2867, 2868, 2868, 2868, 2868,
3413 0, 0, 2868, 2868, 2869, 2869, 2869, 2869, 2869, 2869,
3414 2869, 2869, 2869, 2870, 0, 2870, 0, 0, 2870, 2871,
3416 2871, 2871, 0, 0, 0, 2871, 2872, 2872, 2872, 2872,
3417 0, 0, 2872, 2872, 2873, 2873, 2873, 2873, 0, 2873,
3418 0, 2873, 2874, 2874, 2874, 2874, 0, 0, 2874, 2874,
3419 2875, 2875, 2875, 2875, 0, 2875, 0, 2875, 2876, 2876,
3420 2876, 2876, 0, 0, 2876, 2876, 2877, 2877, 2877, 0,
3421 0, 0, 2877, 2878, 2878, 2878, 2878, 0, 0, 2878,
3422 2878, 2879, 2879, 2879, 0, 0, 0, 2879, 2880, 2880,
3423 2880, 2880, 0, 0, 2880, 2880, 2881, 2881, 2881, 0,
3424 0, 0, 2881, 2882, 2882, 2882, 2882, 0, 0, 2882,
3425 2882, 2883, 2883, 2883, 0, 0, 0, 2883, 2884, 2884,
3427 2884, 2884, 0, 0, 2884, 2884, 2885, 2885, 2885, 0,
3428 0, 0, 2885, 2886, 2886, 2886, 2886, 0, 0, 2886,
3429 2886, 2887, 2887, 2887, 2887, 0, 2887, 0, 2887, 2888,
3430 2888, 2888, 2888, 0, 0, 2888, 2888, 2889, 2889, 2889,
3431 2889, 0, 2889, 0, 2889, 2890, 2890, 2890, 2890, 0,
3432 0, 2890, 2890, 2891, 2891, 2891, 0, 0, 0, 2891,
3433 2892, 2892, 2892, 2892, 0, 0, 2892, 2892, 2893, 2893,
3434 2893, 0, 0, 0, 2893, 2894, 2894, 2894, 2894, 0,
3435 0, 2894, 2894, 2895, 2895, 2895, 0, 0, 0, 2895,
3436 2896, 2896, 2896, 2896, 0, 0, 2896, 2896, 2897, 2897,
3438 2897, 0, 0, 0, 2897, 2898, 2898, 2898, 2898, 0,
3439 0, 2898, 2898, 2899, 2899, 2899, 0, 0, 0, 2899,
3440 2900, 2900, 2900, 2900, 0, 0, 2900, 2900, 2901, 2901,
3441 2901, 0, 0, 0, 2901, 2902, 2902, 2902, 2902, 0,
3442 0, 2902, 2902, 2903, 2903, 2903, 0, 0, 0, 2903,
3443 2904, 2904, 2904, 2904, 0, 0, 2904, 2904, 2905, 2905,
3444 2905, 0, 0, 0, 2905, 2906, 2906, 2906, 2906, 0,
3445 0, 2906, 2906, 2907, 2907, 2907, 0, 0, 0, 2907,
3446 2908, 2908, 2908, 2908, 0, 0, 2908, 2908, 2909, 2909,
3447 2909, 0, 0, 0, 2909, 2910, 2910, 2910, 2910, 0,
3449 0, 2910, 2910, 2911, 2911, 2911, 0, 0, 0, 2911,
3450 2912, 2912, 2912, 2912, 0, 0, 2912, 2912, 2913, 2913,
3451 2913, 2913, 0, 0, 2913, 2913, 2914, 2914, 2914, 0,
3452 0, 0, 2914, 2915, 2915, 2915, 2915, 0, 0, 2915,
3453 2915, 2916, 2916, 2916, 2916, 2916, 2916, 2916, 2916, 2916,
3454 2917, 2917, 2917, 2917, 2917, 2917, 2917, 2917, 2917, 2918,
3455 2918, 2918, 0, 0, 0, 2918, 2919, 2919, 2919, 2919,
3456 0, 0, 2919, 2919, 2920, 2920, 2920, 2920, 0, 0,
3457 2920, 2920, 2921, 2921, 2921, 0, 0, 0, 2921, 2922,
3458 2922, 2922, 2922, 0, 0, 2922, 2922, 2923, 2923, 2923,
3460 0, 0, 0, 2923, 2924, 2924, 2924, 2924, 0, 0,
3461 2924, 2924, 2925, 2925, 2925, 0, 0, 0, 2925, 2926,
3462 2926, 2926, 2926, 0, 0, 2926, 2926, 2927, 2927, 2927,
3463 0, 0, 0, 2927, 2928, 2928, 2928, 0, 0, 0,
3464 2928, 2929, 2929, 2929, 2929, 0, 0, 2929, 2929, 2930,
3465 2930, 2930, 0, 0, 0, 2930, 2931, 2931, 2931, 2931,
3466 0, 0, 2931, 2931, 2932, 2932, 2932, 2932, 0, 0,
3467 2932, 2932, 2933, 2933, 2933, 0, 0, 0, 2933, 2934,
3468 2934, 2934, 2934, 0, 0, 2934, 2934, 2935, 2935, 2935,
3469 0, 0, 0, 2935, 2936, 2936, 2936, 2936, 0, 0,
3471 2936, 2936, 2937, 2937, 2937, 0, 0, 0, 2937, 2938,
3472 2938, 2938, 2938, 0, 0, 2938, 2938, 2939, 2939, 2939,
3473 0, 0, 0, 2939, 2940, 2940, 2940, 2940, 0, 0,
3474 2940, 2940, 2941, 2941, 2941, 0, 0, 0, 2941, 2942,
3475 2942, 2942, 2942, 0, 0, 2942, 2942, 2943, 2943, 2943,
3476 0, 0, 0, 2943, 2944, 2944, 2944, 2944, 0, 0,
3477 2944, 2944, 2945, 2945, 2945, 0, 0, 0, 2945, 2946,
3478 2946, 2946, 2946, 0, 0, 2946, 2946, 2947, 2947, 2947,
3479 0, 0, 0, 2947, 2948, 2948, 2948, 2948, 0, 0,
3480 2948, 2948, 2949, 2949, 2949, 0, 0, 0, 2949, 2950,
3482 2950, 2950, 2950, 0, 0, 2950, 2950, 2951, 2951, 2951,
3483 0, 0, 0, 2951, 2952, 2952, 2952, 2952, 0, 0,
3484 2952, 2952, 2953, 2953, 2953, 0, 0, 0, 2953, 2954,
3485 2954, 2954, 2954, 0, 0, 2954, 2954, 2955, 2955, 2955,
3486 2955, 0, 2955, 0, 2955, 2956, 2956, 2956, 2956, 0,
3487 0, 2956, 2956, 2957, 2957, 2957, 2957, 0, 0, 2957,
3488 2957, 2958, 2958, 2958, 2958, 0, 2958, 0, 2958, 2959,
3489 2959, 2959, 2959, 0, 0, 2959, 2959, 2960, 2960, 2960,
3490 2960, 2960, 2960, 2960, 2960, 2960, 2961, 2961, 2961, 2961,
3491 2961, 2961, 2961, 2961, 2961, 2962, 2962, 2962, 0, 0,
3493 0, 2962, 2963, 2963, 2963, 2963, 0, 0, 2963, 2963,
3494 2964, 2964, 2964, 2964, 0, 0, 2964, 2964, 2965, 2965,
3495 2965, 0, 0, 0, 2965, 2966, 2966, 2966, 2966, 0,
3496 0, 2966, 2966, 2967, 2967, 2967, 0, 0, 0, 2967,
3497 2968, 2968, 2968, 2968, 0, 0, 2968, 2968, 2969, 2969,
3498 2969, 0, 0, 0, 2969, 2970, 2970, 2970, 2970, 0,
3499 0, 2970, 2970, 2971, 2971, 2971, 0, 0, 0, 2971,
3500 2972, 2972, 2972, 0, 0, 0, 2972, 2973, 2973, 2973,
3501 2973, 0, 0, 2973, 2973, 2974, 2974, 2974, 2974, 0,
3502 2974, 0, 2974, 2975, 2975, 2975, 2975, 0, 0, 2975,
3504 2975, 2976, 2976, 2976, 2976, 0, 0, 2976, 2976, 2977,
3505 2977, 2977, 2977, 0, 2977, 0, 2977, 2978, 2978, 2978,
3506 2978, 0, 0, 2978, 2978, 2979, 2979, 2979, 0, 0,
3507 0, 2979, 2980, 2980, 2980, 2980, 0, 0, 2980, 2980,
3508 2981, 2981, 2981, 0, 0, 0, 2981, 2982, 2982, 2982,
3509 2982, 0, 0, 2982, 2982, 2983, 2983, 2983, 0, 0,
3510 0, 2983, 2984, 2984, 2984, 2984, 0, 0, 2984, 2984,
3511 2985, 2985, 2985, 0, 0, 0, 2985, 2986, 2986, 2986,
3512 2986, 0, 0, 2986, 2986, 2987, 2987, 2987, 0, 0,
3513 0, 2987, 2988, 2988, 2988, 2988, 0, 0, 2988, 2988,
3515 2989, 2989, 2989, 0, 0, 0, 2989, 2990, 2990, 2990,
3516 2990, 0, 0, 2990, 2990, 2991, 2991, 2991, 2991, 0,
3517 2991, 0, 2991, 2992, 2992, 2992, 2992, 0, 0, 2992,
3518 2992, 2993, 2993, 2993, 0, 0, 0, 2993, 2994, 2994,
3519 2994, 2994, 0, 0, 2994, 2994, 2995, 2995, 2995, 2995,
3520 0, 2995, 0, 2995, 2996, 2996, 2996, 2996, 0, 0,
3521 2996, 2996, 2997, 2997, 2997, 0, 0, 0, 2997, 2998,
3522 2998, 2998, 2998, 0, 0, 2998, 2998, 2999, 2999, 2999,
3523 2999, 0, 0, 2999, 2999, 3000, 3000, 3000, 3000, 0,
3524 0, 3000, 3000, 3001, 3001, 3001, 3001, 0, 0, 3001,
3526 3001, 3002, 3002, 3002, 3002, 3002, 3002, 3002, 3002, 3002,
3527 3003, 3003, 3003, 3003, 3003, 3003, 3003, 3003, 3003, 3004,
3528 3004, 3004, 3004, 0, 3004, 0, 3004, 3005, 3005, 3005,
3529 3005, 0, 0, 3005, 3005, 3006, 3006, 3006, 3006, 0,
3530 0, 3006, 3006, 3007, 3007, 3007, 0, 0, 0, 3007,
3531 3008, 3008, 3008, 3008, 0, 0, 3008, 3008, 3009, 3009,
3532 3009, 0, 0, 0, 3009, 3010, 3010, 3010, 3010, 0,
3533 0, 3010, 3010, 3011, 3011, 3011, 3011, 0, 3011, 0,
3534 3011, 3012, 3012, 3012, 3012, 0, 0, 3012, 3012, 3013,
3535 3013, 3013, 3013, 0, 3013, 0, 3013, 3014, 3014, 3014,
3537 3014, 0, 3014, 0, 3014, 3015, 3015, 3015, 3015, 0,
3538 0, 3015, 3015, 3016, 3016, 3016, 3016, 0, 0, 3016,
3539 3016, 3017, 3017, 3017, 3017, 0, 0, 3017, 3017, 3018,
3540 3018, 3018, 3018, 0, 0, 3018, 3018, 3019, 3019, 3019,
3541 0, 0, 0, 3019, 3020, 3020, 3020, 0, 0, 0,
3542 3020, 3021, 3021, 3021, 3021, 0, 0, 3021, 3021, 3022,
3543 3022, 3022, 0, 0, 0, 3022, 3023, 3023, 3023, 0,
3544 0, 0, 3023, 3024, 3024, 3024, 3024, 0, 0, 3024,
3545 3024, 3025, 3025, 3025, 0, 0, 0, 3025, 3026, 3026,
3546 3026, 0, 0, 0, 3026, 3027, 3027, 3027, 3027, 0,
3548 0, 3027, 3027, 3028, 3028, 3028, 0, 0, 0, 3028,
3549 3029, 3029, 3029, 3029, 0, 0, 3029, 3029, 3030, 3030,
3550 3030, 0, 0, 0, 3030, 3031, 3031, 3031, 3031, 0,
3551 0, 3031, 3031, 3032, 3032, 3032, 3032, 0, 0, 3032,
3552 3032, 3033, 3033, 3033, 0, 0, 0, 3033, 3034, 3034,
3553 3034, 3034, 0, 0, 3034, 3034, 3035, 3035, 3035, 3035,
3554 0, 0, 3035, 3035, 3036, 3036, 3036, 3036, 0, 0,
3555 3036, 3036, 3037, 3037, 3037, 3037, 3037, 3037, 3037, 3037,
3556 3037, 3038, 3038, 3038, 3038, 3038, 3038, 3038, 3038, 3038,
3557 3039, 3039, 3039, 3039, 0, 0, 3039, 3039, 3040, 3040,
3559 3040, 3040, 0, 0, 3040, 3040, 3041, 3041, 3041, 0,
3560 0, 0, 3041, 3042, 3042, 3042, 0, 0, 0, 3042,
3561 3043, 3043, 3043, 3043, 0, 0, 3043, 3043, 3044, 3044,
3562 3044, 3044, 0, 0, 3044, 3044, 3045, 3045, 3045, 3045,
3563 0, 0, 3045, 3045, 3046, 3046, 3046, 3046, 0, 0,
3564 3046, 3046, 3047, 3047, 3047, 3047, 0, 0, 3047, 3047,
3565 3048, 3048, 3048, 0, 0, 0, 3048, 3049, 3049, 3049,
3566 0, 0, 0, 3049, 3050, 3050, 3050, 3050, 0, 0,
3567 3050, 3050, 3051, 3051, 3051, 0, 0, 0, 3051, 3052,
3568 3052, 3052, 0, 0, 0, 3052, 3053, 3053, 3053, 3053,
3570 0, 0, 3053, 3053, 3054, 3054, 3054, 0, 0, 0,
3571 3054, 3055, 3055, 3055, 0, 0, 0, 3055, 3056, 3056,
3572 3056, 0, 0, 0, 3056, 3057, 3057, 3057, 3057, 0,
3573 0, 3057, 3057, 3058, 3058, 3058, 0, 0, 0, 3058,
3574 3059, 3059, 3059, 3059, 0, 0, 3059, 3059, 3060, 3060,
3575 3060, 3060, 0, 0, 3060, 3060, 3061, 3061, 3061, 3061,
3576 0, 3061, 0, 3061, 3062, 3062, 3062, 3062, 0, 0,
3577 3062, 3062, 3063, 3063, 3063, 3063, 0, 0, 3063, 3063,
3578 3064, 3064, 3064, 3064, 0, 0, 3064, 3064, 3065, 3065,
3579 3065, 3065, 3065, 3065, 3065, 3065, 3065, 3066, 3066, 3066,
3581 3066, 3066, 3066, 3066, 3066, 3066, 3067, 3067, 3067, 3067,
3582 0, 0, 3067, 3067, 3068, 3068, 3068, 3068, 0, 0,
3583 3068, 3068, 3069, 3069, 3069, 0, 0, 0, 3069, 3070,
3584 3070, 3070, 3070, 0, 3070, 0, 3070, 3071, 3071, 3071,
3585 3071, 3071, 3071, 3071, 3071, 3071, 3072, 3072, 3072, 3072,
3586 3072, 3072, 3072, 3072, 3072, 3073, 3073, 3073, 3073, 3073,
3587 3073, 3073, 3073, 3073, 3074, 3074, 3074, 3074, 3074, 3074,
3588 3074, 3074, 3074, 3075, 3075, 3075, 3075, 3075, 3075, 3075,
3589 3075, 3075, 3076, 3076, 3076, 3076, 3076, 3076, 3076, 3076,
3590 3076, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701,
3592 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701,
3593 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701,
3594 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701,
3595 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701,
3596 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701,
3597 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701,
3598 2701, 2701, 2701, 2701
3601 /* Table of booleans, true if rule could match eol. */
3602 static yyconst flex_int32_t yy_rule_can_match_eol[460] =
3604 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1,
3605 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1,
3606 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3607 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0,
3608 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,
3609 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1,
3610 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1,
3611 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0,
3612 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1,
3613 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0,
3614 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3615 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0,
3616 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3617 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0,
3618 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3619 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1,
3620 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3621 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1,
3622 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,
3623 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0,
3624 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0,
3625 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0,
3626 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0,
3629 static yy_state_type yy_last_accepting_state;
3630 static char *yy_last_accepting_cpos;
3632 extern int surf_parse__flex_debug;
3633 int surf_parse__flex_debug = 0;
3635 /* The intent behind this definition is that it'll catch
3636 * any uses of REJECT which flex missed.
3638 #define REJECT reject_used_but_not_detected
3639 #define yymore() yymore_used_but_not_detected
3640 #define YY_MORE_ADJ 0
3641 #define YY_RESTORE_YY_MORE_OFFSET
3642 char *surf_parse_text;
3643 /* Validating XML processor for src/surf/simgrid.dtd.
3645 * This program was generated with the FleXML XML processor generator.
3646 * FleXML is Copyright (C) 1999-2005 Kristoffer Rose. All rights reserved.
3647 * FleXML is Copyright (C) 2003-2011 Martin Quinson. All rights reserved.
3648 * (Id: flexml.pl,v 1.67 2011/11/01 20:49:21 mquinson Exp).
3650 * There are two, intertwined parts to this program, part A and part B.
3655 * Some parts, here collectively called "Part A", are found in the
3656 * FleXML package. They are Copyright (C) 1999-2005 Kristoffer Rose
3657 * and Copyright (C) 2003-2011 Martin Quinson. All rights reserved.
3659 * You can redistribute, use, perform, display and/or modify "Part A"
3660 * provided the following two conditions hold:
3662 * 1. The program is distributed WITHOUT ANY WARRANTY from the author of
3663 * FleXML; without even the implied warranty of MERCHANTABILITY or
3664 * FITNESS FOR A PARTICULAR PURPOSE.
3666 * 2. The program distribution conditions do not in any way affect the
3667 * distribution conditions of the FleXML system used to generate this
3668 * file or any version of FleXML derived from that system.
3670 * Notice that these are explicit rights granted to you for files
3671 * generated by the FleXML system. For your rights in connection with
3672 * the FleXML system itself please consult the GNU General Public License.
3677 * The other parts, here collectively called "Part B", and which came
3678 * from the DTD used by FleXML to generate this program, can be
3679 * distributed (or not, as the case may be) under the terms of whoever
3680 * wrote them, provided these terms respect and obey the two conditions
3681 * above under the heading "Part A".
3683 * The author of and contributors to FleXML specifically disclaim
3684 * any copyright interest in "Part B", unless "Part B" was written
3685 * by the author of or contributors to FleXML.
3689 /* Version strings. */
3690 const char rcs_surfxml_flexml_skeleton[] =
3691 "$" "Id: skel,v 1.40 2007/10/11 09:57:24 mquinson Exp $";
3692 const char rcs_surfxml_flexml[] =
3693 "$" "Id: flexml.pl,v 1.67 2011/11/01 20:49:21 mquinson Exp $";
3696 #include <stdlib.h> /* for realloc() -- needed here when using flex 2.5.4 */
3703 #if defined(_XBT_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__TOS_WIN__)
3704 # ifndef __STRICT_ANSI__
3706 # include <process.h>
3709 # include <unistd.h>
3712 #ifndef FLEXML_INDEXSTACKSIZE
3713 #define FLEXML_INDEXSTACKSIZE 1000
3716 /* Generated definitions. */
3717 #define FLEXML_yylineno
3718 #ifndef FLEXML_BUFFERSTACKSIZE
3719 #define FLEXML_BUFFERSTACKSIZE 1000000
3721 #define FLEXML_NEED_BUFFERLIT
3723 /* XML processor api. */
3724 /* FleXML-provided data. */
3725 int surfxml_pcdata_ix;
3726 extern char *surfxml_bufferstack;
3727 #define surfxml_pcdata (surfxml_bufferstack + surfxml_pcdata_ix)
3728 AT_surfxml_mount_name AX_surfxml_mount_name;
3729 #define A_surfxml_mount_name (surfxml_bufferstack + AX_surfxml_mount_name)
3730 short int surfxml_mount_name_isset;
3731 AT_surfxml_random_generator AX_surfxml_random_generator;
3732 #define A_surfxml_random_generator AX_surfxml_random_generator
3733 short int surfxml_random_generator_isset;
3734 AT_surfxml_ASroute_gw_dst AX_surfxml_ASroute_gw_dst;
3735 #define A_surfxml_ASroute_gw_dst (surfxml_bufferstack + AX_surfxml_ASroute_gw_dst)
3736 short int surfxml_ASroute_gw_dst_isset;
3737 AT_surfxml_trace_connect_element AX_surfxml_trace_connect_element;
3738 #define A_surfxml_trace_connect_element (surfxml_bufferstack + AX_surfxml_trace_connect_element)
3739 short int surfxml_trace_connect_element_isset;
3740 AT_surfxml_prop_id AX_surfxml_prop_id;
3741 #define A_surfxml_prop_id (surfxml_bufferstack + AX_surfxml_prop_id)
3742 short int surfxml_prop_id_isset;
3743 AT_surfxml_host_id AX_surfxml_host_id;
3744 #define A_surfxml_host_id (surfxml_bufferstack + AX_surfxml_host_id)
3745 short int surfxml_host_id_isset;
3746 AT_surfxml_ASroute_symmetrical AX_surfxml_ASroute_symmetrical;
3747 #define A_surfxml_ASroute_symmetrical AX_surfxml_ASroute_symmetrical
3748 short int surfxml_ASroute_symmetrical_isset;
3749 AT_surfxml_peer_lat AX_surfxml_peer_lat;
3750 #define A_surfxml_peer_lat (surfxml_bufferstack + AX_surfxml_peer_lat)
3751 short int surfxml_peer_lat_isset;
3752 AT_surfxml_link_latency_file AX_surfxml_link_latency_file;
3753 #define A_surfxml_link_latency_file (surfxml_bufferstack + AX_surfxml_link_latency_file)
3754 short int surfxml_link_latency_file_isset;
3755 AT_surfxml_peer_availability_file AX_surfxml_peer_availability_file;
3756 #define A_surfxml_peer_availability_file (surfxml_bufferstack + AX_surfxml_peer_availability_file)
3757 short int surfxml_peer_availability_file_isset;
3758 AT_surfxml_link_ctn_direction AX_surfxml_link_ctn_direction;
3759 #define A_surfxml_link_ctn_direction AX_surfxml_link_ctn_direction
3760 short int surfxml_link_ctn_direction_isset;
3761 AT_surfxml_host_state AX_surfxml_host_state;
3762 #define A_surfxml_host_state AX_surfxml_host_state
3763 short int surfxml_host_state_isset;
3764 AT_surfxml_AS_id AX_surfxml_AS_id;
3765 #define A_surfxml_AS_id (surfxml_bufferstack + AX_surfxml_AS_id)
3766 short int surfxml_AS_id_isset;
3767 AT_surfxml_host_power AX_surfxml_host_power;
3768 #define A_surfxml_host_power (surfxml_bufferstack + AX_surfxml_host_power)
3769 short int surfxml_host_power_isset;
3770 AT_surfxml_router_id AX_surfxml_router_id;
3771 #define A_surfxml_router_id (surfxml_bufferstack + AX_surfxml_router_id)
3772 short int surfxml_router_id_isset;
3773 AT_surfxml_storage_type_id AX_surfxml_storage_type_id;
3774 #define A_surfxml_storage_type_id (surfxml_bufferstack + AX_surfxml_storage_type_id)
3775 short int surfxml_storage_type_id_isset;
3776 AT_surfxml_process_start_time AX_surfxml_process_start_time;
3777 #define A_surfxml_process_start_time (surfxml_bufferstack + AX_surfxml_process_start_time)
3778 short int surfxml_process_start_time_isset;
3779 AT_surfxml_cluster_suffix AX_surfxml_cluster_suffix;
3780 #define A_surfxml_cluster_suffix (surfxml_bufferstack + AX_surfxml_cluster_suffix)
3781 short int surfxml_cluster_suffix_isset;
3782 AT_surfxml_ASroute_src AX_surfxml_ASroute_src;
3783 #define A_surfxml_ASroute_src (surfxml_bufferstack + AX_surfxml_ASroute_src)
3784 short int surfxml_ASroute_src_isset;
3785 AT_surfxml_cluster_prefix AX_surfxml_cluster_prefix;
3786 #define A_surfxml_cluster_prefix (surfxml_bufferstack + AX_surfxml_cluster_prefix)
3787 short int surfxml_cluster_prefix_isset;
3788 AT_surfxml_trace_file AX_surfxml_trace_file;
3789 #define A_surfxml_trace_file (surfxml_bufferstack + AX_surfxml_trace_file)
3790 short int surfxml_trace_file_isset;
3791 AT_surfxml_link_sharing_policy AX_surfxml_link_sharing_policy;
3792 #define A_surfxml_link_sharing_policy AX_surfxml_link_sharing_policy
3793 short int surfxml_link_sharing_policy_isset;
3794 AT_surfxml_storage_typeId AX_surfxml_storage_typeId;
3795 #define A_surfxml_storage_typeId (surfxml_bufferstack + AX_surfxml_storage_typeId)
3796 short int surfxml_storage_typeId_isset;
3797 AT_surfxml_random_min AX_surfxml_random_min;
3798 #define A_surfxml_random_min (surfxml_bufferstack + AX_surfxml_random_min)
3799 short int surfxml_random_min_isset;
3800 AT_surfxml_link_ctn_id AX_surfxml_link_ctn_id;
3801 #define A_surfxml_link_ctn_id (surfxml_bufferstack + AX_surfxml_link_ctn_id)
3802 short int surfxml_link_ctn_id_isset;
3803 AT_surfxml_peer_bw_out AX_surfxml_peer_bw_out;
3804 #define A_surfxml_peer_bw_out (surfxml_bufferstack + AX_surfxml_peer_bw_out)
3805 short int surfxml_peer_bw_out_isset;
3806 AT_surfxml_cluster_availability_file AX_surfxml_cluster_availability_file;
3807 #define A_surfxml_cluster_availability_file (surfxml_bufferstack + AX_surfxml_cluster_availability_file)
3808 short int surfxml_cluster_availability_file_isset;
3809 AT_surfxml_process_kill_time AX_surfxml_process_kill_time;
3810 #define A_surfxml_process_kill_time (surfxml_bufferstack + AX_surfxml_process_kill_time)
3811 short int surfxml_process_kill_time_isset;
3812 AT_surfxml_cluster_bb_bw AX_surfxml_cluster_bb_bw;
3813 #define A_surfxml_cluster_bb_bw (surfxml_bufferstack + AX_surfxml_cluster_bb_bw)
3814 short int surfxml_cluster_bb_bw_isset;
3815 AT_surfxml_argument_value AX_surfxml_argument_value;
3816 #define A_surfxml_argument_value (surfxml_bufferstack + AX_surfxml_argument_value)
3817 short int surfxml_argument_value_isset;
3818 AT_surfxml_link_state AX_surfxml_link_state;
3819 #define A_surfxml_link_state AX_surfxml_link_state
3820 short int surfxml_link_state_isset;
3821 AT_surfxml_ASroute_gw_src AX_surfxml_ASroute_gw_src;
3822 #define A_surfxml_ASroute_gw_src (surfxml_bufferstack + AX_surfxml_ASroute_gw_src)
3823 short int surfxml_ASroute_gw_src_isset;
3824 AT_surfxml_AS_routing AX_surfxml_AS_routing;
3825 #define A_surfxml_AS_routing (surfxml_bufferstack + AX_surfxml_AS_routing)
3826 short int surfxml_AS_routing_isset;
3827 AT_surfxml_link_bandwidth AX_surfxml_link_bandwidth;
3828 #define A_surfxml_link_bandwidth (surfxml_bufferstack + AX_surfxml_link_bandwidth)
3829 short int surfxml_link_bandwidth_isset;
3830 AT_surfxml_cluster_id AX_surfxml_cluster_id;
3831 #define A_surfxml_cluster_id (surfxml_bufferstack + AX_surfxml_cluster_id)
3832 short int surfxml_cluster_id_isset;
3833 AT_surfxml_peer_bw_in AX_surfxml_peer_bw_in;
3834 #define A_surfxml_peer_bw_in (surfxml_bufferstack + AX_surfxml_peer_bw_in)
3835 short int surfxml_peer_bw_in_isset;
3836 AT_surfxml_random_mean AX_surfxml_random_mean;
3837 #define A_surfxml_random_mean (surfxml_bufferstack + AX_surfxml_random_mean)
3838 short int surfxml_random_mean_isset;
3839 AT_surfxml_cluster_bb_lat AX_surfxml_cluster_bb_lat;
3840 #define A_surfxml_cluster_bb_lat (surfxml_bufferstack + AX_surfxml_cluster_bb_lat)
3841 short int surfxml_cluster_bb_lat_isset;
3842 AT_surfxml_link_latency AX_surfxml_link_latency;
3843 #define A_surfxml_link_latency (surfxml_bufferstack + AX_surfxml_link_latency)
3844 short int surfxml_link_latency_isset;
3845 AT_surfxml_trace_connect_kind AX_surfxml_trace_connect_kind;
3846 #define A_surfxml_trace_connect_kind AX_surfxml_trace_connect_kind
3847 short int surfxml_trace_connect_kind_isset;
3848 AT_surfxml_random_seed AX_surfxml_random_seed;
3849 #define A_surfxml_random_seed (surfxml_bufferstack + AX_surfxml_random_seed)
3850 short int surfxml_random_seed_isset;
3851 AT_surfxml_cluster_state_file AX_surfxml_cluster_state_file;
3852 #define A_surfxml_cluster_state_file (surfxml_bufferstack + AX_surfxml_cluster_state_file)
3853 short int surfxml_cluster_state_file_isset;
3854 AT_surfxml_link_bandwidth_file AX_surfxml_link_bandwidth_file;
3855 #define A_surfxml_link_bandwidth_file (surfxml_bufferstack + AX_surfxml_link_bandwidth_file)
3856 short int surfxml_link_bandwidth_file_isset;
3857 AT_surfxml_storage_type_content AX_surfxml_storage_type_content;
3858 #define A_surfxml_storage_type_content (surfxml_bufferstack + AX_surfxml_storage_type_content)
3859 short int surfxml_storage_type_content_isset;
3860 AT_surfxml_route_symmetrical AX_surfxml_route_symmetrical;
3861 #define A_surfxml_route_symmetrical AX_surfxml_route_symmetrical
3862 short int surfxml_route_symmetrical_isset;
3863 AT_surfxml_random_id AX_surfxml_random_id;
3864 #define A_surfxml_random_id (surfxml_bufferstack + AX_surfxml_random_id)
3865 short int surfxml_random_id_isset;
3866 AT_surfxml_mstorage_name AX_surfxml_mstorage_name;
3867 #define A_surfxml_mstorage_name (surfxml_bufferstack + AX_surfxml_mstorage_name)
3868 short int surfxml_mstorage_name_isset;
3869 AT_surfxml_random_max AX_surfxml_random_max;
3870 #define A_surfxml_random_max (surfxml_bufferstack + AX_surfxml_random_max)
3871 short int surfxml_random_max_isset;
3872 AT_surfxml_link_id AX_surfxml_link_id;
3873 #define A_surfxml_link_id (surfxml_bufferstack + AX_surfxml_link_id)
3874 short int surfxml_link_id_isset;
3875 AT_surfxml_process_host AX_surfxml_process_host;
3876 #define A_surfxml_process_host (surfxml_bufferstack + AX_surfxml_process_host)
3877 short int surfxml_process_host_isset;
3878 AT_surfxml_host_availability_file AX_surfxml_host_availability_file;
3879 #define A_surfxml_host_availability_file (surfxml_bufferstack + AX_surfxml_host_availability_file)
3880 short int surfxml_host_availability_file_isset;
3881 AT_surfxml_cluster_lat AX_surfxml_cluster_lat;
3882 #define A_surfxml_cluster_lat (surfxml_bufferstack + AX_surfxml_cluster_lat)
3883 short int surfxml_cluster_lat_isset;
3884 AT_surfxml_trace_periodicity AX_surfxml_trace_periodicity;
3885 #define A_surfxml_trace_periodicity (surfxml_bufferstack + AX_surfxml_trace_periodicity)
3886 short int surfxml_trace_periodicity_isset;
3887 AT_surfxml_cluster_bb_sharing_policy AX_surfxml_cluster_bb_sharing_policy;
3888 #define A_surfxml_cluster_bb_sharing_policy AX_surfxml_cluster_bb_sharing_policy
3889 short int surfxml_cluster_bb_sharing_policy_isset;
3890 AT_surfxml_router_coordinates AX_surfxml_router_coordinates;
3891 #define A_surfxml_router_coordinates (surfxml_bufferstack + AX_surfxml_router_coordinates)
3892 short int surfxml_router_coordinates_isset;
3893 AT_surfxml_peer_coordinates AX_surfxml_peer_coordinates;
3894 #define A_surfxml_peer_coordinates (surfxml_bufferstack + AX_surfxml_peer_coordinates)
3895 short int surfxml_peer_coordinates_isset;
3896 AT_surfxml_peer_state_file AX_surfxml_peer_state_file;
3897 #define A_surfxml_peer_state_file (surfxml_bufferstack + AX_surfxml_peer_state_file)
3898 short int surfxml_peer_state_file_isset;
3899 AT_surfxml_prop_value AX_surfxml_prop_value;
3900 #define A_surfxml_prop_value (surfxml_bufferstack + AX_surfxml_prop_value)
3901 short int surfxml_prop_value_isset;
3902 AT_surfxml_mstorage_typeId AX_surfxml_mstorage_typeId;
3903 #define A_surfxml_mstorage_typeId (surfxml_bufferstack + AX_surfxml_mstorage_typeId)
3904 short int surfxml_mstorage_typeId_isset;
3905 AT_surfxml_ASroute_dst AX_surfxml_ASroute_dst;
3906 #define A_surfxml_ASroute_dst (surfxml_bufferstack + AX_surfxml_ASroute_dst)
3907 short int surfxml_ASroute_dst_isset;
3908 AT_surfxml_link_state_file AX_surfxml_link_state_file;
3909 #define A_surfxml_link_state_file (surfxml_bufferstack + AX_surfxml_link_state_file)
3910 short int surfxml_link_state_file_isset;
3911 AT_surfxml_random_radical AX_surfxml_random_radical;
3912 #define A_surfxml_random_radical (surfxml_bufferstack + AX_surfxml_random_radical)
3913 short int surfxml_random_radical_isset;
3914 AT_surfxml_trace_connect_trace AX_surfxml_trace_connect_trace;
3915 #define A_surfxml_trace_connect_trace (surfxml_bufferstack + AX_surfxml_trace_connect_trace)
3916 short int surfxml_trace_connect_trace_isset;
3917 AT_surfxml_mount_id AX_surfxml_mount_id;
3918 #define A_surfxml_mount_id (surfxml_bufferstack + AX_surfxml_mount_id)
3919 short int surfxml_mount_id_isset;
3920 AT_surfxml_cluster_power AX_surfxml_cluster_power;
3921 #define A_surfxml_cluster_power (surfxml_bufferstack + AX_surfxml_cluster_power)
3922 short int surfxml_cluster_power_isset;
3923 AT_surfxml_process_function AX_surfxml_process_function;
3924 #define A_surfxml_process_function (surfxml_bufferstack + AX_surfxml_process_function)
3925 short int surfxml_process_function_isset;
3926 AT_surfxml_peer_id AX_surfxml_peer_id;
3927 #define A_surfxml_peer_id (surfxml_bufferstack + AX_surfxml_peer_id)
3928 short int surfxml_peer_id_isset;
3929 AT_surfxml_cluster_router_id AX_surfxml_cluster_router_id;
3930 #define A_surfxml_cluster_router_id (surfxml_bufferstack + AX_surfxml_cluster_router_id)
3931 short int surfxml_cluster_router_id_isset;
3932 AT_surfxml_cluster_sharing_policy AX_surfxml_cluster_sharing_policy;
3933 #define A_surfxml_cluster_sharing_policy AX_surfxml_cluster_sharing_policy
3934 short int surfxml_cluster_sharing_policy_isset;
3935 AT_surfxml_bypassRoute_dst AX_surfxml_bypassRoute_dst;
3936 #define A_surfxml_bypassRoute_dst (surfxml_bufferstack + AX_surfxml_bypassRoute_dst)
3937 short int surfxml_bypassRoute_dst_isset;
3938 AT_surfxml_host_core AX_surfxml_host_core;
3939 #define A_surfxml_host_core (surfxml_bufferstack + AX_surfxml_host_core)
3940 short int surfxml_host_core_isset;
3941 AT_surfxml_host_availability AX_surfxml_host_availability;
3942 #define A_surfxml_host_availability (surfxml_bufferstack + AX_surfxml_host_availability)
3943 short int surfxml_host_availability_isset;
3944 AT_surfxml_storage_type_model AX_surfxml_storage_type_model;
3945 #define A_surfxml_storage_type_model (surfxml_bufferstack + AX_surfxml_storage_type_model)
3946 short int surfxml_storage_type_model_isset;
3947 AT_surfxml_bypassRoute_src AX_surfxml_bypassRoute_src;
3948 #define A_surfxml_bypassRoute_src (surfxml_bufferstack + AX_surfxml_bypassRoute_src)
3949 short int surfxml_bypassRoute_src_isset;
3950 AT_surfxml_route_src AX_surfxml_route_src;
3951 #define A_surfxml_route_src (surfxml_bufferstack + AX_surfxml_route_src)
3952 short int surfxml_route_src_isset;
3953 AT_surfxml_bypassRoute_gw_dst AX_surfxml_bypassRoute_gw_dst;
3954 #define A_surfxml_bypassRoute_gw_dst (surfxml_bufferstack + AX_surfxml_bypassRoute_gw_dst)
3955 short int surfxml_bypassRoute_gw_dst_isset;
3956 AT_surfxml_storage_id AX_surfxml_storage_id;
3957 #define A_surfxml_storage_id (surfxml_bufferstack + AX_surfxml_storage_id)
3958 short int surfxml_storage_id_isset;
3959 AT_surfxml_host_coordinates AX_surfxml_host_coordinates;
3960 #define A_surfxml_host_coordinates (surfxml_bufferstack + AX_surfxml_host_coordinates)
3961 short int surfxml_host_coordinates_isset;
3962 AT_surfxml_trace_id AX_surfxml_trace_id;
3963 #define A_surfxml_trace_id (surfxml_bufferstack + AX_surfxml_trace_id)
3964 short int surfxml_trace_id_isset;
3965 AT_surfxml_peer_power AX_surfxml_peer_power;
3966 #define A_surfxml_peer_power (surfxml_bufferstack + AX_surfxml_peer_power)
3967 short int surfxml_peer_power_isset;
3968 AT_surfxml_cluster_radical AX_surfxml_cluster_radical;
3969 #define A_surfxml_cluster_radical (surfxml_bufferstack + AX_surfxml_cluster_radical)
3970 short int surfxml_cluster_radical_isset;
3971 AT_surfxml_config_id AX_surfxml_config_id;
3972 #define A_surfxml_config_id (surfxml_bufferstack + AX_surfxml_config_id)
3973 short int surfxml_config_id_isset;
3974 AT_surfxml_bypassRoute_gw_src AX_surfxml_bypassRoute_gw_src;
3975 #define A_surfxml_bypassRoute_gw_src (surfxml_bufferstack + AX_surfxml_bypassRoute_gw_src)
3976 short int surfxml_bypassRoute_gw_src_isset;
3977 AT_surfxml_include_file AX_surfxml_include_file;
3978 #define A_surfxml_include_file (surfxml_bufferstack + AX_surfxml_include_file)
3979 short int surfxml_include_file_isset;
3980 AT_surfxml_random_std_deviation AX_surfxml_random_std_deviation;
3981 #define A_surfxml_random_std_deviation (surfxml_bufferstack + AX_surfxml_random_std_deviation)
3982 short int surfxml_random_std_deviation_isset;
3983 AT_surfxml_cluster_core AX_surfxml_cluster_core;
3984 #define A_surfxml_cluster_core (surfxml_bufferstack + AX_surfxml_cluster_core)
3985 short int surfxml_cluster_core_isset;
3986 AT_surfxml_host_state_file AX_surfxml_host_state_file;
3987 #define A_surfxml_host_state_file (surfxml_bufferstack + AX_surfxml_host_state_file)
3988 short int surfxml_host_state_file_isset;
3989 AT_surfxml_route_dst AX_surfxml_route_dst;
3990 #define A_surfxml_route_dst (surfxml_bufferstack + AX_surfxml_route_dst)
3991 short int surfxml_route_dst_isset;
3992 AT_surfxml_cluster_bw AX_surfxml_cluster_bw;
3993 #define A_surfxml_cluster_bw (surfxml_bufferstack + AX_surfxml_cluster_bw)
3994 short int surfxml_cluster_bw_isset;
3995 AT_surfxml_platform_version AX_surfxml_platform_version;
3996 #define A_surfxml_platform_version (surfxml_bufferstack + AX_surfxml_platform_version)
3997 short int surfxml_platform_version_isset;
4001 # define ENTER(state) debug_enter(state,#state)
4002 # define LEAVE debug_leave()
4003 # define SET(state) debug_set(state,#state)
4004 static void debug_enter(int, const char*);
4005 static void debug_leave(void);
4006 static void debug_set(int, const char*);
4008 # define ENTER(state) (yy_push_state(state))
4009 # define LEAVE (yy_pop_state())
4010 # define SET(state) BEGIN(state)
4013 /* Generic actions. */
4014 #define SKIP /*skip*/
4015 #define SUCCEED CLEANUP; return 0
4017 #define FAIL return fail
4018 static int fail(const char*, ...);
4020 enum {flexml_max_err_msg_size = 512};
4021 static char flexml_err_msg[flexml_max_err_msg_size];
4022 const char * surfxml_parse_err_msg()
4024 return flexml_err_msg;
4026 static void reset_surfxml_parse_err_msg()
4028 flexml_err_msg[0] = '\0';
4032 static void cleanup(void);
4033 #define CLEANUP cleanup()
4035 /* Text buffer stack handling. */
4036 char *surfxml_bufferstack = NULL;
4037 static int blimit = FLEXML_BUFFERSTACKSIZE;
4038 static int bnext = 1;
4040 static int *indexstack = NULL;
4041 static int ilimit = FLEXML_INDEXSTACKSIZE;
4042 static int inext = 1;
4044 #define BUFFERSET(P) (P = bnext)
4045 #define BUFFERPUTC(C) (ck_blimit(), surfxml_bufferstack[bnext++] = (C))
4046 #define BUFFERDONE (BUFFERPUTC('\0'))
4048 #define BUFFERLITERAL(C, P) surfxml_bufferliteral(C, &(P), surf_parse_text)
4050 /* after this is called, there are at least 2 slots left in the stack */
4051 static int ck_blimit()
4053 if (bnext >= blimit) {
4054 blimit += FLEXML_BUFFERSTACKSIZE + 2;
4056 char *temp = (char *) realloc(surfxml_bufferstack, blimit);
4058 surfxml_bufferstack = temp;
4064 /* after this is called, there are at least 2 slots left in the stack */
4065 static int ck_ilimit()
4067 if (inext >= ilimit) {
4068 ilimit += FLEXML_INDEXSTACKSIZE + 2;
4070 int *temp = (int *) realloc(indexstack, ilimit);
4078 #ifdef FLEXML_NEED_BUFFERLIT
4079 static void surfxml_bufferliteral(char c, int* pp, const char* text)
4081 const char *s = (c ? strchr(text,c) : text-1), *e = strrchr(text,c);
4082 assert(s <= e); BUFFERSET(*pp);
4084 if (isspace(*s) && c) { BUFFERPUTC(' '); while (isspace(*s)) ++s; }
4085 else BUFFERPUTC(*s);
4091 static void pushbuffer(int p)
4094 indexstack[inext++] = p;
4095 indexstack[inext++] = bnext;
4098 static int popbuffer(void)
4101 bnext = indexstack[--inext];
4102 return indexstack[--inext];
4105 /* General internal entities are `unput' back onto the input stream... */
4106 #define ENTITYTEXT(T) \
4107 { char *s = (T), *e = s+strlen(s);\
4108 while (--e >= s) { unput(*e); }}
4110 /* Flex standard options. */
4111 #define YY_NO_INPUT 1
4112 /* Flex user-requested options. */
4113 /* XML character classes (currently restricted to ASCII). */
4114 /* "Common syntactic structures." */
4115 /* "Names and Tokens." */
4116 /* Miscellaneous. */
4117 /* Parser states (flex `exclusive start conditions'):
4119 * PROLOG the XML prolog of the document before <?xml...>
4120 * DOCTYPE the XML prolog of the document after <?xml...>
4121 * EPILOG after the root element
4122 * INCOMMENT inside an XML comment <!--....-->
4123 * INPI inside an XML PI <?...?>
4124 * VALUE1 inside a '...'-delimited literal
4125 * VALUE2 inside a "..."-delimited literal
4126 * CDATA inside a <![CDATA[...] ]> section.
4127 * ROOT_<tag> expect root element <tag>
4128 * AL_<tag> inside the attribute list for <tag>
4129 * IN_<tag> inside a <tag> with element contents (ready for end tag)
4130 * IMPOSSIBLE dummy to permit disabling rules; must be last
4134 const char* *surfxml_statenames=NULL;
4145 #define ROOT_surfxml_platform 9
4146 #define AL_surfxml_platform 10
4147 #define S_surfxml_platform 11
4148 #define S_surfxml_platform_1 12
4149 #define S_surfxml_platform_2 13
4150 #define S_surfxml_platform_3 14
4151 #define S_surfxml_platform_4 15
4152 #define S_surfxml_platform_5 16
4153 #define S_surfxml_platform_6 17
4154 #define S_surfxml_platform_7 18
4155 #define S_surfxml_platform_8 19
4156 #define E_surfxml_platform 20
4157 #define AL_surfxml_include 21
4158 #define S_surfxml_include 22
4159 #define S_surfxml_include_1 23
4160 #define S_surfxml_include_2 24
4161 #define E_surfxml_include 25
4162 #define AL_surfxml_trace 26
4164 #define AL_surfxml_random 28
4165 #define S_surfxml_random 29
4166 #define S_surfxml_random_1 30
4167 #define S_surfxml_random_2 31
4168 #define E_surfxml_random 32
4169 #define AL_surfxml_trace_connect 33
4170 #define E_surfxml_trace_connect 34
4171 #define AL_surfxml_AS 35
4172 #define S_surfxml_AS 36
4173 #define S_surfxml_AS_1 37
4174 #define S_surfxml_AS_2 38
4175 #define S_surfxml_AS_3 39
4176 #define S_surfxml_AS_4 40
4177 #define S_surfxml_AS_5 41
4178 #define S_surfxml_AS_6 42
4179 #define S_surfxml_AS_7 43
4180 #define S_surfxml_AS_8 44
4181 #define S_surfxml_AS_9 45
4182 #define S_surfxml_AS_10 46
4183 #define S_surfxml_AS_11 47
4184 #define S_surfxml_AS_12 48
4185 #define S_surfxml_AS_13 49
4186 #define E_surfxml_AS 50
4187 #define AL_surfxml_storage_type 51
4188 #define S_surfxml_storage_type 52
4189 #define S_surfxml_storage_type_1 53
4190 #define S_surfxml_storage_type_2 54
4191 #define E_surfxml_storage_type 55
4192 #define AL_surfxml_storage 56
4193 #define S_surfxml_storage 57
4194 #define S_surfxml_storage_1 58
4195 #define S_surfxml_storage_2 59
4196 #define E_surfxml_storage 60
4197 #define AL_surfxml_mount 61
4198 #define E_surfxml_mount 62
4199 #define AL_surfxml_mstorage 63
4200 #define E_surfxml_mstorage 64
4201 #define AL_surfxml_host 65
4202 #define S_surfxml_host 66
4203 #define S_surfxml_host_1 67
4204 #define S_surfxml_host_2 68
4205 #define E_surfxml_host 69
4206 #define AL_surfxml_cluster 70
4207 #define E_surfxml_cluster 71
4208 #define AL_surfxml_peer 72
4209 #define E_surfxml_peer 73
4210 #define AL_surfxml_router 74
4211 #define E_surfxml_router 75
4212 #define AL_surfxml_link 76
4213 #define S_surfxml_link 77
4214 #define S_surfxml_link_1 78
4215 #define S_surfxml_link_2 79
4216 #define E_surfxml_link 80
4217 #define AL_surfxml_route 81
4218 #define S_surfxml_route 82
4219 #define S_surfxml_route_1 83
4220 #define S_surfxml_route_2 84
4221 #define E_surfxml_route 85
4222 #define AL_surfxml_ASroute 86
4223 #define S_surfxml_ASroute 87
4224 #define S_surfxml_ASroute_1 88
4225 #define S_surfxml_ASroute_2 89
4226 #define E_surfxml_ASroute 90
4227 #define AL_surfxml_link_ctn 91
4228 #define E_surfxml_link_ctn 92
4229 #define AL_surfxml_bypassRoute 93
4230 #define S_surfxml_bypassRoute 94
4231 #define S_surfxml_bypassRoute_1 95
4232 #define S_surfxml_bypassRoute_2 96
4233 #define E_surfxml_bypassRoute 97
4234 #define AL_surfxml_process 98
4235 #define S_surfxml_process 99
4236 #define S_surfxml_process_1 100
4237 #define S_surfxml_process_2 101
4238 #define E_surfxml_process 102
4239 #define AL_surfxml_argument 103
4240 #define E_surfxml_argument 104
4241 #define AL_surfxml_config 105
4242 #define S_surfxml_config 106
4243 #define S_surfxml_config_1 107
4244 #define S_surfxml_config_2 108
4245 #define E_surfxml_config 109
4246 #define AL_surfxml_prop 110
4247 #define E_surfxml_prop 111
4248 #define IMPOSSIBLE 112
4250 #ifndef YY_NO_UNISTD_H
4251 /* Special case for "unistd.h", since it is non-ANSI. We include it way
4252 * down here because we want the user's section 1 to have been scanned first.
4253 * The user has a chance to override it with an option.
4255 #if defined(_XBT_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__TOS_WIN__)
4256 # ifndef __STRICT_ANSI__
4258 # include <process.h>
4261 # include <unistd.h>
4265 #ifndef YY_EXTRA_TYPE
4266 #define YY_EXTRA_TYPE void *
4269 static int yy_init_globals (void );
4271 /* Accessor methods to globals.
4272 These are made visible to non-reentrant scanners for convenience. */
4274 int surf_parse_lex_destroy (void );
4276 int surf_parse_get_debug (void );
4278 void surf_parse_set_debug (int debug_flag );
4280 YY_EXTRA_TYPE surf_parse_get_extra (void );
4282 void surf_parse_set_extra (YY_EXTRA_TYPE user_defined );
4284 FILE *surf_parse_get_in (void );
4286 void surf_parse_set_in (FILE * in_str );
4288 FILE *surf_parse_get_out (void );
4290 void surf_parse_set_out (FILE * out_str );
4292 int surf_parse_get_leng (void );
4294 char *surf_parse_get_text (void );
4296 int surf_parse_get_lineno (void );
4298 void surf_parse_set_lineno (int line_number );
4300 /* Macros after this point can all be overridden by user definitions in
4304 #ifndef YY_SKIP_YYWRAP
4306 extern "C" int surf_parse_wrap (void );
4308 extern int surf_parse_wrap (void );
4313 static void yy_flex_strncpy (char *,yyconst char *,int );
4316 #ifdef YY_NEED_STRLEN
4317 static int yy_flex_strlen (yyconst char * );
4323 static int yyinput (void );
4325 static int input (void );
4330 static int yy_start_stack_ptr = 0;
4331 static int yy_start_stack_depth = 0;
4332 static int *yy_start_stack = NULL;
4334 static void yy_push_state (int new_state );
4336 static void yy_pop_state (void );
4338 /* Amount of stuff to slurp up with each read. */
4339 #ifndef YY_READ_BUF_SIZE
4341 /* On IA-64, the buffer size is 16k, not 8k */
4342 #define YY_READ_BUF_SIZE 16384
4344 #define YY_READ_BUF_SIZE 8192
4345 #endif /* __ia64__ */
4348 /* Copy whatever the last rule matched to the standard output. */
4350 /* This used to be an fputs(), but since the string might contain NUL's,
4351 * we now use fwrite().
4353 #define ECHO do { if (fwrite( surf_parse_text, surf_parse_leng, 1, surf_parse_out )) {} } while (0)
4356 /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
4357 * is returned in "result".
4360 #define YY_INPUT(buf,result,max_size) \
4361 if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
4365 for ( n = 0; n < max_size && \
4366 (c = getc( surf_parse_in )) != EOF && c != '\n'; ++n ) \
4367 buf[n] = (char) c; \
4369 buf[n++] = (char) c; \
4370 if ( c == EOF && ferror( surf_parse_in ) ) \
4371 YY_FATAL_ERROR( "input in flex scanner failed" ); \
4377 while ( (result = fread(buf, 1, max_size, surf_parse_in))==0 && ferror(surf_parse_in)) \
4379 if( errno != EINTR) \
4381 YY_FATAL_ERROR( "input in flex scanner failed" ); \
4385 clearerr(surf_parse_in); \
4392 /* No semi-colon after return; correct usage is to write "yyterminate();" -
4393 * we don't want an extra ';' after the "return" because that will cause
4394 * some compilers to complain about unreachable statements.
4397 #define yyterminate() return YY_NULL
4400 /* Number of entries by which start-condition stack grows. */
4401 #ifndef YY_START_STACK_INCR
4402 #define YY_START_STACK_INCR 25
4405 /* Report a fatal error. */
4406 #ifndef YY_FATAL_ERROR
4407 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
4410 /* end tables serialization structures and prototypes */
4412 /* Default declaration of generated scanner - a define so the user can
4413 * easily add parameters.
4416 #define YY_DECL_IS_OURS 1
4418 extern int surf_parse_lex (void);
4420 #define YY_DECL int surf_parse_lex (void)
4421 #endif /* !YY_DECL */
4423 /* Code executed at the beginning of each rule, after surf_parse_text and surf_parse_leng
4426 #ifndef YY_USER_ACTION
4427 #define YY_USER_ACTION
4430 /* Code executed at the end of each rule. */
4432 #define YY_BREAK break;
4435 #define YY_RULE_SETUP \
4438 /** The main scanner function which does all the work.
4442 register yy_state_type yy_current_state;
4443 register char *yy_cp, *yy_bp;
4444 register int yy_act;
4446 /* Bypass Flex's default INITIAL state and begin by parsing the XML prolog. */
4448 reset_surfxml_parse_err_msg();
4449 surfxml_bufferstack = (char *) malloc(FLEXML_BUFFERSTACKSIZE);
4450 assert(surfxml_bufferstack);
4454 for (i = 0; i < blimit; i++) {
4455 surfxml_bufferstack[i] = '\377';
4459 surfxml_bufferstack[0] = '\0';
4460 indexstack = (int *) malloc(FLEXML_INDEXSTACKSIZE * sizeof(int));
4466 surfxml_bufferliteral('\0', &bnext, "0.0");
4467 surfxml_bufferliteral('\0', &bnext, "2147483647");
4468 surfxml_bufferliteral('\0', &bnext, "1");
4469 surfxml_bufferliteral('\0', &bnext, "1.0");
4470 surfxml_bufferliteral('\0', &bnext, "1");
4471 surfxml_bufferliteral('\0', &bnext, "0.0");
4472 surfxml_bufferliteral('\0', &bnext, "-1.0");
4473 surfxml_bufferliteral('\0', &bnext, "-1.0");
4474 if(!surfxml_statenames) {surfxml_statenames= (const char **)calloc(IMPOSSIBLE,sizeof(char*));
4475 surfxml_statenames[PROLOG] = NULL;
4476 surfxml_statenames[DOCTYPE] = NULL;
4477 surfxml_statenames[EPILOG] = NULL;
4478 surfxml_statenames[INCOMMENT] = NULL;
4479 surfxml_statenames[INPI] = NULL;
4480 surfxml_statenames[VALUE1] = NULL;
4481 surfxml_statenames[VALUE2] = NULL;
4482 surfxml_statenames[CDATA] = NULL;
4483 surfxml_statenames[ROOT_surfxml_platform] = NULL;
4484 surfxml_statenames[AL_surfxml_platform] = NULL;
4485 surfxml_statenames[S_surfxml_platform] = "platform";
4486 surfxml_statenames[S_surfxml_platform_1] = "platform";
4487 surfxml_statenames[S_surfxml_platform_2] = "platform";
4488 surfxml_statenames[S_surfxml_platform_3] = "platform";
4489 surfxml_statenames[S_surfxml_platform_4] = "platform";
4490 surfxml_statenames[S_surfxml_platform_5] = "platform";
4491 surfxml_statenames[S_surfxml_platform_6] = "platform";
4492 surfxml_statenames[S_surfxml_platform_7] = "platform";
4493 surfxml_statenames[S_surfxml_platform_8] = "platform";
4494 surfxml_statenames[E_surfxml_platform] = "platform";
4495 surfxml_statenames[AL_surfxml_include] = NULL;
4496 surfxml_statenames[S_surfxml_include] = "include";
4497 surfxml_statenames[S_surfxml_include_1] = "include";
4498 surfxml_statenames[S_surfxml_include_2] = "include";
4499 surfxml_statenames[E_surfxml_include] = "include";
4500 surfxml_statenames[AL_surfxml_trace] = NULL;
4501 surfxml_statenames[IN_trace] = "trace";
4502 surfxml_statenames[AL_surfxml_random] = NULL;
4503 surfxml_statenames[S_surfxml_random] = "random";
4504 surfxml_statenames[S_surfxml_random_1] = "random";
4505 surfxml_statenames[S_surfxml_random_2] = "random";
4506 surfxml_statenames[E_surfxml_random] = "random";
4507 surfxml_statenames[AL_surfxml_trace_connect] = NULL;
4508 surfxml_statenames[E_surfxml_trace_connect] = "trace_connect";
4509 surfxml_statenames[AL_surfxml_AS] = NULL;
4510 surfxml_statenames[S_surfxml_AS] = "AS";
4511 surfxml_statenames[S_surfxml_AS_1] = "AS";
4512 surfxml_statenames[S_surfxml_AS_2] = "AS";
4513 surfxml_statenames[S_surfxml_AS_3] = "AS";
4514 surfxml_statenames[S_surfxml_AS_4] = "AS";
4515 surfxml_statenames[S_surfxml_AS_5] = "AS";
4516 surfxml_statenames[S_surfxml_AS_6] = "AS";
4517 surfxml_statenames[S_surfxml_AS_7] = "AS";
4518 surfxml_statenames[S_surfxml_AS_8] = "AS";
4519 surfxml_statenames[S_surfxml_AS_9] = "AS";
4520 surfxml_statenames[S_surfxml_AS_10] = "AS";
4521 surfxml_statenames[S_surfxml_AS_11] = "AS";
4522 surfxml_statenames[S_surfxml_AS_12] = "AS";
4523 surfxml_statenames[S_surfxml_AS_13] = "AS";
4524 surfxml_statenames[E_surfxml_AS] = "AS";
4525 surfxml_statenames[AL_surfxml_storage_type] = NULL;
4526 surfxml_statenames[S_surfxml_storage_type] = "storage_type";
4527 surfxml_statenames[S_surfxml_storage_type_1] = "storage_type";
4528 surfxml_statenames[S_surfxml_storage_type_2] = "storage_type";
4529 surfxml_statenames[E_surfxml_storage_type] = "storage_type";
4530 surfxml_statenames[AL_surfxml_storage] = NULL;
4531 surfxml_statenames[S_surfxml_storage] = "storage";
4532 surfxml_statenames[S_surfxml_storage_1] = "storage";
4533 surfxml_statenames[S_surfxml_storage_2] = "storage";
4534 surfxml_statenames[E_surfxml_storage] = "storage";
4535 surfxml_statenames[AL_surfxml_mount] = NULL;
4536 surfxml_statenames[E_surfxml_mount] = "mount";
4537 surfxml_statenames[AL_surfxml_mstorage] = NULL;
4538 surfxml_statenames[E_surfxml_mstorage] = "mstorage";
4539 surfxml_statenames[AL_surfxml_host] = NULL;
4540 surfxml_statenames[S_surfxml_host] = "host";
4541 surfxml_statenames[S_surfxml_host_1] = "host";
4542 surfxml_statenames[S_surfxml_host_2] = "host";
4543 surfxml_statenames[E_surfxml_host] = "host";
4544 surfxml_statenames[AL_surfxml_cluster] = NULL;
4545 surfxml_statenames[E_surfxml_cluster] = "cluster";
4546 surfxml_statenames[AL_surfxml_peer] = NULL;
4547 surfxml_statenames[E_surfxml_peer] = "peer";
4548 surfxml_statenames[AL_surfxml_router] = NULL;
4549 surfxml_statenames[E_surfxml_router] = "router";
4550 surfxml_statenames[AL_surfxml_link] = NULL;
4551 surfxml_statenames[S_surfxml_link] = "link";
4552 surfxml_statenames[S_surfxml_link_1] = "link";
4553 surfxml_statenames[S_surfxml_link_2] = "link";
4554 surfxml_statenames[E_surfxml_link] = "link";
4555 surfxml_statenames[AL_surfxml_route] = NULL;
4556 surfxml_statenames[S_surfxml_route] = "route";
4557 surfxml_statenames[S_surfxml_route_1] = "route";
4558 surfxml_statenames[S_surfxml_route_2] = "route";
4559 surfxml_statenames[E_surfxml_route] = "route";
4560 surfxml_statenames[AL_surfxml_ASroute] = NULL;
4561 surfxml_statenames[S_surfxml_ASroute] = "ASroute";
4562 surfxml_statenames[S_surfxml_ASroute_1] = "ASroute";
4563 surfxml_statenames[S_surfxml_ASroute_2] = "ASroute";
4564 surfxml_statenames[E_surfxml_ASroute] = "ASroute";
4565 surfxml_statenames[AL_surfxml_link_ctn] = NULL;
4566 surfxml_statenames[E_surfxml_link_ctn] = "link_ctn";
4567 surfxml_statenames[AL_surfxml_bypassRoute] = NULL;
4568 surfxml_statenames[S_surfxml_bypassRoute] = "bypassRoute";
4569 surfxml_statenames[S_surfxml_bypassRoute_1] = "bypassRoute";
4570 surfxml_statenames[S_surfxml_bypassRoute_2] = "bypassRoute";
4571 surfxml_statenames[E_surfxml_bypassRoute] = "bypassRoute";
4572 surfxml_statenames[AL_surfxml_process] = NULL;
4573 surfxml_statenames[S_surfxml_process] = "process";
4574 surfxml_statenames[S_surfxml_process_1] = "process";
4575 surfxml_statenames[S_surfxml_process_2] = "process";
4576 surfxml_statenames[E_surfxml_process] = "process";
4577 surfxml_statenames[AL_surfxml_argument] = NULL;
4578 surfxml_statenames[E_surfxml_argument] = "argument";
4579 surfxml_statenames[AL_surfxml_config] = NULL;
4580 surfxml_statenames[S_surfxml_config] = "config";
4581 surfxml_statenames[S_surfxml_config_1] = "config";
4582 surfxml_statenames[S_surfxml_config_2] = "config";
4583 surfxml_statenames[E_surfxml_config] = "config";
4584 surfxml_statenames[AL_surfxml_prop] = NULL;
4585 surfxml_statenames[E_surfxml_prop] = "prop";
4588 /* COMMENTS and PIs: handled uniformly for efficiency. */
4599 (yy_start) = 1; /* first start state */
4601 if ( ! surf_parse_in )
4602 surf_parse_in = stdin;
4604 if ( ! surf_parse_out )
4605 surf_parse_out = stdout;
4607 if ( ! YY_CURRENT_BUFFER ) {
4608 surf_parse_ensure_buffer_stack ();
4609 YY_CURRENT_BUFFER_LVALUE =
4610 surf_parse__create_buffer(surf_parse_in,YY_BUF_SIZE );
4613 surf_parse__load_buffer_state( );
4616 while ( 1 ) /* loops until end-of-file is reached */
4618 yy_cp = (yy_c_buf_p);
4620 /* Support of surf_parse_text. */
4621 *yy_cp = (yy_hold_char);
4623 /* yy_bp points to the position in yy_ch_buf of the start of
4628 yy_current_state = (yy_start);
4632 register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
4633 if ( yy_accept[yy_current_state] )
4635 (yy_last_accepting_state) = yy_current_state;
4636 (yy_last_accepting_cpos) = yy_cp;
4638 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
4640 yy_current_state = (int) yy_def[yy_current_state];
4641 if ( yy_current_state >= 2702 )
4642 yy_c = yy_meta[(unsigned int) yy_c];
4644 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
4647 while ( yy_base[yy_current_state] != 9692 );
4650 yy_act = yy_accept[yy_current_state];
4652 { /* have to back up */
4653 yy_cp = (yy_last_accepting_cpos);
4654 yy_current_state = (yy_last_accepting_state);
4655 yy_act = yy_accept[yy_current_state];
4658 YY_DO_BEFORE_ACTION;
4660 if ( yy_act != YY_END_OF_BUFFER && yy_rule_can_match_eol[yy_act] )
4663 for ( yyl = 0; yyl < surf_parse_leng; ++yyl )
4664 if ( surf_parse_text[yyl] == '\n' )
4666 surf_parse_lineno++;
4670 do_action: /* This label is used only to access EOF actions. */
4673 { /* beginning of action switch */
4674 case 0: /* must back up */
4675 /* undo the effects of YY_DO_BEFORE_ACTION */
4676 *yy_cp = (yy_hold_char);
4677 yy_cp = (yy_last_accepting_cpos);
4678 yy_current_state = (yy_last_accepting_state);
4679 goto yy_find_action;
4697 /* rule 6 can match eol */
4701 case YY_STATE_EOF(INCOMMENT):
4702 FAIL("EOF in comment.");
4711 /* rule 9 can match eol */
4715 case YY_STATE_EOF(INPI):
4716 FAIL("EOF in PI (processing instruction).");
4719 /* SPACES: skipped uniformly */
4721 /* rule 10 can match eol */
4725 /* PROLOG: determine root element and process it. */
4728 /* rule 11 can match eol */
4733 /* rule 12 can match eol */
4735 FAIL("Bad declaration %s.",surf_parse_text);
4739 /* rule 13 can match eol */
4741 SET(ROOT_surfxml_platform);
4744 /* rule 14 can match eol */
4746 FAIL("Bad declaration %s.",surf_parse_text);
4750 FAIL("Unexpected character `%c' in prolog.", surf_parse_text[0]);
4752 case YY_STATE_EOF(PROLOG):
4753 case YY_STATE_EOF(DOCTYPE):
4754 FAIL("EOF in prolog.");
4757 /* RULES DERIVED FROM DTD. */
4758 /* <!-- Small DTD for SURF based tools. --> */
4760 /* rule 16 can match eol */
4762 FAIL("Starting tag <platform> is not allowed here.");
4765 /* rule 17 can match eol */
4768 AX_surfxml_platform_version = 1;
4769 surfxml_platform_version_isset = 0;
4770 ENTER(AL_surfxml_platform); pushbuffer(0);
4775 /* rule 18 can match eol */
4777 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);
4780 /* rule 19 can match eol */
4782 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);
4787 LEAVE; STag_surfxml_platform();surfxml_pcdata_ix = 0; ENTER(S_surfxml_platform);
4793 LEAVE; STag_surfxml_platform(); surfxml_pcdata_ix = 0; ETag_surfxml_platform(); popbuffer(); /* attribute */
4795 case ROOT_surfxml_platform: SET(EPILOG); break;
4801 FAIL("Unexpected character `%c' in attribute list of platform element.", surf_parse_text[0]);
4805 FAIL("Bad attribute `%s' in `platform' element start tag.",surf_parse_text);
4807 case YY_STATE_EOF(AL_surfxml_platform):
4808 FAIL("EOF in attribute list of `platform' element.");
4812 /* rule 24 can match eol */
4816 ETag_surfxml_platform();
4817 popbuffer(); /* attribute */
4819 case ROOT_surfxml_platform: SET(EPILOG); break;
4824 /* rule 25 can match eol */
4826 FAIL("Unexpected end-tag `%s': `</platform>' expected.",surf_parse_text);
4830 FAIL("Unexpected character `%c': `</platform>' expected.",surf_parse_text[0]);
4832 case YY_STATE_EOF(S_surfxml_platform_8):
4833 case YY_STATE_EOF(S_surfxml_platform_1):
4834 case YY_STATE_EOF(S_surfxml_platform_3):
4835 case YY_STATE_EOF(S_surfxml_platform):
4836 case YY_STATE_EOF(S_surfxml_platform_4):
4837 case YY_STATE_EOF(S_surfxml_platform_6):
4838 case YY_STATE_EOF(E_surfxml_platform):
4839 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</platform>' expected.");
4843 /* rule 27 can match eol */
4845 FAIL("Starting tag <include> is not allowed here.");
4848 /* rule 28 can match eol */
4851 AX_surfxml_include_file = 0;
4852 surfxml_include_file_isset = 0;
4853 ENTER(AL_surfxml_include); pushbuffer(0);
4858 /* rule 29 can match eol */
4860 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);
4863 /* rule 30 can match eol */
4865 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);
4870 if (!AX_surfxml_include_file) FAIL("Required attribute `file' not set for `include' element.");
4871 LEAVE; STag_surfxml_include();surfxml_pcdata_ix = 0; ENTER(S_surfxml_include);
4877 if (!AX_surfxml_include_file) FAIL("Required attribute `file' not set for `include' element.");
4878 LEAVE; STag_surfxml_include(); surfxml_pcdata_ix = 0; ETag_surfxml_include(); popbuffer(); /* attribute */
4880 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
4881 case S_surfxml_AS_2: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
4882 case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_6: case S_surfxml_platform_3: SET(S_surfxml_platform_6); break;
4883 case S_surfxml_include: case S_surfxml_include_2: case S_surfxml_include_1: SET(S_surfxml_include_2); break;
4889 FAIL("Unexpected character `%c' in attribute list of include element.", surf_parse_text[0]);
4893 FAIL("Bad attribute `%s' in `include' element start tag.",surf_parse_text);
4895 case YY_STATE_EOF(AL_surfxml_include):
4896 FAIL("EOF in attribute list of `include' element.");
4900 /* rule 35 can match eol */
4904 ETag_surfxml_include();
4905 popbuffer(); /* attribute */
4907 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
4908 case S_surfxml_AS_2: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
4909 case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_6: case S_surfxml_platform_3: SET(S_surfxml_platform_6); break;
4910 case S_surfxml_include: case S_surfxml_include_2: case S_surfxml_include_1: SET(S_surfxml_include_2); break;
4915 /* rule 36 can match eol */
4917 FAIL("Unexpected end-tag `%s': `</include>' expected.",surf_parse_text);
4921 FAIL("Unexpected character `%c': `</include>' expected.",surf_parse_text[0]);
4923 case YY_STATE_EOF(E_surfxml_include):
4924 case YY_STATE_EOF(S_surfxml_include):
4925 case YY_STATE_EOF(S_surfxml_include_2):
4926 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</include>' expected.");
4930 /* rule 38 can match eol */
4932 FAIL("Starting tag <trace> is not allowed here.");
4935 /* rule 39 can match eol */
4938 AX_surfxml_trace_id = 0;
4939 surfxml_trace_id_isset = 0;
4940 AX_surfxml_trace_file = 0;
4941 surfxml_trace_file_isset = 0;
4942 AX_surfxml_trace_periodicity = 0;
4943 surfxml_trace_periodicity_isset = 0;
4944 ENTER(AL_surfxml_trace); pushbuffer(0);
4949 /* rule 40 can match eol */
4951 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);
4954 /* rule 41 can match eol */
4956 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);
4959 /* rule 42 can match eol */
4961 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);
4964 /* rule 43 can match eol */
4966 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);
4969 /* rule 44 can match eol */
4971 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);
4974 /* rule 45 can match eol */
4976 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);
4981 if (!AX_surfxml_trace_id) FAIL("Required attribute `id' not set for `trace' element.");
4982 if (!AX_surfxml_trace_periodicity) FAIL("Required attribute `periodicity' not set for `trace' element.");
4983 LEAVE; STag_surfxml_trace();pushbuffer(surfxml_pcdata_ix); BUFFERSET(surfxml_pcdata_ix);; ENTER(IN_trace);
4989 if (!AX_surfxml_trace_id) FAIL("Required attribute `id' not set for `trace' element.");
4990 if (!AX_surfxml_trace_periodicity) FAIL("Required attribute `periodicity' not set for `trace' element.");
4991 LEAVE; STag_surfxml_trace(); surfxml_pcdata_ix = 0; ETag_surfxml_trace(); popbuffer(); /* attribute */
4993 case S_surfxml_AS_8: case S_surfxml_AS_4: case S_surfxml_AS_7: case S_surfxml_AS_6: SET(S_surfxml_AS_8); break;
4994 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
4995 case S_surfxml_AS_2: SET(S_surfxml_AS_3); break;
4996 case S_surfxml_AS_1: case S_surfxml_AS_5: case S_surfxml_AS_3: SET(S_surfxml_AS_6); break;
4997 case S_surfxml_platform_6: case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_6); break;
4998 case S_surfxml_AS_12: case S_surfxml_AS_9: case S_surfxml_AS_13: SET(S_surfxml_AS_13); break;
4999 case S_surfxml_include: case S_surfxml_include_2: case S_surfxml_include_1: SET(S_surfxml_include_2); break;
5005 FAIL("Unexpected character `%c' in attribute list of trace element.", surf_parse_text[0]);
5009 FAIL("Bad attribute `%s' in `trace' element start tag.",surf_parse_text);
5011 case YY_STATE_EOF(AL_surfxml_trace):
5012 FAIL("EOF in attribute list of `trace' element.");
5016 /* rule 50 can match eol */
5021 ETag_surfxml_trace();
5022 surfxml_pcdata_ix = popbuffer();
5023 popbuffer(); /* attribute */
5025 case S_surfxml_AS_8: case S_surfxml_AS_4: case S_surfxml_AS_7: case S_surfxml_AS_6: SET(S_surfxml_AS_8); break;
5026 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
5027 case S_surfxml_AS_2: SET(S_surfxml_AS_3); break;
5028 case S_surfxml_AS_1: case S_surfxml_AS_5: case S_surfxml_AS_3: SET(S_surfxml_AS_6); break;
5029 case S_surfxml_platform_6: case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_6); break;
5030 case S_surfxml_AS_12: case S_surfxml_AS_9: case S_surfxml_AS_13: SET(S_surfxml_AS_13); break;
5031 case S_surfxml_include: case S_surfxml_include_2: case S_surfxml_include_1: SET(S_surfxml_include_2); break;
5036 /* rule 51 can match eol */
5038 FAIL("Unexpected end-tag `%s': `</trace>' expected.",surf_parse_text);
5040 case YY_STATE_EOF(IN_trace):
5041 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</trace>' expected.");
5045 /* rule 52 can match eol */
5047 FAIL("Starting tag <random> is not allowed here.");
5050 /* rule 53 can match eol */
5053 AX_surfxml_random_id = 0;
5054 surfxml_random_id_isset = 0;
5055 AX_surfxml_random_min = 0;
5056 surfxml_random_min_isset = 0;
5057 AX_surfxml_random_max = 0;
5058 surfxml_random_max_isset = 0;
5059 AX_surfxml_random_mean = 0;
5060 surfxml_random_mean_isset = 0;
5061 AX_surfxml_random_std_deviation = 0;
5062 surfxml_random_std_deviation_isset = 0;
5063 AX_surfxml_random_seed = 5;
5064 surfxml_random_seed_isset = 0;
5065 AX_surfxml_random_radical = 0;
5066 surfxml_random_radical_isset = 0;
5067 AX_surfxml_random_generator = A_surfxml_random_generator_DRAND48;
5068 surfxml_random_generator_isset = 0;
5069 ENTER(AL_surfxml_random); pushbuffer(0);
5074 /* rule 54 can match eol */
5076 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);
5079 /* rule 55 can match eol */
5081 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);
5084 /* rule 56 can match eol */
5086 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);
5089 /* rule 57 can match eol */
5091 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);
5094 /* rule 58 can match eol */
5096 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);
5099 /* rule 59 can match eol */
5101 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);
5104 /* rule 60 can match eol */
5106 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);
5109 /* rule 61 can match eol */
5111 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);
5114 /* rule 62 can match eol */
5116 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);
5119 /* rule 63 can match eol */
5121 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);
5124 /* rule 64 can match eol */
5126 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);
5129 /* rule 65 can match eol */
5131 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);
5134 /* rule 66 can match eol */
5136 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);
5139 /* rule 67 can match eol */
5141 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);
5144 /* rule 68 can match eol */
5146 /* rule 69 can match eol */
5148 A_surfxml_random_generator = A_surfxml_random_generator_DRAND48;
5151 /* rule 70 can match eol */
5153 /* rule 71 can match eol */
5155 A_surfxml_random_generator = A_surfxml_random_generator_RAND;
5158 /* rule 72 can match eol */
5160 /* rule 73 can match eol */
5162 A_surfxml_random_generator = A_surfxml_random_generator_RNGSTREAM;
5165 /* rule 74 can match eol */
5167 /* rule 75 can match eol */
5169 A_surfxml_random_generator = A_surfxml_random_generator_NONE;
5174 if (!AX_surfxml_random_id) FAIL("Required attribute `id' not set for `random' element.");
5175 if (!AX_surfxml_random_min) FAIL("Required attribute `min' not set for `random' element.");
5176 if (!AX_surfxml_random_max) FAIL("Required attribute `max' not set for `random' element.");
5177 if (!AX_surfxml_random_mean) FAIL("Required attribute `mean' not set for `random' element.");
5178 if (!AX_surfxml_random_std_deviation) FAIL("Required attribute `std_deviation' not set for `random' element.");
5179 LEAVE; STag_surfxml_random();surfxml_pcdata_ix = 0; ENTER(S_surfxml_random);
5185 if (!AX_surfxml_random_id) FAIL("Required attribute `id' not set for `random' element.");
5186 if (!AX_surfxml_random_min) FAIL("Required attribute `min' not set for `random' element.");
5187 if (!AX_surfxml_random_max) FAIL("Required attribute `max' not set for `random' element.");
5188 if (!AX_surfxml_random_mean) FAIL("Required attribute `mean' not set for `random' element.");
5189 if (!AX_surfxml_random_std_deviation) FAIL("Required attribute `std_deviation' not set for `random' element.");
5190 LEAVE; STag_surfxml_random(); surfxml_pcdata_ix = 0; ETag_surfxml_random(); popbuffer(); /* attribute */
5192 case S_surfxml_platform_2: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_3); break;
5198 FAIL("Unexpected character `%c' in attribute list of random element.", surf_parse_text[0]);
5202 FAIL("Bad attribute `%s' in `random' element start tag.",surf_parse_text);
5204 case YY_STATE_EOF(AL_surfxml_random):
5205 FAIL("EOF in attribute list of `random' element.");
5209 /* rule 80 can match eol */
5213 ETag_surfxml_random();
5214 popbuffer(); /* attribute */
5216 case S_surfxml_platform_2: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_3); break;
5221 /* rule 81 can match eol */
5223 FAIL("Unexpected end-tag `%s': `</random>' expected.",surf_parse_text);
5227 FAIL("Unexpected character `%c': `</random>' expected.",surf_parse_text[0]);
5229 case YY_STATE_EOF(S_surfxml_random):
5230 case YY_STATE_EOF(S_surfxml_random_2):
5231 case YY_STATE_EOF(E_surfxml_random):
5232 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</random>' expected.");
5236 /* rule 83 can match eol */
5238 FAIL("Starting tag <trace_connect> is not allowed here.");
5241 /* rule 84 can match eol */
5244 AX_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_HOST_AVAIL;
5245 surfxml_trace_connect_kind_isset = 0;
5246 AX_surfxml_trace_connect_trace = 0;
5247 surfxml_trace_connect_trace_isset = 0;
5248 AX_surfxml_trace_connect_element = 0;
5249 surfxml_trace_connect_element_isset = 0;
5250 ENTER(AL_surfxml_trace_connect); pushbuffer(0);
5255 /* rule 85 can match eol */
5257 /* rule 86 can match eol */
5259 A_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_HOST_AVAIL;
5262 /* rule 87 can match eol */
5264 /* rule 88 can match eol */
5266 A_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_POWER;
5269 /* rule 89 can match eol */
5271 /* rule 90 can match eol */
5273 A_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_LINK_AVAIL;
5276 /* rule 91 can match eol */
5278 /* rule 92 can match eol */
5280 A_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_BANDWIDTH;
5283 /* rule 93 can match eol */
5285 /* rule 94 can match eol */
5287 A_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_LATENCY;
5290 /* rule 95 can match eol */
5292 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);
5295 /* rule 96 can match eol */
5297 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);
5300 /* rule 97 can match eol */
5302 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);
5305 /* rule 98 can match eol */
5307 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);
5312 if (!AX_surfxml_trace_connect_trace) FAIL("Required attribute `trace' not set for `trace_connect' element.");
5313 if (!AX_surfxml_trace_connect_element) FAIL("Required attribute `element' not set for `trace_connect' element.");
5314 LEAVE; STag_surfxml_trace_connect();surfxml_pcdata_ix = 0; ENTER(E_surfxml_trace_connect);
5320 if (!AX_surfxml_trace_connect_trace) FAIL("Required attribute `trace' not set for `trace_connect' element.");
5321 if (!AX_surfxml_trace_connect_element) FAIL("Required attribute `element' not set for `trace_connect' element.");
5322 LEAVE; STag_surfxml_trace_connect(); surfxml_pcdata_ix = 0; ETag_surfxml_trace_connect(); popbuffer(); /* attribute */
5324 case S_surfxml_AS_8: case S_surfxml_AS_4: case S_surfxml_AS_7: case S_surfxml_AS_6: SET(S_surfxml_AS_8); break;
5325 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
5326 case S_surfxml_AS_2: SET(S_surfxml_AS_3); break;
5327 case S_surfxml_AS_1: case S_surfxml_AS_5: case S_surfxml_AS_3: SET(S_surfxml_AS_6); break;
5328 case S_surfxml_platform_6: case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_6); break;
5329 case S_surfxml_AS_12: case S_surfxml_AS_9: case S_surfxml_AS_13: SET(S_surfxml_AS_13); break;
5330 case S_surfxml_include: case S_surfxml_include_2: case S_surfxml_include_1: SET(S_surfxml_include_2); break;
5336 FAIL("Unexpected character `%c' in attribute list of trace_connect element.", surf_parse_text[0]);
5340 FAIL("Bad attribute `%s' in `trace_connect' element start tag.",surf_parse_text);
5342 case YY_STATE_EOF(AL_surfxml_trace_connect):
5343 FAIL("EOF in attribute list of `trace_connect' element.");
5347 /* rule 103 can match eol */
5351 ETag_surfxml_trace_connect();
5352 popbuffer(); /* attribute */
5354 case S_surfxml_AS_8: case S_surfxml_AS_4: case S_surfxml_AS_7: case S_surfxml_AS_6: SET(S_surfxml_AS_8); break;
5355 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
5356 case S_surfxml_AS_2: SET(S_surfxml_AS_3); break;
5357 case S_surfxml_AS_1: case S_surfxml_AS_5: case S_surfxml_AS_3: SET(S_surfxml_AS_6); break;
5358 case S_surfxml_platform_6: case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_6); break;
5359 case S_surfxml_AS_12: case S_surfxml_AS_9: case S_surfxml_AS_13: SET(S_surfxml_AS_13); break;
5360 case S_surfxml_include: case S_surfxml_include_2: case S_surfxml_include_1: SET(S_surfxml_include_2); break;
5365 /* rule 104 can match eol */
5367 FAIL("Unexpected end-tag `%s': `</trace_connect>' expected.",surf_parse_text);
5371 FAIL("Unexpected character `%c': `</trace_connect>' expected.",surf_parse_text[0]);
5373 case YY_STATE_EOF(E_surfxml_trace_connect):
5374 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</trace_connect>' expected.");
5378 /* rule 106 can match eol */
5380 FAIL("Starting tag <AS> is not allowed here.");
5383 /* rule 107 can match eol */
5386 AX_surfxml_AS_id = 0;
5387 surfxml_AS_id_isset = 0;
5388 AX_surfxml_AS_routing = 0;
5389 surfxml_AS_routing_isset = 0;
5390 ENTER(AL_surfxml_AS); pushbuffer(0);
5395 /* rule 108 can match eol */
5397 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);
5400 /* rule 109 can match eol */
5402 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);
5405 /* rule 110 can match eol */
5407 if (surfxml_AS_routing_isset != 0) {FAIL("Multiple definition of attribute routing in <surfxml_AS>");} surfxml_AS_routing_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_AS_routing);
5410 /* rule 111 can match eol */
5412 if (surfxml_AS_routing_isset != 0) {FAIL("Multiple definition of attribute routing in <surfxml_AS>");} surfxml_AS_routing_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_AS_routing);
5417 if (!AX_surfxml_AS_id) FAIL("Required attribute `id' not set for `AS' element.");
5418 if (!AX_surfxml_AS_routing) FAIL("Required attribute `routing' not set for `AS' element.");
5419 LEAVE; STag_surfxml_AS();surfxml_pcdata_ix = 0; ENTER(S_surfxml_AS);
5425 if (!AX_surfxml_AS_id) FAIL("Required attribute `id' not set for `AS' element.");
5426 if (!AX_surfxml_AS_routing) FAIL("Required attribute `routing' not set for `AS' element.");
5427 LEAVE; STag_surfxml_AS(); surfxml_pcdata_ix = 0; ETag_surfxml_AS(); popbuffer(); /* attribute */
5429 case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
5430 case S_surfxml_platform_6: case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_6); break;
5431 case S_surfxml_include: case S_surfxml_include_2: case S_surfxml_include_1: SET(S_surfxml_include_2); break;
5437 FAIL("Unexpected character `%c' in attribute list of AS element.", surf_parse_text[0]);
5441 FAIL("Bad attribute `%s' in `AS' element start tag.",surf_parse_text);
5443 case YY_STATE_EOF(AL_surfxml_AS):
5444 FAIL("EOF in attribute list of `AS' element.");
5448 /* rule 116 can match eol */
5453 popbuffer(); /* attribute */
5455 case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
5456 case S_surfxml_platform_6: case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_6); break;
5457 case S_surfxml_include: case S_surfxml_include_2: case S_surfxml_include_1: SET(S_surfxml_include_2); break;
5462 /* rule 117 can match eol */
5464 FAIL("Unexpected end-tag `%s': `</AS>' expected.",surf_parse_text);
5468 FAIL("Unexpected character `%c': `</AS>' expected.",surf_parse_text[0]);
5470 case YY_STATE_EOF(S_surfxml_AS_9):
5471 case YY_STATE_EOF(S_surfxml_AS_1):
5472 case YY_STATE_EOF(S_surfxml_AS_11):
5473 case YY_STATE_EOF(S_surfxml_AS_6):
5474 case YY_STATE_EOF(E_surfxml_AS):
5475 case YY_STATE_EOF(S_surfxml_AS_3):
5476 case YY_STATE_EOF(S_surfxml_AS_13):
5477 case YY_STATE_EOF(S_surfxml_AS_8):
5478 case YY_STATE_EOF(S_surfxml_AS):
5479 case YY_STATE_EOF(S_surfxml_AS_4):
5480 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</AS>' expected.");
5484 /* rule 119 can match eol */
5486 FAIL("Starting tag <storage_type> is not allowed here.");
5489 /* rule 120 can match eol */
5492 AX_surfxml_storage_type_id = 0;
5493 surfxml_storage_type_id_isset = 0;
5494 AX_surfxml_storage_type_model = 0;
5495 surfxml_storage_type_model_isset = 0;
5496 AX_surfxml_storage_type_content = 0;
5497 surfxml_storage_type_content_isset = 0;
5498 ENTER(AL_surfxml_storage_type); pushbuffer(0);
5503 /* rule 121 can match eol */
5505 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);
5508 /* rule 122 can match eol */
5510 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);
5513 /* rule 123 can match eol */
5515 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);
5518 /* rule 124 can match eol */
5520 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);
5523 /* rule 125 can match eol */
5525 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);
5528 /* rule 126 can match eol */
5530 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);
5535 if (!AX_surfxml_storage_type_id) FAIL("Required attribute `id' not set for `storage_type' element.");
5536 if (!AX_surfxml_storage_type_model) FAIL("Required attribute `model' not set for `storage_type' element.");
5537 LEAVE; STag_surfxml_storage_type();surfxml_pcdata_ix = 0; ENTER(S_surfxml_storage_type);
5543 if (!AX_surfxml_storage_type_id) FAIL("Required attribute `id' not set for `storage_type' element.");
5544 if (!AX_surfxml_storage_type_model) FAIL("Required attribute `model' not set for `storage_type' element.");
5545 LEAVE; STag_surfxml_storage_type(); surfxml_pcdata_ix = 0; ETag_surfxml_storage_type(); popbuffer(); /* attribute */
5547 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
5548 case S_surfxml_AS_2: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
5554 FAIL("Unexpected character `%c' in attribute list of storage_type element.", surf_parse_text[0]);
5558 FAIL("Bad attribute `%s' in `storage_type' element start tag.",surf_parse_text);
5560 case YY_STATE_EOF(AL_surfxml_storage_type):
5561 FAIL("EOF in attribute list of `storage_type' element.");
5565 /* rule 131 can match eol */
5569 ETag_surfxml_storage_type();
5570 popbuffer(); /* attribute */
5572 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
5573 case S_surfxml_AS_2: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
5578 /* rule 132 can match eol */
5580 FAIL("Unexpected end-tag `%s': `</storage_type>' expected.",surf_parse_text);
5584 FAIL("Unexpected character `%c': `</storage_type>' expected.",surf_parse_text[0]);
5586 case YY_STATE_EOF(E_surfxml_storage_type):
5587 case YY_STATE_EOF(S_surfxml_storage_type_2):
5588 case YY_STATE_EOF(S_surfxml_storage_type):
5589 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</storage_type>' expected.");
5593 /* rule 134 can match eol */
5595 FAIL("Starting tag <storage> is not allowed here.");
5598 /* rule 135 can match eol */
5601 AX_surfxml_storage_id = 0;
5602 surfxml_storage_id_isset = 0;
5603 AX_surfxml_storage_typeId = 0;
5604 surfxml_storage_typeId_isset = 0;
5605 ENTER(AL_surfxml_storage); pushbuffer(0);
5610 /* rule 136 can match eol */
5612 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);
5615 /* rule 137 can match eol */
5617 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);
5620 /* rule 138 can match eol */
5622 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);
5625 /* rule 139 can match eol */
5627 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);
5632 if (!AX_surfxml_storage_id) FAIL("Required attribute `id' not set for `storage' element.");
5633 if (!AX_surfxml_storage_typeId) FAIL("Required attribute `typeId' not set for `storage' element.");
5634 LEAVE; STag_surfxml_storage();surfxml_pcdata_ix = 0; ENTER(S_surfxml_storage);
5640 if (!AX_surfxml_storage_id) FAIL("Required attribute `id' not set for `storage' element.");
5641 if (!AX_surfxml_storage_typeId) FAIL("Required attribute `typeId' not set for `storage' element.");
5642 LEAVE; STag_surfxml_storage(); surfxml_pcdata_ix = 0; ETag_surfxml_storage(); popbuffer(); /* attribute */
5644 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
5645 case S_surfxml_AS_2: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
5651 FAIL("Unexpected character `%c' in attribute list of storage element.", surf_parse_text[0]);
5655 FAIL("Bad attribute `%s' in `storage' element start tag.",surf_parse_text);
5657 case YY_STATE_EOF(AL_surfxml_storage):
5658 FAIL("EOF in attribute list of `storage' element.");
5662 /* rule 144 can match eol */
5666 ETag_surfxml_storage();
5667 popbuffer(); /* attribute */
5669 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
5670 case S_surfxml_AS_2: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
5675 /* rule 145 can match eol */
5677 FAIL("Unexpected end-tag `%s': `</storage>' expected.",surf_parse_text);
5681 FAIL("Unexpected character `%c': `</storage>' expected.",surf_parse_text[0]);
5683 case YY_STATE_EOF(E_surfxml_storage):
5684 case YY_STATE_EOF(S_surfxml_storage):
5685 case YY_STATE_EOF(S_surfxml_storage_2):
5686 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</storage>' expected.");
5690 /* rule 147 can match eol */
5692 FAIL("Starting tag <mount> is not allowed here.");
5695 /* rule 148 can match eol */
5698 AX_surfxml_mount_id = 0;
5699 surfxml_mount_id_isset = 0;
5700 AX_surfxml_mount_name = 0;
5701 surfxml_mount_name_isset = 0;
5702 ENTER(AL_surfxml_mount); pushbuffer(0);
5707 /* rule 149 can match eol */
5709 if (surfxml_mount_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_mount>");} surfxml_mount_id_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_mount_id);
5712 /* rule 150 can match eol */
5714 if (surfxml_mount_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_mount>");} surfxml_mount_id_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_mount_id);
5717 /* rule 151 can match eol */
5719 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);
5722 /* rule 152 can match eol */
5724 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);
5729 if (!AX_surfxml_mount_id) FAIL("Required attribute `id' not set for `mount' element.");
5730 if (!AX_surfxml_mount_name) FAIL("Required attribute `name' not set for `mount' element.");
5731 LEAVE; STag_surfxml_mount();surfxml_pcdata_ix = 0; ENTER(E_surfxml_mount);
5737 if (!AX_surfxml_mount_id) FAIL("Required attribute `id' not set for `mount' element.");
5738 if (!AX_surfxml_mount_name) FAIL("Required attribute `name' not set for `mount' element.");
5739 LEAVE; STag_surfxml_mount(); surfxml_pcdata_ix = 0; ETag_surfxml_mount(); popbuffer(); /* attribute */
5741 case S_surfxml_host_1: case S_surfxml_host_2: case S_surfxml_host: SET(S_surfxml_host_2); break;
5747 FAIL("Unexpected character `%c' in attribute list of mount element.", surf_parse_text[0]);
5751 FAIL("Bad attribute `%s' in `mount' element start tag.",surf_parse_text);
5753 case YY_STATE_EOF(AL_surfxml_mount):
5754 FAIL("EOF in attribute list of `mount' element.");
5758 /* rule 157 can match eol */
5762 ETag_surfxml_mount();
5763 popbuffer(); /* attribute */
5765 case S_surfxml_host_1: case S_surfxml_host_2: case S_surfxml_host: SET(S_surfxml_host_2); break;
5770 /* rule 158 can match eol */
5772 FAIL("Unexpected end-tag `%s': `</mount>' expected.",surf_parse_text);
5776 FAIL("Unexpected character `%c': `</mount>' expected.",surf_parse_text[0]);
5778 case YY_STATE_EOF(E_surfxml_mount):
5779 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</mount>' expected.");
5783 /* rule 160 can match eol */
5785 FAIL("Starting tag <mstorage> is not allowed here.");
5788 /* rule 161 can match eol */
5791 AX_surfxml_mstorage_typeId = 0;
5792 surfxml_mstorage_typeId_isset = 0;
5793 AX_surfxml_mstorage_name = 0;
5794 surfxml_mstorage_name_isset = 0;
5795 ENTER(AL_surfxml_mstorage); pushbuffer(0);
5800 /* rule 162 can match eol */
5802 if (surfxml_mstorage_typeId_isset != 0) {FAIL("Multiple definition of attribute typeId in <surfxml_mstorage>");} surfxml_mstorage_typeId_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_mstorage_typeId);
5805 /* rule 163 can match eol */
5807 if (surfxml_mstorage_typeId_isset != 0) {FAIL("Multiple definition of attribute typeId in <surfxml_mstorage>");} surfxml_mstorage_typeId_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_mstorage_typeId);
5810 /* rule 164 can match eol */
5812 if (surfxml_mstorage_name_isset != 0) {FAIL("Multiple definition of attribute name in <surfxml_mstorage>");} surfxml_mstorage_name_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_mstorage_name);
5815 /* rule 165 can match eol */
5817 if (surfxml_mstorage_name_isset != 0) {FAIL("Multiple definition of attribute name in <surfxml_mstorage>");} surfxml_mstorage_name_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_mstorage_name);
5822 if (!AX_surfxml_mstorage_typeId) FAIL("Required attribute `typeId' not set for `mstorage' element.");
5823 if (!AX_surfxml_mstorage_name) FAIL("Required attribute `name' not set for `mstorage' element.");
5824 LEAVE; STag_surfxml_mstorage();surfxml_pcdata_ix = 0; ENTER(E_surfxml_mstorage);
5830 if (!AX_surfxml_mstorage_typeId) FAIL("Required attribute `typeId' not set for `mstorage' element.");
5831 if (!AX_surfxml_mstorage_name) FAIL("Required attribute `name' not set for `mstorage' element.");
5832 LEAVE; STag_surfxml_mstorage(); surfxml_pcdata_ix = 0; ETag_surfxml_mstorage(); popbuffer(); /* attribute */
5834 case S_surfxml_host_1: case S_surfxml_host_2: case S_surfxml_host: SET(S_surfxml_host_2); break;
5840 FAIL("Unexpected character `%c' in attribute list of mstorage element.", surf_parse_text[0]);
5844 FAIL("Bad attribute `%s' in `mstorage' element start tag.",surf_parse_text);
5846 case YY_STATE_EOF(AL_surfxml_mstorage):
5847 FAIL("EOF in attribute list of `mstorage' element.");
5851 /* rule 170 can match eol */
5855 ETag_surfxml_mstorage();
5856 popbuffer(); /* attribute */
5858 case S_surfxml_host_1: case S_surfxml_host_2: case S_surfxml_host: SET(S_surfxml_host_2); break;
5863 /* rule 171 can match eol */
5865 FAIL("Unexpected end-tag `%s': `</mstorage>' expected.",surf_parse_text);
5869 FAIL("Unexpected character `%c': `</mstorage>' expected.",surf_parse_text[0]);
5871 case YY_STATE_EOF(E_surfxml_mstorage):
5872 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</mstorage>' expected.");
5876 /* rule 173 can match eol */
5878 FAIL("Starting tag <host> is not allowed here.");
5881 /* rule 174 can match eol */
5884 AX_surfxml_host_id = 0;
5885 surfxml_host_id_isset = 0;
5886 AX_surfxml_host_power = 0;
5887 surfxml_host_power_isset = 0;
5888 AX_surfxml_host_core = 16;
5889 surfxml_host_core_isset = 0;
5890 AX_surfxml_host_availability = 18;
5891 surfxml_host_availability_isset = 0;
5892 AX_surfxml_host_availability_file = 0;
5893 surfxml_host_availability_file_isset = 0;
5894 AX_surfxml_host_state = A_surfxml_host_state_ON;
5895 surfxml_host_state_isset = 0;
5896 AX_surfxml_host_state_file = 0;
5897 surfxml_host_state_file_isset = 0;
5898 AX_surfxml_host_coordinates = 0;
5899 surfxml_host_coordinates_isset = 0;
5900 ENTER(AL_surfxml_host); pushbuffer(0);
5905 /* rule 175 can match eol */
5907 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);
5910 /* rule 176 can match eol */
5912 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);
5915 /* rule 177 can match eol */
5917 if (surfxml_host_power_isset != 0) {FAIL("Multiple definition of attribute power in <surfxml_host>");} surfxml_host_power_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_host_power);
5920 /* rule 178 can match eol */
5922 if (surfxml_host_power_isset != 0) {FAIL("Multiple definition of attribute power in <surfxml_host>");} surfxml_host_power_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_host_power);
5925 /* rule 179 can match eol */
5927 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);
5930 /* rule 180 can match eol */
5932 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);
5935 /* rule 181 can match eol */
5937 if (surfxml_host_availability_isset != 0) {FAIL("Multiple definition of attribute availability in <surfxml_host>");} surfxml_host_availability_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_host_availability);
5940 /* rule 182 can match eol */
5942 if (surfxml_host_availability_isset != 0) {FAIL("Multiple definition of attribute availability in <surfxml_host>");} surfxml_host_availability_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_host_availability);
5945 /* rule 183 can match eol */
5947 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);
5950 /* rule 184 can match eol */
5952 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);
5955 /* rule 185 can match eol */
5957 /* rule 186 can match eol */
5959 A_surfxml_host_state = A_surfxml_host_state_ON;
5962 /* rule 187 can match eol */
5964 /* rule 188 can match eol */
5966 A_surfxml_host_state = A_surfxml_host_state_OFF;
5969 /* rule 189 can match eol */
5971 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);
5974 /* rule 190 can match eol */
5976 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);
5979 /* rule 191 can match eol */
5981 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);
5984 /* rule 192 can match eol */
5986 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);
5991 if (!AX_surfxml_host_id) FAIL("Required attribute `id' not set for `host' element.");
5992 if (!AX_surfxml_host_power) FAIL("Required attribute `power' not set for `host' element.");
5993 LEAVE; STag_surfxml_host();surfxml_pcdata_ix = 0; ENTER(S_surfxml_host);
5999 if (!AX_surfxml_host_id) FAIL("Required attribute `id' not set for `host' element.");
6000 if (!AX_surfxml_host_power) FAIL("Required attribute `power' not set for `host' element.");
6001 LEAVE; STag_surfxml_host(); surfxml_pcdata_ix = 0; ETag_surfxml_host(); popbuffer(); /* attribute */
6003 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
6009 FAIL("Unexpected character `%c' in attribute list of host element.", surf_parse_text[0]);
6013 FAIL("Bad attribute `%s' in `host' element start tag.",surf_parse_text);
6015 case YY_STATE_EOF(AL_surfxml_host):
6016 FAIL("EOF in attribute list of `host' element.");
6020 /* rule 197 can match eol */
6024 ETag_surfxml_host();
6025 popbuffer(); /* attribute */
6027 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
6032 /* rule 198 can match eol */
6034 FAIL("Unexpected end-tag `%s': `</host>' expected.",surf_parse_text);
6038 FAIL("Unexpected character `%c': `</host>' expected.",surf_parse_text[0]);
6040 case YY_STATE_EOF(S_surfxml_host):
6041 case YY_STATE_EOF(E_surfxml_host):
6042 case YY_STATE_EOF(S_surfxml_host_2):
6043 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</host>' expected.");
6047 /* rule 200 can match eol */
6049 FAIL("Starting tag <cluster> is not allowed here.");
6052 /* rule 201 can match eol */
6055 AX_surfxml_cluster_id = 0;
6056 surfxml_cluster_id_isset = 0;
6057 AX_surfxml_cluster_prefix = 0;
6058 surfxml_cluster_prefix_isset = 0;
6059 AX_surfxml_cluster_suffix = 0;
6060 surfxml_cluster_suffix_isset = 0;
6061 AX_surfxml_cluster_radical = 0;
6062 surfxml_cluster_radical_isset = 0;
6063 AX_surfxml_cluster_power = 0;
6064 surfxml_cluster_power_isset = 0;
6065 AX_surfxml_cluster_core = 22;
6066 surfxml_cluster_core_isset = 0;
6067 AX_surfxml_cluster_bw = 0;
6068 surfxml_cluster_bw_isset = 0;
6069 AX_surfxml_cluster_lat = 0;
6070 surfxml_cluster_lat_isset = 0;
6071 AX_surfxml_cluster_sharing_policy = A_surfxml_cluster_sharing_policy_FULLDUPLEX;
6072 surfxml_cluster_sharing_policy_isset = 0;
6073 AX_surfxml_cluster_bb_bw = 0;
6074 surfxml_cluster_bb_bw_isset = 0;
6075 AX_surfxml_cluster_bb_lat = 0;
6076 surfxml_cluster_bb_lat_isset = 0;
6077 AX_surfxml_cluster_bb_sharing_policy = A_surfxml_cluster_bb_sharing_policy_SHARED;
6078 surfxml_cluster_bb_sharing_policy_isset = 0;
6079 AX_surfxml_cluster_availability_file = 0;
6080 surfxml_cluster_availability_file_isset = 0;
6081 AX_surfxml_cluster_state_file = 0;
6082 surfxml_cluster_state_file_isset = 0;
6083 AX_surfxml_cluster_router_id = 0;
6084 surfxml_cluster_router_id_isset = 0;
6085 ENTER(AL_surfxml_cluster); pushbuffer(0);
6090 /* rule 202 can match eol */
6092 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);
6095 /* rule 203 can match eol */
6097 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);
6100 /* rule 204 can match eol */
6102 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);
6105 /* rule 205 can match eol */
6107 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);
6110 /* rule 206 can match eol */
6112 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);
6115 /* rule 207 can match eol */
6117 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);
6120 /* rule 208 can match eol */
6122 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);
6125 /* rule 209 can match eol */
6127 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);
6130 /* rule 210 can match eol */
6132 if (surfxml_cluster_power_isset != 0) {FAIL("Multiple definition of attribute power in <surfxml_cluster>");} surfxml_cluster_power_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_power);
6135 /* rule 211 can match eol */
6137 if (surfxml_cluster_power_isset != 0) {FAIL("Multiple definition of attribute power in <surfxml_cluster>");} surfxml_cluster_power_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_power);
6140 /* rule 212 can match eol */
6142 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);
6145 /* rule 213 can match eol */
6147 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);
6150 /* rule 214 can match eol */
6152 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);
6155 /* rule 215 can match eol */
6157 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);
6160 /* rule 216 can match eol */
6162 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);
6165 /* rule 217 can match eol */
6167 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);
6170 /* rule 218 can match eol */
6172 /* rule 219 can match eol */
6174 A_surfxml_cluster_sharing_policy = A_surfxml_cluster_sharing_policy_SHARED;
6177 /* rule 220 can match eol */
6179 /* rule 221 can match eol */
6181 A_surfxml_cluster_sharing_policy = A_surfxml_cluster_sharing_policy_FULLDUPLEX;
6184 /* rule 222 can match eol */
6186 /* rule 223 can match eol */
6188 A_surfxml_cluster_sharing_policy = A_surfxml_cluster_sharing_policy_FATPIPE;
6191 /* rule 224 can match eol */
6193 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);
6196 /* rule 225 can match eol */
6198 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);
6201 /* rule 226 can match eol */
6203 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);
6206 /* rule 227 can match eol */
6208 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);
6211 /* rule 228 can match eol */
6213 /* rule 229 can match eol */
6215 A_surfxml_cluster_bb_sharing_policy = A_surfxml_cluster_bb_sharing_policy_SHARED;
6218 /* rule 230 can match eol */
6220 /* rule 231 can match eol */
6222 A_surfxml_cluster_bb_sharing_policy = A_surfxml_cluster_bb_sharing_policy_FATPIPE;
6225 /* rule 232 can match eol */
6227 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);
6230 /* rule 233 can match eol */
6232 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);
6235 /* rule 234 can match eol */
6237 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);
6240 /* rule 235 can match eol */
6242 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);
6245 /* rule 236 can match eol */
6247 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);
6250 /* rule 237 can match eol */
6252 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);
6257 if (!AX_surfxml_cluster_id) FAIL("Required attribute `id' not set for `cluster' element.");
6258 if (!AX_surfxml_cluster_prefix) FAIL("Required attribute `prefix' not set for `cluster' element.");
6259 if (!AX_surfxml_cluster_suffix) FAIL("Required attribute `suffix' not set for `cluster' element.");
6260 if (!AX_surfxml_cluster_radical) FAIL("Required attribute `radical' not set for `cluster' element.");
6261 if (!AX_surfxml_cluster_power) FAIL("Required attribute `power' not set for `cluster' element.");
6262 if (!AX_surfxml_cluster_bw) FAIL("Required attribute `bw' not set for `cluster' element.");
6263 if (!AX_surfxml_cluster_lat) FAIL("Required attribute `lat' not set for `cluster' element.");
6264 LEAVE; STag_surfxml_cluster();surfxml_pcdata_ix = 0; ENTER(E_surfxml_cluster);
6270 if (!AX_surfxml_cluster_id) FAIL("Required attribute `id' not set for `cluster' element.");
6271 if (!AX_surfxml_cluster_prefix) FAIL("Required attribute `prefix' not set for `cluster' element.");
6272 if (!AX_surfxml_cluster_suffix) FAIL("Required attribute `suffix' not set for `cluster' element.");
6273 if (!AX_surfxml_cluster_radical) FAIL("Required attribute `radical' not set for `cluster' element.");
6274 if (!AX_surfxml_cluster_power) FAIL("Required attribute `power' not set for `cluster' element.");
6275 if (!AX_surfxml_cluster_bw) FAIL("Required attribute `bw' not set for `cluster' element.");
6276 if (!AX_surfxml_cluster_lat) FAIL("Required attribute `lat' not set for `cluster' element.");
6277 LEAVE; STag_surfxml_cluster(); surfxml_pcdata_ix = 0; ETag_surfxml_cluster(); popbuffer(); /* attribute */
6279 case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
6280 case S_surfxml_platform_6: case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_6); break;
6281 case S_surfxml_include: case S_surfxml_include_2: case S_surfxml_include_1: SET(S_surfxml_include_2); break;
6287 FAIL("Unexpected character `%c' in attribute list of cluster element.", surf_parse_text[0]);
6291 FAIL("Bad attribute `%s' in `cluster' element start tag.",surf_parse_text);
6293 case YY_STATE_EOF(AL_surfxml_cluster):
6294 FAIL("EOF in attribute list of `cluster' element.");
6298 /* rule 242 can match eol */
6302 ETag_surfxml_cluster();
6303 popbuffer(); /* attribute */
6305 case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
6306 case S_surfxml_platform_6: case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_6); break;
6307 case S_surfxml_include: case S_surfxml_include_2: case S_surfxml_include_1: SET(S_surfxml_include_2); break;
6312 /* rule 243 can match eol */
6314 FAIL("Unexpected end-tag `%s': `</cluster>' expected.",surf_parse_text);
6318 FAIL("Unexpected character `%c': `</cluster>' expected.",surf_parse_text[0]);
6320 case YY_STATE_EOF(E_surfxml_cluster):
6321 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</cluster>' expected.");
6325 /* rule 245 can match eol */
6327 FAIL("Starting tag <peer> is not allowed here.");
6330 /* rule 246 can match eol */
6333 AX_surfxml_peer_id = 0;
6334 surfxml_peer_id_isset = 0;
6335 AX_surfxml_peer_power = 0;
6336 surfxml_peer_power_isset = 0;
6337 AX_surfxml_peer_bw_in = 0;
6338 surfxml_peer_bw_in_isset = 0;
6339 AX_surfxml_peer_bw_out = 0;
6340 surfxml_peer_bw_out_isset = 0;
6341 AX_surfxml_peer_lat = 0;
6342 surfxml_peer_lat_isset = 0;
6343 AX_surfxml_peer_coordinates = 0;
6344 surfxml_peer_coordinates_isset = 0;
6345 AX_surfxml_peer_availability_file = 0;
6346 surfxml_peer_availability_file_isset = 0;
6347 AX_surfxml_peer_state_file = 0;
6348 surfxml_peer_state_file_isset = 0;
6349 ENTER(AL_surfxml_peer); pushbuffer(0);
6354 /* rule 247 can match eol */
6356 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);
6359 /* rule 248 can match eol */
6361 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);
6364 /* rule 249 can match eol */
6366 if (surfxml_peer_power_isset != 0) {FAIL("Multiple definition of attribute power in <surfxml_peer>");} surfxml_peer_power_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_peer_power);
6369 /* rule 250 can match eol */
6371 if (surfxml_peer_power_isset != 0) {FAIL("Multiple definition of attribute power in <surfxml_peer>");} surfxml_peer_power_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_peer_power);
6374 /* rule 251 can match eol */
6376 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);
6379 /* rule 252 can match eol */
6381 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);
6384 /* rule 253 can match eol */
6386 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);
6389 /* rule 254 can match eol */
6391 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);
6394 /* rule 255 can match eol */
6396 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);
6399 /* rule 256 can match eol */
6401 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);
6404 /* rule 257 can match eol */
6406 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);
6409 /* rule 258 can match eol */
6411 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);
6414 /* rule 259 can match eol */
6416 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);
6419 /* rule 260 can match eol */
6421 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);
6424 /* rule 261 can match eol */
6426 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);
6429 /* rule 262 can match eol */
6431 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);
6436 if (!AX_surfxml_peer_id) FAIL("Required attribute `id' not set for `peer' element.");
6437 if (!AX_surfxml_peer_power) FAIL("Required attribute `power' not set for `peer' element.");
6438 if (!AX_surfxml_peer_bw_in) FAIL("Required attribute `bw_in' not set for `peer' element.");
6439 if (!AX_surfxml_peer_bw_out) FAIL("Required attribute `bw_out' not set for `peer' element.");
6440 if (!AX_surfxml_peer_lat) FAIL("Required attribute `lat' not set for `peer' element.");
6441 LEAVE; STag_surfxml_peer();surfxml_pcdata_ix = 0; ENTER(E_surfxml_peer);
6447 if (!AX_surfxml_peer_id) FAIL("Required attribute `id' not set for `peer' element.");
6448 if (!AX_surfxml_peer_power) FAIL("Required attribute `power' not set for `peer' element.");
6449 if (!AX_surfxml_peer_bw_in) FAIL("Required attribute `bw_in' not set for `peer' element.");
6450 if (!AX_surfxml_peer_bw_out) FAIL("Required attribute `bw_out' not set for `peer' element.");
6451 if (!AX_surfxml_peer_lat) FAIL("Required attribute `lat' not set for `peer' element.");
6452 LEAVE; STag_surfxml_peer(); surfxml_pcdata_ix = 0; ETag_surfxml_peer(); popbuffer(); /* attribute */
6454 case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
6455 case S_surfxml_platform_6: case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_6); break;
6456 case S_surfxml_include: case S_surfxml_include_2: case S_surfxml_include_1: SET(S_surfxml_include_2); break;
6462 FAIL("Unexpected character `%c' in attribute list of peer element.", surf_parse_text[0]);
6466 FAIL("Bad attribute `%s' in `peer' element start tag.",surf_parse_text);
6468 case YY_STATE_EOF(AL_surfxml_peer):
6469 FAIL("EOF in attribute list of `peer' element.");
6473 /* rule 267 can match eol */
6477 ETag_surfxml_peer();
6478 popbuffer(); /* attribute */
6480 case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
6481 case S_surfxml_platform_6: case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_6); break;
6482 case S_surfxml_include: case S_surfxml_include_2: case S_surfxml_include_1: SET(S_surfxml_include_2); break;
6487 /* rule 268 can match eol */
6489 FAIL("Unexpected end-tag `%s': `</peer>' expected.",surf_parse_text);
6493 FAIL("Unexpected character `%c': `</peer>' expected.",surf_parse_text[0]);
6495 case YY_STATE_EOF(E_surfxml_peer):
6496 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</peer>' expected.");
6500 /* rule 270 can match eol */
6502 FAIL("Starting tag <router> is not allowed here.");
6505 /* rule 271 can match eol */
6508 AX_surfxml_router_id = 0;
6509 surfxml_router_id_isset = 0;
6510 AX_surfxml_router_coordinates = 0;
6511 surfxml_router_coordinates_isset = 0;
6512 ENTER(AL_surfxml_router); pushbuffer(0);
6517 /* rule 272 can match eol */
6519 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);
6522 /* rule 273 can match eol */
6524 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);
6527 /* rule 274 can match eol */
6529 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);
6532 /* rule 275 can match eol */
6534 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);
6539 if (!AX_surfxml_router_id) FAIL("Required attribute `id' not set for `router' element.");
6540 LEAVE; STag_surfxml_router();surfxml_pcdata_ix = 0; ENTER(E_surfxml_router);
6546 if (!AX_surfxml_router_id) FAIL("Required attribute `id' not set for `router' element.");
6547 LEAVE; STag_surfxml_router(); surfxml_pcdata_ix = 0; ETag_surfxml_router(); popbuffer(); /* attribute */
6549 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
6555 FAIL("Unexpected character `%c' in attribute list of router element.", surf_parse_text[0]);
6559 FAIL("Bad attribute `%s' in `router' element start tag.",surf_parse_text);
6561 case YY_STATE_EOF(AL_surfxml_router):
6562 FAIL("EOF in attribute list of `router' element.");
6566 /* rule 280 can match eol */
6570 ETag_surfxml_router();
6571 popbuffer(); /* attribute */
6573 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
6578 /* rule 281 can match eol */
6580 FAIL("Unexpected end-tag `%s': `</router>' expected.",surf_parse_text);
6584 FAIL("Unexpected character `%c': `</router>' expected.",surf_parse_text[0]);
6586 case YY_STATE_EOF(E_surfxml_router):
6587 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</router>' expected.");
6591 /* rule 283 can match eol */
6593 FAIL("Starting tag <link> is not allowed here.");
6596 /* rule 284 can match eol */
6599 AX_surfxml_link_id = 0;
6600 surfxml_link_id_isset = 0;
6601 AX_surfxml_link_bandwidth = 0;
6602 surfxml_link_bandwidth_isset = 0;
6603 AX_surfxml_link_bandwidth_file = 0;
6604 surfxml_link_bandwidth_file_isset = 0;
6605 AX_surfxml_link_latency = 24;
6606 surfxml_link_latency_isset = 0;
6607 AX_surfxml_link_latency_file = 0;
6608 surfxml_link_latency_file_isset = 0;
6609 AX_surfxml_link_state = A_surfxml_link_state_ON;
6610 surfxml_link_state_isset = 0;
6611 AX_surfxml_link_state_file = 0;
6612 surfxml_link_state_file_isset = 0;
6613 AX_surfxml_link_sharing_policy = A_surfxml_link_sharing_policy_SHARED;
6614 surfxml_link_sharing_policy_isset = 0;
6615 ENTER(AL_surfxml_link); pushbuffer(0);
6620 /* rule 285 can match eol */
6622 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);
6625 /* rule 286 can match eol */
6627 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);
6630 /* rule 287 can match eol */
6632 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);
6635 /* rule 288 can match eol */
6637 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);
6640 /* rule 289 can match eol */
6642 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);
6645 /* rule 290 can match eol */
6647 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);
6650 /* rule 291 can match eol */
6652 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);
6655 /* rule 292 can match eol */
6657 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);
6660 /* rule 293 can match eol */
6662 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);
6665 /* rule 294 can match eol */
6667 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);
6670 /* rule 295 can match eol */
6672 /* rule 296 can match eol */
6674 A_surfxml_link_state = A_surfxml_link_state_ON;
6677 /* rule 297 can match eol */
6679 /* rule 298 can match eol */
6681 A_surfxml_link_state = A_surfxml_link_state_OFF;
6684 /* rule 299 can match eol */
6686 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);
6689 /* rule 300 can match eol */
6691 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);
6694 /* rule 301 can match eol */
6696 /* rule 302 can match eol */
6698 A_surfxml_link_sharing_policy = A_surfxml_link_sharing_policy_SHARED;
6701 /* rule 303 can match eol */
6703 /* rule 304 can match eol */
6705 A_surfxml_link_sharing_policy = A_surfxml_link_sharing_policy_FATPIPE;
6708 /* rule 305 can match eol */
6710 /* rule 306 can match eol */
6712 A_surfxml_link_sharing_policy = A_surfxml_link_sharing_policy_FULLDUPLEX;
6717 if (!AX_surfxml_link_id) FAIL("Required attribute `id' not set for `link' element.");
6718 if (!AX_surfxml_link_bandwidth) FAIL("Required attribute `bandwidth' not set for `link' element.");
6719 LEAVE; STag_surfxml_link();surfxml_pcdata_ix = 0; ENTER(S_surfxml_link);
6725 if (!AX_surfxml_link_id) FAIL("Required attribute `id' not set for `link' element.");
6726 if (!AX_surfxml_link_bandwidth) FAIL("Required attribute `bandwidth' not set for `link' element.");
6727 LEAVE; STag_surfxml_link(); surfxml_pcdata_ix = 0; ETag_surfxml_link(); popbuffer(); /* attribute */
6729 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
6730 case S_surfxml_AS_2: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
6736 FAIL("Unexpected character `%c' in attribute list of link element.", surf_parse_text[0]);
6740 FAIL("Bad attribute `%s' in `link' element start tag.",surf_parse_text);
6742 case YY_STATE_EOF(AL_surfxml_link):
6743 FAIL("EOF in attribute list of `link' element.");
6747 /* rule 311 can match eol */
6751 ETag_surfxml_link();
6752 popbuffer(); /* attribute */
6754 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
6755 case S_surfxml_AS_2: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
6760 /* rule 312 can match eol */
6762 FAIL("Unexpected end-tag `%s': `</link>' expected.",surf_parse_text);
6766 FAIL("Unexpected character `%c': `</link>' expected.",surf_parse_text[0]);
6768 case YY_STATE_EOF(E_surfxml_link):
6769 case YY_STATE_EOF(S_surfxml_link_2):
6770 case YY_STATE_EOF(S_surfxml_link):
6771 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</link>' expected.");
6775 /* rule 314 can match eol */
6777 FAIL("Starting tag <route> is not allowed here.");
6780 /* rule 315 can match eol */
6783 AX_surfxml_route_src = 0;
6784 surfxml_route_src_isset = 0;
6785 AX_surfxml_route_dst = 0;
6786 surfxml_route_dst_isset = 0;
6787 AX_surfxml_route_symmetrical = A_surfxml_route_symmetrical_YES;
6788 surfxml_route_symmetrical_isset = 0;
6789 ENTER(AL_surfxml_route); pushbuffer(0);
6794 /* rule 316 can match eol */
6796 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);
6799 /* rule 317 can match eol */
6801 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);
6804 /* rule 318 can match eol */
6806 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);
6809 /* rule 319 can match eol */
6811 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);
6814 /* rule 320 can match eol */
6816 /* rule 321 can match eol */
6818 A_surfxml_route_symmetrical = A_surfxml_route_symmetrical_YES;
6821 /* rule 322 can match eol */
6823 /* rule 323 can match eol */
6825 A_surfxml_route_symmetrical = A_surfxml_route_symmetrical_NO;
6830 if (!AX_surfxml_route_src) FAIL("Required attribute `src' not set for `route' element.");
6831 if (!AX_surfxml_route_dst) FAIL("Required attribute `dst' not set for `route' element.");
6832 LEAVE; STag_surfxml_route();surfxml_pcdata_ix = 0; ENTER(S_surfxml_route);
6838 if (!AX_surfxml_route_src) FAIL("Required attribute `src' not set for `route' element.");
6839 if (!AX_surfxml_route_dst) FAIL("Required attribute `dst' not set for `route' element.");
6840 LEAVE; STag_surfxml_route(); surfxml_pcdata_ix = 0; ETag_surfxml_route(); popbuffer(); /* attribute */
6842 case S_surfxml_AS_12: case S_surfxml_AS_9: case S_surfxml_AS_11: case S_surfxml_AS_13: case S_surfxml_AS: SET(S_surfxml_AS_13); break;
6848 FAIL("Unexpected character `%c' in attribute list of route element.", surf_parse_text[0]);
6852 FAIL("Bad attribute `%s' in `route' element start tag.",surf_parse_text);
6854 case YY_STATE_EOF(AL_surfxml_route):
6855 FAIL("EOF in attribute list of `route' element.");
6859 /* rule 328 can match eol */
6863 ETag_surfxml_route();
6864 popbuffer(); /* attribute */
6866 case S_surfxml_AS_12: case S_surfxml_AS_9: case S_surfxml_AS_11: case S_surfxml_AS_13: case S_surfxml_AS: SET(S_surfxml_AS_13); break;
6871 /* rule 329 can match eol */
6873 FAIL("Unexpected end-tag `%s': `</route>' expected.",surf_parse_text);
6877 FAIL("Unexpected character `%c': `</route>' expected.",surf_parse_text[0]);
6879 case YY_STATE_EOF(S_surfxml_route):
6880 case YY_STATE_EOF(S_surfxml_route_2):
6881 case YY_STATE_EOF(E_surfxml_route):
6882 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</route>' expected.");
6886 /* rule 331 can match eol */
6888 FAIL("Starting tag <ASroute> is not allowed here.");
6891 /* rule 332 can match eol */
6894 AX_surfxml_ASroute_src = 0;
6895 surfxml_ASroute_src_isset = 0;
6896 AX_surfxml_ASroute_dst = 0;
6897 surfxml_ASroute_dst_isset = 0;
6898 AX_surfxml_ASroute_gw_src = 0;
6899 surfxml_ASroute_gw_src_isset = 0;
6900 AX_surfxml_ASroute_gw_dst = 0;
6901 surfxml_ASroute_gw_dst_isset = 0;
6902 AX_surfxml_ASroute_symmetrical = A_surfxml_ASroute_symmetrical_YES;
6903 surfxml_ASroute_symmetrical_isset = 0;
6904 ENTER(AL_surfxml_ASroute); pushbuffer(0);
6909 /* rule 333 can match eol */
6911 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);
6914 /* rule 334 can match eol */
6916 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);
6919 /* rule 335 can match eol */
6921 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);
6924 /* rule 336 can match eol */
6926 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);
6929 /* rule 337 can match eol */
6931 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);
6934 /* rule 338 can match eol */
6936 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);
6939 /* rule 339 can match eol */
6941 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);
6944 /* rule 340 can match eol */
6946 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);
6949 /* rule 341 can match eol */
6951 /* rule 342 can match eol */
6953 A_surfxml_ASroute_symmetrical = A_surfxml_ASroute_symmetrical_YES;
6956 /* rule 343 can match eol */
6958 /* rule 344 can match eol */
6960 A_surfxml_ASroute_symmetrical = A_surfxml_ASroute_symmetrical_NO;
6965 if (!AX_surfxml_ASroute_src) FAIL("Required attribute `src' not set for `ASroute' element.");
6966 if (!AX_surfxml_ASroute_dst) FAIL("Required attribute `dst' not set for `ASroute' element.");
6967 if (!AX_surfxml_ASroute_gw_src) FAIL("Required attribute `gw_src' not set for `ASroute' element.");
6968 if (!AX_surfxml_ASroute_gw_dst) FAIL("Required attribute `gw_dst' not set for `ASroute' element.");
6969 LEAVE; STag_surfxml_ASroute();surfxml_pcdata_ix = 0; ENTER(S_surfxml_ASroute);
6975 if (!AX_surfxml_ASroute_src) FAIL("Required attribute `src' not set for `ASroute' element.");
6976 if (!AX_surfxml_ASroute_dst) FAIL("Required attribute `dst' not set for `ASroute' element.");
6977 if (!AX_surfxml_ASroute_gw_src) FAIL("Required attribute `gw_src' not set for `ASroute' element.");
6978 if (!AX_surfxml_ASroute_gw_dst) FAIL("Required attribute `gw_dst' not set for `ASroute' element.");
6979 LEAVE; STag_surfxml_ASroute(); surfxml_pcdata_ix = 0; ETag_surfxml_ASroute(); popbuffer(); /* attribute */
6981 case S_surfxml_AS_1: case S_surfxml_AS_5: case S_surfxml_AS: case S_surfxml_AS_6: case S_surfxml_AS_3: SET(S_surfxml_AS_6); break;
6987 FAIL("Unexpected character `%c' in attribute list of ASroute element.", surf_parse_text[0]);
6991 FAIL("Bad attribute `%s' in `ASroute' element start tag.",surf_parse_text);
6993 case YY_STATE_EOF(AL_surfxml_ASroute):
6994 FAIL("EOF in attribute list of `ASroute' element.");
6998 /* rule 349 can match eol */
7002 ETag_surfxml_ASroute();
7003 popbuffer(); /* attribute */
7005 case S_surfxml_AS_1: case S_surfxml_AS_5: case S_surfxml_AS: case S_surfxml_AS_6: case S_surfxml_AS_3: SET(S_surfxml_AS_6); break;
7010 /* rule 350 can match eol */
7012 FAIL("Unexpected end-tag `%s': `</ASroute>' expected.",surf_parse_text);
7016 FAIL("Unexpected character `%c': `</ASroute>' expected.",surf_parse_text[0]);
7018 case YY_STATE_EOF(E_surfxml_ASroute):
7019 case YY_STATE_EOF(S_surfxml_ASroute):
7020 case YY_STATE_EOF(S_surfxml_ASroute_2):
7021 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</ASroute>' expected.");
7025 /* rule 352 can match eol */
7027 FAIL("Starting tag <link_ctn> is not allowed here.");
7030 /* rule 353 can match eol */
7033 AX_surfxml_link_ctn_id = 0;
7034 surfxml_link_ctn_id_isset = 0;
7035 AX_surfxml_link_ctn_direction = A_surfxml_link_ctn_direction_NONE;
7036 surfxml_link_ctn_direction_isset = 0;
7037 ENTER(AL_surfxml_link_ctn); pushbuffer(0);
7042 /* rule 354 can match eol */
7044 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);
7047 /* rule 355 can match eol */
7049 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);
7052 /* rule 356 can match eol */
7054 /* rule 357 can match eol */
7056 A_surfxml_link_ctn_direction = A_surfxml_link_ctn_direction_UP;
7059 /* rule 358 can match eol */
7061 /* rule 359 can match eol */
7063 A_surfxml_link_ctn_direction = A_surfxml_link_ctn_direction_DOWN;
7066 /* rule 360 can match eol */
7068 /* rule 361 can match eol */
7070 A_surfxml_link_ctn_direction = A_surfxml_link_ctn_direction_NONE;
7075 if (!AX_surfxml_link_ctn_id) FAIL("Required attribute `id' not set for `link_ctn' element.");
7076 LEAVE; STag_surfxml_link_ctn();surfxml_pcdata_ix = 0; ENTER(E_surfxml_link_ctn);
7082 if (!AX_surfxml_link_ctn_id) FAIL("Required attribute `id' not set for `link_ctn' element.");
7083 LEAVE; STag_surfxml_link_ctn(); surfxml_pcdata_ix = 0; ETag_surfxml_link_ctn(); popbuffer(); /* attribute */
7085 case S_surfxml_bypassRoute: case S_surfxml_bypassRoute_2: case S_surfxml_bypassRoute_1: SET(S_surfxml_bypassRoute_2); break;
7086 case S_surfxml_route_1: case S_surfxml_route: case S_surfxml_route_2: SET(S_surfxml_route_2); break;
7087 case S_surfxml_ASroute: case S_surfxml_ASroute_1: case S_surfxml_ASroute_2: SET(S_surfxml_ASroute_2); break;
7093 FAIL("Unexpected character `%c' in attribute list of link_ctn element.", surf_parse_text[0]);
7097 FAIL("Bad attribute `%s' in `link_ctn' element start tag.",surf_parse_text);
7099 case YY_STATE_EOF(AL_surfxml_link_ctn):
7100 FAIL("EOF in attribute list of `link_ctn' element.");
7104 /* rule 366 can match eol */
7108 ETag_surfxml_link_ctn();
7109 popbuffer(); /* attribute */
7111 case S_surfxml_bypassRoute: case S_surfxml_bypassRoute_2: case S_surfxml_bypassRoute_1: SET(S_surfxml_bypassRoute_2); break;
7112 case S_surfxml_route_1: case S_surfxml_route: case S_surfxml_route_2: SET(S_surfxml_route_2); break;
7113 case S_surfxml_ASroute: case S_surfxml_ASroute_1: case S_surfxml_ASroute_2: SET(S_surfxml_ASroute_2); break;
7118 /* rule 367 can match eol */
7120 FAIL("Unexpected end-tag `%s': `</link_ctn>' expected.",surf_parse_text);
7124 FAIL("Unexpected character `%c': `</link_ctn>' expected.",surf_parse_text[0]);
7126 case YY_STATE_EOF(E_surfxml_link_ctn):
7127 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</link_ctn>' expected.");
7131 /* rule 369 can match eol */
7133 FAIL("Starting tag <bypassRoute> is not allowed here.");
7136 /* rule 370 can match eol */
7139 AX_surfxml_bypassRoute_src = 0;
7140 surfxml_bypassRoute_src_isset = 0;
7141 AX_surfxml_bypassRoute_dst = 0;
7142 surfxml_bypassRoute_dst_isset = 0;
7143 AX_surfxml_bypassRoute_gw_src = 0;
7144 surfxml_bypassRoute_gw_src_isset = 0;
7145 AX_surfxml_bypassRoute_gw_dst = 0;
7146 surfxml_bypassRoute_gw_dst_isset = 0;
7147 ENTER(AL_surfxml_bypassRoute); pushbuffer(0);
7152 /* rule 371 can match eol */
7154 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);
7157 /* rule 372 can match eol */
7159 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);
7162 /* rule 373 can match eol */
7164 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);
7167 /* rule 374 can match eol */
7169 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);
7172 /* rule 375 can match eol */
7174 if (surfxml_bypassRoute_gw_src_isset != 0) {FAIL("Multiple definition of attribute gw_src in <surfxml_bypassRoute>");} surfxml_bypassRoute_gw_src_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_bypassRoute_gw_src);
7177 /* rule 376 can match eol */
7179 if (surfxml_bypassRoute_gw_src_isset != 0) {FAIL("Multiple definition of attribute gw_src in <surfxml_bypassRoute>");} surfxml_bypassRoute_gw_src_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_bypassRoute_gw_src);
7182 /* rule 377 can match eol */
7184 if (surfxml_bypassRoute_gw_dst_isset != 0) {FAIL("Multiple definition of attribute gw_dst in <surfxml_bypassRoute>");} surfxml_bypassRoute_gw_dst_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_bypassRoute_gw_dst);
7187 /* rule 378 can match eol */
7189 if (surfxml_bypassRoute_gw_dst_isset != 0) {FAIL("Multiple definition of attribute gw_dst in <surfxml_bypassRoute>");} surfxml_bypassRoute_gw_dst_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_bypassRoute_gw_dst);
7194 if (!AX_surfxml_bypassRoute_src) FAIL("Required attribute `src' not set for `bypassRoute' element.");
7195 if (!AX_surfxml_bypassRoute_dst) FAIL("Required attribute `dst' not set for `bypassRoute' element.");
7196 if (!AX_surfxml_bypassRoute_gw_src) FAIL("Required attribute `gw_src' not set for `bypassRoute' element.");
7197 if (!AX_surfxml_bypassRoute_gw_dst) FAIL("Required attribute `gw_dst' not set for `bypassRoute' element.");
7198 LEAVE; STag_surfxml_bypassRoute();surfxml_pcdata_ix = 0; ENTER(S_surfxml_bypassRoute);
7204 if (!AX_surfxml_bypassRoute_src) FAIL("Required attribute `src' not set for `bypassRoute' element.");
7205 if (!AX_surfxml_bypassRoute_dst) FAIL("Required attribute `dst' not set for `bypassRoute' element.");
7206 if (!AX_surfxml_bypassRoute_gw_src) FAIL("Required attribute `gw_src' not set for `bypassRoute' element.");
7207 if (!AX_surfxml_bypassRoute_gw_dst) FAIL("Required attribute `gw_dst' not set for `bypassRoute' element.");
7208 LEAVE; STag_surfxml_bypassRoute(); surfxml_pcdata_ix = 0; ETag_surfxml_bypassRoute(); popbuffer(); /* attribute */
7210 case S_surfxml_AS_1: case S_surfxml_AS: case S_surfxml_AS_8: case S_surfxml_AS_4: case S_surfxml_AS_7: case S_surfxml_AS_6: case S_surfxml_AS_3: SET(S_surfxml_AS_8); break;
7216 FAIL("Unexpected character `%c' in attribute list of bypassRoute element.", surf_parse_text[0]);
7220 FAIL("Bad attribute `%s' in `bypassRoute' element start tag.",surf_parse_text);
7222 case YY_STATE_EOF(AL_surfxml_bypassRoute):
7223 FAIL("EOF in attribute list of `bypassRoute' element.");
7227 /* rule 383 can match eol */
7231 ETag_surfxml_bypassRoute();
7232 popbuffer(); /* attribute */
7234 case S_surfxml_AS_1: case S_surfxml_AS: case S_surfxml_AS_8: case S_surfxml_AS_4: case S_surfxml_AS_7: case S_surfxml_AS_6: case S_surfxml_AS_3: SET(S_surfxml_AS_8); break;
7239 /* rule 384 can match eol */
7241 FAIL("Unexpected end-tag `%s': `</bypassRoute>' expected.",surf_parse_text);
7245 FAIL("Unexpected character `%c': `</bypassRoute>' expected.",surf_parse_text[0]);
7247 case YY_STATE_EOF(S_surfxml_bypassRoute):
7248 case YY_STATE_EOF(S_surfxml_bypassRoute_2):
7249 case YY_STATE_EOF(E_surfxml_bypassRoute):
7250 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</bypassRoute>' expected.");
7254 /* rule 386 can match eol */
7256 FAIL("Starting tag <process> is not allowed here.");
7259 /* rule 387 can match eol */
7262 AX_surfxml_process_host = 0;
7263 surfxml_process_host_isset = 0;
7264 AX_surfxml_process_function = 0;
7265 surfxml_process_function_isset = 0;
7266 AX_surfxml_process_start_time = 28;
7267 surfxml_process_start_time_isset = 0;
7268 AX_surfxml_process_kill_time = 33;
7269 surfxml_process_kill_time_isset = 0;
7270 ENTER(AL_surfxml_process); pushbuffer(0);
7275 /* rule 388 can match eol */
7277 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);
7280 /* rule 389 can match eol */
7282 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);
7285 /* rule 390 can match eol */
7287 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);
7290 /* rule 391 can match eol */
7292 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);
7295 /* rule 392 can match eol */
7297 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);
7300 /* rule 393 can match eol */
7302 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);
7305 /* rule 394 can match eol */
7307 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);
7310 /* rule 395 can match eol */
7312 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);
7317 if (!AX_surfxml_process_host) FAIL("Required attribute `host' not set for `process' element.");
7318 if (!AX_surfxml_process_function) FAIL("Required attribute `function' not set for `process' element.");
7319 LEAVE; STag_surfxml_process();surfxml_pcdata_ix = 0; ENTER(S_surfxml_process);
7325 if (!AX_surfxml_process_host) FAIL("Required attribute `host' not set for `process' element.");
7326 if (!AX_surfxml_process_function) FAIL("Required attribute `function' not set for `process' element.");
7327 LEAVE; STag_surfxml_process(); surfxml_pcdata_ix = 0; ETag_surfxml_process(); popbuffer(); /* attribute */
7329 case S_surfxml_platform_6: case S_surfxml_platform_4: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_8: case S_surfxml_platform_7: case S_surfxml_platform_3: SET(S_surfxml_platform_8); break;
7335 FAIL("Unexpected character `%c' in attribute list of process element.", surf_parse_text[0]);
7339 FAIL("Bad attribute `%s' in `process' element start tag.",surf_parse_text);
7341 case YY_STATE_EOF(AL_surfxml_process):
7342 FAIL("EOF in attribute list of `process' element.");
7346 /* rule 400 can match eol */
7350 ETag_surfxml_process();
7351 popbuffer(); /* attribute */
7353 case S_surfxml_platform_6: case S_surfxml_platform_4: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_8: case S_surfxml_platform_7: case S_surfxml_platform_3: SET(S_surfxml_platform_8); break;
7358 /* rule 401 can match eol */
7360 FAIL("Unexpected end-tag `%s': `</process>' expected.",surf_parse_text);
7364 FAIL("Unexpected character `%c': `</process>' expected.",surf_parse_text[0]);
7366 case YY_STATE_EOF(E_surfxml_process):
7367 case YY_STATE_EOF(S_surfxml_process):
7368 case YY_STATE_EOF(S_surfxml_process_2):
7369 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</process>' expected.");
7373 /* rule 403 can match eol */
7375 FAIL("Starting tag <argument> is not allowed here.");
7378 /* rule 404 can match eol */
7381 AX_surfxml_argument_value = 0;
7382 surfxml_argument_value_isset = 0;
7383 ENTER(AL_surfxml_argument); pushbuffer(0);
7388 /* rule 405 can match eol */
7390 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);
7393 /* rule 406 can match eol */
7395 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);
7400 if (!AX_surfxml_argument_value) FAIL("Required attribute `value' not set for `argument' element.");
7401 LEAVE; STag_surfxml_argument();surfxml_pcdata_ix = 0; ENTER(E_surfxml_argument);
7407 if (!AX_surfxml_argument_value) FAIL("Required attribute `value' not set for `argument' element.");
7408 LEAVE; STag_surfxml_argument(); surfxml_pcdata_ix = 0; ETag_surfxml_argument(); popbuffer(); /* attribute */
7410 case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
7416 FAIL("Unexpected character `%c' in attribute list of argument element.", surf_parse_text[0]);
7420 FAIL("Bad attribute `%s' in `argument' element start tag.",surf_parse_text);
7422 case YY_STATE_EOF(AL_surfxml_argument):
7423 FAIL("EOF in attribute list of `argument' element.");
7427 /* rule 411 can match eol */
7431 ETag_surfxml_argument();
7432 popbuffer(); /* attribute */
7434 case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
7439 /* rule 412 can match eol */
7441 FAIL("Unexpected end-tag `%s': `</argument>' expected.",surf_parse_text);
7445 FAIL("Unexpected character `%c': `</argument>' expected.",surf_parse_text[0]);
7447 case YY_STATE_EOF(E_surfxml_argument):
7448 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</argument>' expected.");
7452 /* rule 414 can match eol */
7454 FAIL("Starting tag <config> is not allowed here.");
7457 /* rule 415 can match eol */
7460 AX_surfxml_config_id = 0;
7461 surfxml_config_id_isset = 0;
7462 ENTER(AL_surfxml_config); pushbuffer(0);
7467 /* rule 416 can match eol */
7469 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);
7472 /* rule 417 can match eol */
7474 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);
7479 LEAVE; STag_surfxml_config();surfxml_pcdata_ix = 0; ENTER(S_surfxml_config);
7485 LEAVE; STag_surfxml_config(); surfxml_pcdata_ix = 0; ETag_surfxml_config(); popbuffer(); /* attribute */
7487 case S_surfxml_platform_2: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_3); break;
7493 FAIL("Unexpected character `%c' in attribute list of config element.", surf_parse_text[0]);
7497 FAIL("Bad attribute `%s' in `config' element start tag.",surf_parse_text);
7499 case YY_STATE_EOF(AL_surfxml_config):
7500 FAIL("EOF in attribute list of `config' element.");
7504 /* rule 422 can match eol */
7508 ETag_surfxml_config();
7509 popbuffer(); /* attribute */
7511 case S_surfxml_platform_2: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_3); break;
7516 /* rule 423 can match eol */
7518 FAIL("Unexpected end-tag `%s': `</config>' expected.",surf_parse_text);
7522 FAIL("Unexpected character `%c': `</config>' expected.",surf_parse_text[0]);
7524 case YY_STATE_EOF(S_surfxml_config):
7525 case YY_STATE_EOF(S_surfxml_config_2):
7526 case YY_STATE_EOF(E_surfxml_config):
7527 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</config>' expected.");
7530 /* <!-- <!ATTLIST prop key CDATA #REQUIRED> -->
7531 * <!-- <!ATTLIST prop key CDATA #REQUIRED> --> */
7533 /* rule 425 can match eol */
7535 FAIL("Starting tag <prop> is not allowed here.");
7538 /* rule 426 can match eol */
7541 AX_surfxml_prop_id = 0;
7542 surfxml_prop_id_isset = 0;
7543 AX_surfxml_prop_value = 0;
7544 surfxml_prop_value_isset = 0;
7545 ENTER(AL_surfxml_prop); pushbuffer(0);
7550 /* rule 427 can match eol */
7552 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);
7555 /* rule 428 can match eol */
7557 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);
7560 /* rule 429 can match eol */
7562 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);
7565 /* rule 430 can match eol */
7567 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);
7572 if (!AX_surfxml_prop_id) FAIL("Required attribute `id' not set for `prop' element.");
7573 if (!AX_surfxml_prop_value) FAIL("Required attribute `value' not set for `prop' element.");
7574 LEAVE; STag_surfxml_prop();surfxml_pcdata_ix = 0; ENTER(E_surfxml_prop);
7580 if (!AX_surfxml_prop_id) FAIL("Required attribute `id' not set for `prop' element.");
7581 if (!AX_surfxml_prop_value) FAIL("Required attribute `value' not set for `prop' element.");
7582 LEAVE; STag_surfxml_prop(); surfxml_pcdata_ix = 0; ETag_surfxml_prop(); popbuffer(); /* attribute */
7584 case S_surfxml_random: case S_surfxml_random_2: case S_surfxml_random_1: SET(S_surfxml_random_2); break;
7585 case S_surfxml_storage_1: case S_surfxml_storage_2: case S_surfxml_storage: SET(S_surfxml_storage_2); break;
7586 case S_surfxml_config_1: case S_surfxml_config: case S_surfxml_config_2: SET(S_surfxml_config_2); break;
7587 case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
7588 case S_surfxml_host_1: case S_surfxml_host_2: case S_surfxml_host: SET(S_surfxml_host_2); break;
7589 case S_surfxml_storage_type_2: case S_surfxml_storage_type: case S_surfxml_storage_type_1: SET(S_surfxml_storage_type_2); break;
7590 case S_surfxml_link_1: case S_surfxml_link_2: case S_surfxml_link: SET(S_surfxml_link_2); break;
7596 FAIL("Unexpected character `%c' in attribute list of prop element.", surf_parse_text[0]);
7600 FAIL("Bad attribute `%s' in `prop' element start tag.",surf_parse_text);
7602 case YY_STATE_EOF(AL_surfxml_prop):
7603 FAIL("EOF in attribute list of `prop' element.");
7607 /* rule 435 can match eol */
7611 ETag_surfxml_prop();
7612 popbuffer(); /* attribute */
7614 case S_surfxml_random: case S_surfxml_random_2: case S_surfxml_random_1: SET(S_surfxml_random_2); break;
7615 case S_surfxml_storage_1: case S_surfxml_storage_2: case S_surfxml_storage: SET(S_surfxml_storage_2); break;
7616 case S_surfxml_config_1: case S_surfxml_config: case S_surfxml_config_2: SET(S_surfxml_config_2); break;
7617 case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
7618 case S_surfxml_host_1: case S_surfxml_host_2: case S_surfxml_host: SET(S_surfxml_host_2); break;
7619 case S_surfxml_storage_type_2: case S_surfxml_storage_type: case S_surfxml_storage_type_1: SET(S_surfxml_storage_type_2); break;
7620 case S_surfxml_link_1: case S_surfxml_link_2: case S_surfxml_link: SET(S_surfxml_link_2); break;
7625 /* rule 436 can match eol */
7627 FAIL("Unexpected end-tag `%s': `</prop>' expected.",surf_parse_text);
7631 FAIL("Unexpected character `%c': `</prop>' expected.",surf_parse_text[0]);
7633 case YY_STATE_EOF(E_surfxml_prop):
7634 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</prop>' expected.");
7637 /* EPILOG: after the root element. */
7641 {SET(PROLOG); yyless(0); CLEANUP; return -1;}
7643 case YY_STATE_EOF(EPILOG):
7647 /* CHARACTER DATA. */
7649 /* Non-defined standard entities... */
7670 /* Character entities. */
7673 BUFFERPUTC((unsigned char)atoi(surf_parse_text+2));
7677 BUFFERPUTC((unsigned char)strtol(surf_parse_text+3,NULL,16));
7681 /* rule 446 can match eol */
7683 /* rule 447 can match eol */
7685 /* rule 448 can match eol */
7687 /* rule 449 can match eol */
7698 FAIL("Unexpected `]""]>' in character data.");
7705 case YY_STATE_EOF(VALUE1):
7706 FAIL("EOF in literal (\"'\" expected).");
7713 case YY_STATE_EOF(VALUE2):
7714 FAIL("EOF in literal (`\"' expected).");
7718 /* rule 454 can match eol */
7720 BUFFERPUTC(surf_parse_text[0]);
7724 FAIL("Spurious `%c' in character data.",surf_parse_text[0]);
7731 /* "]""]" BUFFERPUTC(surf_parse_text[0]); BUFFERPUTC(surf_parse_text[1]); */
7734 BUFFERPUTC(surf_parse_text[0]);
7736 case YY_STATE_EOF(CDATA):
7737 FAIL("EOF in CDATA section.");
7740 /* Impossible rules to avoid warnings from flex(1). */
7741 /* Ideally, this should be replaced by code in flexml.pl that
7742 generates just the states not covered by other rules. */
7745 /* rule 458 can match eol */
7747 FAIL("Syntax error on character `%c'.", surf_parse_text[0]);
7754 case YY_STATE_EOF(INITIAL):
7755 case YY_STATE_EOF(ROOT_surfxml_platform):
7756 case YY_STATE_EOF(S_surfxml_platform_2):
7757 case YY_STATE_EOF(S_surfxml_platform_5):
7758 case YY_STATE_EOF(S_surfxml_platform_7):
7759 case YY_STATE_EOF(S_surfxml_include_1):
7760 case YY_STATE_EOF(S_surfxml_random_1):
7761 case YY_STATE_EOF(S_surfxml_AS_2):
7762 case YY_STATE_EOF(S_surfxml_AS_5):
7763 case YY_STATE_EOF(S_surfxml_AS_7):
7764 case YY_STATE_EOF(S_surfxml_AS_10):
7765 case YY_STATE_EOF(S_surfxml_AS_12):
7766 case YY_STATE_EOF(S_surfxml_storage_type_1):
7767 case YY_STATE_EOF(S_surfxml_storage_1):
7768 case YY_STATE_EOF(S_surfxml_host_1):
7769 case YY_STATE_EOF(S_surfxml_link_1):
7770 case YY_STATE_EOF(S_surfxml_route_1):
7771 case YY_STATE_EOF(S_surfxml_ASroute_1):
7772 case YY_STATE_EOF(S_surfxml_bypassRoute_1):
7773 case YY_STATE_EOF(S_surfxml_process_1):
7774 case YY_STATE_EOF(S_surfxml_config_1):
7775 case YY_STATE_EOF(IMPOSSIBLE):
7778 case YY_END_OF_BUFFER:
7780 /* Amount of text matched not including the EOB char. */
7781 int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
7783 /* Undo the effects of YY_DO_BEFORE_ACTION. */
7784 *yy_cp = (yy_hold_char);
7785 YY_RESTORE_YY_MORE_OFFSET
7787 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
7789 /* We're scanning a new file or input source. It's
7790 * possible that this happened because the user
7791 * just pointed surf_parse_in at a new source and called
7792 * surf_parse_lex(). If so, then we have to assure
7793 * consistency between YY_CURRENT_BUFFER and our
7794 * globals. Here is the right place to do so, because
7795 * this is the first action (other than possibly a
7796 * back-up) that will match for the new input source.
7798 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
7799 YY_CURRENT_BUFFER_LVALUE->yy_input_file = surf_parse_in;
7800 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
7803 /* Note that here we test for yy_c_buf_p "<=" to the position
7804 * of the first EOB in the buffer, since yy_c_buf_p will
7805 * already have been incremented past the NUL character
7806 * (since all states make transitions on EOB to the
7807 * end-of-buffer state). Contrast this with the test
7810 if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
7811 { /* This was really a NUL. */
7812 yy_state_type yy_next_state;
7814 (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
7816 yy_current_state = yy_get_previous_state( );
7818 /* Okay, we're now positioned to make the NUL
7819 * transition. We couldn't have
7820 * yy_get_previous_state() go ahead and do it
7821 * for us because it doesn't know how to deal
7822 * with the possibility of jamming (and we don't
7823 * want to build jamming into it because then it
7824 * will run more slowly).
7827 yy_next_state = yy_try_NUL_trans( yy_current_state );
7829 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
7831 if ( yy_next_state )
7833 /* Consume the NUL. */
7834 yy_cp = ++(yy_c_buf_p);
7835 yy_current_state = yy_next_state;
7841 yy_cp = (yy_c_buf_p);
7842 goto yy_find_action;
7846 else switch ( yy_get_next_buffer( ) )
7848 case EOB_ACT_END_OF_FILE:
7850 (yy_did_buffer_switch_on_eof) = 0;
7852 if ( surf_parse_wrap( ) )
7854 /* Note: because we've taken care in
7855 * yy_get_next_buffer() to have set up
7856 * surf_parse_text, we can now set up
7857 * yy_c_buf_p so that if some total
7858 * hoser (like flex itself) wants to
7859 * call the scanner after we return the
7860 * YY_NULL, it'll still work - another
7861 * YY_NULL will get returned.
7863 (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
7865 yy_act = YY_STATE_EOF(YY_START);
7871 if ( ! (yy_did_buffer_switch_on_eof) )
7877 case EOB_ACT_CONTINUE_SCAN:
7879 (yytext_ptr) + yy_amount_of_matched_text;
7881 yy_current_state = yy_get_previous_state( );
7883 yy_cp = (yy_c_buf_p);
7884 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
7887 case EOB_ACT_LAST_MATCH:
7889 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
7891 yy_current_state = yy_get_previous_state( );
7893 yy_cp = (yy_c_buf_p);
7894 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
7895 goto yy_find_action;
7902 "fatal flex scanner internal error--no action found" );
7903 } /* end of action switch */
7904 } /* end of scanning one token */
7905 } /* end of surf_parse_lex */
7907 /* yy_get_next_buffer - try to read in a new buffer
7909 * Returns a code representing an action:
7910 * EOB_ACT_LAST_MATCH -
7911 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
7912 * EOB_ACT_END_OF_FILE - end of file
7914 static int yy_get_next_buffer (void)
7916 register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
7917 register char *source = (yytext_ptr);
7918 register int number_to_move, i;
7921 if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
7923 "fatal flex scanner internal error--end of buffer missed" );
7925 if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
7926 { /* Don't try to fill the buffer, so this is an EOF. */
7927 if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
7929 /* We matched a single character, the EOB, so
7930 * treat this as a final EOF.
7932 return EOB_ACT_END_OF_FILE;
7937 /* We matched some text prior to the EOB, first
7940 return EOB_ACT_LAST_MATCH;
7944 /* Try to read more data. */
7946 /* First move last chars to start of buffer. */
7947 number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
7949 for ( i = 0; i < number_to_move; ++i )
7950 *(dest++) = *(source++);
7952 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
7953 /* don't do the read, it's not guaranteed to return an EOF,
7956 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
7961 YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
7963 while ( num_to_read <= 0 )
7964 { /* Not enough room in the buffer - grow it. */
7966 /* just a shorter name for the current buffer */
7967 YY_BUFFER_STATE b = YY_CURRENT_BUFFER;
7969 int yy_c_buf_p_offset =
7970 (int) ((yy_c_buf_p) - b->yy_ch_buf);
7972 if ( b->yy_is_our_buffer )
7974 int new_size = b->yy_buf_size * 2;
7976 if ( new_size <= 0 )
7977 b->yy_buf_size += b->yy_buf_size / 8;
7979 b->yy_buf_size *= 2;
7981 b->yy_ch_buf = (char *)
7982 /* Include room in for 2 EOB chars. */
7983 surf_parse_realloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 );
7986 /* Can't grow it, we don't own it. */
7989 if ( ! b->yy_ch_buf )
7991 "fatal error - scanner input buffer overflow" );
7993 (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
7995 num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
8000 if ( num_to_read > YY_READ_BUF_SIZE )
8001 num_to_read = YY_READ_BUF_SIZE;
8003 /* Read in more data. */
8004 YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
8005 (yy_n_chars), (size_t) num_to_read );
8007 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
8010 if ( (yy_n_chars) == 0 )
8012 if ( number_to_move == YY_MORE_ADJ )
8014 ret_val = EOB_ACT_END_OF_FILE;
8015 surf_parse_restart(surf_parse_in );
8020 ret_val = EOB_ACT_LAST_MATCH;
8021 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
8022 YY_BUFFER_EOF_PENDING;
8027 ret_val = EOB_ACT_CONTINUE_SCAN;
8029 if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
8030 /* Extend the array by 50%, plus the number we really need. */
8031 yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
8032 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) surf_parse_realloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size );
8033 if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
8034 YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
8037 (yy_n_chars) += number_to_move;
8038 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
8039 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
8041 (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
8046 /* yy_get_previous_state - get the state just before the EOB char was reached */
8048 static yy_state_type yy_get_previous_state (void)
8050 register yy_state_type yy_current_state;
8051 register char *yy_cp;
8053 yy_current_state = (yy_start);
8055 for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
8057 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
8058 if ( yy_accept[yy_current_state] )
8060 (yy_last_accepting_state) = yy_current_state;
8061 (yy_last_accepting_cpos) = yy_cp;
8063 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
8065 yy_current_state = (int) yy_def[yy_current_state];
8066 if ( yy_current_state >= 2702 )
8067 yy_c = yy_meta[(unsigned int) yy_c];
8069 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
8072 return yy_current_state;
8075 /* yy_try_NUL_trans - try to make a transition on the NUL character
8078 * next_state = yy_try_NUL_trans( current_state );
8080 static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state )
8082 register int yy_is_jam;
8083 register char *yy_cp = (yy_c_buf_p);
8085 register YY_CHAR yy_c = 1;
8086 if ( yy_accept[yy_current_state] )
8088 (yy_last_accepting_state) = yy_current_state;
8089 (yy_last_accepting_cpos) = yy_cp;
8091 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
8093 yy_current_state = (int) yy_def[yy_current_state];
8094 if ( yy_current_state >= 2702 )
8095 yy_c = yy_meta[(unsigned int) yy_c];
8097 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
8098 yy_is_jam = (yy_current_state == 2701);
8100 return yy_is_jam ? 0 : yy_current_state;
8105 static int yyinput (void)
8107 static int input (void)
8113 *(yy_c_buf_p) = (yy_hold_char);
8115 if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
8117 /* yy_c_buf_p now points to the character we want to return.
8118 * If this occurs *before* the EOB characters, then it's a
8119 * valid NUL; if not, then we've hit the end of the buffer.
8121 if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
8122 /* This was really a NUL. */
8123 *(yy_c_buf_p) = '\0';
8126 { /* need more input */
8127 int offset = (yy_c_buf_p) - (yytext_ptr);
8130 switch ( yy_get_next_buffer( ) )
8132 case EOB_ACT_LAST_MATCH:
8133 /* This happens because yy_g_n_b()
8134 * sees that we've accumulated a
8135 * token and flags that we need to
8136 * try matching the token before
8137 * proceeding. But for input(),
8138 * there's no matching to consider.
8139 * So convert the EOB_ACT_LAST_MATCH
8140 * to EOB_ACT_END_OF_FILE.
8143 /* Reset buffer status. */
8144 surf_parse_restart(surf_parse_in );
8148 case EOB_ACT_END_OF_FILE:
8150 if ( surf_parse_wrap( ) )
8153 if ( ! (yy_did_buffer_switch_on_eof) )
8162 case EOB_ACT_CONTINUE_SCAN:
8163 (yy_c_buf_p) = (yytext_ptr) + offset;
8169 c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */
8170 *(yy_c_buf_p) = '\0'; /* preserve surf_parse_text */
8171 (yy_hold_char) = *++(yy_c_buf_p);
8175 surf_parse_lineno++;
8180 #endif /* ifndef YY_NO_INPUT */
8182 /** Immediately switch to a different input stream.
8183 * @param input_file A readable stream.
8185 * @note This function does not reset the start condition to @c INITIAL .
8187 void surf_parse_restart (FILE * input_file )
8190 if ( ! YY_CURRENT_BUFFER ){
8191 surf_parse_ensure_buffer_stack ();
8192 YY_CURRENT_BUFFER_LVALUE =
8193 surf_parse__create_buffer(surf_parse_in,YY_BUF_SIZE );
8196 surf_parse__init_buffer(YY_CURRENT_BUFFER,input_file );
8197 surf_parse__load_buffer_state( );
8200 /** Switch to a different input buffer.
8201 * @param new_buffer The new input buffer.
8204 void surf_parse__switch_to_buffer (YY_BUFFER_STATE new_buffer )
8207 /* TODO. We should be able to replace this entire function body
8209 * surf_parse_pop_buffer_state();
8210 * surf_parse_push_buffer_state(new_buffer);
8212 surf_parse_ensure_buffer_stack ();
8213 if ( YY_CURRENT_BUFFER == new_buffer )
8216 if ( YY_CURRENT_BUFFER )
8218 /* Flush out information for old buffer. */
8219 *(yy_c_buf_p) = (yy_hold_char);
8220 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
8221 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
8224 YY_CURRENT_BUFFER_LVALUE = new_buffer;
8225 surf_parse__load_buffer_state( );
8227 /* We don't actually know whether we did this switch during
8228 * EOF (surf_parse_wrap()) processing, but the only time this flag
8229 * is looked at is after surf_parse_wrap() is called, so it's safe
8230 * to go ahead and always set it.
8232 (yy_did_buffer_switch_on_eof) = 1;
8235 static void surf_parse__load_buffer_state (void)
8237 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
8238 (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
8239 surf_parse_in = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
8240 (yy_hold_char) = *(yy_c_buf_p);
8243 /** Allocate and initialize an input buffer state.
8244 * @param file A readable stream.
8245 * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
8247 * @return the allocated buffer state.
8249 YY_BUFFER_STATE surf_parse__create_buffer (FILE * file, int size )
8253 b = (YY_BUFFER_STATE) surf_parse_alloc(sizeof( struct yy_buffer_state ) );
8255 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__create_buffer()" );
8257 b->yy_buf_size = size;
8259 /* yy_ch_buf has to be 2 characters longer than the size given because
8260 * we need to put in 2 end-of-buffer characters.
8262 b->yy_ch_buf = (char *) surf_parse_alloc(b->yy_buf_size + 2 );
8263 if ( ! b->yy_ch_buf )
8264 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__create_buffer()" );
8266 b->yy_is_our_buffer = 1;
8268 surf_parse__init_buffer(b,file );
8273 /** Destroy the buffer.
8274 * @param b a buffer created with surf_parse__create_buffer()
8277 void surf_parse__delete_buffer (YY_BUFFER_STATE b )
8283 if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
8284 YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
8286 if ( b->yy_is_our_buffer )
8287 surf_parse_free((void *) b->yy_ch_buf );
8289 surf_parse_free((void *) b );
8293 extern int isatty (int );
8294 #endif /* __cplusplus */
8296 /* Initializes or reinitializes a buffer.
8297 * This function is sometimes called more than once on the same buffer,
8298 * such as during a surf_parse_restart() or at EOF.
8300 static void surf_parse__init_buffer (YY_BUFFER_STATE b, FILE * file )
8305 surf_parse__flush_buffer(b );
8307 b->yy_input_file = file;
8308 b->yy_fill_buffer = 1;
8310 /* If b is the current buffer, then surf_parse__init_buffer was _probably_
8311 * called from surf_parse_restart() or through yy_get_next_buffer.
8312 * In that case, we don't want to reset the lineno or column.
8314 if (b != YY_CURRENT_BUFFER){
8315 b->yy_bs_lineno = 1;
8316 b->yy_bs_column = 0;
8319 b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
8324 /** Discard all buffered characters. On the next scan, YY_INPUT will be called.
8325 * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
8328 void surf_parse__flush_buffer (YY_BUFFER_STATE b )
8335 /* We always need two end-of-buffer characters. The first causes
8336 * a transition to the end-of-buffer state. The second causes
8337 * a jam in that state.
8339 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
8340 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
8342 b->yy_buf_pos = &b->yy_ch_buf[0];
8345 b->yy_buffer_status = YY_BUFFER_NEW;
8347 if ( b == YY_CURRENT_BUFFER )
8348 surf_parse__load_buffer_state( );
8351 /** Pushes the new state onto the stack. The new state becomes
8352 * the current state. This function will allocate the stack
8354 * @param new_buffer The new state.
8357 void surf_parse_push_buffer_state (YY_BUFFER_STATE new_buffer )
8359 if (new_buffer == NULL)
8362 surf_parse_ensure_buffer_stack();
8364 /* This block is copied from surf_parse__switch_to_buffer. */
8365 if ( YY_CURRENT_BUFFER )
8367 /* Flush out information for old buffer. */
8368 *(yy_c_buf_p) = (yy_hold_char);
8369 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
8370 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
8373 /* Only push if top exists. Otherwise, replace top. */
8374 if (YY_CURRENT_BUFFER)
8375 (yy_buffer_stack_top)++;
8376 YY_CURRENT_BUFFER_LVALUE = new_buffer;
8378 /* copied from surf_parse__switch_to_buffer. */
8379 surf_parse__load_buffer_state( );
8380 (yy_did_buffer_switch_on_eof) = 1;
8383 /** Removes and deletes the top of the stack, if present.
8384 * The next element becomes the new top.
8387 void surf_parse_pop_buffer_state (void)
8389 if (!YY_CURRENT_BUFFER)
8392 surf_parse__delete_buffer(YY_CURRENT_BUFFER );
8393 YY_CURRENT_BUFFER_LVALUE = NULL;
8394 if ((yy_buffer_stack_top) > 0)
8395 --(yy_buffer_stack_top);
8397 if (YY_CURRENT_BUFFER) {
8398 surf_parse__load_buffer_state( );
8399 (yy_did_buffer_switch_on_eof) = 1;
8403 /* Allocates the stack if it does not exist.
8404 * Guarantees space for at least one push.
8406 static void surf_parse_ensure_buffer_stack (void)
8410 if (!(yy_buffer_stack)) {
8412 /* First allocation is just for 2 elements, since we don't know if this
8413 * scanner will even need a stack. We use 2 instead of 1 to avoid an
8414 * immediate realloc on the next call.
8417 (yy_buffer_stack) = (struct yy_buffer_state**)surf_parse_alloc
8418 (num_to_alloc * sizeof(struct yy_buffer_state*)
8420 if ( ! (yy_buffer_stack) )
8421 YY_FATAL_ERROR( "out of dynamic memory in surf_parse_ensure_buffer_stack()" );
8423 memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
8425 (yy_buffer_stack_max) = num_to_alloc;
8426 (yy_buffer_stack_top) = 0;
8430 if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
8432 /* Increase the buffer to prepare for a possible push. */
8433 int grow_size = 8 /* arbitrary grow size */;
8435 num_to_alloc = (yy_buffer_stack_max) + grow_size;
8436 (yy_buffer_stack) = (struct yy_buffer_state**)surf_parse_realloc
8438 num_to_alloc * sizeof(struct yy_buffer_state*)
8440 if ( ! (yy_buffer_stack) )
8441 YY_FATAL_ERROR( "out of dynamic memory in surf_parse_ensure_buffer_stack()" );
8443 /* zero only the new slots.*/
8444 memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
8445 (yy_buffer_stack_max) = num_to_alloc;
8449 /** Setup the input buffer state to scan directly from a user-specified character buffer.
8450 * @param base the character buffer
8451 * @param size the size in bytes of the character buffer
8453 * @return the newly allocated buffer state object.
8455 YY_BUFFER_STATE surf_parse__scan_buffer (char * base, yy_size_t size )
8460 base[size-2] != YY_END_OF_BUFFER_CHAR ||
8461 base[size-1] != YY_END_OF_BUFFER_CHAR )
8462 /* They forgot to leave room for the EOB's. */
8465 b = (YY_BUFFER_STATE) surf_parse_alloc(sizeof( struct yy_buffer_state ) );
8467 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__scan_buffer()" );
8469 b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
8470 b->yy_buf_pos = b->yy_ch_buf = base;
8471 b->yy_is_our_buffer = 0;
8472 b->yy_input_file = 0;
8473 b->yy_n_chars = b->yy_buf_size;
8474 b->yy_is_interactive = 0;
8476 b->yy_fill_buffer = 0;
8477 b->yy_buffer_status = YY_BUFFER_NEW;
8479 surf_parse__switch_to_buffer(b );
8484 /** Setup the input buffer state to scan a string. The next call to surf_parse_lex() will
8485 * scan from a @e copy of @a str.
8486 * @param yystr a NUL-terminated string to scan
8488 * @return the newly allocated buffer state object.
8489 * @note If you want to scan bytes that may contain NUL values, then use
8490 * surf_parse__scan_bytes() instead.
8492 YY_BUFFER_STATE surf_parse__scan_string (yyconst char * yystr )
8495 return surf_parse__scan_bytes(yystr,strlen(yystr) );
8498 /** Setup the input buffer state to scan the given bytes. The next call to surf_parse_lex() will
8499 * scan from a @e copy of @a bytes.
8500 * @param yybytes the byte buffer to scan
8501 * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
8503 * @return the newly allocated buffer state object.
8505 YY_BUFFER_STATE surf_parse__scan_bytes (yyconst char * yybytes, int _yybytes_len )
8512 /* Get memory for full buffer, including space for trailing EOB's. */
8513 n = _yybytes_len + 2;
8514 buf = (char *) surf_parse_alloc(n );
8516 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__scan_bytes()" );
8518 for ( i = 0; i < _yybytes_len; ++i )
8519 buf[i] = yybytes[i];
8521 buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
8523 b = surf_parse__scan_buffer(buf,n );
8525 YY_FATAL_ERROR( "bad buffer in surf_parse__scan_bytes()" );
8527 /* It's okay to grow etc. this buffer, and we should throw it
8528 * away when we're done.
8530 b->yy_is_our_buffer = 1;
8535 static void yy_push_state (int new_state )
8537 if ( (yy_start_stack_ptr) >= (yy_start_stack_depth) )
8541 (yy_start_stack_depth) += YY_START_STACK_INCR;
8542 new_size = (yy_start_stack_depth) * sizeof( int );
8544 if ( ! (yy_start_stack) )
8545 (yy_start_stack) = (int *) surf_parse_alloc(new_size );
8548 (yy_start_stack) = (int *) surf_parse_realloc((void *) (yy_start_stack),new_size );
8550 if ( ! (yy_start_stack) )
8551 YY_FATAL_ERROR( "out of memory expanding start-condition stack" );
8554 (yy_start_stack)[(yy_start_stack_ptr)++] = YY_START;
8559 static void yy_pop_state (void)
8561 if ( --(yy_start_stack_ptr) < 0 )
8562 YY_FATAL_ERROR( "start-condition stack underflow" );
8564 BEGIN((yy_start_stack)[(yy_start_stack_ptr)]);
8567 #ifndef YY_EXIT_FAILURE
8568 #define YY_EXIT_FAILURE 2
8571 static void yy_fatal_error (yyconst char* msg )
8573 (void) fprintf( stderr, "%s\n", msg );
8574 exit( YY_EXIT_FAILURE );
8577 /* Redefine yyless() so it works in section 3 code. */
8583 /* Undo effects of setting up surf_parse_text. */ \
8584 int yyless_macro_arg = (n); \
8585 YY_LESS_LINENO(yyless_macro_arg);\
8586 surf_parse_text[surf_parse_leng] = (yy_hold_char); \
8587 (yy_c_buf_p) = surf_parse_text + yyless_macro_arg; \
8588 (yy_hold_char) = *(yy_c_buf_p); \
8589 *(yy_c_buf_p) = '\0'; \
8590 surf_parse_leng = yyless_macro_arg; \
8594 /* Accessor methods (get/set functions) to struct members. */
8596 /** Get the current line number.
8599 int surf_parse_get_lineno (void)
8602 return surf_parse_lineno;
8605 /** Get the input stream.
8608 FILE *surf_parse_get_in (void)
8610 return surf_parse_in;
8613 /** Get the output stream.
8616 FILE *surf_parse_get_out (void)
8618 return surf_parse_out;
8621 /** Get the length of the current token.
8624 int surf_parse_get_leng (void)
8626 return surf_parse_leng;
8629 /** Get the current token.
8633 char *surf_parse_get_text (void)
8635 return surf_parse_text;
8638 /** Set the current line number.
8639 * @param line_number
8642 void surf_parse_set_lineno (int line_number )
8645 surf_parse_lineno = line_number;
8648 /** Set the input stream. This does not discard the current
8650 * @param in_str A readable stream.
8652 * @see surf_parse__switch_to_buffer
8654 void surf_parse_set_in (FILE * in_str )
8656 surf_parse_in = in_str ;
8659 void surf_parse_set_out (FILE * out_str )
8661 surf_parse_out = out_str ;
8664 int surf_parse_get_debug (void)
8666 return surf_parse__flex_debug;
8669 void surf_parse_set_debug (int bdebug )
8671 surf_parse__flex_debug = bdebug ;
8674 static int yy_init_globals (void)
8676 /* Initialization is the same as for the non-reentrant scanner.
8677 * This function is called from surf_parse_lex_destroy(), so don't allocate here.
8680 /* We do not touch surf_parse_lineno unless the option is enabled. */
8681 surf_parse_lineno = 1;
8683 (yy_buffer_stack) = 0;
8684 (yy_buffer_stack_top) = 0;
8685 (yy_buffer_stack_max) = 0;
8686 (yy_c_buf_p) = (char *) 0;
8690 (yy_start_stack_ptr) = 0;
8691 (yy_start_stack_depth) = 0;
8692 (yy_start_stack) = NULL;
8694 /* Defined in main.c */
8696 surf_parse_in = stdin;
8697 surf_parse_out = stdout;
8699 surf_parse_in = (FILE *) 0;
8700 surf_parse_out = (FILE *) 0;
8703 /* For future reference: Set errno on error, since we are called by
8704 * surf_parse_lex_init()
8709 /* surf_parse_lex_destroy is for both reentrant and non-reentrant scanners. */
8710 int surf_parse_lex_destroy (void)
8713 /* Pop the buffer stack, destroying each element. */
8714 while(YY_CURRENT_BUFFER){
8715 surf_parse__delete_buffer(YY_CURRENT_BUFFER );
8716 YY_CURRENT_BUFFER_LVALUE = NULL;
8717 surf_parse_pop_buffer_state();
8720 /* Destroy the stack itself. */
8721 surf_parse_free((yy_buffer_stack) );
8722 (yy_buffer_stack) = NULL;
8724 /* Destroy the start condition stack. */
8725 surf_parse_free((yy_start_stack) );
8726 (yy_start_stack) = NULL;
8728 /* Reset the globals. This is important in a non-reentrant scanner so the next time
8729 * surf_parse_lex() is called, initialization will occur. */
8736 * Internal utility routines.
8740 static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
8743 for ( i = 0; i < n; ++i )
8748 #ifdef YY_NEED_STRLEN
8749 static int yy_flex_strlen (yyconst char * s )
8752 for ( n = 0; s[n]; ++n )
8759 void *surf_parse_alloc (yy_size_t size )
8761 return (void *) malloc( size );
8764 void *surf_parse_realloc (void * ptr, yy_size_t size )
8766 /* The cast to (char *) in the following accommodates both
8767 * implementations that use char* generic pointers, and those
8768 * that use void* generic pointers. It works with the latter
8769 * because both ANSI C and C++ allow castless assignment from
8770 * any pointer type to void*, and deal with argument conversions
8771 * as though doing an assignment.
8773 return (void *) realloc( (char *) ptr, size );
8776 void surf_parse_free (void * ptr )
8778 free( (char *) ptr ); /* see surf_parse_realloc() for (char *) cast */
8781 #define YYTABLES_NAME "yytables"
8783 /* Element context stack lookup. */
8784 int surfxml_element_context(int i)
8786 return (0<i && i<yy_start_stack_depth
8787 ? yy_start_stack[yy_start_stack_ptr - i]
8792 void print_yy_stack(char* fmt, ...)
8794 int i = 0; va_list ap; va_start(ap, fmt);
8795 vfprintf(stderr, fmt, ap);
8796 if (surfxml_statenames) {
8797 for (i=1; i<yy_start_stack_ptr; i++) {
8798 fprintf(stderr, "%s/", surfxml_statenames[yy_start_stack[i] ]);
8800 fprintf(stderr,"%s\n", surfxml_statenames[YY_START]);
8805 void print_surfxml_bufferstack()
8808 fputs("Buffer: ", stderr);
8809 for (i = 0; i < blimit; i++) {
8810 if ( surfxml_bufferstack[i] == '\377' ) break;
8811 putc(surfxml_bufferstack[i], stderr);
8816 static void debug_enter(int state, const char* statename) {
8817 yy_push_state(state);
8818 if (surf_parse__flex_debug) {
8819 print_yy_stack("--ENTER(%s) : ",statename);
8820 print_surfxml_bufferstack();
8824 static void debug_leave(void) {
8825 if (surf_parse__flex_debug) {
8826 print_yy_stack("--LEAVE : ");
8827 print_surfxml_bufferstack();
8832 static void debug_set(int state, const char* statename) {
8834 if (surf_parse__flex_debug) print_yy_stack("--SET(%s) : ",statename);
8838 static void cleanup(void)
8840 if (surfxml_statenames) {
8841 free(surfxml_statenames);
8842 surfxml_statenames = NULL;
8844 free(surfxml_bufferstack);
8845 surfxml_bufferstack = NULL;
8851 static int fail(const char* fmt, ...)
8853 int chars_left, used;
8854 va_list ap; va_start(ap, fmt);
8855 #ifdef FLEXML_yylineno
8856 used = sprintf(flexml_err_msg,
8857 "Invalid XML (XML input line %d, state %d): ",
8858 surf_parse_lineno, YY_START);
8860 used = sprintf(flexml_err_msg,
8861 "Invalid XML (state %d): ",
8864 chars_left = flexml_max_err_msg_size - used - 1;
8865 vsnprintf(flexml_err_msg + used, chars_left, fmt, ap);
8868 #ifndef FLEXML_quiet_parser
8869 /* print directly to sdterr */
8870 fprintf(stderr, "%s\n", flexml_err_msg);
8871 flexml_err_msg[0] = '\0';