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 405
407 #define YY_END_OF_BUFFER 406
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[2421] =
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, 406, 404, 15, 10, 10, 15, 15, 384,
439 10, 384, 5, 6, 5, 8, 9, 8, 400, 392,
440 393, 401, 398, 401, 399, 403, 392, 393, 403, 404,
441 22, 10, 22, 22, 22, 20, 22, 26, 10, 26,
442 26, 404, 26, 404, 404, 26, 33, 10, 33, 33,
443 33, 31, 33, 37, 10, 37, 48, 10, 48, 48,
444 48, 46, 48, 48, 48, 401, 400, 78, 10, 78,
445 78, 78, 76, 78, 78, 78, 78, 78, 82, 10,
446 82, 404, 82, 101, 10, 101, 101, 101, 99, 101,
447 101, 101, 105, 10, 105, 114, 10, 114, 114, 114,
448 112, 114, 114, 118, 10, 118, 118, 404, 118, 118,
450 404, 404, 118, 404, 118, 404, 118, 141, 10, 141,
451 141, 141, 139, 141, 141, 141, 141, 141, 145, 10,
452 145, 145, 186, 10, 186, 186, 186, 184, 186, 186,
453 186, 186, 186, 186, 186, 186, 190, 10, 190, 211,
454 10, 211, 211, 211, 209, 211, 211, 211, 211, 211,
455 211, 211, 215, 10, 215, 224, 10, 224, 224, 224,
456 222, 224, 224, 228, 10, 228, 255, 10, 255, 255,
457 255, 253, 255, 255, 255, 255, 259, 10, 259, 259,
458 272, 10, 272, 272, 272, 270, 272, 272, 276, 10,
459 276, 404, 276, 293, 10, 293, 293, 293, 291, 293,
461 293, 293, 297, 10, 297, 297, 310, 10, 310, 310,
462 310, 308, 310, 310, 314, 10, 314, 327, 10, 327,
463 327, 327, 325, 327, 327, 327, 331, 10, 331, 331,
464 344, 10, 344, 344, 344, 342, 344, 344, 344, 344,
465 348, 10, 348, 404, 348, 355, 10, 355, 355, 355,
466 353, 355, 359, 10, 359, 366, 10, 366, 366, 366,
467 364, 366, 370, 10, 370, 370, 379, 10, 379, 379,
468 379, 377, 379, 379, 383, 10, 383, 10, 0, 2,
469 2, 0, 4, 7, 395, 394, 0, 0, 0, 0,
470 0, 0, 0, 21, 23, 23, 0, 0, 0, 0,
472 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
473 0, 0, 0, 0, 0, 0, 0, 32, 34, 34,
474 0, 47, 49, 49, 49, 49, 0, 0, 0, 77,
475 79, 79, 79, 79, 79, 79, 79, 79, 79, 0,
476 0, 100, 102, 102, 102, 102, 0, 113, 115, 115,
477 115, 0, 0, 0, 0, 0, 0, 0, 0, 0,
478 140, 142, 142, 142, 142, 142, 142, 0, 185, 187,
479 187, 187, 187, 187, 187, 187, 187, 187, 187, 187,
480 187, 187, 187, 0, 210, 212, 212, 212, 212, 212,
481 212, 212, 212, 0, 223, 225, 225, 225, 0, 254,
483 256, 256, 256, 256, 256, 256, 0, 271, 273, 273,
484 273, 273, 0, 0, 292, 294, 294, 294, 294, 294,
485 0, 309, 311, 311, 311, 0, 326, 328, 328, 328,
486 328, 0, 343, 345, 345, 345, 345, 345, 0, 0,
487 354, 356, 356, 0, 365, 367, 367, 0, 378, 380,
488 380, 380, 0, 0, 0, 0, 0, 3, 0, 0,
489 0, 0, 0, 0, 0, 402, 0, 23, 0, 0,
490 107, 0, 0, 0, 0, 0, 0, 0, 0, 0,
491 0, 0, 0, 0, 0, 0, 106, 0, 0, 0,
492 0, 0, 34, 0, 0, 49, 0, 0, 49, 0,
494 0, 0, 397, 79, 0, 0, 79, 79, 79, 79,
495 79, 79, 0, 0, 0, 102, 102, 102, 0, 0,
496 0, 0, 115, 0, 0, 107, 0, 0, 0, 0,
497 106, 0, 0, 142, 142, 142, 0, 0, 142, 142,
498 0, 0, 187, 187, 0, 0, 187, 0, 0, 187,
499 187, 187, 187, 187, 187, 187, 187, 0, 0, 212,
500 212, 212, 0, 0, 212, 212, 212, 0, 0, 225,
501 0, 0, 0, 0, 256, 0, 0, 256, 256, 256,
502 0, 0, 273, 273, 273, 0, 0, 0, 294, 294,
503 294, 294, 0, 0, 311, 0, 0, 0, 0, 328,
505 328, 328, 0, 0, 345, 345, 345, 345, 0, 0,
506 0, 356, 0, 0, 0, 0, 0, 0, 0, 0,
507 380, 0, 0, 0, 14, 1, 0, 0, 390, 0,
508 0, 0, 387, 386, 0, 0, 23, 0, 0, 25,
509 0, 107, 0, 0, 0, 0, 0, 0, 0, 0,
510 0, 0, 0, 0, 0, 0, 0, 0, 106, 0,
511 0, 0, 0, 0, 34, 0, 0, 36, 0, 49,
512 0, 41, 40, 49, 0, 0, 0, 51, 0, 79,
513 0, 55, 54, 0, 0, 79, 0, 0, 79, 79,
514 79, 0, 0, 81, 0, 0, 102, 102, 102, 0,
516 0, 104, 0, 0, 109, 108, 115, 0, 0, 117,
517 0, 0, 0, 0, 0, 0, 0, 0, 142, 142,
518 142, 0, 122, 121, 142, 142, 0, 0, 144, 0,
519 187, 187, 187, 187, 0, 161, 160, 187, 0, 149,
520 148, 0, 0, 187, 187, 187, 187, 187, 187, 187,
521 0, 0, 189, 0, 212, 212, 212, 212, 0, 194,
522 193, 0, 0, 212, 212, 0, 0, 214, 0, 225,
523 0, 219, 218, 0, 0, 227, 0, 256, 0, 232,
524 231, 256, 256, 256, 0, 0, 258, 0, 0, 0,
525 0, 0, 273, 0, 0, 275, 0, 0, 0, 0,
527 294, 294, 0, 0, 294, 0, 0, 296, 0, 311,
528 0, 301, 300, 0, 0, 313, 0, 0, 0, 328,
529 328, 0, 0, 0, 0, 330, 0, 345, 345, 345,
530 345, 0, 0, 347, 0, 0, 356, 0, 0, 358,
531 0, 0, 363, 362, 0, 0, 369, 0, 0, 374,
532 373, 380, 0, 0, 382, 0, 0, 0, 391, 385,
533 0, 0, 0, 23, 0, 0, 0, 0, 0, 0,
534 119, 0, 229, 192, 0, 0, 371, 0, 0, 0,
535 0, 0, 0, 0, 191, 0, 0, 0, 0, 0,
536 0, 0, 49, 0, 0, 79, 0, 59, 58, 0,
538 0, 0, 57, 56, 79, 0, 0, 79, 0, 372,
539 102, 0, 0, 102, 0, 115, 0, 116, 0, 0,
540 120, 230, 0, 0, 0, 142, 142, 0, 0, 142,
541 142, 0, 187, 187, 187, 187, 0, 0, 0, 163,
542 162, 187, 187, 187, 187, 187, 187, 187, 0, 212,
543 212, 212, 212, 0, 202, 201, 212, 212, 0, 225,
544 0, 256, 256, 256, 256, 0, 0, 265, 264, 0,
545 263, 262, 273, 0, 229, 0, 282, 281, 294, 294,
546 0, 280, 279, 294, 0, 311, 0, 0, 320, 319,
547 328, 328, 0, 318, 317, 0, 345, 0, 0, 345,
549 345, 0, 0, 356, 0, 0, 380, 0, 0, 0,
550 0, 12, 0, 388, 389, 0, 23, 0, 0, 0,
551 0, 0, 0, 119, 0, 229, 0, 192, 0, 0,
552 371, 0, 260, 39, 0, 0, 0, 0, 191, 0,
553 38, 0, 30, 29, 0, 0, 43, 42, 49, 0,
554 0, 79, 0, 61, 60, 79, 0, 65, 64, 79,
555 0, 372, 102, 0, 0, 0, 0, 0, 0, 115,
556 0, 0, 120, 230, 261, 261, 260, 142, 142, 0,
557 126, 125, 0, 0, 0, 0, 142, 0, 187, 0,
558 0, 187, 187, 0, 159, 158, 0, 0, 187, 187,
560 187, 187, 187, 187, 0, 212, 0, 0, 212, 212,
561 0, 0, 212, 0, 225, 0, 256, 256, 256, 0,
562 0, 256, 0, 273, 0, 0, 294, 294, 294, 0,
563 311, 0, 328, 328, 0, 345, 0, 335, 334, 345,
564 345, 0, 0, 0, 0, 0, 0, 0, 0, 0,
565 0, 0, 0, 11, 0, 23, 0, 0, 0, 0,
566 0, 361, 0, 0, 0, 0, 53, 260, 216, 39,
567 0, 360, 52, 0, 0, 0, 38, 0, 0, 49,
568 0, 0, 79, 79, 79, 0, 102, 0, 0, 0,
569 0, 0, 0, 0, 0, 0, 96, 95, 0, 115,
571 0, 0, 261, 217, 142, 142, 0, 124, 123, 0,
572 0, 0, 142, 0, 143, 187, 0, 171, 170, 0,
573 0, 187, 0, 157, 156, 0, 0, 187, 187, 187,
574 187, 0, 0, 0, 212, 0, 198, 197, 0, 0,
575 212, 0, 196, 195, 212, 0, 213, 225, 0, 256,
576 256, 256, 0, 0, 0, 256, 0, 257, 273, 0,
577 0, 0, 0, 0, 0, 294, 0, 311, 0, 0,
578 0, 0, 0, 0, 345, 345, 345, 0, 0, 0,
579 352, 351, 0, 0, 0, 376, 375, 0, 381, 0,
580 0, 0, 0, 0, 0, 0, 277, 0, 0, 147,
582 361, 28, 0, 0, 333, 53, 216, 0, 360, 52,
583 146, 27, 332, 0, 0, 49, 0, 0, 50, 79,
584 0, 0, 79, 0, 0, 0, 0, 0, 0, 0,
585 0, 0, 0, 0, 0, 0, 0, 0, 0, 278,
586 0, 217, 142, 142, 0, 0, 142, 187, 0, 173,
587 172, 187, 0, 151, 150, 0, 0, 187, 187, 187,
588 0, 153, 152, 0, 212, 0, 200, 199, 212, 212,
589 225, 0, 256, 0, 0, 256, 256, 0, 0, 256,
590 273, 0, 274, 0, 0, 286, 285, 0, 284, 283,
591 294, 0, 311, 0, 0, 324, 323, 0, 322, 321,
593 0, 345, 345, 345, 0, 0, 0, 0, 0, 0,
594 0, 17, 0, 19, 18, 0, 277, 349, 0, 147,
595 28, 298, 16, 333, 0, 146, 27, 332, 0, 0,
596 49, 396, 79, 0, 67, 66, 79, 0, 80, 0,
597 98, 97, 0, 0, 0, 0, 0, 0, 0, 0,
598 0, 0, 0, 0, 111, 110, 278, 0, 142, 142,
599 0, 0, 0, 0, 142, 187, 187, 0, 155, 154,
600 187, 187, 187, 0, 212, 212, 212, 225, 0, 226,
601 256, 0, 238, 237, 256, 256, 0, 0, 0, 0,
602 256, 273, 299, 294, 0, 311, 0, 0, 0, 0,
604 345, 345, 0, 350, 0, 0, 368, 0, 0, 0,
605 17, 0, 349, 0, 298, 16, 0, 0, 0, 35,
606 49, 0, 0, 79, 0, 0, 0, 0, 0, 0,
607 0, 0, 0, 0, 0, 0, 142, 142, 0, 132,
608 0, 131, 142, 187, 187, 0, 0, 187, 187, 0,
609 188, 212, 212, 212, 225, 0, 0, 256, 256, 256,
610 0, 242, 0, 241, 256, 273, 299, 294, 0, 295,
611 0, 0, 0, 0, 0, 337, 336, 0, 0, 345,
612 0, 346, 350, 0, 0, 0, 0, 0, 24, 0,
613 0, 0, 49, 0, 0, 0, 79, 0, 0, 0,
615 0, 0, 0, 0, 0, 0, 0, 0, 0, 142,
616 142, 134, 133, 0, 0, 187, 187, 0, 183, 182,
617 187, 0, 0, 212, 212, 0, 0, 225, 0, 234,
618 233, 256, 256, 256, 244, 243, 0, 0, 273, 294,
619 0, 0, 0, 0, 312, 0, 0, 341, 340, 0,
620 0, 0, 357, 0, 0, 0, 315, 0, 0, 0,
621 0, 0, 0, 0, 0, 0, 0, 79, 0, 0,
622 0, 0, 88, 0, 0, 0, 0, 87, 0, 316,
623 142, 0, 0, 0, 136, 135, 187, 187, 187, 0,
624 181, 180, 212, 0, 0, 0, 208, 207, 0, 0,
626 256, 256, 256, 0, 246, 245, 0, 0, 0, 0,
627 0, 0, 0, 0, 0, 0, 0, 0, 339, 338,
628 0, 0, 0, 315, 0, 0, 0, 45, 44, 0,
629 0, 0, 0, 0, 0, 0, 0, 79, 0, 0,
630 0, 0, 0, 0, 0, 0, 0, 316, 0, 0,
631 142, 0, 138, 137, 187, 187, 187, 212, 0, 204,
632 203, 0, 221, 220, 256, 0, 0, 256, 0, 0,
633 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
634 0, 0, 0, 0, 0, 84, 83, 0, 0, 0,
635 0, 0, 0, 0, 0, 0, 0, 0, 0, 94,
637 0, 0, 0, 93, 0, 0, 0, 128, 127, 142,
638 187, 187, 187, 212, 256, 0, 240, 239, 256, 0,
639 0, 0, 0, 0, 0, 0, 0, 0, 0, 303,
640 0, 0, 302, 0, 329, 0, 0, 0, 0, 0,
641 0, 84, 83, 0, 0, 0, 0, 0, 0, 0,
642 0, 0, 63, 62, 0, 0, 0, 0, 0, 0,
643 0, 142, 187, 187, 0, 0, 212, 0, 0, 0,
644 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
645 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
646 75, 71, 0, 0, 74, 70, 0, 92, 0, 0,
648 91, 0, 0, 0, 103, 142, 187, 187, 0, 0,
649 0, 212, 0, 236, 235, 0, 0, 0, 269, 0,
650 268, 0, 290, 0, 289, 0, 305, 307, 304, 306,
651 0, 0, 0, 12, 0, 12, 0, 0, 0, 0,
652 0, 86, 90, 85, 89, 142, 187, 187, 0, 0,
653 0, 0, 212, 0, 0, 0, 0, 267, 266, 288,
654 287, 0, 0, 0, 0, 0, 0, 0, 0, 0,
655 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
656 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
657 0, 0, 69, 0, 68, 0, 0, 130, 129, 0,
659 179, 178, 0, 0, 0, 0, 0, 0, 0, 0,
660 0, 0, 206, 205, 0, 0, 0, 0, 0, 0,
661 0, 11, 0, 0, 0, 0, 0, 0, 0, 0,
662 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
663 0, 73, 72, 0, 0, 0, 0, 0, 0, 0,
664 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
665 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
666 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
667 0, 0, 0, 165, 0, 0, 164, 0, 0, 248,
668 0, 0, 247, 0, 0, 0, 0, 0, 169, 0,
670 168, 0, 250, 0, 249, 0, 0, 0, 0, 0,
671 0, 0, 0, 0, 0, 0, 0, 175, 0, 174,
672 0, 0, 0, 0, 0, 0, 177, 176, 167, 166,
673 252, 251, 0, 0, 0, 0, 0, 0, 0, 0,
674 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0,
678 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
679 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
681 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
682 0, 0, 0, 0, 0, 0, 0, 0, 13, 0
685 static yyconst flex_int32_t yy_ec[256] =
687 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
688 1, 2, 4, 1, 1, 1, 1, 1, 1, 1,
689 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
690 1, 2, 5, 6, 7, 1, 1, 8, 9, 1,
691 1, 1, 1, 1, 10, 11, 12, 13, 13, 13,
692 13, 14, 13, 13, 13, 15, 13, 16, 17, 18,
693 19, 20, 21, 1, 22, 23, 24, 25, 26, 27,
694 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
695 31, 38, 39, 40, 41, 42, 43, 44, 45, 31,
696 46, 1, 47, 1, 48, 1, 49, 50, 51, 52,
698 53, 54, 55, 56, 57, 31, 58, 59, 60, 61,
699 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
700 72, 31, 1, 1, 1, 1, 1, 1, 1, 1,
701 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
702 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
703 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
704 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
705 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
706 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
707 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
709 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
710 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
711 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
712 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
713 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
717 static yyconst flex_int32_t yy_meta[73] =
719 1, 2, 2, 2, 1, 1, 1, 1, 1, 3,
720 3, 1, 4, 4, 4, 5, 6, 1, 7, 8,
721 1, 9, 9, 9, 9, 9, 9, 5, 5, 5,
722 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
723 5, 5, 5, 5, 5, 1, 1, 5, 9, 9,
724 9, 9, 9, 9, 5, 5, 5, 5, 5, 5,
725 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
729 static yyconst flex_int16_t yy_base[2714] =
731 0, 0, 0, 3, 6, 9, 12, 29, 16, 19,
732 14, 17, 33, 36, 49, 55, 45, 61, 66, 72,
733 108, 177, 75, 78, 83, 128, 131, 134, 138, 141,
734 158, 197, 200, 203, 207, 210, 227, 230, 233, 236,
735 239, 256, 274, 328, 294, 297, 382, 445, 305, 351,
736 508, 574, 300, 354, 358, 361, 402, 405, 408, 412,
737 640, 707, 415, 465, 774, 839, 468, 471, 475, 478,
738 528, 531, 534, 538, 541, 594, 597, 600, 604, 607,
739 660, 663, 666, 670, 673, 727, 730, 733, 737, 740,
740 794, 797, 800, 804, 807, 859, 904, 970, 862, 865,
742 869, 872, 924, 927, 930, 934, 1036, 0, 990, 993,
743 1108, 0, 996, 1000, 1180, 1237, 1200, 1203, 1294, 1360,
744 1206, 1210, 1257, 1260, 1263, 1267, 1314, 1317, 1426, 1492,
745 1320, 1324, 1327, 1380, 1383, 1386, 1390, 1393, 1558, 1624,
746 1446, 1449, 1452, 1456, 1459, 1512, 1515, 1518, 1690, 1747,
747 1522, 1525, 1804, 1870, 1578, 1581, 1584, 1588, 1591, 1644,
748 1647, 1650, 1936, 2002, 1654, 1657, 1710, 1713, 1716, 1720,
749 1723, 1767, 2068, 2137, 1770, 1773, 2206, 2263, 1777, 1780,
750 1824, 1827, 1830, 1834, 1837, 1890, 2320, 2389, 1893, 1896,
751 0, 0, 6569, 8061, 8061, 95, 100, 29, 41, 8061,
753 103, 51, 8061, 8061, 6558, 8061, 8061, 6543, 8061, 6558,
754 6558, 498, 8061, 8061, 8061, 8061, 6554, 6554, 6509, 145,
755 8061, 161, 6531, 0, 146, 8061, 6497, 8061, 166, 2454,
756 88, 204, 205, 254, 6537, 3, 8061, 169, 6526, 0,
757 153, 8061, 6488, 8061, 260, 419, 8061, 322, 6524, 0,
758 244, 8061, 6482, 6486, 6484, 420, 6487, 8061, 364, 6513,
759 0, 248, 8061, 6479, 6475, 257, 6477, 360, 8061, 440,
760 31, 6513, 6459, 8061, 567, 6501, 0, 306, 8061, 6461,
761 6458, 6449, 8061, 624, 482, 8061, 633, 6493, 0, 416,
762 8061, 6458, 6447, 8061, 692, 1908, 1909, 6449, 35, 6481,
764 240, 135, 740, 950, 59, 6490, 152, 8061, 697, 6481,
765 0, 417, 8061, 6429, 6435, 6444, 6429, 6423, 8061, 700,
766 6477, 181, 8061, 764, 6466, 0, 479, 8061, 6416, 300,
767 6422, 6427, 6429, 185, 436, 439, 8061, 767, 546, 8061,
768 824, 6457, 0, 483, 8061, 6405, 6403, 6410, 6415, 6417,
769 6403, 6395, 8061, 830, 611, 8061, 833, 6441, 0, 543,
770 8061, 6398, 6403, 8061, 889, 612, 8061, 895, 6434, 0,
771 545, 8061, 6404, 6398, 6400, 434, 8061, 898, 6436, 210,
772 8061, 937, 6423, 0, 609, 8061, 6376, 279, 8061, 954,
773 626, 6429, 6379, 8061, 961, 6417, 0, 685, 8061, 6370,
775 6361, 306, 8061, 1020, 6418, 560, 8061, 1026, 6409, 0,
776 742, 8061, 6369, 6373, 8061, 1213, 752, 8061, 1230, 6404,
777 0, 751, 8061, 6353, 6348, 6352, 8061, 1270, 6402, 693,
778 8061, 1287, 6393, 0, 808, 8061, 6344, 6345, 6349, 6338,
779 8061, 1344, 304, 512, 310, 8061, 1352, 6382, 0, 809,
780 8061, 6352, 8061, 1355, 1331, 8061, 1410, 6380, 0, 873,
781 8061, 6343, 8061, 1418, 6382, 527, 8061, 1421, 6373, 0,
782 874, 8061, 6338, 6340, 8061, 1477, 1397, 1480, 451, 6317,
783 8061, 6373, 6362, 8061, 8061, 8061, 1474, 317, 6314, 6311,
784 6309, 6356, 6312, 8061, 0, 6305, 6306, 6327, 6300, 6292,
786 620, 6297, 6297, 6300, 30, 697, 6289, 621, 897, 6314,
787 757, 6291, 901, 6282, 822, 967, 1170, 8061, 0, 6279,
788 6280, 8061, 0, 6277, 1899, 6266, 646, 6263, 6309, 8061,
789 0, 6263, 1958, 6252, 6273, 6256, 6264, 6262, 6258, 6244,
790 1227, 8061, 0, 6255, 6242, 6253, 6234, 8061, 0, 1966,
791 6228, 6273, 6255, 6217, 6226, 6230, 963, 6243, 1288, 1354,
792 8061, 0, 6232, 882, 1976, 6210, 6226, 6218, 8061, 0,
793 6224, 6220, 2022, 6202, 2025, 6199, 6191, 6207, 6207, 6186,
794 6204, 6203, 6193, 6195, 8061, 0, 6196, 6192, 6177, 2028,
795 6171, 6163, 6183, 6168, 8061, 0, 6164, 2031, 6160, 8061,
797 0, 6163, 2034, 6152, 6169, 6168, 6153, 8061, 0, 6144,
798 6159, 5767, 5761, 5767, 8061, 0, 5756, 5774, 5770, 5760,
799 5797, 8061, 0, 5753, 2088, 5757, 8061, 0, 5748, 5765,
800 5754, 5754, 8061, 0, 5741, 5727, 5732, 5737, 5722, 5718,
801 8061, 0, 5719, 5728, 8061, 0, 2091, 5720, 8061, 0,
802 2094, 5710, 5705, 5746, 5751, 1200, 5700, 8061, 1533, 0,
803 5692, 5692, 5735, 5726, 5680, 8061, 5691, 5673, 1903, 2100,
804 1549, 5674, 5665, 5658, 5657, 5651, 5664, 5649, 5656, 5658,
805 5644, 5641, 5633, 5650, 5637, 5635, 1552, 5585, 5598, 5594,
806 5584, 5595, 5586, 2097, 2161, 5585, 2158, 1678, 5579, 5603,
808 2165, 2168, 8061, 5573, 2171, 1858, 2176, 5564, 2226, 5567,
809 5570, 5573, 2234, 2237, 5548, 5549, 5555, 5555, 2240, 2285,
810 2288, 2119, 5532, 2291, 2297, 1618, 5535, 5530, 5530, 5516,
811 1798, 5515, 5513, 5516, 5506, 5517, 2294, 2127, 5515, 5487,
812 2340, 2343, 5481, 1553, 2300, 2190, 5481, 2349, 2352, 2367,
813 5479, 5477, 5472, 5457, 5458, 5454, 5458, 2409, 2412, 5450,
814 948, 5441, 2415, 2370, 2418, 5442, 5427, 2421, 2424, 5427,
815 2436, 2378, 2445, 2450, 5439, 2459, 2477, 5433, 5410, 5407,
816 2465, 2470, 2489, 2495, 2520, 2498, 2526, 5411, 2529, 2532,
817 2538, 2541, 2550, 2561, 5405, 2564, 2569, 2583, 2587, 2590,
819 2593, 2602, 2611, 2614, 5406, 5388, 5394, 5387, 2620, 2623,
820 5395, 5377, 2626, 2633, 2645, 2648, 2658, 2663, 2666, 2670,
821 5369, 2687, 2690, 5416, 8061, 8061, 1011, 5367, 8061, 5408,
822 5406, 5343, 8061, 8061, 5341, 5338, 5345, 2693, 2697, 8061,
823 2700, 1741, 5338, 5330, 5348, 5329, 5327, 5313, 5319, 5314,
824 5305, 5298, 687, 5312, 5295, 5303, 5298, 5299, 1924, 5283,
825 5285, 5278, 698, 5290, 2712, 2719, 2724, 8061, 2730, 2733,
826 2678, 8061, 8061, 2738, 5311, 2743, 2756, 8061, 2762, 5270,
827 2765, 8061, 8061, 2775, 2781, 2789, 2793, 2800, 5282, 2811,
828 5276, 2814, 2817, 8061, 2820, 819, 5273, 2823, 5270, 2829,
830 2841, 8061, 2844, 2848, 8061, 8061, 5264, 2856, 2863, 8061,
831 2866, 5255, 5266, 5236, 5244, 5230, 5229, 5223, 5226, 5232,
832 2869, 2876, 8061, 8061, 5209, 5220, 2887, 2892, 8061, 2895,
833 5204, 5192, 5203, 5195, 2899, 8061, 8061, 2907, 2914, 8061,
834 8061, 2925, 2928, 5176, 5183, 5187, 5176, 5170, 5168, 5154,
835 2936, 2939, 8061, 2943, 5151, 5147, 5135, 5150, 2946, 8061,
836 8061, 2962, 2965, 5135, 5142, 2973, 2976, 8061, 2980, 5140,
837 2983, 8061, 8061, 2995, 2999, 8061, 3002, 5120, 3014, 8061,
838 8061, 5110, 5109, 5111, 3005, 3010, 8061, 3024, 3032, 3036,
839 3044, 3050, 5110, 3058, 3062, 8061, 3069, 5103, 3065, 3077,
841 5081, 5080, 3072, 3090, 5091, 3098, 3101, 8061, 3104, 5091,
842 3107, 8061, 8061, 3123, 3126, 8061, 3129, 3132, 3136, 5071,
843 5071, 3151, 3154, 3162, 3169, 8061, 3172, 5067, 3175, 5081,
844 5061, 3181, 3184, 8061, 3193, 5058, 5062, 3196, 3203, 8061,
845 3206, 3215, 8061, 8061, 3225, 3228, 8061, 3234, 3237, 8061,
846 8061, 5061, 3247, 3254, 8061, 3260, 929, 3266, 8061, 8061,
847 5095, 5094, 5055, 5046, 3269, 5038, 5034, 5027, 5016, 5025,
848 1930, 5012, 1994, 1984, 5018, 5018, 1997, 5007, 5013, 5012,
849 5006, 4989, 4983, 4980, 2059, 4987, 4986, 3273, 3279, 3294,
850 3297, 3300, 4985, 5010, 3308, 4982, 3315, 8061, 8061, 3323,
852 3328, 3337, 8061, 8061, 4980, 3345, 3348, 4973, 3358, 2062,
853 4963, 3363, 3366, 3377, 3381, 4958, 3384, 8061, 4939, 4938,
854 2198, 2201, 4949, 4940, 4922, 4925, 4906, 3387, 3391, 3405,
855 3409, 3413, 4913, 3416, 4893, 4903, 3419, 3437, 3445, 8061,
856 8061, 3423, 4879, 4896, 4877, 4864, 4876, 4851, 3456, 4872,
857 3459, 4852, 4860, 3462, 8061, 8061, 3470, 4867, 3479, 4855,
858 3482, 4838, 4842, 4831, 3488, 3492, 3502, 8061, 8061, 3511,
859 8061, 8061, 4819, 3521, 3427, 3524, 8061, 8061, 4817, 4832,
860 3536, 8061, 8061, 4810, 3544, 4809, 3549, 3552, 8061, 8061,
861 4804, 4814, 3564, 8061, 8061, 3572, 4807, 3575, 3578, 4795,
863 4789, 3593, 4776, 3596, 3599, 3606, 3614, 3620, 923, 4813,
864 3625, 8061, 4812, 8061, 8061, 4768, 4768, 3628, 4757, 4767,
865 4750, 4751, 4747, 2244, 4745, 2312, 4744, 2485, 4732, 4725,
866 2492, 4726, 3587, 3632, 4729, 4713, 4709, 4708, 3635, 4693,
867 3639, 3647, 8061, 8061, 3655, 3659, 8061, 8061, 4700, 4715,
868 3668, 4685, 3687, 8061, 8061, 4676, 3695, 8061, 8061, 4665,
869 3682, 3703, 4661, 3706, 1578, 1640, 3714, 3722, 3732, 4668,
870 4653, 4646, 3735, 3738, 3743, 3746, 3751, 4661, 4648, 3754,
871 8061, 8061, 3762, 3765, 3773, 3780, 4654, 3776, 4656, 3791,
872 3795, 3803, 4635, 3811, 8061, 8061, 3821, 3824, 3832, 4639,
874 4645, 4637, 4613, 3835, 3839, 4591, 3842, 3846, 3854, 4579,
875 3860, 3863, 4584, 3872, 4572, 3878, 4580, 4558, 4574, 3881,
876 3884, 4573, 3892, 4559, 3899, 4572, 3905, 3911, 3914, 3918,
877 4532, 3923, 3932, 3937, 3942, 4525, 3951, 8061, 8061, 4527,
878 4505, 3945, 4513, 3964, 3971, 3985, 3989, 3992, 3997, 4010,
879 818, 1273, 981, 8061, 4498, 4013, 4016, 4500, 4490, 4512,
880 4482, 4019, 4457, 4429, 4426, 4424, 4022, 4025, 4031, 4035,
881 4428, 4038, 4045, 4397, 4386, 4369, 4048, 4331, 4051, 4330,
882 4357, 4054, 4301, 4057, 4303, 4060, 4063, 4250, 4234, 583,
883 4221, 4075, 4037, 1189, 4007, 4066, 8061, 8061, 4081, 4085,
885 3931, 3944, 4088, 4091, 3733, 3739, 4096, 8061, 8061, 4104,
886 112, 139, 163, 4112, 8061, 250, 4115, 8061, 8061, 4123,
887 4131, 324, 4141, 8061, 8061, 4149, 4152, 4160, 377, 387,
888 440, 4163, 4167, 4181, 503, 4184, 8061, 8061, 4192, 4196,
889 622, 4204, 8061, 8061, 640, 4212, 8061, 674, 4215, 750,
890 4218, 775, 4221, 788, 852, 832, 4236, 8061, 846, 4239,
891 853, 4242, 4245, 4260, 4265, 878, 4273, 924, 4279, 4282,
892 4285, 4293, 4300, 4311, 952, 1136, 1165, 4314, 1164, 4317,
893 8061, 8061, 4325, 4333, 4340, 8061, 8061, 4348, 8061, 1256,
894 1259, 1466, 1170, 4352, 4355, 4363, 4370, 1186, 1206, 4382,
896 4387, 4390, 1216, 1227, 4393, 4396, 4399, 1263, 4402, 4405,
897 4408, 4411, 4414, 1271, 4417, 1282, 1303, 4420, 8061, 1311,
898 4423, 4427, 1342, 4441, 4444, 4447, 1364, 1361, 1365, 1380,
899 1399, 1422, 1426, 1426, 1433, 1426, 4455, 4462, 4465, 4474,
900 1409, 4480, 1416, 1409, 1507, 1514, 1426, 1431, 4483, 8061,
901 8061, 1430, 4491, 8061, 8061, 4499, 4505, 1456, 1460, 1473,
902 4513, 8061, 8061, 4521, 1476, 4524, 8061, 8061, 1470, 1498,
903 1507, 4532, 1533, 4535, 4540, 1543, 1535, 1573, 1639, 1557,
904 1567, 4553, 8061, 1562, 4556, 8061, 8061, 4565, 8061, 8061,
905 1589, 4573, 1594, 4576, 4579, 8061, 8061, 4588, 8061, 8061,
907 4596, 4599, 1611, 1607, 4602, 1611, 4605, 4608, 4611, 1668,
908 1666, 4617, 4633, 8061, 8061, 4642, 4645, 4648, 1617, 4651,
909 4654, 4657, 4661, 4667, 1628, 4670, 4673, 4676, 1645, 4679,
910 1654, 8061, 4682, 4685, 8061, 8061, 1662, 4693, 8061, 4701,
911 8061, 8061, 1708, 1695, 1713, 1708, 1720, 1738, 1738, 1760,
912 1755, 1763, 4712, 4715, 8061, 8061, 4723, 1722, 1735, 1743,
913 1770, 1797, 1793, 1826, 1790, 1787, 1791, 4727, 8061, 8061,
914 4735, 1785, 1796, 4738, 1796, 1801, 1804, 1805, 4741, 8061,
915 4744, 4747, 8061, 8061, 1808, 1804, 1841, 1863, 1859, 1895,
916 1856, 1861, 4762, 1863, 4765, 4768, 4773, 4776, 4779, 4797,
918 4786, 1860, 4805, 4808, 4811, 4815, 8061, 4819, 1932, 1909,
919 4824, 4838, 4841, 1848, 4844, 4847, 1858, 1863, 4850, 8061,
920 1863, 4853, 4857, 1906, 1922, 1923, 1939, 1927, 1943, 1946,
921 1943, 1958, 1970, 2001, 4865, 1973, 1976, 1979, 2040, 8061,
922 2042, 8061, 4871, 1985, 2006, 4877, 4885, 1996, 4895, 4898,
923 8061, 1990, 1993, 4901, 2001, 4904, 4907, 2030, 2046, 2047,
924 2102, 8061, 2100, 8061, 4925, 2052, 4928, 2053, 4931, 8061,
925 4934, 4937, 4945, 4952, 4955, 8061, 8061, 4964, 4967, 4975,
926 4978, 8061, 4982, 4985, 2107, 2096, 2114, 4988, 8061, 2065,
927 2066, 2071, 4993, 4997, 2324, 2340, 2064, 2102, 2113, 2158,
929 2164, 2181, 2159, 2169, 2173, 2176, 2222, 5007, 2179, 2162,
930 5011, 8061, 8061, 5014, 5019, 2163, 2187, 5032, 8061, 8061,
931 2194, 5040, 5043, 2183, 5051, 5054, 5058, 5072, 5075, 8061,
932 8061, 2199, 2205, 2202, 8061, 8061, 5083, 5086, 5094, 5097,
933 5101, 2683, 2713, 5115, 8061, 5118, 5121, 8061, 8061, 5129,
934 5137, 5147, 8061, 2259, 2423, 2486, 5150, 2210, 2211, 5153,
935 5156, 2247, 2270, 2429, 2274, 2282, 2485, 2287, 2332, 2322,
936 2338, 2343, 8061, 2363, 2388, 2386, 2391, 8061, 5166, 5171,
937 5174, 5177, 5185, 5195, 8061, 8061, 2394, 2383, 2399, 5203,
938 8061, 8061, 2408, 5211, 5214, 5222, 8061, 8061, 5230, 5233,
940 2398, 5241, 2409, 5244, 8061, 8061, 5252, 5255, 5263, 5266,
941 2446, 2473, 2478, 2480, 2489, 2489, 5274, 5277, 8061, 8061,
942 2535, 2556, 5285, 5180, 2470, 2471, 5289, 8061, 8061, 2527,
943 2515, 2521, 2530, 2537, 2526, 2527, 2541, 5297, 2534, 2555,
944 2573, 2560, 2559, 2586, 2601, 2597, 5304, 5307, 5310, 5316,
945 2566, 5328, 8061, 8061, 2578, 2574, 2566, 2585, 5336, 8061,
946 8061, 5344, 8061, 8061, 2588, 5354, 5357, 2570, 5365, 2674,
947 2708, 5373, 2716, 2727, 2612, 2621, 2652, 2620, 2636, 2666,
948 5381, 2657, 5384, 5387, 5390, 5409, 5412, 2670, 2680, 2687,
949 2690, 2695, 2730, 2745, 2734, 5415, 5418, 2746, 2750, 8061,
951 2756, 2759, 2759, 8061, 2768, 5426, 5429, 8061, 8061, 2742,
952 2744, 2748, 5437, 2750, 5440, 5445, 8061, 8061, 5458, 2774,
953 2802, 2793, 2809, 2800, 2812, 2803, 2815, 2818, 2829, 8061,
954 2821, 2836, 8061, 5461, 8061, 2857, 5464, 5467, 5476, 5496,
955 5543, 5486, 5507, 2838, 2868, 2869, 2844, 2862, 2883, 2891,
956 2864, 5516, 8061, 8061, 2900, 2880, 2881, 2912, 2889, 2891,
957 5533, 2866, 2874, 2884, 5537, 5524, 2877, 5555, 5563, 5573,
958 5576, 2945, 2914, 2945, 2918, 2952, 2921, 2953, 2931, 2966,
959 2967, 2979, 2981, 2990, 5591, 3023, 3012, 5611, 5658, 2977,
960 8061, 8061, 2956, 2981, 8061, 8061, 2986, 8061, 3025, 3031,
962 8061, 3032, 3040, 5584, 8061, 2997, 3004, 2986, 5599, 3120,
963 3123, 3024, 5631, 8061, 8061, 5639, 3141, 3154, 8061, 3081,
964 8061, 3079, 8061, 3084, 8061, 3086, 8061, 8061, 8061, 8061,
965 3092, 3205, 3077, 3108, 3182, 3106, 5648, 3102, 3093, 3105,
966 3096, 8061, 8061, 8061, 8061, 5652, 5670, 5678, 3126, 3094,
967 3181, 3112, 5681, 3192, 3115, 3193, 3132, 8061, 8061, 8061,
968 8061, 5688, 3206, 3199, 3233, 5691, 3238, 3225, 3243, 3231,
969 5684, 5710, 5718, 5721, 5729, 5732, 3219, 3227, 3243, 3226,
970 3245, 3257, 5743, 5747, 3244, 3257, 3269, 3253, 3261, 3283,
971 5755, 3287, 8061, 3274, 8061, 3279, 5761, 8061, 8061, 5770,
973 8061, 8061, 5778, 3296, 3306, 3278, 3287, 3291, 3301, 3311,
974 3317, 5786, 8061, 8061, 3319, 3325, 3325, 3334, 3340, 3336,
975 3357, 8061, 3370, 3383, 3376, 3370, 3381, 3376, 3384, 3409,
976 3410, 3407, 3419, 3419, 3420, 3427, 3427, 3425, 3431, 3441,
977 3449, 8061, 8061, 3430, 3455, 3439, 3465, 3456, 3456, 3473,
978 3463, 3460, 3478, 3472, 3469, 3491, 3481, 3478, 3496, 3517,
979 3492, 3493, 3495, 3496, 3509, 3506, 3553, 3534, 3525, 3554,
980 3539, 3534, 3566, 3557, 3548, 3577, 3585, 3563, 3578, 3582,
981 3588, 3614, 3592, 8061, 3637, 3614, 8061, 3648, 3622, 8061,
982 3655, 3633, 8061, 3661, 3632, 3648, 3637, 3651, 8061, 3651,
984 8061, 3653, 8061, 3666, 8061, 3674, 5794, 3677, 3705, 3687,
985 3705, 3675, 3676, 3678, 3683, 5797, 3723, 8061, 3721, 8061,
986 3726, 3734, 3745, 3750, 3753, 3812, 8061, 8061, 8061, 8061,
987 8061, 8061, 3752, 3780, 3811, 3891, 3869, 3879, 3771, 3943,
988 3750, 3809, 3885, 3917, 3857, 3884, 3871, 3950, 3850, 3944,
989 3798, 4024, 4057, 4066, 4089, 4091, 3958, 4076, 3792, 3961,
990 4119, 4137, 3977, 4118, 4061, 4116, 4110, 4139, 4157, 4171,
991 3949, 4183, 3965, 4169, 4092, 4140, 3741, 4189, 4208, 4213,
992 4233, 4235, 3941, 4209, 4287, 4313, 4211, 4285, 4305, 4367,
993 4240, 4288, 4414, 4432, 4290, 4291, 4121, 4302, 4321, 4418,
995 4434, 4440, 4312, 4318, 4452, 4468, 4501, 4520, 4493, 4509,
996 4528, 4550, 4512, 4670, 4435, 3851, 5805, 5808, 8061, 8061,
997 5828, 5837, 5846, 5855, 5864, 5873, 5882, 5891, 5900, 5909,
998 5918, 5927, 5936, 5945, 5954, 5963, 5972, 5981, 5990, 5999,
999 6008, 6017, 6026, 6035, 6044, 6053, 6062, 6071, 6080, 6089,
1000 6098, 6107, 6116, 6125, 6134, 6143, 6152, 6161, 6170, 6179,
1001 6188, 6197, 6204, 6211, 6218, 6225, 6232, 6239, 6246, 6253,
1002 6260, 6267, 6274, 6281, 6288, 6295, 6302, 6309, 6316, 6323,
1003 6330, 6339, 6346, 6351, 6358, 6363, 6370, 6375, 6382, 6387,
1004 6394, 6399, 6406, 6411, 6418, 6423, 6430, 6435, 6442, 6447,
1006 6454, 6459, 6466, 6471, 6478, 6483, 6490, 6495, 6502, 6507,
1007 6514, 6519, 6526, 6531, 6538, 6543, 6550, 6555, 6562, 6567,
1008 6576, 6582, 6589, 6597, 6604, 6612, 6619, 6627, 6634, 6642,
1009 6649, 6657, 6664, 6672, 6679, 6687, 6694, 6702, 6709, 6717,
1010 6724, 6732, 6739, 6747, 6755, 6763, 6771, 6779, 6786, 6794,
1011 6802, 6810, 6817, 6825, 6832, 6840, 6848, 6855, 6863, 6872,
1012 6878, 6885, 6893, 6901, 6909, 6917, 6925, 6932, 6940, 6947,
1013 6955, 6962, 6970, 6977, 6985, 6992, 7000, 7007, 7015, 7022,
1014 7030, 7037, 7045, 7052, 7060, 7067, 7075, 7082, 7090, 7097,
1015 7105, 7112, 7120, 7127, 7135, 7143, 7150, 7158, 7167, 7176,
1017 7183, 7191, 7199, 7206, 7214, 7221, 7229, 7236, 7244, 7251,
1018 7258, 7266, 7273, 7281, 7288, 7296, 7303, 7311, 7318, 7326,
1019 7333, 7341, 7348, 7356, 7363, 7371, 7378, 7386, 7393, 7401,
1020 7409, 7417, 7425, 7433, 7441, 7450, 7459, 7466, 7474, 7482,
1021 7489, 7497, 7504, 7512, 7519, 7527, 7534, 7541, 7549, 7556,
1022 7564, 7571, 7579, 7586, 7594, 7601, 7609, 7616, 7624, 7632,
1023 7640, 7647, 7655, 7663, 7671, 7678, 7686, 7694, 7702, 7710,
1024 7719, 7728, 7736, 7744, 7752, 7759, 7767, 7774, 7782, 7790,
1025 7798, 7806, 7813, 7820, 7828, 7835, 7842, 7850, 7857, 7864,
1026 7872, 7879, 7887, 7894, 7902, 7910, 7917, 7925, 7933, 7941,
1028 7950, 7959, 7967, 7975, 7982, 7989, 7997, 8006, 8015, 8024,
1032 static yyconst flex_int16_t yy_def[2714] =
1034 2421, 2421, 2422, 2422, 2422, 2422, 2423, 2423, 2424, 2424,
1035 2425, 2425, 2426, 2426, 2426, 2426, 2427, 2427, 2421, 2421,
1036 2428, 2428, 2429, 2429, 2429, 2429, 2421, 2421, 2429, 2429,
1037 2429, 2429, 2421, 2421, 2429, 2429, 2421, 2421, 2429, 2429,
1038 2429, 2429, 2430, 2430, 2431, 2431, 2432, 2432, 2426, 2426,
1039 2433, 2433, 2434, 2434, 2421, 2421, 2434, 2434, 2434, 2434,
1040 2435, 2435, 2436, 2436, 2437, 2437, 2438, 2438, 2438, 2438,
1041 2421, 2421, 2438, 2438, 2438, 2438, 2421, 2421, 2438, 2438,
1042 2421, 2421, 2438, 2438, 2438, 2438, 2421, 2421, 2438, 2438,
1043 2421, 2421, 2438, 2438, 2438, 2438, 2439, 2439, 2440, 2440,
1045 2421, 2421, 2440, 2440, 2440, 2440, 2420, 107, 2441, 2441,
1046 2420, 111, 2442, 2442, 2443, 2443, 2444, 2444, 2445, 2445,
1047 2446, 2446, 2421, 2421, 2446, 2446, 2446, 2446, 2447, 2447,
1048 2448, 2448, 2421, 2421, 2448, 2448, 2448, 2448, 2449, 2449,
1049 2450, 2450, 2421, 2421, 2450, 2450, 2450, 2450, 2451, 2451,
1050 2452, 2452, 2453, 2453, 2454, 2454, 2421, 2421, 2454, 2454,
1051 2454, 2454, 2455, 2455, 2456, 2456, 2421, 2421, 2456, 2456,
1052 2456, 2456, 2457, 2457, 2458, 2458, 2459, 2459, 2460, 2460,
1053 2421, 2421, 2460, 2460, 2460, 2460, 2461, 2461, 2462, 2462,
1054 2421, 2421, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420,
1056 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420,
1057 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420,
1058 2420, 2420, 2420, 2463, 2420, 2420, 2463, 2420, 2420, 2420,
1059 230, 230, 230, 230, 233, 233, 2420, 2420, 2420, 2464,
1060 2420, 2420, 2464, 2420, 2420, 2420, 2420, 2420, 2420, 2465,
1061 2420, 2420, 2465, 2465, 2465, 2420, 2420, 2420, 2420, 2420,
1062 2466, 2420, 2420, 2466, 2466, 2466, 2466, 2466, 2420, 2420,
1063 233, 271, 271, 2420, 2420, 2420, 2467, 2420, 2420, 2467,
1064 2467, 2467, 2420, 2420, 2420, 2420, 2420, 2420, 2468, 2420,
1065 2420, 2468, 2468, 2420, 2420, 234, 271, 234, 296, 297,
1067 297, 297, 297, 303, 304, 303, 303, 2420, 2420, 2420,
1068 2469, 2420, 2420, 2469, 2469, 2469, 2469, 2469, 2420, 2420,
1069 271, 271, 2420, 2420, 2420, 2470, 2420, 2420, 2470, 2470,
1070 2470, 2470, 2470, 2470, 2470, 2470, 2420, 2420, 2420, 2420,
1071 2420, 2420, 2471, 2420, 2420, 2471, 2471, 2471, 2471, 2471,
1072 2471, 2471, 2420, 2420, 2420, 2420, 2420, 2420, 2472, 2420,
1073 2420, 2472, 2472, 2420, 2420, 2420, 2420, 2420, 2420, 2473,
1074 2420, 2420, 2473, 2473, 2473, 2473, 2420, 2420, 271, 271,
1075 2420, 2420, 2420, 2474, 2420, 2420, 2474, 2474, 2420, 2420,
1076 271, 391, 391, 2420, 2420, 2420, 2475, 2420, 2420, 2475,
1078 2475, 2475, 2420, 2420, 391, 391, 2420, 2420, 2420, 2476,
1079 2420, 2420, 2476, 2476, 2420, 2420, 2420, 2420, 2420, 2420,
1080 2477, 2420, 2420, 2477, 2477, 2477, 2420, 2420, 391, 391,
1081 2420, 2420, 2420, 2478, 2420, 2420, 2478, 2478, 2478, 2478,
1082 2420, 2420, 271, 271, 271, 2420, 2420, 2420, 2479, 2420,
1083 2420, 2479, 2420, 2420, 2420, 2420, 2420, 2420, 2480, 2420,
1084 2420, 2480, 2420, 2420, 271, 271, 2420, 2420, 2420, 2481,
1085 2420, 2420, 2481, 2481, 2420, 2420, 2420, 2420, 2482, 2420,
1086 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420,
1087 2420, 2420, 2420, 2420, 2483, 2483, 2484, 2420, 2420, 2420,
1089 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420,
1090 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2485, 2485,
1091 2486, 2420, 2487, 2487, 2487, 2487, 2420, 2488, 2420, 2420,
1092 2489, 2489, 2489, 2489, 2489, 2489, 2489, 2489, 2489, 2490,
1093 2420, 2420, 2491, 2491, 2491, 2491, 2492, 2420, 2493, 2493,
1094 2493, 2494, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420,
1095 2420, 2495, 2495, 2495, 2495, 2495, 2495, 2496, 2420, 2497,
1096 2497, 2497, 2497, 2497, 2497, 2497, 2497, 2497, 2497, 2497,
1097 2497, 2497, 2497, 2498, 2420, 2499, 2499, 2499, 2499, 2499,
1098 2499, 2499, 2499, 2500, 2420, 2501, 2501, 2501, 2502, 2420,
1100 2503, 2503, 2503, 2503, 2503, 2503, 2504, 2420, 2505, 2505,
1101 2505, 2505, 2506, 2420, 2420, 2507, 2507, 2507, 2507, 2507,
1102 2508, 2420, 2509, 2509, 2509, 2510, 2420, 2511, 2511, 2511,
1103 2511, 2512, 2420, 2513, 2513, 2513, 2513, 2513, 2514, 2420,
1104 2420, 2515, 2515, 2516, 2420, 2517, 2517, 2518, 2420, 2519,
1105 2519, 2519, 2520, 2521, 2420, 2521, 2420, 2420, 2420, 2522,
1106 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2523, 2524, 2524,
1107 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420,
1108 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420,
1109 2420, 2420, 2525, 2526, 2526, 2527, 2420, 2420, 2527, 2420,
1111 2528, 2528, 2420, 2529, 2420, 2420, 2529, 2529, 2529, 2529,
1112 2529, 2529, 2530, 2530, 2420, 2531, 2531, 2531, 2532, 2532,
1113 2420, 2420, 2533, 2534, 2534, 2420, 2420, 2420, 2420, 2420,
1114 2420, 2420, 2420, 2535, 2535, 2535, 2420, 2420, 2535, 2535,
1115 2536, 2536, 2537, 2537, 2420, 2420, 2537, 2420, 2420, 2537,
1116 2537, 2537, 2537, 2537, 2537, 2537, 2537, 2538, 2538, 2539,
1117 2539, 2539, 2420, 2420, 2539, 2539, 2539, 2540, 2540, 2541,
1118 2420, 2420, 2542, 2542, 2543, 2420, 2420, 2543, 2543, 2543,
1119 2544, 2544, 2545, 2545, 2545, 2546, 2546, 2420, 2547, 2547,
1120 2547, 2547, 2548, 2548, 2549, 2420, 2420, 2550, 2550, 2551,
1122 2551, 2551, 2552, 2552, 2553, 2553, 2553, 2553, 2554, 2554,
1123 2420, 2555, 2556, 2556, 2420, 2420, 2557, 2557, 2420, 2420,
1124 2558, 2559, 2559, 2560, 2420, 2420, 2560, 2420, 2420, 2561,
1125 2420, 2420, 2420, 2420, 2420, 2420, 2562, 2420, 2563, 2420,
1126 2563, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420,
1127 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420,
1128 2420, 2420, 2420, 2420, 2564, 2420, 2565, 2420, 2565, 2566,
1129 2420, 2420, 2420, 2566, 2420, 2420, 2567, 2420, 2567, 2568,
1130 2420, 2420, 2420, 2420, 2420, 2568, 2420, 2420, 2568, 2568,
1131 2568, 2420, 2569, 2420, 2569, 2420, 2570, 2570, 2570, 2420,
1133 2571, 2420, 2571, 2420, 2420, 2420, 2572, 2420, 2573, 2420,
1134 2573, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2574, 2574,
1135 2574, 2420, 2420, 2420, 2574, 2574, 2420, 2575, 2420, 2575,
1136 2576, 2576, 2576, 2576, 2420, 2420, 2420, 2576, 2420, 2420,
1137 2420, 2420, 2420, 2576, 2576, 2576, 2576, 2576, 2576, 2576,
1138 2420, 2577, 2420, 2577, 2578, 2578, 2578, 2578, 2420, 2420,
1139 2420, 2420, 2420, 2578, 2578, 2420, 2579, 2420, 2579, 2580,
1140 2420, 2420, 2420, 2420, 2581, 2420, 2581, 2582, 2420, 2420,
1141 2420, 2582, 2582, 2582, 2420, 2583, 2420, 2583, 2420, 2420,
1142 2420, 2420, 2584, 2420, 2585, 2420, 2585, 2420, 2420, 2420,
1144 2586, 2586, 2420, 2420, 2586, 2420, 2587, 2420, 2587, 2588,
1145 2420, 2420, 2420, 2420, 2589, 2420, 2589, 2420, 2420, 2590,
1146 2590, 2420, 2420, 2420, 2591, 2420, 2591, 2592, 2592, 2592,
1147 2592, 2420, 2593, 2420, 2593, 2420, 2594, 2420, 2595, 2420,
1148 2595, 2420, 2420, 2420, 2420, 2596, 2420, 2596, 2420, 2420,
1149 2420, 2597, 2420, 2598, 2420, 2598, 2599, 2600, 2420, 2420,
1150 2420, 2420, 2420, 2601, 2602, 2420, 2420, 2420, 2420, 2420,
1151 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420,
1152 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2603,
1153 2420, 2420, 2604, 2420, 2605, 2606, 2420, 2420, 2420, 2420,
1155 2420, 2420, 2420, 2420, 2606, 2420, 2420, 2606, 2607, 2420,
1156 2608, 2420, 2420, 2608, 2609, 2610, 2420, 2420, 2420, 2420,
1157 2420, 2420, 2420, 2420, 2420, 2611, 2611, 2420, 2420, 2611,
1158 2611, 2612, 2613, 2613, 2613, 2613, 2420, 2420, 2420, 2420,
1159 2420, 2613, 2613, 2613, 2613, 2613, 2613, 2613, 2614, 2615,
1160 2615, 2615, 2615, 2420, 2420, 2420, 2615, 2615, 2616, 2617,
1161 2618, 2619, 2619, 2619, 2619, 2620, 2420, 2420, 2420, 2420,
1162 2420, 2420, 2621, 2622, 2420, 2420, 2420, 2420, 2623, 2623,
1163 2420, 2420, 2420, 2623, 2624, 2625, 2626, 2420, 2420, 2420,
1164 2627, 2627, 2420, 2420, 2420, 2628, 2629, 2420, 2420, 2629,
1166 2629, 2630, 2420, 2631, 2632, 2633, 2634, 2635, 2636, 2637,
1167 2637, 2420, 2637, 2420, 2420, 2420, 2638, 2639, 2420, 2420,
1168 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420,
1169 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420,
1170 2420, 2420, 2420, 2420, 2640, 2420, 2420, 2420, 2641, 2420,
1171 2642, 2643, 2420, 2420, 2420, 2643, 2420, 2420, 2420, 2643,
1172 2644, 2420, 2645, 2420, 2420, 2420, 2420, 2420, 2646, 2647,
1173 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2648, 2648, 2420,
1174 2420, 2420, 2420, 2420, 2420, 2420, 2648, 2649, 2650, 2420,
1175 2420, 2650, 2650, 2420, 2420, 2420, 2420, 2420, 2650, 2650,
1177 2650, 2650, 2650, 2650, 2651, 2652, 2420, 2420, 2652, 2652,
1178 2420, 2420, 2652, 2653, 2654, 2655, 2656, 2656, 2656, 2420,
1179 2420, 2656, 2657, 2658, 2659, 2420, 2660, 2660, 2660, 2661,
1180 2662, 2663, 2664, 2664, 2665, 2666, 2420, 2420, 2420, 2666,
1181 2666, 2667, 2420, 2420, 2420, 2668, 2669, 2420, 2420, 2670,
1182 2671, 2672, 2672, 2420, 2420, 2673, 2674, 2420, 2420, 2420,
1183 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420,
1184 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2675, 2676,
1185 2420, 2677, 2678, 2678, 2678, 2679, 2680, 2420, 2420, 2420,
1186 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2681, 2682,
1188 2420, 2420, 2420, 2420, 2683, 2683, 2420, 2420, 2420, 2420,
1189 2420, 2420, 2683, 2420, 2420, 2684, 2420, 2420, 2420, 2420,
1190 2420, 2684, 2420, 2420, 2420, 2420, 2420, 2684, 2684, 2684,
1191 2684, 2420, 2420, 2685, 2686, 2420, 2420, 2420, 2420, 2420,
1192 2686, 2420, 2420, 2420, 2686, 2420, 2420, 2687, 2688, 2689,
1193 2689, 2689, 2420, 2420, 2420, 2689, 2420, 2420, 2690, 2691,
1194 2420, 2420, 2420, 2420, 2420, 2692, 2693, 2694, 2695, 2420,
1195 2420, 2420, 2420, 2696, 2697, 2697, 2697, 2698, 2420, 2420,
1196 2420, 2420, 2699, 2700, 2420, 2420, 2420, 2420, 2420, 2701,
1197 2702, 2702, 2420, 2420, 2420, 2703, 2420, 2420, 2420, 2420,
1199 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420,
1200 2420, 2420, 2420, 2420, 2704, 2705, 2420, 2420, 2420, 2706,
1201 2420, 2420, 2706, 2707, 2420, 2420, 2420, 2420, 2420, 2420,
1202 2420, 2420, 2420, 2420, 2420, 2420, 2681, 2420, 2420, 2420,
1203 2420, 2420, 2683, 2683, 2420, 2420, 2683, 2684, 2420, 2420,
1204 2420, 2684, 2420, 2420, 2420, 2420, 2420, 2684, 2684, 2684,
1205 2420, 2420, 2420, 2685, 2686, 2420, 2420, 2420, 2686, 2686,
1206 2687, 2688, 2689, 2420, 2420, 2689, 2689, 2420, 2420, 2689,
1207 2690, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420,
1208 2692, 2693, 2694, 2695, 2420, 2420, 2420, 2420, 2420, 2420,
1210 2696, 2697, 2697, 2697, 2698, 2420, 2699, 2700, 2701, 2702,
1211 2702, 2420, 2420, 2420, 2420, 2703, 2420, 2420, 2420, 2420,
1212 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2704,
1213 2705, 2420, 2706, 2420, 2420, 2420, 2706, 2420, 2420, 2420,
1214 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420,
1215 2420, 2420, 2681, 2420, 2420, 2420, 2420, 2420, 2683, 2683,
1216 2420, 2420, 2420, 2420, 2683, 2684, 2684, 2420, 2420, 2420,
1217 2684, 2684, 2684, 2685, 2686, 2686, 2686, 2687, 2420, 2420,
1218 2689, 2420, 2420, 2420, 2689, 2689, 2420, 2420, 2420, 2420,
1219 2689, 2690, 2420, 2692, 2693, 2694, 2695, 2696, 2420, 2420,
1221 2697, 2697, 2698, 2420, 2699, 2420, 2420, 2701, 2702, 2702,
1222 2420, 2703, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420,
1223 2705, 2420, 2420, 2706, 2420, 2420, 2420, 2420, 2420, 2420,
1224 2420, 2420, 2420, 2420, 2681, 2420, 2683, 2683, 2420, 2420,
1225 2420, 2420, 2683, 2684, 2684, 2420, 2420, 2684, 2684, 2420,
1226 2420, 2686, 2686, 2686, 2687, 2420, 2420, 2689, 2689, 2689,
1227 2420, 2420, 2420, 2420, 2689, 2690, 2420, 2692, 2420, 2420,
1228 2420, 2420, 2695, 2696, 2420, 2420, 2420, 2420, 2420, 2697,
1229 2420, 2420, 2420, 2699, 2701, 2702, 2702, 2420, 2420, 2420,
1230 2420, 2420, 2705, 2420, 2420, 2420, 2706, 2420, 2420, 2420,
1232 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2681, 2420, 2683,
1233 2683, 2420, 2420, 2420, 2420, 2684, 2684, 2420, 2420, 2420,
1234 2684, 2420, 2420, 2686, 2686, 2420, 2420, 2687, 2420, 2420,
1235 2420, 2689, 2689, 2689, 2420, 2420, 2420, 2420, 2690, 2692,
1236 2420, 2420, 2420, 2420, 2420, 2696, 2420, 2420, 2420, 2420,
1237 2420, 2420, 2420, 2701, 2702, 2702, 2420, 2420, 2420, 2420,
1238 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2706, 2420, 2420,
1239 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2681, 2420,
1240 2683, 2420, 2420, 2420, 2420, 2420, 2684, 2684, 2684, 2420,
1241 2420, 2420, 2686, 2420, 2420, 2420, 2420, 2420, 2420, 2420,
1243 2689, 2689, 2689, 2420, 2420, 2420, 2420, 2420, 2420, 2420,
1244 2420, 2420, 2420, 2420, 2420, 2420, 2696, 2420, 2420, 2420,
1245 2701, 2702, 2702, 2420, 2420, 2420, 2420, 2420, 2420, 2420,
1246 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2706, 2420, 2420,
1247 2420, 2420, 2420, 2420, 2420, 2420, 2681, 2420, 2420, 2420,
1248 2683, 2420, 2420, 2420, 2684, 2684, 2684, 2686, 2420, 2420,
1249 2420, 2420, 2420, 2420, 2689, 2420, 2420, 2689, 2420, 2420,
1250 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420,
1251 2696, 2701, 2702, 2702, 2702, 2420, 2420, 2420, 2420, 2420,
1252 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420,
1254 2420, 2420, 2420, 2420, 2420, 2681, 2420, 2420, 2420, 2683,
1255 2684, 2684, 2684, 2686, 2689, 2420, 2420, 2420, 2689, 2420,
1256 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420,
1257 2420, 2420, 2420, 2420, 2420, 2701, 2702, 2702, 2702, 2708,
1258 2709, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420,
1259 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420,
1260 2681, 2683, 2684, 2684, 2420, 2420, 2686, 2420, 2420, 2420,
1261 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420,
1262 2420, 2420, 2420, 2701, 2702, 2710, 2711, 2708, 2709, 2420,
1263 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420,
1265 2420, 2420, 2420, 2420, 2420, 2683, 2684, 2684, 2420, 2420,
1266 2420, 2686, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420,
1267 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420,
1268 2701, 2710, 2702, 2712, 2711, 2713, 2702, 2420, 2420, 2420,
1269 2420, 2420, 2420, 2420, 2420, 2683, 2684, 2684, 2420, 2420,
1270 2420, 2420, 2686, 2420, 2420, 2420, 2420, 2420, 2420, 2420,
1271 2420, 2701, 2712, 2420, 2713, 2702, 2420, 2420, 2420, 2420,
1272 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420,
1273 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420,
1274 2701, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420,
1276 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420,
1277 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420,
1278 2701, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420,
1279 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420,
1280 2701, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420,
1281 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2701,
1282 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420,
1283 2420, 2420, 2420, 2420, 2420, 2420, 2701, 2420, 2420, 2420,
1284 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420,
1285 2420, 2420, 2420, 2701, 2420, 2420, 2420, 2420, 2420, 2420,
1287 2420, 2420, 2420, 2420, 2420, 2420, 2701, 2420, 2420, 2420,
1288 2420, 2420, 2420, 2420, 2420, 2701, 2420, 2420, 2420, 2420,
1289 2420, 2420, 2420, 2420, 2701, 2701, 2420, 2420, 2420, 2420,
1290 2420, 2420, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701,
1291 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701,
1292 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701,
1293 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701,
1294 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701,
1295 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701,
1296 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701,
1298 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701,
1299 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2420, 0,
1300 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420,
1301 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420,
1302 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420,
1303 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420,
1304 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420,
1305 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420,
1306 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420,
1307 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420,
1309 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420,
1310 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420,
1311 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420,
1312 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420,
1313 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420,
1314 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420,
1315 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420,
1316 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420,
1317 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420,
1318 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420,
1320 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420,
1321 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420,
1322 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420,
1323 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420,
1324 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420,
1325 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420,
1326 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420,
1327 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420,
1328 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420,
1329 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420,
1331 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420,
1335 static yyconst flex_int16_t yy_nxt[8134] =
1337 2420, 196, 197, 196, 196, 197, 196, 196, 197, 196,
1338 196, 197, 196, 201, 197, 201, 207, 198, 204, 207,
1339 198, 204, 2420, 199, 2420, 205, 199, 2420, 205, 202,
1340 201, 197, 201, 479, 208, 210, 211, 208, 210, 211,
1341 212, 213, 540, 212, 213, 479, 202, 217, 218, 480,
1342 214, 210, 211, 214, 215, 482, 212, 210, 211, 512,
1343 215, 481, 212, 217, 218, 513, 214, 197, 197, 197,
1344 552, 481, 214, 197, 197, 197, 229, 197, 229, 229,
1345 197, 229, 679, 220, 229, 197, 229, 512, 680, 220,
1346 502, 219, 230, 541, 681, 230, 478, 478, 478, 509,
1348 231, 478, 478, 478, 478, 478, 478, 219, 221, 222,
1349 197, 222, 221, 221, 221, 221, 221, 221, 221, 223,
1350 221, 221, 221, 557, 221, 225, 221, 226, 221, 229,
1351 197, 229, 197, 197, 197, 197, 197, 197, 508, 229,
1352 197, 229, 229, 197, 229, 231, 2420, 1545, 232, 482,
1353 482, 232, 509, 221, 221, 230, 510, 482, 230, 229,
1354 197, 229, 478, 478, 478, 481, 481, 478, 478, 478,
1355 478, 478, 478, 481, 1546, 233, 227, 221, 222, 197,
1356 222, 221, 221, 221, 221, 221, 221, 221, 223, 221,
1357 221, 221, 568, 221, 225, 221, 226, 221, 229, 197,
1359 229, 197, 197, 197, 197, 197, 197, 493, 229, 197,
1360 229, 229, 197, 229, 233, 2420, 509, 234, 514, 1547,
1361 234, 607, 221, 221, 231, 510, 510, 231, 197, 197,
1362 197, 197, 197, 197, 229, 197, 229, 229, 197, 229,
1363 229, 197, 229, 513, 235, 227, 577, 235, 482, 578,
1364 233, 2420, 482, 233, 511, 515, 236, 229, 197, 229,
1365 512, 478, 478, 478, 481, 2420, 513, 516, 481, 509,
1366 514, 514, 513, 236, 237, 238, 197, 238, 237, 237,
1367 237, 237, 237, 237, 237, 239, 237, 237, 237, 500,
1368 237, 241, 237, 242, 237, 245, 197, 245, 245, 197,
1370 245, 270, 197, 270, 508, 534, 1548, 210, 211, 535,
1371 482, 246, 212, 536, 246, 639, 517, 271, 509, 237,
1372 237, 639, 256, 478, 478, 478, 481, 243, 237, 238,
1373 197, 238, 237, 237, 237, 237, 237, 237, 237, 239,
1374 237, 237, 237, 611, 237, 241, 237, 242, 237, 572,
1375 612, 257, 640, 210, 211, 270, 197, 270, 212, 197,
1376 197, 197, 197, 197, 197, 478, 478, 478, 256, 573,
1377 619, 271, 513, 237, 237, 272, 661, 620, 272, 662,
1378 1552, 243, 247, 248, 197, 248, 247, 247, 247, 247,
1379 247, 247, 247, 249, 247, 247, 247, 257, 247, 251,
1381 247, 252, 247, 270, 197, 270, 270, 197, 270, 270,
1382 197, 270, 538, 270, 197, 270, 284, 197, 284, 271,
1383 482, 482, 271, 482, 527, 273, 539, 247, 247, 273,
1384 521, 528, 285, 1558, 1559, 253, 481, 481, 254, 481,
1385 481, 478, 478, 478, 255, 247, 248, 197, 248, 247,
1386 247, 247, 247, 247, 247, 247, 249, 247, 247, 247,
1387 655, 247, 251, 247, 252, 247, 284, 197, 284, 295,
1388 197, 295, 295, 197, 295, 656, 295, 197, 295, 295,
1389 197, 295, 285, 482, 579, 296, 482, 482, 296, 605,
1390 247, 247, 297, 547, 581, 297, 1560, 580, 253, 481,
1392 606, 254, 481, 481, 487, 582, 583, 255, 258, 259,
1393 197, 259, 258, 258, 258, 258, 258, 258, 258, 260,
1394 258, 258, 258, 2420, 258, 262, 258, 263, 258, 197,
1395 197, 197, 197, 197, 197, 295, 197, 295, 648, 295,
1396 197, 295, 295, 197, 295, 298, 488, 482, 298, 482,
1397 482, 299, 489, 258, 258, 299, 490, 584, 300, 1565,
1398 640, 491, 264, 481, 265, 481, 481, 266, 478, 478,
1399 478, 621, 267, 268, 258, 259, 197, 259, 258, 258,
1400 258, 258, 258, 258, 258, 260, 258, 258, 258, 513,
1401 258, 262, 258, 263, 258, 295, 197, 295, 197, 197,
1403 197, 197, 197, 197, 1529, 295, 197, 295, 295, 197,
1404 295, 300, 1530, 482, 301, 482, 482, 301, 504, 258,
1405 258, 297, 594, 599, 297, 478, 478, 478, 264, 481,
1406 265, 481, 481, 266, 478, 478, 478, 613, 267, 268,
1407 274, 275, 197, 275, 274, 274, 274, 274, 274, 274,
1408 274, 276, 274, 274, 274, 655, 274, 278, 274, 279,
1409 274, 197, 197, 197, 197, 197, 197, 295, 197, 295,
1410 1569, 295, 197, 295, 295, 197, 295, 302, 674, 674,
1411 302, 675, 685, 300, 614, 274, 274, 300, 513, 482,
1412 303, 700, 280, 478, 478, 478, 1570, 281, 478, 478,
1414 478, 478, 478, 478, 632, 481, 282, 274, 275, 197,
1415 275, 274, 274, 274, 274, 274, 274, 274, 276, 274,
1416 274, 274, 1571, 274, 278, 274, 279, 274, 295, 197,
1417 295, 197, 197, 197, 197, 197, 197, 1076, 295, 197,
1418 295, 295, 197, 295, 303, 682, 482, 304, 1086, 1077,
1419 304, 504, 274, 274, 305, 482, 482, 305, 683, 280,
1420 1077, 510, 481, 626, 281, 478, 478, 478, 478, 478,
1421 478, 481, 481, 282, 286, 287, 197, 287, 286, 286,
1422 286, 286, 286, 286, 286, 288, 286, 286, 286, 500,
1423 286, 290, 286, 291, 286, 197, 197, 197, 197, 197,
1425 197, 295, 197, 295, 559, 295, 197, 295, 295, 197,
1426 295, 306, 482, 482, 306, 688, 1573, 303, 675, 286,
1427 286, 303, 1577, 1578, 307, 478, 478, 478, 481, 481,
1428 292, 478, 478, 478, 478, 478, 478, 825, 293, 286,
1429 287, 197, 287, 286, 286, 286, 286, 286, 286, 286,
1430 288, 286, 286, 286, 1490, 286, 290, 286, 291, 286,
1431 295, 197, 295, 320, 197, 320, 320, 197, 320, 1086,
1432 197, 197, 197, 197, 197, 197, 307, 482, 482, 321,
1433 688, 1110, 321, 685, 286, 286, 272, 1579, 1580, 272,
1434 478, 478, 478, 481, 481, 292, 478, 478, 478, 478,
1436 478, 478, 1581, 293, 308, 309, 197, 309, 308, 308,
1437 308, 308, 308, 308, 308, 310, 308, 308, 308, 1584,
1438 308, 312, 308, 313, 308, 320, 197, 320, 320, 197,
1439 320, 320, 197, 320, 1591, 320, 197, 320, 478, 478,
1440 478, 321, 825, 735, 321, 686, 736, 322, 825, 308,
1441 308, 322, 314, 690, 315, 478, 478, 478, 683, 680,
1442 316, 2420, 478, 478, 478, 691, 317, 1351, 1209, 318,
1443 308, 309, 197, 309, 308, 308, 308, 308, 308, 308,
1444 308, 310, 308, 308, 308, 1593, 308, 312, 308, 313,
1445 308, 338, 197, 338, 338, 197, 338, 354, 197, 354,
1447 1212, 354, 197, 354, 956, 555, 503, 339, 556, 957,
1448 339, 686, 1602, 355, 560, 308, 308, 355, 314, 690,
1449 315, 478, 478, 478, 730, 680, 316, 478, 478, 478,
1450 825, 681, 317, 1492, 1057, 318, 323, 324, 197, 324,
1451 323, 323, 323, 323, 323, 323, 323, 325, 323, 323,
1452 323, 326, 323, 327, 323, 328, 323, 326, 326, 326,
1453 326, 326, 326, 326, 326, 326, 326, 326, 326, 326,
1454 326, 326, 326, 326, 326, 326, 326, 326, 326, 326,
1455 326, 323, 323, 326, 329, 330, 331, 326, 326, 326,
1456 326, 326, 332, 326, 333, 326, 326, 326, 334, 326,
1458 335, 336, 326, 326, 326, 326, 326, 326, 340, 341,
1459 197, 341, 340, 340, 340, 340, 340, 340, 340, 342,
1460 340, 340, 340, 343, 340, 344, 340, 345, 340, 343,
1461 343, 343, 343, 343, 343, 343, 343, 343, 343, 343,
1462 343, 343, 343, 343, 343, 343, 343, 343, 343, 343,
1463 343, 343, 343, 340, 340, 343, 346, 347, 348, 343,
1464 343, 343, 343, 343, 349, 343, 350, 343, 343, 343,
1465 351, 343, 343, 352, 343, 343, 343, 343, 343, 343,
1466 356, 357, 197, 357, 356, 356, 356, 356, 356, 356,
1467 356, 358, 356, 356, 356, 1603, 356, 360, 356, 361,
1469 356, 365, 197, 365, 365, 197, 365, 378, 197, 378,
1470 1534, 378, 197, 378, 478, 478, 478, 366, 1535, 825,
1471 366, 1604, 679, 379, 1606, 356, 356, 379, 680, 1612,
1472 362, 478, 478, 478, 691, 827, 363, 356, 357, 197,
1473 357, 356, 356, 356, 356, 356, 356, 356, 358, 356,
1474 356, 356, 1618, 356, 360, 356, 361, 356, 197, 197,
1475 197, 197, 197, 197, 378, 197, 378, 1619, 378, 197,
1476 378, 478, 478, 478, 272, 825, 1622, 272, 1212, 690,
1477 379, 1609, 356, 356, 379, 680, 1623, 362, 478, 478,
1478 478, 715, 1212, 363, 367, 368, 197, 368, 367, 367,
1480 367, 367, 367, 367, 367, 369, 367, 367, 367, 1610,
1481 367, 371, 367, 372, 367, 378, 197, 378, 378, 197,
1482 378, 390, 197, 390, 1625, 390, 197, 390, 197, 197,
1483 197, 380, 1629, 1491, 380, 482, 686, 391, 1631, 367,
1484 367, 391, 644, 373, 392, 478, 478, 478, 1632, 732,
1485 374, 481, 375, 478, 478, 478, 478, 478, 478, 376,
1486 367, 368, 197, 368, 367, 367, 367, 367, 367, 367,
1487 367, 369, 367, 367, 367, 1633, 367, 371, 367, 372,
1488 367, 197, 197, 197, 390, 197, 390, 390, 197, 390,
1489 1637, 390, 197, 390, 390, 197, 390, 392, 1643, 1644,
1491 391, 482, 686, 391, 1645, 367, 367, 393, 653, 373,
1492 393, 478, 478, 478, 1646, 733, 374, 481, 375, 478,
1493 478, 478, 478, 478, 478, 376, 381, 382, 197, 382,
1494 381, 381, 381, 381, 381, 381, 381, 383, 381, 381,
1495 381, 1647, 381, 385, 381, 386, 381, 404, 197, 404,
1496 404, 197, 404, 197, 197, 197, 1648, 197, 197, 197,
1497 404, 197, 404, 405, 1649, 1650, 405, 1651, 1652, 392,
1498 1658, 381, 381, 392, 1659, 1660, 405, 387, 478, 478,
1499 478, 478, 478, 478, 1665, 1212, 659, 659, 659, 1666,
1500 1667, 388, 381, 382, 197, 382, 381, 381, 381, 381,
1502 381, 381, 381, 383, 381, 381, 381, 1671, 381, 385,
1503 381, 386, 381, 404, 197, 404, 404, 197, 404, 404,
1504 197, 404, 1672, 416, 197, 416, 416, 197, 416, 405,
1505 1611, 1673, 406, 1661, 1675, 406, 1676, 381, 381, 417,
1506 1663, 1662, 417, 387, 660, 659, 659, 659, 1664, 829,
1507 842, 842, 842, 859, 859, 859, 1677, 388, 394, 395,
1508 197, 395, 394, 394, 394, 394, 394, 394, 394, 396,
1509 394, 394, 394, 1678, 394, 398, 394, 399, 394, 428,
1510 197, 428, 428, 197, 428, 197, 197, 197, 1681, 197,
1511 197, 197, 428, 197, 428, 429, 1685, 1686, 429, 1687,
1513 1388, 392, 932, 394, 394, 392, 1389, 1688, 429, 400,
1514 1390, 933, 401, 843, 1391, 1691, 843, 1692, 934, 842,
1515 842, 842, 1693, 402, 394, 395, 197, 395, 394, 394,
1516 394, 394, 394, 394, 394, 396, 394, 394, 394, 1694,
1517 394, 398, 394, 399, 394, 428, 197, 428, 428, 197,
1518 428, 428, 197, 428, 1696, 442, 197, 442, 442, 197,
1519 442, 429, 1392, 1701, 430, 1689, 1702, 430, 1393, 394,
1520 394, 443, 1394, 1690, 443, 400, 1395, 1704, 401, 871,
1521 871, 871, 912, 872, 1714, 1212, 873, 1212, 1717, 402,
1522 407, 408, 197, 408, 407, 407, 407, 407, 407, 407,
1524 407, 409, 407, 407, 407, 1718, 407, 411, 407, 412,
1525 407, 197, 197, 197, 197, 197, 197, 442, 197, 442,
1526 1721, 442, 197, 442, 442, 197, 442, 444, 1724, 1709,
1527 444, 1710, 1725, 443, 1726, 407, 407, 443, 1727, 1728,
1528 445, 413, 842, 842, 842, 1729, 414, 407, 408, 197,
1529 408, 407, 407, 407, 407, 407, 407, 407, 409, 407,
1530 407, 407, 1730, 407, 411, 407, 412, 407, 442, 197,
1531 442, 454, 197, 454, 454, 197, 454, 1731, 464, 197,
1532 464, 464, 197, 464, 445, 1732, 1733, 455, 1734, 1736,
1533 455, 1737, 407, 407, 465, 1738, 1739, 465, 413, 859,
1535 859, 859, 1740, 414, 418, 419, 197, 419, 418, 418,
1536 418, 418, 418, 418, 418, 420, 418, 418, 418, 1741,
1537 418, 422, 418, 423, 418, 197, 197, 197, 197, 197,
1538 197, 464, 197, 464, 1742, 464, 197, 464, 464, 197,
1539 464, 272, 1743, 1744, 272, 1745, 1748, 465, 1749, 418,
1540 418, 465, 1752, 1753, 466, 424, 1754, 1755, 425, 881,
1541 881, 881, 912, 882, 1759, 1760, 883, 1761, 1762, 426,
1542 418, 419, 197, 419, 418, 418, 418, 418, 418, 418,
1543 418, 420, 418, 418, 418, 1763, 418, 422, 418, 423,
1544 418, 464, 197, 464, 476, 197, 476, 476, 197, 476,
1546 697, 697, 697, 1764, 838, 838, 838, 466, 1765, 1766,
1547 477, 1768, 1780, 477, 1790, 418, 418, 698, 1791, 552,
1548 552, 424, 840, 1792, 425, 859, 859, 859, 1212, 553,
1549 558, 1224, 1224, 1224, 1793, 426, 431, 432, 197, 432,
1550 431, 431, 431, 431, 431, 431, 431, 433, 431, 431,
1551 431, 1212, 431, 435, 431, 436, 431, 554, 554, 705,
1552 705, 705, 1797, 555, 1798, 1787, 556, 721, 721, 721,
1553 1799, 513, 557, 1800, 1801, 507, 706, 737, 737, 737,
1554 1802, 431, 431, 1786, 722, 1228, 1228, 1228, 1803, 437,
1555 1804, 438, 1805, 439, 738, 1226, 1226, 1226, 1231, 1231,
1557 1231, 440, 431, 432, 197, 432, 431, 431, 431, 431,
1558 431, 431, 431, 433, 431, 431, 431, 1806, 431, 435,
1559 431, 436, 431, 745, 745, 745, 748, 748, 748, 763,
1560 763, 763, 771, 771, 771, 776, 776, 776, 1807, 1809,
1561 746, 1227, 1810, 749, 1811, 1812, 764, 431, 431, 772,
1562 1813, 1816, 777, 1817, 1821, 437, 1824, 438, 1825, 439,
1563 1239, 1239, 1239, 1262, 1262, 1262, 1828, 440, 446, 447,
1564 197, 447, 446, 446, 446, 446, 446, 446, 446, 448,
1565 446, 446, 446, 1832, 446, 450, 446, 451, 446, 796,
1566 796, 796, 815, 815, 815, 819, 819, 819, 866, 866,
1568 866, 838, 838, 838, 1833, 1834, 797, 1835, 1836, 816,
1569 1839, 1840, 820, 446, 446, 1212, 868, 1857, 1858, 840,
1570 904, 904, 904, 1859, 905, 1868, 825, 906, 922, 922,
1571 922, 1869, 923, 1212, 1870, 924, 452, 446, 447, 197,
1572 447, 446, 446, 446, 446, 446, 446, 446, 448, 446,
1573 446, 446, 1855, 446, 450, 446, 451, 446, 841, 697,
1574 697, 697, 866, 866, 866, 1854, 876, 876, 876, 876,
1575 876, 876, 705, 705, 705, 1856, 698, 884, 884, 884,
1576 868, 1871, 446, 446, 878, 1872, 1873, 878, 1874, 706,
1577 1875, 935, 935, 935, 885, 936, 1876, 1877, 937, 1273,
1579 1273, 1273, 1274, 1274, 1274, 452, 456, 457, 197, 457,
1580 456, 456, 456, 456, 456, 456, 456, 458, 456, 456,
1581 456, 869, 456, 460, 456, 461, 456, 887, 887, 887,
1582 1878, 1880, 879, 1881, 1887, 892, 892, 892, 892, 892,
1583 892, 900, 900, 900, 888, 1224, 1224, 1224, 1227, 1888,
1584 1889, 456, 456, 894, 1893, 1901, 894, 1902, 1903, 902,
1585 1925, 1926, 462, 456, 457, 197, 457, 456, 456, 456,
1586 456, 456, 456, 456, 458, 456, 456, 456, 825, 456,
1587 460, 456, 461, 456, 1930, 895, 900, 900, 900, 721,
1588 721, 721, 908, 908, 908, 737, 737, 737, 908, 908,
1590 908, 745, 745, 745, 902, 1931, 722, 1921, 456, 456,
1591 910, 1934, 738, 1226, 1226, 1226, 910, 1935, 746, 462,
1592 467, 468, 197, 468, 467, 467, 467, 467, 467, 467,
1593 467, 469, 467, 467, 467, 911, 467, 471, 467, 472,
1594 467, 927, 927, 927, 927, 927, 927, 1938, 1862, 903,
1595 748, 748, 748, 939, 939, 939, 1939, 940, 1863, 929,
1596 941, 1864, 929, 1940, 1865, 467, 467, 749, 942, 942,
1597 942, 959, 959, 959, 1866, 960, 473, 1867, 961, 971,
1598 971, 971, 1941, 972, 1942, 943, 973, 1943, 474, 467,
1599 468, 197, 468, 467, 467, 467, 467, 467, 467, 467,
1601 469, 467, 467, 467, 930, 467, 471, 467, 472, 467,
1602 951, 951, 951, 951, 951, 951, 763, 763, 763, 962,
1603 962, 962, 966, 966, 966, 966, 966, 966, 953, 1944,
1604 1945, 953, 1946, 764, 467, 467, 963, 771, 771, 771,
1605 968, 1955, 1212, 968, 1956, 473, 974, 974, 974, 1957,
1606 1932, 974, 974, 974, 772, 1958, 1965, 474, 482, 1968,
1607 776, 776, 776, 1933, 976, 497, 985, 985, 985, 976,
1608 954, 985, 985, 985, 481, 498, 969, 777, 979, 979,
1609 979, 1975, 980, 1922, 987, 981, 1228, 1228, 1228, 987,
1610 989, 989, 989, 1231, 1231, 1231, 991, 991, 991, 994,
1612 994, 994, 499, 500, 501, 1212, 1936, 990, 1976, 502,
1613 503, 977, 504, 992, 1977, 1978, 505, 996, 506, 1937,
1614 507, 2420, 2420, 2420, 1979, 1980, 988, 994, 994, 994,
1615 999, 999, 999, 2420, 2420, 2420, 1986, 1987, 2420, 1003,
1616 1003, 1003, 2420, 2420, 2420, 996, 1923, 1000, 1988, 1989,
1617 2420, 1006, 1006, 1006, 825, 1990, 1004, 1991, 1992, 2420,
1618 1993, 1994, 1006, 1006, 1006, 796, 796, 796, 1995, 1008,
1619 1011, 1011, 1011, 1998, 1012, 1212, 1999, 1013, 2000, 993,
1620 1008, 2001, 797, 1001, 1014, 1014, 1014, 997, 1014, 1014,
1621 1014, 1018, 1018, 1018, 2420, 2420, 2420, 1002, 2002, 1009,
1623 1005, 1982, 1016, 1022, 1022, 1022, 1016, 2003, 1019, 2004,
1624 1983, 2420, 1024, 1024, 1024, 1024, 1024, 1024, 2005, 2010,
1625 1023, 1032, 1032, 1032, 1032, 1032, 1032, 1038, 1038, 1038,
1626 1026, 2011, 2012, 1026, 1038, 1038, 1038, 2013, 2014, 1034,
1627 2015, 2019, 1034, 1017, 1020, 1040, 815, 815, 815, 1042,
1628 1042, 1042, 1040, 1043, 2028, 2029, 1044, 2030, 1021, 1045,
1629 1045, 1045, 2031, 816, 1045, 1045, 1045, 819, 819, 819,
1630 2032, 1049, 1049, 1049, 2033, 1050, 825, 1047, 1051, 871,
1631 871, 871, 1047, 872, 820, 1027, 873, 1035, 1053, 1053,
1632 1053, 1053, 1053, 1053, 838, 838, 838, 1041, 838, 838,
1634 838, 838, 838, 838, 2044, 2045, 1055, 1911, 2020, 1055,
1635 2036, 2046, 840, 1088, 1088, 1088, 840, 1912, 2021, 840,
1636 866, 866, 866, 1913, 1048, 866, 866, 866, 2047, 2048,
1637 1089, 866, 866, 866, 1091, 1091, 1091, 1914, 868, 2420,
1638 2420, 2420, 2022, 868, 876, 876, 876, 1915, 1065, 868,
1639 2024, 1092, 2023, 1916, 1056, 2049, 2420, 876, 876, 876,
1640 2025, 2026, 878, 876, 876, 876, 881, 881, 881, 2050,
1641 882, 2027, 2051, 883, 2055, 878, 884, 884, 884, 2056,
1642 1090, 878, 1097, 1097, 1097, 2057, 1098, 2058, 2059, 1099,
1643 1100, 1100, 1100, 885, 887, 887, 887, 2060, 2062, 1093,
1645 2063, 1102, 1102, 1102, 2064, 1103, 2067, 1101, 1104, 2072,
1646 1095, 888, 1106, 1106, 1106, 892, 892, 892, 892, 892,
1647 892, 892, 892, 892, 1112, 1112, 1112, 2073, 2074, 1107,
1648 900, 900, 900, 894, 2075, 2076, 894, 2077, 2078, 894,
1649 2079, 1113, 900, 900, 900, 900, 900, 900, 902, 904,
1650 904, 904, 2080, 905, 2081, 2082, 906, 908, 908, 908,
1651 902, 2083, 2090, 902, 908, 908, 908, 1117, 1117, 1117,
1652 1128, 1128, 1128, 2091, 2092, 910, 825, 922, 922, 922,
1653 1109, 923, 910, 2093, 924, 1118, 2094, 1129, 927, 927,
1654 927, 2095, 1115, 927, 927, 927, 927, 927, 927, 2096,
1656 935, 935, 935, 2097, 936, 2098, 929, 937, 1137, 1137,
1657 1137, 929, 2099, 2100, 929, 939, 939, 939, 2084, 940,
1658 2101, 2102, 941, 2103, 2106, 1138, 942, 942, 942, 1139,
1659 1139, 1139, 2107, 1140, 2108, 2112, 1141, 951, 951, 951,
1660 951, 951, 951, 943, 951, 951, 951, 959, 959, 959,
1661 2119, 960, 2120, 2121, 961, 953, 2122, 2123, 953, 2124,
1662 1132, 2125, 953, 962, 962, 962, 1154, 1154, 1154, 2126,
1663 1155, 2127, 2128, 1156, 966, 966, 966, 966, 966, 966,
1664 963, 966, 966, 966, 971, 971, 971, 2129, 972, 2130,
1665 2138, 973, 968, 2139, 2140, 968, 974, 974, 974, 968,
1667 974, 974, 974, 974, 974, 974, 985, 985, 985, 825,
1668 1149, 985, 985, 985, 976, 979, 979, 979, 976, 980,
1669 2133, 976, 981, 2141, 987, 985, 985, 985, 2133, 987,
1670 2142, 2136, 1159, 989, 989, 989, 2143, 1167, 1167, 1167,
1671 2144, 1168, 2134, 987, 1169, 991, 991, 991, 2145, 2146,
1672 990, 1170, 1170, 1170, 2131, 1171, 2147, 2148, 1172, 994,
1673 994, 994, 992, 994, 994, 994, 999, 999, 999, 1161,
1674 994, 994, 994, 1003, 1003, 1003, 2153, 996, 1176, 1176,
1675 1176, 996, 1177, 1000, 1166, 1178, 2158, 2159, 996, 2160,
1676 1004, 1181, 1181, 1181, 2161, 1182, 1212, 1213, 1183, 1006,
1678 1006, 1006, 1006, 1006, 1006, 1006, 1006, 1006, 1011, 1011,
1679 1011, 825, 1012, 2164, 2164, 1013, 2167, 1008, 2168, 2169,
1680 1008, 2170, 2179, 1008, 1014, 1014, 1014, 1014, 1014, 1014,
1681 1014, 1014, 1014, 1018, 1018, 1018, 1174, 1188, 1188, 1188,
1682 2182, 1189, 1016, 2187, 1190, 1016, 2149, 2177, 1016, 2151,
1683 1019, 2162, 1022, 1022, 1022, 1193, 1193, 1193, 2150, 1194,
1684 2190, 2152, 1195, 1024, 1024, 1024, 2178, 2154, 1185, 1023,
1685 1024, 1024, 1024, 1024, 1024, 1024, 1198, 1198, 1198, 2155,
1686 2156, 1026, 1032, 1032, 1032, 1032, 1032, 1032, 1026, 1187,
1687 2133, 1026, 2157, 1199, 1032, 1032, 1032, 1038, 1038, 1038,
1689 1034, 2136, 2180, 1034, 1038, 1038, 1038, 1038, 1038, 1038,
1690 2133, 2164, 1034, 2185, 2188, 1040, 1042, 1042, 1042, 2192,
1691 1043, 2181, 1040, 1044, 2134, 1040, 1045, 1045, 1045, 1045,
1692 1045, 1045, 2186, 2189, 1196, 1045, 1045, 1045, 1049, 1049,
1693 1049, 2164, 1050, 2193, 1047, 1051, 2194, 1047, 1053, 1053,
1694 1053, 2195, 2196, 1047, 1202, 1053, 1053, 1053, 2206, 2207,
1695 1205, 1053, 1053, 1053, 2208, 2209, 1055, 1211, 1211, 1211,
1696 838, 838, 838, 1055, 1088, 1088, 1088, 2210, 2211, 1055,
1697 1242, 1242, 1242, 2215, 1243, 1212, 1213, 1244, 840, 2216,
1698 2217, 1089, 2218, 2219, 1206, 866, 866, 866, 1091, 1091,
1700 1091, 1246, 1246, 1246, 2220, 1247, 2222, 2223, 1248, 876,
1701 876, 876, 2224, 868, 2229, 1092, 1097, 1097, 1097, 2230,
1702 1098, 1208, 2225, 1099, 1100, 1100, 1100, 878, 2231, 1253,
1703 1253, 1253, 2227, 1254, 2226, 1218, 1255, 2232, 1102, 1102,
1704 1102, 1101, 1103, 2233, 2228, 1104, 1106, 1106, 1106, 1257,
1705 1257, 1257, 1245, 1258, 2234, 2235, 1259, 2236, 1251, 892,
1706 892, 892, 2237, 1107, 1112, 1112, 1112, 1264, 1264, 1264,
1707 2238, 1265, 2239, 2240, 1266, 2242, 825, 894, 1267, 1267,
1708 1267, 1113, 900, 900, 900, 1117, 1117, 1117, 1128, 1128,
1709 1128, 2243, 1280, 1280, 1280, 1268, 1281, 2244, 2245, 1282,
1711 902, 2241, 2246, 1118, 2247, 1129, 1283, 1283, 1283, 1261,
1712 1285, 1285, 1285, 2248, 927, 927, 927, 1290, 1290, 1290,
1713 1137, 1137, 1137, 1284, 1297, 1297, 1297, 1286, 1226, 1226,
1714 1226, 1269, 929, 2249, 1291, 2250, 2251, 1138, 1294, 1294,
1715 1294, 1298, 1295, 2252, 2253, 1296, 1139, 1139, 1139, 2254,
1716 1140, 2255, 2256, 1141, 2257, 2258, 1287, 951, 951, 951,
1717 1307, 1307, 1307, 1154, 1154, 1154, 2259, 1155, 825, 2261,
1718 1156, 1311, 1311, 1311, 1326, 953, 2262, 1308, 2263, 1288,
1719 966, 966, 966, 974, 974, 974, 2264, 2260, 1312, 1320,
1720 1320, 1320, 2265, 985, 985, 985, 2266, 2267, 968, 2268,
1722 2269, 976, 2270, 1167, 1167, 1167, 1321, 1168, 2271, 2272,
1723 1169, 987, 1170, 1170, 1170, 2273, 1171, 2274, 2275, 1172,
1724 2276, 1305, 994, 994, 994, 1176, 1176, 1176, 2278, 1177,
1725 2279, 2280, 1178, 2281, 2282, 1322, 825, 1181, 1181, 1181,
1726 996, 1182, 2283, 1314, 1183, 1006, 1006, 1006, 1316, 1323,
1727 1014, 1014, 1014, 1188, 1188, 1188, 2277, 1189, 2284, 2285,
1728 1190, 2286, 2287, 1008, 2288, 1193, 1193, 1193, 1016, 1194,
1729 2289, 2290, 1195, 1024, 1024, 1024, 1198, 1198, 1198, 1337,
1730 1337, 1337, 2291, 1338, 2292, 2293, 1339, 1325, 1368, 1368,
1731 1368, 1026, 2295, 1199, 1032, 1032, 1032, 1344, 1344, 1344,
1733 1038, 1038, 1038, 2296, 825, 1330, 1332, 1045, 1045, 1045,
1734 2294, 2297, 1034, 2298, 1345, 1348, 1348, 1348, 1040, 2299,
1735 1335, 1053, 1053, 1053, 2300, 1047, 1211, 1211, 1211, 838,
1736 838, 838, 1349, 1370, 1370, 1370, 1239, 1239, 1239, 1055,
1737 1377, 1377, 1377, 1342, 1212, 2301, 2302, 840, 1242, 1242,
1738 1242, 1369, 1243, 2303, 2304, 1244, 866, 866, 866, 1347,
1739 1246, 1246, 1246, 2305, 1247, 2306, 1346, 1248, 2308, 876,
1740 876, 876, 2309, 2310, 868, 2311, 2312, 1352, 2313, 1371,
1741 825, 1357, 1350, 892, 892, 892, 1378, 878, 1253, 1253,
1742 1253, 2314, 1254, 1353, 2307, 1255, 1257, 1257, 1257, 2315,
1744 1258, 894, 2317, 1259, 1262, 1262, 1262, 1264, 1264, 1264,
1745 2318, 1265, 2319, 2320, 1266, 1267, 1267, 1267, 2321, 2322,
1746 1382, 2323, 1379, 1396, 1396, 1396, 2324, 1397, 2327, 2328,
1747 1398, 2329, 1268, 900, 900, 900, 1273, 1273, 1273, 1274,
1748 1274, 1274, 2330, 1386, 1403, 1403, 1403, 1403, 1403, 1403,
1749 2331, 902, 1368, 1368, 1368, 1280, 1280, 1280, 2332, 1281,
1750 825, 2343, 1282, 1283, 1283, 1283, 1407, 1407, 1407, 825,
1751 1408, 825, 825, 1409, 1285, 1285, 1285, 1414, 1414, 1414,
1752 1284, 1410, 1410, 1410, 1399, 1411, 2341, 1544, 1412, 1543,
1753 825, 1286, 1290, 1290, 1290, 1415, 1417, 1417, 1417, 825,
1755 1418, 2379, 2361, 1419, 1420, 1420, 1420, 1404, 2333, 1291,
1756 1369, 825, 1294, 1294, 1294, 1404, 1295, 825, 2335, 1296,
1757 2344, 1421, 1297, 1297, 1297, 1423, 1423, 1423, 825, 1424,
1758 825, 825, 1425, 1426, 1426, 1426, 1432, 1432, 1432, 1298,
1759 951, 951, 951, 1307, 1307, 1307, 2336, 1436, 1436, 1436,
1760 1427, 1437, 2353, 1433, 1438, 1439, 1439, 1439, 953, 2417,
1761 1308, 1311, 1311, 1311, 1442, 1442, 1442, 2334, 1443, 825,
1762 825, 1444, 1440, 1446, 1446, 1446, 825, 2337, 1312, 974,
1763 974, 974, 1320, 1320, 1320, 1453, 1453, 1453, 825, 1454,
1764 825, 1447, 1455, 1457, 1457, 1457, 2345, 976, 825, 1321,
1766 994, 994, 994, 825, 825, 1434, 1462, 1462, 1462, 2351,
1767 825, 1458, 1464, 1464, 1464, 2420, 2420, 2420, 996, 1006,
1768 1006, 1006, 2347, 1463, 1014, 1014, 1014, 2349, 2346, 1465,
1769 1449, 2339, 2420, 1470, 1470, 1470, 825, 1008, 1472, 1472,
1770 1472, 2340, 1016, 1024, 1024, 1024, 1032, 1032, 1032, 2348,
1771 1471, 1460, 1337, 1337, 1337, 1473, 1338, 2338, 2342, 1339,
1772 825, 1026, 825, 825, 1034, 1344, 1344, 1344, 825, 825,
1773 1469, 2362, 1480, 1480, 1480, 2375, 1481, 825, 1466, 1482,
1774 825, 1541, 1345, 1540, 825, 1467, 1038, 1038, 1038, 2385,
1775 1045, 1045, 1045, 1348, 1348, 1348, 825, 1478, 1485, 1485,
1777 1485, 2373, 1486, 2352, 1040, 1487, 2350, 1474, 1047, 2359,
1778 1349, 1488, 1488, 1488, 1494, 1494, 1494, 838, 838, 838,
1779 1501, 1501, 1501, 1506, 1506, 1506, 1368, 1368, 1368, 1489,
1780 2365, 1495, 1507, 1507, 1507, 840, 1370, 1370, 1370, 1509,
1781 1509, 1509, 1536, 825, 1483, 1484, 1510, 1510, 1510, 1377,
1782 1377, 1377, 866, 866, 866, 1518, 1518, 1518, 1521, 1521,
1783 1521, 892, 892, 892, 1525, 1525, 1525, 1396, 1396, 1396,
1784 868, 1397, 1533, 1519, 1398, 1522, 825, 1496, 2354, 894,
1785 825, 1526, 900, 900, 900, 825, 1538, 1538, 1538, 1403,
1786 1403, 1403, 1542, 1542, 1542, 825, 1532, 1407, 1407, 1407,
1788 902, 1408, 1515, 1539, 1409, 1410, 1410, 1410, 825, 1411,
1789 825, 825, 1412, 1414, 1414, 1414, 1417, 1417, 1417, 1524,
1790 1418, 2355, 2367, 1419, 1420, 1420, 1420, 2360, 1537, 825,
1791 2356, 1415, 1549, 1549, 1549, 825, 1550, 825, 825, 1551,
1792 825, 1421, 1423, 1423, 1423, 2357, 1424, 2358, 2377, 1425,
1793 1426, 1426, 1426, 1553, 1553, 1553, 825, 1554, 825, 825,
1794 1555, 1556, 1556, 1556, 1432, 1432, 1432, 1427, 1561, 1561,
1795 1561, 2366, 1562, 2363, 2369, 1563, 825, 2368, 1557, 2376,
1796 2399, 1433, 951, 951, 951, 1436, 1436, 1436, 825, 1437,
1797 825, 2364, 1438, 1439, 1439, 1439, 2378, 1566, 1566, 1566,
1799 953, 1567, 825, 2370, 1568, 1442, 1442, 1442, 825, 1443,
1800 1440, 2371, 1444, 1446, 1446, 1446, 974, 974, 974, 1574,
1801 1574, 1574, 1453, 1453, 1453, 2372, 1454, 825, 825, 1455,
1802 825, 1447, 825, 1564, 976, 2374, 1575, 1457, 1457, 1457,
1803 1582, 1582, 1582, 1462, 1462, 1462, 1585, 1585, 1585, 2380,
1804 1586, 2393, 825, 1587, 825, 1458, 1531, 2386, 1583, 825,
1805 1463, 1464, 1464, 1464, 2389, 1576, 1588, 1588, 1588, 1528,
1806 1589, 1527, 2381, 1590, 1006, 1006, 1006, 2382, 1465, 1572,
1807 1014, 1014, 1014, 1470, 1470, 1470, 1595, 1595, 1595, 2383,
1808 1596, 2384, 1008, 1597, 1472, 1472, 1472, 2387, 1016, 2394,
1810 1471, 1598, 1598, 1598, 825, 1599, 825, 825, 1600, 825,
1811 825, 1473, 1024, 1024, 1024, 1032, 1032, 1032, 1480, 1480,
1812 1480, 825, 1481, 2388, 825, 1482, 1038, 1038, 1038, 1594,
1813 1026, 825, 825, 1034, 1045, 1045, 1045, 825, 2390, 1592,
1814 825, 1485, 1485, 1485, 1040, 1486, 2397, 2398, 1487, 1488,
1815 1488, 1488, 1047, 1494, 1494, 1494, 1613, 1613, 1613, 1523,
1816 1614, 2400, 1520, 1615, 838, 838, 838, 1489, 2405, 2391,
1817 1495, 1617, 1617, 1617, 2406, 2401, 1601, 1607, 1517, 1605,
1818 1516, 1514, 840, 1620, 1620, 1620, 825, 1608, 1501, 1501,
1819 1501, 1621, 1621, 1621, 1624, 1624, 1624, 1506, 1506, 1506,
1821 1507, 1507, 1507, 1509, 1509, 1509, 1510, 1510, 1510, 1626,
1822 1626, 1626, 1627, 1627, 1627, 1628, 1628, 1628, 866, 866,
1823 866, 1518, 1518, 1518, 1521, 1521, 1521, 1616, 1634, 1634,
1824 1634, 2392, 1635, 825, 1513, 1636, 868, 825, 1512, 1519,
1825 2417, 1522, 1638, 1638, 1638, 1525, 1525, 1525, 1640, 1640,
1826 1640, 825, 1641, 825, 825, 1642, 900, 900, 900, 825,
1827 1639, 1511, 1526, 1538, 1538, 1538, 1654, 1654, 1654, 1630,
1828 1655, 825, 2402, 1656, 902, 1657, 1657, 1657, 1508, 2395,
1829 1539, 1542, 1542, 1542, 1549, 1549, 1549, 825, 1550, 1505,
1830 1504, 1551, 1553, 1553, 1553, 1503, 1554, 2396, 2403, 1555,
1832 1556, 1556, 1556, 2407, 2404, 1653, 1668, 1668, 1668, 1502,
1833 1669, 2409, 825, 1670, 1561, 1561, 1561, 1557, 1562, 2408,
1834 825, 1563, 951, 951, 951, 1566, 1566, 1566, 825, 1567,
1835 2410, 825, 1568, 1679, 1679, 1679, 1574, 1574, 1574, 825,
1836 953, 1682, 1682, 1682, 2411, 1683, 1500, 825, 1684, 1499,
1837 1498, 1680, 1497, 1575, 1582, 1582, 1582, 1585, 1585, 1585,
1838 2412, 1586, 1493, 2415, 1587, 1479, 1588, 1588, 1588, 825,
1839 1589, 1477, 1583, 1590, 1006, 1006, 1006, 1014, 1014, 1014,
1840 1595, 1595, 1595, 1476, 1596, 1674, 1475, 1597, 1468, 1598,
1841 1598, 1598, 1008, 1599, 2413, 1016, 1600, 1024, 1024, 1024,
1843 1699, 1699, 1699, 1032, 1032, 1032, 1038, 1038, 1038, 1706,
1844 1706, 1706, 1708, 1708, 1708, 1026, 2414, 1700, 1711, 1711,
1845 1711, 1034, 1461, 1459, 1040, 1695, 1456, 1707, 1452, 1451,
1846 825, 1450, 1448, 1698, 1613, 1613, 1613, 1445, 1614, 1441,
1847 1435, 1615, 1697, 838, 838, 838, 1617, 1617, 1617, 1713,
1848 1713, 1713, 1620, 1620, 1620, 1621, 1621, 1621, 1715, 1715,
1849 1715, 840, 1716, 1716, 1716, 1705, 1431, 1703, 1624, 1624,
1850 1624, 1626, 1626, 1626, 1627, 1627, 1627, 1628, 1628, 1628,
1851 1719, 1719, 1719, 1722, 1722, 1722, 1634, 1634, 1634, 825,
1852 1635, 1430, 1429, 1636, 1638, 1638, 1638, 1428, 1720, 1422,
1854 1723, 1712, 1640, 1640, 1640, 1416, 1641, 1413, 1406, 1642,
1855 1405, 1402, 1639, 900, 900, 900, 1654, 1654, 1654, 1401,
1856 1655, 2416, 1400, 1656, 1657, 1657, 1657, 1387, 1668, 1668,
1857 1668, 902, 1669, 1385, 1384, 1670, 1746, 1746, 1746, 1750,
1858 1750, 1750, 1679, 1679, 1679, 1756, 1756, 1756, 1682, 1682,
1859 1682, 1383, 1683, 1747, 1381, 1684, 1380, 1751, 1376, 1375,
1860 1680, 1374, 1757, 1767, 1767, 1767, 1769, 1769, 1769, 1771,
1861 1771, 1771, 1373, 1735, 1014, 1014, 1014, 1024, 1024, 1024,
1862 1699, 1699, 1699, 1372, 1770, 1367, 1772, 1778, 1778, 1778,
1863 1366, 1758, 1016, 1365, 1364, 1026, 1363, 1700, 1775, 1775,
1865 1775, 1362, 1776, 1361, 1779, 1777, 1781, 1781, 1781, 1783,
1866 1783, 1783, 1038, 1038, 1038, 1360, 1706, 1706, 1706, 1359,
1867 1708, 1708, 1708, 1358, 1782, 1711, 1711, 1711, 1356, 1355,
1868 1040, 1354, 1212, 1773, 1707, 1343, 1341, 1774, 825, 1788,
1869 1788, 1788, 1713, 1713, 1713, 1715, 1715, 1715, 1716, 1716,
1870 1716, 1719, 1719, 1719, 1722, 1722, 1722, 1789, 1794, 1794,
1871 1794, 1340, 1795, 1336, 1334, 1796, 900, 900, 900, 1720,
1872 1333, 1723, 1814, 1814, 1814, 1331, 1329, 1784, 1746, 1746,
1873 1746, 1785, 1328, 1327, 902, 1324, 1818, 1818, 1818, 1815,
1874 1819, 1319, 1318, 1820, 1317, 1747, 1822, 1822, 1822, 1750,
1876 1750, 1750, 1826, 1826, 1826, 1756, 1756, 1756, 1829, 1829,
1877 1829, 1315, 1830, 1823, 1313, 1831, 1310, 1751, 1309, 1827,
1878 1306, 1304, 1757, 1303, 1302, 1808, 1837, 1837, 1837, 1767,
1879 1767, 1767, 1769, 1769, 1769, 1771, 1771, 1771, 1841, 1841,
1880 1841, 1301, 1842, 1838, 1300, 1843, 1844, 1844, 1844, 1299,
1881 1770, 1293, 1772, 1024, 1024, 1024, 1775, 1775, 1775, 1292,
1882 1776, 1289, 1279, 1777, 1845, 1778, 1778, 1778, 1847, 1847,
1883 1847, 1026, 1848, 1278, 1277, 1849, 1850, 1850, 1850, 1781,
1884 1781, 1781, 1779, 1783, 1783, 1783, 1852, 1852, 1852, 1788,
1885 1788, 1788, 1276, 1851, 1860, 1860, 1860, 1782, 1794, 1794,
1887 1794, 1275, 1795, 1272, 1853, 1796, 1271, 1789, 900, 900,
1888 900, 1861, 1882, 1882, 1882, 1814, 1814, 1814, 1270, 1846,
1889 1884, 1884, 1884, 1263, 1885, 1260, 902, 1886, 1256, 1883,
1890 1252, 1250, 1815, 1818, 1818, 1818, 1249, 1819, 1241, 1240,
1891 1820, 1822, 1822, 1822, 1890, 1890, 1890, 1238, 1891, 1237,
1892 1236, 1892, 1894, 1894, 1894, 1826, 1826, 1826, 1823, 1896,
1893 1896, 1896, 1235, 1897, 1234, 1233, 1898, 1879, 1232, 1895,
1894 1230, 1229, 1827, 1899, 1899, 1899, 1829, 1829, 1829, 1225,
1895 1830, 1223, 1222, 1831, 1837, 1837, 1837, 1904, 1904, 1904,
1896 1900, 1905, 1221, 1220, 1906, 1907, 1907, 1907, 1909, 1909,
1898 1909, 1838, 1841, 1841, 1841, 1219, 1842, 1217, 1216, 1843,
1899 1215, 1214, 1908, 1207, 1204, 1910, 1844, 1844, 1844, 1024,
1900 1024, 1024, 1847, 1847, 1847, 1203, 1848, 1201, 1200, 1849,
1901 1850, 1850, 1850, 1197, 1845, 1192, 1191, 1026, 1918, 1918,
1902 1918, 1186, 1919, 1184, 1180, 1920, 1179, 1851, 1852, 1852,
1903 1852, 1924, 1924, 1924, 1860, 1860, 1860, 1927, 1927, 1927,
1904 1175, 1928, 1173, 1165, 1929, 1164, 1853, 900, 900, 900,
1905 1163, 1861, 1948, 1948, 1948, 1949, 1949, 1949, 1882, 1882,
1906 1882, 1924, 1924, 1924, 1917, 902, 1952, 1952, 1952, 1162,
1907 1953, 1160, 1950, 1954, 1158, 1883, 1884, 1884, 1884, 1157,
1909 1885, 1153, 1152, 1886, 1890, 1890, 1890, 1151, 1891, 1150,
1910 1148, 1892, 1894, 1894, 1894, 1959, 1959, 1959, 1947, 1960,
1911 1147, 1951, 1961, 1896, 1896, 1896, 1146, 1897, 1145, 1895,
1912 1898, 1899, 1899, 1899, 1962, 1962, 1962, 1144, 1963, 1143,
1913 1142, 1964, 1966, 1966, 1966, 1904, 1904, 1904, 1900, 1905,
1914 1136, 1135, 1906, 1907, 1907, 1907, 1969, 1969, 1969, 1967,
1915 1970, 1134, 1133, 1971, 1909, 1909, 1909, 1972, 1972, 1972,
1916 1908, 1973, 1131, 1130, 1974, 1024, 1024, 1024, 1918, 1918,
1917 1918, 1910, 1919, 1127, 1126, 1920, 1984, 1984, 1984, 1125,
1918 1927, 1927, 1927, 1026, 1928, 1124, 1123, 1929, 1996, 1996,
1920 1996, 1122, 1121, 1985, 1212, 900, 900, 900, 1948, 1948,
1921 1948, 1949, 1949, 1949, 1120, 1997, 1119, 2007, 2007, 2007,
1922 1116, 2008, 1114, 902, 2009, 1111, 1981, 1108, 1950, 1952,
1923 1952, 1952, 1105, 1953, 1096, 1094, 1954, 1959, 1959, 1959,
1924 1087, 1960, 1085, 1084, 1961, 1962, 1962, 1962, 1083, 1963,
1925 1082, 1081, 1964, 1080, 2006, 1966, 1966, 1966, 2016, 2016,
1926 2016, 1079, 2017, 1078, 1075, 2018, 1969, 1969, 1969, 1074,
1927 1970, 1073, 1967, 1971, 1972, 1972, 1972, 1072, 1973, 1071,
1928 1070, 1974, 2034, 2034, 2034, 2037, 2037, 2037, 1984, 1984,
1929 1984, 2039, 2039, 2039, 1069, 2040, 1068, 1067, 2041, 1066,
1931 2035, 1064, 2038, 1212, 1063, 1985, 1212, 1062, 1061, 1212,
1932 2042, 2042, 2042, 2043, 2043, 2043, 1996, 1996, 1996, 2052,
1933 2052, 2052, 1060, 2053, 1059, 1058, 2054, 900, 900, 900,
1934 2007, 2007, 2007, 1997, 2008, 825, 1052, 2009, 2065, 2065,
1935 2065, 2068, 2068, 2068, 1037, 902, 2016, 2016, 2016, 1036,
1936 2017, 1031, 1030, 2018, 1029, 2066, 1028, 1010, 2069, 2070,
1937 2070, 2070, 2034, 2034, 2034, 2037, 2037, 2037, 2085, 2085,
1938 2085, 998, 2086, 984, 983, 2087, 2071, 2039, 2039, 2039,
1939 2035, 2040, 2038, 1212, 2041, 982, 1212, 2042, 2042, 2042,
1940 978, 970, 2061, 965, 964, 1212, 1210, 1210, 1210, 1210,
1942 1210, 1210, 1210, 1210, 1210, 958, 955, 1210, 2043, 2043,
1943 2043, 950, 1210, 1210, 1210, 1212, 1210, 2052, 2052, 2052,
1944 949, 2053, 948, 947, 2054, 2109, 2109, 2109, 946, 2110,
1945 945, 944, 2111, 938, 2104, 2104, 2104, 931, 2065, 2065,
1946 2065, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210,
1947 1210, 1210, 2105, 926, 1210, 2066, 2068, 2068, 2068, 1210,
1948 1210, 1210, 1212, 1210, 2113, 2113, 2113, 925, 2114, 921,
1949 920, 2115, 919, 2069, 2070, 2070, 2070, 2116, 2116, 2116,
1950 918, 2117, 917, 916, 2118, 2104, 2104, 2104, 1210, 1210,
1951 915, 2071, 2085, 2085, 2085, 914, 2086, 913, 907, 2087,
1953 2109, 2109, 2109, 2105, 2110, 899, 898, 2111, 897, 896,
1954 1212, 1210, 1210, 1210, 1210, 1210, 2137, 1210, 1210, 1210,
1955 891, 890, 1210, 889, 886, 880, 875, 1210, 1210, 1210,
1956 1212, 1210, 2113, 2113, 2113, 874, 2114, 870, 865, 2115,
1957 2116, 2116, 2116, 864, 2117, 863, 862, 2118, 861, 2166,
1958 2166, 2166, 860, 2171, 2171, 2171, 1210, 1210, 1210, 1210,
1959 1210, 1210, 1210, 1210, 1210, 1210, 2137, 1212, 1213, 1210,
1960 2172, 2173, 2173, 2173, 1210, 1210, 1210, 1212, 1210, 2175,
1961 2175, 2175, 2183, 2183, 2183, 2171, 2171, 2171, 2174, 2191,
1962 2191, 2191, 2166, 2166, 2166, 858, 2176, 857, 856, 2184,
1964 855, 854, 2172, 1210, 1210, 853, 852, 825, 851, 850,
1965 1212, 2197, 2197, 2197, 849, 2198, 848, 847, 2199, 2173,
1966 2173, 2173, 2200, 2200, 2200, 846, 2201, 845, 844, 2202,
1967 2175, 2175, 2175, 2203, 2203, 2203, 2174, 2204, 837, 836,
1968 2205, 835, 834, 1352, 2183, 2183, 2183, 2176, 2212, 2212,
1969 2212, 833, 2213, 832, 831, 2214, 2191, 2191, 2191, 828,
1970 826, 2184, 2197, 2197, 2197, 825, 2198, 823, 821, 2199,
1971 818, 2200, 2200, 2200, 825, 2201, 814, 812, 2202, 2203,
1972 2203, 2203, 811, 2204, 810, 808, 2205, 2212, 2212, 2212,
1973 807, 2213, 806, 2221, 2214, 2316, 2316, 2316, 2316, 2316,
1975 2316, 805, 2325, 804, 802, 2326, 2418, 2418, 2418, 2418,
1976 2418, 2418, 801, 825, 800, 799, 825, 795, 794, 792,
1977 791, 790, 789, 788, 2419, 787, 785, 2419, 194, 194,
1978 194, 194, 194, 194, 194, 194, 194, 195, 195, 195,
1979 195, 195, 195, 195, 195, 195, 200, 200, 200, 200,
1980 200, 200, 200, 200, 200, 203, 203, 203, 203, 203,
1981 203, 203, 203, 203, 206, 206, 206, 206, 206, 206,
1982 206, 206, 206, 209, 209, 209, 209, 209, 209, 209,
1983 209, 209, 216, 216, 216, 216, 216, 216, 216, 216,
1984 216, 224, 224, 224, 224, 224, 224, 224, 224, 224,
1986 228, 228, 228, 228, 228, 228, 228, 228, 228, 240,
1987 240, 240, 240, 240, 240, 240, 240, 240, 244, 244,
1988 244, 244, 244, 244, 244, 244, 244, 250, 250, 250,
1989 250, 250, 250, 250, 250, 250, 261, 261, 261, 261,
1990 261, 261, 261, 261, 261, 269, 269, 269, 269, 269,
1991 269, 269, 269, 269, 277, 277, 277, 277, 277, 277,
1992 277, 277, 277, 283, 283, 283, 283, 283, 283, 283,
1993 283, 283, 289, 289, 289, 289, 289, 289, 289, 289,
1994 289, 294, 294, 294, 294, 294, 294, 294, 294, 294,
1995 311, 311, 311, 311, 311, 311, 311, 311, 311, 319,
1997 319, 319, 319, 319, 319, 319, 319, 319, 337, 337,
1998 337, 337, 337, 337, 337, 337, 337, 353, 353, 353,
1999 353, 353, 353, 353, 353, 353, 359, 359, 359, 359,
2000 359, 359, 359, 359, 359, 364, 364, 364, 364, 364,
2001 364, 364, 364, 364, 370, 370, 370, 370, 370, 370,
2002 370, 370, 370, 377, 377, 377, 377, 377, 377, 377,
2003 377, 377, 384, 384, 384, 384, 384, 384, 384, 384,
2004 384, 389, 389, 389, 389, 389, 389, 389, 389, 389,
2005 397, 397, 397, 397, 397, 397, 397, 397, 397, 403,
2006 403, 403, 403, 403, 403, 403, 403, 403, 410, 410,
2008 410, 410, 410, 410, 410, 410, 410, 415, 415, 415,
2009 415, 415, 415, 415, 415, 415, 421, 421, 421, 421,
2010 421, 421, 421, 421, 421, 427, 427, 427, 427, 427,
2011 427, 427, 427, 427, 434, 434, 434, 434, 434, 434,
2012 434, 434, 434, 441, 441, 441, 441, 441, 441, 441,
2013 441, 441, 449, 449, 449, 449, 449, 449, 449, 449,
2014 449, 453, 453, 453, 453, 453, 453, 453, 453, 453,
2015 459, 459, 459, 459, 459, 459, 459, 459, 459, 463,
2016 463, 463, 463, 463, 463, 463, 463, 463, 470, 470,
2017 470, 470, 470, 470, 470, 470, 470, 475, 475, 475,
2019 475, 475, 475, 475, 475, 475, 495, 495, 495, 784,
2020 783, 782, 495, 519, 519, 519, 780, 779, 778, 519,
2021 523, 523, 523, 775, 774, 770, 523, 531, 531, 531,
2022 769, 767, 766, 531, 543, 543, 543, 765, 762, 761,
2023 543, 549, 549, 549, 760, 759, 757, 549, 562, 562,
2024 562, 756, 755, 754, 562, 570, 570, 570, 753, 752,
2025 751, 570, 586, 586, 586, 750, 747, 744, 586, 596,
2026 596, 596, 743, 742, 740, 596, 601, 601, 601, 739,
2027 734, 731, 601, 609, 609, 609, 729, 728, 727, 609,
2028 616, 616, 616, 726, 725, 723, 616, 623, 623, 623,
2030 720, 718, 717, 623, 628, 628, 628, 716, 714, 712,
2031 628, 634, 634, 634, 711, 710, 709, 634, 642, 642,
2032 642, 708, 707, 704, 642, 646, 646, 646, 703, 702,
2033 699, 646, 650, 650, 650, 696, 695, 693, 650, 654,
2034 654, 654, 654, 654, 654, 654, 692, 654, 495, 495,
2035 495, 689, 687, 684, 495, 669, 678, 677, 676, 669,
2036 519, 519, 519, 673, 672, 671, 519, 694, 670, 668,
2037 667, 694, 523, 523, 523, 666, 665, 664, 523, 701,
2038 663, 658, 655, 701, 531, 531, 531, 657, 652, 651,
2039 531, 713, 649, 648, 647, 713, 543, 543, 543, 645,
2041 643, 641, 543, 719, 638, 637, 636, 719, 549, 549,
2042 549, 635, 633, 632, 549, 724, 631, 630, 629, 724,
2043 562, 562, 562, 627, 625, 624, 562, 741, 622, 621,
2044 618, 741, 570, 570, 570, 617, 615, 504, 570, 758,
2045 2420, 610, 608, 758, 586, 586, 586, 607, 604, 603,
2046 586, 768, 602, 600, 598, 768, 596, 596, 596, 597,
2047 595, 593, 596, 773, 592, 591, 590, 773, 601, 601,
2048 601, 589, 588, 587, 601, 781, 585, 576, 575, 781,
2049 609, 609, 609, 574, 571, 569, 609, 786, 568, 567,
2050 566, 786, 616, 616, 616, 565, 564, 563, 616, 793,
2052 561, 2420, 510, 793, 623, 623, 623, 556, 551, 550,
2053 623, 798, 548, 546, 545, 798, 628, 628, 628, 544,
2054 542, 513, 628, 803, 2420, 537, 533, 803, 634, 634,
2055 634, 532, 530, 529, 634, 809, 526, 525, 524, 809,
2056 642, 642, 642, 522, 520, 518, 642, 813, 2420, 496,
2057 494, 813, 646, 646, 646, 492, 486, 485, 646, 817,
2058 486, 485, 484, 817, 650, 650, 650, 483, 2420, 2420,
2059 650, 822, 2420, 2420, 2420, 822, 824, 824, 824, 824,
2060 824, 824, 824, 824, 824, 830, 2420, 2420, 2420, 2420,
2061 830, 495, 495, 495, 2420, 2420, 2420, 495, 839, 839,
2063 839, 839, 2420, 2420, 839, 839, 519, 519, 519, 2420,
2064 2420, 2420, 519, 867, 867, 867, 867, 2420, 2420, 867,
2065 867, 523, 523, 523, 2420, 2420, 2420, 523, 877, 877,
2066 877, 877, 2420, 2420, 877, 877, 531, 531, 531, 2420,
2067 2420, 2420, 531, 893, 893, 893, 893, 2420, 2420, 893,
2068 893, 543, 543, 543, 2420, 2420, 2420, 543, 901, 901,
2069 901, 901, 2420, 2420, 901, 901, 549, 549, 549, 2420,
2070 2420, 2420, 549, 909, 909, 909, 909, 2420, 2420, 909,
2071 909, 562, 562, 562, 2420, 2420, 2420, 562, 928, 928,
2072 928, 928, 2420, 2420, 928, 928, 570, 570, 570, 2420,
2074 2420, 2420, 570, 952, 952, 952, 952, 2420, 2420, 952,
2075 952, 586, 586, 586, 2420, 2420, 2420, 586, 967, 967,
2076 967, 967, 2420, 2420, 967, 967, 596, 596, 596, 2420,
2077 2420, 2420, 596, 975, 975, 975, 975, 2420, 2420, 975,
2078 975, 601, 601, 601, 2420, 2420, 2420, 601, 986, 986,
2079 986, 986, 2420, 2420, 986, 986, 609, 609, 609, 609,
2080 2420, 609, 2420, 609, 995, 995, 995, 995, 2420, 2420,
2081 995, 995, 616, 616, 616, 616, 2420, 616, 2420, 616,
2082 1007, 1007, 1007, 1007, 2420, 2420, 1007, 1007, 623, 623,
2083 623, 2420, 2420, 2420, 623, 1015, 1015, 1015, 1015, 2420,
2085 2420, 1015, 1015, 628, 628, 628, 628, 2420, 628, 2420,
2086 628, 1025, 1025, 1025, 1025, 2420, 2420, 1025, 1025, 634,
2087 634, 634, 2420, 2420, 2420, 634, 1033, 1033, 1033, 1033,
2088 2420, 2420, 1033, 1033, 642, 642, 642, 2420, 2420, 2420,
2089 642, 1039, 1039, 1039, 1039, 2420, 2420, 1039, 1039, 1046,
2090 1046, 1046, 1046, 2420, 2420, 1046, 1046, 650, 650, 650,
2091 2420, 2420, 2420, 650, 1054, 1054, 1054, 1054, 2420, 2420,
2092 1054, 1054, 824, 824, 824, 824, 824, 824, 824, 824,
2093 824, 830, 2420, 830, 2420, 2420, 830, 495, 495, 495,
2094 2420, 2420, 2420, 495, 839, 839, 839, 839, 2420, 2420,
2096 839, 839, 519, 519, 519, 519, 2420, 519, 2420, 519,
2097 867, 867, 867, 867, 2420, 2420, 867, 867, 523, 523,
2098 523, 523, 2420, 523, 2420, 523, 877, 877, 877, 877,
2099 2420, 2420, 877, 877, 531, 531, 531, 2420, 2420, 2420,
2100 531, 893, 893, 893, 893, 2420, 2420, 893, 893, 543,
2101 543, 543, 2420, 2420, 2420, 543, 901, 901, 901, 901,
2102 2420, 2420, 901, 901, 549, 549, 549, 2420, 2420, 2420,
2103 549, 909, 909, 909, 909, 2420, 2420, 909, 909, 562,
2104 562, 562, 2420, 2420, 2420, 562, 928, 928, 928, 928,
2105 2420, 2420, 928, 928, 570, 570, 570, 2420, 2420, 2420,
2107 570, 952, 952, 952, 952, 2420, 2420, 952, 952, 586,
2108 586, 586, 2420, 2420, 2420, 586, 967, 967, 967, 967,
2109 2420, 2420, 967, 967, 596, 596, 596, 2420, 2420, 2420,
2110 596, 975, 975, 975, 975, 2420, 2420, 975, 975, 601,
2111 601, 601, 2420, 2420, 2420, 601, 986, 986, 986, 986,
2112 2420, 2420, 986, 986, 609, 609, 609, 2420, 2420, 2420,
2113 609, 995, 995, 995, 995, 2420, 2420, 995, 995, 616,
2114 616, 616, 2420, 2420, 2420, 616, 1007, 1007, 1007, 1007,
2115 2420, 2420, 1007, 1007, 623, 623, 623, 2420, 2420, 2420,
2116 623, 1015, 1015, 1015, 1015, 2420, 2420, 1015, 1015, 628,
2118 628, 628, 2420, 2420, 2420, 628, 1025, 1025, 1025, 1025,
2119 2420, 2420, 1025, 1025, 634, 634, 634, 2420, 2420, 2420,
2120 634, 1033, 1033, 1033, 1033, 2420, 2420, 1033, 1033, 642,
2121 642, 642, 2420, 2420, 2420, 642, 1039, 1039, 1039, 1039,
2122 2420, 2420, 1039, 1039, 1046, 1046, 1046, 1046, 2420, 2420,
2123 1046, 1046, 650, 650, 650, 2420, 2420, 2420, 650, 1054,
2124 1054, 1054, 1054, 2420, 2420, 1054, 1054, 824, 824, 824,
2125 824, 824, 824, 824, 824, 824, 1210, 1210, 1210, 1210,
2126 1210, 1210, 1210, 1210, 1210, 495, 495, 495, 2420, 2420,
2127 2420, 495, 839, 839, 839, 839, 2420, 2420, 839, 839,
2129 867, 867, 867, 867, 2420, 2420, 867, 867, 523, 523,
2130 523, 2420, 2420, 2420, 523, 877, 877, 877, 877, 2420,
2131 2420, 877, 877, 531, 531, 531, 2420, 2420, 2420, 531,
2132 893, 893, 893, 893, 2420, 2420, 893, 893, 543, 543,
2133 543, 2420, 2420, 2420, 543, 901, 901, 901, 901, 2420,
2134 2420, 901, 901, 549, 549, 549, 2420, 2420, 2420, 549,
2135 562, 562, 562, 2420, 2420, 2420, 562, 928, 928, 928,
2136 928, 2420, 2420, 928, 928, 570, 570, 570, 2420, 2420,
2137 2420, 570, 952, 952, 952, 952, 2420, 2420, 952, 952,
2138 586, 586, 586, 2420, 2420, 2420, 586, 967, 967, 967,
2140 967, 2420, 2420, 967, 967, 596, 596, 596, 2420, 2420,
2141 2420, 596, 975, 975, 975, 975, 2420, 2420, 975, 975,
2142 601, 601, 601, 2420, 2420, 2420, 601, 986, 986, 986,
2143 986, 2420, 2420, 986, 986, 609, 609, 609, 2420, 2420,
2144 2420, 609, 995, 995, 995, 995, 2420, 2420, 995, 995,
2145 616, 616, 616, 2420, 2420, 2420, 616, 1007, 1007, 1007,
2146 1007, 2420, 2420, 1007, 1007, 623, 623, 623, 2420, 2420,
2147 2420, 623, 1015, 1015, 1015, 1015, 2420, 2420, 1015, 1015,
2148 628, 628, 628, 2420, 2420, 2420, 628, 1025, 1025, 1025,
2149 1025, 2420, 2420, 1025, 1025, 634, 634, 634, 2420, 2420,
2151 2420, 634, 1033, 1033, 1033, 1033, 2420, 2420, 1033, 1033,
2152 642, 642, 642, 642, 2420, 642, 2420, 642, 1039, 1039,
2153 1039, 1039, 2420, 2420, 1039, 1039, 1046, 1046, 1046, 1046,
2154 2420, 2420, 1046, 1046, 650, 650, 650, 650, 2420, 650,
2155 2420, 650, 1054, 1054, 1054, 1054, 2420, 2420, 1054, 1054,
2156 824, 824, 824, 824, 824, 824, 824, 824, 824, 1210,
2157 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 495, 495,
2158 495, 2420, 2420, 2420, 495, 839, 839, 839, 839, 2420,
2159 2420, 839, 839, 867, 867, 867, 867, 2420, 2420, 867,
2160 867, 523, 523, 523, 2420, 2420, 2420, 523, 877, 877,
2162 877, 877, 2420, 2420, 877, 877, 531, 531, 531, 2420,
2163 2420, 2420, 531, 893, 893, 893, 893, 2420, 2420, 893,
2164 893, 543, 543, 543, 2420, 2420, 2420, 543, 901, 901,
2165 901, 901, 2420, 2420, 901, 901, 549, 549, 549, 2420,
2166 2420, 2420, 549, 562, 562, 562, 2420, 2420, 2420, 562,
2167 928, 928, 928, 928, 2420, 2420, 928, 928, 570, 570,
2168 570, 2420, 2420, 2420, 570, 952, 952, 952, 952, 2420,
2169 2420, 952, 952, 586, 586, 586, 2420, 2420, 2420, 586,
2170 967, 967, 967, 967, 2420, 2420, 967, 967, 596, 596,
2171 596, 2420, 2420, 2420, 596, 975, 975, 975, 975, 2420,
2173 2420, 975, 975, 601, 601, 601, 2420, 2420, 2420, 601,
2174 986, 986, 986, 986, 2420, 2420, 986, 986, 609, 609,
2175 609, 2420, 2420, 2420, 609, 995, 995, 995, 995, 2420,
2176 2420, 995, 995, 616, 616, 616, 616, 2420, 616, 2420,
2177 616, 1007, 1007, 1007, 1007, 2420, 2420, 1007, 1007, 623,
2178 623, 623, 2420, 2420, 2420, 623, 1015, 1015, 1015, 1015,
2179 2420, 2420, 1015, 1015, 628, 628, 628, 628, 2420, 628,
2180 2420, 628, 1025, 1025, 1025, 1025, 2420, 2420, 1025, 1025,
2181 634, 634, 634, 2420, 2420, 2420, 634, 1033, 1033, 1033,
2182 1033, 2420, 2420, 1033, 1033, 1039, 1039, 1039, 1039, 2420,
2184 2420, 1039, 1039, 1046, 1046, 1046, 1046, 2420, 2420, 1046,
2185 1046, 1054, 1054, 1054, 1054, 2420, 2420, 1054, 1054, 824,
2186 824, 824, 824, 824, 824, 824, 824, 824, 1210, 1210,
2187 1210, 1210, 1210, 1210, 1210, 1210, 1210, 495, 495, 495,
2188 495, 2420, 495, 2420, 495, 839, 839, 839, 839, 2420,
2189 2420, 839, 839, 867, 867, 867, 867, 2420, 2420, 867,
2190 867, 523, 523, 523, 2420, 2420, 2420, 523, 877, 877,
2191 877, 877, 2420, 2420, 877, 877, 531, 531, 531, 2420,
2192 2420, 2420, 531, 893, 893, 893, 893, 2420, 2420, 893,
2193 893, 543, 543, 543, 543, 2420, 543, 2420, 543, 901,
2195 901, 901, 901, 2420, 2420, 901, 901, 549, 549, 549,
2196 549, 2420, 549, 2420, 549, 562, 562, 562, 2420, 2420,
2197 2420, 562, 570, 570, 570, 2420, 2420, 2420, 570, 952,
2198 952, 952, 952, 2420, 2420, 952, 952, 586, 586, 586,
2199 2420, 2420, 2420, 586, 596, 596, 596, 2420, 2420, 2420,
2200 596, 975, 975, 975, 975, 2420, 2420, 975, 975, 601,
2201 601, 601, 2420, 2420, 2420, 601, 609, 609, 609, 2420,
2202 2420, 2420, 609, 995, 995, 995, 995, 2420, 2420, 995,
2203 995, 616, 616, 616, 2420, 2420, 2420, 616, 1007, 1007,
2204 1007, 1007, 2420, 2420, 1007, 1007, 623, 623, 623, 2420,
2206 2420, 2420, 623, 1015, 1015, 1015, 1015, 2420, 2420, 1015,
2207 1015, 1025, 1025, 1025, 1025, 2420, 2420, 1025, 1025, 634,
2208 634, 634, 2420, 2420, 2420, 634, 1033, 1033, 1033, 1033,
2209 2420, 2420, 1033, 1033, 1039, 1039, 1039, 1039, 2420, 2420,
2210 1039, 1039, 1046, 1046, 1046, 1046, 2420, 2420, 1046, 1046,
2211 824, 824, 824, 824, 824, 824, 824, 824, 824, 1210,
2212 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 839, 839,
2213 839, 839, 2420, 2420, 839, 839, 867, 867, 867, 867,
2214 2420, 2420, 867, 867, 523, 523, 523, 2420, 2420, 2420,
2215 523, 531, 531, 531, 2420, 2420, 2420, 531, 893, 893,
2217 893, 893, 2420, 2420, 893, 893, 2088, 2088, 2088, 2088,
2218 2088, 2088, 2088, 2088, 2088, 2089, 2089, 2089, 2089, 2089,
2219 2089, 2089, 2089, 2089, 2132, 2132, 2132, 2132, 2132, 2132,
2220 2132, 2132, 2132, 2135, 2135, 2135, 2135, 2135, 2135, 2135,
2221 2135, 2135, 2163, 2163, 2163, 2163, 2163, 2163, 2163, 2163,
2222 2163, 2165, 2165, 2165, 2165, 2165, 2165, 2165, 2165, 2165,
2223 193, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420,
2224 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420,
2225 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420,
2226 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420,
2228 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420,
2229 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420,
2230 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420,
2234 static yyconst flex_int16_t yy_chk[8134] =
2236 0, 3, 3, 3, 4, 4, 4, 5, 5, 5,
2237 6, 6, 6, 7, 7, 7, 11, 3, 9, 12,
2238 4, 10, 0, 5, 0, 9, 6, 0, 10, 7,
2239 8, 8, 8, 198, 11, 13, 13, 12, 14, 14,
2240 13, 13, 271, 14, 14, 199, 8, 17, 17, 198,
2241 13, 15, 15, 14, 15, 202, 15, 16, 16, 236,
2242 16, 199, 16, 18, 18, 236, 15, 19, 19, 19,
2243 305, 202, 16, 20, 20, 20, 23, 23, 23, 24,
2244 24, 24, 505, 19, 25, 25, 25, 271, 505, 20,
2245 299, 17, 23, 271, 505, 24, 196, 196, 196, 299,
2247 25, 197, 197, 197, 201, 201, 201, 18, 21, 21,
2248 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
2249 21, 21, 21, 305, 21, 21, 21, 21, 21, 26,
2250 26, 26, 27, 27, 27, 28, 28, 28, 231, 29,
2251 29, 29, 30, 30, 30, 26, 302, 1411, 27, 220,
2252 225, 28, 231, 21, 21, 29, 302, 241, 30, 31,
2253 31, 31, 222, 222, 222, 220, 225, 229, 229, 229,
2254 238, 238, 238, 241, 1412, 31, 21, 22, 22, 22,
2255 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
2256 22, 22, 322, 22, 22, 22, 22, 22, 32, 32,
2258 32, 33, 33, 33, 34, 34, 34, 220, 35, 35,
2259 35, 36, 36, 36, 32, 232, 307, 33, 307, 1413,
2260 34, 380, 22, 22, 35, 232, 233, 36, 37, 37,
2261 37, 38, 38, 38, 39, 39, 39, 40, 40, 40,
2262 41, 41, 41, 322, 37, 22, 334, 38, 251, 334,
2263 39, 301, 262, 40, 232, 233, 41, 42, 42, 42,
2264 232, 245, 245, 245, 251, 234, 232, 233, 262, 233,
2265 232, 233, 380, 42, 43, 43, 43, 43, 43, 43,
2266 43, 43, 43, 43, 43, 43, 43, 43, 43, 301,
2267 43, 43, 43, 43, 43, 45, 45, 45, 46, 46,
2269 46, 53, 53, 53, 234, 266, 1416, 49, 49, 266,
2270 278, 45, 49, 266, 46, 443, 234, 53, 234, 43,
2271 43, 445, 49, 248, 248, 248, 278, 43, 44, 44,
2272 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
2273 44, 44, 44, 388, 44, 44, 44, 44, 44, 330,
2274 388, 49, 443, 50, 50, 54, 54, 54, 50, 55,
2275 55, 55, 56, 56, 56, 259, 259, 259, 50, 330,
2276 402, 54, 445, 44, 44, 55, 488, 402, 56, 488,
2277 1422, 44, 47, 47, 47, 47, 47, 47, 47, 47,
2278 47, 47, 47, 47, 47, 47, 47, 50, 47, 47,
2280 47, 47, 47, 57, 57, 57, 58, 58, 58, 59,
2281 59, 59, 268, 60, 60, 60, 63, 63, 63, 57,
2282 290, 312, 58, 246, 256, 59, 268, 47, 47, 60,
2283 246, 256, 63, 1429, 1430, 47, 290, 312, 47, 246,
2284 256, 270, 270, 270, 47, 48, 48, 48, 48, 48,
2285 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
2286 479, 48, 48, 48, 48, 48, 64, 64, 64, 67,
2287 67, 67, 68, 68, 68, 479, 69, 69, 69, 70,
2288 70, 70, 64, 327, 335, 67, 285, 344, 68, 376,
2289 48, 48, 69, 285, 336, 70, 1431, 335, 48, 327,
2291 376, 48, 285, 344, 212, 336, 336, 48, 51, 51,
2292 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
2293 51, 51, 51, 444, 51, 51, 51, 51, 51, 71,
2294 71, 71, 72, 72, 72, 73, 73, 73, 466, 74,
2295 74, 74, 75, 75, 75, 71, 212, 360, 72, 371,
2296 339, 73, 212, 51, 51, 74, 212, 339, 75, 1435,
2297 444, 212, 51, 360, 51, 371, 339, 51, 275, 275,
2298 275, 406, 51, 51, 52, 52, 52, 52, 52, 52,
2299 52, 52, 52, 52, 52, 52, 52, 52, 52, 466,
2300 52, 52, 52, 52, 52, 76, 76, 76, 77, 77,
2302 77, 78, 78, 78, 1390, 79, 79, 79, 80, 80,
2303 80, 76, 1390, 385, 77, 355, 366, 78, 406, 52,
2304 52, 79, 355, 366, 80, 284, 284, 284, 52, 385,
2305 52, 355, 366, 52, 287, 287, 287, 391, 52, 52,
2306 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
2307 61, 61, 61, 61, 61, 527, 61, 61, 61, 61,
2308 61, 81, 81, 81, 82, 82, 82, 83, 83, 83,
2309 1441, 84, 84, 84, 85, 85, 85, 81, 501, 508,
2310 82, 501, 508, 83, 391, 61, 61, 84, 391, 398,
2311 85, 527, 61, 295, 295, 295, 1445, 61, 309, 309,
2313 309, 320, 320, 320, 430, 398, 61, 62, 62, 62,
2314 62, 62, 62, 62, 62, 62, 62, 62, 62, 62,
2315 62, 62, 1448, 62, 62, 62, 62, 62, 86, 86,
2316 86, 87, 87, 87, 88, 88, 88, 853, 89, 89,
2317 89, 90, 90, 90, 86, 506, 411, 87, 863, 853,
2318 88, 430, 62, 62, 89, 422, 417, 90, 506, 62,
2319 863, 303, 411, 417, 62, 324, 324, 324, 338, 338,
2320 338, 422, 417, 62, 65, 65, 65, 65, 65, 65,
2321 65, 65, 65, 65, 65, 65, 65, 65, 65, 303,
2322 65, 65, 65, 65, 65, 91, 91, 91, 92, 92,
2324 92, 93, 93, 93, 303, 94, 94, 94, 95, 95,
2325 95, 91, 435, 450, 92, 511, 1450, 93, 511, 65,
2326 65, 94, 1452, 1454, 95, 341, 341, 341, 435, 450,
2327 65, 354, 354, 354, 357, 357, 357, 1351, 65, 66,
2328 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
2329 66, 66, 66, 66, 1351, 66, 66, 66, 66, 66,
2330 96, 96, 96, 99, 99, 99, 100, 100, 100, 896,
2331 101, 101, 101, 102, 102, 102, 96, 460, 471, 99,
2332 515, 896, 100, 515, 66, 66, 101, 1455, 1456, 102,
2333 365, 365, 365, 460, 471, 66, 368, 368, 368, 378,
2335 378, 378, 1459, 66, 97, 97, 97, 97, 97, 97,
2336 97, 97, 97, 97, 97, 97, 97, 97, 97, 1461,
2337 97, 97, 97, 97, 97, 103, 103, 103, 104, 104,
2338 104, 105, 105, 105, 1466, 106, 106, 106, 382, 382,
2339 382, 103, 1209, 564, 104, 509, 564, 105, 1057, 97,
2340 97, 106, 97, 513, 97, 390, 390, 390, 509, 513,
2341 97, 304, 395, 395, 395, 513, 97, 1209, 1057, 97,
2342 98, 98, 98, 98, 98, 98, 98, 98, 98, 98,
2343 98, 98, 98, 98, 98, 1468, 98, 98, 98, 98,
2344 98, 109, 109, 109, 110, 110, 110, 113, 113, 113,
2346 1353, 114, 114, 114, 761, 304, 304, 109, 304, 761,
2347 110, 557, 1475, 113, 304, 98, 98, 114, 98, 516,
2348 98, 404, 404, 404, 557, 516, 98, 408, 408, 408,
2349 827, 516, 98, 1353, 827, 98, 107, 107, 107, 107,
2350 107, 107, 107, 107, 107, 107, 107, 107, 107, 107,
2351 107, 107, 107, 107, 107, 107, 107, 107, 107, 107,
2352 107, 107, 107, 107, 107, 107, 107, 107, 107, 107,
2353 107, 107, 107, 107, 107, 107, 107, 107, 107, 107,
2354 107, 107, 107, 107, 107, 107, 107, 107, 107, 107,
2355 107, 107, 107, 107, 107, 107, 107, 107, 107, 107,
2357 107, 107, 107, 107, 107, 107, 107, 107, 111, 111,
2358 111, 111, 111, 111, 111, 111, 111, 111, 111, 111,
2359 111, 111, 111, 111, 111, 111, 111, 111, 111, 111,
2360 111, 111, 111, 111, 111, 111, 111, 111, 111, 111,
2361 111, 111, 111, 111, 111, 111, 111, 111, 111, 111,
2362 111, 111, 111, 111, 111, 111, 111, 111, 111, 111,
2363 111, 111, 111, 111, 111, 111, 111, 111, 111, 111,
2364 111, 111, 111, 111, 111, 111, 111, 111, 111, 111,
2365 115, 115, 115, 115, 115, 115, 115, 115, 115, 115,
2366 115, 115, 115, 115, 115, 1476, 115, 115, 115, 115,
2368 115, 117, 117, 117, 118, 118, 118, 121, 121, 121,
2369 1394, 122, 122, 122, 416, 416, 416, 117, 1394, 656,
2370 118, 1477, 517, 121, 1479, 115, 115, 122, 517, 1493,
2371 115, 419, 419, 419, 517, 656, 115, 116, 116, 116,
2372 116, 116, 116, 116, 116, 116, 116, 116, 116, 116,
2373 116, 116, 1498, 116, 116, 116, 116, 116, 123, 123,
2374 123, 124, 124, 124, 125, 125, 125, 1499, 126, 126,
2375 126, 428, 428, 428, 123, 1490, 1503, 124, 1491, 541,
2376 125, 1490, 116, 116, 126, 541, 1504, 116, 432, 432,
2377 432, 541, 1352, 116, 119, 119, 119, 119, 119, 119,
2379 119, 119, 119, 119, 119, 119, 119, 119, 119, 1491,
2380 119, 119, 119, 119, 119, 127, 127, 127, 128, 128,
2381 128, 131, 131, 131, 1508, 132, 132, 132, 133, 133,
2382 133, 127, 1514, 1352, 128, 455, 559, 131, 1516, 119,
2383 119, 132, 455, 119, 133, 442, 442, 442, 1517, 559,
2384 119, 455, 119, 447, 447, 447, 454, 454, 454, 119,
2385 120, 120, 120, 120, 120, 120, 120, 120, 120, 120,
2386 120, 120, 120, 120, 120, 1520, 120, 120, 120, 120,
2387 120, 134, 134, 134, 135, 135, 135, 136, 136, 136,
2388 1523, 137, 137, 137, 138, 138, 138, 134, 1527, 1528,
2390 135, 477, 560, 136, 1529, 120, 120, 137, 477, 120,
2391 138, 457, 457, 457, 1530, 560, 120, 477, 120, 464,
2392 464, 464, 468, 468, 468, 120, 129, 129, 129, 129,
2393 129, 129, 129, 129, 129, 129, 129, 129, 129, 129,
2394 129, 1531, 129, 129, 129, 129, 129, 141, 141, 141,
2395 142, 142, 142, 143, 143, 143, 1532, 144, 144, 144,
2396 145, 145, 145, 141, 1533, 1534, 142, 1535, 1536, 143,
2397 1541, 129, 129, 144, 1543, 1544, 145, 129, 476, 476,
2398 476, 478, 478, 478, 1547, 1492, 487, 487, 487, 1548,
2399 1552, 129, 130, 130, 130, 130, 130, 130, 130, 130,
2401 130, 130, 130, 130, 130, 130, 130, 1558, 130, 130,
2402 130, 130, 130, 146, 146, 146, 147, 147, 147, 148,
2403 148, 148, 1559, 151, 151, 151, 152, 152, 152, 146,
2404 1492, 1560, 147, 1545, 1565, 148, 1569, 130, 130, 151,
2405 1546, 1545, 152, 130, 487, 659, 659, 659, 1546, 659,
2406 671, 671, 671, 687, 687, 687, 1570, 130, 139, 139,
2407 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
2408 139, 139, 139, 1571, 139, 139, 139, 139, 139, 155,
2409 155, 155, 156, 156, 156, 157, 157, 157, 1573, 158,
2410 158, 158, 159, 159, 159, 155, 1576, 1577, 156, 1578,
2412 1265, 157, 744, 139, 139, 158, 1265, 1578, 159, 139,
2413 1265, 744, 139, 671, 1265, 1580, 687, 1581, 744, 726,
2414 726, 726, 1584, 139, 140, 140, 140, 140, 140, 140,
2415 140, 140, 140, 140, 140, 140, 140, 140, 140, 1591,
2416 140, 140, 140, 140, 140, 160, 160, 160, 161, 161,
2417 161, 162, 162, 162, 1593, 165, 165, 165, 166, 166,
2418 166, 160, 1266, 1603, 161, 1579, 1604, 162, 1266, 140,
2419 140, 165, 1266, 1579, 166, 140, 1266, 1606, 140, 698,
2420 698, 698, 726, 698, 1619, 1611, 698, 1610, 1625, 140,
2421 149, 149, 149, 149, 149, 149, 149, 149, 149, 149,
2423 149, 149, 149, 149, 149, 1629, 149, 149, 149, 149,
2424 149, 167, 167, 167, 168, 168, 168, 169, 169, 169,
2425 1631, 170, 170, 170, 171, 171, 171, 167, 1637, 1610,
2426 168, 1611, 1643, 169, 1644, 149, 149, 170, 1645, 1646,
2427 171, 149, 842, 842, 842, 1647, 149, 150, 150, 150,
2428 150, 150, 150, 150, 150, 150, 150, 150, 150, 150,
2429 150, 150, 1648, 150, 150, 150, 150, 150, 172, 172,
2430 172, 175, 175, 175, 176, 176, 176, 1649, 179, 179,
2431 179, 180, 180, 180, 172, 1650, 1651, 175, 1652, 1658,
2432 176, 1659, 150, 150, 179, 1660, 1661, 180, 150, 731,
2434 731, 731, 1662, 150, 153, 153, 153, 153, 153, 153,
2435 153, 153, 153, 153, 153, 153, 153, 153, 153, 1663,
2436 153, 153, 153, 153, 153, 181, 181, 181, 182, 182,
2437 182, 183, 183, 183, 1664, 184, 184, 184, 185, 185,
2438 185, 181, 1665, 1666, 182, 1667, 1672, 183, 1673, 153,
2439 153, 184, 1675, 1676, 185, 153, 1677, 1678, 153, 706,
2440 706, 706, 731, 706, 1685, 1686, 706, 1687, 1688, 153,
2441 154, 154, 154, 154, 154, 154, 154, 154, 154, 154,
2442 154, 154, 154, 154, 154, 1689, 154, 154, 154, 154,
2443 154, 186, 186, 186, 189, 189, 189, 190, 190, 190,
2445 525, 525, 525, 1690, 669, 669, 669, 186, 1691, 1692,
2446 189, 1694, 1702, 190, 1714, 154, 154, 525, 1717, 296,
2447 297, 154, 669, 1718, 154, 859, 859, 859, 1710, 296,
2448 297, 1071, 1071, 1071, 1721, 154, 163, 163, 163, 163,
2449 163, 163, 163, 163, 163, 163, 163, 163, 163, 163,
2450 163, 1709, 163, 163, 163, 163, 163, 296, 297, 533,
2451 533, 533, 1724, 296, 1725, 1710, 296, 550, 550, 550,
2452 1726, 297, 296, 1727, 1728, 297, 533, 565, 565, 565,
2453 1729, 163, 163, 1709, 550, 1074, 1074, 1074, 1730, 163,
2454 1731, 163, 1732, 163, 565, 1073, 1073, 1073, 1077, 1077,
2456 1077, 163, 164, 164, 164, 164, 164, 164, 164, 164,
2457 164, 164, 164, 164, 164, 164, 164, 1733, 164, 164,
2458 164, 164, 164, 573, 573, 573, 575, 575, 575, 590,
2459 590, 590, 598, 598, 598, 603, 603, 603, 1734, 1736,
2460 573, 1073, 1737, 575, 1738, 1739, 590, 164, 164, 598,
2461 1741, 1744, 603, 1745, 1748, 164, 1752, 164, 1753, 164,
2462 1085, 1085, 1085, 1110, 1110, 1110, 1755, 164, 173, 173,
2463 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
2464 173, 173, 173, 1758, 173, 173, 173, 173, 173, 625,
2465 625, 625, 647, 647, 647, 651, 651, 651, 694, 694,
2467 694, 670, 670, 670, 1759, 1760, 625, 1761, 1763, 647,
2468 1766, 1768, 651, 173, 173, 1786, 694, 1790, 1791, 670,
2469 722, 722, 722, 1792, 722, 1797, 1785, 722, 738, 738,
2470 738, 1798, 738, 1787, 1799, 738, 173, 174, 174, 174,
2471 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
2472 174, 174, 1786, 174, 174, 174, 174, 174, 670, 697,
2473 697, 697, 695, 695, 695, 1785, 701, 701, 701, 702,
2474 702, 702, 705, 705, 705, 1787, 697, 707, 707, 707,
2475 695, 1800, 174, 174, 701, 1801, 1802, 702, 1803, 705,
2476 1804, 746, 746, 746, 707, 746, 1805, 1806, 746, 1121,
2478 1121, 1121, 1122, 1122, 1122, 174, 177, 177, 177, 177,
2479 177, 177, 177, 177, 177, 177, 177, 177, 177, 177,
2480 177, 695, 177, 177, 177, 177, 177, 709, 709, 709,
2481 1807, 1809, 702, 1810, 1816, 713, 713, 713, 714, 714,
2482 714, 719, 719, 719, 709, 1224, 1224, 1224, 1122, 1817,
2483 1821, 177, 177, 713, 1824, 1832, 714, 1833, 1834, 719,
2484 1858, 1859, 177, 178, 178, 178, 178, 178, 178, 178,
2485 178, 178, 178, 178, 178, 178, 178, 178, 1854, 178,
2486 178, 178, 178, 178, 1862, 714, 720, 720, 720, 721,
2487 721, 721, 724, 724, 724, 737, 737, 737, 725, 725,
2489 725, 745, 745, 745, 720, 1863, 721, 1854, 178, 178,
2490 724, 1865, 737, 1226, 1226, 1226, 725, 1866, 745, 178,
2491 187, 187, 187, 187, 187, 187, 187, 187, 187, 187,
2492 187, 187, 187, 187, 187, 725, 187, 187, 187, 187,
2493 187, 741, 741, 741, 742, 742, 742, 1868, 1795, 720,
2494 748, 748, 748, 749, 749, 749, 1869, 749, 1795, 741,
2495 749, 1795, 742, 1870, 1796, 187, 187, 748, 750, 750,
2496 750, 764, 764, 764, 1796, 764, 187, 1796, 764, 772,
2497 772, 772, 1871, 772, 1872, 750, 772, 1874, 187, 188,
2498 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
2500 188, 188, 188, 188, 742, 188, 188, 188, 188, 188,
2501 758, 758, 758, 759, 759, 759, 763, 763, 763, 765,
2502 765, 765, 768, 768, 768, 769, 769, 769, 758, 1875,
2503 1876, 759, 1877, 763, 188, 188, 765, 771, 771, 771,
2504 768, 1887, 1855, 769, 1888, 188, 773, 773, 773, 1889,
2505 1864, 774, 774, 774, 771, 1893, 1901, 188, 230, 1903,
2506 776, 776, 776, 1864, 773, 230, 781, 781, 781, 774,
2507 759, 782, 782, 782, 230, 230, 769, 776, 777, 777,
2508 777, 1911, 777, 1855, 781, 777, 1228, 1228, 1228, 782,
2509 783, 783, 783, 1231, 1231, 1231, 784, 784, 784, 786,
2511 786, 786, 230, 230, 230, 1856, 1867, 783, 1912, 230,
2512 230, 774, 230, 784, 1913, 1914, 230, 786, 230, 1867,
2513 230, 785, 785, 785, 1915, 1916, 782, 787, 787, 787,
2514 789, 789, 789, 790, 790, 790, 1925, 1926, 785, 791,
2515 791, 791, 792, 792, 792, 787, 1856, 789, 1930, 1931,
2516 790, 793, 793, 793, 1921, 1932, 791, 1933, 1934, 792,
2517 1935, 1936, 794, 794, 794, 796, 796, 796, 1937, 793,
2518 797, 797, 797, 1939, 797, 1922, 1940, 797, 1941, 785,
2519 794, 1942, 796, 790, 798, 798, 798, 787, 799, 799,
2520 799, 800, 800, 800, 801, 801, 801, 790, 1943, 794,
2522 792, 1921, 798, 802, 802, 802, 799, 1944, 800, 1945,
2523 1922, 801, 803, 803, 803, 804, 804, 804, 1946, 1951,
2524 802, 809, 809, 809, 810, 810, 810, 813, 813, 813,
2525 803, 1955, 1956, 804, 814, 814, 814, 1957, 1958, 809,
2526 1965, 1968, 810, 799, 801, 813, 815, 815, 815, 816,
2527 816, 816, 814, 816, 1975, 1976, 816, 1977, 801, 817,
2528 817, 817, 1978, 815, 818, 818, 818, 819, 819, 819,
2529 1979, 820, 820, 820, 1980, 820, 1982, 817, 820, 871,
2530 871, 871, 818, 871, 819, 804, 871, 810, 822, 822,
2531 822, 823, 823, 823, 838, 838, 838, 814, 839, 839,
2533 839, 841, 841, 841, 1988, 1989, 822, 1842, 1970, 823,
2534 1982, 1990, 838, 865, 865, 865, 839, 1842, 1970, 841,
2535 866, 866, 866, 1842, 818, 867, 867, 867, 1991, 1992,
2536 865, 869, 869, 869, 870, 870, 870, 1843, 866, 874,
2537 874, 874, 1971, 867, 876, 876, 876, 1843, 841, 869,
2538 1973, 870, 1971, 1843, 823, 1993, 874, 877, 877, 877,
2539 1973, 1974, 876, 879, 879, 879, 881, 881, 881, 1994,
2540 881, 1974, 1995, 881, 1998, 877, 884, 884, 884, 1999,
2541 869, 879, 885, 885, 885, 2001, 885, 2002, 2003, 885,
2542 886, 886, 886, 884, 887, 887, 887, 2005, 2010, 874,
2544 2011, 888, 888, 888, 2012, 888, 2014, 886, 888, 2020,
2545 879, 887, 890, 890, 890, 892, 892, 892, 893, 893,
2546 893, 895, 895, 895, 898, 898, 898, 2021, 2022, 890,
2547 900, 900, 900, 892, 2023, 2024, 893, 2025, 2026, 895,
2548 2027, 898, 901, 901, 901, 903, 903, 903, 900, 904,
2549 904, 904, 2028, 904, 2029, 2031, 904, 908, 908, 908,
2550 901, 2032, 2044, 903, 909, 909, 909, 911, 911, 911,
2551 921, 921, 921, 2045, 2046, 908, 2036, 922, 922, 922,
2552 895, 922, 909, 2047, 922, 911, 2048, 921, 927, 927,
2553 927, 2049, 903, 928, 928, 928, 930, 930, 930, 2050,
2555 935, 935, 935, 2051, 935, 2055, 927, 935, 938, 938,
2556 938, 928, 2056, 2057, 930, 939, 939, 939, 2036, 939,
2557 2058, 2059, 939, 2060, 2062, 938, 942, 942, 942, 943,
2558 943, 943, 2063, 943, 2064, 2067, 943, 951, 951, 951,
2559 952, 952, 952, 942, 954, 954, 954, 959, 959, 959,
2560 2072, 959, 2073, 2074, 959, 951, 2075, 2076, 952, 2077,
2561 930, 2078, 954, 962, 962, 962, 963, 963, 963, 2079,
2562 963, 2080, 2081, 963, 966, 966, 966, 967, 967, 967,
2563 962, 969, 969, 969, 971, 971, 971, 2082, 971, 2083,
2564 2090, 971, 966, 2093, 2094, 967, 974, 974, 974, 969,
2566 975, 975, 975, 977, 977, 977, 985, 985, 985, 2084,
2567 954, 986, 986, 986, 974, 979, 979, 979, 975, 979,
2568 2087, 977, 979, 2097, 985, 988, 988, 988, 2086, 986,
2569 2099, 2087, 969, 989, 989, 989, 2100, 990, 990, 990,
2570 2102, 990, 2086, 988, 990, 991, 991, 991, 2103, 2106,
2571 989, 992, 992, 992, 2084, 992, 2107, 2108, 992, 994,
2572 994, 994, 991, 995, 995, 995, 999, 999, 999, 977,
2573 997, 997, 997, 1003, 1003, 1003, 2112, 994, 1000, 1000,
2574 1000, 995, 1000, 999, 988, 1000, 2120, 2122, 997, 2124,
2575 1003, 1004, 1004, 1004, 2126, 1004, 2133, 2133, 1004, 1006,
2577 1006, 1006, 1007, 1007, 1007, 1009, 1009, 1009, 1011, 1011,
2578 1011, 2131, 1011, 2134, 2136, 1011, 2138, 1006, 2139, 2140,
2579 1007, 2141, 2150, 1009, 1014, 1014, 1014, 1015, 1015, 1015,
2580 1017, 1017, 1017, 1018, 1018, 1018, 997, 1019, 1019, 1019,
2581 2152, 1019, 1014, 2155, 1019, 1015, 2110, 2149, 1017, 2111,
2582 1018, 2131, 1022, 1022, 1022, 1023, 1023, 1023, 2110, 1023,
2583 2157, 2111, 1023, 1024, 1024, 1024, 2149, 2117, 1009, 1022,
2584 1025, 1025, 1025, 1027, 1027, 1027, 1029, 1029, 1029, 2117,
2585 2118, 1024, 1032, 1032, 1032, 1033, 1033, 1033, 1025, 1017,
2586 2135, 1027, 2118, 1029, 1035, 1035, 1035, 1038, 1038, 1038,
2588 1032, 2135, 2151, 1033, 1039, 1039, 1039, 1041, 1041, 1041,
2589 2132, 2163, 1035, 2154, 2156, 1038, 1042, 1042, 1042, 2164,
2590 1042, 2151, 1039, 1042, 2132, 1041, 1045, 1045, 1045, 1046,
2591 1046, 1046, 2154, 2156, 1027, 1048, 1048, 1048, 1049, 1049,
2592 1049, 2165, 1049, 2167, 1045, 1049, 2168, 1046, 1053, 1053,
2593 1053, 2169, 2170, 1048, 1035, 1054, 1054, 1054, 2177, 2178,
2594 1041, 1056, 1056, 1056, 2179, 2180, 1053, 1058, 1058, 1058,
2595 1065, 1065, 1065, 1054, 1088, 1088, 1088, 2181, 2182, 1056,
2596 1089, 1089, 1089, 2185, 1089, 1058, 1058, 1089, 1065, 2186,
2597 2187, 1088, 2188, 2189, 1048, 1090, 1090, 1090, 1091, 1091,
2599 1091, 1092, 1092, 1092, 2190, 1092, 2192, 2194, 1092, 1095,
2600 1095, 1095, 2196, 1090, 2206, 1091, 1097, 1097, 1097, 2207,
2601 1097, 1056, 2204, 1097, 1100, 1100, 1100, 1095, 2208, 1101,
2602 1101, 1101, 2205, 1101, 2204, 1065, 1101, 2209, 1102, 1102,
2603 1102, 1100, 1102, 2210, 2205, 1102, 1106, 1106, 1106, 1107,
2604 1107, 1107, 1090, 1107, 2211, 2215, 1107, 2216, 1095, 1109,
2605 1109, 1109, 2217, 1106, 1112, 1112, 1112, 1113, 1113, 1113,
2606 2218, 1113, 2219, 2220, 1113, 2223, 2221, 1109, 1114, 1114,
2607 1114, 1112, 1115, 1115, 1115, 1117, 1117, 1117, 1128, 1128,
2608 1128, 2224, 1129, 1129, 1129, 1114, 1129, 2225, 2226, 1129,
2610 1115, 2221, 2227, 1117, 2228, 1128, 1130, 1130, 1130, 1109,
2611 1131, 1131, 1131, 2229, 1132, 1132, 1132, 1134, 1134, 1134,
2612 1137, 1137, 1137, 1130, 1142, 1142, 1142, 1131, 1175, 1175,
2613 1175, 1115, 1132, 2230, 1134, 2231, 2232, 1137, 1138, 1138,
2614 1138, 1142, 1138, 2233, 2234, 1138, 1139, 1139, 1139, 2235,
2615 1139, 2236, 2237, 1139, 2238, 2239, 1131, 1149, 1149, 1149,
2616 1151, 1151, 1151, 1154, 1154, 1154, 2240, 1154, 2241, 2244,
2617 1154, 1157, 1157, 1157, 1175, 1149, 2245, 1151, 2246, 1132,
2618 1159, 1159, 1159, 1161, 1161, 1161, 2247, 2241, 1157, 1165,
2619 1165, 1165, 2248, 1166, 1166, 1166, 2249, 2250, 1159, 2251,
2621 2252, 1161, 2253, 1167, 1167, 1167, 1165, 1167, 2254, 2255,
2622 1167, 1166, 1170, 1170, 1170, 2256, 1170, 2257, 2258, 1170,
2623 2259, 1149, 1174, 1174, 1174, 1176, 1176, 1176, 2261, 1176,
2624 2262, 2263, 1176, 2264, 2265, 1165, 2260, 1181, 1181, 1181,
2625 1174, 1181, 2266, 1159, 1181, 1185, 1185, 1185, 1161, 1166,
2626 1187, 1187, 1187, 1188, 1188, 1188, 2260, 1188, 2267, 2268,
2627 1188, 2269, 2270, 1185, 2271, 1193, 1193, 1193, 1187, 1193,
2628 2272, 2273, 1193, 1196, 1196, 1196, 1198, 1198, 1198, 1199,
2629 1199, 1199, 2274, 1199, 2275, 2276, 1199, 1174, 1233, 1233,
2630 1233, 1196, 2278, 1198, 1202, 1202, 1202, 1204, 1204, 1204,
2632 1205, 1205, 1205, 2279, 2277, 1185, 1187, 1206, 1206, 1206,
2633 2277, 2280, 1202, 2281, 1204, 1207, 1207, 1207, 1205, 2282,
2634 1196, 1208, 1208, 1208, 2283, 1206, 1211, 1211, 1211, 1218,
2635 1218, 1218, 1207, 1234, 1234, 1234, 1239, 1239, 1239, 1208,
2636 1241, 1241, 1241, 1202, 1211, 2285, 2286, 1218, 1242, 1242,
2637 1242, 1233, 1242, 2288, 2289, 1242, 1245, 1245, 1245, 1206,
2638 1246, 1246, 1246, 2291, 1246, 2292, 1205, 1246, 2295, 1251,
2639 1251, 1251, 2296, 2297, 1245, 2298, 2300, 1211, 2302, 1234,
2640 2294, 1218, 1208, 1261, 1261, 1261, 1241, 1251, 1253, 1253,
2641 1253, 2304, 1253, 1211, 2294, 1253, 1257, 1257, 1257, 2306,
2643 1257, 1261, 2308, 1257, 1262, 1262, 1262, 1264, 1264, 1264,
2644 2309, 1264, 2310, 2311, 1264, 1267, 1267, 1267, 2312, 2313,
2645 1251, 2314, 1245, 1268, 1268, 1268, 2315, 1268, 2317, 2319,
2646 1268, 2321, 1267, 1269, 1269, 1269, 1273, 1273, 1273, 1274,
2647 1274, 1274, 2322, 1261, 1275, 1275, 1275, 1276, 1276, 1276,
2648 2323, 1269, 1277, 1277, 1277, 1280, 1280, 1280, 2324, 1280,
2649 2377, 2341, 1280, 1283, 1283, 1283, 1284, 1284, 1284, 2341,
2650 1284, 2333, 2325, 1284, 1285, 1285, 1285, 1288, 1288, 1288,
2651 1283, 1286, 1286, 1286, 1269, 1286, 2339, 1406, 1286, 1405,
2652 2339, 1285, 1290, 1290, 1290, 1288, 1291, 1291, 1291, 2334,
2654 1291, 2377, 2359, 1291, 1292, 1292, 1292, 1275, 2325, 1290,
2655 1276, 2359, 1294, 1294, 1294, 1277, 1294, 2351, 2333, 1294,
2656 2342, 1292, 1297, 1297, 1297, 1298, 1298, 1298, 2342, 1298,
2657 2335, 2326, 1298, 1299, 1299, 1299, 1304, 1304, 1304, 1297,
2658 1305, 1305, 1305, 1307, 1307, 1307, 2334, 1308, 1308, 1308,
2659 1299, 1308, 2351, 1304, 1308, 1309, 1309, 1309, 1305, 2416,
2660 1307, 1311, 1311, 1311, 1312, 1312, 1312, 2326, 1312, 2349,
2661 2416, 1312, 1309, 1314, 1314, 1314, 2345, 2335, 1311, 1316,
2662 1316, 1316, 1320, 1320, 1320, 1321, 1321, 1321, 2337, 1321,
2663 2347, 1314, 1321, 1323, 1323, 1323, 2343, 1316, 2338, 1320,
2665 1325, 1325, 1325, 2346, 2343, 1305, 1327, 1327, 1327, 2349,
2666 2336, 1323, 1328, 1328, 1328, 1329, 1329, 1329, 1325, 1330,
2667 1330, 1330, 2345, 1327, 1332, 1332, 1332, 2347, 2344, 1328,
2668 1316, 2337, 1329, 1333, 1333, 1333, 2344, 1330, 1334, 1334,
2669 1334, 2338, 1332, 1335, 1335, 1335, 1342, 1342, 1342, 2346,
2670 1333, 1325, 1337, 1337, 1337, 1334, 1337, 2336, 2340, 1337,
2671 2383, 1335, 2340, 2350, 1342, 1344, 1344, 1344, 2371, 2348,
2672 1332, 2360, 1345, 1345, 1345, 2373, 1345, 2357, 1329, 1345,
2673 2360, 1402, 1344, 1401, 2373, 1330, 1346, 1346, 1346, 2383,
2674 1347, 1347, 1347, 1348, 1348, 1348, 2363, 1342, 1349, 1349,
2676 1349, 2371, 1349, 2350, 1346, 1349, 2348, 1335, 1347, 2357,
2677 1348, 1350, 1350, 1350, 1356, 1356, 1356, 1357, 1357, 1357,
2678 1362, 1362, 1362, 1367, 1367, 1367, 1368, 1368, 1368, 1350,
2679 2363, 1356, 1369, 1369, 1369, 1357, 1370, 1370, 1370, 1372,
2680 1372, 1372, 1395, 2352, 1346, 1347, 1373, 1373, 1373, 1377,
2681 1377, 1377, 1379, 1379, 1379, 1382, 1382, 1382, 1384, 1384,
2682 1384, 1386, 1386, 1386, 1387, 1387, 1387, 1396, 1396, 1396,
2683 1379, 1396, 1393, 1382, 1396, 1384, 2353, 1357, 2352, 1386,
2684 2365, 1387, 1399, 1399, 1399, 2354, 1400, 1400, 1400, 1403,
2685 1403, 1403, 1404, 1404, 1404, 2358, 1392, 1407, 1407, 1407,
2687 1399, 1407, 1379, 1400, 1407, 1410, 1410, 1410, 2355, 1410,
2688 2356, 2375, 1410, 1414, 1414, 1414, 1417, 1417, 1417, 1386,
2689 1417, 2353, 2365, 1417, 1420, 1420, 1420, 2358, 1399, 2367,
2690 2354, 1414, 1421, 1421, 1421, 2366, 1421, 2364, 2361, 1421,
2691 2397, 1420, 1423, 1423, 1423, 2355, 1423, 2356, 2375, 1423,
2692 1426, 1426, 1426, 1427, 1427, 1427, 2362, 1427, 2368, 2376,
2693 1427, 1428, 1428, 1428, 1432, 1432, 1432, 1426, 1433, 1433,
2694 1433, 2364, 1433, 2361, 2367, 1433, 2369, 2366, 1428, 2374,
2695 2397, 1432, 1434, 1434, 1434, 1436, 1436, 1436, 2374, 1436,
2696 2370, 2362, 1436, 1439, 1439, 1439, 2376, 1440, 1440, 1440,
2698 1434, 1440, 2372, 2368, 1440, 1442, 1442, 1442, 2378, 1442,
2699 1439, 2369, 1442, 1446, 1446, 1446, 1449, 1449, 1449, 1451,
2700 1451, 1451, 1453, 1453, 1453, 2370, 1453, 2379, 2384, 1453,
2701 2387, 1446, 2380, 1434, 1449, 2372, 1451, 1457, 1457, 1457,
2702 1460, 1460, 1460, 1462, 1462, 1462, 1463, 1463, 1463, 2378,
2703 1463, 2391, 2381, 1463, 2382, 1457, 1391, 2384, 1460, 2391,
2704 1462, 1464, 1464, 1464, 2387, 1451, 1465, 1465, 1465, 1389,
2705 1465, 1388, 2379, 1465, 1467, 1467, 1467, 2380, 1464, 1449,
2706 1469, 1469, 1469, 1470, 1470, 1470, 1471, 1471, 1471, 2381,
2707 1471, 2382, 1467, 1471, 1472, 1472, 1472, 2385, 1469, 2392,
2709 1470, 1473, 1473, 1473, 2388, 1473, 2385, 2392, 1473, 2395,
2710 2396, 1472, 1474, 1474, 1474, 1478, 1478, 1478, 1480, 1480,
2711 1480, 2398, 1480, 2386, 2389, 1480, 1483, 1483, 1483, 1469,
2712 1474, 2403, 2386, 1478, 1484, 1484, 1484, 2404, 2388, 1467,
2713 2399, 1485, 1485, 1485, 1483, 1485, 2395, 2396, 1485, 1488,
2714 1488, 1488, 1484, 1494, 1494, 1494, 1495, 1495, 1495, 1385,
2715 1495, 2398, 1383, 1495, 1496, 1496, 1496, 1488, 2403, 2389,
2716 1494, 1497, 1497, 1497, 2404, 2399, 1474, 1483, 1381, 1478,
2717 1380, 1378, 1496, 1500, 1500, 1500, 2390, 1484, 1501, 1501,
2718 1501, 1502, 1502, 1502, 1505, 1505, 1505, 1506, 1506, 1506,
2720 1507, 1507, 1507, 1509, 1509, 1509, 1510, 1510, 1510, 1511,
2721 1511, 1511, 1512, 1512, 1512, 1513, 1513, 1513, 1515, 1515,
2722 1515, 1518, 1518, 1518, 1521, 1521, 1521, 1496, 1522, 1522,
2723 1522, 2390, 1522, 2393, 1376, 1522, 1515, 2400, 1375, 1518,
2724 2415, 1521, 1524, 1524, 1524, 1525, 1525, 1525, 1526, 1526,
2725 1526, 2394, 1526, 2401, 2415, 1526, 1537, 1537, 1537, 2402,
2726 1524, 1374, 1525, 1538, 1538, 1538, 1539, 1539, 1539, 1515,
2727 1539, 2405, 2400, 1539, 1537, 1540, 1540, 1540, 1371, 2393,
2728 1538, 1542, 1542, 1542, 1549, 1549, 1549, 2406, 1549, 1366,
2729 1365, 1549, 1553, 1553, 1553, 1364, 1553, 2394, 2401, 1553,
2731 1556, 1556, 1556, 2405, 2402, 1537, 1557, 1557, 1557, 1363,
2732 1557, 2407, 2409, 1557, 1561, 1561, 1561, 1556, 1561, 2406,
2733 2407, 1561, 1564, 1564, 1564, 1566, 1566, 1566, 2410, 1566,
2734 2408, 2413, 1566, 1572, 1572, 1572, 1574, 1574, 1574, 2408,
2735 1564, 1575, 1575, 1575, 2409, 1575, 1361, 2411, 1575, 1360,
2736 1359, 1572, 1358, 1574, 1582, 1582, 1582, 1585, 1585, 1585,
2737 2410, 1585, 1355, 2413, 1585, 1343, 1588, 1588, 1588, 2412,
2738 1588, 1341, 1582, 1588, 1592, 1592, 1592, 1594, 1594, 1594,
2739 1595, 1595, 1595, 1340, 1595, 1564, 1336, 1595, 1331, 1598,
2740 1598, 1598, 1592, 1598, 2411, 1594, 1598, 1601, 1601, 1601,
2742 1602, 1602, 1602, 1605, 1605, 1605, 1607, 1607, 1607, 1608,
2743 1608, 1608, 1609, 1609, 1609, 1601, 2412, 1602, 1612, 1612,
2744 1612, 1605, 1326, 1324, 1607, 1592, 1322, 1608, 1319, 1318,
2745 1609, 1317, 1315, 1601, 1613, 1613, 1613, 1313, 1613, 1310,
2746 1306, 1613, 1594, 1616, 1616, 1616, 1617, 1617, 1617, 1618,
2747 1618, 1618, 1620, 1620, 1620, 1621, 1621, 1621, 1622, 1622,
2748 1622, 1616, 1623, 1623, 1623, 1607, 1303, 1605, 1624, 1624,
2749 1624, 1626, 1626, 1626, 1627, 1627, 1627, 1628, 1628, 1628,
2750 1630, 1630, 1630, 1633, 1633, 1633, 1634, 1634, 1634, 2414,
2751 1634, 1302, 1301, 1634, 1638, 1638, 1638, 1300, 1630, 1293,
2753 1633, 1616, 1640, 1640, 1640, 1289, 1640, 1287, 1279, 1640,
2754 1278, 1272, 1638, 1653, 1653, 1653, 1654, 1654, 1654, 1271,
2755 1654, 2414, 1270, 1654, 1657, 1657, 1657, 1263, 1668, 1668,
2756 1668, 1653, 1668, 1260, 1256, 1668, 1671, 1671, 1671, 1674,
2757 1674, 1674, 1679, 1679, 1679, 1681, 1681, 1681, 1682, 1682,
2758 1682, 1252, 1682, 1671, 1250, 1682, 1249, 1674, 1240, 1238,
2759 1679, 1237, 1681, 1693, 1693, 1693, 1695, 1695, 1695, 1696,
2760 1696, 1696, 1236, 1653, 1697, 1697, 1697, 1698, 1698, 1698,
2761 1699, 1699, 1699, 1235, 1695, 1232, 1696, 1701, 1701, 1701,
2762 1230, 1681, 1697, 1229, 1227, 1698, 1225, 1699, 1700, 1700,
2764 1700, 1223, 1700, 1222, 1701, 1700, 1703, 1703, 1703, 1704,
2765 1704, 1704, 1705, 1705, 1705, 1221, 1706, 1706, 1706, 1220,
2766 1708, 1708, 1708, 1219, 1703, 1711, 1711, 1711, 1217, 1216,
2767 1705, 1213, 1210, 1697, 1706, 1203, 1201, 1698, 1708, 1712,
2768 1712, 1712, 1713, 1713, 1713, 1715, 1715, 1715, 1716, 1716,
2769 1716, 1719, 1719, 1719, 1722, 1722, 1722, 1712, 1723, 1723,
2770 1723, 1200, 1723, 1197, 1192, 1723, 1735, 1735, 1735, 1719,
2771 1191, 1722, 1743, 1743, 1743, 1186, 1184, 1705, 1746, 1746,
2772 1746, 1708, 1180, 1179, 1735, 1173, 1747, 1747, 1747, 1743,
2773 1747, 1164, 1163, 1747, 1162, 1746, 1749, 1749, 1749, 1750,
2775 1750, 1750, 1754, 1754, 1754, 1756, 1756, 1756, 1757, 1757,
2776 1757, 1160, 1757, 1749, 1158, 1757, 1153, 1750, 1152, 1754,
2777 1150, 1148, 1756, 1147, 1146, 1735, 1765, 1765, 1765, 1767,
2778 1767, 1767, 1769, 1769, 1769, 1771, 1771, 1771, 1772, 1772,
2779 1772, 1145, 1772, 1765, 1144, 1772, 1773, 1773, 1773, 1143,
2780 1769, 1136, 1771, 1774, 1774, 1774, 1775, 1775, 1775, 1135,
2781 1775, 1133, 1127, 1775, 1773, 1778, 1778, 1778, 1779, 1779,
2782 1779, 1774, 1779, 1126, 1125, 1779, 1780, 1780, 1780, 1781,
2783 1781, 1781, 1778, 1783, 1783, 1783, 1784, 1784, 1784, 1788,
2784 1788, 1788, 1124, 1780, 1793, 1793, 1793, 1781, 1794, 1794,
2786 1794, 1123, 1794, 1120, 1784, 1794, 1119, 1788, 1808, 1808,
2787 1808, 1793, 1811, 1811, 1811, 1814, 1814, 1814, 1116, 1774,
2788 1815, 1815, 1815, 1111, 1815, 1108, 1808, 1815, 1105, 1811,
2789 1096, 1094, 1814, 1818, 1818, 1818, 1093, 1818, 1087, 1086,
2790 1818, 1822, 1822, 1822, 1823, 1823, 1823, 1084, 1823, 1083,
2791 1082, 1823, 1825, 1825, 1825, 1826, 1826, 1826, 1822, 1827,
2792 1827, 1827, 1081, 1827, 1080, 1079, 1827, 1808, 1078, 1825,
2793 1076, 1075, 1826, 1828, 1828, 1828, 1829, 1829, 1829, 1072,
2794 1829, 1070, 1069, 1829, 1837, 1837, 1837, 1838, 1838, 1838,
2795 1828, 1838, 1068, 1067, 1838, 1839, 1839, 1839, 1840, 1840,
2797 1840, 1837, 1841, 1841, 1841, 1066, 1841, 1064, 1063, 1841,
2798 1062, 1061, 1839, 1052, 1037, 1840, 1844, 1844, 1844, 1846,
2799 1846, 1846, 1847, 1847, 1847, 1036, 1847, 1031, 1030, 1847,
2800 1850, 1850, 1850, 1028, 1844, 1021, 1020, 1846, 1851, 1851,
2801 1851, 1010, 1851, 1005, 1002, 1851, 1001, 1850, 1852, 1852,
2802 1852, 1857, 1857, 1857, 1860, 1860, 1860, 1861, 1861, 1861,
2803 998, 1861, 993, 984, 1861, 983, 1852, 1879, 1879, 1879,
2804 982, 1860, 1880, 1880, 1880, 1881, 1881, 1881, 1882, 1882,
2805 1882, 1924, 1924, 1924, 1846, 1879, 1883, 1883, 1883, 978,
2806 1883, 970, 1881, 1883, 965, 1882, 1884, 1884, 1884, 964,
2808 1884, 958, 957, 1884, 1890, 1890, 1890, 956, 1890, 955,
2809 950, 1890, 1894, 1894, 1894, 1895, 1895, 1895, 1879, 1895,
2810 949, 1881, 1895, 1896, 1896, 1896, 948, 1896, 947, 1894,
2811 1896, 1899, 1899, 1899, 1900, 1900, 1900, 946, 1900, 945,
2812 944, 1900, 1902, 1902, 1902, 1904, 1904, 1904, 1899, 1904,
2813 934, 933, 1904, 1907, 1907, 1907, 1908, 1908, 1908, 1902,
2814 1908, 932, 931, 1908, 1909, 1909, 1909, 1910, 1910, 1910,
2815 1907, 1910, 926, 925, 1910, 1917, 1917, 1917, 1918, 1918,
2816 1918, 1909, 1918, 920, 919, 1918, 1923, 1923, 1923, 918,
2817 1927, 1927, 1927, 1917, 1927, 917, 916, 1927, 1938, 1938,
2819 1938, 915, 914, 1923, 1923, 1947, 1947, 1947, 1948, 1948,
2820 1948, 1949, 1949, 1949, 913, 1938, 912, 1950, 1950, 1950,
2821 907, 1950, 899, 1947, 1950, 897, 1917, 891, 1949, 1952,
2822 1952, 1952, 889, 1952, 880, 875, 1952, 1959, 1959, 1959,
2823 864, 1959, 862, 861, 1959, 1962, 1962, 1962, 860, 1962,
2824 858, 857, 1962, 856, 1947, 1966, 1966, 1966, 1967, 1967,
2825 1967, 855, 1967, 854, 852, 1967, 1969, 1969, 1969, 851,
2826 1969, 850, 1966, 1969, 1972, 1972, 1972, 849, 1972, 848,
2827 847, 1972, 1981, 1981, 1981, 1983, 1983, 1983, 1984, 1984,
2828 1984, 1985, 1985, 1985, 846, 1985, 845, 844, 1985, 843,
2830 1981, 837, 1983, 1983, 836, 1984, 1984, 835, 832, 1985,
2831 1986, 1986, 1986, 1987, 1987, 1987, 1996, 1996, 1996, 1997,
2832 1997, 1997, 831, 1997, 830, 828, 1997, 2006, 2006, 2006,
2833 2007, 2007, 2007, 1996, 2007, 824, 821, 2007, 2013, 2013,
2834 2013, 2015, 2015, 2015, 812, 2006, 2016, 2016, 2016, 811,
2835 2016, 808, 807, 2016, 806, 2013, 805, 795, 2015, 2019,
2836 2019, 2019, 2034, 2034, 2034, 2037, 2037, 2037, 2038, 2038,
2837 2038, 788, 2038, 780, 779, 2038, 2019, 2039, 2039, 2039,
2838 2034, 2039, 2037, 2037, 2039, 778, 2038, 2042, 2042, 2042,
2839 775, 770, 2006, 767, 766, 2039, 2040, 2040, 2040, 2040,
2841 2040, 2040, 2040, 2040, 2040, 762, 760, 2040, 2043, 2043,
2842 2043, 757, 2040, 2040, 2040, 2040, 2040, 2052, 2052, 2052,
2843 756, 2052, 755, 754, 2052, 2066, 2066, 2066, 753, 2066,
2844 752, 751, 2066, 747, 2061, 2061, 2061, 743, 2065, 2065,
2845 2065, 2040, 2040, 2041, 2041, 2041, 2041, 2041, 2041, 2041,
2846 2041, 2041, 2061, 740, 2041, 2065, 2068, 2068, 2068, 2041,
2847 2041, 2041, 2041, 2041, 2069, 2069, 2069, 739, 2069, 736,
2848 735, 2069, 734, 2068, 2070, 2070, 2070, 2071, 2071, 2071,
2849 733, 2071, 732, 730, 2071, 2104, 2104, 2104, 2041, 2041,
2850 729, 2070, 2085, 2085, 2085, 728, 2085, 727, 723, 2085,
2852 2109, 2109, 2109, 2104, 2109, 718, 717, 2109, 716, 715,
2853 2085, 2088, 2088, 2088, 2088, 2088, 2088, 2088, 2088, 2088,
2854 712, 711, 2088, 710, 708, 704, 700, 2088, 2088, 2088,
2855 2088, 2088, 2113, 2113, 2113, 699, 2113, 696, 693, 2113,
2856 2116, 2116, 2116, 692, 2116, 691, 690, 2116, 689, 2137,
2857 2137, 2137, 688, 2146, 2146, 2146, 2088, 2088, 2089, 2089,
2858 2089, 2089, 2089, 2089, 2089, 2089, 2089, 2137, 2137, 2089,
2859 2146, 2147, 2147, 2147, 2089, 2089, 2089, 2089, 2089, 2148,
2860 2148, 2148, 2153, 2153, 2153, 2171, 2171, 2171, 2147, 2162,
2861 2162, 2162, 2166, 2166, 2166, 686, 2148, 685, 684, 2153,
2863 683, 682, 2171, 2089, 2089, 681, 680, 2162, 679, 678,
2864 2166, 2172, 2172, 2172, 677, 2172, 676, 675, 2172, 2173,
2865 2173, 2173, 2174, 2174, 2174, 674, 2174, 673, 672, 2174,
2866 2175, 2175, 2175, 2176, 2176, 2176, 2173, 2176, 668, 667,
2867 2176, 665, 664, 2166, 2183, 2183, 2183, 2175, 2184, 2184,
2868 2184, 663, 2184, 662, 661, 2184, 2191, 2191, 2191, 657,
2869 655, 2183, 2197, 2197, 2197, 654, 2197, 653, 652, 2197,
2870 648, 2200, 2200, 2200, 2191, 2200, 644, 643, 2200, 2203,
2871 2203, 2203, 640, 2203, 639, 638, 2203, 2212, 2212, 2212,
2872 637, 2212, 636, 2191, 2212, 2307, 2307, 2307, 2316, 2316,
2874 2316, 635, 2316, 632, 631, 2316, 2417, 2417, 2417, 2418,
2875 2418, 2418, 630, 2307, 629, 626, 2316, 624, 621, 620,
2876 619, 618, 617, 614, 2417, 613, 612, 2418, 2421, 2421,
2877 2421, 2421, 2421, 2421, 2421, 2421, 2421, 2422, 2422, 2422,
2878 2422, 2422, 2422, 2422, 2422, 2422, 2423, 2423, 2423, 2423,
2879 2423, 2423, 2423, 2423, 2423, 2424, 2424, 2424, 2424, 2424,
2880 2424, 2424, 2424, 2424, 2425, 2425, 2425, 2425, 2425, 2425,
2881 2425, 2425, 2425, 2426, 2426, 2426, 2426, 2426, 2426, 2426,
2882 2426, 2426, 2427, 2427, 2427, 2427, 2427, 2427, 2427, 2427,
2883 2427, 2428, 2428, 2428, 2428, 2428, 2428, 2428, 2428, 2428,
2885 2429, 2429, 2429, 2429, 2429, 2429, 2429, 2429, 2429, 2430,
2886 2430, 2430, 2430, 2430, 2430, 2430, 2430, 2430, 2431, 2431,
2887 2431, 2431, 2431, 2431, 2431, 2431, 2431, 2432, 2432, 2432,
2888 2432, 2432, 2432, 2432, 2432, 2432, 2433, 2433, 2433, 2433,
2889 2433, 2433, 2433, 2433, 2433, 2434, 2434, 2434, 2434, 2434,
2890 2434, 2434, 2434, 2434, 2435, 2435, 2435, 2435, 2435, 2435,
2891 2435, 2435, 2435, 2436, 2436, 2436, 2436, 2436, 2436, 2436,
2892 2436, 2436, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437,
2893 2437, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438,
2894 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2440,
2896 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2441, 2441,
2897 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2442, 2442, 2442,
2898 2442, 2442, 2442, 2442, 2442, 2442, 2443, 2443, 2443, 2443,
2899 2443, 2443, 2443, 2443, 2443, 2444, 2444, 2444, 2444, 2444,
2900 2444, 2444, 2444, 2444, 2445, 2445, 2445, 2445, 2445, 2445,
2901 2445, 2445, 2445, 2446, 2446, 2446, 2446, 2446, 2446, 2446,
2902 2446, 2446, 2447, 2447, 2447, 2447, 2447, 2447, 2447, 2447,
2903 2447, 2448, 2448, 2448, 2448, 2448, 2448, 2448, 2448, 2448,
2904 2449, 2449, 2449, 2449, 2449, 2449, 2449, 2449, 2449, 2450,
2905 2450, 2450, 2450, 2450, 2450, 2450, 2450, 2450, 2451, 2451,
2907 2451, 2451, 2451, 2451, 2451, 2451, 2451, 2452, 2452, 2452,
2908 2452, 2452, 2452, 2452, 2452, 2452, 2453, 2453, 2453, 2453,
2909 2453, 2453, 2453, 2453, 2453, 2454, 2454, 2454, 2454, 2454,
2910 2454, 2454, 2454, 2454, 2455, 2455, 2455, 2455, 2455, 2455,
2911 2455, 2455, 2455, 2456, 2456, 2456, 2456, 2456, 2456, 2456,
2912 2456, 2456, 2457, 2457, 2457, 2457, 2457, 2457, 2457, 2457,
2913 2457, 2458, 2458, 2458, 2458, 2458, 2458, 2458, 2458, 2458,
2914 2459, 2459, 2459, 2459, 2459, 2459, 2459, 2459, 2459, 2460,
2915 2460, 2460, 2460, 2460, 2460, 2460, 2460, 2460, 2461, 2461,
2916 2461, 2461, 2461, 2461, 2461, 2461, 2461, 2462, 2462, 2462,
2918 2462, 2462, 2462, 2462, 2462, 2462, 2463, 2463, 2463, 611,
2919 610, 607, 2463, 2464, 2464, 2464, 606, 605, 604, 2464,
2920 2465, 2465, 2465, 602, 599, 597, 2465, 2466, 2466, 2466,
2921 594, 593, 592, 2466, 2467, 2467, 2467, 591, 589, 588,
2922 2467, 2468, 2468, 2468, 587, 584, 583, 2468, 2469, 2469,
2923 2469, 582, 581, 580, 2469, 2470, 2470, 2470, 579, 578,
2924 577, 2470, 2471, 2471, 2471, 576, 574, 572, 2471, 2472,
2925 2472, 2472, 571, 568, 567, 2472, 2473, 2473, 2473, 566,
2926 563, 558, 2473, 2474, 2474, 2474, 556, 555, 554, 2474,
2927 2475, 2475, 2475, 553, 552, 551, 2475, 2476, 2476, 2476,
2929 547, 546, 545, 2476, 2477, 2477, 2477, 544, 540, 539,
2930 2477, 2478, 2478, 2478, 538, 537, 536, 2478, 2479, 2479,
2931 2479, 535, 534, 532, 2479, 2480, 2480, 2480, 529, 528,
2932 526, 2480, 2481, 2481, 2481, 524, 521, 520, 2481, 2482,
2933 2482, 2482, 2482, 2482, 2482, 2482, 514, 2482, 2483, 2483,
2934 2483, 512, 510, 507, 2483, 2484, 504, 503, 502, 2484,
2935 2485, 2485, 2485, 500, 499, 498, 2485, 2486, 497, 496,
2936 493, 2486, 2487, 2487, 2487, 492, 491, 490, 2487, 2488,
2937 489, 483, 482, 2488, 2489, 2489, 2489, 480, 474, 473,
2938 2489, 2490, 469, 465, 462, 2490, 2491, 2491, 2491, 458,
2940 452, 448, 2491, 2492, 440, 439, 438, 2492, 2493, 2493,
2941 2493, 437, 433, 429, 2493, 2494, 426, 425, 424, 2494,
2942 2495, 2495, 2495, 420, 414, 413, 2495, 2496, 409, 405,
2943 401, 2496, 2497, 2497, 2497, 400, 396, 393, 2497, 2498,
2944 392, 387, 383, 2498, 2499, 2499, 2499, 379, 375, 374,
2945 2499, 2500, 373, 369, 363, 2500, 2501, 2501, 2501, 362,
2946 358, 352, 2501, 2502, 351, 350, 349, 2502, 2503, 2503,
2947 2503, 348, 347, 346, 2503, 2504, 342, 333, 332, 2504,
2948 2505, 2505, 2505, 331, 329, 325, 2505, 2506, 321, 318,
2949 317, 2506, 2507, 2507, 2507, 316, 315, 314, 2507, 2508,
2951 310, 306, 300, 2508, 2509, 2509, 2509, 298, 293, 292,
2952 2509, 2510, 288, 282, 281, 2510, 2511, 2511, 2511, 280,
2953 276, 273, 2511, 2512, 272, 267, 265, 2512, 2513, 2513,
2954 2513, 264, 260, 257, 2513, 2514, 255, 254, 253, 2514,
2955 2515, 2515, 2515, 249, 243, 239, 2515, 2516, 235, 227,
2956 223, 2516, 2517, 2517, 2517, 219, 218, 217, 2517, 2518,
2957 211, 210, 208, 2518, 2519, 2519, 2519, 205, 193, 0,
2958 2519, 2520, 0, 0, 0, 2520, 2521, 2521, 2521, 2521,
2959 2521, 2521, 2521, 2521, 2521, 2522, 0, 0, 0, 0,
2960 2522, 2523, 2523, 2523, 0, 0, 0, 2523, 2524, 2524,
2962 2524, 2524, 0, 0, 2524, 2524, 2525, 2525, 2525, 0,
2963 0, 0, 2525, 2526, 2526, 2526, 2526, 0, 0, 2526,
2964 2526, 2527, 2527, 2527, 0, 0, 0, 2527, 2528, 2528,
2965 2528, 2528, 0, 0, 2528, 2528, 2529, 2529, 2529, 0,
2966 0, 0, 2529, 2530, 2530, 2530, 2530, 0, 0, 2530,
2967 2530, 2531, 2531, 2531, 0, 0, 0, 2531, 2532, 2532,
2968 2532, 2532, 0, 0, 2532, 2532, 2533, 2533, 2533, 0,
2969 0, 0, 2533, 2534, 2534, 2534, 2534, 0, 0, 2534,
2970 2534, 2535, 2535, 2535, 0, 0, 0, 2535, 2536, 2536,
2971 2536, 2536, 0, 0, 2536, 2536, 2537, 2537, 2537, 0,
2973 0, 0, 2537, 2538, 2538, 2538, 2538, 0, 0, 2538,
2974 2538, 2539, 2539, 2539, 0, 0, 0, 2539, 2540, 2540,
2975 2540, 2540, 0, 0, 2540, 2540, 2541, 2541, 2541, 0,
2976 0, 0, 2541, 2542, 2542, 2542, 2542, 0, 0, 2542,
2977 2542, 2543, 2543, 2543, 0, 0, 0, 2543, 2544, 2544,
2978 2544, 2544, 0, 0, 2544, 2544, 2545, 2545, 2545, 2545,
2979 0, 2545, 0, 2545, 2546, 2546, 2546, 2546, 0, 0,
2980 2546, 2546, 2547, 2547, 2547, 2547, 0, 2547, 0, 2547,
2981 2548, 2548, 2548, 2548, 0, 0, 2548, 2548, 2549, 2549,
2982 2549, 0, 0, 0, 2549, 2550, 2550, 2550, 2550, 0,
2984 0, 2550, 2550, 2551, 2551, 2551, 2551, 0, 2551, 0,
2985 2551, 2552, 2552, 2552, 2552, 0, 0, 2552, 2552, 2553,
2986 2553, 2553, 0, 0, 0, 2553, 2554, 2554, 2554, 2554,
2987 0, 0, 2554, 2554, 2555, 2555, 2555, 0, 0, 0,
2988 2555, 2556, 2556, 2556, 2556, 0, 0, 2556, 2556, 2557,
2989 2557, 2557, 2557, 0, 0, 2557, 2557, 2558, 2558, 2558,
2990 0, 0, 0, 2558, 2559, 2559, 2559, 2559, 0, 0,
2991 2559, 2559, 2560, 2560, 2560, 2560, 2560, 2560, 2560, 2560,
2992 2560, 2561, 0, 2561, 0, 0, 2561, 2562, 2562, 2562,
2993 0, 0, 0, 2562, 2563, 2563, 2563, 2563, 0, 0,
2995 2563, 2563, 2564, 2564, 2564, 2564, 0, 2564, 0, 2564,
2996 2565, 2565, 2565, 2565, 0, 0, 2565, 2565, 2566, 2566,
2997 2566, 2566, 0, 2566, 0, 2566, 2567, 2567, 2567, 2567,
2998 0, 0, 2567, 2567, 2568, 2568, 2568, 0, 0, 0,
2999 2568, 2569, 2569, 2569, 2569, 0, 0, 2569, 2569, 2570,
3000 2570, 2570, 0, 0, 0, 2570, 2571, 2571, 2571, 2571,
3001 0, 0, 2571, 2571, 2572, 2572, 2572, 0, 0, 0,
3002 2572, 2573, 2573, 2573, 2573, 0, 0, 2573, 2573, 2574,
3003 2574, 2574, 0, 0, 0, 2574, 2575, 2575, 2575, 2575,
3004 0, 0, 2575, 2575, 2576, 2576, 2576, 0, 0, 0,
3006 2576, 2577, 2577, 2577, 2577, 0, 0, 2577, 2577, 2578,
3007 2578, 2578, 0, 0, 0, 2578, 2579, 2579, 2579, 2579,
3008 0, 0, 2579, 2579, 2580, 2580, 2580, 0, 0, 0,
3009 2580, 2581, 2581, 2581, 2581, 0, 0, 2581, 2581, 2582,
3010 2582, 2582, 0, 0, 0, 2582, 2583, 2583, 2583, 2583,
3011 0, 0, 2583, 2583, 2584, 2584, 2584, 0, 0, 0,
3012 2584, 2585, 2585, 2585, 2585, 0, 0, 2585, 2585, 2586,
3013 2586, 2586, 0, 0, 0, 2586, 2587, 2587, 2587, 2587,
3014 0, 0, 2587, 2587, 2588, 2588, 2588, 0, 0, 0,
3015 2588, 2589, 2589, 2589, 2589, 0, 0, 2589, 2589, 2590,
3017 2590, 2590, 0, 0, 0, 2590, 2591, 2591, 2591, 2591,
3018 0, 0, 2591, 2591, 2592, 2592, 2592, 0, 0, 0,
3019 2592, 2593, 2593, 2593, 2593, 0, 0, 2593, 2593, 2594,
3020 2594, 2594, 0, 0, 0, 2594, 2595, 2595, 2595, 2595,
3021 0, 0, 2595, 2595, 2596, 2596, 2596, 2596, 0, 0,
3022 2596, 2596, 2597, 2597, 2597, 0, 0, 0, 2597, 2598,
3023 2598, 2598, 2598, 0, 0, 2598, 2598, 2599, 2599, 2599,
3024 2599, 2599, 2599, 2599, 2599, 2599, 2600, 2600, 2600, 2600,
3025 2600, 2600, 2600, 2600, 2600, 2601, 2601, 2601, 0, 0,
3026 0, 2601, 2602, 2602, 2602, 2602, 0, 0, 2602, 2602,
3028 2603, 2603, 2603, 2603, 0, 0, 2603, 2603, 2604, 2604,
3029 2604, 0, 0, 0, 2604, 2605, 2605, 2605, 2605, 0,
3030 0, 2605, 2605, 2606, 2606, 2606, 0, 0, 0, 2606,
3031 2607, 2607, 2607, 2607, 0, 0, 2607, 2607, 2608, 2608,
3032 2608, 0, 0, 0, 2608, 2609, 2609, 2609, 2609, 0,
3033 0, 2609, 2609, 2610, 2610, 2610, 0, 0, 0, 2610,
3034 2611, 2611, 2611, 0, 0, 0, 2611, 2612, 2612, 2612,
3035 2612, 0, 0, 2612, 2612, 2613, 2613, 2613, 0, 0,
3036 0, 2613, 2614, 2614, 2614, 2614, 0, 0, 2614, 2614,
3037 2615, 2615, 2615, 0, 0, 0, 2615, 2616, 2616, 2616,
3039 2616, 0, 0, 2616, 2616, 2617, 2617, 2617, 0, 0,
3040 0, 2617, 2618, 2618, 2618, 2618, 0, 0, 2618, 2618,
3041 2619, 2619, 2619, 0, 0, 0, 2619, 2620, 2620, 2620,
3042 2620, 0, 0, 2620, 2620, 2621, 2621, 2621, 0, 0,
3043 0, 2621, 2622, 2622, 2622, 2622, 0, 0, 2622, 2622,
3044 2623, 2623, 2623, 0, 0, 0, 2623, 2624, 2624, 2624,
3045 2624, 0, 0, 2624, 2624, 2625, 2625, 2625, 0, 0,
3046 0, 2625, 2626, 2626, 2626, 2626, 0, 0, 2626, 2626,
3047 2627, 2627, 2627, 0, 0, 0, 2627, 2628, 2628, 2628,
3048 2628, 0, 0, 2628, 2628, 2629, 2629, 2629, 0, 0,
3050 0, 2629, 2630, 2630, 2630, 2630, 0, 0, 2630, 2630,
3051 2631, 2631, 2631, 2631, 0, 2631, 0, 2631, 2632, 2632,
3052 2632, 2632, 0, 0, 2632, 2632, 2633, 2633, 2633, 2633,
3053 0, 0, 2633, 2633, 2634, 2634, 2634, 2634, 0, 2634,
3054 0, 2634, 2635, 2635, 2635, 2635, 0, 0, 2635, 2635,
3055 2636, 2636, 2636, 2636, 2636, 2636, 2636, 2636, 2636, 2637,
3056 2637, 2637, 2637, 2637, 2637, 2637, 2637, 2637, 2638, 2638,
3057 2638, 0, 0, 0, 2638, 2639, 2639, 2639, 2639, 0,
3058 0, 2639, 2639, 2640, 2640, 2640, 2640, 0, 0, 2640,
3059 2640, 2641, 2641, 2641, 0, 0, 0, 2641, 2642, 2642,
3061 2642, 2642, 0, 0, 2642, 2642, 2643, 2643, 2643, 0,
3062 0, 0, 2643, 2644, 2644, 2644, 2644, 0, 0, 2644,
3063 2644, 2645, 2645, 2645, 0, 0, 0, 2645, 2646, 2646,
3064 2646, 2646, 0, 0, 2646, 2646, 2647, 2647, 2647, 0,
3065 0, 0, 2647, 2648, 2648, 2648, 0, 0, 0, 2648,
3066 2649, 2649, 2649, 2649, 0, 0, 2649, 2649, 2650, 2650,
3067 2650, 0, 0, 0, 2650, 2651, 2651, 2651, 2651, 0,
3068 0, 2651, 2651, 2652, 2652, 2652, 0, 0, 0, 2652,
3069 2653, 2653, 2653, 2653, 0, 0, 2653, 2653, 2654, 2654,
3070 2654, 0, 0, 0, 2654, 2655, 2655, 2655, 2655, 0,
3072 0, 2655, 2655, 2656, 2656, 2656, 0, 0, 0, 2656,
3073 2657, 2657, 2657, 2657, 0, 0, 2657, 2657, 2658, 2658,
3074 2658, 0, 0, 0, 2658, 2659, 2659, 2659, 2659, 0,
3075 0, 2659, 2659, 2660, 2660, 2660, 2660, 0, 2660, 0,
3076 2660, 2661, 2661, 2661, 2661, 0, 0, 2661, 2661, 2662,
3077 2662, 2662, 0, 0, 0, 2662, 2663, 2663, 2663, 2663,
3078 0, 0, 2663, 2663, 2664, 2664, 2664, 2664, 0, 2664,
3079 0, 2664, 2665, 2665, 2665, 2665, 0, 0, 2665, 2665,
3080 2666, 2666, 2666, 0, 0, 0, 2666, 2667, 2667, 2667,
3081 2667, 0, 0, 2667, 2667, 2668, 2668, 2668, 2668, 0,
3083 0, 2668, 2668, 2669, 2669, 2669, 2669, 0, 0, 2669,
3084 2669, 2670, 2670, 2670, 2670, 0, 0, 2670, 2670, 2671,
3085 2671, 2671, 2671, 2671, 2671, 2671, 2671, 2671, 2672, 2672,
3086 2672, 2672, 2672, 2672, 2672, 2672, 2672, 2673, 2673, 2673,
3087 2673, 0, 2673, 0, 2673, 2674, 2674, 2674, 2674, 0,
3088 0, 2674, 2674, 2675, 2675, 2675, 2675, 0, 0, 2675,
3089 2675, 2676, 2676, 2676, 0, 0, 0, 2676, 2677, 2677,
3090 2677, 2677, 0, 0, 2677, 2677, 2678, 2678, 2678, 0,
3091 0, 0, 2678, 2679, 2679, 2679, 2679, 0, 0, 2679,
3092 2679, 2680, 2680, 2680, 2680, 0, 2680, 0, 2680, 2681,
3094 2681, 2681, 2681, 0, 0, 2681, 2681, 2682, 2682, 2682,
3095 2682, 0, 2682, 0, 2682, 2683, 2683, 2683, 0, 0,
3096 0, 2683, 2684, 2684, 2684, 0, 0, 0, 2684, 2685,
3097 2685, 2685, 2685, 0, 0, 2685, 2685, 2686, 2686, 2686,
3098 0, 0, 0, 2686, 2687, 2687, 2687, 0, 0, 0,
3099 2687, 2688, 2688, 2688, 2688, 0, 0, 2688, 2688, 2689,
3100 2689, 2689, 0, 0, 0, 2689, 2690, 2690, 2690, 0,
3101 0, 0, 2690, 2691, 2691, 2691, 2691, 0, 0, 2691,
3102 2691, 2692, 2692, 2692, 0, 0, 0, 2692, 2693, 2693,
3103 2693, 2693, 0, 0, 2693, 2693, 2694, 2694, 2694, 0,
3105 0, 0, 2694, 2695, 2695, 2695, 2695, 0, 0, 2695,
3106 2695, 2696, 2696, 2696, 2696, 0, 0, 2696, 2696, 2697,
3107 2697, 2697, 0, 0, 0, 2697, 2698, 2698, 2698, 2698,
3108 0, 0, 2698, 2698, 2699, 2699, 2699, 2699, 0, 0,
3109 2699, 2699, 2700, 2700, 2700, 2700, 0, 0, 2700, 2700,
3110 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2702,
3111 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2703, 2703,
3112 2703, 2703, 0, 0, 2703, 2703, 2704, 2704, 2704, 2704,
3113 0, 0, 2704, 2704, 2705, 2705, 2705, 0, 0, 0,
3114 2705, 2706, 2706, 2706, 0, 0, 0, 2706, 2707, 2707,
3116 2707, 2707, 0, 0, 2707, 2707, 2708, 2708, 2708, 2708,
3117 2708, 2708, 2708, 2708, 2708, 2709, 2709, 2709, 2709, 2709,
3118 2709, 2709, 2709, 2709, 2710, 2710, 2710, 2710, 2710, 2710,
3119 2710, 2710, 2710, 2711, 2711, 2711, 2711, 2711, 2711, 2711,
3120 2711, 2711, 2712, 2712, 2712, 2712, 2712, 2712, 2712, 2712,
3121 2712, 2713, 2713, 2713, 2713, 2713, 2713, 2713, 2713, 2713,
3122 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420,
3123 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420,
3124 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420,
3125 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420,
3127 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420,
3128 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420,
3129 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2420,
3133 /* Table of booleans, true if rule could match eol. */
3134 static yyconst flex_int32_t yy_rule_can_match_eol[406] =
3136 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1,
3137 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1,
3138 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3139 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0,
3140 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,
3141 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1,
3142 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,
3143 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3144 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3145 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3146 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1,
3147 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3148 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0,
3149 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1,
3150 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1,
3151 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1,
3152 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1,
3153 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0,
3154 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0,
3155 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0,
3156 1, 0, 0, 0, 1, 0, };
3158 static yy_state_type yy_last_accepting_state;
3159 static char *yy_last_accepting_cpos;
3161 extern int surf_parse__flex_debug;
3162 int surf_parse__flex_debug = 0;
3164 /* The intent behind this definition is that it'll catch
3165 * any uses of REJECT which flex missed.
3167 #define REJECT reject_used_but_not_detected
3168 #define yymore() yymore_used_but_not_detected
3169 #define YY_MORE_ADJ 0
3170 #define YY_RESTORE_YY_MORE_OFFSET
3171 char *surf_parse_text;
3172 /* Validating XML processor for src/surf/simgrid.dtd.
3174 * This program was generated with the FleXML XML processor generator.
3175 * FleXML is Copyright (C) 1999-2005 Kristoffer Rose. All rights reserved.
3176 * FleXML is Copyright (C) 2003-2011 Martin Quinson. All rights reserved.
3177 * (Id: flexml.pl,v 1.67 2011/11/01 20:49:21 mquinson Exp).
3179 * There are two, intertwined parts to this program, part A and part B.
3184 * Some parts, here collectively called "Part A", are found in the
3185 * FleXML package. They are Copyright (C) 1999-2005 Kristoffer Rose
3186 * and Copyright (C) 2003-2011 Martin Quinson. All rights reserved.
3188 * You can redistribute, use, perform, display and/or modify "Part A"
3189 * provided the following two conditions hold:
3191 * 1. The program is distributed WITHOUT ANY WARRANTY from the author of
3192 * FleXML; without even the implied warranty of MERCHANTABILITY or
3193 * FITNESS FOR A PARTICULAR PURPOSE.
3195 * 2. The program distribution conditions do not in any way affect the
3196 * distribution conditions of the FleXML system used to generate this
3197 * file or any version of FleXML derived from that system.
3199 * Notice that these are explicit rights granted to you for files
3200 * generated by the FleXML system. For your rights in connection with
3201 * the FleXML system itself please consult the GNU General Public License.
3206 * The other parts, here collectively called "Part B", and which came
3207 * from the DTD used by FleXML to generate this program, can be
3208 * distributed (or not, as the case may be) under the terms of whoever
3209 * wrote them, provided these terms respect and obey the two conditions
3210 * above under the heading "Part A".
3212 * The author of and contributors to FleXML specifically disclaim
3213 * any copyright interest in "Part B", unless "Part B" was written
3214 * by the author of or contributors to FleXML.
3218 /* Version strings. */
3219 const char rcs_surfxml_flexml_skeleton[] =
3220 "$" "Id: skel,v 1.40 2007/10/11 09:57:24 mquinson Exp $";
3221 const char rcs_surfxml_flexml[] =
3222 "$" "Id: flexml.pl,v 1.67 2011/11/01 20:49:21 mquinson Exp $";
3225 #include <stdlib.h> /* for realloc() -- needed here when using flex 2.5.4 */
3232 #if defined(_XBT_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__TOS_WIN__)
3233 # ifndef __STRICT_ANSI__
3235 # include <process.h>
3238 # include <unistd.h>
3241 #ifndef FLEXML_INDEXSTACKSIZE
3242 #define FLEXML_INDEXSTACKSIZE 1000
3245 /* Generated definitions. */
3246 #define FLEXML_yylineno
3247 #ifndef FLEXML_BUFFERSTACKSIZE
3248 #define FLEXML_BUFFERSTACKSIZE 1000000
3250 #define FLEXML_NEED_BUFFERLIT
3252 /* XML processor api. */
3253 /* FleXML-provided data. */
3254 int surfxml_pcdata_ix;
3255 extern char *surfxml_bufferstack;
3256 #define surfxml_pcdata (surfxml_bufferstack + surfxml_pcdata_ix)
3257 AT_surfxml_random_generator AX_surfxml_random_generator;
3258 #define A_surfxml_random_generator AX_surfxml_random_generator
3259 short int surfxml_random_generator_isset;
3260 AT_surfxml_ASroute_gw_dst AX_surfxml_ASroute_gw_dst;
3261 #define A_surfxml_ASroute_gw_dst (surfxml_bufferstack + AX_surfxml_ASroute_gw_dst)
3262 short int surfxml_ASroute_gw_dst_isset;
3263 AT_surfxml_trace_connect_element AX_surfxml_trace_connect_element;
3264 #define A_surfxml_trace_connect_element (surfxml_bufferstack + AX_surfxml_trace_connect_element)
3265 short int surfxml_trace_connect_element_isset;
3266 AT_surfxml_prop_id AX_surfxml_prop_id;
3267 #define A_surfxml_prop_id (surfxml_bufferstack + AX_surfxml_prop_id)
3268 short int surfxml_prop_id_isset;
3269 AT_surfxml_host_id AX_surfxml_host_id;
3270 #define A_surfxml_host_id (surfxml_bufferstack + AX_surfxml_host_id)
3271 short int surfxml_host_id_isset;
3272 AT_surfxml_ASroute_symmetrical AX_surfxml_ASroute_symmetrical;
3273 #define A_surfxml_ASroute_symmetrical AX_surfxml_ASroute_symmetrical
3274 short int surfxml_ASroute_symmetrical_isset;
3275 AT_surfxml_peer_lat AX_surfxml_peer_lat;
3276 #define A_surfxml_peer_lat (surfxml_bufferstack + AX_surfxml_peer_lat)
3277 short int surfxml_peer_lat_isset;
3278 AT_surfxml_link_latency_file AX_surfxml_link_latency_file;
3279 #define A_surfxml_link_latency_file (surfxml_bufferstack + AX_surfxml_link_latency_file)
3280 short int surfxml_link_latency_file_isset;
3281 AT_surfxml_peer_availability_file AX_surfxml_peer_availability_file;
3282 #define A_surfxml_peer_availability_file (surfxml_bufferstack + AX_surfxml_peer_availability_file)
3283 short int surfxml_peer_availability_file_isset;
3284 AT_surfxml_link_ctn_direction AX_surfxml_link_ctn_direction;
3285 #define A_surfxml_link_ctn_direction AX_surfxml_link_ctn_direction
3286 short int surfxml_link_ctn_direction_isset;
3287 AT_surfxml_host_state AX_surfxml_host_state;
3288 #define A_surfxml_host_state AX_surfxml_host_state
3289 short int surfxml_host_state_isset;
3290 AT_surfxml_AS_id AX_surfxml_AS_id;
3291 #define A_surfxml_AS_id (surfxml_bufferstack + AX_surfxml_AS_id)
3292 short int surfxml_AS_id_isset;
3293 AT_surfxml_host_power AX_surfxml_host_power;
3294 #define A_surfxml_host_power (surfxml_bufferstack + AX_surfxml_host_power)
3295 short int surfxml_host_power_isset;
3296 AT_surfxml_router_id AX_surfxml_router_id;
3297 #define A_surfxml_router_id (surfxml_bufferstack + AX_surfxml_router_id)
3298 short int surfxml_router_id_isset;
3299 AT_surfxml_process_start_time AX_surfxml_process_start_time;
3300 #define A_surfxml_process_start_time (surfxml_bufferstack + AX_surfxml_process_start_time)
3301 short int surfxml_process_start_time_isset;
3302 AT_surfxml_cluster_suffix AX_surfxml_cluster_suffix;
3303 #define A_surfxml_cluster_suffix (surfxml_bufferstack + AX_surfxml_cluster_suffix)
3304 short int surfxml_cluster_suffix_isset;
3305 AT_surfxml_ASroute_src AX_surfxml_ASroute_src;
3306 #define A_surfxml_ASroute_src (surfxml_bufferstack + AX_surfxml_ASroute_src)
3307 short int surfxml_ASroute_src_isset;
3308 AT_surfxml_cluster_prefix AX_surfxml_cluster_prefix;
3309 #define A_surfxml_cluster_prefix (surfxml_bufferstack + AX_surfxml_cluster_prefix)
3310 short int surfxml_cluster_prefix_isset;
3311 AT_surfxml_trace_file AX_surfxml_trace_file;
3312 #define A_surfxml_trace_file (surfxml_bufferstack + AX_surfxml_trace_file)
3313 short int surfxml_trace_file_isset;
3314 AT_surfxml_link_sharing_policy AX_surfxml_link_sharing_policy;
3315 #define A_surfxml_link_sharing_policy AX_surfxml_link_sharing_policy
3316 short int surfxml_link_sharing_policy_isset;
3317 AT_surfxml_random_min AX_surfxml_random_min;
3318 #define A_surfxml_random_min (surfxml_bufferstack + AX_surfxml_random_min)
3319 short int surfxml_random_min_isset;
3320 AT_surfxml_link_ctn_id AX_surfxml_link_ctn_id;
3321 #define A_surfxml_link_ctn_id (surfxml_bufferstack + AX_surfxml_link_ctn_id)
3322 short int surfxml_link_ctn_id_isset;
3323 AT_surfxml_peer_bw_out AX_surfxml_peer_bw_out;
3324 #define A_surfxml_peer_bw_out (surfxml_bufferstack + AX_surfxml_peer_bw_out)
3325 short int surfxml_peer_bw_out_isset;
3326 AT_surfxml_cluster_availability_file AX_surfxml_cluster_availability_file;
3327 #define A_surfxml_cluster_availability_file (surfxml_bufferstack + AX_surfxml_cluster_availability_file)
3328 short int surfxml_cluster_availability_file_isset;
3329 AT_surfxml_process_kill_time AX_surfxml_process_kill_time;
3330 #define A_surfxml_process_kill_time (surfxml_bufferstack + AX_surfxml_process_kill_time)
3331 short int surfxml_process_kill_time_isset;
3332 AT_surfxml_cluster_bb_bw AX_surfxml_cluster_bb_bw;
3333 #define A_surfxml_cluster_bb_bw (surfxml_bufferstack + AX_surfxml_cluster_bb_bw)
3334 short int surfxml_cluster_bb_bw_isset;
3335 AT_surfxml_argument_value AX_surfxml_argument_value;
3336 #define A_surfxml_argument_value (surfxml_bufferstack + AX_surfxml_argument_value)
3337 short int surfxml_argument_value_isset;
3338 AT_surfxml_link_state AX_surfxml_link_state;
3339 #define A_surfxml_link_state AX_surfxml_link_state
3340 short int surfxml_link_state_isset;
3341 AT_surfxml_ASroute_gw_src AX_surfxml_ASroute_gw_src;
3342 #define A_surfxml_ASroute_gw_src (surfxml_bufferstack + AX_surfxml_ASroute_gw_src)
3343 short int surfxml_ASroute_gw_src_isset;
3344 AT_surfxml_AS_routing AX_surfxml_AS_routing;
3345 #define A_surfxml_AS_routing (surfxml_bufferstack + AX_surfxml_AS_routing)
3346 short int surfxml_AS_routing_isset;
3347 AT_surfxml_link_bandwidth AX_surfxml_link_bandwidth;
3348 #define A_surfxml_link_bandwidth (surfxml_bufferstack + AX_surfxml_link_bandwidth)
3349 short int surfxml_link_bandwidth_isset;
3350 AT_surfxml_cluster_id AX_surfxml_cluster_id;
3351 #define A_surfxml_cluster_id (surfxml_bufferstack + AX_surfxml_cluster_id)
3352 short int surfxml_cluster_id_isset;
3353 AT_surfxml_peer_bw_in AX_surfxml_peer_bw_in;
3354 #define A_surfxml_peer_bw_in (surfxml_bufferstack + AX_surfxml_peer_bw_in)
3355 short int surfxml_peer_bw_in_isset;
3356 AT_surfxml_random_mean AX_surfxml_random_mean;
3357 #define A_surfxml_random_mean (surfxml_bufferstack + AX_surfxml_random_mean)
3358 short int surfxml_random_mean_isset;
3359 AT_surfxml_cluster_bb_lat AX_surfxml_cluster_bb_lat;
3360 #define A_surfxml_cluster_bb_lat (surfxml_bufferstack + AX_surfxml_cluster_bb_lat)
3361 short int surfxml_cluster_bb_lat_isset;
3362 AT_surfxml_link_latency AX_surfxml_link_latency;
3363 #define A_surfxml_link_latency (surfxml_bufferstack + AX_surfxml_link_latency)
3364 short int surfxml_link_latency_isset;
3365 AT_surfxml_trace_connect_kind AX_surfxml_trace_connect_kind;
3366 #define A_surfxml_trace_connect_kind AX_surfxml_trace_connect_kind
3367 short int surfxml_trace_connect_kind_isset;
3368 AT_surfxml_random_seed AX_surfxml_random_seed;
3369 #define A_surfxml_random_seed (surfxml_bufferstack + AX_surfxml_random_seed)
3370 short int surfxml_random_seed_isset;
3371 AT_surfxml_cluster_state_file AX_surfxml_cluster_state_file;
3372 #define A_surfxml_cluster_state_file (surfxml_bufferstack + AX_surfxml_cluster_state_file)
3373 short int surfxml_cluster_state_file_isset;
3374 AT_surfxml_link_bandwidth_file AX_surfxml_link_bandwidth_file;
3375 #define A_surfxml_link_bandwidth_file (surfxml_bufferstack + AX_surfxml_link_bandwidth_file)
3376 short int surfxml_link_bandwidth_file_isset;
3377 AT_surfxml_route_symmetrical AX_surfxml_route_symmetrical;
3378 #define A_surfxml_route_symmetrical AX_surfxml_route_symmetrical
3379 short int surfxml_route_symmetrical_isset;
3380 AT_surfxml_random_id AX_surfxml_random_id;
3381 #define A_surfxml_random_id (surfxml_bufferstack + AX_surfxml_random_id)
3382 short int surfxml_random_id_isset;
3383 AT_surfxml_random_max AX_surfxml_random_max;
3384 #define A_surfxml_random_max (surfxml_bufferstack + AX_surfxml_random_max)
3385 short int surfxml_random_max_isset;
3386 AT_surfxml_link_id AX_surfxml_link_id;
3387 #define A_surfxml_link_id (surfxml_bufferstack + AX_surfxml_link_id)
3388 short int surfxml_link_id_isset;
3389 AT_surfxml_process_host AX_surfxml_process_host;
3390 #define A_surfxml_process_host (surfxml_bufferstack + AX_surfxml_process_host)
3391 short int surfxml_process_host_isset;
3392 AT_surfxml_host_availability_file AX_surfxml_host_availability_file;
3393 #define A_surfxml_host_availability_file (surfxml_bufferstack + AX_surfxml_host_availability_file)
3394 short int surfxml_host_availability_file_isset;
3395 AT_surfxml_cluster_lat AX_surfxml_cluster_lat;
3396 #define A_surfxml_cluster_lat (surfxml_bufferstack + AX_surfxml_cluster_lat)
3397 short int surfxml_cluster_lat_isset;
3398 AT_surfxml_trace_periodicity AX_surfxml_trace_periodicity;
3399 #define A_surfxml_trace_periodicity (surfxml_bufferstack + AX_surfxml_trace_periodicity)
3400 short int surfxml_trace_periodicity_isset;
3401 AT_surfxml_cluster_bb_sharing_policy AX_surfxml_cluster_bb_sharing_policy;
3402 #define A_surfxml_cluster_bb_sharing_policy AX_surfxml_cluster_bb_sharing_policy
3403 short int surfxml_cluster_bb_sharing_policy_isset;
3404 AT_surfxml_router_coordinates AX_surfxml_router_coordinates;
3405 #define A_surfxml_router_coordinates (surfxml_bufferstack + AX_surfxml_router_coordinates)
3406 short int surfxml_router_coordinates_isset;
3407 AT_surfxml_peer_coordinates AX_surfxml_peer_coordinates;
3408 #define A_surfxml_peer_coordinates (surfxml_bufferstack + AX_surfxml_peer_coordinates)
3409 short int surfxml_peer_coordinates_isset;
3410 AT_surfxml_peer_state_file AX_surfxml_peer_state_file;
3411 #define A_surfxml_peer_state_file (surfxml_bufferstack + AX_surfxml_peer_state_file)
3412 short int surfxml_peer_state_file_isset;
3413 AT_surfxml_prop_value AX_surfxml_prop_value;
3414 #define A_surfxml_prop_value (surfxml_bufferstack + AX_surfxml_prop_value)
3415 short int surfxml_prop_value_isset;
3416 AT_surfxml_ASroute_dst AX_surfxml_ASroute_dst;
3417 #define A_surfxml_ASroute_dst (surfxml_bufferstack + AX_surfxml_ASroute_dst)
3418 short int surfxml_ASroute_dst_isset;
3419 AT_surfxml_random_radical AX_surfxml_random_radical;
3420 #define A_surfxml_random_radical (surfxml_bufferstack + AX_surfxml_random_radical)
3421 short int surfxml_random_radical_isset;
3422 AT_surfxml_link_state_file AX_surfxml_link_state_file;
3423 #define A_surfxml_link_state_file (surfxml_bufferstack + AX_surfxml_link_state_file)
3424 short int surfxml_link_state_file_isset;
3425 AT_surfxml_trace_connect_trace AX_surfxml_trace_connect_trace;
3426 #define A_surfxml_trace_connect_trace (surfxml_bufferstack + AX_surfxml_trace_connect_trace)
3427 short int surfxml_trace_connect_trace_isset;
3428 AT_surfxml_cluster_power AX_surfxml_cluster_power;
3429 #define A_surfxml_cluster_power (surfxml_bufferstack + AX_surfxml_cluster_power)
3430 short int surfxml_cluster_power_isset;
3431 AT_surfxml_process_function AX_surfxml_process_function;
3432 #define A_surfxml_process_function (surfxml_bufferstack + AX_surfxml_process_function)
3433 short int surfxml_process_function_isset;
3434 AT_surfxml_peer_id AX_surfxml_peer_id;
3435 #define A_surfxml_peer_id (surfxml_bufferstack + AX_surfxml_peer_id)
3436 short int surfxml_peer_id_isset;
3437 AT_surfxml_cluster_router_id AX_surfxml_cluster_router_id;
3438 #define A_surfxml_cluster_router_id (surfxml_bufferstack + AX_surfxml_cluster_router_id)
3439 short int surfxml_cluster_router_id_isset;
3440 AT_surfxml_cluster_sharing_policy AX_surfxml_cluster_sharing_policy;
3441 #define A_surfxml_cluster_sharing_policy AX_surfxml_cluster_sharing_policy
3442 short int surfxml_cluster_sharing_policy_isset;
3443 AT_surfxml_bypassRoute_dst AX_surfxml_bypassRoute_dst;
3444 #define A_surfxml_bypassRoute_dst (surfxml_bufferstack + AX_surfxml_bypassRoute_dst)
3445 short int surfxml_bypassRoute_dst_isset;
3446 AT_surfxml_host_core AX_surfxml_host_core;
3447 #define A_surfxml_host_core (surfxml_bufferstack + AX_surfxml_host_core)
3448 short int surfxml_host_core_isset;
3449 AT_surfxml_host_availability AX_surfxml_host_availability;
3450 #define A_surfxml_host_availability (surfxml_bufferstack + AX_surfxml_host_availability)
3451 short int surfxml_host_availability_isset;
3452 AT_surfxml_bypassRoute_src AX_surfxml_bypassRoute_src;
3453 #define A_surfxml_bypassRoute_src (surfxml_bufferstack + AX_surfxml_bypassRoute_src)
3454 short int surfxml_bypassRoute_src_isset;
3455 AT_surfxml_route_src AX_surfxml_route_src;
3456 #define A_surfxml_route_src (surfxml_bufferstack + AX_surfxml_route_src)
3457 short int surfxml_route_src_isset;
3458 AT_surfxml_bypassRoute_gw_dst AX_surfxml_bypassRoute_gw_dst;
3459 #define A_surfxml_bypassRoute_gw_dst (surfxml_bufferstack + AX_surfxml_bypassRoute_gw_dst)
3460 short int surfxml_bypassRoute_gw_dst_isset;
3461 AT_surfxml_host_coordinates AX_surfxml_host_coordinates;
3462 #define A_surfxml_host_coordinates (surfxml_bufferstack + AX_surfxml_host_coordinates)
3463 short int surfxml_host_coordinates_isset;
3464 AT_surfxml_trace_id AX_surfxml_trace_id;
3465 #define A_surfxml_trace_id (surfxml_bufferstack + AX_surfxml_trace_id)
3466 short int surfxml_trace_id_isset;
3467 AT_surfxml_peer_power AX_surfxml_peer_power;
3468 #define A_surfxml_peer_power (surfxml_bufferstack + AX_surfxml_peer_power)
3469 short int surfxml_peer_power_isset;
3470 AT_surfxml_cluster_radical AX_surfxml_cluster_radical;
3471 #define A_surfxml_cluster_radical (surfxml_bufferstack + AX_surfxml_cluster_radical)
3472 short int surfxml_cluster_radical_isset;
3473 AT_surfxml_config_id AX_surfxml_config_id;
3474 #define A_surfxml_config_id (surfxml_bufferstack + AX_surfxml_config_id)
3475 short int surfxml_config_id_isset;
3476 AT_surfxml_bypassRoute_gw_src AX_surfxml_bypassRoute_gw_src;
3477 #define A_surfxml_bypassRoute_gw_src (surfxml_bufferstack + AX_surfxml_bypassRoute_gw_src)
3478 short int surfxml_bypassRoute_gw_src_isset;
3479 AT_surfxml_cluster_core AX_surfxml_cluster_core;
3480 #define A_surfxml_cluster_core (surfxml_bufferstack + AX_surfxml_cluster_core)
3481 short int surfxml_cluster_core_isset;
3482 AT_surfxml_include_file AX_surfxml_include_file;
3483 #define A_surfxml_include_file (surfxml_bufferstack + AX_surfxml_include_file)
3484 short int surfxml_include_file_isset;
3485 AT_surfxml_random_std_deviation AX_surfxml_random_std_deviation;
3486 #define A_surfxml_random_std_deviation (surfxml_bufferstack + AX_surfxml_random_std_deviation)
3487 short int surfxml_random_std_deviation_isset;
3488 AT_surfxml_host_state_file AX_surfxml_host_state_file;
3489 #define A_surfxml_host_state_file (surfxml_bufferstack + AX_surfxml_host_state_file)
3490 short int surfxml_host_state_file_isset;
3491 AT_surfxml_route_dst AX_surfxml_route_dst;
3492 #define A_surfxml_route_dst (surfxml_bufferstack + AX_surfxml_route_dst)
3493 short int surfxml_route_dst_isset;
3494 AT_surfxml_cluster_bw AX_surfxml_cluster_bw;
3495 #define A_surfxml_cluster_bw (surfxml_bufferstack + AX_surfxml_cluster_bw)
3496 short int surfxml_cluster_bw_isset;
3497 AT_surfxml_platform_version AX_surfxml_platform_version;
3498 #define A_surfxml_platform_version (surfxml_bufferstack + AX_surfxml_platform_version)
3499 short int surfxml_platform_version_isset;
3503 # define ENTER(state) debug_enter(state,#state)
3504 # define LEAVE debug_leave()
3505 # define SET(state) debug_set(state,#state)
3506 static void debug_enter(int, const char*);
3507 static void debug_leave(void);
3508 static void debug_set(int, const char*);
3510 # define ENTER(state) (yy_push_state(state))
3511 # define LEAVE (yy_pop_state())
3512 # define SET(state) BEGIN(state)
3515 /* Generic actions. */
3516 #define SKIP /*skip*/
3517 #define SUCCEED CLEANUP; return 0
3519 #define FAIL return fail
3520 static int fail(const char*, ...);
3522 enum {flexml_max_err_msg_size = 512};
3523 static char flexml_err_msg[flexml_max_err_msg_size];
3524 const char * surfxml_parse_err_msg()
3526 return flexml_err_msg;
3528 static void reset_surfxml_parse_err_msg()
3530 flexml_err_msg[0] = '\0';
3534 static void cleanup(void);
3535 #define CLEANUP cleanup()
3537 /* Text buffer stack handling. */
3538 char *surfxml_bufferstack = NULL;
3539 static int blimit = FLEXML_BUFFERSTACKSIZE;
3540 static int bnext = 1;
3542 static int *indexstack = NULL;
3543 static int ilimit = FLEXML_INDEXSTACKSIZE;
3544 static int inext = 1;
3546 #define BUFFERSET(P) (P = bnext)
3547 #define BUFFERPUTC(C) (ck_blimit(), surfxml_bufferstack[bnext++] = (C))
3548 #define BUFFERDONE (BUFFERPUTC('\0'))
3550 #define BUFFERLITERAL(C, P) surfxml_bufferliteral(C, &(P), surf_parse_text)
3552 /* after this is called, there are at least 2 slots left in the stack */
3553 static int ck_blimit()
3555 if (bnext >= blimit) {
3556 blimit += FLEXML_BUFFERSTACKSIZE + 2;
3558 char *temp = (char *) realloc(surfxml_bufferstack, blimit);
3560 surfxml_bufferstack = temp;
3566 /* after this is called, there are at least 2 slots left in the stack */
3567 static int ck_ilimit()
3569 if (inext >= ilimit) {
3570 ilimit += FLEXML_INDEXSTACKSIZE + 2;
3572 int *temp = (int *) realloc(indexstack, ilimit);
3580 #ifdef FLEXML_NEED_BUFFERLIT
3581 static void surfxml_bufferliteral(char c, int* pp, const char* text)
3583 const char *s = (c ? strchr(text,c) : text-1), *e = strrchr(text,c);
3584 assert(s <= e); BUFFERSET(*pp);
3586 if (isspace(*s) && c) { BUFFERPUTC(' '); while (isspace(*s)) ++s; }
3587 else BUFFERPUTC(*s);
3593 static void pushbuffer(int p)
3596 indexstack[inext++] = p;
3597 indexstack[inext++] = bnext;
3600 static int popbuffer(void)
3603 bnext = indexstack[--inext];
3604 return indexstack[--inext];
3607 /* General internal entities are `unput' back onto the input stream... */
3608 #define ENTITYTEXT(T) \
3609 { char *s = (T), *e = s+strlen(s);\
3610 while (--e >= s) { unput(*e); }}
3612 /* Flex standard options. */
3613 #define YY_NO_INPUT 1
3614 /* Flex user-requested options. */
3615 /* XML character classes (currently restricted to ASCII). */
3616 /* "Common syntactic structures." */
3617 /* "Names and Tokens." */
3618 /* Miscellaneous. */
3619 /* Parser states (flex `exclusive start conditions'):
3621 * PROLOG the XML prolog of the document before <?xml...>
3622 * DOCTYPE the XML prolog of the document after <?xml...>
3623 * EPILOG after the root element
3624 * INCOMMENT inside an XML comment <!--....-->
3625 * INPI inside an XML PI <?...?>
3626 * VALUE1 inside a '...'-delimited literal
3627 * VALUE2 inside a "..."-delimited literal
3628 * CDATA inside a <![CDATA[...] ]> section.
3629 * ROOT_<tag> expect root element <tag>
3630 * AL_<tag> inside the attribute list for <tag>
3631 * IN_<tag> inside a <tag> with element contents (ready for end tag)
3632 * IMPOSSIBLE dummy to permit disabling rules; must be last
3636 const char* *surfxml_statenames=NULL;
3647 #define ROOT_surfxml_platform 9
3648 #define AL_surfxml_platform 10
3649 #define S_surfxml_platform 11
3650 #define S_surfxml_platform_1 12
3651 #define S_surfxml_platform_2 13
3652 #define S_surfxml_platform_3 14
3653 #define S_surfxml_platform_4 15
3654 #define S_surfxml_platform_5 16
3655 #define S_surfxml_platform_6 17
3656 #define S_surfxml_platform_7 18
3657 #define S_surfxml_platform_8 19
3658 #define E_surfxml_platform 20
3659 #define AL_surfxml_include 21
3660 #define E_surfxml_include 22
3661 #define AL_surfxml_trace 23
3663 #define AL_surfxml_random 25
3664 #define S_surfxml_random 26
3665 #define S_surfxml_random_1 27
3666 #define S_surfxml_random_2 28
3667 #define E_surfxml_random 29
3668 #define AL_surfxml_trace_connect 30
3669 #define E_surfxml_trace_connect 31
3670 #define AL_surfxml_AS 32
3671 #define S_surfxml_AS 33
3672 #define S_surfxml_AS_1 34
3673 #define S_surfxml_AS_2 35
3674 #define S_surfxml_AS_3 36
3675 #define S_surfxml_AS_4 37
3676 #define S_surfxml_AS_5 38
3677 #define S_surfxml_AS_6 39
3678 #define S_surfxml_AS_7 40
3679 #define S_surfxml_AS_8 41
3680 #define S_surfxml_AS_9 42
3681 #define S_surfxml_AS_10 43
3682 #define S_surfxml_AS_11 44
3683 #define S_surfxml_AS_12 45
3684 #define S_surfxml_AS_13 46
3685 #define E_surfxml_AS 47
3686 #define AL_surfxml_host 48
3687 #define S_surfxml_host 49
3688 #define S_surfxml_host_1 50
3689 #define S_surfxml_host_2 51
3690 #define E_surfxml_host 52
3691 #define AL_surfxml_cluster 53
3692 #define E_surfxml_cluster 54
3693 #define AL_surfxml_peer 55
3694 #define E_surfxml_peer 56
3695 #define AL_surfxml_router 57
3696 #define E_surfxml_router 58
3697 #define AL_surfxml_link 59
3698 #define S_surfxml_link 60
3699 #define S_surfxml_link_1 61
3700 #define S_surfxml_link_2 62
3701 #define E_surfxml_link 63
3702 #define AL_surfxml_route 64
3703 #define S_surfxml_route 65
3704 #define S_surfxml_route_1 66
3705 #define S_surfxml_route_2 67
3706 #define E_surfxml_route 68
3707 #define AL_surfxml_ASroute 69
3708 #define S_surfxml_ASroute 70
3709 #define S_surfxml_ASroute_1 71
3710 #define S_surfxml_ASroute_2 72
3711 #define E_surfxml_ASroute 73
3712 #define AL_surfxml_link_ctn 74
3713 #define E_surfxml_link_ctn 75
3714 #define AL_surfxml_bypassRoute 76
3715 #define S_surfxml_bypassRoute 77
3716 #define S_surfxml_bypassRoute_1 78
3717 #define S_surfxml_bypassRoute_2 79
3718 #define E_surfxml_bypassRoute 80
3719 #define AL_surfxml_process 81
3720 #define S_surfxml_process 82
3721 #define S_surfxml_process_1 83
3722 #define S_surfxml_process_2 84
3723 #define E_surfxml_process 85
3724 #define AL_surfxml_argument 86
3725 #define E_surfxml_argument 87
3726 #define AL_surfxml_config 88
3727 #define S_surfxml_config 89
3728 #define S_surfxml_config_1 90
3729 #define S_surfxml_config_2 91
3730 #define E_surfxml_config 92
3731 #define AL_surfxml_prop 93
3732 #define E_surfxml_prop 94
3733 #define IMPOSSIBLE 95
3735 #ifndef YY_NO_UNISTD_H
3736 /* Special case for "unistd.h", since it is non-ANSI. We include it way
3737 * down here because we want the user's section 1 to have been scanned first.
3738 * The user has a chance to override it with an option.
3740 #if defined(_XBT_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__TOS_WIN__)
3741 # ifndef __STRICT_ANSI__
3743 # include <process.h>
3746 # include <unistd.h>
3750 #ifndef YY_EXTRA_TYPE
3751 #define YY_EXTRA_TYPE void *
3754 static int yy_init_globals (void );
3756 /* Accessor methods to globals.
3757 These are made visible to non-reentrant scanners for convenience. */
3759 int surf_parse_lex_destroy (void );
3761 int surf_parse_get_debug (void );
3763 void surf_parse_set_debug (int debug_flag );
3765 YY_EXTRA_TYPE surf_parse_get_extra (void );
3767 void surf_parse_set_extra (YY_EXTRA_TYPE user_defined );
3769 FILE *surf_parse_get_in (void );
3771 void surf_parse_set_in (FILE * in_str );
3773 FILE *surf_parse_get_out (void );
3775 void surf_parse_set_out (FILE * out_str );
3777 int surf_parse_get_leng (void );
3779 char *surf_parse_get_text (void );
3781 int surf_parse_get_lineno (void );
3783 void surf_parse_set_lineno (int line_number );
3785 /* Macros after this point can all be overridden by user definitions in
3789 #ifndef YY_SKIP_YYWRAP
3791 extern "C" int surf_parse_wrap (void );
3793 extern int surf_parse_wrap (void );
3798 static void yy_flex_strncpy (char *,yyconst char *,int );
3801 #ifdef YY_NEED_STRLEN
3802 static int yy_flex_strlen (yyconst char * );
3808 static int yyinput (void );
3810 static int input (void );
3815 static int yy_start_stack_ptr = 0;
3816 static int yy_start_stack_depth = 0;
3817 static int *yy_start_stack = NULL;
3819 static void yy_push_state (int new_state );
3821 static void yy_pop_state (void );
3823 /* Amount of stuff to slurp up with each read. */
3824 #ifndef YY_READ_BUF_SIZE
3826 /* On IA-64, the buffer size is 16k, not 8k */
3827 #define YY_READ_BUF_SIZE 16384
3829 #define YY_READ_BUF_SIZE 8192
3830 #endif /* __ia64__ */
3833 /* Copy whatever the last rule matched to the standard output. */
3835 /* This used to be an fputs(), but since the string might contain NUL's,
3836 * we now use fwrite().
3838 #define ECHO do { if (fwrite( surf_parse_text, surf_parse_leng, 1, surf_parse_out )) {} } while (0)
3841 /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
3842 * is returned in "result".
3845 #define YY_INPUT(buf,result,max_size) \
3846 if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
3850 for ( n = 0; n < max_size && \
3851 (c = getc( surf_parse_in )) != EOF && c != '\n'; ++n ) \
3852 buf[n] = (char) c; \
3854 buf[n++] = (char) c; \
3855 if ( c == EOF && ferror( surf_parse_in ) ) \
3856 YY_FATAL_ERROR( "input in flex scanner failed" ); \
3862 while ( (result = fread(buf, 1, max_size, surf_parse_in))==0 && ferror(surf_parse_in)) \
3864 if( errno != EINTR) \
3866 YY_FATAL_ERROR( "input in flex scanner failed" ); \
3870 clearerr(surf_parse_in); \
3877 /* No semi-colon after return; correct usage is to write "yyterminate();" -
3878 * we don't want an extra ';' after the "return" because that will cause
3879 * some compilers to complain about unreachable statements.
3882 #define yyterminate() return YY_NULL
3885 /* Number of entries by which start-condition stack grows. */
3886 #ifndef YY_START_STACK_INCR
3887 #define YY_START_STACK_INCR 25
3890 /* Report a fatal error. */
3891 #ifndef YY_FATAL_ERROR
3892 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
3895 /* end tables serialization structures and prototypes */
3897 /* Default declaration of generated scanner - a define so the user can
3898 * easily add parameters.
3901 #define YY_DECL_IS_OURS 1
3903 extern int surf_parse_lex (void);
3905 #define YY_DECL int surf_parse_lex (void)
3906 #endif /* !YY_DECL */
3908 /* Code executed at the beginning of each rule, after surf_parse_text and surf_parse_leng
3911 #ifndef YY_USER_ACTION
3912 #define YY_USER_ACTION
3915 /* Code executed at the end of each rule. */
3917 #define YY_BREAK break;
3920 #define YY_RULE_SETUP \
3923 /** The main scanner function which does all the work.
3927 register yy_state_type yy_current_state;
3928 register char *yy_cp, *yy_bp;
3929 register int yy_act;
3931 /* Bypass Flex's default INITIAL state and begin by parsing the XML prolog. */
3933 reset_surfxml_parse_err_msg();
3934 surfxml_bufferstack = (char *) malloc(FLEXML_BUFFERSTACKSIZE);
3935 assert(surfxml_bufferstack);
3939 for (i = 0; i < blimit; i++) {
3940 surfxml_bufferstack[i] = '\377';
3944 surfxml_bufferstack[0] = '\0';
3945 indexstack = (int *) malloc(FLEXML_INDEXSTACKSIZE * sizeof(int));
3951 surfxml_bufferliteral('\0', &bnext, "0.0");
3952 surfxml_bufferliteral('\0', &bnext, "2147483647");
3953 surfxml_bufferliteral('\0', &bnext, "1");
3954 surfxml_bufferliteral('\0', &bnext, "1.0");
3955 surfxml_bufferliteral('\0', &bnext, "1");
3956 surfxml_bufferliteral('\0', &bnext, "0.0");
3957 surfxml_bufferliteral('\0', &bnext, "-1.0");
3958 surfxml_bufferliteral('\0', &bnext, "-1.0");
3959 if(!surfxml_statenames) {surfxml_statenames= (const char **)calloc(IMPOSSIBLE,sizeof(char*));
3960 surfxml_statenames[PROLOG] = NULL;
3961 surfxml_statenames[DOCTYPE] = NULL;
3962 surfxml_statenames[EPILOG] = NULL;
3963 surfxml_statenames[INCOMMENT] = NULL;
3964 surfxml_statenames[INPI] = NULL;
3965 surfxml_statenames[VALUE1] = NULL;
3966 surfxml_statenames[VALUE2] = NULL;
3967 surfxml_statenames[CDATA] = NULL;
3968 surfxml_statenames[ROOT_surfxml_platform] = NULL;
3969 surfxml_statenames[AL_surfxml_platform] = NULL;
3970 surfxml_statenames[S_surfxml_platform] = "platform";
3971 surfxml_statenames[S_surfxml_platform_1] = "platform";
3972 surfxml_statenames[S_surfxml_platform_2] = "platform";
3973 surfxml_statenames[S_surfxml_platform_3] = "platform";
3974 surfxml_statenames[S_surfxml_platform_4] = "platform";
3975 surfxml_statenames[S_surfxml_platform_5] = "platform";
3976 surfxml_statenames[S_surfxml_platform_6] = "platform";
3977 surfxml_statenames[S_surfxml_platform_7] = "platform";
3978 surfxml_statenames[S_surfxml_platform_8] = "platform";
3979 surfxml_statenames[E_surfxml_platform] = "platform";
3980 surfxml_statenames[AL_surfxml_include] = NULL;
3981 surfxml_statenames[E_surfxml_include] = "include";
3982 surfxml_statenames[AL_surfxml_trace] = NULL;
3983 surfxml_statenames[IN_trace] = "trace";
3984 surfxml_statenames[AL_surfxml_random] = NULL;
3985 surfxml_statenames[S_surfxml_random] = "random";
3986 surfxml_statenames[S_surfxml_random_1] = "random";
3987 surfxml_statenames[S_surfxml_random_2] = "random";
3988 surfxml_statenames[E_surfxml_random] = "random";
3989 surfxml_statenames[AL_surfxml_trace_connect] = NULL;
3990 surfxml_statenames[E_surfxml_trace_connect] = "trace_connect";
3991 surfxml_statenames[AL_surfxml_AS] = NULL;
3992 surfxml_statenames[S_surfxml_AS] = "AS";
3993 surfxml_statenames[S_surfxml_AS_1] = "AS";
3994 surfxml_statenames[S_surfxml_AS_2] = "AS";
3995 surfxml_statenames[S_surfxml_AS_3] = "AS";
3996 surfxml_statenames[S_surfxml_AS_4] = "AS";
3997 surfxml_statenames[S_surfxml_AS_5] = "AS";
3998 surfxml_statenames[S_surfxml_AS_6] = "AS";
3999 surfxml_statenames[S_surfxml_AS_7] = "AS";
4000 surfxml_statenames[S_surfxml_AS_8] = "AS";
4001 surfxml_statenames[S_surfxml_AS_9] = "AS";
4002 surfxml_statenames[S_surfxml_AS_10] = "AS";
4003 surfxml_statenames[S_surfxml_AS_11] = "AS";
4004 surfxml_statenames[S_surfxml_AS_12] = "AS";
4005 surfxml_statenames[S_surfxml_AS_13] = "AS";
4006 surfxml_statenames[E_surfxml_AS] = "AS";
4007 surfxml_statenames[AL_surfxml_host] = NULL;
4008 surfxml_statenames[S_surfxml_host] = "host";
4009 surfxml_statenames[S_surfxml_host_1] = "host";
4010 surfxml_statenames[S_surfxml_host_2] = "host";
4011 surfxml_statenames[E_surfxml_host] = "host";
4012 surfxml_statenames[AL_surfxml_cluster] = NULL;
4013 surfxml_statenames[E_surfxml_cluster] = "cluster";
4014 surfxml_statenames[AL_surfxml_peer] = NULL;
4015 surfxml_statenames[E_surfxml_peer] = "peer";
4016 surfxml_statenames[AL_surfxml_router] = NULL;
4017 surfxml_statenames[E_surfxml_router] = "router";
4018 surfxml_statenames[AL_surfxml_link] = NULL;
4019 surfxml_statenames[S_surfxml_link] = "link";
4020 surfxml_statenames[S_surfxml_link_1] = "link";
4021 surfxml_statenames[S_surfxml_link_2] = "link";
4022 surfxml_statenames[E_surfxml_link] = "link";
4023 surfxml_statenames[AL_surfxml_route] = NULL;
4024 surfxml_statenames[S_surfxml_route] = "route";
4025 surfxml_statenames[S_surfxml_route_1] = "route";
4026 surfxml_statenames[S_surfxml_route_2] = "route";
4027 surfxml_statenames[E_surfxml_route] = "route";
4028 surfxml_statenames[AL_surfxml_ASroute] = NULL;
4029 surfxml_statenames[S_surfxml_ASroute] = "ASroute";
4030 surfxml_statenames[S_surfxml_ASroute_1] = "ASroute";
4031 surfxml_statenames[S_surfxml_ASroute_2] = "ASroute";
4032 surfxml_statenames[E_surfxml_ASroute] = "ASroute";
4033 surfxml_statenames[AL_surfxml_link_ctn] = NULL;
4034 surfxml_statenames[E_surfxml_link_ctn] = "link_ctn";
4035 surfxml_statenames[AL_surfxml_bypassRoute] = NULL;
4036 surfxml_statenames[S_surfxml_bypassRoute] = "bypassRoute";
4037 surfxml_statenames[S_surfxml_bypassRoute_1] = "bypassRoute";
4038 surfxml_statenames[S_surfxml_bypassRoute_2] = "bypassRoute";
4039 surfxml_statenames[E_surfxml_bypassRoute] = "bypassRoute";
4040 surfxml_statenames[AL_surfxml_process] = NULL;
4041 surfxml_statenames[S_surfxml_process] = "process";
4042 surfxml_statenames[S_surfxml_process_1] = "process";
4043 surfxml_statenames[S_surfxml_process_2] = "process";
4044 surfxml_statenames[E_surfxml_process] = "process";
4045 surfxml_statenames[AL_surfxml_argument] = NULL;
4046 surfxml_statenames[E_surfxml_argument] = "argument";
4047 surfxml_statenames[AL_surfxml_config] = NULL;
4048 surfxml_statenames[S_surfxml_config] = "config";
4049 surfxml_statenames[S_surfxml_config_1] = "config";
4050 surfxml_statenames[S_surfxml_config_2] = "config";
4051 surfxml_statenames[E_surfxml_config] = "config";
4052 surfxml_statenames[AL_surfxml_prop] = NULL;
4053 surfxml_statenames[E_surfxml_prop] = "prop";
4056 /* COMMENTS and PIs: handled uniformly for efficiency. */
4067 (yy_start) = 1; /* first start state */
4069 if ( ! surf_parse_in )
4070 surf_parse_in = stdin;
4072 if ( ! surf_parse_out )
4073 surf_parse_out = stdout;
4075 if ( ! YY_CURRENT_BUFFER ) {
4076 surf_parse_ensure_buffer_stack ();
4077 YY_CURRENT_BUFFER_LVALUE =
4078 surf_parse__create_buffer(surf_parse_in,YY_BUF_SIZE );
4081 surf_parse__load_buffer_state( );
4084 while ( 1 ) /* loops until end-of-file is reached */
4086 yy_cp = (yy_c_buf_p);
4088 /* Support of surf_parse_text. */
4089 *yy_cp = (yy_hold_char);
4091 /* yy_bp points to the position in yy_ch_buf of the start of
4096 yy_current_state = (yy_start);
4100 register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
4101 if ( yy_accept[yy_current_state] )
4103 (yy_last_accepting_state) = yy_current_state;
4104 (yy_last_accepting_cpos) = yy_cp;
4106 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
4108 yy_current_state = (int) yy_def[yy_current_state];
4109 if ( yy_current_state >= 2421 )
4110 yy_c = yy_meta[(unsigned int) yy_c];
4112 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
4115 while ( yy_base[yy_current_state] != 8061 );
4118 yy_act = yy_accept[yy_current_state];
4120 { /* have to back up */
4121 yy_cp = (yy_last_accepting_cpos);
4122 yy_current_state = (yy_last_accepting_state);
4123 yy_act = yy_accept[yy_current_state];
4126 YY_DO_BEFORE_ACTION;
4128 if ( yy_act != YY_END_OF_BUFFER && yy_rule_can_match_eol[yy_act] )
4131 for ( yyl = 0; yyl < surf_parse_leng; ++yyl )
4132 if ( surf_parse_text[yyl] == '\n' )
4134 surf_parse_lineno++;
4138 do_action: /* This label is used only to access EOF actions. */
4141 { /* beginning of action switch */
4142 case 0: /* must back up */
4143 /* undo the effects of YY_DO_BEFORE_ACTION */
4144 *yy_cp = (yy_hold_char);
4145 yy_cp = (yy_last_accepting_cpos);
4146 yy_current_state = (yy_last_accepting_state);
4147 goto yy_find_action;
4165 /* rule 6 can match eol */
4169 case YY_STATE_EOF(INCOMMENT):
4170 FAIL("EOF in comment.");
4179 /* rule 9 can match eol */
4183 case YY_STATE_EOF(INPI):
4184 FAIL("EOF in PI (processing instruction).");
4187 /* SPACES: skipped uniformly */
4189 /* rule 10 can match eol */
4193 /* PROLOG: determine root element and process it. */
4196 /* rule 11 can match eol */
4201 /* rule 12 can match eol */
4203 FAIL("Bad declaration %s.",surf_parse_text);
4207 /* rule 13 can match eol */
4209 SET(ROOT_surfxml_platform);
4212 /* rule 14 can match eol */
4214 FAIL("Bad declaration %s.",surf_parse_text);
4218 FAIL("Unexpected character `%c' in prolog.", surf_parse_text[0]);
4220 case YY_STATE_EOF(PROLOG):
4221 case YY_STATE_EOF(DOCTYPE):
4222 FAIL("EOF in prolog.");
4225 /* RULES DERIVED FROM DTD. */
4226 /* <!-- Small DTD for SURF based tools. --> */
4228 /* rule 16 can match eol */
4230 FAIL("Starting tag <platform> is not allowed here.");
4233 /* rule 17 can match eol */
4236 AX_surfxml_platform_version = 1;
4237 surfxml_platform_version_isset = 0;
4238 ENTER(AL_surfxml_platform); pushbuffer(0);
4243 /* rule 18 can match eol */
4245 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);
4248 /* rule 19 can match eol */
4250 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);
4255 LEAVE; STag_surfxml_platform();surfxml_pcdata_ix = 0; ENTER(S_surfxml_platform);
4261 LEAVE; STag_surfxml_platform(); surfxml_pcdata_ix = 0; ETag_surfxml_platform(); popbuffer(); /* attribute */
4263 case ROOT_surfxml_platform: SET(EPILOG); break;
4269 FAIL("Unexpected character `%c' in attribute list of platform element.", surf_parse_text[0]);
4273 FAIL("Bad attribute `%s' in `platform' element start tag.",surf_parse_text);
4275 case YY_STATE_EOF(AL_surfxml_platform):
4276 FAIL("EOF in attribute list of `platform' element.");
4280 /* rule 24 can match eol */
4284 ETag_surfxml_platform();
4285 popbuffer(); /* attribute */
4287 case ROOT_surfxml_platform: SET(EPILOG); break;
4292 /* rule 25 can match eol */
4294 FAIL("Unexpected end-tag `%s': `</platform>' expected.",surf_parse_text);
4298 FAIL("Unexpected character `%c': `</platform>' expected.",surf_parse_text[0]);
4300 case YY_STATE_EOF(S_surfxml_platform_8):
4301 case YY_STATE_EOF(S_surfxml_platform_1):
4302 case YY_STATE_EOF(S_surfxml_platform_3):
4303 case YY_STATE_EOF(S_surfxml_platform):
4304 case YY_STATE_EOF(S_surfxml_platform_4):
4305 case YY_STATE_EOF(S_surfxml_platform_6):
4306 case YY_STATE_EOF(E_surfxml_platform):
4307 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</platform>' expected.");
4311 /* rule 27 can match eol */
4313 FAIL("Starting tag <include> is not allowed here.");
4316 /* rule 28 can match eol */
4319 AX_surfxml_include_file = 0;
4320 surfxml_include_file_isset = 0;
4321 ENTER(AL_surfxml_include); pushbuffer(0);
4326 /* rule 29 can match eol */
4328 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);
4331 /* rule 30 can match eol */
4333 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);
4338 if (!AX_surfxml_include_file) FAIL("Required attribute `file' not set for `include' element.");
4339 LEAVE; STag_surfxml_include();surfxml_pcdata_ix = 0; ENTER(E_surfxml_include);
4345 if (!AX_surfxml_include_file) FAIL("Required attribute `file' not set for `include' element.");
4346 LEAVE; STag_surfxml_include(); surfxml_pcdata_ix = 0; ETag_surfxml_include(); popbuffer(); /* attribute */
4348 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
4349 case S_surfxml_AS_2: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
4350 case S_surfxml_platform_5: SET(S_surfxml_platform_6); break;
4351 case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_6: case S_surfxml_platform_8: case S_surfxml_platform_7: case S_surfxml_platform_3: case S_surfxml_platform_4: SET(S_surfxml_platform_8); break;
4357 FAIL("Unexpected character `%c' in attribute list of include element.", surf_parse_text[0]);
4361 FAIL("Bad attribute `%s' in `include' element start tag.",surf_parse_text);
4363 case YY_STATE_EOF(AL_surfxml_include):
4364 FAIL("EOF in attribute list of `include' element.");
4368 /* rule 35 can match eol */
4372 ETag_surfxml_include();
4373 popbuffer(); /* attribute */
4375 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
4376 case S_surfxml_AS_2: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
4377 case S_surfxml_platform_5: SET(S_surfxml_platform_6); break;
4378 case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_6: case S_surfxml_platform_8: case S_surfxml_platform_7: case S_surfxml_platform_3: case S_surfxml_platform_4: SET(S_surfxml_platform_8); break;
4383 /* rule 36 can match eol */
4385 FAIL("Unexpected end-tag `%s': `</include>' expected.",surf_parse_text);
4389 FAIL("Unexpected character `%c': `</include>' expected.",surf_parse_text[0]);
4391 case YY_STATE_EOF(E_surfxml_include):
4392 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</include>' expected.");
4396 /* rule 38 can match eol */
4398 FAIL("Starting tag <trace> is not allowed here.");
4401 /* rule 39 can match eol */
4404 AX_surfxml_trace_id = 0;
4405 surfxml_trace_id_isset = 0;
4406 AX_surfxml_trace_file = 0;
4407 surfxml_trace_file_isset = 0;
4408 AX_surfxml_trace_periodicity = 0;
4409 surfxml_trace_periodicity_isset = 0;
4410 ENTER(AL_surfxml_trace); pushbuffer(0);
4415 /* rule 40 can match eol */
4417 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);
4420 /* rule 41 can match eol */
4422 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);
4425 /* rule 42 can match eol */
4427 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);
4430 /* rule 43 can match eol */
4432 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);
4435 /* rule 44 can match eol */
4437 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);
4440 /* rule 45 can match eol */
4442 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);
4447 if (!AX_surfxml_trace_id) FAIL("Required attribute `id' not set for `trace' element.");
4448 if (!AX_surfxml_trace_periodicity) FAIL("Required attribute `periodicity' not set for `trace' element.");
4449 LEAVE; STag_surfxml_trace();pushbuffer(surfxml_pcdata_ix); BUFFERSET(surfxml_pcdata_ix);; ENTER(IN_trace);
4455 if (!AX_surfxml_trace_id) FAIL("Required attribute `id' not set for `trace' element.");
4456 if (!AX_surfxml_trace_periodicity) FAIL("Required attribute `periodicity' not set for `trace' element.");
4457 LEAVE; STag_surfxml_trace(); surfxml_pcdata_ix = 0; ETag_surfxml_trace(); popbuffer(); /* attribute */
4459 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;
4460 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
4461 case S_surfxml_AS_2: SET(S_surfxml_AS_3); break;
4462 case S_surfxml_AS_1: case S_surfxml_AS_5: SET(S_surfxml_AS_6); break;
4463 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;
4464 case S_surfxml_AS_12: case S_surfxml_AS_9: case S_surfxml_AS_13: SET(S_surfxml_AS_13); break;
4470 FAIL("Unexpected character `%c' in attribute list of trace element.", surf_parse_text[0]);
4474 FAIL("Bad attribute `%s' in `trace' element start tag.",surf_parse_text);
4476 case YY_STATE_EOF(AL_surfxml_trace):
4477 FAIL("EOF in attribute list of `trace' element.");
4481 /* rule 50 can match eol */
4486 ETag_surfxml_trace();
4487 surfxml_pcdata_ix = popbuffer();
4488 popbuffer(); /* attribute */
4490 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;
4491 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
4492 case S_surfxml_AS_2: SET(S_surfxml_AS_3); break;
4493 case S_surfxml_AS_1: case S_surfxml_AS_5: SET(S_surfxml_AS_6); break;
4494 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;
4495 case S_surfxml_AS_12: case S_surfxml_AS_9: case S_surfxml_AS_13: SET(S_surfxml_AS_13); break;
4500 /* rule 51 can match eol */
4502 FAIL("Unexpected end-tag `%s': `</trace>' expected.",surf_parse_text);
4504 case YY_STATE_EOF(IN_trace):
4505 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</trace>' expected.");
4509 /* rule 52 can match eol */
4511 FAIL("Starting tag <random> is not allowed here.");
4514 /* rule 53 can match eol */
4517 AX_surfxml_random_id = 0;
4518 surfxml_random_id_isset = 0;
4519 AX_surfxml_random_min = 0;
4520 surfxml_random_min_isset = 0;
4521 AX_surfxml_random_max = 0;
4522 surfxml_random_max_isset = 0;
4523 AX_surfxml_random_mean = 0;
4524 surfxml_random_mean_isset = 0;
4525 AX_surfxml_random_std_deviation = 0;
4526 surfxml_random_std_deviation_isset = 0;
4527 AX_surfxml_random_seed = 5;
4528 surfxml_random_seed_isset = 0;
4529 AX_surfxml_random_radical = 0;
4530 surfxml_random_radical_isset = 0;
4531 AX_surfxml_random_generator = A_surfxml_random_generator_DRAND48;
4532 surfxml_random_generator_isset = 0;
4533 ENTER(AL_surfxml_random); pushbuffer(0);
4538 /* rule 54 can match eol */
4540 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);
4543 /* rule 55 can match eol */
4545 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);
4548 /* rule 56 can match eol */
4550 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);
4553 /* rule 57 can match eol */
4555 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);
4558 /* rule 58 can match eol */
4560 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);
4563 /* rule 59 can match eol */
4565 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);
4568 /* rule 60 can match eol */
4570 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);
4573 /* rule 61 can match eol */
4575 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);
4578 /* rule 62 can match eol */
4580 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);
4583 /* rule 63 can match eol */
4585 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);
4588 /* rule 64 can match eol */
4590 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);
4593 /* rule 65 can match eol */
4595 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);
4598 /* rule 66 can match eol */
4600 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);
4603 /* rule 67 can match eol */
4605 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);
4608 /* rule 68 can match eol */
4610 /* rule 69 can match eol */
4612 A_surfxml_random_generator = A_surfxml_random_generator_DRAND48;
4615 /* rule 70 can match eol */
4617 /* rule 71 can match eol */
4619 A_surfxml_random_generator = A_surfxml_random_generator_RAND;
4622 /* rule 72 can match eol */
4624 /* rule 73 can match eol */
4626 A_surfxml_random_generator = A_surfxml_random_generator_RNGSTREAM;
4629 /* rule 74 can match eol */
4631 /* rule 75 can match eol */
4633 A_surfxml_random_generator = A_surfxml_random_generator_NONE;
4638 if (!AX_surfxml_random_id) FAIL("Required attribute `id' not set for `random' element.");
4639 if (!AX_surfxml_random_min) FAIL("Required attribute `min' not set for `random' element.");
4640 if (!AX_surfxml_random_max) FAIL("Required attribute `max' not set for `random' element.");
4641 if (!AX_surfxml_random_mean) FAIL("Required attribute `mean' not set for `random' element.");
4642 if (!AX_surfxml_random_std_deviation) FAIL("Required attribute `std_deviation' not set for `random' element.");
4643 LEAVE; STag_surfxml_random();surfxml_pcdata_ix = 0; ENTER(S_surfxml_random);
4649 if (!AX_surfxml_random_id) FAIL("Required attribute `id' not set for `random' element.");
4650 if (!AX_surfxml_random_min) FAIL("Required attribute `min' not set for `random' element.");
4651 if (!AX_surfxml_random_max) FAIL("Required attribute `max' not set for `random' element.");
4652 if (!AX_surfxml_random_mean) FAIL("Required attribute `mean' not set for `random' element.");
4653 if (!AX_surfxml_random_std_deviation) FAIL("Required attribute `std_deviation' not set for `random' element.");
4654 LEAVE; STag_surfxml_random(); surfxml_pcdata_ix = 0; ETag_surfxml_random(); popbuffer(); /* attribute */
4656 case S_surfxml_platform_2: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_3); break;
4662 FAIL("Unexpected character `%c' in attribute list of random element.", surf_parse_text[0]);
4666 FAIL("Bad attribute `%s' in `random' element start tag.",surf_parse_text);
4668 case YY_STATE_EOF(AL_surfxml_random):
4669 FAIL("EOF in attribute list of `random' element.");
4673 /* rule 80 can match eol */
4677 ETag_surfxml_random();
4678 popbuffer(); /* attribute */
4680 case S_surfxml_platform_2: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_3); break;
4685 /* rule 81 can match eol */
4687 FAIL("Unexpected end-tag `%s': `</random>' expected.",surf_parse_text);
4691 FAIL("Unexpected character `%c': `</random>' expected.",surf_parse_text[0]);
4693 case YY_STATE_EOF(S_surfxml_random_2):
4694 case YY_STATE_EOF(S_surfxml_random):
4695 case YY_STATE_EOF(E_surfxml_random):
4696 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</random>' expected.");
4700 /* rule 83 can match eol */
4702 FAIL("Starting tag <trace_connect> is not allowed here.");
4705 /* rule 84 can match eol */
4708 AX_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_HOST_AVAIL;
4709 surfxml_trace_connect_kind_isset = 0;
4710 AX_surfxml_trace_connect_trace = 0;
4711 surfxml_trace_connect_trace_isset = 0;
4712 AX_surfxml_trace_connect_element = 0;
4713 surfxml_trace_connect_element_isset = 0;
4714 ENTER(AL_surfxml_trace_connect); pushbuffer(0);
4719 /* rule 85 can match eol */
4721 /* rule 86 can match eol */
4723 A_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_HOST_AVAIL;
4726 /* rule 87 can match eol */
4728 /* rule 88 can match eol */
4730 A_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_POWER;
4733 /* rule 89 can match eol */
4735 /* rule 90 can match eol */
4737 A_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_LINK_AVAIL;
4740 /* rule 91 can match eol */
4742 /* rule 92 can match eol */
4744 A_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_BANDWIDTH;
4747 /* rule 93 can match eol */
4749 /* rule 94 can match eol */
4751 A_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_LATENCY;
4754 /* rule 95 can match eol */
4756 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);
4759 /* rule 96 can match eol */
4761 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);
4764 /* rule 97 can match eol */
4766 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);
4769 /* rule 98 can match eol */
4771 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);
4776 if (!AX_surfxml_trace_connect_trace) FAIL("Required attribute `trace' not set for `trace_connect' element.");
4777 if (!AX_surfxml_trace_connect_element) FAIL("Required attribute `element' not set for `trace_connect' element.");
4778 LEAVE; STag_surfxml_trace_connect();surfxml_pcdata_ix = 0; ENTER(E_surfxml_trace_connect);
4784 if (!AX_surfxml_trace_connect_trace) FAIL("Required attribute `trace' not set for `trace_connect' element.");
4785 if (!AX_surfxml_trace_connect_element) FAIL("Required attribute `element' not set for `trace_connect' element.");
4786 LEAVE; STag_surfxml_trace_connect(); surfxml_pcdata_ix = 0; ETag_surfxml_trace_connect(); popbuffer(); /* attribute */
4788 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;
4789 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
4790 case S_surfxml_AS_2: SET(S_surfxml_AS_3); break;
4791 case S_surfxml_AS_1: case S_surfxml_AS_5: SET(S_surfxml_AS_6); break;
4792 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;
4793 case S_surfxml_AS_12: case S_surfxml_AS_9: case S_surfxml_AS_13: SET(S_surfxml_AS_13); break;
4799 FAIL("Unexpected character `%c' in attribute list of trace_connect element.", surf_parse_text[0]);
4803 FAIL("Bad attribute `%s' in `trace_connect' element start tag.",surf_parse_text);
4805 case YY_STATE_EOF(AL_surfxml_trace_connect):
4806 FAIL("EOF in attribute list of `trace_connect' element.");
4810 /* rule 103 can match eol */
4814 ETag_surfxml_trace_connect();
4815 popbuffer(); /* attribute */
4817 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;
4818 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
4819 case S_surfxml_AS_2: SET(S_surfxml_AS_3); break;
4820 case S_surfxml_AS_1: case S_surfxml_AS_5: SET(S_surfxml_AS_6); break;
4821 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;
4822 case S_surfxml_AS_12: case S_surfxml_AS_9: case S_surfxml_AS_13: SET(S_surfxml_AS_13); break;
4827 /* rule 104 can match eol */
4829 FAIL("Unexpected end-tag `%s': `</trace_connect>' expected.",surf_parse_text);
4833 FAIL("Unexpected character `%c': `</trace_connect>' expected.",surf_parse_text[0]);
4835 case YY_STATE_EOF(E_surfxml_trace_connect):
4836 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</trace_connect>' expected.");
4840 /* rule 106 can match eol */
4842 FAIL("Starting tag <AS> is not allowed here.");
4845 /* rule 107 can match eol */
4848 AX_surfxml_AS_id = 0;
4849 surfxml_AS_id_isset = 0;
4850 AX_surfxml_AS_routing = 0;
4851 surfxml_AS_routing_isset = 0;
4852 ENTER(AL_surfxml_AS); pushbuffer(0);
4857 /* rule 108 can match eol */
4859 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);
4862 /* rule 109 can match eol */
4864 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);
4867 /* rule 110 can match eol */
4869 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);
4872 /* rule 111 can match eol */
4874 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);
4879 if (!AX_surfxml_AS_id) FAIL("Required attribute `id' not set for `AS' element.");
4880 if (!AX_surfxml_AS_routing) FAIL("Required attribute `routing' not set for `AS' element.");
4881 LEAVE; STag_surfxml_AS();surfxml_pcdata_ix = 0; ENTER(S_surfxml_AS);
4887 if (!AX_surfxml_AS_id) FAIL("Required attribute `id' not set for `AS' element.");
4888 if (!AX_surfxml_AS_routing) FAIL("Required attribute `routing' not set for `AS' element.");
4889 LEAVE; STag_surfxml_AS(); surfxml_pcdata_ix = 0; ETag_surfxml_AS(); popbuffer(); /* attribute */
4891 case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
4892 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;
4898 FAIL("Unexpected character `%c' in attribute list of AS element.", surf_parse_text[0]);
4902 FAIL("Bad attribute `%s' in `AS' element start tag.",surf_parse_text);
4904 case YY_STATE_EOF(AL_surfxml_AS):
4905 FAIL("EOF in attribute list of `AS' element.");
4909 /* rule 116 can match eol */
4914 popbuffer(); /* attribute */
4916 case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
4917 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;
4922 /* rule 117 can match eol */
4924 FAIL("Unexpected end-tag `%s': `</AS>' expected.",surf_parse_text);
4928 FAIL("Unexpected character `%c': `</AS>' expected.",surf_parse_text[0]);
4930 case YY_STATE_EOF(S_surfxml_AS_1):
4931 case YY_STATE_EOF(S_surfxml_AS_9):
4932 case YY_STATE_EOF(S_surfxml_AS_11):
4933 case YY_STATE_EOF(S_surfxml_AS_6):
4934 case YY_STATE_EOF(E_surfxml_AS):
4935 case YY_STATE_EOF(S_surfxml_AS_3):
4936 case YY_STATE_EOF(S_surfxml_AS_13):
4937 case YY_STATE_EOF(S_surfxml_AS_8):
4938 case YY_STATE_EOF(S_surfxml_AS):
4939 case YY_STATE_EOF(S_surfxml_AS_4):
4940 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</AS>' expected.");
4944 /* rule 119 can match eol */
4946 FAIL("Starting tag <host> is not allowed here.");
4949 /* rule 120 can match eol */
4952 AX_surfxml_host_id = 0;
4953 surfxml_host_id_isset = 0;
4954 AX_surfxml_host_power = 0;
4955 surfxml_host_power_isset = 0;
4956 AX_surfxml_host_core = 16;
4957 surfxml_host_core_isset = 0;
4958 AX_surfxml_host_availability = 18;
4959 surfxml_host_availability_isset = 0;
4960 AX_surfxml_host_availability_file = 0;
4961 surfxml_host_availability_file_isset = 0;
4962 AX_surfxml_host_state = A_surfxml_host_state_ON;
4963 surfxml_host_state_isset = 0;
4964 AX_surfxml_host_state_file = 0;
4965 surfxml_host_state_file_isset = 0;
4966 AX_surfxml_host_coordinates = 0;
4967 surfxml_host_coordinates_isset = 0;
4968 ENTER(AL_surfxml_host); pushbuffer(0);
4973 /* rule 121 can match eol */
4975 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);
4978 /* rule 122 can match eol */
4980 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);
4983 /* rule 123 can match eol */
4985 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);
4988 /* rule 124 can match eol */
4990 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);
4993 /* rule 125 can match eol */
4995 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);
4998 /* rule 126 can match eol */
5000 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);
5003 /* rule 127 can match eol */
5005 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);
5008 /* rule 128 can match eol */
5010 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);
5013 /* rule 129 can match eol */
5015 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);
5018 /* rule 130 can match eol */
5020 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);
5023 /* rule 131 can match eol */
5025 /* rule 132 can match eol */
5027 A_surfxml_host_state = A_surfxml_host_state_ON;
5030 /* rule 133 can match eol */
5032 /* rule 134 can match eol */
5034 A_surfxml_host_state = A_surfxml_host_state_OFF;
5037 /* rule 135 can match eol */
5039 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);
5042 /* rule 136 can match eol */
5044 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);
5047 /* rule 137 can match eol */
5049 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);
5052 /* rule 138 can match eol */
5054 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);
5059 if (!AX_surfxml_host_id) FAIL("Required attribute `id' not set for `host' element.");
5060 if (!AX_surfxml_host_power) FAIL("Required attribute `power' not set for `host' element.");
5061 LEAVE; STag_surfxml_host();surfxml_pcdata_ix = 0; ENTER(S_surfxml_host);
5067 if (!AX_surfxml_host_id) FAIL("Required attribute `id' not set for `host' element.");
5068 if (!AX_surfxml_host_power) FAIL("Required attribute `power' not set for `host' element.");
5069 LEAVE; STag_surfxml_host(); surfxml_pcdata_ix = 0; ETag_surfxml_host(); popbuffer(); /* attribute */
5071 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
5077 FAIL("Unexpected character `%c' in attribute list of host element.", surf_parse_text[0]);
5081 FAIL("Bad attribute `%s' in `host' element start tag.",surf_parse_text);
5083 case YY_STATE_EOF(AL_surfxml_host):
5084 FAIL("EOF in attribute list of `host' element.");
5088 /* rule 143 can match eol */
5092 ETag_surfxml_host();
5093 popbuffer(); /* attribute */
5095 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
5100 /* rule 144 can match eol */
5102 FAIL("Unexpected end-tag `%s': `</host>' expected.",surf_parse_text);
5106 FAIL("Unexpected character `%c': `</host>' expected.",surf_parse_text[0]);
5108 case YY_STATE_EOF(S_surfxml_host):
5109 case YY_STATE_EOF(E_surfxml_host):
5110 case YY_STATE_EOF(S_surfxml_host_2):
5111 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</host>' expected.");
5115 /* rule 146 can match eol */
5117 FAIL("Starting tag <cluster> is not allowed here.");
5120 /* rule 147 can match eol */
5123 AX_surfxml_cluster_id = 0;
5124 surfxml_cluster_id_isset = 0;
5125 AX_surfxml_cluster_prefix = 0;
5126 surfxml_cluster_prefix_isset = 0;
5127 AX_surfxml_cluster_suffix = 0;
5128 surfxml_cluster_suffix_isset = 0;
5129 AX_surfxml_cluster_radical = 0;
5130 surfxml_cluster_radical_isset = 0;
5131 AX_surfxml_cluster_power = 0;
5132 surfxml_cluster_power_isset = 0;
5133 AX_surfxml_cluster_core = 22;
5134 surfxml_cluster_core_isset = 0;
5135 AX_surfxml_cluster_bw = 0;
5136 surfxml_cluster_bw_isset = 0;
5137 AX_surfxml_cluster_lat = 0;
5138 surfxml_cluster_lat_isset = 0;
5139 AX_surfxml_cluster_sharing_policy = A_surfxml_cluster_sharing_policy_SHARED;
5140 surfxml_cluster_sharing_policy_isset = 0;
5141 AX_surfxml_cluster_bb_bw = 0;
5142 surfxml_cluster_bb_bw_isset = 0;
5143 AX_surfxml_cluster_bb_lat = 0;
5144 surfxml_cluster_bb_lat_isset = 0;
5145 AX_surfxml_cluster_bb_sharing_policy = A_surfxml_cluster_bb_sharing_policy_SHARED;
5146 surfxml_cluster_bb_sharing_policy_isset = 0;
5147 AX_surfxml_cluster_availability_file = 0;
5148 surfxml_cluster_availability_file_isset = 0;
5149 AX_surfxml_cluster_state_file = 0;
5150 surfxml_cluster_state_file_isset = 0;
5151 AX_surfxml_cluster_router_id = 0;
5152 surfxml_cluster_router_id_isset = 0;
5153 ENTER(AL_surfxml_cluster); pushbuffer(0);
5158 /* rule 148 can match eol */
5160 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);
5163 /* rule 149 can match eol */
5165 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);
5168 /* rule 150 can match eol */
5170 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);
5173 /* rule 151 can match eol */
5175 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);
5178 /* rule 152 can match eol */
5180 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);
5183 /* rule 153 can match eol */
5185 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);
5188 /* rule 154 can match eol */
5190 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);
5193 /* rule 155 can match eol */
5195 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);
5198 /* rule 156 can match eol */
5200 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);
5203 /* rule 157 can match eol */
5205 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);
5208 /* rule 158 can match eol */
5210 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);
5213 /* rule 159 can match eol */
5215 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);
5218 /* rule 160 can match eol */
5220 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);
5223 /* rule 161 can match eol */
5225 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);
5228 /* rule 162 can match eol */
5230 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);
5233 /* rule 163 can match eol */
5235 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);
5238 /* rule 164 can match eol */
5240 /* rule 165 can match eol */
5242 A_surfxml_cluster_sharing_policy = A_surfxml_cluster_sharing_policy_SHARED;
5245 /* rule 166 can match eol */
5247 /* rule 167 can match eol */
5249 A_surfxml_cluster_sharing_policy = A_surfxml_cluster_sharing_policy_FULLDUPLEX;
5252 /* rule 168 can match eol */
5254 /* rule 169 can match eol */
5256 A_surfxml_cluster_sharing_policy = A_surfxml_cluster_sharing_policy_FATPIPE;
5259 /* rule 170 can match eol */
5261 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);
5264 /* rule 171 can match eol */
5266 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);
5269 /* rule 172 can match eol */
5271 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);
5274 /* rule 173 can match eol */
5276 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);
5279 /* rule 174 can match eol */
5281 /* rule 175 can match eol */
5283 A_surfxml_cluster_bb_sharing_policy = A_surfxml_cluster_bb_sharing_policy_SHARED;
5286 /* rule 176 can match eol */
5288 /* rule 177 can match eol */
5290 A_surfxml_cluster_bb_sharing_policy = A_surfxml_cluster_bb_sharing_policy_FATPIPE;
5293 /* rule 178 can match eol */
5295 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);
5298 /* rule 179 can match eol */
5300 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);
5303 /* rule 180 can match eol */
5305 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);
5308 /* rule 181 can match eol */
5310 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);
5313 /* rule 182 can match eol */
5315 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);
5318 /* rule 183 can match eol */
5320 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);
5325 if (!AX_surfxml_cluster_id) FAIL("Required attribute `id' not set for `cluster' element.");
5326 if (!AX_surfxml_cluster_prefix) FAIL("Required attribute `prefix' not set for `cluster' element.");
5327 if (!AX_surfxml_cluster_suffix) FAIL("Required attribute `suffix' not set for `cluster' element.");
5328 if (!AX_surfxml_cluster_radical) FAIL("Required attribute `radical' not set for `cluster' element.");
5329 if (!AX_surfxml_cluster_power) FAIL("Required attribute `power' not set for `cluster' element.");
5330 if (!AX_surfxml_cluster_bw) FAIL("Required attribute `bw' not set for `cluster' element.");
5331 if (!AX_surfxml_cluster_lat) FAIL("Required attribute `lat' not set for `cluster' element.");
5332 LEAVE; STag_surfxml_cluster();surfxml_pcdata_ix = 0; ENTER(E_surfxml_cluster);
5338 if (!AX_surfxml_cluster_id) FAIL("Required attribute `id' not set for `cluster' element.");
5339 if (!AX_surfxml_cluster_prefix) FAIL("Required attribute `prefix' not set for `cluster' element.");
5340 if (!AX_surfxml_cluster_suffix) FAIL("Required attribute `suffix' not set for `cluster' element.");
5341 if (!AX_surfxml_cluster_radical) FAIL("Required attribute `radical' not set for `cluster' element.");
5342 if (!AX_surfxml_cluster_power) FAIL("Required attribute `power' not set for `cluster' element.");
5343 if (!AX_surfxml_cluster_bw) FAIL("Required attribute `bw' not set for `cluster' element.");
5344 if (!AX_surfxml_cluster_lat) FAIL("Required attribute `lat' not set for `cluster' element.");
5345 LEAVE; STag_surfxml_cluster(); surfxml_pcdata_ix = 0; ETag_surfxml_cluster(); popbuffer(); /* attribute */
5347 case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
5348 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;
5354 FAIL("Unexpected character `%c' in attribute list of cluster element.", surf_parse_text[0]);
5358 FAIL("Bad attribute `%s' in `cluster' element start tag.",surf_parse_text);
5360 case YY_STATE_EOF(AL_surfxml_cluster):
5361 FAIL("EOF in attribute list of `cluster' element.");
5365 /* rule 188 can match eol */
5369 ETag_surfxml_cluster();
5370 popbuffer(); /* attribute */
5372 case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
5373 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;
5378 /* rule 189 can match eol */
5380 FAIL("Unexpected end-tag `%s': `</cluster>' expected.",surf_parse_text);
5384 FAIL("Unexpected character `%c': `</cluster>' expected.",surf_parse_text[0]);
5386 case YY_STATE_EOF(E_surfxml_cluster):
5387 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</cluster>' expected.");
5391 /* rule 191 can match eol */
5393 FAIL("Starting tag <peer> is not allowed here.");
5396 /* rule 192 can match eol */
5399 AX_surfxml_peer_id = 0;
5400 surfxml_peer_id_isset = 0;
5401 AX_surfxml_peer_power = 0;
5402 surfxml_peer_power_isset = 0;
5403 AX_surfxml_peer_bw_in = 0;
5404 surfxml_peer_bw_in_isset = 0;
5405 AX_surfxml_peer_bw_out = 0;
5406 surfxml_peer_bw_out_isset = 0;
5407 AX_surfxml_peer_lat = 0;
5408 surfxml_peer_lat_isset = 0;
5409 AX_surfxml_peer_coordinates = 0;
5410 surfxml_peer_coordinates_isset = 0;
5411 AX_surfxml_peer_availability_file = 0;
5412 surfxml_peer_availability_file_isset = 0;
5413 AX_surfxml_peer_state_file = 0;
5414 surfxml_peer_state_file_isset = 0;
5415 ENTER(AL_surfxml_peer); pushbuffer(0);
5420 /* rule 193 can match eol */
5422 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);
5425 /* rule 194 can match eol */
5427 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);
5430 /* rule 195 can match eol */
5432 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);
5435 /* rule 196 can match eol */
5437 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);
5440 /* rule 197 can match eol */
5442 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);
5445 /* rule 198 can match eol */
5447 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);
5450 /* rule 199 can match eol */
5452 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);
5455 /* rule 200 can match eol */
5457 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);
5460 /* rule 201 can match eol */
5462 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);
5465 /* rule 202 can match eol */
5467 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);
5470 /* rule 203 can match eol */
5472 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);
5475 /* rule 204 can match eol */
5477 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);
5480 /* rule 205 can match eol */
5482 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);
5485 /* rule 206 can match eol */
5487 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);
5490 /* rule 207 can match eol */
5492 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);
5495 /* rule 208 can match eol */
5497 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);
5502 if (!AX_surfxml_peer_id) FAIL("Required attribute `id' not set for `peer' element.");
5503 if (!AX_surfxml_peer_power) FAIL("Required attribute `power' not set for `peer' element.");
5504 if (!AX_surfxml_peer_bw_in) FAIL("Required attribute `bw_in' not set for `peer' element.");
5505 if (!AX_surfxml_peer_bw_out) FAIL("Required attribute `bw_out' not set for `peer' element.");
5506 if (!AX_surfxml_peer_lat) FAIL("Required attribute `lat' not set for `peer' element.");
5507 LEAVE; STag_surfxml_peer();surfxml_pcdata_ix = 0; ENTER(E_surfxml_peer);
5513 if (!AX_surfxml_peer_id) FAIL("Required attribute `id' not set for `peer' element.");
5514 if (!AX_surfxml_peer_power) FAIL("Required attribute `power' not set for `peer' element.");
5515 if (!AX_surfxml_peer_bw_in) FAIL("Required attribute `bw_in' not set for `peer' element.");
5516 if (!AX_surfxml_peer_bw_out) FAIL("Required attribute `bw_out' not set for `peer' element.");
5517 if (!AX_surfxml_peer_lat) FAIL("Required attribute `lat' not set for `peer' element.");
5518 LEAVE; STag_surfxml_peer(); surfxml_pcdata_ix = 0; ETag_surfxml_peer(); popbuffer(); /* attribute */
5520 case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
5521 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;
5527 FAIL("Unexpected character `%c' in attribute list of peer element.", surf_parse_text[0]);
5531 FAIL("Bad attribute `%s' in `peer' element start tag.",surf_parse_text);
5533 case YY_STATE_EOF(AL_surfxml_peer):
5534 FAIL("EOF in attribute list of `peer' element.");
5538 /* rule 213 can match eol */
5542 ETag_surfxml_peer();
5543 popbuffer(); /* attribute */
5545 case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
5546 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;
5551 /* rule 214 can match eol */
5553 FAIL("Unexpected end-tag `%s': `</peer>' expected.",surf_parse_text);
5557 FAIL("Unexpected character `%c': `</peer>' expected.",surf_parse_text[0]);
5559 case YY_STATE_EOF(E_surfxml_peer):
5560 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</peer>' expected.");
5564 /* rule 216 can match eol */
5566 FAIL("Starting tag <router> is not allowed here.");
5569 /* rule 217 can match eol */
5572 AX_surfxml_router_id = 0;
5573 surfxml_router_id_isset = 0;
5574 AX_surfxml_router_coordinates = 0;
5575 surfxml_router_coordinates_isset = 0;
5576 ENTER(AL_surfxml_router); pushbuffer(0);
5581 /* rule 218 can match eol */
5583 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);
5586 /* rule 219 can match eol */
5588 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);
5591 /* rule 220 can match eol */
5593 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);
5596 /* rule 221 can match eol */
5598 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);
5603 if (!AX_surfxml_router_id) FAIL("Required attribute `id' not set for `router' element.");
5604 LEAVE; STag_surfxml_router();surfxml_pcdata_ix = 0; ENTER(E_surfxml_router);
5610 if (!AX_surfxml_router_id) FAIL("Required attribute `id' not set for `router' element.");
5611 LEAVE; STag_surfxml_router(); surfxml_pcdata_ix = 0; ETag_surfxml_router(); popbuffer(); /* attribute */
5613 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
5619 FAIL("Unexpected character `%c' in attribute list of router element.", surf_parse_text[0]);
5623 FAIL("Bad attribute `%s' in `router' element start tag.",surf_parse_text);
5625 case YY_STATE_EOF(AL_surfxml_router):
5626 FAIL("EOF in attribute list of `router' element.");
5630 /* rule 226 can match eol */
5634 ETag_surfxml_router();
5635 popbuffer(); /* attribute */
5637 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
5642 /* rule 227 can match eol */
5644 FAIL("Unexpected end-tag `%s': `</router>' expected.",surf_parse_text);
5648 FAIL("Unexpected character `%c': `</router>' expected.",surf_parse_text[0]);
5650 case YY_STATE_EOF(E_surfxml_router):
5651 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</router>' expected.");
5655 /* rule 229 can match eol */
5657 FAIL("Starting tag <link> is not allowed here.");
5660 /* rule 230 can match eol */
5663 AX_surfxml_link_id = 0;
5664 surfxml_link_id_isset = 0;
5665 AX_surfxml_link_bandwidth = 0;
5666 surfxml_link_bandwidth_isset = 0;
5667 AX_surfxml_link_bandwidth_file = 0;
5668 surfxml_link_bandwidth_file_isset = 0;
5669 AX_surfxml_link_latency = 24;
5670 surfxml_link_latency_isset = 0;
5671 AX_surfxml_link_latency_file = 0;
5672 surfxml_link_latency_file_isset = 0;
5673 AX_surfxml_link_state = A_surfxml_link_state_ON;
5674 surfxml_link_state_isset = 0;
5675 AX_surfxml_link_state_file = 0;
5676 surfxml_link_state_file_isset = 0;
5677 AX_surfxml_link_sharing_policy = A_surfxml_link_sharing_policy_SHARED;
5678 surfxml_link_sharing_policy_isset = 0;
5679 ENTER(AL_surfxml_link); pushbuffer(0);
5684 /* rule 231 can match eol */
5686 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);
5689 /* rule 232 can match eol */
5691 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);
5694 /* rule 233 can match eol */
5696 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);
5699 /* rule 234 can match eol */
5701 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);
5704 /* rule 235 can match eol */
5706 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);
5709 /* rule 236 can match eol */
5711 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);
5714 /* rule 237 can match eol */
5716 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);
5719 /* rule 238 can match eol */
5721 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);
5724 /* rule 239 can match eol */
5726 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);
5729 /* rule 240 can match eol */
5731 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);
5734 /* rule 241 can match eol */
5736 /* rule 242 can match eol */
5738 A_surfxml_link_state = A_surfxml_link_state_ON;
5741 /* rule 243 can match eol */
5743 /* rule 244 can match eol */
5745 A_surfxml_link_state = A_surfxml_link_state_OFF;
5748 /* rule 245 can match eol */
5750 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);
5753 /* rule 246 can match eol */
5755 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);
5758 /* rule 247 can match eol */
5760 /* rule 248 can match eol */
5762 A_surfxml_link_sharing_policy = A_surfxml_link_sharing_policy_SHARED;
5765 /* rule 249 can match eol */
5767 /* rule 250 can match eol */
5769 A_surfxml_link_sharing_policy = A_surfxml_link_sharing_policy_FATPIPE;
5772 /* rule 251 can match eol */
5774 /* rule 252 can match eol */
5776 A_surfxml_link_sharing_policy = A_surfxml_link_sharing_policy_FULLDUPLEX;
5781 if (!AX_surfxml_link_id) FAIL("Required attribute `id' not set for `link' element.");
5782 if (!AX_surfxml_link_bandwidth) FAIL("Required attribute `bandwidth' not set for `link' element.");
5783 LEAVE; STag_surfxml_link();surfxml_pcdata_ix = 0; ENTER(S_surfxml_link);
5789 if (!AX_surfxml_link_id) FAIL("Required attribute `id' not set for `link' element.");
5790 if (!AX_surfxml_link_bandwidth) FAIL("Required attribute `bandwidth' not set for `link' element.");
5791 LEAVE; STag_surfxml_link(); surfxml_pcdata_ix = 0; ETag_surfxml_link(); popbuffer(); /* attribute */
5793 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
5794 case S_surfxml_AS_2: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
5800 FAIL("Unexpected character `%c' in attribute list of link element.", surf_parse_text[0]);
5804 FAIL("Bad attribute `%s' in `link' element start tag.",surf_parse_text);
5806 case YY_STATE_EOF(AL_surfxml_link):
5807 FAIL("EOF in attribute list of `link' element.");
5811 /* rule 257 can match eol */
5815 ETag_surfxml_link();
5816 popbuffer(); /* attribute */
5818 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
5819 case S_surfxml_AS_2: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
5824 /* rule 258 can match eol */
5826 FAIL("Unexpected end-tag `%s': `</link>' expected.",surf_parse_text);
5830 FAIL("Unexpected character `%c': `</link>' expected.",surf_parse_text[0]);
5832 case YY_STATE_EOF(E_surfxml_link):
5833 case YY_STATE_EOF(S_surfxml_link_2):
5834 case YY_STATE_EOF(S_surfxml_link):
5835 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</link>' expected.");
5839 /* rule 260 can match eol */
5841 FAIL("Starting tag <route> is not allowed here.");
5844 /* rule 261 can match eol */
5847 AX_surfxml_route_src = 0;
5848 surfxml_route_src_isset = 0;
5849 AX_surfxml_route_dst = 0;
5850 surfxml_route_dst_isset = 0;
5851 AX_surfxml_route_symmetrical = A_surfxml_route_symmetrical_YES;
5852 surfxml_route_symmetrical_isset = 0;
5853 ENTER(AL_surfxml_route); pushbuffer(0);
5858 /* rule 262 can match eol */
5860 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);
5863 /* rule 263 can match eol */
5865 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);
5868 /* rule 264 can match eol */
5870 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);
5873 /* rule 265 can match eol */
5875 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);
5878 /* rule 266 can match eol */
5880 /* rule 267 can match eol */
5882 A_surfxml_route_symmetrical = A_surfxml_route_symmetrical_YES;
5885 /* rule 268 can match eol */
5887 /* rule 269 can match eol */
5889 A_surfxml_route_symmetrical = A_surfxml_route_symmetrical_NO;
5894 if (!AX_surfxml_route_src) FAIL("Required attribute `src' not set for `route' element.");
5895 if (!AX_surfxml_route_dst) FAIL("Required attribute `dst' not set for `route' element.");
5896 LEAVE; STag_surfxml_route();surfxml_pcdata_ix = 0; ENTER(S_surfxml_route);
5902 if (!AX_surfxml_route_src) FAIL("Required attribute `src' not set for `route' element.");
5903 if (!AX_surfxml_route_dst) FAIL("Required attribute `dst' not set for `route' element.");
5904 LEAVE; STag_surfxml_route(); surfxml_pcdata_ix = 0; ETag_surfxml_route(); popbuffer(); /* attribute */
5906 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;
5912 FAIL("Unexpected character `%c' in attribute list of route element.", surf_parse_text[0]);
5916 FAIL("Bad attribute `%s' in `route' element start tag.",surf_parse_text);
5918 case YY_STATE_EOF(AL_surfxml_route):
5919 FAIL("EOF in attribute list of `route' element.");
5923 /* rule 274 can match eol */
5927 ETag_surfxml_route();
5928 popbuffer(); /* attribute */
5930 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;
5935 /* rule 275 can match eol */
5937 FAIL("Unexpected end-tag `%s': `</route>' expected.",surf_parse_text);
5941 FAIL("Unexpected character `%c': `</route>' expected.",surf_parse_text[0]);
5943 case YY_STATE_EOF(S_surfxml_route):
5944 case YY_STATE_EOF(S_surfxml_route_2):
5945 case YY_STATE_EOF(E_surfxml_route):
5946 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</route>' expected.");
5950 /* rule 277 can match eol */
5952 FAIL("Starting tag <ASroute> is not allowed here.");
5955 /* rule 278 can match eol */
5958 AX_surfxml_ASroute_src = 0;
5959 surfxml_ASroute_src_isset = 0;
5960 AX_surfxml_ASroute_dst = 0;
5961 surfxml_ASroute_dst_isset = 0;
5962 AX_surfxml_ASroute_gw_src = 0;
5963 surfxml_ASroute_gw_src_isset = 0;
5964 AX_surfxml_ASroute_gw_dst = 0;
5965 surfxml_ASroute_gw_dst_isset = 0;
5966 AX_surfxml_ASroute_symmetrical = A_surfxml_ASroute_symmetrical_YES;
5967 surfxml_ASroute_symmetrical_isset = 0;
5968 ENTER(AL_surfxml_ASroute); pushbuffer(0);
5973 /* rule 279 can match eol */
5975 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);
5978 /* rule 280 can match eol */
5980 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);
5983 /* rule 281 can match eol */
5985 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);
5988 /* rule 282 can match eol */
5990 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);
5993 /* rule 283 can match eol */
5995 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);
5998 /* rule 284 can match eol */
6000 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);
6003 /* rule 285 can match eol */
6005 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);
6008 /* rule 286 can match eol */
6010 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);
6013 /* rule 287 can match eol */
6015 /* rule 288 can match eol */
6017 A_surfxml_ASroute_symmetrical = A_surfxml_ASroute_symmetrical_YES;
6020 /* rule 289 can match eol */
6022 /* rule 290 can match eol */
6024 A_surfxml_ASroute_symmetrical = A_surfxml_ASroute_symmetrical_NO;
6029 if (!AX_surfxml_ASroute_src) FAIL("Required attribute `src' not set for `ASroute' element.");
6030 if (!AX_surfxml_ASroute_dst) FAIL("Required attribute `dst' not set for `ASroute' element.");
6031 if (!AX_surfxml_ASroute_gw_src) FAIL("Required attribute `gw_src' not set for `ASroute' element.");
6032 if (!AX_surfxml_ASroute_gw_dst) FAIL("Required attribute `gw_dst' not set for `ASroute' element.");
6033 LEAVE; STag_surfxml_ASroute();surfxml_pcdata_ix = 0; ENTER(S_surfxml_ASroute);
6039 if (!AX_surfxml_ASroute_src) FAIL("Required attribute `src' not set for `ASroute' element.");
6040 if (!AX_surfxml_ASroute_dst) FAIL("Required attribute `dst' not set for `ASroute' element.");
6041 if (!AX_surfxml_ASroute_gw_src) FAIL("Required attribute `gw_src' not set for `ASroute' element.");
6042 if (!AX_surfxml_ASroute_gw_dst) FAIL("Required attribute `gw_dst' not set for `ASroute' element.");
6043 LEAVE; STag_surfxml_ASroute(); surfxml_pcdata_ix = 0; ETag_surfxml_ASroute(); popbuffer(); /* attribute */
6045 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;
6051 FAIL("Unexpected character `%c' in attribute list of ASroute element.", surf_parse_text[0]);
6055 FAIL("Bad attribute `%s' in `ASroute' element start tag.",surf_parse_text);
6057 case YY_STATE_EOF(AL_surfxml_ASroute):
6058 FAIL("EOF in attribute list of `ASroute' element.");
6062 /* rule 295 can match eol */
6066 ETag_surfxml_ASroute();
6067 popbuffer(); /* attribute */
6069 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;
6074 /* rule 296 can match eol */
6076 FAIL("Unexpected end-tag `%s': `</ASroute>' expected.",surf_parse_text);
6080 FAIL("Unexpected character `%c': `</ASroute>' expected.",surf_parse_text[0]);
6082 case YY_STATE_EOF(E_surfxml_ASroute):
6083 case YY_STATE_EOF(S_surfxml_ASroute):
6084 case YY_STATE_EOF(S_surfxml_ASroute_2):
6085 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</ASroute>' expected.");
6089 /* rule 298 can match eol */
6091 FAIL("Starting tag <link_ctn> is not allowed here.");
6094 /* rule 299 can match eol */
6097 AX_surfxml_link_ctn_id = 0;
6098 surfxml_link_ctn_id_isset = 0;
6099 AX_surfxml_link_ctn_direction = A_surfxml_link_ctn_direction_NONE;
6100 surfxml_link_ctn_direction_isset = 0;
6101 ENTER(AL_surfxml_link_ctn); pushbuffer(0);
6106 /* rule 300 can match eol */
6108 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);
6111 /* rule 301 can match eol */
6113 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);
6116 /* rule 302 can match eol */
6118 /* rule 303 can match eol */
6120 A_surfxml_link_ctn_direction = A_surfxml_link_ctn_direction_UP;
6123 /* rule 304 can match eol */
6125 /* rule 305 can match eol */
6127 A_surfxml_link_ctn_direction = A_surfxml_link_ctn_direction_DOWN;
6130 /* rule 306 can match eol */
6132 /* rule 307 can match eol */
6134 A_surfxml_link_ctn_direction = A_surfxml_link_ctn_direction_NONE;
6139 if (!AX_surfxml_link_ctn_id) FAIL("Required attribute `id' not set for `link_ctn' element.");
6140 LEAVE; STag_surfxml_link_ctn();surfxml_pcdata_ix = 0; ENTER(E_surfxml_link_ctn);
6146 if (!AX_surfxml_link_ctn_id) FAIL("Required attribute `id' not set for `link_ctn' element.");
6147 LEAVE; STag_surfxml_link_ctn(); surfxml_pcdata_ix = 0; ETag_surfxml_link_ctn(); popbuffer(); /* attribute */
6149 case S_surfxml_bypassRoute: case S_surfxml_bypassRoute_2: case S_surfxml_bypassRoute_1: SET(S_surfxml_bypassRoute_2); break;
6150 case S_surfxml_route_1: case S_surfxml_route: case S_surfxml_route_2: SET(S_surfxml_route_2); break;
6151 case S_surfxml_ASroute: case S_surfxml_ASroute_1: case S_surfxml_ASroute_2: SET(S_surfxml_ASroute_2); break;
6157 FAIL("Unexpected character `%c' in attribute list of link_ctn element.", surf_parse_text[0]);
6161 FAIL("Bad attribute `%s' in `link_ctn' element start tag.",surf_parse_text);
6163 case YY_STATE_EOF(AL_surfxml_link_ctn):
6164 FAIL("EOF in attribute list of `link_ctn' element.");
6168 /* rule 312 can match eol */
6172 ETag_surfxml_link_ctn();
6173 popbuffer(); /* attribute */
6175 case S_surfxml_bypassRoute: case S_surfxml_bypassRoute_2: case S_surfxml_bypassRoute_1: SET(S_surfxml_bypassRoute_2); break;
6176 case S_surfxml_route_1: case S_surfxml_route: case S_surfxml_route_2: SET(S_surfxml_route_2); break;
6177 case S_surfxml_ASroute: case S_surfxml_ASroute_1: case S_surfxml_ASroute_2: SET(S_surfxml_ASroute_2); break;
6182 /* rule 313 can match eol */
6184 FAIL("Unexpected end-tag `%s': `</link_ctn>' expected.",surf_parse_text);
6188 FAIL("Unexpected character `%c': `</link_ctn>' expected.",surf_parse_text[0]);
6190 case YY_STATE_EOF(E_surfxml_link_ctn):
6191 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</link_ctn>' expected.");
6195 /* rule 315 can match eol */
6197 FAIL("Starting tag <bypassRoute> is not allowed here.");
6200 /* rule 316 can match eol */
6203 AX_surfxml_bypassRoute_src = 0;
6204 surfxml_bypassRoute_src_isset = 0;
6205 AX_surfxml_bypassRoute_dst = 0;
6206 surfxml_bypassRoute_dst_isset = 0;
6207 AX_surfxml_bypassRoute_gw_src = 0;
6208 surfxml_bypassRoute_gw_src_isset = 0;
6209 AX_surfxml_bypassRoute_gw_dst = 0;
6210 surfxml_bypassRoute_gw_dst_isset = 0;
6211 ENTER(AL_surfxml_bypassRoute); pushbuffer(0);
6216 /* rule 317 can match eol */
6218 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);
6221 /* rule 318 can match eol */
6223 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);
6226 /* rule 319 can match eol */
6228 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);
6231 /* rule 320 can match eol */
6233 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);
6236 /* rule 321 can match eol */
6238 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);
6241 /* rule 322 can match eol */
6243 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);
6246 /* rule 323 can match eol */
6248 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);
6251 /* rule 324 can match eol */
6253 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);
6258 if (!AX_surfxml_bypassRoute_src) FAIL("Required attribute `src' not set for `bypassRoute' element.");
6259 if (!AX_surfxml_bypassRoute_dst) FAIL("Required attribute `dst' not set for `bypassRoute' element.");
6260 if (!AX_surfxml_bypassRoute_gw_src) FAIL("Required attribute `gw_src' not set for `bypassRoute' element.");
6261 if (!AX_surfxml_bypassRoute_gw_dst) FAIL("Required attribute `gw_dst' not set for `bypassRoute' element.");
6262 LEAVE; STag_surfxml_bypassRoute();surfxml_pcdata_ix = 0; ENTER(S_surfxml_bypassRoute);
6268 if (!AX_surfxml_bypassRoute_src) FAIL("Required attribute `src' not set for `bypassRoute' element.");
6269 if (!AX_surfxml_bypassRoute_dst) FAIL("Required attribute `dst' not set for `bypassRoute' element.");
6270 if (!AX_surfxml_bypassRoute_gw_src) FAIL("Required attribute `gw_src' not set for `bypassRoute' element.");
6271 if (!AX_surfxml_bypassRoute_gw_dst) FAIL("Required attribute `gw_dst' not set for `bypassRoute' element.");
6272 LEAVE; STag_surfxml_bypassRoute(); surfxml_pcdata_ix = 0; ETag_surfxml_bypassRoute(); popbuffer(); /* attribute */
6274 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;
6280 FAIL("Unexpected character `%c' in attribute list of bypassRoute element.", surf_parse_text[0]);
6284 FAIL("Bad attribute `%s' in `bypassRoute' element start tag.",surf_parse_text);
6286 case YY_STATE_EOF(AL_surfxml_bypassRoute):
6287 FAIL("EOF in attribute list of `bypassRoute' element.");
6291 /* rule 329 can match eol */
6295 ETag_surfxml_bypassRoute();
6296 popbuffer(); /* attribute */
6298 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;
6303 /* rule 330 can match eol */
6305 FAIL("Unexpected end-tag `%s': `</bypassRoute>' expected.",surf_parse_text);
6309 FAIL("Unexpected character `%c': `</bypassRoute>' expected.",surf_parse_text[0]);
6311 case YY_STATE_EOF(S_surfxml_bypassRoute):
6312 case YY_STATE_EOF(S_surfxml_bypassRoute_2):
6313 case YY_STATE_EOF(E_surfxml_bypassRoute):
6314 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</bypassRoute>' expected.");
6318 /* rule 332 can match eol */
6320 FAIL("Starting tag <process> is not allowed here.");
6323 /* rule 333 can match eol */
6326 AX_surfxml_process_host = 0;
6327 surfxml_process_host_isset = 0;
6328 AX_surfxml_process_function = 0;
6329 surfxml_process_function_isset = 0;
6330 AX_surfxml_process_start_time = 28;
6331 surfxml_process_start_time_isset = 0;
6332 AX_surfxml_process_kill_time = 33;
6333 surfxml_process_kill_time_isset = 0;
6334 ENTER(AL_surfxml_process); pushbuffer(0);
6339 /* rule 334 can match eol */
6341 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);
6344 /* rule 335 can match eol */
6346 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);
6349 /* rule 336 can match eol */
6351 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);
6354 /* rule 337 can match eol */
6356 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);
6359 /* rule 338 can match eol */
6361 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);
6364 /* rule 339 can match eol */
6366 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);
6369 /* rule 340 can match eol */
6371 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);
6374 /* rule 341 can match eol */
6376 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);
6381 if (!AX_surfxml_process_host) FAIL("Required attribute `host' not set for `process' element.");
6382 if (!AX_surfxml_process_function) FAIL("Required attribute `function' not set for `process' element.");
6383 LEAVE; STag_surfxml_process();surfxml_pcdata_ix = 0; ENTER(S_surfxml_process);
6389 if (!AX_surfxml_process_host) FAIL("Required attribute `host' not set for `process' element.");
6390 if (!AX_surfxml_process_function) FAIL("Required attribute `function' not set for `process' element.");
6391 LEAVE; STag_surfxml_process(); surfxml_pcdata_ix = 0; ETag_surfxml_process(); popbuffer(); /* attribute */
6393 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;
6399 FAIL("Unexpected character `%c' in attribute list of process element.", surf_parse_text[0]);
6403 FAIL("Bad attribute `%s' in `process' element start tag.",surf_parse_text);
6405 case YY_STATE_EOF(AL_surfxml_process):
6406 FAIL("EOF in attribute list of `process' element.");
6410 /* rule 346 can match eol */
6414 ETag_surfxml_process();
6415 popbuffer(); /* attribute */
6417 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;
6422 /* rule 347 can match eol */
6424 FAIL("Unexpected end-tag `%s': `</process>' expected.",surf_parse_text);
6428 FAIL("Unexpected character `%c': `</process>' expected.",surf_parse_text[0]);
6430 case YY_STATE_EOF(E_surfxml_process):
6431 case YY_STATE_EOF(S_surfxml_process):
6432 case YY_STATE_EOF(S_surfxml_process_2):
6433 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</process>' expected.");
6437 /* rule 349 can match eol */
6439 FAIL("Starting tag <argument> is not allowed here.");
6442 /* rule 350 can match eol */
6445 AX_surfxml_argument_value = 0;
6446 surfxml_argument_value_isset = 0;
6447 ENTER(AL_surfxml_argument); pushbuffer(0);
6452 /* rule 351 can match eol */
6454 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);
6457 /* rule 352 can match eol */
6459 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);
6464 if (!AX_surfxml_argument_value) FAIL("Required attribute `value' not set for `argument' element.");
6465 LEAVE; STag_surfxml_argument();surfxml_pcdata_ix = 0; ENTER(E_surfxml_argument);
6471 if (!AX_surfxml_argument_value) FAIL("Required attribute `value' not set for `argument' element.");
6472 LEAVE; STag_surfxml_argument(); surfxml_pcdata_ix = 0; ETag_surfxml_argument(); popbuffer(); /* attribute */
6474 case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
6480 FAIL("Unexpected character `%c' in attribute list of argument element.", surf_parse_text[0]);
6484 FAIL("Bad attribute `%s' in `argument' element start tag.",surf_parse_text);
6486 case YY_STATE_EOF(AL_surfxml_argument):
6487 FAIL("EOF in attribute list of `argument' element.");
6491 /* rule 357 can match eol */
6495 ETag_surfxml_argument();
6496 popbuffer(); /* attribute */
6498 case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
6503 /* rule 358 can match eol */
6505 FAIL("Unexpected end-tag `%s': `</argument>' expected.",surf_parse_text);
6509 FAIL("Unexpected character `%c': `</argument>' expected.",surf_parse_text[0]);
6511 case YY_STATE_EOF(E_surfxml_argument):
6512 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</argument>' expected.");
6516 /* rule 360 can match eol */
6518 FAIL("Starting tag <config> is not allowed here.");
6521 /* rule 361 can match eol */
6524 AX_surfxml_config_id = 0;
6525 surfxml_config_id_isset = 0;
6526 ENTER(AL_surfxml_config); pushbuffer(0);
6531 /* rule 362 can match eol */
6533 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);
6536 /* rule 363 can match eol */
6538 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);
6543 LEAVE; STag_surfxml_config();surfxml_pcdata_ix = 0; ENTER(S_surfxml_config);
6549 LEAVE; STag_surfxml_config(); surfxml_pcdata_ix = 0; ETag_surfxml_config(); popbuffer(); /* attribute */
6551 case S_surfxml_platform_2: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_3); break;
6557 FAIL("Unexpected character `%c' in attribute list of config element.", surf_parse_text[0]);
6561 FAIL("Bad attribute `%s' in `config' element start tag.",surf_parse_text);
6563 case YY_STATE_EOF(AL_surfxml_config):
6564 FAIL("EOF in attribute list of `config' element.");
6568 /* rule 368 can match eol */
6572 ETag_surfxml_config();
6573 popbuffer(); /* attribute */
6575 case S_surfxml_platform_2: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_3); break;
6580 /* rule 369 can match eol */
6582 FAIL("Unexpected end-tag `%s': `</config>' expected.",surf_parse_text);
6586 FAIL("Unexpected character `%c': `</config>' expected.",surf_parse_text[0]);
6588 case YY_STATE_EOF(S_surfxml_config):
6589 case YY_STATE_EOF(S_surfxml_config_2):
6590 case YY_STATE_EOF(E_surfxml_config):
6591 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</config>' expected.");
6594 /* <!-- <!ATTLIST prop key CDATA #REQUIRED> -->
6595 * <!-- <!ATTLIST prop key CDATA #REQUIRED> --> */
6597 /* rule 371 can match eol */
6599 FAIL("Starting tag <prop> is not allowed here.");
6602 /* rule 372 can match eol */
6605 AX_surfxml_prop_id = 0;
6606 surfxml_prop_id_isset = 0;
6607 AX_surfxml_prop_value = 0;
6608 surfxml_prop_value_isset = 0;
6609 ENTER(AL_surfxml_prop); pushbuffer(0);
6614 /* rule 373 can match eol */
6616 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);
6619 /* rule 374 can match eol */
6621 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);
6624 /* rule 375 can match eol */
6626 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);
6629 /* rule 376 can match eol */
6631 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);
6636 if (!AX_surfxml_prop_id) FAIL("Required attribute `id' not set for `prop' element.");
6637 if (!AX_surfxml_prop_value) FAIL("Required attribute `value' not set for `prop' element.");
6638 LEAVE; STag_surfxml_prop();surfxml_pcdata_ix = 0; ENTER(E_surfxml_prop);
6644 if (!AX_surfxml_prop_id) FAIL("Required attribute `id' not set for `prop' element.");
6645 if (!AX_surfxml_prop_value) FAIL("Required attribute `value' not set for `prop' element.");
6646 LEAVE; STag_surfxml_prop(); surfxml_pcdata_ix = 0; ETag_surfxml_prop(); popbuffer(); /* attribute */
6648 case S_surfxml_random: case S_surfxml_random_2: case S_surfxml_random_1: SET(S_surfxml_random_2); break;
6649 case S_surfxml_config_1: case S_surfxml_config: case S_surfxml_config_2: SET(S_surfxml_config_2); break;
6650 case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
6651 case S_surfxml_host_1: case S_surfxml_host_2: case S_surfxml_host: SET(S_surfxml_host_2); break;
6652 case S_surfxml_link_1: case S_surfxml_link_2: case S_surfxml_link: SET(S_surfxml_link_2); break;
6658 FAIL("Unexpected character `%c' in attribute list of prop element.", surf_parse_text[0]);
6662 FAIL("Bad attribute `%s' in `prop' element start tag.",surf_parse_text);
6664 case YY_STATE_EOF(AL_surfxml_prop):
6665 FAIL("EOF in attribute list of `prop' element.");
6669 /* rule 381 can match eol */
6673 ETag_surfxml_prop();
6674 popbuffer(); /* attribute */
6676 case S_surfxml_random: case S_surfxml_random_2: case S_surfxml_random_1: SET(S_surfxml_random_2); break;
6677 case S_surfxml_config_1: case S_surfxml_config: case S_surfxml_config_2: SET(S_surfxml_config_2); break;
6678 case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
6679 case S_surfxml_host_1: case S_surfxml_host_2: case S_surfxml_host: SET(S_surfxml_host_2); break;
6680 case S_surfxml_link_1: case S_surfxml_link_2: case S_surfxml_link: SET(S_surfxml_link_2); break;
6685 /* rule 382 can match eol */
6687 FAIL("Unexpected end-tag `%s': `</prop>' expected.",surf_parse_text);
6691 FAIL("Unexpected character `%c': `</prop>' expected.",surf_parse_text[0]);
6693 case YY_STATE_EOF(E_surfxml_prop):
6694 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</prop>' expected.");
6697 /* EPILOG: after the root element. */
6701 {SET(PROLOG); yyless(0); CLEANUP; return -1;}
6703 case YY_STATE_EOF(EPILOG):
6707 /* CHARACTER DATA. */
6709 /* Non-defined standard entities... */
6730 /* Character entities. */
6733 BUFFERPUTC((unsigned char)atoi(surf_parse_text+2));
6737 BUFFERPUTC((unsigned char)strtol(surf_parse_text+3,NULL,16));
6741 /* rule 392 can match eol */
6743 /* rule 393 can match eol */
6745 /* rule 394 can match eol */
6747 /* rule 395 can match eol */
6758 FAIL("Unexpected `]""]>' in character data.");
6765 case YY_STATE_EOF(VALUE1):
6766 FAIL("EOF in literal (\"'\" expected).");
6773 case YY_STATE_EOF(VALUE2):
6774 FAIL("EOF in literal (`\"' expected).");
6778 /* rule 400 can match eol */
6780 BUFFERPUTC(surf_parse_text[0]);
6784 FAIL("Spurious `%c' in character data.",surf_parse_text[0]);
6791 /* "]""]" BUFFERPUTC(surf_parse_text[0]); BUFFERPUTC(surf_parse_text[1]); */
6794 BUFFERPUTC(surf_parse_text[0]);
6796 case YY_STATE_EOF(CDATA):
6797 FAIL("EOF in CDATA section.");
6800 /* Impossible rules to avoid warnings from flex(1). */
6801 /* Ideally, this should be replaced by code in flexml.pl that
6802 generates just the states not covered by other rules. */
6805 /* rule 404 can match eol */
6807 FAIL("Syntax error on character `%c'.", surf_parse_text[0]);
6814 case YY_STATE_EOF(INITIAL):
6815 case YY_STATE_EOF(ROOT_surfxml_platform):
6816 case YY_STATE_EOF(S_surfxml_platform_2):
6817 case YY_STATE_EOF(S_surfxml_platform_5):
6818 case YY_STATE_EOF(S_surfxml_platform_7):
6819 case YY_STATE_EOF(S_surfxml_random_1):
6820 case YY_STATE_EOF(S_surfxml_AS_2):
6821 case YY_STATE_EOF(S_surfxml_AS_5):
6822 case YY_STATE_EOF(S_surfxml_AS_7):
6823 case YY_STATE_EOF(S_surfxml_AS_10):
6824 case YY_STATE_EOF(S_surfxml_AS_12):
6825 case YY_STATE_EOF(S_surfxml_host_1):
6826 case YY_STATE_EOF(S_surfxml_link_1):
6827 case YY_STATE_EOF(S_surfxml_route_1):
6828 case YY_STATE_EOF(S_surfxml_ASroute_1):
6829 case YY_STATE_EOF(S_surfxml_bypassRoute_1):
6830 case YY_STATE_EOF(S_surfxml_process_1):
6831 case YY_STATE_EOF(S_surfxml_config_1):
6832 case YY_STATE_EOF(IMPOSSIBLE):
6835 case YY_END_OF_BUFFER:
6837 /* Amount of text matched not including the EOB char. */
6838 int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
6840 /* Undo the effects of YY_DO_BEFORE_ACTION. */
6841 *yy_cp = (yy_hold_char);
6842 YY_RESTORE_YY_MORE_OFFSET
6844 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
6846 /* We're scanning a new file or input source. It's
6847 * possible that this happened because the user
6848 * just pointed surf_parse_in at a new source and called
6849 * surf_parse_lex(). If so, then we have to assure
6850 * consistency between YY_CURRENT_BUFFER and our
6851 * globals. Here is the right place to do so, because
6852 * this is the first action (other than possibly a
6853 * back-up) that will match for the new input source.
6855 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
6856 YY_CURRENT_BUFFER_LVALUE->yy_input_file = surf_parse_in;
6857 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
6860 /* Note that here we test for yy_c_buf_p "<=" to the position
6861 * of the first EOB in the buffer, since yy_c_buf_p will
6862 * already have been incremented past the NUL character
6863 * (since all states make transitions on EOB to the
6864 * end-of-buffer state). Contrast this with the test
6867 if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
6868 { /* This was really a NUL. */
6869 yy_state_type yy_next_state;
6871 (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
6873 yy_current_state = yy_get_previous_state( );
6875 /* Okay, we're now positioned to make the NUL
6876 * transition. We couldn't have
6877 * yy_get_previous_state() go ahead and do it
6878 * for us because it doesn't know how to deal
6879 * with the possibility of jamming (and we don't
6880 * want to build jamming into it because then it
6881 * will run more slowly).
6884 yy_next_state = yy_try_NUL_trans( yy_current_state );
6886 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
6888 if ( yy_next_state )
6890 /* Consume the NUL. */
6891 yy_cp = ++(yy_c_buf_p);
6892 yy_current_state = yy_next_state;
6898 yy_cp = (yy_c_buf_p);
6899 goto yy_find_action;
6903 else switch ( yy_get_next_buffer( ) )
6905 case EOB_ACT_END_OF_FILE:
6907 (yy_did_buffer_switch_on_eof) = 0;
6909 if ( surf_parse_wrap( ) )
6911 /* Note: because we've taken care in
6912 * yy_get_next_buffer() to have set up
6913 * surf_parse_text, we can now set up
6914 * yy_c_buf_p so that if some total
6915 * hoser (like flex itself) wants to
6916 * call the scanner after we return the
6917 * YY_NULL, it'll still work - another
6918 * YY_NULL will get returned.
6920 (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
6922 yy_act = YY_STATE_EOF(YY_START);
6928 if ( ! (yy_did_buffer_switch_on_eof) )
6934 case EOB_ACT_CONTINUE_SCAN:
6936 (yytext_ptr) + yy_amount_of_matched_text;
6938 yy_current_state = yy_get_previous_state( );
6940 yy_cp = (yy_c_buf_p);
6941 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
6944 case EOB_ACT_LAST_MATCH:
6946 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
6948 yy_current_state = yy_get_previous_state( );
6950 yy_cp = (yy_c_buf_p);
6951 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
6952 goto yy_find_action;
6959 "fatal flex scanner internal error--no action found" );
6960 } /* end of action switch */
6961 } /* end of scanning one token */
6962 } /* end of surf_parse_lex */
6964 /* yy_get_next_buffer - try to read in a new buffer
6966 * Returns a code representing an action:
6967 * EOB_ACT_LAST_MATCH -
6968 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
6969 * EOB_ACT_END_OF_FILE - end of file
6971 static int yy_get_next_buffer (void)
6973 register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
6974 register char *source = (yytext_ptr);
6975 register int number_to_move, i;
6978 if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
6980 "fatal flex scanner internal error--end of buffer missed" );
6982 if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
6983 { /* Don't try to fill the buffer, so this is an EOF. */
6984 if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
6986 /* We matched a single character, the EOB, so
6987 * treat this as a final EOF.
6989 return EOB_ACT_END_OF_FILE;
6994 /* We matched some text prior to the EOB, first
6997 return EOB_ACT_LAST_MATCH;
7001 /* Try to read more data. */
7003 /* First move last chars to start of buffer. */
7004 number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
7006 for ( i = 0; i < number_to_move; ++i )
7007 *(dest++) = *(source++);
7009 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
7010 /* don't do the read, it's not guaranteed to return an EOF,
7013 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
7018 YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
7020 while ( num_to_read <= 0 )
7021 { /* Not enough room in the buffer - grow it. */
7023 /* just a shorter name for the current buffer */
7024 YY_BUFFER_STATE b = YY_CURRENT_BUFFER;
7026 int yy_c_buf_p_offset =
7027 (int) ((yy_c_buf_p) - b->yy_ch_buf);
7029 if ( b->yy_is_our_buffer )
7031 int new_size = b->yy_buf_size * 2;
7033 if ( new_size <= 0 )
7034 b->yy_buf_size += b->yy_buf_size / 8;
7036 b->yy_buf_size *= 2;
7038 b->yy_ch_buf = (char *)
7039 /* Include room in for 2 EOB chars. */
7040 surf_parse_realloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 );
7043 /* Can't grow it, we don't own it. */
7046 if ( ! b->yy_ch_buf )
7048 "fatal error - scanner input buffer overflow" );
7050 (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
7052 num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
7057 if ( num_to_read > YY_READ_BUF_SIZE )
7058 num_to_read = YY_READ_BUF_SIZE;
7060 /* Read in more data. */
7061 YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
7062 (yy_n_chars), (size_t) num_to_read );
7064 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
7067 if ( (yy_n_chars) == 0 )
7069 if ( number_to_move == YY_MORE_ADJ )
7071 ret_val = EOB_ACT_END_OF_FILE;
7072 surf_parse_restart(surf_parse_in );
7077 ret_val = EOB_ACT_LAST_MATCH;
7078 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
7079 YY_BUFFER_EOF_PENDING;
7084 ret_val = EOB_ACT_CONTINUE_SCAN;
7086 if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
7087 /* Extend the array by 50%, plus the number we really need. */
7088 yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
7089 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) surf_parse_realloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size );
7090 if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
7091 YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
7094 (yy_n_chars) += number_to_move;
7095 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
7096 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
7098 (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
7103 /* yy_get_previous_state - get the state just before the EOB char was reached */
7105 static yy_state_type yy_get_previous_state (void)
7107 register yy_state_type yy_current_state;
7108 register char *yy_cp;
7110 yy_current_state = (yy_start);
7112 for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
7114 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
7115 if ( yy_accept[yy_current_state] )
7117 (yy_last_accepting_state) = yy_current_state;
7118 (yy_last_accepting_cpos) = yy_cp;
7120 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
7122 yy_current_state = (int) yy_def[yy_current_state];
7123 if ( yy_current_state >= 2421 )
7124 yy_c = yy_meta[(unsigned int) yy_c];
7126 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
7129 return yy_current_state;
7132 /* yy_try_NUL_trans - try to make a transition on the NUL character
7135 * next_state = yy_try_NUL_trans( current_state );
7137 static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state )
7139 register int yy_is_jam;
7140 register char *yy_cp = (yy_c_buf_p);
7142 register YY_CHAR yy_c = 1;
7143 if ( yy_accept[yy_current_state] )
7145 (yy_last_accepting_state) = yy_current_state;
7146 (yy_last_accepting_cpos) = yy_cp;
7148 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
7150 yy_current_state = (int) yy_def[yy_current_state];
7151 if ( yy_current_state >= 2421 )
7152 yy_c = yy_meta[(unsigned int) yy_c];
7154 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
7155 yy_is_jam = (yy_current_state == 2420);
7157 return yy_is_jam ? 0 : yy_current_state;
7162 static int yyinput (void)
7164 static int input (void)
7170 *(yy_c_buf_p) = (yy_hold_char);
7172 if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
7174 /* yy_c_buf_p now points to the character we want to return.
7175 * If this occurs *before* the EOB characters, then it's a
7176 * valid NUL; if not, then we've hit the end of the buffer.
7178 if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
7179 /* This was really a NUL. */
7180 *(yy_c_buf_p) = '\0';
7183 { /* need more input */
7184 int offset = (yy_c_buf_p) - (yytext_ptr);
7187 switch ( yy_get_next_buffer( ) )
7189 case EOB_ACT_LAST_MATCH:
7190 /* This happens because yy_g_n_b()
7191 * sees that we've accumulated a
7192 * token and flags that we need to
7193 * try matching the token before
7194 * proceeding. But for input(),
7195 * there's no matching to consider.
7196 * So convert the EOB_ACT_LAST_MATCH
7197 * to EOB_ACT_END_OF_FILE.
7200 /* Reset buffer status. */
7201 surf_parse_restart(surf_parse_in );
7205 case EOB_ACT_END_OF_FILE:
7207 if ( surf_parse_wrap( ) )
7210 if ( ! (yy_did_buffer_switch_on_eof) )
7219 case EOB_ACT_CONTINUE_SCAN:
7220 (yy_c_buf_p) = (yytext_ptr) + offset;
7226 c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */
7227 *(yy_c_buf_p) = '\0'; /* preserve surf_parse_text */
7228 (yy_hold_char) = *++(yy_c_buf_p);
7232 surf_parse_lineno++;
7237 #endif /* ifndef YY_NO_INPUT */
7239 /** Immediately switch to a different input stream.
7240 * @param input_file A readable stream.
7242 * @note This function does not reset the start condition to @c INITIAL .
7244 void surf_parse_restart (FILE * input_file )
7247 if ( ! YY_CURRENT_BUFFER ){
7248 surf_parse_ensure_buffer_stack ();
7249 YY_CURRENT_BUFFER_LVALUE =
7250 surf_parse__create_buffer(surf_parse_in,YY_BUF_SIZE );
7253 surf_parse__init_buffer(YY_CURRENT_BUFFER,input_file );
7254 surf_parse__load_buffer_state( );
7257 /** Switch to a different input buffer.
7258 * @param new_buffer The new input buffer.
7261 void surf_parse__switch_to_buffer (YY_BUFFER_STATE new_buffer )
7264 /* TODO. We should be able to replace this entire function body
7266 * surf_parse_pop_buffer_state();
7267 * surf_parse_push_buffer_state(new_buffer);
7269 surf_parse_ensure_buffer_stack ();
7270 if ( YY_CURRENT_BUFFER == new_buffer )
7273 if ( YY_CURRENT_BUFFER )
7275 /* Flush out information for old buffer. */
7276 *(yy_c_buf_p) = (yy_hold_char);
7277 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
7278 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
7281 YY_CURRENT_BUFFER_LVALUE = new_buffer;
7282 surf_parse__load_buffer_state( );
7284 /* We don't actually know whether we did this switch during
7285 * EOF (surf_parse_wrap()) processing, but the only time this flag
7286 * is looked at is after surf_parse_wrap() is called, so it's safe
7287 * to go ahead and always set it.
7289 (yy_did_buffer_switch_on_eof) = 1;
7292 static void surf_parse__load_buffer_state (void)
7294 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
7295 (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
7296 surf_parse_in = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
7297 (yy_hold_char) = *(yy_c_buf_p);
7300 /** Allocate and initialize an input buffer state.
7301 * @param file A readable stream.
7302 * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
7304 * @return the allocated buffer state.
7306 YY_BUFFER_STATE surf_parse__create_buffer (FILE * file, int size )
7310 b = (YY_BUFFER_STATE) surf_parse_alloc(sizeof( struct yy_buffer_state ) );
7312 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__create_buffer()" );
7314 b->yy_buf_size = size;
7316 /* yy_ch_buf has to be 2 characters longer than the size given because
7317 * we need to put in 2 end-of-buffer characters.
7319 b->yy_ch_buf = (char *) surf_parse_alloc(b->yy_buf_size + 2 );
7320 if ( ! b->yy_ch_buf )
7321 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__create_buffer()" );
7323 b->yy_is_our_buffer = 1;
7325 surf_parse__init_buffer(b,file );
7330 /** Destroy the buffer.
7331 * @param b a buffer created with surf_parse__create_buffer()
7334 void surf_parse__delete_buffer (YY_BUFFER_STATE b )
7340 if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
7341 YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
7343 if ( b->yy_is_our_buffer )
7344 surf_parse_free((void *) b->yy_ch_buf );
7346 surf_parse_free((void *) b );
7350 extern int isatty (int );
7351 #endif /* __cplusplus */
7353 /* Initializes or reinitializes a buffer.
7354 * This function is sometimes called more than once on the same buffer,
7355 * such as during a surf_parse_restart() or at EOF.
7357 static void surf_parse__init_buffer (YY_BUFFER_STATE b, FILE * file )
7362 surf_parse__flush_buffer(b );
7364 b->yy_input_file = file;
7365 b->yy_fill_buffer = 1;
7367 /* If b is the current buffer, then surf_parse__init_buffer was _probably_
7368 * called from surf_parse_restart() or through yy_get_next_buffer.
7369 * In that case, we don't want to reset the lineno or column.
7371 if (b != YY_CURRENT_BUFFER){
7372 b->yy_bs_lineno = 1;
7373 b->yy_bs_column = 0;
7376 b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
7381 /** Discard all buffered characters. On the next scan, YY_INPUT will be called.
7382 * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
7385 void surf_parse__flush_buffer (YY_BUFFER_STATE b )
7392 /* We always need two end-of-buffer characters. The first causes
7393 * a transition to the end-of-buffer state. The second causes
7394 * a jam in that state.
7396 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
7397 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
7399 b->yy_buf_pos = &b->yy_ch_buf[0];
7402 b->yy_buffer_status = YY_BUFFER_NEW;
7404 if ( b == YY_CURRENT_BUFFER )
7405 surf_parse__load_buffer_state( );
7408 /** Pushes the new state onto the stack. The new state becomes
7409 * the current state. This function will allocate the stack
7411 * @param new_buffer The new state.
7414 void surf_parse_push_buffer_state (YY_BUFFER_STATE new_buffer )
7416 if (new_buffer == NULL)
7419 surf_parse_ensure_buffer_stack();
7421 /* This block is copied from surf_parse__switch_to_buffer. */
7422 if ( YY_CURRENT_BUFFER )
7424 /* Flush out information for old buffer. */
7425 *(yy_c_buf_p) = (yy_hold_char);
7426 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
7427 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
7430 /* Only push if top exists. Otherwise, replace top. */
7431 if (YY_CURRENT_BUFFER)
7432 (yy_buffer_stack_top)++;
7433 YY_CURRENT_BUFFER_LVALUE = new_buffer;
7435 /* copied from surf_parse__switch_to_buffer. */
7436 surf_parse__load_buffer_state( );
7437 (yy_did_buffer_switch_on_eof) = 1;
7440 /** Removes and deletes the top of the stack, if present.
7441 * The next element becomes the new top.
7444 void surf_parse_pop_buffer_state (void)
7446 if (!YY_CURRENT_BUFFER)
7449 surf_parse__delete_buffer(YY_CURRENT_BUFFER );
7450 YY_CURRENT_BUFFER_LVALUE = NULL;
7451 if ((yy_buffer_stack_top) > 0)
7452 --(yy_buffer_stack_top);
7454 if (YY_CURRENT_BUFFER) {
7455 surf_parse__load_buffer_state( );
7456 (yy_did_buffer_switch_on_eof) = 1;
7460 /* Allocates the stack if it does not exist.
7461 * Guarantees space for at least one push.
7463 static void surf_parse_ensure_buffer_stack (void)
7467 if (!(yy_buffer_stack)) {
7469 /* First allocation is just for 2 elements, since we don't know if this
7470 * scanner will even need a stack. We use 2 instead of 1 to avoid an
7471 * immediate realloc on the next call.
7474 (yy_buffer_stack) = (struct yy_buffer_state**)surf_parse_alloc
7475 (num_to_alloc * sizeof(struct yy_buffer_state*)
7477 if ( ! (yy_buffer_stack) )
7478 YY_FATAL_ERROR( "out of dynamic memory in surf_parse_ensure_buffer_stack()" );
7480 memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
7482 (yy_buffer_stack_max) = num_to_alloc;
7483 (yy_buffer_stack_top) = 0;
7487 if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
7489 /* Increase the buffer to prepare for a possible push. */
7490 int grow_size = 8 /* arbitrary grow size */;
7492 num_to_alloc = (yy_buffer_stack_max) + grow_size;
7493 (yy_buffer_stack) = (struct yy_buffer_state**)surf_parse_realloc
7495 num_to_alloc * sizeof(struct yy_buffer_state*)
7497 if ( ! (yy_buffer_stack) )
7498 YY_FATAL_ERROR( "out of dynamic memory in surf_parse_ensure_buffer_stack()" );
7500 /* zero only the new slots.*/
7501 memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
7502 (yy_buffer_stack_max) = num_to_alloc;
7506 /** Setup the input buffer state to scan directly from a user-specified character buffer.
7507 * @param base the character buffer
7508 * @param size the size in bytes of the character buffer
7510 * @return the newly allocated buffer state object.
7512 YY_BUFFER_STATE surf_parse__scan_buffer (char * base, yy_size_t size )
7517 base[size-2] != YY_END_OF_BUFFER_CHAR ||
7518 base[size-1] != YY_END_OF_BUFFER_CHAR )
7519 /* They forgot to leave room for the EOB's. */
7522 b = (YY_BUFFER_STATE) surf_parse_alloc(sizeof( struct yy_buffer_state ) );
7524 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__scan_buffer()" );
7526 b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
7527 b->yy_buf_pos = b->yy_ch_buf = base;
7528 b->yy_is_our_buffer = 0;
7529 b->yy_input_file = 0;
7530 b->yy_n_chars = b->yy_buf_size;
7531 b->yy_is_interactive = 0;
7533 b->yy_fill_buffer = 0;
7534 b->yy_buffer_status = YY_BUFFER_NEW;
7536 surf_parse__switch_to_buffer(b );
7541 /** Setup the input buffer state to scan a string. The next call to surf_parse_lex() will
7542 * scan from a @e copy of @a str.
7543 * @param yystr a NUL-terminated string to scan
7545 * @return the newly allocated buffer state object.
7546 * @note If you want to scan bytes that may contain NUL values, then use
7547 * surf_parse__scan_bytes() instead.
7549 YY_BUFFER_STATE surf_parse__scan_string (yyconst char * yystr )
7552 return surf_parse__scan_bytes(yystr,strlen(yystr) );
7555 /** Setup the input buffer state to scan the given bytes. The next call to surf_parse_lex() will
7556 * scan from a @e copy of @a bytes.
7557 * @param yybytes the byte buffer to scan
7558 * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
7560 * @return the newly allocated buffer state object.
7562 YY_BUFFER_STATE surf_parse__scan_bytes (yyconst char * yybytes, int _yybytes_len )
7569 /* Get memory for full buffer, including space for trailing EOB's. */
7570 n = _yybytes_len + 2;
7571 buf = (char *) surf_parse_alloc(n );
7573 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__scan_bytes()" );
7575 for ( i = 0; i < _yybytes_len; ++i )
7576 buf[i] = yybytes[i];
7578 buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
7580 b = surf_parse__scan_buffer(buf,n );
7582 YY_FATAL_ERROR( "bad buffer in surf_parse__scan_bytes()" );
7584 /* It's okay to grow etc. this buffer, and we should throw it
7585 * away when we're done.
7587 b->yy_is_our_buffer = 1;
7592 static void yy_push_state (int new_state )
7594 if ( (yy_start_stack_ptr) >= (yy_start_stack_depth) )
7598 (yy_start_stack_depth) += YY_START_STACK_INCR;
7599 new_size = (yy_start_stack_depth) * sizeof( int );
7601 if ( ! (yy_start_stack) )
7602 (yy_start_stack) = (int *) surf_parse_alloc(new_size );
7605 (yy_start_stack) = (int *) surf_parse_realloc((void *) (yy_start_stack),new_size );
7607 if ( ! (yy_start_stack) )
7608 YY_FATAL_ERROR( "out of memory expanding start-condition stack" );
7611 (yy_start_stack)[(yy_start_stack_ptr)++] = YY_START;
7616 static void yy_pop_state (void)
7618 if ( --(yy_start_stack_ptr) < 0 )
7619 YY_FATAL_ERROR( "start-condition stack underflow" );
7621 BEGIN((yy_start_stack)[(yy_start_stack_ptr)]);
7624 #ifndef YY_EXIT_FAILURE
7625 #define YY_EXIT_FAILURE 2
7628 static void yy_fatal_error (yyconst char* msg )
7630 (void) fprintf( stderr, "%s\n", msg );
7631 exit( YY_EXIT_FAILURE );
7634 /* Redefine yyless() so it works in section 3 code. */
7640 /* Undo effects of setting up surf_parse_text. */ \
7641 int yyless_macro_arg = (n); \
7642 YY_LESS_LINENO(yyless_macro_arg);\
7643 surf_parse_text[surf_parse_leng] = (yy_hold_char); \
7644 (yy_c_buf_p) = surf_parse_text + yyless_macro_arg; \
7645 (yy_hold_char) = *(yy_c_buf_p); \
7646 *(yy_c_buf_p) = '\0'; \
7647 surf_parse_leng = yyless_macro_arg; \
7651 /* Accessor methods (get/set functions) to struct members. */
7653 /** Get the current line number.
7656 int surf_parse_get_lineno (void)
7659 return surf_parse_lineno;
7662 /** Get the input stream.
7665 FILE *surf_parse_get_in (void)
7667 return surf_parse_in;
7670 /** Get the output stream.
7673 FILE *surf_parse_get_out (void)
7675 return surf_parse_out;
7678 /** Get the length of the current token.
7681 int surf_parse_get_leng (void)
7683 return surf_parse_leng;
7686 /** Get the current token.
7690 char *surf_parse_get_text (void)
7692 return surf_parse_text;
7695 /** Set the current line number.
7696 * @param line_number
7699 void surf_parse_set_lineno (int line_number )
7702 surf_parse_lineno = line_number;
7705 /** Set the input stream. This does not discard the current
7707 * @param in_str A readable stream.
7709 * @see surf_parse__switch_to_buffer
7711 void surf_parse_set_in (FILE * in_str )
7713 surf_parse_in = in_str ;
7716 void surf_parse_set_out (FILE * out_str )
7718 surf_parse_out = out_str ;
7721 int surf_parse_get_debug (void)
7723 return surf_parse__flex_debug;
7726 void surf_parse_set_debug (int bdebug )
7728 surf_parse__flex_debug = bdebug ;
7731 static int yy_init_globals (void)
7733 /* Initialization is the same as for the non-reentrant scanner.
7734 * This function is called from surf_parse_lex_destroy(), so don't allocate here.
7737 /* We do not touch surf_parse_lineno unless the option is enabled. */
7738 surf_parse_lineno = 1;
7740 (yy_buffer_stack) = 0;
7741 (yy_buffer_stack_top) = 0;
7742 (yy_buffer_stack_max) = 0;
7743 (yy_c_buf_p) = (char *) 0;
7747 (yy_start_stack_ptr) = 0;
7748 (yy_start_stack_depth) = 0;
7749 (yy_start_stack) = NULL;
7751 /* Defined in main.c */
7753 surf_parse_in = stdin;
7754 surf_parse_out = stdout;
7756 surf_parse_in = (FILE *) 0;
7757 surf_parse_out = (FILE *) 0;
7760 /* For future reference: Set errno on error, since we are called by
7761 * surf_parse_lex_init()
7766 /* surf_parse_lex_destroy is for both reentrant and non-reentrant scanners. */
7767 int surf_parse_lex_destroy (void)
7770 /* Pop the buffer stack, destroying each element. */
7771 while(YY_CURRENT_BUFFER){
7772 surf_parse__delete_buffer(YY_CURRENT_BUFFER );
7773 YY_CURRENT_BUFFER_LVALUE = NULL;
7774 surf_parse_pop_buffer_state();
7777 /* Destroy the stack itself. */
7778 surf_parse_free((yy_buffer_stack) );
7779 (yy_buffer_stack) = NULL;
7781 /* Destroy the start condition stack. */
7782 surf_parse_free((yy_start_stack) );
7783 (yy_start_stack) = NULL;
7785 /* Reset the globals. This is important in a non-reentrant scanner so the next time
7786 * surf_parse_lex() is called, initialization will occur. */
7793 * Internal utility routines.
7797 static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
7800 for ( i = 0; i < n; ++i )
7805 #ifdef YY_NEED_STRLEN
7806 static int yy_flex_strlen (yyconst char * s )
7809 for ( n = 0; s[n]; ++n )
7816 void *surf_parse_alloc (yy_size_t size )
7818 return (void *) malloc( size );
7821 void *surf_parse_realloc (void * ptr, yy_size_t size )
7823 /* The cast to (char *) in the following accommodates both
7824 * implementations that use char* generic pointers, and those
7825 * that use void* generic pointers. It works with the latter
7826 * because both ANSI C and C++ allow castless assignment from
7827 * any pointer type to void*, and deal with argument conversions
7828 * as though doing an assignment.
7830 return (void *) realloc( (char *) ptr, size );
7833 void surf_parse_free (void * ptr )
7835 free( (char *) ptr ); /* see surf_parse_realloc() for (char *) cast */
7838 #define YYTABLES_NAME "yytables"
7840 /* Element context stack lookup. */
7841 int surfxml_element_context(int i)
7843 return (0<i && i<yy_start_stack_depth
7844 ? yy_start_stack[yy_start_stack_ptr - i]
7849 void print_yy_stack(char* fmt, ...)
7851 int i = 0; va_list ap; va_start(ap, fmt);
7852 vfprintf(stderr, fmt, ap);
7853 if (surfxml_statenames) {
7854 for (i=1; i<yy_start_stack_ptr; i++) {
7855 fprintf(stderr, "%s/", surfxml_statenames[yy_start_stack[i] ]);
7857 fprintf(stderr,"%s\n", surfxml_statenames[YY_START]);
7862 void print_surfxml_bufferstack()
7865 fputs("Buffer: ", stderr);
7866 for (i = 0; i < blimit; i++) {
7867 if ( surfxml_bufferstack[i] == '\377' ) break;
7868 putc(surfxml_bufferstack[i], stderr);
7873 static void debug_enter(int state, const char* statename) {
7874 yy_push_state(state);
7875 if (surf_parse__flex_debug) {
7876 print_yy_stack("--ENTER(%s) : ",statename);
7877 print_surfxml_bufferstack();
7881 static void debug_leave(void) {
7882 if (surf_parse__flex_debug) {
7883 print_yy_stack("--LEAVE : ");
7884 print_surfxml_bufferstack();
7889 static void debug_set(int state, const char* statename) {
7891 if (surf_parse__flex_debug) print_yy_stack("--SET(%s) : ",statename);
7895 static void cleanup(void)
7897 if (surfxml_statenames) {
7898 free(surfxml_statenames);
7899 surfxml_statenames = NULL;
7901 free(surfxml_bufferstack);
7902 surfxml_bufferstack = NULL;
7908 static int fail(const char* fmt, ...)
7910 int chars_left, used;
7911 va_list ap; va_start(ap, fmt);
7912 #ifdef FLEXML_yylineno
7913 used = sprintf(flexml_err_msg,
7914 "Invalid XML (XML input line %d, state %d): ",
7915 surf_parse_lineno, YY_START);
7917 used = sprintf(flexml_err_msg,
7918 "Invalid XML (state %d): ",
7921 chars_left = flexml_max_err_msg_size - used - 1;
7922 vsnprintf(flexml_err_msg + used, chars_left, fmt, ap);
7925 #ifndef FLEXML_quiet_parser
7926 /* print directly to sdterr */
7927 fprintf(stderr, "%s\n", flexml_err_msg);
7928 flexml_err_msg[0] = '\0';