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 384
407 #define YY_END_OF_BUFFER 385
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[2257] =
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, 385, 383, 15, 10, 10, 15,
437 15, 363, 10, 363, 5, 6, 5, 8, 9, 8,
439 379, 371, 372, 380, 377, 380, 378, 382, 371, 372,
440 382, 383, 22, 10, 22, 22, 22, 20, 22, 26,
441 10, 26, 26, 26, 383, 383, 26, 37, 10, 37,
442 37, 37, 35, 37, 37, 37, 380, 379, 59, 10,
443 59, 59, 59, 57, 59, 59, 59, 59, 63, 10,
444 63, 383, 63, 82, 10, 82, 82, 82, 80, 82,
445 82, 82, 86, 10, 86, 95, 10, 95, 95, 95,
446 93, 95, 95, 99, 10, 99, 99, 383, 99, 99,
447 383, 383, 99, 383, 99, 383, 99, 122, 10, 122,
448 122, 122, 120, 122, 122, 122, 122, 122, 126, 10,
450 126, 126, 165, 10, 165, 165, 165, 163, 165, 165,
451 165, 165, 165, 165, 165, 165, 169, 10, 169, 190,
452 10, 190, 190, 190, 188, 190, 190, 190, 190, 190,
453 190, 194, 10, 194, 203, 10, 203, 203, 203, 201,
454 203, 203, 207, 10, 207, 234, 10, 234, 234, 234,
455 232, 234, 234, 234, 234, 238, 10, 238, 238, 251,
456 10, 251, 251, 251, 249, 251, 251, 255, 10, 255,
457 383, 255, 272, 10, 272, 272, 272, 270, 272, 272,
458 272, 276, 10, 276, 276, 289, 10, 289, 289, 289,
459 287, 289, 289, 293, 10, 293, 306, 10, 306, 306,
461 306, 304, 306, 306, 306, 310, 10, 310, 310, 323,
462 10, 323, 323, 323, 321, 323, 323, 323, 323, 327,
463 10, 327, 383, 327, 334, 10, 334, 334, 334, 332,
464 334, 338, 10, 338, 345, 10, 345, 345, 345, 343,
465 345, 349, 10, 349, 349, 349, 358, 10, 358, 358,
466 358, 356, 358, 358, 362, 10, 362, 10, 0, 2,
467 2, 0, 4, 7, 374, 373, 0, 0, 0, 0,
468 0, 0, 0, 21, 23, 23, 0, 0, 0, 0,
469 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
470 0, 0, 0, 36, 38, 38, 38, 38, 0, 0,
472 0, 58, 60, 60, 60, 60, 60, 60, 60, 0,
473 0, 81, 83, 83, 83, 83, 0, 94, 96, 96,
474 96, 0, 0, 0, 0, 0, 0, 0, 0, 0,
475 121, 123, 123, 123, 123, 123, 123, 0, 164, 166,
476 166, 166, 166, 166, 166, 166, 166, 166, 166, 166,
477 166, 166, 0, 189, 191, 191, 191, 191, 191, 191,
478 191, 0, 202, 204, 204, 204, 0, 233, 235, 235,
479 235, 235, 235, 235, 0, 250, 252, 252, 252, 252,
480 0, 0, 271, 273, 273, 273, 273, 273, 0, 288,
481 290, 290, 290, 0, 305, 307, 307, 307, 307, 0,
483 322, 324, 324, 324, 324, 324, 0, 0, 333, 335,
484 335, 0, 344, 346, 346, 0, 0, 357, 359, 359,
485 359, 0, 0, 0, 0, 0, 3, 0, 0, 0,
486 0, 0, 0, 0, 381, 0, 23, 0, 0, 88,
487 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
488 0, 0, 0, 87, 0, 0, 0, 0, 38, 0,
489 0, 38, 0, 0, 0, 376, 60, 0, 0, 60,
490 60, 60, 60, 0, 0, 0, 83, 83, 83, 0,
491 0, 0, 0, 96, 0, 0, 88, 0, 0, 0,
492 0, 87, 0, 0, 123, 123, 123, 0, 0, 123,
494 123, 0, 0, 166, 166, 0, 0, 166, 0, 0,
495 166, 166, 166, 166, 166, 166, 166, 0, 0, 191,
496 191, 0, 0, 191, 191, 191, 0, 0, 204, 0,
497 0, 0, 0, 235, 0, 0, 235, 235, 235, 0,
498 0, 252, 252, 252, 0, 0, 0, 273, 273, 273,
499 273, 0, 0, 290, 0, 0, 0, 0, 307, 307,
500 307, 0, 0, 324, 324, 324, 324, 0, 0, 0,
501 335, 0, 0, 0, 0, 0, 0, 0, 0, 0,
502 359, 0, 0, 0, 14, 1, 0, 0, 369, 0,
503 0, 0, 366, 365, 0, 0, 23, 0, 0, 25,
505 0, 88, 0, 0, 0, 0, 0, 0, 0, 0,
506 0, 0, 0, 0, 0, 0, 87, 0, 0, 0,
507 0, 38, 0, 30, 29, 38, 0, 0, 0, 40,
508 0, 60, 0, 44, 43, 0, 0, 60, 0, 0,
509 60, 0, 0, 62, 0, 0, 83, 83, 83, 0,
510 0, 85, 0, 0, 90, 89, 96, 0, 0, 98,
511 0, 0, 0, 0, 0, 0, 0, 0, 123, 123,
512 123, 0, 103, 102, 123, 123, 0, 0, 125, 0,
513 166, 166, 166, 166, 0, 142, 141, 166, 0, 130,
514 129, 0, 0, 166, 166, 166, 166, 166, 166, 0,
516 0, 168, 0, 191, 191, 191, 0, 173, 172, 0,
517 0, 191, 191, 0, 0, 193, 0, 204, 0, 198,
518 197, 0, 0, 206, 0, 235, 0, 211, 210, 235,
519 235, 235, 0, 0, 237, 0, 0, 0, 0, 0,
520 252, 0, 0, 254, 0, 0, 0, 0, 273, 273,
521 0, 0, 273, 0, 0, 275, 0, 290, 0, 280,
522 279, 0, 0, 292, 0, 0, 0, 307, 307, 0,
523 0, 0, 0, 309, 0, 324, 324, 324, 324, 0,
524 0, 326, 0, 0, 335, 0, 0, 337, 0, 0,
525 342, 341, 0, 0, 348, 0, 0, 0, 353, 352,
527 359, 0, 0, 361, 0, 0, 0, 370, 364, 0,
528 0, 0, 23, 0, 0, 0, 0, 0, 0, 100,
529 208, 171, 0, 0, 350, 0, 0, 0, 0, 0,
530 170, 0, 0, 0, 0, 38, 0, 0, 60, 0,
531 48, 47, 0, 0, 0, 46, 45, 60, 0, 351,
532 83, 0, 0, 83, 0, 96, 0, 97, 0, 0,
533 101, 209, 0, 0, 0, 123, 123, 0, 0, 123,
534 123, 0, 166, 166, 166, 166, 0, 0, 0, 144,
535 143, 166, 166, 166, 166, 166, 166, 0, 191, 191,
536 191, 0, 181, 180, 191, 191, 0, 204, 0, 235,
538 235, 235, 235, 0, 0, 244, 243, 0, 242, 241,
539 252, 0, 208, 0, 261, 260, 273, 273, 0, 259,
540 258, 273, 0, 290, 0, 0, 299, 298, 307, 307,
541 0, 297, 296, 0, 324, 0, 0, 324, 324, 0,
542 0, 335, 0, 0, 0, 359, 0, 0, 0, 0,
543 12, 0, 367, 368, 0, 23, 0, 0, 0, 0,
544 0, 0, 100, 208, 0, 171, 0, 0, 350, 0,
545 239, 28, 0, 0, 170, 27, 0, 0, 32, 31,
546 38, 0, 0, 60, 0, 50, 49, 60, 0, 351,
547 83, 0, 0, 0, 0, 0, 0, 96, 0, 0,
549 101, 209, 240, 240, 239, 123, 123, 0, 107, 106,
550 0, 0, 0, 0, 123, 0, 166, 0, 0, 166,
551 166, 0, 140, 139, 0, 0, 166, 166, 166, 166,
552 166, 0, 0, 0, 191, 191, 0, 0, 191, 0,
553 204, 0, 235, 235, 235, 0, 0, 235, 0, 252,
554 0, 0, 273, 273, 273, 0, 290, 0, 307, 307,
555 0, 324, 0, 314, 313, 324, 324, 0, 0, 0,
556 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
557 11, 0, 23, 0, 0, 0, 0, 0, 340, 0,
558 0, 0, 41, 239, 195, 28, 0, 339, 0, 27,
560 0, 0, 38, 0, 0, 60, 60, 0, 83, 0,
561 0, 0, 0, 0, 0, 0, 0, 0, 77, 76,
562 0, 96, 0, 0, 240, 196, 123, 123, 0, 105,
563 104, 0, 0, 0, 123, 0, 124, 166, 0, 152,
564 151, 0, 0, 166, 0, 138, 137, 0, 0, 166,
565 166, 166, 0, 0, 0, 0, 177, 176, 0, 0,
566 191, 0, 175, 174, 191, 0, 192, 204, 0, 235,
567 235, 235, 0, 0, 0, 235, 0, 236, 252, 0,
568 0, 0, 0, 0, 0, 273, 0, 290, 0, 0,
569 0, 0, 0, 0, 324, 324, 324, 0, 0, 0,
571 331, 330, 0, 0, 42, 0, 355, 354, 0, 360,
572 0, 0, 0, 0, 0, 0, 0, 256, 0, 0,
573 128, 340, 0, 0, 312, 41, 195, 0, 339, 127,
574 0, 311, 38, 0, 0, 39, 60, 60, 0, 0,
575 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
576 0, 0, 0, 0, 257, 0, 196, 123, 123, 0,
577 0, 123, 166, 0, 154, 153, 166, 0, 132, 131,
578 0, 0, 166, 166, 0, 134, 133, 0, 0, 179,
579 178, 191, 191, 204, 0, 235, 0, 0, 235, 235,
580 0, 0, 235, 252, 0, 253, 0, 0, 265, 264,
582 0, 263, 262, 273, 0, 290, 0, 0, 303, 302,
583 0, 301, 300, 0, 324, 324, 324, 0, 0, 0,
584 0, 42, 0, 0, 0, 17, 0, 19, 18, 0,
585 256, 328, 0, 128, 277, 16, 312, 0, 127, 0,
586 311, 38, 375, 60, 60, 0, 61, 0, 79, 78,
587 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
588 0, 0, 92, 91, 257, 0, 123, 123, 0, 0,
589 0, 0, 123, 166, 166, 0, 136, 135, 166, 166,
590 0, 191, 191, 204, 0, 205, 235, 0, 217, 216,
591 235, 235, 0, 0, 0, 0, 235, 252, 278, 273,
593 0, 290, 0, 0, 0, 0, 324, 324, 0, 329,
594 0, 0, 347, 0, 0, 0, 17, 0, 328, 0,
595 277, 16, 0, 0, 38, 0, 0, 60, 0, 0,
596 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
597 123, 123, 0, 113, 0, 112, 123, 166, 166, 166,
598 166, 0, 167, 191, 191, 204, 0, 0, 235, 235,
599 235, 0, 221, 0, 220, 235, 252, 278, 273, 0,
600 274, 0, 0, 0, 0, 0, 316, 315, 0, 0,
601 324, 0, 325, 329, 0, 0, 0, 0, 0, 24,
602 0, 0, 0, 38, 0, 0, 0, 60, 0, 0,
604 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
605 123, 123, 115, 114, 0, 0, 166, 166, 166, 0,
606 0, 191, 191, 204, 0, 213, 212, 235, 235, 235,
607 223, 222, 0, 0, 252, 273, 0, 0, 0, 0,
608 291, 0, 0, 320, 319, 0, 0, 0, 336, 0,
609 0, 0, 294, 0, 0, 0, 0, 0, 0, 0,
610 0, 60, 0, 0, 0, 0, 69, 0, 0, 0,
611 0, 68, 0, 295, 123, 0, 0, 0, 117, 116,
612 166, 166, 166, 0, 162, 161, 0, 0, 191, 0,
613 0, 235, 235, 235, 0, 225, 224, 0, 0, 0,
615 0, 0, 0, 0, 0, 0, 0, 0, 0, 318,
616 317, 0, 0, 0, 294, 0, 0, 0, 34, 33,
617 0, 0, 0, 0, 60, 0, 0, 0, 0, 0,
618 0, 0, 0, 0, 295, 0, 0, 123, 0, 119,
619 118, 166, 166, 166, 0, 183, 182, 191, 0, 200,
620 199, 235, 0, 0, 235, 0, 0, 0, 0, 0,
621 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
622 0, 0, 65, 64, 0, 0, 0, 0, 0, 0,
623 0, 0, 75, 0, 0, 0, 74, 0, 0, 0,
624 109, 108, 123, 166, 166, 166, 191, 235, 0, 219,
626 218, 235, 0, 0, 0, 0, 0, 0, 0, 0,
627 0, 0, 282, 0, 0, 281, 0, 308, 0, 0,
628 0, 0, 0, 0, 65, 64, 0, 0, 0, 0,
629 0, 52, 51, 0, 0, 0, 0, 0, 0, 0,
630 123, 166, 166, 0, 0, 0, 0, 0, 0, 0,
631 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
632 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
633 56, 0, 55, 73, 0, 0, 72, 0, 0, 0,
634 84, 123, 166, 166, 0, 0, 0, 0, 0, 0,
635 0, 215, 214, 0, 0, 0, 248, 0, 247, 0,
637 269, 0, 268, 0, 284, 286, 283, 285, 0, 0,
638 0, 12, 0, 12, 0, 0, 0, 67, 71, 66,
639 70, 123, 166, 166, 0, 0, 0, 0, 0, 0,
640 0, 0, 0, 0, 0, 0, 246, 245, 267, 266,
641 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
642 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
643 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
644 0, 54, 53, 0, 111, 110, 0, 160, 159, 0,
645 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
646 0, 0, 0, 0, 0, 0, 0, 0, 0, 11,
648 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
649 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
650 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
651 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
652 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
653 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
654 0, 0, 0, 0, 0, 0, 0, 0, 0, 146,
655 0, 0, 145, 0, 185, 0, 184, 0, 0, 227,
656 0, 0, 226, 0, 0, 0, 0, 0, 150, 0,
657 149, 0, 0, 0, 229, 0, 228, 0, 0, 0,
659 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
660 0, 156, 0, 155, 0, 0, 0, 0, 0, 0,
661 0, 0, 158, 157, 148, 147, 187, 186, 231, 230,
662 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
663 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
667 static yyconst flex_int32_t yy_ec[256] =
669 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
670 1, 2, 4, 1, 1, 1, 1, 1, 1, 1,
671 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
672 1, 2, 5, 6, 7, 1, 1, 8, 9, 1,
673 1, 1, 1, 1, 10, 11, 12, 13, 13, 13,
674 13, 14, 13, 13, 13, 15, 13, 16, 17, 18,
675 19, 20, 21, 1, 22, 23, 24, 25, 26, 27,
676 16, 28, 29, 16, 30, 31, 32, 33, 34, 35,
677 16, 36, 37, 38, 39, 40, 41, 42, 43, 16,
678 44, 1, 45, 1, 46, 1, 47, 48, 49, 50,
680 51, 52, 53, 54, 55, 16, 56, 57, 58, 59,
681 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
682 70, 16, 1, 1, 1, 1, 1, 1, 1, 1,
683 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
684 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
685 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
686 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
687 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
688 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
689 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
691 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
692 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
693 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
694 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
695 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
699 static yyconst flex_int32_t yy_meta[71] =
701 1, 2, 2, 2, 1, 1, 1, 1, 1, 3,
702 3, 1, 4, 4, 4, 5, 6, 1, 7, 8,
703 1, 9, 9, 9, 9, 9, 9, 5, 5, 5,
704 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
705 5, 5, 5, 1, 1, 5, 9, 9, 9, 9,
706 9, 9, 5, 5, 5, 5, 5, 5, 5, 5,
707 5, 5, 5, 5, 5, 5, 5, 5, 5, 5
710 static yyconst flex_int16_t yy_base[2533] =
712 0, 0, 0, 3, 6, 9, 12, 29, 16, 19,
713 14, 17, 33, 36, 49, 55, 45, 61, 66, 73,
714 106, 173, 76, 79, 83, 126, 129, 134, 137, 154,
715 193, 196, 201, 204, 221, 224, 227, 230, 248, 309,
716 280, 286, 370, 434, 268, 273, 277, 330, 333, 337,
717 340, 390, 498, 563, 393, 398, 628, 691, 401, 454,
718 457, 462, 465, 518, 521, 526, 529, 583, 586, 591,
719 594, 648, 651, 656, 659, 711, 714, 719, 722, 739,
720 745, 748, 756, 765, 768, 773, 776, 785, 803, 867,
721 823, 826, 831, 835, 887, 890, 895, 899, 931, 0,
723 1000, 1003, 1021, 1085, 1041, 1044, 1149, 1204, 1049, 1053,
724 1259, 1323, 1105, 1108, 1113, 1117, 1169, 1172, 1177, 1181,
725 1387, 1451, 1224, 1227, 1232, 1236, 1279, 1282, 1287, 1290,
726 1515, 1579, 1343, 1346, 1351, 1354, 1407, 1410, 1415, 1418,
727 1643, 1698, 1471, 1474, 1753, 1817, 1479, 1482, 1535, 1538,
728 1543, 1546, 1599, 1602, 1881, 1945, 1607, 1610, 1663, 1666,
729 1671, 1674, 1718, 1721, 2009, 2076, 1726, 1729, 2143, 2198,
730 1773, 1776, 1781, 1784, 1837, 1840, 1845, 1848, 2253, 2320,
731 1901, 1904, 0, 0, 5560, 7722, 7722, 96, 100, 29,
732 41, 7722, 157, 51, 7722, 7722, 5549, 7722, 7722, 5537,
734 7722, 5547, 5547, 360, 7722, 7722, 7722, 7722, 5541, 5541,
735 5497, 84, 7722, 160, 5515, 0, 144, 7722, 5482, 7722,
736 164, 2383, 5483, 492, 224, 5518, 5464, 7722, 167, 5504,
737 0, 216, 7722, 5467, 5469, 5467, 344, 5448, 7722, 303,
738 5472, 0, 341, 7722, 5439, 5435, 41, 5419, 7722, 427,
739 13, 81, 141, 7722, 482, 5462, 0, 342, 7722, 5416,
740 5417, 5408, 7722, 491, 345, 7722, 548, 5448, 0, 347,
741 7722, 5398, 5387, 7722, 556, 1919, 1920, 5388, 80, 5418,
742 198, 252, 364, 613, 59, 5427, 83, 7722, 613, 5417,
743 0, 405, 7722, 5361, 5367, 5373, 5351, 5345, 7722, 618,
745 177, 235, 7722, 676, 5383, 0, 469, 7722, 5335, 167,
746 5340, 5349, 5350, 149, 5345, 355, 7722, 682, 476, 7722,
747 685, 5371, 0, 535, 7722, 5321, 5324, 5333, 5334, 5319,
748 5324, 7722, 793, 606, 7722, 796, 5356, 0, 540, 7722,
749 5303, 5312, 7722, 852, 780, 7722, 857, 5340, 0, 541,
750 7722, 5308, 5304, 5305, 243, 7722, 916, 357, 412, 7722,
751 921, 5323, 0, 605, 7722, 5278, 150, 7722, 1006, 670,
752 5329, 5281, 7722, 1009, 5299, 0, 660, 7722, 5254, 5249,
753 275, 7722, 1012, 5304, 420, 7722, 1070, 5295, 0, 723,
754 7722, 5259, 5262, 7722, 1077, 1056, 7722, 1134, 5290, 0,
756 734, 7722, 5245, 5239, 5235, 7722, 1141, 5281, 470, 7722,
757 1198, 5272, 0, 740, 7722, 5208, 5212, 5208, 5195, 7722,
758 1253, 1071, 5246, 240, 7722, 1307, 5227, 0, 760, 7722,
759 5195, 7722, 1315, 1294, 7722, 1318, 5219, 0, 841, 7722,
760 5187, 7722, 1371, 1864, 5166, 180, 7722, 1379, 5201, 0,
761 905, 7722, 5170, 5163, 7722, 1382, 1358, 1436, 18, 5140,
762 7722, 5197, 5173, 7722, 7722, 7722, 1429, 241, 5127, 5124,
763 5120, 5164, 5125, 7722, 0, 5118, 5118, 5128, 5101, 5092,
764 477, 5097, 5101, 794, 403, 5091, 478, 5112, 542, 858,
765 5085, 1140, 1195, 7722, 0, 5089, 1910, 5077, 234, 5073,
767 5114, 7722, 0, 5073, 1968, 5062, 5082, 5065, 5073, 5052,
768 1372, 7722, 0, 5063, 5044, 5043, 5021, 7722, 0, 1975,
769 5019, 5061, 5038, 5004, 5009, 5013, 532, 5029, 553, 597,
770 7722, 0, 5014, 543, 1981, 4988, 5008, 4999, 7722, 0,
771 5001, 4997, 1989, 4979, 2029, 4975, 4967, 4979, 4979, 4980,
772 4975, 4965, 4967, 7722, 0, 4968, 4949, 2032, 4939, 4935,
773 4954, 4935, 7722, 0, 4931, 2036, 4927, 7722, 0, 4929,
774 2039, 4922, 4938, 4933, 4922, 7722, 0, 4912, 4922, 4910,
775 4900, 4907, 7722, 0, 4895, 4913, 4899, 4889, 4919, 7722,
776 0, 4877, 2042, 4881, 7722, 0, 4861, 4879, 4874, 4870,
778 7722, 0, 4858, 4848, 4853, 4862, 4846, 4836, 7722, 0,
779 4841, 4845, 7722, 0, 2096, 4842, 660, 7722, 0, 2099,
780 4832, 4820, 4860, 4865, 442, 4816, 7722, 1432, 0, 4811,
781 4803, 4845, 4843, 4797, 7722, 4798, 4780, 1914, 2102, 1500,
782 4789, 4776, 4770, 4771, 4765, 4768, 4768, 4771, 4753, 4753,
783 4739, 4753, 4740, 1503, 4731, 4745, 4740, 4726, 4718, 2105,
784 1567, 4712, 4742, 2108, 2163, 7722, 4713, 2123, 1631, 2166,
785 4700, 2170, 4712, 2173, 2176, 4696, 4693, 4700, 4699, 2218,
786 2225, 2228, 1805, 4672, 2231, 2273, 1509, 4674, 4668, 4671,
787 4659, 1747, 4658, 4647, 4657, 4644, 4653, 2276, 1869, 4644,
789 4628, 2279, 2282, 4636, 1510, 2287, 2060, 4635, 2341, 2127,
790 2344, 4623, 4621, 4595, 4586, 4582, 4594, 2347, 2350, 436,
791 4581, 2353, 2188, 2374, 4592, 4578, 2377, 2382, 4577, 2387,
792 2309, 2396, 2406, 4581, 2409, 2415, 4579, 4548, 4539, 2432,
793 2439, 2451, 2454, 2458, 2447, 2461, 4544, 2472, 2476, 2480,
794 2483, 2486, 2494, 4550, 2501, 2506, 2515, 2525, 2520, 2534,
795 2530, 2540, 2544, 4540, 4523, 4520, 4512, 2548, 2552, 4521,
796 4506, 2555, 2559, 2563, 2567, 2583, 2586, 4511, 2589, 2593,
797 4503, 2607, 2614, 4547, 7722, 7722, 644, 4496, 7722, 4535,
798 4525, 4477, 7722, 7722, 4474, 4465, 4474, 2617, 2621, 7722,
800 2627, 1506, 4466, 4458, 4473, 4439, 4436, 4422, 4426, 4418,
801 4409, 741, 4415, 4399, 4412, 4403, 1692, 4369, 4364, 4376,
802 770, 2636, 2647, 7722, 7722, 2640, 4399, 2658, 2661, 7722,
803 2664, 4347, 2667, 7722, 7722, 2683, 2686, 2694, 2701, 2706,
804 4358, 2714, 2719, 7722, 2722, 834, 4353, 2725, 4351, 2728,
805 2733, 7722, 2743, 2748, 7722, 7722, 4346, 2756, 2762, 7722,
806 2765, 4339, 4344, 4324, 4332, 4321, 4320, 4318, 4321, 4320,
807 2768, 2771, 7722, 7722, 4306, 4316, 2789, 2792, 7722, 2795,
808 4302, 4288, 4304, 4296, 2798, 7722, 7722, 2814, 2817, 7722,
809 7722, 2825, 2828, 4281, 4284, 4289, 4281, 4280, 4275, 2836,
811 2843, 7722, 2846, 4269, 4254, 4268, 2849, 7722, 7722, 2858,
812 2865, 4250, 4257, 2876, 2879, 7722, 2882, 4260, 2885, 7722,
813 7722, 2901, 2904, 7722, 2907, 4230, 2911, 7722, 7722, 4237,
814 4240, 4241, 2926, 2932, 7722, 2935, 2938, 2941, 2956, 2959,
815 4240, 2967, 2975, 7722, 2978, 4233, 2981, 2987, 4218, 4184,
816 2999, 3002, 4190, 3010, 3013, 7722, 3017, 4187, 3020, 7722,
817 7722, 3032, 3036, 7722, 3039, 3043, 3051, 4170, 4170, 3046,
818 3064, 3072, 3075, 7722, 3079, 4166, 3082, 4177, 4157, 3085,
819 3100, 7722, 3104, 4150, 4163, 3107, 3110, 7722, 3113, 3119,
820 7722, 7722, 3132, 3135, 7722, 3139, 4159, 3142, 7722, 7722,
822 4153, 3154, 3158, 7722, 3165, 585, 3168, 7722, 7722, 4186,
823 4179, 4143, 4133, 3173, 4112, 4119, 4111, 4105, 4108, 1936,
824 2001, 2068, 4110, 4109, 2071, 4085, 4093, 4091, 4086, 4074,
825 2135, 4080, 4079, 3177, 3188, 4078, 4104, 3180, 4078, 3199,
826 7722, 7722, 3207, 3210, 3218, 7722, 7722, 4072, 3228, 2237,
827 4062, 3231, 3237, 3249, 3252, 4061, 3255, 7722, 4052, 4040,
828 2246, 3258, 4051, 4050, 4046, 4049, 4039, 3261, 3267, 3279,
829 3283, 3286, 4034, 3289, 4014, 4029, 3292, 3310, 3318, 7722,
830 7722, 3328, 4002, 4023, 4005, 4013, 3989, 3332, 3335, 3338,
831 3342, 3356, 7722, 7722, 3364, 3367, 3370, 4001, 3373, 3993,
833 3998, 3986, 3376, 3385, 3398, 7722, 7722, 3406, 7722, 7722,
834 3979, 3414, 3346, 3421, 7722, 7722, 3977, 3992, 3433, 7722,
835 7722, 3974, 3441, 3962, 3444, 3447, 7722, 7722, 3961, 3975,
836 3456, 7722, 7722, 3464, 3961, 3467, 3471, 3948, 3962, 3479,
837 3949, 3485, 3488, 3492, 3945, 3503, 3511, 710, 3975, 3514,
838 7722, 3974, 7722, 7722, 3932, 3928, 3517, 3921, 3930, 3916,
839 3927, 3919, 2301, 2839, 3920, 3417, 3891, 3885, 3521, 3890,
840 3536, 3539, 3893, 3893, 3543, 3546, 3879, 3549, 7722, 7722,
841 3886, 3883, 3557, 3846, 3564, 7722, 7722, 3822, 3560, 3572,
842 3823, 3580, 2338, 2392, 3591, 3594, 3602, 3833, 3820, 3819,
844 3609, 3612, 3615, 3621, 3624, 3824, 3808, 3627, 7722, 7722,
845 3635, 3638, 3646, 3653, 3807, 3665, 3807, 3669, 3673, 3687,
846 3791, 3690, 7722, 7722, 3698, 3701, 3709, 3791, 3789, 3788,
847 3712, 3716, 3719, 3723, 3731, 3737, 3740, 3743, 3751, 3758,
848 3780, 3762, 3785, 3764, 3763, 3765, 3770, 3763, 3783, 3749,
849 3786, 3758, 3789, 3795, 3798, 3807, 3750, 3816, 3819, 3822,
850 3826, 3735, 3841, 7722, 7722, 3739, 3718, 3829, 3729, 3849,
851 3854, 3862, 3867, 3719, 3872, 3875, 3890, 181, 339, 713,
852 7722, 3712, 3893, 3896, 3720, 3704, 3722, 3694, 3899, 3686,
853 3685, 3673, 3902, 3905, 3911, 3915, 3681, 3921, 3661, 3924,
855 3660, 3644, 3649, 3675, 3927, 3635, 3631, 3930, 3933, 3661,
856 3647, 377, 3646, 3652, 3636, 526, 3632, 3936, 7722, 7722,
857 3951, 3955, 3613, 3627, 3958, 3961, 3606, 3613, 3964, 7722,
858 7722, 3973, 3624, 3618, 3596, 3981, 7722, 3591, 3987, 7722,
859 7722, 3996, 4000, 3590, 4008, 7722, 7722, 4016, 4019, 4027,
860 3597, 3580, 4030, 4034, 4048, 4051, 7722, 7722, 4059, 4063,
861 3587, 4071, 7722, 7722, 3586, 4080, 7722, 3574, 4083, 3542,
862 4086, 3556, 4089, 3557, 3556, 3533, 4104, 7722, 3516, 4107,
863 3471, 4110, 4113, 4131, 4134, 3477, 4145, 3470, 4149, 4152,
864 4155, 4164, 4170, 4182, 3470, 3452, 3454, 4185, 3444, 4188,
866 7722, 7722, 4197, 4204, 4178, 4209, 7722, 7722, 4217, 7722,
867 40, 670, 773, 3440, 4223, 4226, 4236, 4241, 3413, 3416,
868 4248, 4251, 3398, 3396, 4256, 4259, 4262, 3392, 4265, 4268,
869 3372, 4271, 3358, 3367, 4274, 7722, 3319, 3279, 4277, 4281,
870 4284, 3292, 3278, 3271, 3274, 3262, 3264, 58, 97, 121,
871 241, 4299, 4302, 4305, 4313, 300, 4320, 376, 405, 729,
872 873, 414, 469, 4323, 7722, 7722, 532, 4331, 7722, 7722,
873 4339, 4343, 563, 599, 4351, 7722, 7722, 4359, 4362, 7722,
874 7722, 606, 614, 669, 4370, 684, 4373, 4378, 721, 721,
875 1027, 1031, 727, 783, 4391, 7722, 781, 4394, 7722, 7722,
877 4403, 7722, 7722, 793, 4411, 784, 4414, 4417, 7722, 7722,
878 4426, 7722, 7722, 4434, 4437, 812, 807, 4440, 801, 4443,
879 4446, 4449, 4455, 1064, 999, 4465, 4474, 7722, 7722, 4469,
880 4482, 4488, 830, 4491, 4494, 4497, 4503, 845, 4506, 848,
881 4509, 862, 7722, 4512, 864, 4515, 7722, 4519, 7722, 7722,
882 905, 979, 994, 1007, 1023, 1025, 1037, 1075, 1083, 1088,
883 4530, 4534, 7722, 7722, 4542, 1056, 1070, 1076, 1101, 1133,
884 1114, 1138, 1097, 1110, 1124, 4545, 7722, 7722, 1118, 1131,
885 4553, 1135, 1128, 1138, 4556, 7722, 4559, 4562, 7722, 7722,
886 1137, 1136, 1193, 1226, 1206, 1228, 1190, 1196, 4577, 1197,
888 4580, 4583, 4589, 4592, 4595, 4604, 4613, 1196, 4616, 4619,
889 4622, 4625, 7722, 4631, 1430, 1459, 4635, 4651, 4654, 1186,
890 4657, 4660, 1216, 1228, 1218, 4663, 4666, 1240, 1255, 1252,
891 1268, 1256, 1276, 1272, 1293, 1318, 1306, 1323, 4674, 1295,
892 1297, 1301, 1360, 7722, 1367, 7722, 4677, 1312, 1357, 1358,
893 4681, 4686, 7722, 1352, 1367, 1362, 4695, 4699, 1375, 1373,
894 1377, 1435, 7722, 1439, 7722, 4707, 1410, 4713, 1430, 4716,
895 7722, 4719, 4725, 4737, 4740, 4743, 7722, 7722, 4751, 4759,
896 4769, 4772, 7722, 4775, 4778, 1474, 1523, 1535, 4781, 7722,
897 1437, 1439, 1440, 4791, 4805, 1526, 1582, 1433, 1470, 1522,
899 1528, 1532, 1551, 1546, 1555, 1584, 1593, 1607, 4800, 1568,
900 1551, 4813, 7722, 7722, 4819, 4822, 1552, 1565, 1572, 4831,
901 4837, 4845, 1575, 4849, 4852, 7722, 7722, 1576, 1585, 1583,
902 7722, 7722, 4863, 4867, 4875, 4881, 4884, 1646, 1647, 4893,
903 7722, 4899, 4902, 7722, 7722, 4912, 4918, 4926, 7722, 1694,
904 1795, 1877, 4787, 1590, 1592, 4930, 4933, 1606, 1637, 1646,
905 1661, 1631, 1666, 1657, 1683, 1687, 7722, 1709, 1695, 1694,
906 1698, 7722, 4941, 4948, 4951, 4954, 4963, 4972, 7722, 7722,
907 1694, 1685, 1697, 4980, 7722, 7722, 4991, 4996, 1703, 5004,
908 5009, 1712, 5017, 1732, 5022, 7722, 7722, 5030, 5035, 5043,
910 5048, 1748, 1755, 1755, 1758, 1759, 1760, 5056, 5061, 7722,
911 7722, 1780, 1793, 5069, 5075, 1731, 1736, 5078, 7722, 7722,
912 1782, 1772, 1790, 1783, 5089, 1795, 1831, 1850, 1835, 1821,
913 1838, 1855, 1843, 5092, 5095, 5098, 5107, 1816, 5116, 7722,
914 7722, 1817, 1817, 1807, 5124, 7722, 7722, 1809, 5133, 7722,
915 7722, 1829, 5102, 5141, 1839, 5149, 1877, 1953, 5157, 1955,
916 2016, 1874, 1888, 1917, 1883, 1895, 1921, 5165, 1923, 5168,
917 5171, 5174, 5193, 5196, 1911, 1936, 1941, 1955, 5199, 5202,
918 1967, 1973, 7722, 1977, 1979, 1996, 7722, 2008, 5210, 5213,
919 7722, 7722, 1995, 1997, 2001, 5221, 5224, 5229, 5232, 7722,
921 7722, 5242, 2023, 2034, 2031, 2041, 2034, 2066, 2079, 2088,
922 2083, 2091, 7722, 2086, 2097, 7722, 5247, 7722, 2121, 5250,
923 5253, 5262, 5282, 5327, 5274, 5277, 2107, 2128, 2110, 2131,
924 5302, 7722, 7722, 2165, 2151, 2153, 2177, 2164, 2183, 5293,
925 2167, 2168, 2187, 5318, 5347, 5321, 5355, 5363, 5371, 5366,
926 5384, 2231, 2207, 2237, 2215, 2263, 2250, 2283, 2257, 2290,
927 2294, 2292, 2298, 2296, 5392, 2362, 2374, 5412, 5457, 2295,
928 7722, 2300, 7722, 7722, 2311, 2313, 7722, 2327, 2349, 5402,
929 7722, 2311, 2320, 2304, 5432, 2402, 2474, 5440, 2567, 2599,
930 5477, 7722, 7722, 5485, 2608, 2621, 7722, 2386, 7722, 2387,
932 7722, 2395, 7722, 2394, 7722, 7722, 7722, 7722, 2449, 2673,
933 2451, 2408, 2592, 2413, 5405, 2410, 2423, 7722, 7722, 7722,
934 7722, 5448, 5451, 5493, 2491, 2417, 2561, 2419, 2429, 2464,
935 2454, 2472, 2660, 2497, 2716, 2546, 7722, 7722, 7722, 7722,
936 5496, 2571, 2557, 2572, 5501, 2599, 2598, 5504, 5511, 5507,
937 5525, 5534, 5537, 2575, 2597, 2610, 2595, 2621, 2632, 2626,
938 2650, 2644, 2658, 2645, 2660, 2672, 2663, 2675, 2685, 5545,
939 2694, 7722, 7722, 5552, 7722, 7722, 5560, 7722, 7722, 5568,
940 2706, 2751, 2684, 2709, 2705, 2714, 2725, 2725, 2731, 2743,
941 2752, 2748, 2751, 2758, 2767, 2770, 2775, 2772, 2793, 7722,
943 2788, 2783, 2792, 2794, 2795, 2800, 2809, 2825, 2832, 2838,
944 2840, 2844, 2847, 2847, 2846, 2851, 2864, 2863, 2868, 2869,
945 2881, 2859, 2876, 2862, 2894, 2884, 2883, 2898, 2890, 2887,
946 2906, 2893, 2923, 2910, 2926, 2918, 2915, 2931, 2929, 2927,
947 2942, 2954, 2937, 2940, 2951, 2952, 2971, 2964, 3001, 2983,
948 2975, 3016, 2992, 3022, 2996, 3023, 3025, 3023, 3055, 3037,
949 3029, 3060, 3070, 3042, 3046, 3062, 3067, 3088, 3066, 7722,
950 3091, 3087, 7722, 3088, 7722, 3095, 7722, 3123, 3100, 7722,
951 3123, 3116, 7722, 3133, 3114, 3125, 3119, 3138, 7722, 3147,
952 7722, 3160, 3161, 3169, 7722, 3173, 7722, 3178, 5576, 3180,
954 3201, 3189, 3208, 3176, 3181, 3186, 3194, 3195, 3200, 5581,
955 3238, 7722, 3236, 7722, 3241, 3240, 3260, 3258, 3268, 3268,
956 3259, 3264, 7722, 7722, 7722, 7722, 7722, 7722, 7722, 7722,
957 3298, 3336, 3285, 3297, 3280, 3361, 3343, 3365, 3344, 3374,
958 3435, 3443, 3420, 3515, 3452, 3477, 3513, 3536, 3537, 3559,
959 3378, 3290, 5589, 5595, 7722, 7722, 5615, 5624, 5633, 5642,
960 5651, 5660, 5669, 5678, 5687, 5696, 5705, 5714, 5723, 5732,
961 5741, 5750, 5759, 5768, 5777, 5786, 5795, 5804, 5813, 5822,
962 5831, 5840, 5849, 5858, 5867, 5876, 5885, 5894, 5903, 5912,
963 5921, 5930, 5939, 5948, 5957, 5966, 5975, 5982, 5989, 5996,
965 6003, 6010, 6017, 6024, 6031, 6038, 6045, 6052, 6059, 6066,
966 6073, 6080, 6087, 6094, 6101, 6110, 6117, 6122, 6129, 6134,
967 6141, 6146, 6153, 6158, 6165, 6170, 6175, 6182, 6187, 6194,
968 6199, 6206, 6211, 6218, 6223, 6230, 6235, 6242, 6247, 6254,
969 6259, 6266, 6271, 6278, 6283, 6290, 6295, 6302, 6307, 6314,
970 6319, 6328, 6334, 6341, 6349, 6356, 6364, 6371, 6379, 6386,
971 6394, 6401, 6409, 6416, 6424, 6431, 6439, 6446, 6454, 6461,
972 6469, 6476, 6484, 6492, 6500, 6508, 6516, 6523, 6531, 6539,
973 6547, 6554, 6562, 6569, 6577, 6585, 6592, 6600, 6609, 6615,
974 6622, 6630, 6638, 6646, 6653, 6661, 6668, 6676, 6683, 6691,
976 6698, 6706, 6713, 6721, 6728, 6736, 6743, 6751, 6758, 6766,
977 6773, 6781, 6788, 6796, 6803, 6811, 6818, 6826, 6833, 6841,
978 6848, 6856, 6864, 6871, 6879, 6888, 6897, 6904, 6912, 6919,
979 6927, 6934, 6942, 6949, 6957, 6964, 6971, 6979, 6986, 6994,
980 7002, 7010, 7017, 7025, 7032, 7040, 7047, 7055, 7062, 7070,
981 7077, 7085, 7092, 7100, 7107, 7115, 7123, 7131, 7139, 7147,
982 7155, 7164, 7173, 7180, 7188, 7195, 7203, 7210, 7218, 7225,
983 7233, 7240, 7247, 7255, 7262, 7270, 7278, 7286, 7293, 7301,
984 7308, 7316, 7323, 7331, 7339, 7347, 7354, 7362, 7370, 7378,
985 7385, 7393, 7401, 7409, 7417, 7426, 7435, 7443, 7451, 7458,
987 7466, 7473, 7481, 7489, 7497, 7505, 7512, 7519, 7527, 7534,
988 7541, 7549, 7556, 7563, 7571, 7578, 7586, 7593, 7601, 7609,
989 7616, 7624, 7632, 7640, 7649, 7658, 7667, 7676, 7685, 7694,
993 static yyconst flex_int16_t yy_def[2533] =
995 2257, 2257, 2258, 2258, 2258, 2258, 2259, 2259, 2260, 2260,
996 2261, 2261, 2262, 2262, 2262, 2262, 2263, 2263, 2257, 2257,
997 2264, 2264, 2265, 2265, 2265, 2265, 2265, 2265, 2257, 2257,
998 2265, 2265, 2257, 2257, 2265, 2265, 2265, 2265, 2266, 2266,
999 2262, 2262, 2267, 2267, 2268, 2268, 2257, 2257, 2268, 2268,
1000 2268, 2268, 2269, 2269, 2270, 2270, 2271, 2271, 2272, 2272,
1001 2272, 2272, 2257, 2257, 2272, 2272, 2272, 2272, 2257, 2257,
1002 2272, 2272, 2257, 2257, 2272, 2272, 2272, 2272, 2257, 2257,
1003 2272, 2272, 2257, 2257, 2272, 2272, 2272, 2272, 2273, 2273,
1004 2274, 2274, 2257, 2257, 2274, 2274, 2274, 2274, 2256, 99,
1006 2275, 2275, 2276, 2276, 2277, 2277, 2278, 2278, 2279, 2279,
1007 2280, 2280, 2281, 2281, 2257, 2257, 2281, 2281, 2281, 2281,
1008 2282, 2282, 2283, 2283, 2257, 2257, 2283, 2283, 2283, 2283,
1009 2284, 2284, 2285, 2285, 2257, 2257, 2285, 2285, 2285, 2285,
1010 2286, 2286, 2287, 2287, 2288, 2288, 2289, 2289, 2257, 2257,
1011 2289, 2289, 2289, 2289, 2290, 2290, 2291, 2291, 2257, 2257,
1012 2291, 2291, 2291, 2291, 2292, 2292, 2293, 2293, 2294, 2294,
1013 2295, 2295, 2257, 2257, 2295, 2295, 2295, 2295, 2296, 2296,
1014 2297, 2297, 2257, 2257, 2256, 2256, 2256, 2256, 2256, 2256,
1015 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256,
1017 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256,
1018 2256, 2256, 2256, 2256, 2256, 2298, 2256, 2256, 2298, 2256,
1019 2256, 2256, 222, 222, 222, 224, 224, 2256, 2256, 2256,
1020 2299, 2256, 2256, 2299, 2299, 2299, 2256, 2256, 2256, 2256,
1021 2256, 2300, 2256, 2256, 2300, 2300, 2300, 2300, 2256, 2256,
1022 224, 224, 224, 2256, 2256, 2256, 2301, 2256, 2256, 2301,
1023 2301, 2301, 2256, 2256, 2256, 2256, 2256, 2256, 2302, 2256,
1024 2256, 2302, 2302, 2256, 2256, 225, 225, 225, 276, 277,
1025 277, 277, 277, 283, 284, 283, 283, 2256, 2256, 2256,
1026 2303, 2256, 2256, 2303, 2303, 2303, 2303, 2303, 2256, 2256,
1028 224, 224, 2256, 2256, 2256, 2304, 2256, 2256, 2304, 2304,
1029 2304, 2304, 2304, 2304, 2304, 2304, 2256, 2256, 2256, 2256,
1030 2256, 2256, 2305, 2256, 2256, 2305, 2305, 2305, 2305, 2305,
1031 2305, 2256, 2256, 2256, 2256, 2256, 2256, 2306, 2256, 2256,
1032 2306, 2306, 2256, 2256, 2256, 2256, 2256, 2256, 2307, 2256,
1033 2256, 2307, 2307, 2307, 2307, 2256, 2256, 224, 224, 2256,
1034 2256, 2256, 2308, 2256, 2256, 2308, 2308, 2256, 2256, 224,
1035 370, 370, 2256, 2256, 2256, 2309, 2256, 2256, 2309, 2309,
1036 2309, 2256, 2256, 370, 370, 2256, 2256, 2256, 2310, 2256,
1037 2256, 2310, 2310, 2256, 2256, 2256, 2256, 2256, 2256, 2311,
1039 2256, 2256, 2311, 2311, 2311, 2256, 2256, 370, 370, 2256,
1040 2256, 2256, 2312, 2256, 2256, 2312, 2312, 2312, 2312, 2256,
1041 2256, 224, 422, 422, 2256, 2256, 2256, 2313, 2256, 2256,
1042 2313, 2256, 2256, 2256, 2256, 2256, 2256, 2314, 2256, 2256,
1043 2314, 2256, 2256, 422, 444, 444, 2256, 2256, 2256, 2315,
1044 2256, 2256, 2315, 2315, 2256, 2256, 2256, 2256, 2316, 2256,
1045 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256,
1046 2256, 2256, 2256, 2256, 2317, 2317, 2318, 2256, 2256, 2256,
1047 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256,
1048 2256, 2256, 2256, 2256, 2319, 2319, 2319, 2319, 2256, 2320,
1050 2256, 2256, 2321, 2321, 2321, 2321, 2321, 2321, 2321, 2322,
1051 2256, 2256, 2323, 2323, 2323, 2323, 2324, 2256, 2325, 2325,
1052 2325, 2326, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256,
1053 2256, 2303, 2303, 2303, 2303, 2303, 2303, 2327, 2256, 2328,
1054 2328, 2328, 2328, 2328, 2328, 2328, 2328, 2328, 2328, 2328,
1055 2328, 2328, 2329, 2256, 2330, 2330, 2330, 2330, 2330, 2330,
1056 2330, 2331, 2256, 2332, 2332, 2332, 2333, 2256, 2334, 2334,
1057 2334, 2334, 2334, 2334, 2335, 2256, 2336, 2336, 2336, 2336,
1058 2337, 2256, 2256, 2338, 2338, 2338, 2338, 2338, 2339, 2256,
1059 2340, 2340, 2340, 2341, 2256, 2342, 2342, 2342, 2342, 2343,
1061 2256, 2344, 2344, 2344, 2344, 2344, 2345, 2256, 2256, 2346,
1062 2346, 2347, 2256, 2348, 2348, 2349, 2256, 2256, 2350, 2350,
1063 2350, 2351, 2352, 2256, 2352, 2256, 2256, 2256, 2353, 2256,
1064 2256, 2256, 2256, 2256, 2256, 2256, 2354, 2355, 2355, 2256,
1065 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256,
1066 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2356, 2256,
1067 2256, 2356, 2256, 2357, 2357, 2256, 2358, 2256, 2256, 2358,
1068 2358, 2358, 2358, 2359, 2359, 2256, 2360, 2360, 2360, 2361,
1069 2361, 2256, 2256, 2362, 2363, 2363, 2256, 2256, 2256, 2256,
1070 2256, 2256, 2256, 2256, 2364, 2364, 2364, 2256, 2256, 2364,
1072 2364, 2365, 2365, 2366, 2366, 2256, 2256, 2366, 2256, 2256,
1073 2366, 2366, 2366, 2366, 2366, 2366, 2366, 2367, 2367, 2368,
1074 2368, 2256, 2256, 2368, 2368, 2368, 2369, 2369, 2370, 2256,
1075 2256, 2371, 2371, 2372, 2256, 2256, 2372, 2372, 2372, 2373,
1076 2373, 2374, 2374, 2374, 2375, 2375, 2256, 2376, 2376, 2376,
1077 2376, 2377, 2377, 2378, 2256, 2256, 2379, 2379, 2380, 2380,
1078 2380, 2381, 2381, 2382, 2382, 2382, 2382, 2383, 2383, 2256,
1079 2384, 2385, 2385, 2256, 2256, 2386, 2386, 2256, 2256, 2256,
1080 2387, 2388, 2388, 2389, 2256, 2256, 2389, 2256, 2256, 2390,
1081 2256, 2256, 2256, 2256, 2256, 2256, 2391, 2256, 2392, 2256,
1083 2392, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256,
1084 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256,
1085 2256, 2393, 2256, 2256, 2256, 2393, 2256, 2256, 2394, 2256,
1086 2394, 2395, 2256, 2256, 2256, 2256, 2256, 2395, 2256, 2256,
1087 2395, 2256, 2396, 2256, 2396, 2256, 2397, 2397, 2397, 2256,
1088 2398, 2256, 2398, 2256, 2256, 2256, 2399, 2256, 2400, 2256,
1089 2400, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2401, 2401,
1090 2401, 2256, 2256, 2256, 2401, 2401, 2256, 2402, 2256, 2402,
1091 2403, 2403, 2403, 2403, 2256, 2256, 2256, 2403, 2256, 2256,
1092 2256, 2256, 2256, 2403, 2403, 2403, 2403, 2403, 2403, 2256,
1094 2404, 2256, 2404, 2405, 2405, 2405, 2256, 2256, 2256, 2256,
1095 2256, 2405, 2405, 2256, 2406, 2256, 2406, 2407, 2256, 2256,
1096 2256, 2256, 2408, 2256, 2408, 2409, 2256, 2256, 2256, 2409,
1097 2409, 2409, 2256, 2410, 2256, 2410, 2256, 2256, 2256, 2256,
1098 2411, 2256, 2412, 2256, 2412, 2256, 2256, 2256, 2413, 2413,
1099 2256, 2256, 2413, 2256, 2414, 2256, 2414, 2415, 2256, 2256,
1100 2256, 2256, 2416, 2256, 2416, 2256, 2256, 2417, 2417, 2256,
1101 2256, 2256, 2418, 2256, 2418, 2419, 2419, 2419, 2419, 2256,
1102 2420, 2256, 2420, 2256, 2421, 2256, 2422, 2256, 2422, 2256,
1103 2256, 2256, 2256, 2423, 2256, 2423, 2256, 2256, 2256, 2256,
1105 2424, 2256, 2425, 2256, 2425, 2426, 2427, 2256, 2256, 2256,
1106 2256, 2256, 2428, 2429, 2256, 2256, 2256, 2256, 2256, 2256,
1107 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256,
1108 2256, 2256, 2256, 2256, 2256, 2430, 2256, 2431, 2432, 2256,
1109 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2432, 2433, 2256,
1110 2434, 2256, 2256, 2434, 2435, 2436, 2256, 2256, 2256, 2256,
1111 2256, 2256, 2256, 2256, 2256, 2437, 2437, 2256, 2256, 2437,
1112 2437, 2438, 2439, 2439, 2439, 2439, 2256, 2256, 2256, 2256,
1113 2256, 2439, 2439, 2439, 2439, 2439, 2439, 2440, 2441, 2441,
1114 2441, 2256, 2256, 2256, 2441, 2441, 2442, 2443, 2444, 2445,
1116 2445, 2445, 2445, 2446, 2256, 2256, 2256, 2256, 2256, 2256,
1117 2447, 2448, 2256, 2256, 2256, 2256, 2449, 2449, 2256, 2256,
1118 2256, 2449, 2450, 2451, 2452, 2256, 2256, 2256, 2453, 2453,
1119 2256, 2256, 2256, 2454, 2455, 2256, 2256, 2455, 2455, 2456,
1120 2256, 2457, 2458, 2459, 2256, 2460, 2461, 2462, 2463, 2463,
1121 2256, 2463, 2256, 2256, 2256, 2464, 2465, 2256, 2256, 2256,
1122 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256,
1123 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256,
1124 2466, 2256, 2467, 2468, 2256, 2256, 2256, 2468, 2469, 2256,
1125 2470, 2256, 2256, 2256, 2256, 2256, 2471, 2472, 2256, 2256,
1127 2256, 2256, 2256, 2256, 2256, 2473, 2473, 2256, 2256, 2256,
1128 2256, 2256, 2256, 2256, 2473, 2474, 2475, 2256, 2256, 2475,
1129 2475, 2256, 2256, 2256, 2256, 2256, 2475, 2475, 2475, 2475,
1130 2475, 2476, 2256, 2256, 2477, 2477, 2256, 2256, 2477, 2478,
1131 2479, 2480, 2481, 2481, 2481, 2256, 2256, 2481, 2482, 2483,
1132 2484, 2256, 2485, 2485, 2485, 2486, 2487, 2488, 2489, 2489,
1133 2490, 2491, 2256, 2256, 2256, 2491, 2491, 2492, 2256, 2256,
1134 2256, 2493, 2494, 2256, 2256, 2256, 2495, 2496, 2497, 2497,
1135 2256, 2256, 2498, 2499, 2256, 2256, 2256, 2256, 2256, 2256,
1136 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256,
1138 2256, 2256, 2500, 2256, 2501, 2502, 2502, 2503, 2504, 2256,
1139 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256,
1140 2505, 2506, 2256, 2256, 2256, 2256, 2507, 2507, 2256, 2256,
1141 2256, 2256, 2256, 2256, 2507, 2256, 2256, 2508, 2256, 2256,
1142 2256, 2256, 2256, 2508, 2256, 2256, 2256, 2256, 2256, 2508,
1143 2508, 2508, 2256, 2256, 2509, 2256, 2256, 2256, 2256, 2256,
1144 2510, 2256, 2256, 2256, 2510, 2256, 2256, 2511, 2512, 2513,
1145 2513, 2513, 2256, 2256, 2256, 2513, 2256, 2256, 2514, 2515,
1146 2256, 2256, 2256, 2256, 2256, 2516, 2517, 2518, 2519, 2256,
1147 2256, 2256, 2256, 2520, 2521, 2521, 2521, 2522, 2256, 2256,
1149 2256, 2256, 2523, 2524, 2256, 2256, 2256, 2256, 2256, 2256,
1150 2525, 2526, 2526, 2256, 2256, 2256, 2499, 2256, 2256, 2256,
1151 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256,
1152 2256, 2256, 2500, 2256, 2256, 2256, 2502, 2502, 2503, 2256,
1153 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256,
1154 2256, 2505, 2256, 2256, 2256, 2256, 2256, 2507, 2507, 2256,
1155 2256, 2507, 2508, 2256, 2256, 2256, 2508, 2256, 2256, 2256,
1156 2256, 2256, 2508, 2508, 2256, 2256, 2256, 2509, 2256, 2256,
1157 2256, 2510, 2510, 2511, 2512, 2513, 2256, 2256, 2513, 2513,
1158 2256, 2256, 2513, 2514, 2256, 2256, 2256, 2256, 2256, 2256,
1160 2256, 2256, 2256, 2516, 2517, 2518, 2519, 2256, 2256, 2256,
1161 2256, 2256, 2256, 2520, 2521, 2521, 2521, 2522, 2256, 2523,
1162 2524, 2256, 2525, 2526, 2526, 2256, 2256, 2256, 2256, 2499,
1163 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256,
1164 2256, 2500, 2256, 2502, 2502, 2256, 2256, 2256, 2256, 2256,
1165 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256,
1166 2505, 2256, 2256, 2256, 2256, 2256, 2507, 2507, 2256, 2256,
1167 2256, 2256, 2507, 2508, 2508, 2256, 2256, 2256, 2508, 2508,
1168 2509, 2510, 2510, 2511, 2256, 2256, 2513, 2256, 2256, 2256,
1169 2513, 2513, 2256, 2256, 2256, 2256, 2513, 2514, 2256, 2516,
1171 2517, 2518, 2519, 2520, 2256, 2256, 2521, 2521, 2522, 2256,
1172 2523, 2256, 2256, 2525, 2526, 2526, 2256, 2499, 2256, 2256,
1173 2256, 2256, 2256, 2256, 2500, 2256, 2256, 2502, 2256, 2256,
1174 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2505, 2256,
1175 2507, 2507, 2256, 2256, 2256, 2256, 2507, 2508, 2508, 2508,
1176 2508, 2256, 2256, 2510, 2510, 2511, 2256, 2256, 2513, 2513,
1177 2513, 2256, 2256, 2256, 2256, 2513, 2514, 2256, 2516, 2256,
1178 2256, 2256, 2256, 2519, 2520, 2256, 2256, 2256, 2256, 2256,
1179 2521, 2256, 2256, 2256, 2523, 2525, 2526, 2526, 2256, 2256,
1180 2256, 2256, 2256, 2500, 2256, 2256, 2256, 2502, 2256, 2256,
1182 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2505, 2256,
1183 2507, 2507, 2256, 2256, 2256, 2256, 2508, 2508, 2508, 2256,
1184 2256, 2510, 2510, 2511, 2256, 2256, 2256, 2513, 2513, 2513,
1185 2256, 2256, 2256, 2256, 2514, 2516, 2256, 2256, 2256, 2256,
1186 2256, 2520, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2525,
1187 2526, 2526, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256,
1188 2256, 2502, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256,
1189 2256, 2256, 2505, 2256, 2507, 2256, 2256, 2256, 2256, 2256,
1190 2508, 2508, 2508, 2256, 2256, 2256, 2256, 2256, 2510, 2256,
1191 2256, 2513, 2513, 2513, 2256, 2256, 2256, 2256, 2256, 2256,
1193 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2520, 2256, 2256,
1194 2256, 2525, 2526, 2526, 2256, 2256, 2256, 2256, 2256, 2256,
1195 2256, 2256, 2256, 2256, 2502, 2256, 2256, 2256, 2256, 2256,
1196 2256, 2256, 2256, 2505, 2256, 2256, 2256, 2507, 2256, 2256,
1197 2256, 2508, 2508, 2508, 2256, 2256, 2256, 2510, 2256, 2256,
1198 2256, 2513, 2256, 2256, 2513, 2256, 2256, 2256, 2256, 2256,
1199 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2520, 2525, 2526,
1200 2526, 2526, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256,
1201 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2505, 2256,
1202 2256, 2256, 2507, 2508, 2508, 2508, 2510, 2513, 2256, 2256,
1204 2256, 2513, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256,
1205 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2525, 2526,
1206 2526, 2526, 2527, 2528, 2256, 2256, 2256, 2256, 2256, 2256,
1207 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2505,
1208 2507, 2508, 2508, 2256, 2256, 2256, 2256, 2256, 2256, 2256,
1209 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256,
1210 2256, 2256, 2256, 2525, 2526, 2529, 2530, 2527, 2528, 2256,
1211 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256,
1212 2256, 2507, 2508, 2508, 2256, 2256, 2256, 2256, 2256, 2256,
1213 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256,
1215 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2525, 2529,
1216 2526, 2531, 2530, 2532, 2526, 2256, 2256, 2256, 2256, 2256,
1217 2256, 2507, 2508, 2508, 2256, 2256, 2256, 2256, 2256, 2256,
1218 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256,
1219 2525, 2531, 2256, 2532, 2526, 2256, 2256, 2256, 2256, 2256,
1220 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256,
1221 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2525,
1222 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256,
1223 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256,
1224 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2525, 2256,
1226 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256,
1227 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256,
1228 2525, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256,
1229 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256,
1230 2256, 2525, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256,
1231 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256,
1232 2256, 2256, 2525, 2256, 2256, 2256, 2256, 2256, 2256, 2256,
1233 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256,
1234 2256, 2256, 2256, 2525, 2256, 2256, 2256, 2256, 2256, 2256,
1235 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2525, 2256,
1237 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2525,
1238 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256,
1239 2525, 2525, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256,
1240 2525, 2525, 2525, 2525, 2525, 2525, 2525, 2525, 2525, 2525,
1241 2525, 2525, 2525, 2525, 2525, 2525, 2525, 2525, 2525, 2525,
1242 2525, 2525, 2525, 2525, 2256, 0, 2256, 2256, 2256, 2256,
1243 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256,
1244 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256,
1245 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256,
1246 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256,
1248 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256,
1249 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256,
1250 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256,
1251 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256,
1252 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256,
1253 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256,
1254 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256,
1255 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256,
1256 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256,
1257 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256,
1259 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256,
1260 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256,
1261 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256,
1262 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256,
1263 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256,
1264 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256,
1265 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256,
1266 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256,
1267 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256,
1268 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256,
1270 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256,
1271 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256,
1272 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256,
1276 static yyconst flex_int16_t yy_nxt[7793] =
1278 2256, 188, 189, 188, 188, 189, 188, 188, 189, 188,
1279 188, 189, 188, 193, 189, 193, 199, 190, 196, 199,
1280 190, 196, 2256, 191, 510, 197, 191, 624, 197, 194,
1281 193, 189, 193, 459, 200, 202, 203, 200, 202, 203,
1282 204, 205, 625, 204, 205, 459, 194, 209, 210, 460,
1283 206, 202, 203, 206, 207, 462, 204, 202, 203, 785,
1284 207, 461, 204, 209, 210, 1523, 206, 189, 189, 189,
1285 522, 461, 206, 511, 189, 189, 189, 221, 189, 221,
1286 221, 189, 221, 212, 221, 189, 221, 506, 462, 211,
1287 212, 507, 2256, 222, 1557, 508, 222, 458, 458, 458,
1289 223, 458, 458, 458, 461, 211, 213, 214, 189, 214,
1290 213, 213, 213, 213, 213, 213, 213, 215, 213, 213,
1291 213, 527, 213, 217, 213, 218, 213, 221, 189, 221,
1292 221, 189, 221, 482, 1558, 221, 189, 221, 189, 189,
1293 189, 511, 485, 223, 473, 485, 224, 491, 462, 213,
1294 213, 224, 510, 1559, 225, 189, 189, 189, 458, 458,
1295 458, 458, 458, 458, 461, 458, 458, 458, 458, 458,
1296 458, 225, 219, 213, 214, 189, 214, 213, 213, 213,
1297 213, 213, 213, 213, 215, 213, 213, 213, 538, 213,
1298 217, 213, 218, 213, 221, 189, 221, 221, 189, 221,
1300 785, 493, 189, 189, 189, 189, 189, 189, 547, 2256,
1301 223, 548, 579, 223, 542, 1411, 213, 213, 226, 580,
1302 462, 226, 221, 189, 221, 221, 189, 221, 221, 189,
1303 221, 221, 189, 221, 543, 2256, 461, 511, 224, 219,
1304 493, 224, 485, 624, 227, 480, 538, 227, 228, 229,
1305 189, 229, 228, 228, 228, 228, 228, 228, 228, 230,
1306 228, 228, 228, 2256, 228, 232, 228, 233, 228, 250,
1307 189, 250, 487, 488, 250, 189, 250, 663, 189, 189,
1308 189, 1560, 202, 203, 492, 251, 479, 204, 202, 203,
1309 251, 228, 228, 204, 252, 493, 573, 237, 630, 234,
1311 493, 631, 235, 237, 458, 458, 458, 574, 236, 228,
1312 229, 189, 229, 228, 228, 228, 228, 228, 228, 228,
1313 230, 228, 228, 228, 238, 228, 232, 228, 233, 228,
1314 238, 189, 189, 189, 250, 189, 250, 587, 250, 189,
1315 250, 250, 189, 250, 588, 462, 462, 252, 499, 462,
1316 251, 462, 228, 228, 251, 500, 517, 253, 1151, 1566,
1317 234, 461, 461, 235, 461, 461, 467, 461, 575, 236,
1318 239, 240, 189, 240, 239, 239, 239, 239, 239, 239,
1319 239, 241, 239, 239, 239, 488, 239, 243, 239, 244,
1320 239, 250, 189, 250, 264, 189, 264, 1412, 1444, 264,
1322 189, 264, 275, 189, 275, 1445, 468, 253, 550, 462,
1323 265, 480, 469, 239, 239, 265, 470, 511, 276, 551,
1324 552, 471, 245, 575, 246, 461, 529, 247, 458, 458,
1325 458, 589, 1567, 248, 239, 240, 189, 240, 239, 239,
1326 239, 239, 239, 239, 239, 241, 239, 239, 239, 650,
1327 239, 243, 239, 244, 239, 275, 189, 275, 275, 189,
1328 275, 785, 651, 275, 189, 275, 189, 189, 189, 1568,
1329 1573, 276, 493, 462, 277, 787, 483, 239, 239, 277,
1330 462, 600, 278, 458, 458, 458, 245, 553, 246, 461,
1331 904, 247, 458, 458, 458, 905, 461, 248, 254, 255,
1333 189, 255, 254, 254, 254, 254, 254, 254, 254, 256,
1334 254, 254, 254, 488, 254, 258, 254, 259, 254, 189,
1335 189, 189, 275, 189, 275, 1574, 483, 275, 189, 275,
1336 275, 189, 275, 643, 643, 278, 644, 653, 279, 462,
1337 489, 254, 254, 279, 462, 462, 280, 1449, 260, 458,
1338 458, 458, 490, 261, 1450, 461, 491, 458, 458, 458,
1339 461, 461, 262, 254, 255, 189, 255, 254, 254, 254,
1340 254, 254, 254, 254, 256, 254, 254, 254, 650, 254,
1341 258, 254, 259, 254, 275, 189, 275, 189, 189, 189,
1342 1575, 691, 189, 189, 189, 275, 189, 275, 655, 650,
1344 280, 653, 696, 281, 785, 697, 254, 254, 281, 462,
1345 462, 277, 693, 260, 458, 458, 458, 562, 261, 458,
1346 458, 458, 1148, 1579, 2256, 461, 461, 262, 266, 267,
1347 189, 267, 266, 266, 266, 266, 266, 266, 266, 268,
1348 266, 266, 266, 650, 266, 270, 266, 271, 266, 275,
1349 189, 275, 189, 189, 189, 1580, 694, 189, 189, 189,
1350 275, 189, 275, 785, 462, 277, 525, 1006, 282, 526,
1351 1582, 266, 266, 282, 1583, 530, 280, 458, 458, 458,
1352 461, 581, 272, 458, 458, 458, 458, 458, 458, 1151,
1353 273, 266, 267, 189, 267, 266, 266, 266, 266, 266,
1355 266, 266, 268, 266, 266, 266, 778, 266, 270, 266,
1356 271, 266, 275, 189, 275, 275, 189, 275, 1524, 651,
1357 275, 189, 275, 189, 189, 189, 582, 462, 280, 785,
1358 493, 283, 1151, 1584, 266, 266, 283, 1587, 462, 284,
1359 189, 189, 189, 461, 462, 272, 275, 189, 275, 275,
1360 189, 275, 1278, 273, 461, 1569, 284, 189, 189, 189,
1361 461, 1570, 285, 1413, 462, 285, 189, 189, 189, 275,
1362 189, 275, 1591, 286, 275, 189, 275, 275, 189, 275,
1363 461, 1592, 286, 1597, 462, 283, 275, 189, 275, 1024,
1364 283, 567, 1151, 287, 458, 458, 458, 458, 458, 458,
1366 461, 1025, 287, 288, 289, 189, 289, 288, 288, 288,
1367 288, 288, 288, 288, 290, 288, 288, 288, 1033, 288,
1368 292, 288, 293, 288, 300, 189, 300, 300, 189, 300,
1369 1025, 1598, 189, 189, 189, 1525, 189, 189, 189, 1599,
1370 301, 1600, 1602, 301, 647, 462, 288, 288, 252, 294,
1371 648, 295, 252, 458, 458, 458, 649, 296, 458, 458,
1372 458, 461, 1607, 297, 1608, 1610, 298, 288, 289, 189,
1373 289, 288, 288, 288, 288, 288, 288, 288, 290, 288,
1374 288, 288, 1033, 288, 292, 288, 293, 288, 300, 189,
1375 300, 300, 189, 300, 1050, 1620, 300, 189, 300, 1571,
1377 300, 189, 300, 1623, 301, 1572, 1624, 301, 656, 462,
1378 288, 288, 302, 294, 648, 295, 302, 458, 458, 458,
1379 649, 296, 458, 458, 458, 461, 1625, 297, 1628, 1629,
1380 298, 303, 304, 189, 304, 303, 303, 303, 303, 303,
1381 303, 303, 305, 303, 303, 303, 306, 303, 307, 303,
1382 308, 303, 306, 306, 306, 306, 306, 306, 306, 306,
1383 306, 306, 306, 306, 306, 306, 306, 306, 306, 306,
1384 306, 306, 306, 306, 303, 303, 306, 309, 310, 311,
1385 306, 306, 306, 306, 306, 312, 306, 313, 306, 306,
1386 306, 314, 306, 315, 316, 306, 306, 306, 306, 306,
1388 306, 318, 189, 318, 318, 189, 318, 458, 458, 458,
1389 458, 458, 458, 458, 458, 458, 1630, 319, 1151, 1631,
1390 319, 320, 321, 189, 321, 320, 320, 320, 320, 320,
1391 320, 320, 322, 320, 320, 320, 1632, 320, 324, 320,
1392 325, 320, 333, 189, 333, 333, 189, 333, 1633, 1634,
1393 344, 189, 344, 1593, 344, 189, 344, 1595, 334, 1594,
1394 462, 334, 1616, 1596, 320, 320, 345, 594, 326, 327,
1395 345, 458, 458, 458, 1635, 328, 461, 329, 458, 458,
1396 458, 330, 607, 1151, 331, 320, 321, 189, 321, 320,
1397 320, 320, 320, 320, 320, 320, 322, 320, 320, 320,
1399 1636, 320, 324, 320, 325, 320, 357, 189, 357, 357,
1400 189, 357, 1637, 1638, 189, 189, 189, 608, 189, 189,
1401 189, 1640, 358, 1615, 1641, 358, 1642, 1643, 320, 320,
1402 252, 511, 326, 327, 252, 458, 458, 458, 1644, 328,
1403 1645, 329, 458, 458, 458, 330, 1646, 1647, 331, 335,
1404 336, 189, 336, 335, 335, 335, 335, 335, 335, 335,
1405 337, 335, 335, 335, 1648, 335, 339, 335, 340, 335,
1406 357, 189, 357, 357, 189, 357, 1649, 1650, 357, 189,
1407 357, 1651, 357, 189, 357, 1654, 358, 1655, 1656, 358,
1408 647, 1660, 335, 335, 359, 1661, 648, 341, 359, 458,
1410 458, 458, 658, 342, 335, 336, 189, 336, 335, 335,
1411 335, 335, 335, 335, 335, 337, 335, 335, 335, 1662,
1412 335, 339, 335, 340, 335, 369, 189, 369, 369, 189,
1413 369, 1663, 1664, 189, 189, 189, 1665, 189, 189, 189,
1414 1666, 370, 1667, 1669, 370, 656, 1681, 335, 335, 371,
1415 1691, 648, 341, 371, 458, 458, 458, 658, 342, 346,
1416 347, 189, 347, 346, 346, 346, 346, 346, 346, 346,
1417 348, 346, 346, 346, 1692, 346, 350, 346, 351, 346,
1418 369, 189, 369, 369, 189, 369, 1693, 1694, 369, 189,
1419 369, 369, 189, 369, 1698, 1699, 370, 1700, 462, 370,
1421 1701, 1702, 346, 346, 372, 612, 352, 372, 458, 458,
1422 458, 1703, 1704, 353, 461, 354, 458, 458, 458, 458,
1423 458, 458, 355, 346, 347, 189, 347, 346, 346, 346,
1424 346, 346, 346, 346, 348, 346, 346, 346, 1705, 346,
1425 350, 346, 351, 346, 383, 189, 383, 383, 189, 383,
1426 1706, 1707, 189, 189, 189, 189, 189, 189, 1708, 1710,
1427 384, 1711, 462, 384, 1712, 1713, 346, 346, 371, 622,
1428 352, 371, 458, 458, 458, 1714, 1717, 353, 461, 354,
1429 458, 458, 458, 458, 458, 458, 355, 360, 361, 189,
1430 361, 360, 360, 360, 360, 360, 360, 360, 362, 360,
1432 360, 360, 1718, 360, 364, 360, 365, 360, 383, 189,
1433 383, 383, 189, 383, 1719, 1722, 383, 189, 383, 383,
1434 189, 383, 656, 1723, 384, 1724, 1728, 384, 648, 1729,
1435 360, 360, 385, 1730, 676, 385, 366, 458, 458, 458,
1436 1731, 628, 628, 628, 628, 628, 628, 1732, 789, 1151,
1437 367, 360, 361, 189, 361, 360, 360, 360, 360, 360,
1438 360, 360, 362, 360, 360, 360, 1735, 360, 364, 360,
1439 365, 360, 395, 189, 395, 395, 189, 395, 1151, 1687,
1440 407, 189, 407, 407, 189, 407, 1736, 1753, 396, 1754,
1441 1755, 396, 1762, 785, 360, 360, 408, 629, 1763, 408,
1443 366, 802, 802, 802, 817, 817, 817, 802, 802, 802,
1444 802, 802, 802, 1688, 367, 373, 374, 189, 374, 373,
1445 373, 373, 373, 373, 373, 373, 375, 373, 373, 373,
1446 1750, 373, 377, 373, 378, 373, 189, 189, 189, 189,
1447 189, 189, 1151, 1764, 407, 189, 407, 407, 189, 407,
1448 1758, 1765, 371, 1766, 1151, 371, 1767, 882, 373, 373,
1449 408, 1759, 803, 408, 379, 803, 883, 380, 823, 823,
1450 823, 862, 824, 884, 1768, 825, 1769, 1751, 381, 373,
1451 374, 189, 374, 373, 373, 373, 373, 373, 373, 373,
1452 375, 373, 373, 373, 1752, 373, 377, 373, 378, 373,
1454 407, 189, 407, 407, 189, 407, 1760, 1770, 421, 189,
1455 421, 421, 189, 421, 1771, 1772, 409, 1761, 1774, 409,
1456 1775, 1781, 373, 373, 422, 1782, 1783, 422, 379, 1789,
1457 1792, 380, 833, 833, 833, 1793, 834, 1794, 1816, 835,
1458 1817, 1821, 381, 386, 387, 189, 387, 386, 386, 386,
1459 386, 386, 386, 386, 388, 386, 386, 386, 1822, 386,
1460 390, 386, 391, 386, 189, 189, 189, 189, 189, 189,
1461 1802, 1805, 421, 189, 421, 421, 189, 421, 1803, 1806,
1462 423, 1823, 1824, 423, 1804, 1807, 386, 386, 422, 1825,
1463 1826, 422, 392, 817, 817, 817, 1827, 393, 386, 387,
1465 189, 387, 386, 386, 386, 386, 386, 386, 386, 388,
1466 386, 386, 386, 785, 386, 390, 386, 391, 386, 421,
1467 189, 421, 421, 189, 421, 1828, 1829, 433, 189, 433,
1468 433, 189, 433, 1830, 1831, 424, 1832, 1833, 424, 1842,
1469 1812, 386, 386, 434, 1843, 1844, 434, 392, 817, 817,
1470 817, 1848, 393, 397, 398, 189, 398, 397, 397, 397,
1471 397, 397, 397, 397, 399, 397, 397, 397, 1852, 397,
1472 401, 397, 402, 397, 443, 189, 443, 443, 189, 443,
1473 1855, 1862, 189, 189, 189, 189, 189, 189, 1863, 1864,
1474 444, 1865, 1866, 444, 1867, 1873, 397, 397, 252, 785,
1476 1874, 252, 403, 1875, 1876, 404, 854, 854, 854, 862,
1477 855, 1877, 1151, 856, 1151, 1878, 405, 397, 398, 189,
1478 398, 397, 397, 397, 397, 397, 397, 397, 399, 397,
1479 397, 397, 1881, 397, 401, 397, 402, 397, 443, 189,
1480 443, 443, 189, 443, 1869, 1870, 443, 189, 443, 443,
1481 189, 443, 1882, 1813, 445, 1883, 1884, 445, 1885, 1886,
1482 397, 397, 446, 1887, 1888, 446, 403, 1893, 1894, 404,
1483 872, 872, 872, 1895, 873, 616, 1896, 874, 1897, 1898,
1484 405, 410, 411, 189, 411, 410, 410, 410, 410, 410,
1485 410, 410, 412, 410, 410, 410, 1151, 410, 414, 410,
1487 415, 410, 456, 189, 456, 456, 189, 456, 1902, 1903,
1488 479, 660, 660, 660, 1911, 798, 798, 798, 457, 1904,
1489 1912, 457, 1913, 1914, 410, 410, 617, 1915, 661, 1916,
1490 522, 522, 416, 800, 417, 1814, 418, 1163, 1163, 1163,
1491 523, 528, 785, 1927, 419, 410, 411, 189, 411, 410,
1492 410, 410, 410, 410, 410, 410, 412, 410, 410, 410,
1493 1928, 410, 414, 410, 415, 410, 524, 524, 489, 668,
1494 668, 668, 525, 1929, 1919, 526, 682, 682, 682, 1930,
1495 493, 527, 698, 698, 698, 1905, 669, 1907, 410, 410,
1496 706, 706, 706, 683, 1934, 1906, 416, 1908, 417, 699,
1498 418, 1935, 1164, 1164, 1164, 1936, 1937, 707, 419, 425,
1499 426, 189, 426, 425, 425, 425, 425, 425, 425, 425,
1500 427, 425, 425, 425, 1938, 425, 429, 425, 430, 425,
1501 709, 709, 709, 722, 722, 722, 1939, 730, 730, 730,
1502 735, 735, 735, 755, 755, 755, 1165, 710, 1909, 1941,
1503 723, 1942, 425, 425, 731, 1943, 1952, 736, 1910, 1953,
1504 756, 885, 885, 885, 1954, 886, 1955, 1956, 887, 1166,
1505 1166, 1166, 1169, 1169, 1169, 431, 425, 426, 189, 426,
1506 425, 425, 425, 425, 425, 425, 425, 427, 425, 425,
1507 425, 1957, 425, 429, 425, 430, 425, 774, 774, 774,
1509 779, 779, 779, 798, 798, 798, 660, 660, 660, 828,
1510 828, 828, 1958, 1959, 775, 1960, 1961, 780, 1962, 425,
1511 425, 800, 1963, 661, 668, 668, 668, 830, 889, 889,
1512 889, 1970, 890, 1971, 1972, 891, 1175, 1175, 1175, 1973,
1513 785, 669, 431, 435, 436, 189, 436, 435, 435, 435,
1514 435, 435, 435, 435, 437, 435, 435, 435, 801, 435,
1515 439, 435, 440, 435, 828, 828, 828, 836, 836, 836,
1516 1974, 839, 839, 839, 842, 842, 842, 842, 842, 842,
1517 1964, 1975, 830, 1976, 837, 1977, 435, 435, 840, 907,
1518 907, 907, 844, 908, 1978, 844, 909, 441, 435, 436,
1520 189, 436, 435, 435, 435, 435, 435, 435, 435, 437,
1521 435, 435, 435, 1979, 435, 439, 435, 440, 435, 850,
1522 850, 850, 845, 1982, 1983, 831, 850, 850, 850, 682,
1523 682, 682, 858, 858, 858, 1984, 1997, 852, 1190, 1190,
1524 1190, 435, 435, 1998, 852, 1999, 683, 1201, 1201, 1201,
1525 860, 2000, 441, 447, 448, 189, 448, 447, 447, 447,
1526 447, 447, 447, 447, 449, 447, 447, 447, 2001, 447,
1527 451, 447, 452, 447, 858, 858, 858, 698, 698, 698,
1528 877, 877, 877, 877, 877, 877, 2002, 853, 706, 706,
1529 706, 2003, 860, 2004, 699, 2005, 447, 447, 879, 2006,
1531 2007, 879, 1163, 1163, 1163, 707, 2008, 453, 2016, 861,
1532 919, 919, 919, 2017, 920, 785, 2018, 921, 2019, 454,
1533 447, 448, 189, 448, 447, 447, 447, 447, 447, 447,
1534 447, 449, 447, 447, 447, 2020, 447, 451, 447, 452,
1535 447, 880, 709, 709, 709, 892, 892, 892, 900, 900,
1536 900, 900, 900, 900, 722, 722, 722, 2021, 2009, 710,
1537 1310, 2022, 893, 447, 447, 1311, 902, 2011, 1312, 902,
1538 2023, 723, 1313, 2024, 453, 910, 910, 910, 914, 914,
1539 914, 2012, 2011, 914, 914, 914, 454, 462, 730, 730,
1540 730, 2037, 911, 2014, 477, 2038, 916, 922, 922, 922,
1542 2039, 916, 2040, 461, 478, 731, 903, 922, 922, 922,
1543 735, 735, 735, 2043, 1314, 924, 927, 927, 927, 1315,
1544 928, 2043, 1316, 929, 2046, 924, 1317, 736, 2025, 479,
1545 480, 481, 917, 933, 933, 933, 482, 2047, 2026, 483,
1546 933, 933, 933, 484, 2056, 485, 2059, 486, 942, 942,
1547 942, 935, 937, 937, 937, 939, 939, 939, 935, 2256,
1548 2256, 2256, 942, 942, 942, 925, 944, 2060, 785, 938,
1549 1151, 1152, 940, 947, 947, 947, 2256, 2256, 2256, 2256,
1550 944, 951, 951, 951, 2256, 2256, 2256, 954, 954, 954,
1551 948, 2061, 2062, 936, 2256, 954, 954, 954, 952, 2063,
1553 2027, 2256, 755, 755, 755, 956, 2041, 959, 959, 959,
1554 2028, 960, 2054, 956, 961, 941, 962, 962, 962, 756,
1555 945, 966, 966, 966, 2066, 949, 962, 962, 962, 2055,
1556 957, 970, 970, 970, 964, 2256, 2256, 2256, 967, 950,
1557 953, 972, 972, 972, 964, 972, 972, 972, 971, 980,
1558 980, 980, 2256, 980, 980, 980, 986, 986, 986, 974,
1559 986, 986, 986, 974, 774, 774, 774, 982, 990, 990,
1560 990, 982, 991, 2069, 988, 992, 2043, 2071, 988, 965,
1561 2043, 775, 2057, 968, 993, 993, 993, 993, 993, 993,
1562 779, 779, 779, 2029, 998, 998, 998, 969, 999, 2058,
1564 2011, 1000, 995, 2030, 2072, 995, 2073, 780, 1002, 1002,
1565 1002, 2014, 2083, 975, 983, 1002, 1002, 1002, 798, 798,
1566 798, 989, 798, 798, 798, 2031, 1004, 2084, 798, 798,
1567 798, 2085, 2086, 1004, 2033, 2032, 800, 1034, 1034, 1034,
1568 800, 2256, 2256, 2256, 2034, 996, 800, 2035, 823, 823,
1569 823, 2087, 824, 2088, 1035, 825, 2089, 2036, 2256, 828,
1570 828, 828, 828, 828, 828, 828, 828, 828, 833, 833,
1571 833, 2090, 834, 1014, 2091, 835, 1005, 830, 2011, 2092,
1572 830, 2064, 2093, 830, 836, 836, 836, 1040, 1040, 1040,
1573 2094, 1041, 2012, 2095, 1042, 1043, 1043, 1043, 2065, 1036,
1575 2096, 837, 839, 839, 839, 2097, 2098, 1045, 1045, 1045,
1576 1038, 1046, 1044, 2100, 1047, 842, 842, 842, 2105, 840,
1577 842, 842, 842, 842, 842, 842, 1052, 1052, 1052, 850,
1578 850, 850, 2101, 844, 850, 850, 850, 2067, 844, 2106,
1579 2107, 844, 2102, 1053, 850, 850, 850, 852, 2108, 854,
1580 854, 854, 852, 855, 2068, 2109, 856, 858, 858, 858,
1581 2110, 2111, 852, 858, 858, 858, 1057, 1057, 1057, 1068,
1582 1068, 1068, 872, 872, 872, 860, 873, 2103, 2112, 874,
1583 1049, 860, 2113, 2114, 1058, 2115, 1069, 2104, 2116, 1055,
1584 877, 877, 877, 877, 877, 877, 877, 877, 877, 885,
1586 885, 885, 2117, 886, 2118, 2119, 887, 2120, 879, 2122,
1587 2123, 879, 785, 2124, 879, 1077, 1077, 1077, 889, 889,
1588 889, 2125, 890, 2126, 2127, 891, 892, 892, 892, 1079,
1589 1079, 1079, 1078, 1080, 2128, 2121, 1081, 900, 900, 900,
1590 1164, 1164, 1164, 893, 900, 900, 900, 900, 900, 900,
1591 907, 907, 907, 2129, 908, 902, 2130, 909, 1072, 910,
1592 910, 910, 902, 2131, 2132, 902, 1092, 1092, 1092, 2133,
1593 1093, 2134, 2135, 1094, 2136, 2137, 911, 914, 914, 914,
1594 914, 914, 914, 914, 914, 914, 919, 919, 919, 2138,
1595 920, 2139, 2140, 921, 2141, 916, 2143, 2144, 916, 2145,
1597 785, 916, 922, 922, 922, 922, 922, 922, 922, 922,
1598 922, 1088, 927, 927, 927, 2146, 928, 2142, 2147, 929,
1599 924, 2148, 2149, 924, 2150, 2151, 924, 933, 933, 933,
1600 2152, 2153, 1097, 933, 933, 933, 933, 933, 933, 937,
1601 937, 937, 1105, 1105, 1105, 935, 1106, 2154, 2155, 1107,
1602 2156, 935, 2157, 2158, 935, 2159, 938, 939, 939, 939,
1603 1108, 1108, 1108, 2160, 1109, 2161, 2162, 1110, 942, 942,
1604 942, 2164, 1099, 785, 940, 2165, 942, 942, 942, 942,
1605 942, 942, 947, 947, 947, 2166, 944, 2167, 1114, 1114,
1606 1114, 2163, 1115, 1104, 944, 1116, 2168, 944, 2169, 948,
1608 951, 951, 951, 1119, 1119, 1119, 2170, 1120, 2171, 2172,
1609 1121, 954, 954, 954, 954, 954, 954, 952, 954, 954,
1610 954, 959, 959, 959, 2173, 960, 2174, 2175, 961, 956,
1611 2176, 2177, 956, 962, 962, 962, 956, 962, 962, 962,
1612 962, 962, 962, 1112, 966, 966, 966, 970, 970, 970,
1613 2178, 964, 1126, 1126, 1126, 964, 1127, 2179, 964, 1128,
1614 2180, 967, 2181, 2182, 971, 1131, 1131, 1131, 2183, 1132,
1615 2185, 2186, 1133, 972, 972, 972, 972, 972, 972, 1123,
1616 972, 972, 972, 1136, 1136, 1136, 980, 980, 980, 785,
1617 2187, 974, 2188, 2189, 974, 2184, 2190, 1125, 974, 2191,
1619 1137, 980, 980, 980, 982, 980, 980, 980, 986, 986,
1620 986, 986, 986, 986, 986, 986, 986, 2192, 2193, 982,
1621 990, 990, 990, 982, 991, 2194, 988, 992, 2195, 988,
1622 2196, 2197, 988, 993, 993, 993, 993, 993, 993, 1134,
1623 993, 993, 993, 998, 998, 998, 2198, 999, 2200, 2201,
1624 1000, 995, 785, 2202, 995, 1002, 1002, 1002, 995, 1002,
1625 1002, 1002, 2203, 1140, 2199, 1143, 1002, 1002, 1002, 1150,
1626 1150, 1150, 2204, 1004, 798, 798, 798, 1004, 1034, 1034,
1627 1034, 828, 828, 828, 1004, 2205, 2206, 1151, 1152, 1178,
1628 1178, 1178, 800, 1179, 2207, 1035, 1180, 1144, 2208, 830,
1630 1040, 1040, 1040, 2209, 1041, 2211, 2212, 1042, 1043, 1043,
1631 1043, 1185, 1185, 1185, 2213, 1186, 2214, 2215, 1187, 1045,
1632 1045, 1045, 2216, 1046, 1147, 1044, 1047, 2217, 1183, 842,
1633 842, 842, 1052, 1052, 1052, 2218, 2219, 1157, 1192, 1192,
1634 1192, 2220, 1193, 2223, 2224, 1194, 2225, 844, 2226, 1053,
1635 1195, 1195, 1195, 850, 850, 850, 1057, 1057, 1057, 1202,
1636 1202, 1202, 1068, 1068, 1068, 2227, 2228, 1196, 1208, 1208,
1637 1208, 852, 1209, 2229, 1058, 1210, 2230, 1189, 785, 1069,
1638 1211, 1211, 1211, 785, 1213, 1213, 1213, 877, 877, 877,
1639 1218, 1218, 1218, 1077, 1077, 1077, 1556, 1212, 2253, 785,
1641 1197, 1214, 1555, 1165, 785, 879, 1554, 1219, 1553, 785,
1642 1078, 1222, 1222, 1222, 1552, 1223, 785, 785, 1224, 1079,
1643 1079, 1079, 2231, 1080, 1551, 1545, 1081, 2232, 1215, 1225,
1644 1225, 1225, 2237, 900, 900, 900, 1233, 1233, 1233, 2256,
1645 2256, 2256, 2235, 2256, 2256, 2256, 1226, 1164, 1164, 1164,
1646 1216, 902, 2233, 1234, 2236, 785, 2256, 1092, 1092, 1092,
1647 2256, 1093, 785, 785, 1094, 1237, 1237, 1237, 2256, 2256,
1648 2256, 914, 914, 914, 922, 922, 922, 1246, 1246, 1246,
1649 785, 1544, 1238, 2253, 785, 2256, 933, 933, 933, 916,
1650 2234, 1252, 924, 785, 1247, 1232, 1236, 785, 2241, 1105,
1652 1105, 1105, 1235, 1106, 935, 2239, 1107, 1108, 1108, 1108,
1653 1543, 1109, 1542, 2238, 1110, 942, 942, 942, 1166, 1166,
1654 1166, 1248, 1114, 1114, 1114, 1239, 1115, 2240, 2242, 1116,
1655 2245, 1540, 1240, 944, 1119, 1119, 1119, 1242, 1120, 785,
1656 1249, 1121, 954, 954, 954, 962, 962, 962, 1126, 1126,
1657 1126, 1538, 1127, 1536, 785, 1128, 1535, 1131, 1131, 1131,
1658 956, 1132, 785, 964, 1133, 972, 972, 972, 1136, 1136,
1659 1136, 785, 1263, 1263, 1263, 1533, 1264, 1532, 1251, 1265,
1660 980, 980, 980, 974, 2243, 1137, 1270, 1270, 1270, 986,
1661 986, 986, 2244, 993, 993, 993, 785, 1526, 982, 1258,
1663 1256, 2247, 1519, 1271, 1275, 1275, 1275, 988, 1517, 1516,
1664 1261, 995, 1002, 1002, 1002, 1150, 1150, 1150, 798, 798,
1665 798, 1276, 1169, 1169, 1169, 2246, 2248, 1268, 1515, 1506,
1666 1004, 1504, 785, 1151, 785, 1497, 800, 1294, 1294, 1294,
1667 1296, 1296, 1296, 1273, 1175, 1175, 1175, 1300, 1300, 1300,
1668 1178, 1178, 1178, 1272, 1179, 785, 785, 1180, 828, 828,
1669 828, 842, 842, 842, 1279, 1185, 1185, 1185, 1284, 1186,
1670 1494, 1277, 1187, 1190, 1190, 1190, 830, 2249, 785, 844,
1671 1280, 1192, 1192, 1192, 1297, 1193, 2251, 1493, 1194, 1492,
1672 1491, 1301, 1195, 1195, 1195, 1318, 1318, 1318, 1295, 1319,
1674 2250, 1490, 1320, 850, 850, 850, 1486, 1305, 2252, 1196,
1675 1201, 1201, 1201, 1202, 1202, 1202, 1325, 1325, 1325, 1308,
1676 1484, 852, 1325, 1325, 1325, 1294, 1294, 1294, 1208, 1208,
1677 1208, 1483, 1209, 1482, 1474, 1210, 1211, 1211, 1211, 1329,
1678 1329, 1329, 1473, 1330, 1467, 1463, 1331, 1213, 1213, 1213,
1679 1462, 1461, 1321, 1212, 1332, 1332, 1332, 1460, 1333, 1459,
1680 1458, 1334, 1456, 1455, 1214, 1451, 1336, 1336, 1336, 1448,
1681 1218, 1218, 1218, 1447, 1339, 1339, 1339, 1326, 1340, 1446,
1682 1443, 1341, 1442, 1295, 1337, 1438, 1326, 1219, 1342, 1342,
1683 1342, 1222, 1222, 1222, 1437, 1223, 1434, 1433, 1224, 1225,
1685 1225, 1225, 1345, 1345, 1345, 1343, 1346, 1432, 1431, 1347,
1686 1348, 1348, 1348, 1353, 1353, 1353, 1226, 900, 900, 900,
1687 1233, 1233, 1233, 1430, 1356, 1356, 1356, 1349, 1357, 1428,
1688 1354, 1358, 1359, 1359, 1359, 902, 1425, 1234, 2256, 2256,
1689 2256, 1237, 1237, 1237, 1362, 1362, 1362, 1424, 1363, 1360,
1690 1423, 1364, 2256, 2256, 2256, 2256, 1421, 1420, 1238, 1366,
1691 1366, 1366, 1419, 922, 922, 922, 1246, 1246, 1246, 2256,
1692 1418, 1373, 1373, 1373, 1414, 1374, 1405, 1367, 1375, 1399,
1693 1355, 924, 1397, 1247, 1377, 1377, 1377, 942, 942, 942,
1694 1382, 1382, 1382, 1396, 1395, 1361, 1384, 1384, 1384, 2256,
1696 2256, 2256, 1378, 1365, 1388, 944, 1381, 1383, 954, 954,
1697 954, 1379, 1369, 1385, 1376, 1372, 2256, 962, 962, 962,
1698 1390, 1390, 1390, 1392, 1392, 1392, 956, 972, 972, 972,
1699 980, 980, 980, 1371, 1370, 964, 1380, 1391, 1368, 1352,
1700 1393, 1351, 1263, 1263, 1263, 974, 1264, 1350, 982, 1265,
1701 1270, 1270, 1270, 1344, 1338, 1400, 1400, 1400, 1335, 1401,
1702 1386, 1389, 1402, 986, 986, 986, 1328, 1271, 993, 993,
1703 993, 1327, 1387, 1275, 1275, 1275, 1406, 1406, 1406, 1398,
1704 1407, 988, 1324, 1408, 1323, 1322, 995, 1309, 1307, 1394,
1705 1276, 1409, 1409, 1409, 1415, 1415, 1415, 798, 798, 798,
1707 1422, 1422, 1422, 1426, 1426, 1426, 1294, 1294, 1294, 1410,
1708 1306, 1416, 1427, 1427, 1427, 800, 1296, 1296, 1296, 1403,
1709 1304, 1404, 1429, 1429, 1429, 1300, 1300, 1300, 1435, 1435,
1710 1435, 842, 842, 842, 1440, 1440, 1440, 1318, 1318, 1318,
1711 1303, 1319, 1302, 1299, 1320, 1298, 1436, 1293, 1292, 844,
1712 1291, 1441, 850, 850, 850, 1417, 1453, 1453, 1453, 1325,
1713 1325, 1325, 1457, 1457, 1457, 1329, 1329, 1329, 1290, 1330,
1714 852, 1289, 1331, 1454, 1332, 1332, 1332, 1288, 1333, 1287,
1715 1286, 1334, 1336, 1336, 1336, 1285, 1283, 1439, 1339, 1339,
1716 1339, 1282, 1340, 1281, 1151, 1341, 1452, 1342, 1342, 1342,
1718 1337, 1464, 1464, 1464, 1274, 1465, 1269, 1267, 1466, 1345,
1719 1345, 1345, 1266, 1346, 1343, 1262, 1347, 1348, 1348, 1348,
1720 1468, 1468, 1468, 1260, 1469, 1259, 1257, 1470, 1471, 1471,
1721 1471, 1353, 1353, 1353, 1349, 1475, 1475, 1475, 1255, 1476,
1722 1254, 1253, 1477, 1250, 1245, 1472, 1244, 1243, 1354, 900,
1723 900, 900, 1356, 1356, 1356, 1241, 1357, 1231, 1230, 1358,
1724 1359, 1359, 1359, 1229, 1479, 1479, 1479, 902, 1480, 1228,
1725 1227, 1481, 1362, 1362, 1362, 1221, 1363, 1360, 1220, 1364,
1726 1217, 1366, 1366, 1366, 922, 922, 922, 1487, 1487, 1487,
1727 1373, 1373, 1373, 1207, 1374, 1206, 1205, 1375, 1478, 1367,
1729 1204, 1203, 924, 1200, 1488, 1377, 1377, 1377, 1495, 1495,
1730 1495, 1382, 1382, 1382, 1498, 1498, 1498, 1199, 1499, 1198,
1731 1191, 1500, 1188, 1378, 1184, 1182, 1496, 1181, 1383, 1177,
1732 1176, 1489, 1384, 1384, 1384, 1501, 1501, 1501, 1174, 1502,
1733 1173, 1172, 1503, 1171, 1170, 1485, 954, 954, 954, 1385,
1734 962, 962, 962, 1390, 1390, 1390, 1508, 1508, 1508, 1168,
1735 1509, 1167, 1162, 1510, 956, 1392, 1392, 1392, 964, 1161,
1736 1391, 1511, 1511, 1511, 1160, 1512, 1159, 1158, 1513, 1522,
1737 1522, 1522, 1393, 972, 972, 972, 980, 980, 980, 1400,
1738 1400, 1400, 1156, 1401, 1155, 1154, 1402, 1507, 986, 986,
1740 986, 974, 1153, 1146, 982, 993, 993, 993, 1145, 1505,
1741 1406, 1406, 1406, 1142, 1407, 1141, 988, 1408, 1409, 1409,
1742 1409, 1139, 1138, 995, 1415, 1415, 1415, 1527, 1527, 1527,
1743 1135, 1528, 1130, 1129, 1529, 1124, 1410, 798, 798, 798,
1744 1122, 1416, 1531, 1531, 1531, 1514, 1118, 1520, 1518, 1534,
1745 1534, 1534, 1422, 1422, 1422, 800, 1521, 1537, 1537, 1537,
1746 1426, 1426, 1426, 1427, 1427, 1427, 1429, 1429, 1429, 1539,
1747 1539, 1539, 1541, 1541, 1541, 1435, 1435, 1435, 1546, 1546,
1748 1546, 1117, 1440, 1440, 1440, 1548, 1548, 1548, 1113, 1549,
1749 1111, 1103, 1550, 1436, 1102, 1101, 1547, 1100, 1530, 1441,
1751 850, 850, 850, 1453, 1453, 1453, 1562, 1562, 1562, 1098,
1752 1563, 1096, 1095, 1564, 1565, 1565, 1565, 1091, 852, 1090,
1753 1454, 1457, 1457, 1457, 1464, 1464, 1464, 1089, 1465, 1087,
1754 1086, 1466, 1468, 1468, 1468, 1085, 1469, 1084, 1083, 1470,
1755 1471, 1471, 1471, 1082, 1576, 1576, 1576, 1561, 1577, 1076,
1756 1075, 1578, 1475, 1475, 1475, 1074, 1476, 1472, 1073, 1477,
1757 900, 900, 900, 1479, 1479, 1479, 1071, 1480, 1070, 1067,
1758 1481, 1585, 1585, 1585, 1487, 1487, 1487, 1066, 902, 1588,
1759 1588, 1588, 1065, 1589, 1064, 1063, 1590, 1062, 1061, 1586,
1760 1060, 1488, 1495, 1495, 1495, 1498, 1498, 1498, 1059, 1499,
1762 1056, 1054, 1500, 1051, 1501, 1501, 1501, 1048, 1502, 1039,
1763 1496, 1503, 954, 954, 954, 962, 962, 962, 1508, 1508,
1764 1508, 1581, 1509, 1037, 1032, 1510, 1031, 1511, 1511, 1511,
1765 956, 1512, 1030, 964, 1513, 972, 972, 972, 1605, 1605,
1766 1605, 980, 980, 980, 986, 986, 986, 1612, 1612, 1612,
1767 1522, 1522, 1522, 974, 1029, 1606, 1614, 1614, 1614, 982,
1768 1028, 1601, 988, 1027, 1026, 1613, 1617, 1617, 1617, 1604,
1769 798, 798, 798, 1023, 785, 1527, 1527, 1527, 1603, 1528,
1770 1022, 1021, 1529, 1531, 1531, 1531, 1020, 1019, 800, 1619,
1771 1619, 1619, 1534, 1534, 1534, 1621, 1621, 1621, 1622, 1622,
1773 1622, 1611, 1018, 1609, 1537, 1537, 1537, 1539, 1539, 1539,
1774 1541, 1541, 1541, 1626, 1626, 1626, 1546, 1546, 1546, 1017,
1775 1548, 1548, 1548, 1016, 1549, 1015, 1618, 1550, 1013, 1012,
1776 1627, 850, 850, 850, 1547, 1562, 1562, 1562, 1011, 1563,
1777 1010, 1009, 1564, 1565, 1565, 1565, 1576, 1576, 1576, 852,
1778 1577, 1008, 1007, 1578, 1652, 1652, 1652, 1585, 1585, 1585,
1779 1657, 1657, 1657, 1588, 1588, 1588, 785, 1589, 1001, 997,
1780 1590, 985, 1653, 984, 979, 1586, 978, 1658, 1668, 1668,
1781 1668, 1670, 1670, 1670, 1672, 1672, 1672, 977, 976, 1639,
1782 962, 962, 962, 972, 972, 972, 1605, 1605, 1605, 1671,
1784 958, 1673, 946, 932, 1659, 1676, 1676, 1676, 964, 1677,
1785 931, 974, 1678, 1606, 1679, 1679, 1679, 1682, 1682, 1682,
1786 1684, 1684, 1684, 986, 986, 986, 1612, 1612, 1612, 930,
1787 926, 1680, 1614, 1614, 1614, 1683, 1617, 1617, 1617, 918,
1788 913, 988, 912, 906, 1613, 899, 898, 1674, 897, 896,
1789 785, 1675, 1689, 1689, 1689, 1619, 1619, 1619, 1621, 1621,
1790 1621, 1622, 1622, 1622, 1626, 1626, 1626, 1695, 1695, 1695,
1791 1690, 1696, 895, 894, 1697, 850, 850, 850, 1715, 1715,
1792 1715, 1627, 1720, 1720, 1720, 888, 1685, 1652, 1652, 1652,
1793 881, 1686, 876, 852, 875, 1716, 1657, 1657, 1657, 1721,
1795 1725, 1725, 1725, 871, 1726, 1653, 870, 1727, 1733, 1733,
1796 1733, 869, 868, 1658, 1668, 1668, 1668, 1670, 1670, 1670,
1797 1672, 1672, 1672, 867, 866, 1734, 1737, 1737, 1737, 865,
1798 1738, 864, 1709, 1739, 863, 1671, 857, 1673, 1740, 1740,
1799 1740, 972, 972, 972, 1676, 1676, 1676, 849, 1677, 848,
1800 847, 1678, 1679, 1679, 1679, 846, 1741, 841, 838, 974,
1801 1743, 1743, 1743, 832, 1744, 827, 826, 1745, 822, 1680,
1802 1746, 1746, 1746, 1682, 1682, 1682, 1684, 1684, 1684, 1748,
1803 1748, 1748, 1689, 1689, 1689, 821, 820, 1747, 1815, 1815,
1804 1815, 1683, 1756, 1756, 1756, 819, 818, 1749, 816, 815,
1806 1690, 850, 850, 850, 814, 1742, 1695, 1695, 1695, 1757,
1807 1696, 813, 812, 1697, 1776, 1776, 1776, 811, 810, 852,
1808 1715, 1715, 1715, 1778, 1778, 1778, 809, 1779, 808, 807,
1809 1780, 1777, 1720, 1720, 1720, 806, 805, 1716, 1784, 1784,
1810 1784, 804, 1785, 797, 796, 1786, 1787, 1787, 1787, 1721,
1811 1790, 1790, 1790, 1725, 1725, 1725, 795, 1726, 1773, 794,
1812 1727, 793, 792, 1788, 1733, 1733, 1733, 1791, 1795, 1795,
1813 1795, 791, 1796, 788, 786, 1797, 1798, 1798, 1798, 785,
1814 783, 1734, 1800, 1800, 1800, 1737, 1737, 1737, 781, 1738,
1815 777, 773, 1739, 1799, 1740, 1740, 1740, 771, 770, 1801,
1817 972, 972, 972, 1743, 1743, 1743, 769, 1744, 767, 766,
1818 1745, 765, 1741, 1746, 1746, 1746, 764, 763, 974, 1809,
1819 1809, 1809, 761, 1810, 760, 759, 1811, 1748, 1748, 1748,
1820 1747, 1756, 1756, 1756, 1818, 1818, 1818, 758, 1819, 754,
1821 753, 1820, 850, 850, 850, 1749, 751, 750, 1757, 1835,
1822 1835, 1835, 1836, 1836, 1836, 1776, 1776, 1776, 749, 748,
1823 852, 747, 746, 1808, 1839, 1839, 1839, 744, 1840, 1837,
1824 743, 1841, 1777, 1778, 1778, 1778, 742, 1779, 741, 739,
1825 1780, 1784, 1784, 1784, 738, 1785, 737, 734, 1786, 733,
1826 729, 1834, 1787, 1787, 1787, 728, 1838, 1845, 1845, 1845,
1828 726, 1846, 725, 724, 1847, 1790, 1790, 1790, 721, 1788,
1829 1849, 1849, 1849, 720, 1850, 719, 717, 1851, 1853, 1853,
1830 1853, 716, 1791, 1795, 1795, 1795, 715, 1796, 714, 713,
1831 1797, 1798, 1798, 1798, 712, 1854, 1856, 1856, 1856, 711,
1832 1857, 708, 705, 1858, 1800, 1800, 1800, 704, 1799, 1859,
1833 1859, 1859, 703, 1860, 701, 700, 1861, 972, 972, 972,
1834 695, 1801, 1809, 1809, 1809, 692, 1810, 690, 689, 1811,
1835 1871, 1871, 1871, 688, 687, 974, 1815, 1815, 1815, 1818,
1836 1818, 1818, 686, 1819, 684, 681, 1820, 1872, 1151, 679,
1837 1879, 1879, 1879, 850, 850, 850, 1835, 1835, 1835, 1836,
1839 1836, 1836, 678, 1853, 1853, 1853, 1868, 1880, 1890, 1890,
1840 1890, 852, 1891, 677, 675, 1892, 1837, 1839, 1839, 1839,
1841 1854, 1840, 673, 672, 1841, 1845, 1845, 1845, 671, 1846,
1842 670, 667, 1847, 666, 1849, 1849, 1849, 665, 1850, 662,
1843 1889, 1851, 1899, 1899, 1899, 659, 1900, 657, 654, 1901,
1844 1856, 1856, 1856, 652, 1857, 646, 645, 1858, 1859, 1859,
1845 1859, 642, 1860, 641, 640, 1861, 1917, 1917, 1917, 1920,
1846 1920, 1920, 1871, 1871, 1871, 1922, 1922, 1922, 639, 1923,
1847 637, 636, 1924, 635, 1918, 634, 1921, 1151, 633, 1872,
1848 1151, 632, 627, 1151, 1925, 1925, 1925, 1926, 1926, 1926,
1850 1879, 1879, 1879, 1931, 1931, 1931, 624, 1932, 626, 621,
1851 1933, 850, 850, 850, 1890, 1890, 1890, 1880, 1891, 620,
1852 618, 1892, 1944, 1944, 1944, 1946, 1946, 1946, 485, 852,
1853 1948, 1948, 1948, 1899, 1899, 1899, 615, 1900, 613, 1945,
1854 1901, 611, 1947, 1950, 1950, 1950, 609, 1949, 1917, 1917,
1855 1917, 1920, 1920, 1920, 1965, 1965, 1965, 2256, 1966, 606,
1856 1951, 1967, 605, 1922, 1922, 1922, 1918, 1923, 1921, 1151,
1857 1924, 604, 1151, 603, 1940, 1925, 1925, 1925, 1926, 1926,
1858 1926, 1151, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149,
1859 1149, 601, 600, 1149, 1980, 1980, 1980, 599, 1149, 1149,
1861 1149, 1151, 1149, 1931, 1931, 1931, 598, 1932, 597, 595,
1862 1933, 593, 1981, 592, 590, 589, 586, 585, 583, 1944,
1863 1944, 1944, 1946, 1946, 1946, 1149, 1149, 1149, 1149, 1149,
1864 1149, 1149, 1149, 1149, 1149, 1149, 1945, 483, 1149, 1947,
1865 2256, 578, 576, 1149, 1149, 1149, 1151, 1149, 1985, 1985,
1866 1985, 572, 1986, 571, 570, 1987, 1988, 1988, 1988, 568,
1867 1989, 566, 565, 1990, 1948, 1948, 1948, 1950, 1950, 1950,
1868 1149, 1149, 1991, 1991, 1991, 563, 1992, 561, 560, 1993,
1869 559, 1949, 558, 557, 1951, 1994, 1994, 1994, 556, 1995,
1870 554, 549, 1996, 1965, 1965, 1965, 546, 1966, 545, 544,
1872 1967, 541, 539, 1980, 1980, 1980, 2045, 2045, 2045, 537,
1873 536, 1151, 1149, 1149, 1149, 1149, 1149, 2015, 1149, 1149,
1874 1149, 1981, 535, 1149, 1151, 1152, 534, 533, 1149, 1149,
1875 1149, 1151, 1149, 1985, 1985, 1985, 531, 1986, 2256, 488,
1876 1987, 1988, 1988, 1988, 526, 1989, 521, 520, 1990, 2048,
1877 2048, 2048, 2050, 2050, 2050, 1149, 1149, 1149, 1149, 1149,
1878 1149, 1149, 1149, 1149, 1149, 2015, 2049, 518, 1149, 2051,
1879 516, 515, 514, 1149, 1149, 1149, 1151, 1149, 1991, 1991,
1880 1991, 512, 1992, 509, 505, 1993, 1994, 1994, 1994, 504,
1881 1995, 502, 501, 1996, 2052, 2052, 2052, 2070, 2070, 2070,
1883 1149, 1149, 2045, 2045, 2045, 2048, 2048, 2048, 2050, 2050,
1884 2050, 2053, 2074, 2074, 2074, 785, 2075, 498, 497, 2076,
1885 1151, 496, 2049, 494, 493, 2051, 2077, 2077, 2077, 2256,
1886 2078, 487, 476, 2079, 474, 2052, 2052, 2052, 2080, 2080,
1887 2080, 472, 2081, 466, 465, 2082, 2070, 2070, 2070, 466,
1888 465, 1279, 2053, 2074, 2074, 2074, 464, 2075, 463, 2256,
1889 2076, 2077, 2077, 2077, 785, 2078, 2256, 2256, 2079, 2080,
1890 2080, 2080, 2256, 2081, 2256, 2256, 2082, 2210, 2210, 2210,
1891 2256, 2099, 2210, 2210, 2210, 2256, 2221, 2256, 2256, 2222,
1892 2254, 2254, 2254, 2256, 2256, 785, 2254, 2254, 2254, 2256,
1894 785, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2255, 2256,
1895 2256, 2256, 2256, 2256, 2255, 186, 186, 186, 186, 186,
1896 186, 186, 186, 186, 187, 187, 187, 187, 187, 187,
1897 187, 187, 187, 192, 192, 192, 192, 192, 192, 192,
1898 192, 192, 195, 195, 195, 195, 195, 195, 195, 195,
1899 195, 198, 198, 198, 198, 198, 198, 198, 198, 198,
1900 201, 201, 201, 201, 201, 201, 201, 201, 201, 208,
1901 208, 208, 208, 208, 208, 208, 208, 208, 216, 216,
1902 216, 216, 216, 216, 216, 216, 216, 220, 220, 220,
1903 220, 220, 220, 220, 220, 220, 231, 231, 231, 231,
1905 231, 231, 231, 231, 231, 242, 242, 242, 242, 242,
1906 242, 242, 242, 242, 249, 249, 249, 249, 249, 249,
1907 249, 249, 249, 257, 257, 257, 257, 257, 257, 257,
1908 257, 257, 263, 263, 263, 263, 263, 263, 263, 263,
1909 263, 269, 269, 269, 269, 269, 269, 269, 269, 269,
1910 274, 274, 274, 274, 274, 274, 274, 274, 274, 291,
1911 291, 291, 291, 291, 291, 291, 291, 291, 299, 299,
1912 299, 299, 299, 299, 299, 299, 299, 317, 317, 317,
1913 317, 317, 317, 317, 317, 317, 323, 323, 323, 323,
1914 323, 323, 323, 323, 323, 332, 332, 332, 332, 332,
1916 332, 332, 332, 332, 338, 338, 338, 338, 338, 338,
1917 338, 338, 338, 343, 343, 343, 343, 343, 343, 343,
1918 343, 343, 349, 349, 349, 349, 349, 349, 349, 349,
1919 349, 356, 356, 356, 356, 356, 356, 356, 356, 356,
1920 363, 363, 363, 363, 363, 363, 363, 363, 363, 368,
1921 368, 368, 368, 368, 368, 368, 368, 368, 376, 376,
1922 376, 376, 376, 376, 376, 376, 376, 382, 382, 382,
1923 382, 382, 382, 382, 382, 382, 389, 389, 389, 389,
1924 389, 389, 389, 389, 389, 394, 394, 394, 394, 394,
1925 394, 394, 394, 394, 400, 400, 400, 400, 400, 400,
1927 400, 400, 400, 406, 406, 406, 406, 406, 406, 406,
1928 406, 406, 413, 413, 413, 413, 413, 413, 413, 413,
1929 413, 420, 420, 420, 420, 420, 420, 420, 420, 420,
1930 428, 428, 428, 428, 428, 428, 428, 428, 428, 432,
1931 432, 432, 432, 432, 432, 432, 432, 432, 438, 438,
1932 438, 438, 438, 438, 438, 438, 438, 442, 442, 442,
1933 442, 442, 442, 442, 442, 442, 450, 450, 450, 450,
1934 450, 450, 450, 450, 450, 455, 455, 455, 455, 455,
1935 455, 455, 455, 455, 475, 475, 475, 2256, 2256, 2256,
1936 475, 495, 495, 495, 2256, 2256, 2256, 495, 503, 503,
1938 503, 2256, 2256, 2256, 503, 513, 513, 513, 2256, 2256,
1939 2256, 513, 519, 519, 519, 2256, 2256, 2256, 519, 532,
1940 532, 532, 2256, 2256, 2256, 532, 540, 540, 540, 2256,
1941 2256, 2256, 540, 555, 555, 555, 2256, 2256, 2256, 555,
1942 564, 564, 564, 2256, 2256, 2256, 564, 569, 569, 569,
1943 2256, 2256, 2256, 569, 577, 577, 577, 2256, 2256, 2256,
1944 577, 584, 584, 584, 2256, 2256, 2256, 584, 591, 591,
1945 591, 2256, 2256, 2256, 591, 596, 596, 596, 2256, 2256,
1946 2256, 596, 602, 602, 602, 2256, 2256, 2256, 602, 610,
1947 610, 610, 2256, 2256, 2256, 610, 614, 614, 614, 2256,
1949 2256, 2256, 614, 619, 619, 619, 2256, 2256, 2256, 619,
1950 623, 623, 623, 623, 623, 623, 623, 2256, 623, 475,
1951 475, 475, 2256, 2256, 2256, 475, 638, 2256, 2256, 2256,
1952 638, 495, 495, 495, 2256, 2256, 2256, 495, 664, 2256,
1953 2256, 2256, 664, 503, 503, 503, 2256, 2256, 2256, 503,
1954 674, 2256, 2256, 2256, 674, 513, 513, 513, 2256, 2256,
1955 2256, 513, 680, 2256, 2256, 2256, 680, 519, 519, 519,
1956 2256, 2256, 2256, 519, 685, 2256, 2256, 2256, 685, 702,
1957 2256, 2256, 2256, 702, 540, 540, 540, 2256, 2256, 2256,
1958 540, 718, 2256, 2256, 2256, 718, 555, 555, 555, 2256,
1960 2256, 2256, 555, 727, 2256, 2256, 2256, 727, 564, 564,
1961 564, 2256, 2256, 2256, 564, 732, 2256, 2256, 2256, 732,
1962 569, 569, 569, 2256, 2256, 2256, 569, 740, 2256, 2256,
1963 2256, 740, 577, 577, 577, 2256, 2256, 2256, 577, 745,
1964 2256, 2256, 2256, 745, 584, 584, 584, 2256, 2256, 2256,
1965 584, 752, 2256, 2256, 2256, 752, 591, 591, 591, 2256,
1966 2256, 2256, 591, 757, 2256, 2256, 2256, 757, 596, 596,
1967 596, 2256, 2256, 2256, 596, 762, 2256, 2256, 2256, 762,
1968 602, 602, 602, 2256, 2256, 2256, 602, 768, 2256, 2256,
1969 2256, 768, 610, 610, 610, 2256, 2256, 2256, 610, 772,
1971 2256, 2256, 2256, 772, 614, 614, 614, 2256, 2256, 2256,
1972 614, 776, 2256, 2256, 2256, 776, 619, 619, 619, 2256,
1973 2256, 2256, 619, 782, 2256, 2256, 2256, 782, 784, 784,
1974 784, 784, 784, 784, 784, 784, 784, 790, 2256, 2256,
1975 2256, 2256, 790, 475, 475, 475, 2256, 2256, 2256, 475,
1976 799, 799, 799, 799, 2256, 2256, 799, 799, 495, 495,
1977 495, 2256, 2256, 2256, 495, 829, 829, 829, 829, 2256,
1978 2256, 829, 829, 503, 503, 503, 2256, 2256, 2256, 503,
1979 843, 843, 843, 843, 2256, 2256, 843, 843, 513, 513,
1980 513, 2256, 2256, 2256, 513, 851, 851, 851, 851, 2256,
1982 2256, 851, 851, 519, 519, 519, 2256, 2256, 2256, 519,
1983 859, 859, 859, 859, 2256, 2256, 859, 859, 532, 532,
1984 532, 2256, 2256, 2256, 532, 878, 878, 878, 878, 2256,
1985 2256, 878, 878, 540, 540, 540, 2256, 2256, 2256, 540,
1986 901, 901, 901, 901, 2256, 2256, 901, 901, 555, 555,
1987 555, 2256, 2256, 2256, 555, 915, 915, 915, 915, 2256,
1988 2256, 915, 915, 564, 564, 564, 2256, 2256, 2256, 564,
1989 923, 923, 923, 923, 2256, 2256, 923, 923, 569, 569,
1990 569, 2256, 2256, 2256, 569, 934, 934, 934, 934, 2256,
1991 2256, 934, 934, 577, 577, 577, 577, 2256, 577, 2256,
1993 577, 943, 943, 943, 943, 2256, 2256, 943, 943, 584,
1994 584, 584, 584, 2256, 584, 2256, 584, 955, 955, 955,
1995 955, 2256, 2256, 955, 955, 591, 591, 591, 2256, 2256,
1996 2256, 591, 963, 963, 963, 963, 2256, 2256, 963, 963,
1997 596, 596, 596, 596, 2256, 596, 2256, 596, 973, 973,
1998 973, 973, 2256, 2256, 973, 973, 602, 602, 602, 2256,
1999 2256, 2256, 602, 981, 981, 981, 981, 2256, 2256, 981,
2000 981, 610, 610, 610, 2256, 2256, 2256, 610, 987, 987,
2001 987, 987, 2256, 2256, 987, 987, 994, 994, 994, 994,
2002 2256, 2256, 994, 994, 619, 619, 619, 2256, 2256, 2256,
2004 619, 1003, 1003, 1003, 1003, 2256, 2256, 1003, 1003, 784,
2005 784, 784, 784, 784, 784, 784, 784, 784, 790, 2256,
2006 790, 2256, 2256, 790, 475, 475, 475, 2256, 2256, 2256,
2007 475, 799, 799, 799, 799, 2256, 2256, 799, 799, 495,
2008 495, 495, 495, 2256, 495, 2256, 495, 829, 829, 829,
2009 829, 2256, 2256, 829, 829, 503, 503, 503, 2256, 2256,
2010 2256, 503, 843, 843, 843, 843, 2256, 2256, 843, 843,
2011 513, 513, 513, 2256, 2256, 2256, 513, 851, 851, 851,
2012 851, 2256, 2256, 851, 851, 519, 519, 519, 2256, 2256,
2013 2256, 519, 859, 859, 859, 859, 2256, 2256, 859, 859,
2015 532, 532, 532, 2256, 2256, 2256, 532, 878, 878, 878,
2016 878, 2256, 2256, 878, 878, 540, 540, 540, 2256, 2256,
2017 2256, 540, 901, 901, 901, 901, 2256, 2256, 901, 901,
2018 555, 555, 555, 2256, 2256, 2256, 555, 915, 915, 915,
2019 915, 2256, 2256, 915, 915, 564, 564, 564, 2256, 2256,
2020 2256, 564, 923, 923, 923, 923, 2256, 2256, 923, 923,
2021 569, 569, 569, 2256, 2256, 2256, 569, 934, 934, 934,
2022 934, 2256, 2256, 934, 934, 577, 577, 577, 2256, 2256,
2023 2256, 577, 943, 943, 943, 943, 2256, 2256, 943, 943,
2024 584, 584, 584, 2256, 2256, 2256, 584, 955, 955, 955,
2026 955, 2256, 2256, 955, 955, 591, 591, 591, 2256, 2256,
2027 2256, 591, 963, 963, 963, 963, 2256, 2256, 963, 963,
2028 596, 596, 596, 2256, 2256, 2256, 596, 973, 973, 973,
2029 973, 2256, 2256, 973, 973, 602, 602, 602, 2256, 2256,
2030 2256, 602, 981, 981, 981, 981, 2256, 2256, 981, 981,
2031 610, 610, 610, 2256, 2256, 2256, 610, 987, 987, 987,
2032 987, 2256, 2256, 987, 987, 994, 994, 994, 994, 2256,
2033 2256, 994, 994, 619, 619, 619, 2256, 2256, 2256, 619,
2034 1003, 1003, 1003, 1003, 2256, 2256, 1003, 1003, 784, 784,
2035 784, 784, 784, 784, 784, 784, 784, 1149, 1149, 1149,
2037 1149, 1149, 1149, 1149, 1149, 1149, 475, 475, 475, 2256,
2038 2256, 2256, 475, 799, 799, 799, 799, 2256, 2256, 799,
2039 799, 495, 495, 495, 2256, 2256, 2256, 495, 829, 829,
2040 829, 829, 2256, 2256, 829, 829, 503, 503, 503, 2256,
2041 2256, 2256, 503, 843, 843, 843, 843, 2256, 2256, 843,
2042 843, 513, 513, 513, 2256, 2256, 2256, 513, 851, 851,
2043 851, 851, 2256, 2256, 851, 851, 519, 519, 519, 2256,
2044 2256, 2256, 519, 532, 532, 532, 2256, 2256, 2256, 532,
2045 878, 878, 878, 878, 2256, 2256, 878, 878, 540, 540,
2046 540, 2256, 2256, 2256, 540, 901, 901, 901, 901, 2256,
2048 2256, 901, 901, 555, 555, 555, 555, 2256, 555, 2256,
2049 555, 915, 915, 915, 915, 2256, 2256, 915, 915, 564,
2050 564, 564, 2256, 2256, 2256, 564, 923, 923, 923, 923,
2051 2256, 2256, 923, 923, 569, 569, 569, 2256, 2256, 2256,
2052 569, 934, 934, 934, 934, 2256, 2256, 934, 934, 577,
2053 577, 577, 2256, 2256, 2256, 577, 943, 943, 943, 943,
2054 2256, 2256, 943, 943, 584, 584, 584, 2256, 2256, 2256,
2055 584, 955, 955, 955, 955, 2256, 2256, 955, 955, 591,
2056 591, 591, 2256, 2256, 2256, 591, 963, 963, 963, 963,
2057 2256, 2256, 963, 963, 596, 596, 596, 2256, 2256, 2256,
2059 596, 973, 973, 973, 973, 2256, 2256, 973, 973, 602,
2060 602, 602, 2256, 2256, 2256, 602, 981, 981, 981, 981,
2061 2256, 2256, 981, 981, 610, 610, 610, 610, 2256, 610,
2062 2256, 610, 987, 987, 987, 987, 2256, 2256, 987, 987,
2063 994, 994, 994, 994, 2256, 2256, 994, 994, 619, 619,
2064 619, 619, 2256, 619, 2256, 619, 1003, 1003, 1003, 1003,
2065 2256, 2256, 1003, 1003, 784, 784, 784, 784, 784, 784,
2066 784, 784, 784, 1149, 1149, 1149, 1149, 1149, 1149, 1149,
2067 1149, 1149, 475, 475, 475, 2256, 2256, 2256, 475, 799,
2068 799, 799, 799, 2256, 2256, 799, 799, 495, 495, 495,
2070 2256, 2256, 2256, 495, 829, 829, 829, 829, 2256, 2256,
2071 829, 829, 503, 503, 503, 2256, 2256, 2256, 503, 843,
2072 843, 843, 843, 2256, 2256, 843, 843, 513, 513, 513,
2073 2256, 2256, 2256, 513, 851, 851, 851, 851, 2256, 2256,
2074 851, 851, 519, 519, 519, 2256, 2256, 2256, 519, 532,
2075 532, 532, 2256, 2256, 2256, 532, 878, 878, 878, 878,
2076 2256, 2256, 878, 878, 540, 540, 540, 2256, 2256, 2256,
2077 540, 901, 901, 901, 901, 2256, 2256, 901, 901, 555,
2078 555, 555, 555, 2256, 555, 2256, 555, 915, 915, 915,
2079 915, 2256, 2256, 915, 915, 564, 564, 564, 2256, 2256,
2081 2256, 564, 923, 923, 923, 923, 2256, 2256, 923, 923,
2082 569, 569, 569, 2256, 2256, 2256, 569, 934, 934, 934,
2083 934, 2256, 2256, 934, 934, 577, 577, 577, 2256, 2256,
2084 2256, 577, 943, 943, 943, 943, 2256, 2256, 943, 943,
2085 584, 584, 584, 584, 2256, 584, 2256, 584, 955, 955,
2086 955, 955, 2256, 2256, 955, 955, 591, 591, 591, 2256,
2087 2256, 2256, 591, 963, 963, 963, 963, 2256, 2256, 963,
2088 963, 596, 596, 596, 596, 2256, 596, 2256, 596, 973,
2089 973, 973, 973, 2256, 2256, 973, 973, 602, 602, 602,
2090 2256, 2256, 2256, 602, 981, 981, 981, 981, 2256, 2256,
2092 981, 981, 987, 987, 987, 987, 2256, 2256, 987, 987,
2093 994, 994, 994, 994, 2256, 2256, 994, 994, 1003, 1003,
2094 1003, 1003, 2256, 2256, 1003, 1003, 784, 784, 784, 784,
2095 784, 784, 784, 784, 784, 1149, 1149, 1149, 1149, 1149,
2096 1149, 1149, 1149, 1149, 475, 475, 475, 475, 2256, 475,
2097 2256, 475, 799, 799, 799, 799, 2256, 2256, 799, 799,
2098 495, 495, 495, 2256, 2256, 2256, 495, 829, 829, 829,
2099 829, 2256, 2256, 829, 829, 503, 503, 503, 2256, 2256,
2100 2256, 503, 843, 843, 843, 843, 2256, 2256, 843, 843,
2101 513, 513, 513, 513, 2256, 513, 2256, 513, 851, 851,
2103 851, 851, 2256, 2256, 851, 851, 519, 519, 519, 519,
2104 2256, 519, 2256, 519, 532, 532, 532, 2256, 2256, 2256,
2105 532, 540, 540, 540, 2256, 2256, 2256, 540, 901, 901,
2106 901, 901, 2256, 2256, 901, 901, 555, 555, 555, 2256,
2107 2256, 2256, 555, 564, 564, 564, 2256, 2256, 2256, 564,
2108 923, 923, 923, 923, 2256, 2256, 923, 923, 569, 569,
2109 569, 2256, 2256, 2256, 569, 577, 577, 577, 2256, 2256,
2110 2256, 577, 943, 943, 943, 943, 2256, 2256, 943, 943,
2111 584, 584, 584, 2256, 2256, 2256, 584, 955, 955, 955,
2112 955, 2256, 2256, 955, 955, 591, 591, 591, 2256, 2256,
2114 2256, 591, 963, 963, 963, 963, 2256, 2256, 963, 963,
2115 973, 973, 973, 973, 2256, 2256, 973, 973, 602, 602,
2116 602, 2256, 2256, 2256, 602, 981, 981, 981, 981, 2256,
2117 2256, 981, 981, 987, 987, 987, 987, 2256, 2256, 987,
2118 987, 994, 994, 994, 994, 2256, 2256, 994, 994, 784,
2119 784, 784, 784, 784, 784, 784, 784, 784, 1149, 1149,
2120 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1968, 1968, 1968,
2121 1968, 1968, 1968, 1968, 1968, 1968, 1969, 1969, 1969, 1969,
2122 1969, 1969, 1969, 1969, 1969, 2010, 2010, 2010, 2010, 2010,
2123 2010, 2010, 2010, 2010, 2013, 2013, 2013, 2013, 2013, 2013,
2125 2013, 2013, 2013, 2042, 2042, 2042, 2042, 2042, 2042, 2042,
2126 2042, 2042, 2044, 2044, 2044, 2044, 2044, 2044, 2044, 2044,
2127 2044, 185, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256,
2128 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256,
2129 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256,
2130 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256,
2131 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256,
2132 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256,
2133 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256,
2138 static yyconst flex_int16_t yy_chk[7793] =
2140 0, 3, 3, 3, 4, 4, 4, 5, 5, 5,
2141 6, 6, 6, 7, 7, 7, 11, 3, 9, 12,
2142 4, 10, 0, 5, 251, 9, 6, 459, 10, 7,
2143 8, 8, 8, 190, 11, 13, 13, 12, 14, 14,
2144 13, 13, 459, 14, 14, 191, 8, 17, 17, 190,
2145 13, 15, 15, 14, 15, 194, 15, 16, 16, 1411,
2146 16, 191, 16, 18, 18, 1411, 15, 19, 19, 19,
2147 285, 194, 16, 251, 20, 20, 20, 23, 23, 23,
2148 24, 24, 24, 19, 25, 25, 25, 247, 212, 17,
2149 20, 247, 252, 23, 1448, 247, 24, 188, 188, 188,
2151 25, 189, 189, 189, 212, 18, 21, 21, 21, 21,
2152 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
2153 21, 285, 21, 21, 21, 21, 21, 26, 26, 26,
2154 27, 27, 27, 279, 1449, 28, 28, 28, 29, 29,
2155 29, 252, 279, 26, 212, 287, 27, 287, 217, 21,
2156 21, 28, 253, 1450, 29, 30, 30, 30, 193, 193,
2157 193, 214, 214, 214, 217, 221, 221, 221, 229, 229,
2158 229, 30, 21, 22, 22, 22, 22, 22, 22, 22,
2159 22, 22, 22, 22, 22, 22, 22, 22, 301, 22,
2160 22, 22, 22, 22, 31, 31, 31, 32, 32, 32,
2162 1278, 253, 33, 33, 33, 34, 34, 34, 314, 281,
2163 31, 314, 367, 32, 310, 1278, 22, 22, 33, 367,
2164 232, 34, 35, 35, 35, 36, 36, 36, 37, 37,
2165 37, 38, 38, 38, 310, 225, 232, 301, 35, 22,
2166 446, 36, 446, 499, 37, 281, 302, 38, 39, 39,
2167 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
2168 39, 39, 39, 282, 39, 39, 39, 39, 39, 45,
2169 45, 45, 225, 282, 46, 46, 46, 499, 47, 47,
2170 47, 1451, 41, 41, 225, 45, 424, 41, 42, 42,
2171 46, 39, 39, 42, 47, 302, 355, 41, 468, 39,
2173 424, 468, 39, 42, 240, 240, 240, 355, 39, 40,
2174 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
2175 40, 40, 40, 40, 41, 40, 40, 40, 40, 40,
2176 42, 48, 48, 48, 49, 49, 49, 381, 50, 50,
2177 50, 51, 51, 51, 381, 243, 258, 48, 237, 265,
2178 49, 270, 40, 40, 50, 237, 265, 51, 1279, 1456,
2179 40, 243, 258, 40, 237, 265, 204, 270, 358, 40,
2180 43, 43, 43, 43, 43, 43, 43, 43, 43, 43,
2181 43, 43, 43, 43, 43, 283, 43, 43, 43, 43,
2182 43, 52, 52, 52, 55, 55, 55, 1279, 1312, 56,
2184 56, 56, 59, 59, 59, 1312, 204, 52, 316, 292,
2185 55, 283, 204, 43, 43, 56, 204, 358, 59, 316,
2186 316, 204, 43, 359, 43, 292, 283, 43, 250, 250,
2187 250, 385, 1458, 43, 44, 44, 44, 44, 44, 44,
2188 44, 44, 44, 44, 44, 44, 44, 44, 44, 485,
2189 44, 44, 44, 44, 44, 60, 60, 60, 61, 61,
2190 61, 625, 485, 62, 62, 62, 63, 63, 63, 1459,
2191 1462, 60, 359, 307, 61, 625, 385, 44, 44, 62,
2192 319, 409, 63, 255, 255, 255, 44, 319, 44, 307,
2193 720, 44, 264, 264, 264, 720, 319, 44, 53, 53,
2195 53, 53, 53, 53, 53, 53, 53, 53, 53, 53,
2196 53, 53, 53, 224, 53, 53, 53, 53, 53, 64,
2197 64, 64, 65, 65, 65, 1463, 409, 66, 66, 66,
2198 67, 67, 67, 481, 487, 64, 481, 487, 65, 324,
2199 224, 53, 53, 66, 339, 350, 67, 1316, 53, 267,
2200 267, 267, 224, 53, 1316, 324, 224, 275, 275, 275,
2201 339, 350, 53, 54, 54, 54, 54, 54, 54, 54,
2202 54, 54, 54, 54, 54, 54, 54, 54, 527, 54,
2203 54, 54, 54, 54, 68, 68, 68, 69, 69, 69,
2204 1467, 527, 70, 70, 70, 71, 71, 71, 489, 529,
2206 68, 489, 534, 69, 1006, 534, 54, 54, 70, 364,
2207 334, 71, 529, 54, 289, 289, 289, 334, 54, 300,
2208 300, 300, 1006, 1473, 284, 364, 334, 54, 57, 57,
2209 57, 57, 57, 57, 57, 57, 57, 57, 57, 57,
2210 57, 57, 57, 530, 57, 57, 57, 57, 57, 72,
2211 72, 72, 73, 73, 73, 1474, 530, 74, 74, 74,
2212 75, 75, 75, 787, 377, 72, 284, 787, 73, 284,
2213 1482, 57, 57, 74, 1483, 284, 75, 304, 304, 304,
2214 377, 370, 57, 318, 318, 318, 321, 321, 321, 1412,
2215 57, 58, 58, 58, 58, 58, 58, 58, 58, 58,
2217 58, 58, 58, 58, 58, 58, 617, 58, 58, 58,
2218 58, 58, 76, 76, 76, 77, 77, 77, 1412, 617,
2219 78, 78, 78, 79, 79, 79, 370, 390, 76, 1148,
2220 370, 77, 1280, 1484, 58, 58, 78, 1486, 401, 79,
2221 80, 80, 80, 390, 414, 58, 81, 81, 81, 82,
2222 82, 82, 1148, 58, 401, 1460, 80, 83, 83, 83,
2223 414, 1460, 81, 1280, 429, 82, 84, 84, 84, 85,
2224 85, 85, 1489, 83, 86, 86, 86, 87, 87, 87,
2225 429, 1490, 84, 1493, 345, 85, 88, 88, 88, 812,
2226 86, 345, 1413, 87, 333, 333, 333, 336, 336, 336,
2228 345, 812, 88, 89, 89, 89, 89, 89, 89, 89,
2229 89, 89, 89, 89, 89, 89, 89, 89, 821, 89,
2230 89, 89, 89, 89, 91, 91, 91, 92, 92, 92,
2231 821, 1494, 93, 93, 93, 1413, 94, 94, 94, 1497,
2232 91, 1504, 1506, 92, 484, 439, 89, 89, 93, 89,
2233 484, 89, 94, 344, 344, 344, 484, 89, 347, 347,
2234 347, 439, 1516, 89, 1517, 1519, 89, 90, 90, 90,
2235 90, 90, 90, 90, 90, 90, 90, 90, 90, 90,
2236 90, 90, 846, 90, 90, 90, 90, 90, 95, 95,
2237 95, 96, 96, 96, 846, 1533, 97, 97, 97, 1461,
2239 98, 98, 98, 1538, 95, 1461, 1540, 96, 490, 451,
2240 90, 90, 97, 90, 490, 90, 98, 357, 357, 357,
2241 490, 90, 361, 361, 361, 451, 1542, 90, 1545, 1551,
2242 90, 99, 99, 99, 99, 99, 99, 99, 99, 99,
2243 99, 99, 99, 99, 99, 99, 99, 99, 99, 99,
2244 99, 99, 99, 99, 99, 99, 99, 99, 99, 99,
2245 99, 99, 99, 99, 99, 99, 99, 99, 99, 99,
2246 99, 99, 99, 99, 99, 99, 99, 99, 99, 99,
2247 99, 99, 99, 99, 99, 99, 99, 99, 99, 99,
2248 99, 99, 99, 99, 99, 99, 99, 99, 99, 99,
2250 99, 101, 101, 101, 102, 102, 102, 369, 369, 369,
2251 374, 374, 374, 383, 383, 383, 1552, 101, 1525, 1553,
2252 102, 103, 103, 103, 103, 103, 103, 103, 103, 103,
2253 103, 103, 103, 103, 103, 103, 1554, 103, 103, 103,
2254 103, 103, 105, 105, 105, 106, 106, 106, 1555, 1556,
2255 109, 109, 109, 1491, 110, 110, 110, 1492, 105, 1491,
2256 396, 106, 1525, 1492, 103, 103, 109, 396, 103, 103,
2257 110, 387, 387, 387, 1557, 103, 396, 103, 395, 395,
2258 395, 103, 422, 1524, 103, 104, 104, 104, 104, 104,
2259 104, 104, 104, 104, 104, 104, 104, 104, 104, 104,
2261 1558, 104, 104, 104, 104, 104, 113, 113, 113, 114,
2262 114, 114, 1559, 1560, 115, 115, 115, 422, 116, 116,
2263 116, 1566, 113, 1524, 1567, 114, 1568, 1569, 104, 104,
2264 115, 422, 104, 104, 116, 398, 398, 398, 1570, 104,
2265 1571, 104, 407, 407, 407, 104, 1572, 1573, 104, 107,
2266 107, 107, 107, 107, 107, 107, 107, 107, 107, 107,
2267 107, 107, 107, 107, 1574, 107, 107, 107, 107, 107,
2268 117, 117, 117, 118, 118, 118, 1575, 1579, 119, 119,
2269 119, 1580, 120, 120, 120, 1582, 117, 1583, 1584, 118,
2270 492, 1591, 107, 107, 119, 1592, 492, 107, 120, 411,
2272 411, 411, 492, 107, 108, 108, 108, 108, 108, 108,
2273 108, 108, 108, 108, 108, 108, 108, 108, 108, 1593,
2274 108, 108, 108, 108, 108, 123, 123, 123, 124, 124,
2275 124, 1594, 1595, 125, 125, 125, 1596, 126, 126, 126,
2276 1597, 123, 1598, 1600, 124, 493, 1608, 108, 108, 125,
2277 1620, 493, 108, 126, 421, 421, 421, 493, 108, 111,
2278 111, 111, 111, 111, 111, 111, 111, 111, 111, 111,
2279 111, 111, 111, 111, 1623, 111, 111, 111, 111, 111,
2280 127, 127, 127, 128, 128, 128, 1624, 1625, 129, 129,
2281 129, 130, 130, 130, 1628, 1629, 127, 1630, 434, 128,
2283 1631, 1632, 111, 111, 129, 434, 111, 130, 426, 426,
2284 426, 1633, 1634, 111, 434, 111, 433, 433, 433, 436,
2285 436, 436, 111, 112, 112, 112, 112, 112, 112, 112,
2286 112, 112, 112, 112, 112, 112, 112, 112, 1635, 112,
2287 112, 112, 112, 112, 133, 133, 133, 134, 134, 134,
2288 1636, 1637, 135, 135, 135, 136, 136, 136, 1638, 1640,
2289 133, 1641, 457, 134, 1642, 1643, 112, 112, 135, 457,
2290 112, 136, 443, 443, 443, 1645, 1648, 112, 457, 112,
2291 448, 448, 448, 456, 456, 456, 112, 121, 121, 121,
2292 121, 121, 121, 121, 121, 121, 121, 121, 121, 121,
2294 121, 121, 1649, 121, 121, 121, 121, 121, 137, 137,
2295 137, 138, 138, 138, 1650, 1654, 139, 139, 139, 140,
2296 140, 140, 511, 1655, 137, 1656, 1659, 138, 511, 1660,
2297 121, 121, 139, 1661, 511, 140, 121, 458, 458, 458,
2298 1662, 467, 467, 467, 628, 628, 628, 1664, 628, 1615,
2299 121, 122, 122, 122, 122, 122, 122, 122, 122, 122,
2300 122, 122, 122, 122, 122, 122, 1667, 122, 122, 122,
2301 122, 122, 143, 143, 143, 144, 144, 144, 1616, 1615,
2302 147, 147, 147, 148, 148, 148, 1669, 1691, 143, 1692,
2303 1693, 144, 1698, 1686, 122, 122, 147, 467, 1699, 148,
2305 122, 640, 640, 640, 654, 654, 654, 802, 802, 802,
2306 687, 687, 687, 1616, 122, 131, 131, 131, 131, 131,
2307 131, 131, 131, 131, 131, 131, 131, 131, 131, 131,
2308 1686, 131, 131, 131, 131, 131, 149, 149, 149, 150,
2309 150, 150, 1687, 1700, 151, 151, 151, 152, 152, 152,
2310 1696, 1701, 149, 1702, 1688, 150, 1703, 705, 131, 131,
2311 151, 1696, 640, 152, 131, 654, 705, 131, 661, 661,
2312 661, 687, 661, 705, 1704, 661, 1705, 1687, 131, 132,
2313 132, 132, 132, 132, 132, 132, 132, 132, 132, 132,
2314 132, 132, 132, 132, 1688, 132, 132, 132, 132, 132,
2316 153, 153, 153, 154, 154, 154, 1697, 1706, 157, 157,
2317 157, 158, 158, 158, 1707, 1708, 153, 1697, 1710, 154,
2318 1711, 1717, 132, 132, 157, 1718, 1719, 158, 132, 1723,
2319 1728, 132, 669, 669, 669, 1729, 669, 1730, 1754, 669,
2320 1755, 1758, 132, 141, 141, 141, 141, 141, 141, 141,
2321 141, 141, 141, 141, 141, 141, 141, 141, 1759, 141,
2322 141, 141, 141, 141, 159, 159, 159, 160, 160, 160,
2323 1738, 1739, 161, 161, 161, 162, 162, 162, 1738, 1739,
2324 159, 1760, 1761, 160, 1738, 1739, 141, 141, 161, 1762,
2325 1763, 162, 141, 817, 817, 817, 1764, 141, 142, 142,
2327 142, 142, 142, 142, 142, 142, 142, 142, 142, 142,
2328 142, 142, 142, 1750, 142, 142, 142, 142, 142, 163,
2329 163, 163, 164, 164, 164, 1765, 1766, 167, 167, 167,
2330 168, 168, 168, 1768, 1769, 163, 1770, 1771, 164, 1781,
2331 1750, 142, 142, 167, 1782, 1783, 168, 142, 692, 692,
2332 692, 1789, 142, 145, 145, 145, 145, 145, 145, 145,
2333 145, 145, 145, 145, 145, 145, 145, 145, 1792, 145,
2334 145, 145, 145, 145, 171, 171, 171, 172, 172, 172,
2335 1794, 1802, 173, 173, 173, 174, 174, 174, 1803, 1804,
2336 171, 1805, 1806, 172, 1807, 1816, 145, 145, 173, 1812,
2338 1817, 174, 145, 1821, 1822, 145, 683, 683, 683, 692,
2339 683, 1823, 1813, 683, 1751, 1824, 145, 146, 146, 146,
2340 146, 146, 146, 146, 146, 146, 146, 146, 146, 146,
2341 146, 146, 1826, 146, 146, 146, 146, 146, 175, 175,
2342 175, 176, 176, 176, 1812, 1813, 177, 177, 177, 178,
2343 178, 178, 1827, 1751, 175, 1828, 1829, 176, 1830, 1831,
2344 146, 146, 177, 1832, 1833, 178, 146, 1838, 1842, 146,
2345 699, 699, 699, 1843, 699, 444, 1844, 699, 1848, 1852,
2346 146, 155, 155, 155, 155, 155, 155, 155, 155, 155,
2347 155, 155, 155, 155, 155, 155, 1752, 155, 155, 155,
2349 155, 155, 181, 181, 181, 182, 182, 182, 1855, 1857,
2350 444, 497, 497, 497, 1862, 638, 638, 638, 181, 1857,
2351 1863, 182, 1864, 1865, 155, 155, 444, 1866, 497, 1867,
2352 276, 277, 155, 638, 155, 1752, 155, 1020, 1020, 1020,
2353 276, 277, 1869, 1875, 155, 156, 156, 156, 156, 156,
2354 156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
2355 1876, 156, 156, 156, 156, 156, 276, 277, 277, 505,
2356 505, 505, 276, 1877, 1869, 276, 520, 520, 520, 1878,
2357 277, 276, 535, 535, 535, 1858, 505, 1860, 156, 156,
2358 543, 543, 543, 520, 1881, 1858, 156, 1860, 156, 535,
2360 156, 1882, 1021, 1021, 1021, 1884, 1885, 543, 156, 165,
2361 165, 165, 165, 165, 165, 165, 165, 165, 165, 165,
2362 165, 165, 165, 165, 1886, 165, 165, 165, 165, 165,
2363 545, 545, 545, 558, 558, 558, 1888, 566, 566, 566,
2364 571, 571, 571, 593, 593, 593, 1021, 545, 1861, 1893,
2365 558, 1894, 165, 165, 566, 1895, 1903, 571, 1861, 1904,
2366 593, 707, 707, 707, 1905, 707, 1906, 1907, 707, 1022,
2367 1022, 1022, 1025, 1025, 1025, 165, 166, 166, 166, 166,
2368 166, 166, 166, 166, 166, 166, 166, 166, 166, 166,
2369 166, 1908, 166, 166, 166, 166, 166, 615, 615, 615,
2371 620, 620, 620, 639, 639, 639, 660, 660, 660, 664,
2372 664, 664, 1909, 1910, 615, 1911, 1912, 620, 1914, 166,
2373 166, 639, 1915, 660, 668, 668, 668, 664, 710, 710,
2374 710, 1927, 710, 1928, 1929, 710, 1031, 1031, 1031, 1930,
2375 1919, 668, 166, 169, 169, 169, 169, 169, 169, 169,
2376 169, 169, 169, 169, 169, 169, 169, 169, 639, 169,
2377 169, 169, 169, 169, 665, 665, 665, 670, 670, 670,
2378 1934, 672, 672, 672, 674, 674, 674, 675, 675, 675,
2379 1919, 1935, 665, 1936, 670, 1937, 169, 169, 672, 723,
2380 723, 723, 674, 723, 1938, 675, 723, 169, 170, 170,
2382 170, 170, 170, 170, 170, 170, 170, 170, 170, 170,
2383 170, 170, 170, 1939, 170, 170, 170, 170, 170, 680,
2384 680, 680, 675, 1941, 1942, 665, 681, 681, 681, 682,
2385 682, 682, 685, 685, 685, 1943, 1952, 680, 1050, 1050,
2386 1050, 170, 170, 1953, 681, 1954, 682, 1061, 1061, 1061,
2387 685, 1955, 170, 179, 179, 179, 179, 179, 179, 179,
2388 179, 179, 179, 179, 179, 179, 179, 179, 1956, 179,
2389 179, 179, 179, 179, 686, 686, 686, 698, 698, 698,
2390 702, 702, 702, 703, 703, 703, 1957, 681, 706, 706,
2391 706, 1958, 686, 1959, 698, 1960, 179, 179, 702, 1961,
2393 1962, 703, 1163, 1163, 1163, 706, 1963, 179, 1970, 686,
2394 731, 731, 731, 1972, 731, 1964, 1975, 731, 1976, 179,
2395 180, 180, 180, 180, 180, 180, 180, 180, 180, 180,
2396 180, 180, 180, 180, 180, 1978, 180, 180, 180, 180,
2397 180, 703, 709, 709, 709, 711, 711, 711, 718, 718,
2398 718, 719, 719, 719, 722, 722, 722, 1979, 1964, 709,
2399 1193, 1982, 711, 180, 180, 1193, 718, 1966, 1193, 719,
2400 1983, 722, 1193, 1984, 180, 724, 724, 724, 727, 727,
2401 727, 1966, 1967, 728, 728, 728, 180, 222, 730, 730,
2402 730, 1998, 724, 1967, 222, 2000, 727, 732, 732, 732,
2404 2002, 728, 2004, 222, 222, 730, 719, 733, 733, 733,
2405 735, 735, 735, 2012, 1194, 732, 736, 736, 736, 1194,
2406 736, 2014, 1194, 736, 2016, 733, 1194, 735, 1986, 222,
2407 222, 222, 728, 740, 740, 740, 222, 2017, 1986, 222,
2408 741, 741, 741, 222, 2026, 222, 2028, 222, 745, 745,
2409 745, 740, 742, 742, 742, 743, 743, 743, 741, 744,
2410 744, 744, 746, 746, 746, 733, 745, 2029, 2009, 742,
2411 2011, 2011, 743, 748, 748, 748, 744, 749, 749, 749,
2412 746, 750, 750, 750, 751, 751, 751, 752, 752, 752,
2413 748, 2030, 2031, 741, 749, 753, 753, 753, 750, 2032,
2415 1987, 751, 755, 755, 755, 752, 2009, 756, 756, 756,
2416 1987, 756, 2025, 753, 756, 744, 757, 757, 757, 755,
2417 746, 759, 759, 759, 2034, 749, 758, 758, 758, 2025,
2418 753, 761, 761, 761, 757, 760, 760, 760, 759, 749,
2419 751, 762, 762, 762, 758, 763, 763, 763, 761, 768,
2420 768, 768, 760, 769, 769, 769, 772, 772, 772, 762,
2421 773, 773, 773, 763, 774, 774, 774, 768, 775, 775,
2422 775, 769, 775, 2036, 772, 775, 2042, 2043, 773, 758,
2423 2044, 774, 2027, 760, 776, 776, 776, 777, 777, 777,
2424 779, 779, 779, 1989, 780, 780, 780, 760, 780, 2027,
2426 2013, 780, 776, 1989, 2046, 777, 2047, 779, 782, 782,
2427 782, 2013, 2054, 763, 769, 783, 783, 783, 798, 798,
2428 798, 773, 799, 799, 799, 1990, 782, 2055, 801, 801,
2429 801, 2056, 2057, 783, 1995, 1990, 798, 822, 822, 822,
2430 799, 826, 826, 826, 1995, 777, 801, 1996, 823, 823,
2431 823, 2058, 823, 2059, 822, 823, 2060, 1996, 826, 828,
2432 828, 828, 829, 829, 829, 831, 831, 831, 833, 833,
2433 833, 2061, 833, 801, 2062, 833, 783, 828, 2010, 2063,
2434 829, 2033, 2064, 831, 836, 836, 836, 837, 837, 837,
2435 2065, 837, 2010, 2066, 837, 838, 838, 838, 2033, 826,
2437 2067, 836, 839, 839, 839, 2068, 2069, 840, 840, 840,
2438 831, 840, 838, 2071, 840, 842, 842, 842, 2083, 839,
2439 843, 843, 843, 845, 845, 845, 848, 848, 848, 850,
2440 850, 850, 2081, 842, 851, 851, 851, 2035, 843, 2084,
2441 2085, 845, 2081, 848, 853, 853, 853, 850, 2086, 854,
2442 854, 854, 851, 854, 2035, 2087, 854, 858, 858, 858,
2443 2088, 2089, 853, 859, 859, 859, 861, 861, 861, 871,
2444 871, 871, 872, 872, 872, 858, 872, 2082, 2090, 872,
2445 845, 859, 2091, 2092, 861, 2093, 871, 2082, 2094, 853,
2446 877, 877, 877, 878, 878, 878, 880, 880, 880, 885,
2448 885, 885, 2095, 885, 2096, 2097, 885, 2098, 877, 2101,
2449 2102, 878, 2099, 2103, 880, 888, 888, 888, 889, 889,
2450 889, 2104, 889, 2105, 2106, 889, 892, 892, 892, 893,
2451 893, 893, 888, 893, 2107, 2099, 893, 900, 900, 900,
2452 1164, 1164, 1164, 892, 901, 901, 901, 903, 903, 903,
2453 907, 907, 907, 2108, 907, 900, 2109, 907, 880, 910,
2454 910, 910, 901, 2110, 2111, 903, 911, 911, 911, 2112,
2455 911, 2113, 2114, 911, 2115, 2116, 910, 914, 914, 914,
2456 915, 915, 915, 917, 917, 917, 919, 919, 919, 2117,
2457 919, 2118, 2119, 919, 2120, 914, 2122, 2123, 915, 2124,
2459 2121, 917, 922, 922, 922, 923, 923, 923, 925, 925,
2460 925, 903, 927, 927, 927, 2125, 927, 2121, 2126, 927,
2461 922, 2127, 2128, 923, 2129, 2130, 925, 933, 933, 933,
2462 2131, 2132, 917, 934, 934, 934, 936, 936, 936, 937,
2463 937, 937, 938, 938, 938, 933, 938, 2133, 2134, 938,
2464 2135, 934, 2136, 2137, 936, 2138, 937, 939, 939, 939,
2465 940, 940, 940, 2139, 940, 2140, 2141, 940, 942, 942,
2466 942, 2143, 925, 2142, 939, 2144, 943, 943, 943, 945,
2467 945, 945, 947, 947, 947, 2145, 942, 2146, 948, 948,
2468 948, 2142, 948, 936, 943, 948, 2147, 945, 2148, 947,
2470 951, 951, 951, 952, 952, 952, 2149, 952, 2150, 2151,
2471 952, 954, 954, 954, 955, 955, 955, 951, 957, 957,
2472 957, 959, 959, 959, 2152, 959, 2153, 2154, 959, 954,
2473 2155, 2156, 955, 962, 962, 962, 957, 963, 963, 963,
2474 965, 965, 965, 945, 966, 966, 966, 970, 970, 970,
2475 2157, 962, 967, 967, 967, 963, 967, 2158, 965, 967,
2476 2159, 966, 2160, 2161, 970, 971, 971, 971, 2162, 971,
2477 2164, 2165, 971, 972, 972, 972, 973, 973, 973, 957,
2478 975, 975, 975, 977, 977, 977, 980, 980, 980, 2163,
2479 2166, 972, 2167, 2168, 973, 2163, 2169, 965, 975, 2171,
2481 977, 981, 981, 981, 980, 983, 983, 983, 986, 986,
2482 986, 987, 987, 987, 989, 989, 989, 2172, 2174, 981,
2483 990, 990, 990, 983, 990, 2176, 986, 990, 2178, 987,
2484 2179, 2181, 989, 993, 993, 993, 994, 994, 994, 975,
2485 996, 996, 996, 998, 998, 998, 2182, 998, 2185, 2186,
2486 998, 993, 2184, 2187, 994, 1002, 1002, 1002, 996, 1003,
2487 1003, 1003, 2188, 983, 2184, 989, 1005, 1005, 1005, 1007,
2488 1007, 1007, 2190, 1002, 1014, 1014, 1014, 1003, 1034, 1034,
2489 1034, 1038, 1038, 1038, 1005, 2192, 2193, 1007, 1007, 1035,
2490 1035, 1035, 1014, 1035, 2194, 1034, 1035, 996, 2196, 1038,
2492 1040, 1040, 1040, 2198, 1040, 2200, 2201, 1040, 1043, 1043,
2493 1043, 1044, 1044, 1044, 2202, 1044, 2203, 2204, 1044, 1045,
2494 1045, 1045, 2205, 1045, 1005, 1043, 1045, 2206, 1038, 1049,
2495 1049, 1049, 1052, 1052, 1052, 2207, 2208, 1014, 1053, 1053,
2496 1053, 2209, 1053, 2211, 2213, 1053, 2215, 1049, 2216, 1052,
2497 1054, 1054, 1054, 1055, 1055, 1055, 1057, 1057, 1057, 1062,
2498 1062, 1062, 1068, 1068, 1068, 2217, 2218, 1054, 1069, 1069,
2499 1069, 1055, 1069, 2219, 1057, 1069, 2220, 1049, 2221, 1068,
2500 1070, 1070, 1070, 2222, 1071, 1071, 1071, 1072, 1072, 1072,
2501 1074, 1074, 1074, 1077, 1077, 1077, 1447, 1070, 2252, 2235,
2503 1055, 1071, 1446, 1062, 2233, 1072, 1445, 1074, 1444, 2252,
2504 1077, 1078, 1078, 1078, 1443, 1078, 2234, 2231, 1078, 1079,
2505 1079, 1079, 2221, 1079, 1442, 1438, 1079, 2222, 1071, 1082,
2506 1082, 1082, 2235, 1088, 1088, 1088, 1089, 1089, 1089, 1090,
2507 1090, 1090, 2233, 1091, 1091, 1091, 1082, 1113, 1113, 1113,
2508 1072, 1088, 2231, 1089, 2234, 2232, 1090, 1092, 1092, 1092,
2509 1091, 1092, 2237, 2239, 1092, 1095, 1095, 1095, 1096, 1096,
2510 1096, 1097, 1097, 1097, 1099, 1099, 1099, 1103, 1103, 1103,
2511 2236, 1437, 1095, 2251, 2238, 1096, 1104, 1104, 1104, 1097,
2512 2232, 1113, 1099, 2240, 1103, 1088, 1091, 2251, 2239, 1105,
2514 1105, 1105, 1090, 1105, 1104, 2237, 1105, 1108, 1108, 1108,
2515 1434, 1108, 1433, 2236, 1108, 1112, 1112, 1112, 1166, 1166,
2516 1166, 1103, 1114, 1114, 1114, 1096, 1114, 2238, 2240, 1114,
2517 2243, 1431, 1097, 1112, 1119, 1119, 1119, 1099, 1119, 2243,
2518 1104, 1119, 1123, 1123, 1123, 1125, 1125, 1125, 1126, 1126,
2519 1126, 1428, 1126, 1424, 2241, 1126, 1423, 1131, 1131, 1131,
2520 1123, 1131, 2242, 1125, 1131, 1134, 1134, 1134, 1136, 1136,
2521 1136, 2245, 1137, 1137, 1137, 1420, 1137, 1419, 1112, 1137,
2522 1140, 1140, 1140, 1134, 2241, 1136, 1142, 1142, 1142, 1143,
2523 1143, 1143, 2242, 1144, 1144, 1144, 2246, 1414, 1140, 1125,
2525 1123, 2245, 1399, 1142, 1146, 1146, 1146, 1143, 1397, 1396,
2526 1134, 1144, 1147, 1147, 1147, 1150, 1150, 1150, 1157, 1157,
2527 1157, 1146, 1169, 1169, 1169, 2244, 2246, 1140, 1395, 1388,
2528 1147, 1386, 2247, 1150, 2244, 1381, 1157, 1171, 1171, 1171,
2529 1172, 1172, 1172, 1144, 1175, 1175, 1175, 1176, 1176, 1176,
2530 1178, 1178, 1178, 1143, 1178, 2248, 2249, 1178, 1183, 1183,
2531 1183, 1189, 1189, 1189, 1150, 1185, 1185, 1185, 1157, 1185,
2532 1379, 1147, 1185, 1190, 1190, 1190, 1183, 2247, 2250, 1189,
2533 1150, 1192, 1192, 1192, 1172, 1192, 2249, 1376, 1192, 1375,
2534 1374, 1176, 1195, 1195, 1195, 1196, 1196, 1196, 1171, 1196,
2536 2248, 1372, 1196, 1197, 1197, 1197, 1370, 1183, 2250, 1195,
2537 1201, 1201, 1201, 1202, 1202, 1202, 1203, 1203, 1203, 1189,
2538 1368, 1197, 1204, 1204, 1204, 1205, 1205, 1205, 1208, 1208,
2539 1208, 1365, 1208, 1361, 1352, 1208, 1211, 1211, 1211, 1212,
2540 1212, 1212, 1351, 1212, 1344, 1338, 1212, 1213, 1213, 1213,
2541 1335, 1334, 1197, 1211, 1214, 1214, 1214, 1333, 1214, 1328,
2542 1327, 1214, 1324, 1323, 1213, 1317, 1216, 1216, 1216, 1315,
2543 1218, 1218, 1218, 1314, 1219, 1219, 1219, 1203, 1219, 1313,
2544 1311, 1219, 1310, 1204, 1216, 1307, 1205, 1218, 1220, 1220,
2545 1220, 1222, 1222, 1222, 1306, 1222, 1304, 1303, 1222, 1225,
2547 1225, 1225, 1226, 1226, 1226, 1220, 1226, 1302, 1301, 1226,
2548 1227, 1227, 1227, 1231, 1231, 1231, 1225, 1232, 1232, 1232,
2549 1233, 1233, 1233, 1299, 1234, 1234, 1234, 1227, 1234, 1297,
2550 1231, 1234, 1235, 1235, 1235, 1232, 1292, 1233, 1236, 1236,
2551 1236, 1237, 1237, 1237, 1238, 1238, 1238, 1291, 1238, 1235,
2552 1290, 1238, 1239, 1239, 1239, 1236, 1288, 1287, 1237, 1240,
2553 1240, 1240, 1286, 1242, 1242, 1242, 1246, 1246, 1246, 1239,
2554 1285, 1247, 1247, 1247, 1282, 1247, 1274, 1240, 1247, 1269,
2555 1232, 1242, 1267, 1246, 1249, 1249, 1249, 1251, 1251, 1251,
2556 1253, 1253, 1253, 1266, 1262, 1236, 1254, 1254, 1254, 1255,
2558 1255, 1255, 1249, 1239, 1257, 1251, 1252, 1253, 1256, 1256,
2559 1256, 1250, 1242, 1254, 1248, 1245, 1255, 1258, 1258, 1258,
2560 1259, 1259, 1259, 1260, 1260, 1260, 1256, 1261, 1261, 1261,
2561 1268, 1268, 1268, 1244, 1243, 1258, 1251, 1259, 1241, 1230,
2562 1260, 1229, 1263, 1263, 1263, 1261, 1263, 1228, 1268, 1263,
2563 1270, 1270, 1270, 1221, 1217, 1271, 1271, 1271, 1215, 1271,
2564 1255, 1258, 1271, 1272, 1272, 1272, 1207, 1270, 1273, 1273,
2565 1273, 1206, 1256, 1275, 1275, 1275, 1276, 1276, 1276, 1268,
2566 1276, 1272, 1200, 1276, 1199, 1198, 1273, 1191, 1188, 1261,
2567 1275, 1277, 1277, 1277, 1283, 1283, 1283, 1284, 1284, 1284,
2569 1289, 1289, 1289, 1293, 1293, 1293, 1294, 1294, 1294, 1277,
2570 1184, 1283, 1295, 1295, 1295, 1284, 1296, 1296, 1296, 1272,
2571 1182, 1273, 1298, 1298, 1298, 1300, 1300, 1300, 1305, 1305,
2572 1305, 1308, 1308, 1308, 1309, 1309, 1309, 1318, 1318, 1318,
2573 1181, 1318, 1177, 1174, 1318, 1173, 1305, 1170, 1168, 1308,
2574 1167, 1309, 1321, 1321, 1321, 1284, 1322, 1322, 1322, 1325,
2575 1325, 1325, 1326, 1326, 1326, 1329, 1329, 1329, 1165, 1329,
2576 1321, 1162, 1329, 1322, 1332, 1332, 1332, 1161, 1332, 1160,
2577 1159, 1332, 1336, 1336, 1336, 1158, 1156, 1308, 1339, 1339,
2578 1339, 1155, 1339, 1152, 1149, 1339, 1321, 1342, 1342, 1342,
2580 1336, 1343, 1343, 1343, 1145, 1343, 1141, 1139, 1343, 1345,
2581 1345, 1345, 1138, 1345, 1342, 1135, 1345, 1348, 1348, 1348,
2582 1349, 1349, 1349, 1130, 1349, 1129, 1124, 1349, 1350, 1350,
2583 1350, 1353, 1353, 1353, 1348, 1354, 1354, 1354, 1122, 1354,
2584 1118, 1117, 1354, 1111, 1102, 1350, 1101, 1100, 1353, 1355,
2585 1355, 1355, 1356, 1356, 1356, 1098, 1356, 1087, 1086, 1356,
2586 1359, 1359, 1359, 1085, 1360, 1360, 1360, 1355, 1360, 1084,
2587 1083, 1360, 1362, 1362, 1362, 1076, 1362, 1359, 1075, 1362,
2588 1073, 1366, 1366, 1366, 1369, 1369, 1369, 1371, 1371, 1371,
2589 1373, 1373, 1373, 1067, 1373, 1066, 1065, 1373, 1355, 1366,
2591 1064, 1063, 1369, 1060, 1371, 1377, 1377, 1377, 1380, 1380,
2592 1380, 1382, 1382, 1382, 1383, 1383, 1383, 1059, 1383, 1056,
2593 1051, 1383, 1048, 1377, 1039, 1037, 1380, 1036, 1382, 1033,
2594 1032, 1371, 1384, 1384, 1384, 1385, 1385, 1385, 1030, 1385,
2595 1029, 1028, 1385, 1027, 1026, 1369, 1387, 1387, 1387, 1384,
2596 1389, 1389, 1389, 1390, 1390, 1390, 1391, 1391, 1391, 1024,
2597 1391, 1023, 1019, 1391, 1387, 1392, 1392, 1392, 1389, 1018,
2598 1390, 1393, 1393, 1393, 1017, 1393, 1016, 1015, 1393, 1405,
2599 1405, 1405, 1392, 1394, 1394, 1394, 1398, 1398, 1398, 1400,
2600 1400, 1400, 1013, 1400, 1012, 1011, 1400, 1389, 1403, 1403,
2602 1403, 1394, 1010, 1001, 1398, 1404, 1404, 1404, 997, 1387,
2603 1406, 1406, 1406, 985, 1406, 984, 1403, 1406, 1409, 1409,
2604 1409, 979, 978, 1404, 1415, 1415, 1415, 1416, 1416, 1416,
2605 976, 1416, 969, 968, 1416, 958, 1409, 1417, 1417, 1417,
2606 953, 1415, 1418, 1418, 1418, 1394, 950, 1403, 1398, 1421,
2607 1421, 1421, 1422, 1422, 1422, 1417, 1404, 1425, 1425, 1425,
2608 1426, 1426, 1426, 1427, 1427, 1427, 1429, 1429, 1429, 1430,
2609 1430, 1430, 1432, 1432, 1432, 1435, 1435, 1435, 1439, 1439,
2610 1439, 949, 1440, 1440, 1440, 1441, 1441, 1441, 946, 1441,
2611 941, 932, 1441, 1435, 931, 930, 1439, 926, 1417, 1440,
2613 1452, 1452, 1452, 1453, 1453, 1453, 1454, 1454, 1454, 918,
2614 1454, 913, 912, 1454, 1455, 1455, 1455, 906, 1452, 905,
2615 1453, 1457, 1457, 1457, 1464, 1464, 1464, 904, 1464, 899,
2616 898, 1464, 1468, 1468, 1468, 897, 1468, 896, 895, 1468,
2617 1471, 1471, 1471, 894, 1472, 1472, 1472, 1452, 1472, 884,
2618 883, 1472, 1475, 1475, 1475, 882, 1475, 1471, 881, 1475,
2619 1478, 1478, 1478, 1479, 1479, 1479, 876, 1479, 875, 870,
2620 1479, 1485, 1485, 1485, 1487, 1487, 1487, 869, 1478, 1488,
2621 1488, 1488, 868, 1488, 867, 866, 1488, 865, 864, 1485,
2622 863, 1487, 1495, 1495, 1495, 1498, 1498, 1498, 862, 1498,
2624 857, 849, 1498, 847, 1501, 1501, 1501, 841, 1501, 832,
2625 1495, 1501, 1505, 1505, 1505, 1507, 1507, 1507, 1508, 1508,
2626 1508, 1478, 1508, 827, 820, 1508, 819, 1511, 1511, 1511,
2627 1505, 1511, 818, 1507, 1511, 1514, 1514, 1514, 1515, 1515,
2628 1515, 1518, 1518, 1518, 1520, 1520, 1520, 1521, 1521, 1521,
2629 1522, 1522, 1522, 1514, 816, 1515, 1523, 1523, 1523, 1518,
2630 815, 1505, 1520, 814, 813, 1521, 1526, 1526, 1526, 1514,
2631 1530, 1530, 1530, 811, 1523, 1527, 1527, 1527, 1507, 1527,
2632 810, 809, 1527, 1531, 1531, 1531, 808, 807, 1530, 1532,
2633 1532, 1532, 1534, 1534, 1534, 1535, 1535, 1535, 1536, 1536,
2635 1536, 1520, 806, 1518, 1537, 1537, 1537, 1539, 1539, 1539,
2636 1541, 1541, 1541, 1544, 1544, 1544, 1546, 1546, 1546, 805,
2637 1548, 1548, 1548, 804, 1548, 803, 1530, 1548, 797, 796,
2638 1544, 1561, 1561, 1561, 1546, 1562, 1562, 1562, 795, 1562,
2639 792, 791, 1562, 1565, 1565, 1565, 1576, 1576, 1576, 1561,
2640 1576, 790, 788, 1576, 1581, 1581, 1581, 1585, 1585, 1585,
2641 1587, 1587, 1587, 1588, 1588, 1588, 784, 1588, 781, 778,
2642 1588, 771, 1581, 770, 767, 1585, 766, 1587, 1599, 1599,
2643 1599, 1601, 1601, 1601, 1602, 1602, 1602, 765, 764, 1561,
2644 1603, 1603, 1603, 1604, 1604, 1604, 1605, 1605, 1605, 1601,
2646 754, 1602, 747, 739, 1587, 1606, 1606, 1606, 1603, 1606,
2647 738, 1604, 1606, 1605, 1607, 1607, 1607, 1609, 1609, 1609,
2648 1610, 1610, 1610, 1611, 1611, 1611, 1612, 1612, 1612, 737,
2649 734, 1607, 1614, 1614, 1614, 1609, 1617, 1617, 1617, 729,
2650 726, 1611, 725, 721, 1612, 717, 716, 1603, 715, 714,
2651 1614, 1604, 1618, 1618, 1618, 1619, 1619, 1619, 1621, 1621,
2652 1621, 1622, 1622, 1622, 1626, 1626, 1626, 1627, 1627, 1627,
2653 1618, 1627, 713, 712, 1627, 1639, 1639, 1639, 1647, 1647,
2654 1647, 1626, 1651, 1651, 1651, 708, 1611, 1652, 1652, 1652,
2655 704, 1614, 701, 1639, 700, 1647, 1657, 1657, 1657, 1651,
2657 1658, 1658, 1658, 697, 1658, 1652, 696, 1658, 1666, 1666,
2658 1666, 695, 694, 1657, 1668, 1668, 1668, 1670, 1670, 1670,
2659 1672, 1672, 1672, 693, 691, 1666, 1673, 1673, 1673, 690,
2660 1673, 689, 1639, 1673, 688, 1670, 684, 1672, 1674, 1674,
2661 1674, 1675, 1675, 1675, 1676, 1676, 1676, 679, 1676, 678,
2662 677, 1676, 1679, 1679, 1679, 676, 1674, 673, 671, 1675,
2663 1680, 1680, 1680, 667, 1680, 663, 662, 1680, 659, 1679,
2664 1681, 1681, 1681, 1682, 1682, 1682, 1684, 1684, 1684, 1685,
2665 1685, 1685, 1689, 1689, 1689, 658, 657, 1681, 1753, 1753,
2666 1753, 1682, 1694, 1694, 1694, 656, 655, 1685, 653, 652,
2668 1689, 1709, 1709, 1709, 651, 1675, 1695, 1695, 1695, 1694,
2669 1695, 650, 649, 1695, 1712, 1712, 1712, 648, 647, 1709,
2670 1715, 1715, 1715, 1716, 1716, 1716, 646, 1716, 645, 644,
2671 1716, 1712, 1720, 1720, 1720, 643, 642, 1715, 1721, 1721,
2672 1721, 641, 1721, 637, 636, 1721, 1722, 1722, 1722, 1720,
2673 1724, 1724, 1724, 1725, 1725, 1725, 634, 1725, 1709, 633,
2674 1725, 632, 631, 1722, 1733, 1733, 1733, 1724, 1734, 1734,
2675 1734, 630, 1734, 626, 624, 1734, 1735, 1735, 1735, 623,
2676 622, 1733, 1736, 1736, 1736, 1737, 1737, 1737, 621, 1737,
2677 616, 612, 1737, 1735, 1740, 1740, 1740, 611, 608, 1736,
2679 1742, 1742, 1742, 1743, 1743, 1743, 607, 1743, 606, 605,
2680 1743, 604, 1740, 1746, 1746, 1746, 603, 600, 1742, 1747,
2681 1747, 1747, 599, 1747, 598, 597, 1747, 1748, 1748, 1748,
2682 1746, 1756, 1756, 1756, 1757, 1757, 1757, 594, 1757, 592,
2683 589, 1757, 1773, 1773, 1773, 1748, 588, 587, 1756, 1774,
2684 1774, 1774, 1775, 1775, 1775, 1776, 1776, 1776, 586, 585,
2685 1773, 582, 581, 1742, 1777, 1777, 1777, 580, 1777, 1775,
2686 579, 1777, 1776, 1778, 1778, 1778, 578, 1778, 575, 574,
2687 1778, 1784, 1784, 1784, 573, 1784, 572, 570, 1784, 567,
2688 565, 1773, 1787, 1787, 1787, 562, 1775, 1788, 1788, 1788,
2690 561, 1788, 560, 559, 1788, 1790, 1790, 1790, 557, 1787,
2691 1791, 1791, 1791, 556, 1791, 553, 552, 1791, 1793, 1793,
2692 1793, 551, 1790, 1795, 1795, 1795, 550, 1795, 549, 548,
2693 1795, 1798, 1798, 1798, 547, 1793, 1799, 1799, 1799, 546,
2694 1799, 544, 542, 1799, 1800, 1800, 1800, 541, 1798, 1801,
2695 1801, 1801, 538, 1801, 537, 536, 1801, 1808, 1808, 1808,
2696 533, 1800, 1809, 1809, 1809, 528, 1809, 526, 525, 1809,
2697 1814, 1814, 1814, 524, 523, 1808, 1815, 1815, 1815, 1818,
2698 1818, 1818, 522, 1818, 521, 517, 1818, 1814, 1814, 516,
2699 1825, 1825, 1825, 1834, 1834, 1834, 1835, 1835, 1835, 1836,
2701 1836, 1836, 515, 1853, 1853, 1853, 1808, 1825, 1837, 1837,
2702 1837, 1834, 1837, 514, 510, 1837, 1836, 1839, 1839, 1839,
2703 1853, 1839, 509, 508, 1839, 1845, 1845, 1845, 507, 1845,
2704 506, 504, 1845, 501, 1849, 1849, 1849, 500, 1849, 498,
2705 1834, 1849, 1854, 1854, 1854, 496, 1854, 491, 488, 1854,
2706 1856, 1856, 1856, 486, 1856, 483, 482, 1856, 1859, 1859,
2707 1859, 480, 1859, 479, 478, 1859, 1868, 1868, 1868, 1870,
2708 1870, 1870, 1871, 1871, 1871, 1872, 1872, 1872, 477, 1872,
2709 476, 473, 1872, 472, 1868, 471, 1870, 1870, 470, 1871,
2710 1871, 469, 463, 1872, 1873, 1873, 1873, 1874, 1874, 1874,
2712 1879, 1879, 1879, 1880, 1880, 1880, 462, 1880, 460, 454,
2713 1880, 1889, 1889, 1889, 1890, 1890, 1890, 1879, 1890, 453,
2714 449, 1890, 1896, 1896, 1896, 1897, 1897, 1897, 445, 1889,
2715 1898, 1898, 1898, 1899, 1899, 1899, 441, 1899, 437, 1896,
2716 1899, 431, 1897, 1902, 1902, 1902, 427, 1898, 1917, 1917,
2717 1917, 1920, 1920, 1920, 1921, 1921, 1921, 423, 1921, 419,
2718 1902, 1921, 418, 1922, 1922, 1922, 1917, 1922, 1920, 1920,
2719 1922, 417, 1921, 416, 1889, 1925, 1925, 1925, 1926, 1926,
2720 1926, 1922, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923,
2721 1923, 412, 408, 1923, 1940, 1940, 1940, 405, 1923, 1923,
2723 1923, 1923, 1923, 1931, 1931, 1931, 404, 1931, 403, 399,
2724 1931, 393, 1940, 392, 388, 384, 380, 379, 375, 1944,
2725 1944, 1944, 1946, 1946, 1946, 1923, 1923, 1924, 1924, 1924,
2726 1924, 1924, 1924, 1924, 1924, 1924, 1944, 372, 1924, 1946,
2727 371, 366, 362, 1924, 1924, 1924, 1924, 1924, 1945, 1945,
2728 1945, 354, 1945, 353, 352, 1945, 1947, 1947, 1947, 348,
2729 1947, 342, 341, 1947, 1948, 1948, 1948, 1950, 1950, 1950,
2730 1924, 1924, 1949, 1949, 1949, 337, 1949, 331, 330, 1949,
2731 329, 1948, 328, 327, 1950, 1951, 1951, 1951, 326, 1951,
2732 322, 315, 1951, 1965, 1965, 1965, 313, 1965, 312, 311,
2734 1965, 309, 305, 1980, 1980, 1980, 2015, 2015, 2015, 298,
2735 297, 1965, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968,
2736 1968, 1980, 296, 1968, 2015, 2015, 295, 294, 1968, 1968,
2737 1968, 1968, 1968, 1985, 1985, 1985, 290, 1985, 286, 280,
2738 1985, 1988, 1988, 1988, 278, 1988, 273, 272, 1988, 2022,
2739 2022, 2022, 2023, 2023, 2023, 1968, 1968, 1969, 1969, 1969,
2740 1969, 1969, 1969, 1969, 1969, 1969, 2022, 268, 1969, 2023,
2741 262, 261, 260, 1969, 1969, 1969, 1969, 1969, 1991, 1991,
2742 1991, 256, 1991, 248, 246, 1991, 1994, 1994, 1994, 245,
2743 1994, 241, 238, 1994, 2024, 2024, 2024, 2041, 2041, 2041,
2745 1969, 1969, 2045, 2045, 2045, 2048, 2048, 2048, 2050, 2050,
2746 2050, 2024, 2049, 2049, 2049, 2041, 2049, 236, 235, 2049,
2747 2045, 234, 2048, 230, 227, 2050, 2051, 2051, 2051, 226,
2748 2051, 223, 219, 2051, 215, 2052, 2052, 2052, 2053, 2053,
2749 2053, 211, 2053, 210, 209, 2053, 2070, 2070, 2070, 203,
2750 202, 2045, 2052, 2074, 2074, 2074, 200, 2074, 197, 185,
2751 2074, 2077, 2077, 2077, 2070, 2077, 0, 0, 2077, 2080,
2752 2080, 2080, 0, 2080, 0, 0, 2080, 2199, 2199, 2199,
2753 0, 2070, 2210, 2210, 2210, 0, 2210, 0, 0, 2210,
2754 2253, 2253, 2253, 0, 0, 2199, 2254, 2254, 2254, 0,
2756 2210, 0, 0, 0, 0, 0, 0, 0, 2253, 0,
2757 0, 0, 0, 0, 2254, 2257, 2257, 2257, 2257, 2257,
2758 2257, 2257, 2257, 2257, 2258, 2258, 2258, 2258, 2258, 2258,
2759 2258, 2258, 2258, 2259, 2259, 2259, 2259, 2259, 2259, 2259,
2760 2259, 2259, 2260, 2260, 2260, 2260, 2260, 2260, 2260, 2260,
2761 2260, 2261, 2261, 2261, 2261, 2261, 2261, 2261, 2261, 2261,
2762 2262, 2262, 2262, 2262, 2262, 2262, 2262, 2262, 2262, 2263,
2763 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2264, 2264,
2764 2264, 2264, 2264, 2264, 2264, 2264, 2264, 2265, 2265, 2265,
2765 2265, 2265, 2265, 2265, 2265, 2265, 2266, 2266, 2266, 2266,
2767 2266, 2266, 2266, 2266, 2266, 2267, 2267, 2267, 2267, 2267,
2768 2267, 2267, 2267, 2267, 2268, 2268, 2268, 2268, 2268, 2268,
2769 2268, 2268, 2268, 2269, 2269, 2269, 2269, 2269, 2269, 2269,
2770 2269, 2269, 2270, 2270, 2270, 2270, 2270, 2270, 2270, 2270,
2771 2270, 2271, 2271, 2271, 2271, 2271, 2271, 2271, 2271, 2271,
2772 2272, 2272, 2272, 2272, 2272, 2272, 2272, 2272, 2272, 2273,
2773 2273, 2273, 2273, 2273, 2273, 2273, 2273, 2273, 2274, 2274,
2774 2274, 2274, 2274, 2274, 2274, 2274, 2274, 2275, 2275, 2275,
2775 2275, 2275, 2275, 2275, 2275, 2275, 2276, 2276, 2276, 2276,
2776 2276, 2276, 2276, 2276, 2276, 2277, 2277, 2277, 2277, 2277,
2778 2277, 2277, 2277, 2277, 2278, 2278, 2278, 2278, 2278, 2278,
2779 2278, 2278, 2278, 2279, 2279, 2279, 2279, 2279, 2279, 2279,
2780 2279, 2279, 2280, 2280, 2280, 2280, 2280, 2280, 2280, 2280,
2781 2280, 2281, 2281, 2281, 2281, 2281, 2281, 2281, 2281, 2281,
2782 2282, 2282, 2282, 2282, 2282, 2282, 2282, 2282, 2282, 2283,
2783 2283, 2283, 2283, 2283, 2283, 2283, 2283, 2283, 2284, 2284,
2784 2284, 2284, 2284, 2284, 2284, 2284, 2284, 2285, 2285, 2285,
2785 2285, 2285, 2285, 2285, 2285, 2285, 2286, 2286, 2286, 2286,
2786 2286, 2286, 2286, 2286, 2286, 2287, 2287, 2287, 2287, 2287,
2787 2287, 2287, 2287, 2287, 2288, 2288, 2288, 2288, 2288, 2288,
2789 2288, 2288, 2288, 2289, 2289, 2289, 2289, 2289, 2289, 2289,
2790 2289, 2289, 2290, 2290, 2290, 2290, 2290, 2290, 2290, 2290,
2791 2290, 2291, 2291, 2291, 2291, 2291, 2291, 2291, 2291, 2291,
2792 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2293,
2793 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2294, 2294,
2794 2294, 2294, 2294, 2294, 2294, 2294, 2294, 2295, 2295, 2295,
2795 2295, 2295, 2295, 2295, 2295, 2295, 2296, 2296, 2296, 2296,
2796 2296, 2296, 2296, 2296, 2296, 2297, 2297, 2297, 2297, 2297,
2797 2297, 2297, 2297, 2297, 2298, 2298, 2298, 0, 0, 0,
2798 2298, 2299, 2299, 2299, 0, 0, 0, 2299, 2300, 2300,
2800 2300, 0, 0, 0, 2300, 2301, 2301, 2301, 0, 0,
2801 0, 2301, 2302, 2302, 2302, 0, 0, 0, 2302, 2303,
2802 2303, 2303, 0, 0, 0, 2303, 2304, 2304, 2304, 0,
2803 0, 0, 2304, 2305, 2305, 2305, 0, 0, 0, 2305,
2804 2306, 2306, 2306, 0, 0, 0, 2306, 2307, 2307, 2307,
2805 0, 0, 0, 2307, 2308, 2308, 2308, 0, 0, 0,
2806 2308, 2309, 2309, 2309, 0, 0, 0, 2309, 2310, 2310,
2807 2310, 0, 0, 0, 2310, 2311, 2311, 2311, 0, 0,
2808 0, 2311, 2312, 2312, 2312, 0, 0, 0, 2312, 2313,
2809 2313, 2313, 0, 0, 0, 2313, 2314, 2314, 2314, 0,
2811 0, 0, 2314, 2315, 2315, 2315, 0, 0, 0, 2315,
2812 2316, 2316, 2316, 2316, 2316, 2316, 2316, 0, 2316, 2317,
2813 2317, 2317, 0, 0, 0, 2317, 2318, 0, 0, 0,
2814 2318, 2319, 2319, 2319, 0, 0, 0, 2319, 2320, 0,
2815 0, 0, 2320, 2321, 2321, 2321, 0, 0, 0, 2321,
2816 2322, 0, 0, 0, 2322, 2323, 2323, 2323, 0, 0,
2817 0, 2323, 2324, 0, 0, 0, 2324, 2325, 2325, 2325,
2818 0, 0, 0, 2325, 2326, 0, 0, 0, 2326, 2327,
2819 0, 0, 0, 2327, 2328, 2328, 2328, 0, 0, 0,
2820 2328, 2329, 0, 0, 0, 2329, 2330, 2330, 2330, 0,
2822 0, 0, 2330, 2331, 0, 0, 0, 2331, 2332, 2332,
2823 2332, 0, 0, 0, 2332, 2333, 0, 0, 0, 2333,
2824 2334, 2334, 2334, 0, 0, 0, 2334, 2335, 0, 0,
2825 0, 2335, 2336, 2336, 2336, 0, 0, 0, 2336, 2337,
2826 0, 0, 0, 2337, 2338, 2338, 2338, 0, 0, 0,
2827 2338, 2339, 0, 0, 0, 2339, 2340, 2340, 2340, 0,
2828 0, 0, 2340, 2341, 0, 0, 0, 2341, 2342, 2342,
2829 2342, 0, 0, 0, 2342, 2343, 0, 0, 0, 2343,
2830 2344, 2344, 2344, 0, 0, 0, 2344, 2345, 0, 0,
2831 0, 2345, 2346, 2346, 2346, 0, 0, 0, 2346, 2347,
2833 0, 0, 0, 2347, 2348, 2348, 2348, 0, 0, 0,
2834 2348, 2349, 0, 0, 0, 2349, 2350, 2350, 2350, 0,
2835 0, 0, 2350, 2351, 0, 0, 0, 2351, 2352, 2352,
2836 2352, 2352, 2352, 2352, 2352, 2352, 2352, 2353, 0, 0,
2837 0, 0, 2353, 2354, 2354, 2354, 0, 0, 0, 2354,
2838 2355, 2355, 2355, 2355, 0, 0, 2355, 2355, 2356, 2356,
2839 2356, 0, 0, 0, 2356, 2357, 2357, 2357, 2357, 0,
2840 0, 2357, 2357, 2358, 2358, 2358, 0, 0, 0, 2358,
2841 2359, 2359, 2359, 2359, 0, 0, 2359, 2359, 2360, 2360,
2842 2360, 0, 0, 0, 2360, 2361, 2361, 2361, 2361, 0,
2844 0, 2361, 2361, 2362, 2362, 2362, 0, 0, 0, 2362,
2845 2363, 2363, 2363, 2363, 0, 0, 2363, 2363, 2364, 2364,
2846 2364, 0, 0, 0, 2364, 2365, 2365, 2365, 2365, 0,
2847 0, 2365, 2365, 2366, 2366, 2366, 0, 0, 0, 2366,
2848 2367, 2367, 2367, 2367, 0, 0, 2367, 2367, 2368, 2368,
2849 2368, 0, 0, 0, 2368, 2369, 2369, 2369, 2369, 0,
2850 0, 2369, 2369, 2370, 2370, 2370, 0, 0, 0, 2370,
2851 2371, 2371, 2371, 2371, 0, 0, 2371, 2371, 2372, 2372,
2852 2372, 0, 0, 0, 2372, 2373, 2373, 2373, 2373, 0,
2853 0, 2373, 2373, 2374, 2374, 2374, 2374, 0, 2374, 0,
2855 2374, 2375, 2375, 2375, 2375, 0, 0, 2375, 2375, 2376,
2856 2376, 2376, 2376, 0, 2376, 0, 2376, 2377, 2377, 2377,
2857 2377, 0, 0, 2377, 2377, 2378, 2378, 2378, 0, 0,
2858 0, 2378, 2379, 2379, 2379, 2379, 0, 0, 2379, 2379,
2859 2380, 2380, 2380, 2380, 0, 2380, 0, 2380, 2381, 2381,
2860 2381, 2381, 0, 0, 2381, 2381, 2382, 2382, 2382, 0,
2861 0, 0, 2382, 2383, 2383, 2383, 2383, 0, 0, 2383,
2862 2383, 2384, 2384, 2384, 0, 0, 0, 2384, 2385, 2385,
2863 2385, 2385, 0, 0, 2385, 2385, 2386, 2386, 2386, 2386,
2864 0, 0, 2386, 2386, 2387, 2387, 2387, 0, 0, 0,
2866 2387, 2388, 2388, 2388, 2388, 0, 0, 2388, 2388, 2389,
2867 2389, 2389, 2389, 2389, 2389, 2389, 2389, 2389, 2390, 0,
2868 2390, 0, 0, 2390, 2391, 2391, 2391, 0, 0, 0,
2869 2391, 2392, 2392, 2392, 2392, 0, 0, 2392, 2392, 2393,
2870 2393, 2393, 2393, 0, 2393, 0, 2393, 2394, 2394, 2394,
2871 2394, 0, 0, 2394, 2394, 2395, 2395, 2395, 0, 0,
2872 0, 2395, 2396, 2396, 2396, 2396, 0, 0, 2396, 2396,
2873 2397, 2397, 2397, 0, 0, 0, 2397, 2398, 2398, 2398,
2874 2398, 0, 0, 2398, 2398, 2399, 2399, 2399, 0, 0,
2875 0, 2399, 2400, 2400, 2400, 2400, 0, 0, 2400, 2400,
2877 2401, 2401, 2401, 0, 0, 0, 2401, 2402, 2402, 2402,
2878 2402, 0, 0, 2402, 2402, 2403, 2403, 2403, 0, 0,
2879 0, 2403, 2404, 2404, 2404, 2404, 0, 0, 2404, 2404,
2880 2405, 2405, 2405, 0, 0, 0, 2405, 2406, 2406, 2406,
2881 2406, 0, 0, 2406, 2406, 2407, 2407, 2407, 0, 0,
2882 0, 2407, 2408, 2408, 2408, 2408, 0, 0, 2408, 2408,
2883 2409, 2409, 2409, 0, 0, 0, 2409, 2410, 2410, 2410,
2884 2410, 0, 0, 2410, 2410, 2411, 2411, 2411, 0, 0,
2885 0, 2411, 2412, 2412, 2412, 2412, 0, 0, 2412, 2412,
2886 2413, 2413, 2413, 0, 0, 0, 2413, 2414, 2414, 2414,
2888 2414, 0, 0, 2414, 2414, 2415, 2415, 2415, 0, 0,
2889 0, 2415, 2416, 2416, 2416, 2416, 0, 0, 2416, 2416,
2890 2417, 2417, 2417, 0, 0, 0, 2417, 2418, 2418, 2418,
2891 2418, 0, 0, 2418, 2418, 2419, 2419, 2419, 0, 0,
2892 0, 2419, 2420, 2420, 2420, 2420, 0, 0, 2420, 2420,
2893 2421, 2421, 2421, 0, 0, 0, 2421, 2422, 2422, 2422,
2894 2422, 0, 0, 2422, 2422, 2423, 2423, 2423, 2423, 0,
2895 0, 2423, 2423, 2424, 2424, 2424, 0, 0, 0, 2424,
2896 2425, 2425, 2425, 2425, 0, 0, 2425, 2425, 2426, 2426,
2897 2426, 2426, 2426, 2426, 2426, 2426, 2426, 2427, 2427, 2427,
2899 2427, 2427, 2427, 2427, 2427, 2427, 2428, 2428, 2428, 0,
2900 0, 0, 2428, 2429, 2429, 2429, 2429, 0, 0, 2429,
2901 2429, 2430, 2430, 2430, 0, 0, 0, 2430, 2431, 2431,
2902 2431, 2431, 0, 0, 2431, 2431, 2432, 2432, 2432, 0,
2903 0, 0, 2432, 2433, 2433, 2433, 2433, 0, 0, 2433,
2904 2433, 2434, 2434, 2434, 0, 0, 0, 2434, 2435, 2435,
2905 2435, 2435, 0, 0, 2435, 2435, 2436, 2436, 2436, 0,
2906 0, 0, 2436, 2437, 2437, 2437, 0, 0, 0, 2437,
2907 2438, 2438, 2438, 2438, 0, 0, 2438, 2438, 2439, 2439,
2908 2439, 0, 0, 0, 2439, 2440, 2440, 2440, 2440, 0,
2910 0, 2440, 2440, 2441, 2441, 2441, 2441, 0, 2441, 0,
2911 2441, 2442, 2442, 2442, 2442, 0, 0, 2442, 2442, 2443,
2912 2443, 2443, 0, 0, 0, 2443, 2444, 2444, 2444, 2444,
2913 0, 0, 2444, 2444, 2445, 2445, 2445, 0, 0, 0,
2914 2445, 2446, 2446, 2446, 2446, 0, 0, 2446, 2446, 2447,
2915 2447, 2447, 0, 0, 0, 2447, 2448, 2448, 2448, 2448,
2916 0, 0, 2448, 2448, 2449, 2449, 2449, 0, 0, 0,
2917 2449, 2450, 2450, 2450, 2450, 0, 0, 2450, 2450, 2451,
2918 2451, 2451, 0, 0, 0, 2451, 2452, 2452, 2452, 2452,
2919 0, 0, 2452, 2452, 2453, 2453, 2453, 0, 0, 0,
2921 2453, 2454, 2454, 2454, 2454, 0, 0, 2454, 2454, 2455,
2922 2455, 2455, 0, 0, 0, 2455, 2456, 2456, 2456, 2456,
2923 0, 0, 2456, 2456, 2457, 2457, 2457, 2457, 0, 2457,
2924 0, 2457, 2458, 2458, 2458, 2458, 0, 0, 2458, 2458,
2925 2459, 2459, 2459, 2459, 0, 0, 2459, 2459, 2460, 2460,
2926 2460, 2460, 0, 2460, 0, 2460, 2461, 2461, 2461, 2461,
2927 0, 0, 2461, 2461, 2462, 2462, 2462, 2462, 2462, 2462,
2928 2462, 2462, 2462, 2463, 2463, 2463, 2463, 2463, 2463, 2463,
2929 2463, 2463, 2464, 2464, 2464, 0, 0, 0, 2464, 2465,
2930 2465, 2465, 2465, 0, 0, 2465, 2465, 2466, 2466, 2466,
2932 0, 0, 0, 2466, 2467, 2467, 2467, 2467, 0, 0,
2933 2467, 2467, 2468, 2468, 2468, 0, 0, 0, 2468, 2469,
2934 2469, 2469, 2469, 0, 0, 2469, 2469, 2470, 2470, 2470,
2935 0, 0, 0, 2470, 2471, 2471, 2471, 2471, 0, 0,
2936 2471, 2471, 2472, 2472, 2472, 0, 0, 0, 2472, 2473,
2937 2473, 2473, 0, 0, 0, 2473, 2474, 2474, 2474, 2474,
2938 0, 0, 2474, 2474, 2475, 2475, 2475, 0, 0, 0,
2939 2475, 2476, 2476, 2476, 2476, 0, 0, 2476, 2476, 2477,
2940 2477, 2477, 2477, 0, 2477, 0, 2477, 2478, 2478, 2478,
2941 2478, 0, 0, 2478, 2478, 2479, 2479, 2479, 0, 0,
2943 0, 2479, 2480, 2480, 2480, 2480, 0, 0, 2480, 2480,
2944 2481, 2481, 2481, 0, 0, 0, 2481, 2482, 2482, 2482,
2945 2482, 0, 0, 2482, 2482, 2483, 2483, 2483, 0, 0,
2946 0, 2483, 2484, 2484, 2484, 2484, 0, 0, 2484, 2484,
2947 2485, 2485, 2485, 2485, 0, 2485, 0, 2485, 2486, 2486,
2948 2486, 2486, 0, 0, 2486, 2486, 2487, 2487, 2487, 0,
2949 0, 0, 2487, 2488, 2488, 2488, 2488, 0, 0, 2488,
2950 2488, 2489, 2489, 2489, 2489, 0, 2489, 0, 2489, 2490,
2951 2490, 2490, 2490, 0, 0, 2490, 2490, 2491, 2491, 2491,
2952 0, 0, 0, 2491, 2492, 2492, 2492, 2492, 0, 0,
2954 2492, 2492, 2493, 2493, 2493, 2493, 0, 0, 2493, 2493,
2955 2494, 2494, 2494, 2494, 0, 0, 2494, 2494, 2495, 2495,
2956 2495, 2495, 0, 0, 2495, 2495, 2496, 2496, 2496, 2496,
2957 2496, 2496, 2496, 2496, 2496, 2497, 2497, 2497, 2497, 2497,
2958 2497, 2497, 2497, 2497, 2498, 2498, 2498, 2498, 0, 2498,
2959 0, 2498, 2499, 2499, 2499, 2499, 0, 0, 2499, 2499,
2960 2500, 2500, 2500, 0, 0, 0, 2500, 2501, 2501, 2501,
2961 2501, 0, 0, 2501, 2501, 2502, 2502, 2502, 0, 0,
2962 0, 2502, 2503, 2503, 2503, 2503, 0, 0, 2503, 2503,
2963 2504, 2504, 2504, 2504, 0, 2504, 0, 2504, 2505, 2505,
2965 2505, 2505, 0, 0, 2505, 2505, 2506, 2506, 2506, 2506,
2966 0, 2506, 0, 2506, 2507, 2507, 2507, 0, 0, 0,
2967 2507, 2508, 2508, 2508, 0, 0, 0, 2508, 2509, 2509,
2968 2509, 2509, 0, 0, 2509, 2509, 2510, 2510, 2510, 0,
2969 0, 0, 2510, 2511, 2511, 2511, 0, 0, 0, 2511,
2970 2512, 2512, 2512, 2512, 0, 0, 2512, 2512, 2513, 2513,
2971 2513, 0, 0, 0, 2513, 2514, 2514, 2514, 0, 0,
2972 0, 2514, 2515, 2515, 2515, 2515, 0, 0, 2515, 2515,
2973 2516, 2516, 2516, 0, 0, 0, 2516, 2517, 2517, 2517,
2974 2517, 0, 0, 2517, 2517, 2518, 2518, 2518, 0, 0,
2976 0, 2518, 2519, 2519, 2519, 2519, 0, 0, 2519, 2519,
2977 2520, 2520, 2520, 2520, 0, 0, 2520, 2520, 2521, 2521,
2978 2521, 0, 0, 0, 2521, 2522, 2522, 2522, 2522, 0,
2979 0, 2522, 2522, 2523, 2523, 2523, 2523, 0, 0, 2523,
2980 2523, 2524, 2524, 2524, 2524, 0, 0, 2524, 2524, 2525,
2981 2525, 2525, 2525, 2525, 2525, 2525, 2525, 2525, 2526, 2526,
2982 2526, 2526, 2526, 2526, 2526, 2526, 2526, 2527, 2527, 2527,
2983 2527, 2527, 2527, 2527, 2527, 2527, 2528, 2528, 2528, 2528,
2984 2528, 2528, 2528, 2528, 2528, 2529, 2529, 2529, 2529, 2529,
2985 2529, 2529, 2529, 2529, 2530, 2530, 2530, 2530, 2530, 2530,
2987 2530, 2530, 2530, 2531, 2531, 2531, 2531, 2531, 2531, 2531,
2988 2531, 2531, 2532, 2532, 2532, 2532, 2532, 2532, 2532, 2532,
2989 2532, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256,
2990 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256,
2991 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256,
2992 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256,
2993 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256,
2994 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256,
2995 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256,
3000 /* Table of booleans, true if rule could match eol. */
3001 static yyconst flex_int32_t yy_rule_can_match_eol[385] =
3003 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1,
3004 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1,
3005 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0,
3006 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3007 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0,
3008 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3009 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3010 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3011 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3012 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1,
3013 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3014 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1,
3015 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1,
3016 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1,
3017 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1,
3018 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3019 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1,
3020 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0,
3021 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1,
3024 static yy_state_type yy_last_accepting_state;
3025 static char *yy_last_accepting_cpos;
3027 extern int surf_parse__flex_debug;
3028 int surf_parse__flex_debug = 0;
3030 /* The intent behind this definition is that it'll catch
3031 * any uses of REJECT which flex missed.
3033 #define REJECT reject_used_but_not_detected
3034 #define yymore() yymore_used_but_not_detected
3035 #define YY_MORE_ADJ 0
3036 #define YY_RESTORE_YY_MORE_OFFSET
3037 char *surf_parse_text;
3038 /* Validating XML processor for src/surf/simgrid.dtd.
3039 * Generated 2010/12/08 13:38:12.
3041 * This program was generated with the FleXML XML processor generator.
3042 * FleXML is Copyright (C) 1999-2005 Kristoffer Rose. All rights reserved.
3043 * FleXML is Copyright (C) 2003-2006 Martin Quinson. All rights reserved.
3044 * (Id: flexml.pl,v 1.62 2007/10/11 10:00:14 mquinson Exp).
3046 * There are two, intertwined parts to this program, part A and part B.
3051 * Some parts, here collectively called "Part A", are found in the
3052 * FleXML package. They are Copyright (C) 1999-2005 Kristoffer Rose
3053 * and Copyright (C) 2003-2006 Martin Quinson. All rights reserved.
3055 * You can redistribute, use, perform, display and/or modify "Part A"
3056 * provided the following two conditions hold:
3058 * 1. The program is distributed WITHOUT ANY WARRANTY from the author of
3059 * FleXML; without even the implied warranty of MERCHANTABILITY or
3060 * FITNESS FOR A PARTICULAR PURPOSE.
3062 * 2. The program distribution conditions do not in any way affect the
3063 * distribution conditions of the FleXML system used to generate this
3064 * file or any version of FleXML derived from that system.
3066 * Notice that these are explicit rights granted to you for files
3067 * generated by the FleXML system. For your rights in connection with
3068 * the FleXML system itself please consult the GNU General Public License.
3073 * The other parts, here collectively called "Part B", and which came
3074 * from the DTD used by FleXML to generate this program, can be
3075 * distributed (or not, as the case may be) under the terms of whoever
3076 * wrote them, provided these terms respect and obey the two conditions
3077 * above under the heading "Part A".
3079 * The author of and contributors to FleXML specifically disclaim
3080 * any copyright interest in "Part B", unless "Part B" was written
3081 * by the author of or contributors to FleXML.
3085 /* Version strings. */
3086 const char rcs_surfxml_flexml_skeleton[] =
3087 "$" "Id: skel,v 1.40 2007/10/11 09:57:24 mquinson Exp $";
3088 const char rcs_surfxml_flexml[] =
3089 "$" "Id: flexml.pl,v 1.62 2007/10/11 10:00:14 mquinson Exp $";
3092 #include <stdlib.h> /* for realloc() -- needed here when using flex 2.5.4 */
3099 #if defined(_XBT_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__TOS_WIN__)
3100 # ifndef __STRICT_ANSI__
3102 # include <process.h>
3105 # include <unistd.h>
3108 #ifndef FLEXML_INDEXSTACKSIZE
3109 #define FLEXML_INDEXSTACKSIZE 1000
3112 /* Generated definitions. */
3113 #define FLEXML_yylineno
3114 #ifndef FLEXML_BUFFERSTACKSIZE
3115 #define FLEXML_BUFFERSTACKSIZE 1000000
3117 #define FLEXML_NEED_BUFFERLIT
3119 /* XML processor api. */
3120 /* FleXML-provided data. */
3121 int surfxml_pcdata_ix;
3122 extern char *surfxml_bufferstack;
3123 #define surfxml_pcdata (surfxml_bufferstack + surfxml_pcdata_ix)
3124 AT_surfxml_random_generator AX_surfxml_random_generator;
3125 #define A_surfxml_random_generator AX_surfxml_random_generator
3126 AT_surfxml_ASroute_gw_dst AX_surfxml_ASroute_gw_dst;
3127 #define A_surfxml_ASroute_gw_dst (surfxml_bufferstack + AX_surfxml_ASroute_gw_dst)
3128 AT_surfxml_trace_connect_element AX_surfxml_trace_connect_element;
3129 #define A_surfxml_trace_connect_element (surfxml_bufferstack + AX_surfxml_trace_connect_element)
3130 AT_surfxml_prop_id AX_surfxml_prop_id;
3131 #define A_surfxml_prop_id (surfxml_bufferstack + AX_surfxml_prop_id)
3132 AT_surfxml_host_id AX_surfxml_host_id;
3133 #define A_surfxml_host_id (surfxml_bufferstack + AX_surfxml_host_id)
3134 AT_surfxml_ASroute_symmetrical AX_surfxml_ASroute_symmetrical;
3135 #define A_surfxml_ASroute_symmetrical AX_surfxml_ASroute_symmetrical
3136 AT_surfxml_peer_lat AX_surfxml_peer_lat;
3137 #define A_surfxml_peer_lat (surfxml_bufferstack + AX_surfxml_peer_lat)
3138 AT_surfxml_link_latency_file AX_surfxml_link_latency_file;
3139 #define A_surfxml_link_latency_file (surfxml_bufferstack + AX_surfxml_link_latency_file)
3140 AT_surfxml_link_ctn_direction AX_surfxml_link_ctn_direction;
3141 #define A_surfxml_link_ctn_direction AX_surfxml_link_ctn_direction
3142 AT_surfxml_host_state AX_surfxml_host_state;
3143 #define A_surfxml_host_state AX_surfxml_host_state
3144 AT_surfxml_AS_id AX_surfxml_AS_id;
3145 #define A_surfxml_AS_id (surfxml_bufferstack + AX_surfxml_AS_id)
3146 AT_surfxml_host_power AX_surfxml_host_power;
3147 #define A_surfxml_host_power (surfxml_bufferstack + AX_surfxml_host_power)
3148 AT_surfxml_router_id AX_surfxml_router_id;
3149 #define A_surfxml_router_id (surfxml_bufferstack + AX_surfxml_router_id)
3150 AT_surfxml_process_start_time AX_surfxml_process_start_time;
3151 #define A_surfxml_process_start_time (surfxml_bufferstack + AX_surfxml_process_start_time)
3152 AT_surfxml_cluster_suffix AX_surfxml_cluster_suffix;
3153 #define A_surfxml_cluster_suffix (surfxml_bufferstack + AX_surfxml_cluster_suffix)
3154 AT_surfxml_ASroute_src AX_surfxml_ASroute_src;
3155 #define A_surfxml_ASroute_src (surfxml_bufferstack + AX_surfxml_ASroute_src)
3156 AT_surfxml_cluster_prefix AX_surfxml_cluster_prefix;
3157 #define A_surfxml_cluster_prefix (surfxml_bufferstack + AX_surfxml_cluster_prefix)
3158 AT_surfxml_trace_file AX_surfxml_trace_file;
3159 #define A_surfxml_trace_file (surfxml_bufferstack + AX_surfxml_trace_file)
3160 AT_surfxml_link_sharing_policy AX_surfxml_link_sharing_policy;
3161 #define A_surfxml_link_sharing_policy AX_surfxml_link_sharing_policy
3162 AT_surfxml_random_min AX_surfxml_random_min;
3163 #define A_surfxml_random_min (surfxml_bufferstack + AX_surfxml_random_min)
3164 AT_surfxml_link_ctn_id AX_surfxml_link_ctn_id;
3165 #define A_surfxml_link_ctn_id (surfxml_bufferstack + AX_surfxml_link_ctn_id)
3166 AT_surfxml_peer_bw_out AX_surfxml_peer_bw_out;
3167 #define A_surfxml_peer_bw_out (surfxml_bufferstack + AX_surfxml_peer_bw_out)
3168 AT_surfxml_cluster_availability_file AX_surfxml_cluster_availability_file;
3169 #define A_surfxml_cluster_availability_file (surfxml_bufferstack + AX_surfxml_cluster_availability_file)
3170 AT_surfxml_process_kill_time AX_surfxml_process_kill_time;
3171 #define A_surfxml_process_kill_time (surfxml_bufferstack + AX_surfxml_process_kill_time)
3172 AT_surfxml_cluster_bb_bw AX_surfxml_cluster_bb_bw;
3173 #define A_surfxml_cluster_bb_bw (surfxml_bufferstack + AX_surfxml_cluster_bb_bw)
3174 AT_surfxml_argument_value AX_surfxml_argument_value;
3175 #define A_surfxml_argument_value (surfxml_bufferstack + AX_surfxml_argument_value)
3176 AT_surfxml_link_state AX_surfxml_link_state;
3177 #define A_surfxml_link_state AX_surfxml_link_state
3178 AT_surfxml_ASroute_gw_src AX_surfxml_ASroute_gw_src;
3179 #define A_surfxml_ASroute_gw_src (surfxml_bufferstack + AX_surfxml_ASroute_gw_src)
3180 AT_surfxml_AS_routing AX_surfxml_AS_routing;
3181 #define A_surfxml_AS_routing (surfxml_bufferstack + AX_surfxml_AS_routing)
3182 AT_surfxml_link_bandwidth AX_surfxml_link_bandwidth;
3183 #define A_surfxml_link_bandwidth (surfxml_bufferstack + AX_surfxml_link_bandwidth)
3184 AT_surfxml_cluster_id AX_surfxml_cluster_id;
3185 #define A_surfxml_cluster_id (surfxml_bufferstack + AX_surfxml_cluster_id)
3186 AT_surfxml_peer_bw_in AX_surfxml_peer_bw_in;
3187 #define A_surfxml_peer_bw_in (surfxml_bufferstack + AX_surfxml_peer_bw_in)
3188 AT_surfxml_random_mean AX_surfxml_random_mean;
3189 #define A_surfxml_random_mean (surfxml_bufferstack + AX_surfxml_random_mean)
3190 AT_surfxml_cluster_bb_lat AX_surfxml_cluster_bb_lat;
3191 #define A_surfxml_cluster_bb_lat (surfxml_bufferstack + AX_surfxml_cluster_bb_lat)
3192 AT_surfxml_link_latency AX_surfxml_link_latency;
3193 #define A_surfxml_link_latency (surfxml_bufferstack + AX_surfxml_link_latency)
3194 AT_surfxml_trace_connect_kind AX_surfxml_trace_connect_kind;
3195 #define A_surfxml_trace_connect_kind AX_surfxml_trace_connect_kind
3196 AT_surfxml_cluster_state_file AX_surfxml_cluster_state_file;
3197 #define A_surfxml_cluster_state_file (surfxml_bufferstack + AX_surfxml_cluster_state_file)
3198 AT_surfxml_link_bandwidth_file AX_surfxml_link_bandwidth_file;
3199 #define A_surfxml_link_bandwidth_file (surfxml_bufferstack + AX_surfxml_link_bandwidth_file)
3200 AT_surfxml_route_symmetrical AX_surfxml_route_symmetrical;
3201 #define A_surfxml_route_symmetrical AX_surfxml_route_symmetrical
3202 AT_surfxml_random_id AX_surfxml_random_id;
3203 #define A_surfxml_random_id (surfxml_bufferstack + AX_surfxml_random_id)
3204 AT_surfxml_random_max AX_surfxml_random_max;
3205 #define A_surfxml_random_max (surfxml_bufferstack + AX_surfxml_random_max)
3206 AT_surfxml_link_id AX_surfxml_link_id;
3207 #define A_surfxml_link_id (surfxml_bufferstack + AX_surfxml_link_id)
3208 AT_surfxml_process_host AX_surfxml_process_host;
3209 #define A_surfxml_process_host (surfxml_bufferstack + AX_surfxml_process_host)
3210 AT_surfxml_host_availability_file AX_surfxml_host_availability_file;
3211 #define A_surfxml_host_availability_file (surfxml_bufferstack + AX_surfxml_host_availability_file)
3212 AT_surfxml_cluster_lat AX_surfxml_cluster_lat;
3213 #define A_surfxml_cluster_lat (surfxml_bufferstack + AX_surfxml_cluster_lat)
3214 AT_surfxml_trace_periodicity AX_surfxml_trace_periodicity;
3215 #define A_surfxml_trace_periodicity (surfxml_bufferstack + AX_surfxml_trace_periodicity)
3216 AT_surfxml_cluster_bb_sharing_policy AX_surfxml_cluster_bb_sharing_policy;
3217 #define A_surfxml_cluster_bb_sharing_policy AX_surfxml_cluster_bb_sharing_policy
3218 AT_surfxml_router_coordinates AX_surfxml_router_coordinates;
3219 #define A_surfxml_router_coordinates (surfxml_bufferstack + AX_surfxml_router_coordinates)
3220 AT_surfxml_peer_coordinates AX_surfxml_peer_coordinates;
3221 #define A_surfxml_peer_coordinates (surfxml_bufferstack + AX_surfxml_peer_coordinates)
3222 AT_surfxml_prop_value AX_surfxml_prop_value;
3223 #define A_surfxml_prop_value (surfxml_bufferstack + AX_surfxml_prop_value)
3224 AT_surfxml_ASroute_dst AX_surfxml_ASroute_dst;
3225 #define A_surfxml_ASroute_dst (surfxml_bufferstack + AX_surfxml_ASroute_dst)
3226 AT_surfxml_link_state_file AX_surfxml_link_state_file;
3227 #define A_surfxml_link_state_file (surfxml_bufferstack + AX_surfxml_link_state_file)
3228 AT_surfxml_trace_connect_trace AX_surfxml_trace_connect_trace;
3229 #define A_surfxml_trace_connect_trace (surfxml_bufferstack + AX_surfxml_trace_connect_trace)
3230 AT_surfxml_cluster_power AX_surfxml_cluster_power;
3231 #define A_surfxml_cluster_power (surfxml_bufferstack + AX_surfxml_cluster_power)
3232 AT_surfxml_process_function AX_surfxml_process_function;
3233 #define A_surfxml_process_function (surfxml_bufferstack + AX_surfxml_process_function)
3234 AT_surfxml_peer_id AX_surfxml_peer_id;
3235 #define A_surfxml_peer_id (surfxml_bufferstack + AX_surfxml_peer_id)
3236 AT_surfxml_cluster_sharing_policy AX_surfxml_cluster_sharing_policy;
3237 #define A_surfxml_cluster_sharing_policy AX_surfxml_cluster_sharing_policy
3238 AT_surfxml_bypassRoute_dst AX_surfxml_bypassRoute_dst;
3239 #define A_surfxml_bypassRoute_dst (surfxml_bufferstack + AX_surfxml_bypassRoute_dst)
3240 AT_surfxml_host_core AX_surfxml_host_core;
3241 #define A_surfxml_host_core (surfxml_bufferstack + AX_surfxml_host_core)
3242 AT_surfxml_host_availability AX_surfxml_host_availability;
3243 #define A_surfxml_host_availability (surfxml_bufferstack + AX_surfxml_host_availability)
3244 AT_surfxml_bypassRoute_src AX_surfxml_bypassRoute_src;
3245 #define A_surfxml_bypassRoute_src (surfxml_bufferstack + AX_surfxml_bypassRoute_src)
3246 AT_surfxml_route_src AX_surfxml_route_src;
3247 #define A_surfxml_route_src (surfxml_bufferstack + AX_surfxml_route_src)
3248 AT_surfxml_bypassRoute_gw_dst AX_surfxml_bypassRoute_gw_dst;
3249 #define A_surfxml_bypassRoute_gw_dst (surfxml_bufferstack + AX_surfxml_bypassRoute_gw_dst)
3250 AT_surfxml_host_coordinates AX_surfxml_host_coordinates;
3251 #define A_surfxml_host_coordinates (surfxml_bufferstack + AX_surfxml_host_coordinates)
3252 AT_surfxml_trace_id AX_surfxml_trace_id;
3253 #define A_surfxml_trace_id (surfxml_bufferstack + AX_surfxml_trace_id)
3254 AT_surfxml_peer_sharing_policy AX_surfxml_peer_sharing_policy;
3255 #define A_surfxml_peer_sharing_policy AX_surfxml_peer_sharing_policy
3256 AT_surfxml_peer_power AX_surfxml_peer_power;
3257 #define A_surfxml_peer_power (surfxml_bufferstack + AX_surfxml_peer_power)
3258 AT_surfxml_cluster_radical AX_surfxml_cluster_radical;
3259 #define A_surfxml_cluster_radical (surfxml_bufferstack + AX_surfxml_cluster_radical)
3260 AT_surfxml_config_id AX_surfxml_config_id;
3261 #define A_surfxml_config_id (surfxml_bufferstack + AX_surfxml_config_id)
3262 AT_surfxml_bypassRoute_gw_src AX_surfxml_bypassRoute_gw_src;
3263 #define A_surfxml_bypassRoute_gw_src (surfxml_bufferstack + AX_surfxml_bypassRoute_gw_src)
3264 AT_surfxml_cluster_core AX_surfxml_cluster_core;
3265 #define A_surfxml_cluster_core (surfxml_bufferstack + AX_surfxml_cluster_core)
3266 AT_surfxml_random_std_deviation AX_surfxml_random_std_deviation;
3267 #define A_surfxml_random_std_deviation (surfxml_bufferstack + AX_surfxml_random_std_deviation)
3268 AT_surfxml_host_state_file AX_surfxml_host_state_file;
3269 #define A_surfxml_host_state_file (surfxml_bufferstack + AX_surfxml_host_state_file)
3270 AT_surfxml_route_dst AX_surfxml_route_dst;
3271 #define A_surfxml_route_dst (surfxml_bufferstack + AX_surfxml_route_dst)
3272 AT_surfxml_cluster_bw AX_surfxml_cluster_bw;
3273 #define A_surfxml_cluster_bw (surfxml_bufferstack + AX_surfxml_cluster_bw)
3274 AT_surfxml_platform_version AX_surfxml_platform_version;
3275 #define A_surfxml_platform_version (surfxml_bufferstack + AX_surfxml_platform_version)
3279 # define ENTER(state) debug_enter(state,#state)
3280 # define LEAVE debug_leave()
3281 # define SET(state) debug_set(state,#state)
3282 static void debug_enter(int, const char*);
3283 static void debug_leave(void);
3284 static void debug_set(int, const char*);
3286 # define ENTER(state) (yy_push_state(state))
3287 # define LEAVE (yy_pop_state())
3288 # define SET(state) BEGIN(state)
3291 /* Generic actions. */
3292 #define SKIP /*skip*/
3293 #define SUCCEED CLEANUP; return 0
3295 #define FAIL return fail
3296 static int fail(const char*, ...);
3298 enum {flexml_max_err_msg_size = 512};
3299 static char flexml_err_msg[flexml_max_err_msg_size];
3300 const char * surfxml_parse_err_msg()
3302 return flexml_err_msg;
3304 static void reset_surfxml_parse_err_msg()
3306 flexml_err_msg[0] = '\0';
3310 static void cleanup(void);
3311 #define CLEANUP cleanup()
3313 /* Text buffer stack handling. */
3314 char *surfxml_bufferstack = NULL;
3315 static int blimit = FLEXML_BUFFERSTACKSIZE;
3316 static int bnext = 1;
3318 static int *indexstack = NULL;
3319 static int ilimit = FLEXML_INDEXSTACKSIZE;
3320 static int inext = 1;
3322 #define BUFFERSET(P) (P = bnext)
3323 #define BUFFERPUTC(C) (ck_blimit(), surfxml_bufferstack[bnext++] = (C))
3324 #define BUFFERDONE (BUFFERPUTC('\0'))
3326 #define BUFFERLITERAL(C, P) surfxml_bufferliteral(C, &(P), surf_parse_text)
3328 /* after this is called, there are at least 2 slots left in the stack */
3329 static int ck_blimit()
3331 if (bnext >= blimit) {
3332 blimit += FLEXML_BUFFERSTACKSIZE + 2;
3334 char *temp = (char *) realloc(surfxml_bufferstack, blimit);
3336 surfxml_bufferstack = temp;
3342 /* after this is called, there are at least 2 slots left in the stack */
3343 static int ck_ilimit()
3345 if (inext >= ilimit) {
3346 ilimit += FLEXML_INDEXSTACKSIZE + 2;
3348 int *temp = (int *) realloc(indexstack, ilimit);
3356 #ifdef FLEXML_NEED_BUFFERLIT
3357 static void surfxml_bufferliteral(char c, int* pp, const char* text)
3359 const char *s = (c ? strchr(text,c) : text-1), *e = strrchr(text,c);
3360 assert(s <= e); BUFFERSET(*pp);
3362 if (isspace(*s) && c) { BUFFERPUTC(' '); while (isspace(*s)) ++s; }
3363 else BUFFERPUTC(*s);
3369 static void pushbuffer(int p)
3372 indexstack[inext++] = p;
3373 indexstack[inext++] = bnext;
3376 static int popbuffer(void)
3379 bnext = indexstack[--inext];
3380 return indexstack[--inext];
3383 /* General internal entities are `unput' back onto the input stream... */
3384 #define ENTITYTEXT(T) \
3385 { char *s = (T), *e = s+strlen(s);\
3386 while (--e >= s) { unput(*e); }}
3388 /* Flex standard options. */
3389 #define YY_NO_INPUT 1
3390 /* Flex user-requested options. */
3391 /* XML character classes (currently restricted to ASCII). */
3392 /* "Common syntactic structures." */
3393 /* "Names and Tokens." */
3394 /* Miscellaneous. */
3395 /* Parser states (flex `exclusive start conditions'):
3397 * PROLOG the XML prolog of the document before <?xml...>
3398 * DOCTYPE the XML prolog of the document after <?xml...>
3399 * EPILOG after the root element
3400 * INCOMMENT inside an XML comment <!--....-->
3401 * INPI inside an XML PI <?...?>
3402 * VALUE1 inside a '...'-delimited literal
3403 * VALUE2 inside a "..."-delimited literal
3404 * CDATA inside a <![CDATA[...] ]> section.
3405 * ROOT_<tag> expect root element <tag>
3406 * AL_<tag> inside the attribute list for <tag>
3407 * IN_<tag> inside a <tag> with element contents (ready for end tag)
3408 * IMPOSSIBLE dummy to permit disabling rules; must be last
3412 const char* *surfxml_statenames=NULL;
3423 #define ROOT_surfxml_platform 9
3424 #define AL_surfxml_platform 10
3425 #define S_surfxml_platform 11
3426 #define S_surfxml_platform_1 12
3427 #define S_surfxml_platform_2 13
3428 #define S_surfxml_platform_3 14
3429 #define S_surfxml_platform_4 15
3430 #define S_surfxml_platform_5 16
3431 #define S_surfxml_platform_6 17
3432 #define E_surfxml_platform 18
3433 #define AL_surfxml_trace 19
3435 #define AL_surfxml_random 21
3436 #define S_surfxml_random 22
3437 #define S_surfxml_random_1 23
3438 #define S_surfxml_random_2 24
3439 #define E_surfxml_random 25
3440 #define AL_surfxml_trace_connect 26
3441 #define E_surfxml_trace_connect 27
3442 #define AL_surfxml_AS 28
3443 #define S_surfxml_AS 29
3444 #define S_surfxml_AS_1 30
3445 #define S_surfxml_AS_2 31
3446 #define S_surfxml_AS_3 32
3447 #define S_surfxml_AS_4 33
3448 #define S_surfxml_AS_5 34
3449 #define S_surfxml_AS_6 35
3450 #define S_surfxml_AS_7 36
3451 #define S_surfxml_AS_8 37
3452 #define S_surfxml_AS_9 38
3453 #define S_surfxml_AS_10 39
3454 #define S_surfxml_AS_11 40
3455 #define S_surfxml_AS_12 41
3456 #define S_surfxml_AS_13 42
3457 #define E_surfxml_AS 43
3458 #define AL_surfxml_host 44
3459 #define S_surfxml_host 45
3460 #define S_surfxml_host_1 46
3461 #define S_surfxml_host_2 47
3462 #define E_surfxml_host 48
3463 #define AL_surfxml_cluster 49
3464 #define E_surfxml_cluster 50
3465 #define AL_surfxml_peer 51
3466 #define E_surfxml_peer 52
3467 #define AL_surfxml_router 53
3468 #define E_surfxml_router 54
3469 #define AL_surfxml_link 55
3470 #define S_surfxml_link 56
3471 #define S_surfxml_link_1 57
3472 #define S_surfxml_link_2 58
3473 #define E_surfxml_link 59
3474 #define AL_surfxml_route 60
3475 #define S_surfxml_route 61
3476 #define S_surfxml_route_1 62
3477 #define S_surfxml_route_2 63
3478 #define E_surfxml_route 64
3479 #define AL_surfxml_ASroute 65
3480 #define S_surfxml_ASroute 66
3481 #define S_surfxml_ASroute_1 67
3482 #define S_surfxml_ASroute_2 68
3483 #define E_surfxml_ASroute 69
3484 #define AL_surfxml_link_ctn 70
3485 #define E_surfxml_link_ctn 71
3486 #define AL_surfxml_bypassRoute 72
3487 #define S_surfxml_bypassRoute 73
3488 #define S_surfxml_bypassRoute_1 74
3489 #define S_surfxml_bypassRoute_2 75
3490 #define E_surfxml_bypassRoute 76
3491 #define AL_surfxml_process 77
3492 #define S_surfxml_process 78
3493 #define S_surfxml_process_1 79
3494 #define S_surfxml_process_2 80
3495 #define E_surfxml_process 81
3496 #define AL_surfxml_argument 82
3497 #define E_surfxml_argument 83
3498 #define AL_surfxml_config 84
3499 #define S_surfxml_config 85
3500 #define S_surfxml_config_1 86
3501 #define S_surfxml_config_2 87
3502 #define E_surfxml_config 88
3503 #define AL_surfxml_prop 89
3504 #define E_surfxml_prop 90
3505 #define IMPOSSIBLE 91
3507 #ifndef YY_NO_UNISTD_H
3508 /* Special case for "unistd.h", since it is non-ANSI. We include it way
3509 * down here because we want the user's section 1 to have been scanned first.
3510 * The user has a chance to override it with an option.
3512 #if defined(_XBT_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__TOS_WIN__)
3513 # ifndef __STRICT_ANSI__
3515 # include <process.h>
3518 # include <unistd.h>
3522 #ifndef YY_EXTRA_TYPE
3523 #define YY_EXTRA_TYPE void *
3526 static int yy_init_globals (void );
3528 /* Accessor methods to globals.
3529 These are made visible to non-reentrant scanners for convenience. */
3531 int surf_parse_lex_destroy (void );
3533 int surf_parse_get_debug (void );
3535 void surf_parse_set_debug (int debug_flag );
3537 YY_EXTRA_TYPE surf_parse_get_extra (void );
3539 void surf_parse_set_extra (YY_EXTRA_TYPE user_defined );
3541 FILE *surf_parse_get_in (void );
3543 void surf_parse_set_in (FILE * in_str );
3545 FILE *surf_parse_get_out (void );
3547 void surf_parse_set_out (FILE * out_str );
3549 int surf_parse_get_leng (void );
3551 char *surf_parse_get_text (void );
3553 int surf_parse_get_lineno (void );
3555 void surf_parse_set_lineno (int line_number );
3557 /* Macros after this point can all be overridden by user definitions in
3561 #ifndef YY_SKIP_YYWRAP
3563 extern "C" int surf_parse_wrap (void );
3565 extern int surf_parse_wrap (void );
3570 static void yy_flex_strncpy (char *,yyconst char *,int );
3573 #ifdef YY_NEED_STRLEN
3574 static int yy_flex_strlen (yyconst char * );
3580 static int yyinput (void );
3582 static int input (void );
3587 static int yy_start_stack_ptr = 0;
3588 static int yy_start_stack_depth = 0;
3589 static int *yy_start_stack = NULL;
3591 static void yy_push_state (int new_state );
3593 static void yy_pop_state (void );
3595 /* Amount of stuff to slurp up with each read. */
3596 #ifndef YY_READ_BUF_SIZE
3598 /* On IA-64, the buffer size is 16k, not 8k */
3599 #define YY_READ_BUF_SIZE 16384
3601 #define YY_READ_BUF_SIZE 8192
3602 #endif /* __ia64__ */
3605 /* Copy whatever the last rule matched to the standard output. */
3607 /* This used to be an fputs(), but since the string might contain NUL's,
3608 * we now use fwrite().
3610 #define ECHO do { if (fwrite( surf_parse_text, surf_parse_leng, 1, surf_parse_out )) {} } while (0)
3613 /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
3614 * is returned in "result".
3617 #define YY_INPUT(buf,result,max_size) \
3618 if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
3622 for ( n = 0; n < max_size && \
3623 (c = getc( surf_parse_in )) != EOF && c != '\n'; ++n ) \
3624 buf[n] = (char) c; \
3626 buf[n++] = (char) c; \
3627 if ( c == EOF && ferror( surf_parse_in ) ) \
3628 YY_FATAL_ERROR( "input in flex scanner failed" ); \
3634 while ( (result = fread(buf, 1, max_size, surf_parse_in))==0 && ferror(surf_parse_in)) \
3636 if( errno != EINTR) \
3638 YY_FATAL_ERROR( "input in flex scanner failed" ); \
3642 clearerr(surf_parse_in); \
3649 /* No semi-colon after return; correct usage is to write "yyterminate();" -
3650 * we don't want an extra ';' after the "return" because that will cause
3651 * some compilers to complain about unreachable statements.
3654 #define yyterminate() return YY_NULL
3657 /* Number of entries by which start-condition stack grows. */
3658 #ifndef YY_START_STACK_INCR
3659 #define YY_START_STACK_INCR 25
3662 /* Report a fatal error. */
3663 #ifndef YY_FATAL_ERROR
3664 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
3667 /* end tables serialization structures and prototypes */
3669 /* Default declaration of generated scanner - a define so the user can
3670 * easily add parameters.
3673 #define YY_DECL_IS_OURS 1
3675 extern int surf_parse_lex (void);
3677 #define YY_DECL int surf_parse_lex (void)
3678 #endif /* !YY_DECL */
3680 /* Code executed at the beginning of each rule, after surf_parse_text and surf_parse_leng
3683 #ifndef YY_USER_ACTION
3684 #define YY_USER_ACTION
3687 /* Code executed at the end of each rule. */
3689 #define YY_BREAK break;
3692 #define YY_RULE_SETUP \
3695 /** The main scanner function which does all the work.
3699 register yy_state_type yy_current_state;
3700 register char *yy_cp, *yy_bp;
3701 register int yy_act;
3703 /* Bypass Flex's default INITIAL state and begin by parsing the XML prolog. */
3705 reset_surfxml_parse_err_msg();
3706 surfxml_bufferstack = (char *) malloc(FLEXML_BUFFERSTACKSIZE);
3707 assert(surfxml_bufferstack);
3711 for (i = 0; i < blimit; i++) {
3712 surfxml_bufferstack[i] = '\377';
3716 surfxml_bufferstack[0] = '\0';
3717 indexstack = (int *) malloc(FLEXML_INDEXSTACKSIZE * sizeof(int));
3723 surfxml_bufferliteral('\0', &bnext, "0.0");
3724 surfxml_bufferliteral('\0', &bnext, "1");
3725 surfxml_bufferliteral('\0', &bnext, "1.0");
3726 surfxml_bufferliteral('\0', &bnext, "1");
3727 surfxml_bufferliteral('\0', &bnext, "0.0");
3728 surfxml_bufferliteral('\0', &bnext, "-1.0");
3729 surfxml_bufferliteral('\0', &bnext, "-1.0");
3730 if(!surfxml_statenames) {surfxml_statenames= (const char **)calloc(IMPOSSIBLE,sizeof(char*));
3731 surfxml_statenames[PROLOG] = NULL;
3732 surfxml_statenames[DOCTYPE] = NULL;
3733 surfxml_statenames[EPILOG] = NULL;
3734 surfxml_statenames[INCOMMENT] = NULL;
3735 surfxml_statenames[INPI] = NULL;
3736 surfxml_statenames[VALUE1] = NULL;
3737 surfxml_statenames[VALUE2] = NULL;
3738 surfxml_statenames[CDATA] = NULL;
3739 surfxml_statenames[ROOT_surfxml_platform] = NULL;
3740 surfxml_statenames[AL_surfxml_platform] = NULL;
3741 surfxml_statenames[S_surfxml_platform] = "platform";
3742 surfxml_statenames[S_surfxml_platform_1] = "platform";
3743 surfxml_statenames[S_surfxml_platform_2] = "platform";
3744 surfxml_statenames[S_surfxml_platform_3] = "platform";
3745 surfxml_statenames[S_surfxml_platform_4] = "platform";
3746 surfxml_statenames[S_surfxml_platform_5] = "platform";
3747 surfxml_statenames[S_surfxml_platform_6] = "platform";
3748 surfxml_statenames[E_surfxml_platform] = "platform";
3749 surfxml_statenames[AL_surfxml_trace] = NULL;
3750 surfxml_statenames[IN_trace] = "trace";
3751 surfxml_statenames[AL_surfxml_random] = NULL;
3752 surfxml_statenames[S_surfxml_random] = "random";
3753 surfxml_statenames[S_surfxml_random_1] = "random";
3754 surfxml_statenames[S_surfxml_random_2] = "random";
3755 surfxml_statenames[E_surfxml_random] = "random";
3756 surfxml_statenames[AL_surfxml_trace_connect] = NULL;
3757 surfxml_statenames[E_surfxml_trace_connect] = "trace_connect";
3758 surfxml_statenames[AL_surfxml_AS] = NULL;
3759 surfxml_statenames[S_surfxml_AS] = "AS";
3760 surfxml_statenames[S_surfxml_AS_1] = "AS";
3761 surfxml_statenames[S_surfxml_AS_2] = "AS";
3762 surfxml_statenames[S_surfxml_AS_3] = "AS";
3763 surfxml_statenames[S_surfxml_AS_4] = "AS";
3764 surfxml_statenames[S_surfxml_AS_5] = "AS";
3765 surfxml_statenames[S_surfxml_AS_6] = "AS";
3766 surfxml_statenames[S_surfxml_AS_7] = "AS";
3767 surfxml_statenames[S_surfxml_AS_8] = "AS";
3768 surfxml_statenames[S_surfxml_AS_9] = "AS";
3769 surfxml_statenames[S_surfxml_AS_10] = "AS";
3770 surfxml_statenames[S_surfxml_AS_11] = "AS";
3771 surfxml_statenames[S_surfxml_AS_12] = "AS";
3772 surfxml_statenames[S_surfxml_AS_13] = "AS";
3773 surfxml_statenames[E_surfxml_AS] = "AS";
3774 surfxml_statenames[AL_surfxml_host] = NULL;
3775 surfxml_statenames[S_surfxml_host] = "host";
3776 surfxml_statenames[S_surfxml_host_1] = "host";
3777 surfxml_statenames[S_surfxml_host_2] = "host";
3778 surfxml_statenames[E_surfxml_host] = "host";
3779 surfxml_statenames[AL_surfxml_cluster] = NULL;
3780 surfxml_statenames[E_surfxml_cluster] = "cluster";
3781 surfxml_statenames[AL_surfxml_peer] = NULL;
3782 surfxml_statenames[E_surfxml_peer] = "peer";
3783 surfxml_statenames[AL_surfxml_router] = NULL;
3784 surfxml_statenames[E_surfxml_router] = "router";
3785 surfxml_statenames[AL_surfxml_link] = NULL;
3786 surfxml_statenames[S_surfxml_link] = "link";
3787 surfxml_statenames[S_surfxml_link_1] = "link";
3788 surfxml_statenames[S_surfxml_link_2] = "link";
3789 surfxml_statenames[E_surfxml_link] = "link";
3790 surfxml_statenames[AL_surfxml_route] = NULL;
3791 surfxml_statenames[S_surfxml_route] = "route";
3792 surfxml_statenames[S_surfxml_route_1] = "route";
3793 surfxml_statenames[S_surfxml_route_2] = "route";
3794 surfxml_statenames[E_surfxml_route] = "route";
3795 surfxml_statenames[AL_surfxml_ASroute] = NULL;
3796 surfxml_statenames[S_surfxml_ASroute] = "ASroute";
3797 surfxml_statenames[S_surfxml_ASroute_1] = "ASroute";
3798 surfxml_statenames[S_surfxml_ASroute_2] = "ASroute";
3799 surfxml_statenames[E_surfxml_ASroute] = "ASroute";
3800 surfxml_statenames[AL_surfxml_link_ctn] = NULL;
3801 surfxml_statenames[E_surfxml_link_ctn] = "link_ctn";
3802 surfxml_statenames[AL_surfxml_bypassRoute] = NULL;
3803 surfxml_statenames[S_surfxml_bypassRoute] = "bypassRoute";
3804 surfxml_statenames[S_surfxml_bypassRoute_1] = "bypassRoute";
3805 surfxml_statenames[S_surfxml_bypassRoute_2] = "bypassRoute";
3806 surfxml_statenames[E_surfxml_bypassRoute] = "bypassRoute";
3807 surfxml_statenames[AL_surfxml_process] = NULL;
3808 surfxml_statenames[S_surfxml_process] = "process";
3809 surfxml_statenames[S_surfxml_process_1] = "process";
3810 surfxml_statenames[S_surfxml_process_2] = "process";
3811 surfxml_statenames[E_surfxml_process] = "process";
3812 surfxml_statenames[AL_surfxml_argument] = NULL;
3813 surfxml_statenames[E_surfxml_argument] = "argument";
3814 surfxml_statenames[AL_surfxml_config] = NULL;
3815 surfxml_statenames[S_surfxml_config] = "config";
3816 surfxml_statenames[S_surfxml_config_1] = "config";
3817 surfxml_statenames[S_surfxml_config_2] = "config";
3818 surfxml_statenames[E_surfxml_config] = "config";
3819 surfxml_statenames[AL_surfxml_prop] = NULL;
3820 surfxml_statenames[E_surfxml_prop] = "prop";
3823 /* COMMENTS and PIs: handled uniformly for efficiency. */
3834 (yy_start) = 1; /* first start state */
3836 if ( ! surf_parse_in )
3837 surf_parse_in = stdin;
3839 if ( ! surf_parse_out )
3840 surf_parse_out = stdout;
3842 if ( ! YY_CURRENT_BUFFER ) {
3843 surf_parse_ensure_buffer_stack ();
3844 YY_CURRENT_BUFFER_LVALUE =
3845 surf_parse__create_buffer(surf_parse_in,YY_BUF_SIZE );
3848 surf_parse__load_buffer_state( );
3851 while ( 1 ) /* loops until end-of-file is reached */
3853 yy_cp = (yy_c_buf_p);
3855 /* Support of surf_parse_text. */
3856 *yy_cp = (yy_hold_char);
3858 /* yy_bp points to the position in yy_ch_buf of the start of
3863 yy_current_state = (yy_start);
3867 register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
3868 if ( yy_accept[yy_current_state] )
3870 (yy_last_accepting_state) = yy_current_state;
3871 (yy_last_accepting_cpos) = yy_cp;
3873 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3875 yy_current_state = (int) yy_def[yy_current_state];
3876 if ( yy_current_state >= 2257 )
3877 yy_c = yy_meta[(unsigned int) yy_c];
3879 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
3882 while ( yy_base[yy_current_state] != 7722 );
3885 yy_act = yy_accept[yy_current_state];
3887 { /* have to back up */
3888 yy_cp = (yy_last_accepting_cpos);
3889 yy_current_state = (yy_last_accepting_state);
3890 yy_act = yy_accept[yy_current_state];
3893 YY_DO_BEFORE_ACTION;
3895 if ( yy_act != YY_END_OF_BUFFER && yy_rule_can_match_eol[yy_act] )
3898 for ( yyl = 0; yyl < surf_parse_leng; ++yyl )
3899 if ( surf_parse_text[yyl] == '\n' )
3901 surf_parse_lineno++;
3905 do_action: /* This label is used only to access EOF actions. */
3908 { /* beginning of action switch */
3909 case 0: /* must back up */
3910 /* undo the effects of YY_DO_BEFORE_ACTION */
3911 *yy_cp = (yy_hold_char);
3912 yy_cp = (yy_last_accepting_cpos);
3913 yy_current_state = (yy_last_accepting_state);
3914 goto yy_find_action;
3932 /* rule 6 can match eol */
3936 case YY_STATE_EOF(INCOMMENT):
3937 FAIL("EOF in comment.");
3946 /* rule 9 can match eol */
3950 case YY_STATE_EOF(INPI):
3951 FAIL("EOF in PI (processing instruction).");
3954 /* SPACES: skipped uniformly */
3956 /* rule 10 can match eol */
3960 /* PROLOG: determine root element and process it. */
3963 /* rule 11 can match eol */
3968 /* rule 12 can match eol */
3970 FAIL("Bad declaration %s.",surf_parse_text);
3974 /* rule 13 can match eol */
3976 SET(ROOT_surfxml_platform);
3979 /* rule 14 can match eol */
3981 FAIL("Bad declaration %s.",surf_parse_text);
3985 FAIL("Unexpected character `%c' in prolog.", surf_parse_text[0]);
3987 case YY_STATE_EOF(PROLOG):
3988 case YY_STATE_EOF(DOCTYPE):
3989 FAIL("EOF in prolog.");
3992 /* RULES DERIVED FROM DTD. */
3993 /* <!-- Small DTD for SURF based tools. --> */
3995 /* rule 16 can match eol */
3997 FAIL("Starting tag <platform> is not allowed here.");
4000 /* rule 17 can match eol */
4003 AX_surfxml_platform_version = 1;
4004 ENTER(AL_surfxml_platform); pushbuffer(0);
4009 /* rule 18 can match eol */
4011 ENTER(VALUE1); BUFFERSET(AX_surfxml_platform_version);
4014 /* rule 19 can match eol */
4016 ENTER(VALUE2); BUFFERSET(AX_surfxml_platform_version);
4021 LEAVE; STag_surfxml_platform();surfxml_pcdata_ix = 0; ENTER(S_surfxml_platform);
4027 LEAVE; STag_surfxml_platform(); surfxml_pcdata_ix = 0; ETag_surfxml_platform(); popbuffer(); /* attribute */
4029 case ROOT_surfxml_platform: SET(EPILOG); break;
4035 FAIL("Unexpected character `%c' in attribute list of platform element.", surf_parse_text[0]);
4039 FAIL("Bad attribute `%s' in `platform' element start tag.",surf_parse_text);
4041 case YY_STATE_EOF(AL_surfxml_platform):
4042 FAIL("EOF in attribute list of `platform' element.");
4046 /* rule 24 can match eol */
4050 ETag_surfxml_platform();
4051 popbuffer(); /* attribute */
4053 case ROOT_surfxml_platform: SET(EPILOG); break;
4058 /* rule 25 can match eol */
4060 FAIL("Unexpected end-tag `%s': `</platform>' expected.",surf_parse_text);
4064 FAIL("Unexpected character `%c': `</platform>' expected.",surf_parse_text[0]);
4066 case YY_STATE_EOF(S_surfxml_platform_2):
4067 case YY_STATE_EOF(S_surfxml_platform_1):
4068 case YY_STATE_EOF(S_surfxml_platform):
4069 case YY_STATE_EOF(S_surfxml_platform_4):
4070 case YY_STATE_EOF(S_surfxml_platform_6):
4071 case YY_STATE_EOF(E_surfxml_platform):
4072 FAIL("Premature EOF: `</platform>' expected.");
4076 /* rule 27 can match eol */
4078 FAIL("Starting tag <trace> is not allowed here.");
4081 /* rule 28 can match eol */
4084 AX_surfxml_trace_id = 0;
4085 AX_surfxml_trace_file = 0;
4086 AX_surfxml_trace_periodicity = 0;
4087 ENTER(AL_surfxml_trace); pushbuffer(0);
4092 /* rule 29 can match eol */
4094 ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_id);
4097 /* rule 30 can match eol */
4099 ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_id);
4102 /* rule 31 can match eol */
4104 ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_file);
4107 /* rule 32 can match eol */
4109 ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_file);
4112 /* rule 33 can match eol */
4114 ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_periodicity);
4117 /* rule 34 can match eol */
4119 ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_periodicity);
4124 if (!AX_surfxml_trace_id) FAIL("Required attribute `id' not set for `trace' element.");
4125 if (!AX_surfxml_trace_periodicity) FAIL("Required attribute `periodicity' not set for `trace' element.");
4126 LEAVE; STag_surfxml_trace();pushbuffer(surfxml_pcdata_ix); BUFFERSET(surfxml_pcdata_ix);; ENTER(IN_trace);
4132 if (!AX_surfxml_trace_id) FAIL("Required attribute `id' not set for `trace' element.");
4133 if (!AX_surfxml_trace_periodicity) FAIL("Required attribute `periodicity' not set for `trace' element.");
4134 LEAVE; STag_surfxml_trace(); surfxml_pcdata_ix = 0; ETag_surfxml_trace(); popbuffer(); /* attribute */
4136 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;
4137 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
4138 case S_surfxml_AS_2: SET(S_surfxml_AS_3); break;
4139 case S_surfxml_AS_1: case S_surfxml_AS_5: SET(S_surfxml_AS_6); break;
4140 case S_surfxml_platform_4: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_4); break;
4141 case S_surfxml_AS_12: case S_surfxml_AS_9: case S_surfxml_AS_13: SET(S_surfxml_AS_13); break;
4147 FAIL("Unexpected character `%c' in attribute list of trace element.", surf_parse_text[0]);
4151 FAIL("Bad attribute `%s' in `trace' element start tag.",surf_parse_text);
4153 case YY_STATE_EOF(AL_surfxml_trace):
4154 FAIL("EOF in attribute list of `trace' element.");
4158 /* rule 39 can match eol */
4163 ETag_surfxml_trace();
4164 surfxml_pcdata_ix = popbuffer();
4165 popbuffer(); /* attribute */
4167 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;
4168 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
4169 case S_surfxml_AS_2: SET(S_surfxml_AS_3); break;
4170 case S_surfxml_AS_1: case S_surfxml_AS_5: SET(S_surfxml_AS_6); break;
4171 case S_surfxml_platform_4: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_4); break;
4172 case S_surfxml_AS_12: case S_surfxml_AS_9: case S_surfxml_AS_13: SET(S_surfxml_AS_13); break;
4177 /* rule 40 can match eol */
4179 FAIL("Unexpected end-tag `%s': `</trace>' expected.",surf_parse_text);
4181 case YY_STATE_EOF(IN_trace):
4182 FAIL("Premature EOF: `</trace>' expected.");
4186 /* rule 41 can match eol */
4188 FAIL("Starting tag <random> is not allowed here.");
4191 /* rule 42 can match eol */
4194 AX_surfxml_random_id = 0;
4195 AX_surfxml_random_min = 0;
4196 AX_surfxml_random_max = 0;
4197 AX_surfxml_random_mean = 0;
4198 AX_surfxml_random_std_deviation = 0;
4199 AX_surfxml_random_generator = A_surfxml_random_generator_DRAND48;
4200 ENTER(AL_surfxml_random); pushbuffer(0);
4205 /* rule 43 can match eol */
4207 ENTER(VALUE1); BUFFERSET(AX_surfxml_random_id);
4210 /* rule 44 can match eol */
4212 ENTER(VALUE2); BUFFERSET(AX_surfxml_random_id);
4215 /* rule 45 can match eol */
4217 ENTER(VALUE1); BUFFERSET(AX_surfxml_random_min);
4220 /* rule 46 can match eol */
4222 ENTER(VALUE2); BUFFERSET(AX_surfxml_random_min);
4225 /* rule 47 can match eol */
4227 ENTER(VALUE1); BUFFERSET(AX_surfxml_random_max);
4230 /* rule 48 can match eol */
4232 ENTER(VALUE2); BUFFERSET(AX_surfxml_random_max);
4235 /* rule 49 can match eol */
4237 ENTER(VALUE1); BUFFERSET(AX_surfxml_random_mean);
4240 /* rule 50 can match eol */
4242 ENTER(VALUE2); BUFFERSET(AX_surfxml_random_mean);
4245 /* rule 51 can match eol */
4247 ENTER(VALUE1); BUFFERSET(AX_surfxml_random_std_deviation);
4250 /* rule 52 can match eol */
4252 ENTER(VALUE2); BUFFERSET(AX_surfxml_random_std_deviation);
4255 /* rule 53 can match eol */
4257 /* rule 54 can match eol */
4259 A_surfxml_random_generator = A_surfxml_random_generator_DRAND48;
4262 /* rule 55 can match eol */
4264 /* rule 56 can match eol */
4266 A_surfxml_random_generator = A_surfxml_random_generator_RAND;
4271 if (!AX_surfxml_random_id) FAIL("Required attribute `id' not set for `random' element.");
4272 if (!AX_surfxml_random_min) FAIL("Required attribute `min' not set for `random' element.");
4273 if (!AX_surfxml_random_max) FAIL("Required attribute `max' not set for `random' element.");
4274 if (!AX_surfxml_random_mean) FAIL("Required attribute `mean' not set for `random' element.");
4275 if (!AX_surfxml_random_std_deviation) FAIL("Required attribute `std_deviation' not set for `random' element.");
4276 LEAVE; STag_surfxml_random();surfxml_pcdata_ix = 0; ENTER(S_surfxml_random);
4282 if (!AX_surfxml_random_id) FAIL("Required attribute `id' not set for `random' element.");
4283 if (!AX_surfxml_random_min) FAIL("Required attribute `min' not set for `random' element.");
4284 if (!AX_surfxml_random_max) FAIL("Required attribute `max' not set for `random' element.");
4285 if (!AX_surfxml_random_mean) FAIL("Required attribute `mean' not set for `random' element.");
4286 if (!AX_surfxml_random_std_deviation) FAIL("Required attribute `std_deviation' not set for `random' element.");
4287 LEAVE; STag_surfxml_random(); surfxml_pcdata_ix = 0; ETag_surfxml_random(); popbuffer(); /* attribute */
4289 case S_surfxml_config: SET(E_surfxml_config); break;
4295 FAIL("Unexpected character `%c' in attribute list of random element.", surf_parse_text[0]);
4299 FAIL("Bad attribute `%s' in `random' element start tag.",surf_parse_text);
4301 case YY_STATE_EOF(AL_surfxml_random):
4302 FAIL("EOF in attribute list of `random' element.");
4306 /* rule 61 can match eol */
4310 ETag_surfxml_random();
4311 popbuffer(); /* attribute */
4313 case S_surfxml_config: SET(E_surfxml_config); break;
4318 /* rule 62 can match eol */
4320 FAIL("Unexpected end-tag `%s': `</random>' expected.",surf_parse_text);
4324 FAIL("Unexpected character `%c': `</random>' expected.",surf_parse_text[0]);
4326 case YY_STATE_EOF(S_surfxml_random_2):
4327 case YY_STATE_EOF(S_surfxml_random):
4328 case YY_STATE_EOF(E_surfxml_random):
4329 FAIL("Premature EOF: `</random>' expected.");
4333 /* rule 64 can match eol */
4335 FAIL("Starting tag <trace_connect> is not allowed here.");
4338 /* rule 65 can match eol */
4341 AX_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_HOST_AVAIL;
4342 AX_surfxml_trace_connect_trace = 0;
4343 AX_surfxml_trace_connect_element = 0;
4344 ENTER(AL_surfxml_trace_connect); pushbuffer(0);
4349 /* rule 66 can match eol */
4351 /* rule 67 can match eol */
4353 A_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_HOST_AVAIL;
4356 /* rule 68 can match eol */
4358 /* rule 69 can match eol */
4360 A_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_POWER;
4363 /* rule 70 can match eol */
4365 /* rule 71 can match eol */
4367 A_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_LINK_AVAIL;
4370 /* rule 72 can match eol */
4372 /* rule 73 can match eol */
4374 A_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_BANDWIDTH;
4377 /* rule 74 can match eol */
4379 /* rule 75 can match eol */
4381 A_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_LATENCY;
4384 /* rule 76 can match eol */
4386 ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_connect_trace);
4389 /* rule 77 can match eol */
4391 ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_connect_trace);
4394 /* rule 78 can match eol */
4396 ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_connect_element);
4399 /* rule 79 can match eol */
4401 ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_connect_element);
4406 if (!AX_surfxml_trace_connect_trace) FAIL("Required attribute `trace' not set for `trace_connect' element.");
4407 if (!AX_surfxml_trace_connect_element) FAIL("Required attribute `element' not set for `trace_connect' element.");
4408 LEAVE; STag_surfxml_trace_connect();surfxml_pcdata_ix = 0; ENTER(E_surfxml_trace_connect);
4414 if (!AX_surfxml_trace_connect_trace) FAIL("Required attribute `trace' not set for `trace_connect' element.");
4415 if (!AX_surfxml_trace_connect_element) FAIL("Required attribute `element' not set for `trace_connect' element.");
4416 LEAVE; STag_surfxml_trace_connect(); surfxml_pcdata_ix = 0; ETag_surfxml_trace_connect(); popbuffer(); /* attribute */
4418 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;
4419 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
4420 case S_surfxml_AS_2: SET(S_surfxml_AS_3); break;
4421 case S_surfxml_AS_1: case S_surfxml_AS_5: SET(S_surfxml_AS_6); break;
4422 case S_surfxml_platform_4: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_4); break;
4423 case S_surfxml_AS_12: case S_surfxml_AS_9: case S_surfxml_AS_13: SET(S_surfxml_AS_13); break;
4429 FAIL("Unexpected character `%c' in attribute list of trace_connect element.", surf_parse_text[0]);
4433 FAIL("Bad attribute `%s' in `trace_connect' element start tag.",surf_parse_text);
4435 case YY_STATE_EOF(AL_surfxml_trace_connect):
4436 FAIL("EOF in attribute list of `trace_connect' element.");
4440 /* rule 84 can match eol */
4444 ETag_surfxml_trace_connect();
4445 popbuffer(); /* attribute */
4447 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;
4448 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
4449 case S_surfxml_AS_2: SET(S_surfxml_AS_3); break;
4450 case S_surfxml_AS_1: case S_surfxml_AS_5: SET(S_surfxml_AS_6); break;
4451 case S_surfxml_platform_4: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_4); break;
4452 case S_surfxml_AS_12: case S_surfxml_AS_9: case S_surfxml_AS_13: SET(S_surfxml_AS_13); break;
4457 /* rule 85 can match eol */
4459 FAIL("Unexpected end-tag `%s': `</trace_connect>' expected.",surf_parse_text);
4463 FAIL("Unexpected character `%c': `</trace_connect>' expected.",surf_parse_text[0]);
4465 case YY_STATE_EOF(E_surfxml_trace_connect):
4466 FAIL("Premature EOF: `</trace_connect>' expected.");
4470 /* rule 87 can match eol */
4472 FAIL("Starting tag <AS> is not allowed here.");
4475 /* rule 88 can match eol */
4478 AX_surfxml_AS_id = 0;
4479 AX_surfxml_AS_routing = 0;
4480 ENTER(AL_surfxml_AS); pushbuffer(0);
4485 /* rule 89 can match eol */
4487 ENTER(VALUE1); BUFFERSET(AX_surfxml_AS_id);
4490 /* rule 90 can match eol */
4492 ENTER(VALUE2); BUFFERSET(AX_surfxml_AS_id);
4495 /* rule 91 can match eol */
4497 ENTER(VALUE1); BUFFERSET(AX_surfxml_AS_routing);
4500 /* rule 92 can match eol */
4502 ENTER(VALUE2); BUFFERSET(AX_surfxml_AS_routing);
4507 if (!AX_surfxml_AS_id) FAIL("Required attribute `id' not set for `AS' element.");
4508 if (!AX_surfxml_AS_routing) FAIL("Required attribute `routing' not set for `AS' element.");
4509 LEAVE; STag_surfxml_AS();surfxml_pcdata_ix = 0; ENTER(S_surfxml_AS);
4515 if (!AX_surfxml_AS_id) FAIL("Required attribute `id' not set for `AS' element.");
4516 if (!AX_surfxml_AS_routing) FAIL("Required attribute `routing' not set for `AS' element.");
4517 LEAVE; STag_surfxml_AS(); surfxml_pcdata_ix = 0; ETag_surfxml_AS(); popbuffer(); /* attribute */
4519 case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
4520 case S_surfxml_platform_4: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_4); break;
4526 FAIL("Unexpected character `%c' in attribute list of AS element.", surf_parse_text[0]);
4530 FAIL("Bad attribute `%s' in `AS' element start tag.",surf_parse_text);
4532 case YY_STATE_EOF(AL_surfxml_AS):
4533 FAIL("EOF in attribute list of `AS' element.");
4537 /* rule 97 can match eol */
4542 popbuffer(); /* attribute */
4544 case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
4545 case S_surfxml_platform_4: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_4); break;
4550 /* rule 98 can match eol */
4552 FAIL("Unexpected end-tag `%s': `</AS>' expected.",surf_parse_text);
4556 FAIL("Unexpected character `%c': `</AS>' expected.",surf_parse_text[0]);
4558 case YY_STATE_EOF(S_surfxml_AS_1):
4559 case YY_STATE_EOF(S_surfxml_AS_9):
4560 case YY_STATE_EOF(S_surfxml_AS_11):
4561 case YY_STATE_EOF(S_surfxml_AS_6):
4562 case YY_STATE_EOF(E_surfxml_AS):
4563 case YY_STATE_EOF(S_surfxml_AS_3):
4564 case YY_STATE_EOF(S_surfxml_AS_13):
4565 case YY_STATE_EOF(S_surfxml_AS_8):
4566 case YY_STATE_EOF(S_surfxml_AS):
4567 case YY_STATE_EOF(S_surfxml_AS_4):
4568 FAIL("Premature EOF: `</AS>' expected.");
4572 /* rule 100 can match eol */
4574 FAIL("Starting tag <host> is not allowed here.");
4577 /* rule 101 can match eol */
4580 AX_surfxml_host_id = 0;
4581 AX_surfxml_host_power = 0;
4582 AX_surfxml_host_core = 5;
4583 AX_surfxml_host_availability = 7;
4584 AX_surfxml_host_availability_file = 0;
4585 AX_surfxml_host_state = A_surfxml_host_state_ON;
4586 AX_surfxml_host_state_file = 0;
4587 AX_surfxml_host_coordinates = 0;
4588 ENTER(AL_surfxml_host); pushbuffer(0);
4593 /* rule 102 can match eol */
4595 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_id);
4598 /* rule 103 can match eol */
4600 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_id);
4603 /* rule 104 can match eol */
4605 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_power);
4608 /* rule 105 can match eol */
4610 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_power);
4613 /* rule 106 can match eol */
4615 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_core);
4618 /* rule 107 can match eol */
4620 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_core);
4623 /* rule 108 can match eol */
4625 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_availability);
4628 /* rule 109 can match eol */
4630 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_availability);
4633 /* rule 110 can match eol */
4635 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_availability_file);
4638 /* rule 111 can match eol */
4640 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_availability_file);
4643 /* rule 112 can match eol */
4645 /* rule 113 can match eol */
4647 A_surfxml_host_state = A_surfxml_host_state_ON;
4650 /* rule 114 can match eol */
4652 /* rule 115 can match eol */
4654 A_surfxml_host_state = A_surfxml_host_state_OFF;
4657 /* rule 116 can match eol */
4659 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_state_file);
4662 /* rule 117 can match eol */
4664 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_state_file);
4667 /* rule 118 can match eol */
4669 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_coordinates);
4672 /* rule 119 can match eol */
4674 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_coordinates);
4679 if (!AX_surfxml_host_id) FAIL("Required attribute `id' not set for `host' element.");
4680 if (!AX_surfxml_host_power) FAIL("Required attribute `power' not set for `host' element.");
4681 LEAVE; STag_surfxml_host();surfxml_pcdata_ix = 0; ENTER(S_surfxml_host);
4687 if (!AX_surfxml_host_id) FAIL("Required attribute `id' not set for `host' element.");
4688 if (!AX_surfxml_host_power) FAIL("Required attribute `power' not set for `host' element.");
4689 LEAVE; STag_surfxml_host(); surfxml_pcdata_ix = 0; ETag_surfxml_host(); popbuffer(); /* attribute */
4691 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
4697 FAIL("Unexpected character `%c' in attribute list of host element.", surf_parse_text[0]);
4701 FAIL("Bad attribute `%s' in `host' element start tag.",surf_parse_text);
4703 case YY_STATE_EOF(AL_surfxml_host):
4704 FAIL("EOF in attribute list of `host' element.");
4708 /* rule 124 can match eol */
4712 ETag_surfxml_host();
4713 popbuffer(); /* attribute */
4715 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
4720 /* rule 125 can match eol */
4722 FAIL("Unexpected end-tag `%s': `</host>' expected.",surf_parse_text);
4726 FAIL("Unexpected character `%c': `</host>' expected.",surf_parse_text[0]);
4728 case YY_STATE_EOF(S_surfxml_host):
4729 case YY_STATE_EOF(E_surfxml_host):
4730 case YY_STATE_EOF(S_surfxml_host_2):
4731 FAIL("Premature EOF: `</host>' expected.");
4735 /* rule 127 can match eol */
4737 FAIL("Starting tag <cluster> is not allowed here.");
4740 /* rule 128 can match eol */
4743 AX_surfxml_cluster_id = 0;
4744 AX_surfxml_cluster_prefix = 0;
4745 AX_surfxml_cluster_suffix = 0;
4746 AX_surfxml_cluster_radical = 0;
4747 AX_surfxml_cluster_power = 0;
4748 AX_surfxml_cluster_core = 11;
4749 AX_surfxml_cluster_bw = 0;
4750 AX_surfxml_cluster_lat = 0;
4751 AX_surfxml_cluster_sharing_policy = A_surfxml_cluster_sharing_policy_SHARED;
4752 AX_surfxml_cluster_bb_bw = 0;
4753 AX_surfxml_cluster_bb_lat = 0;
4754 AX_surfxml_cluster_bb_sharing_policy = A_surfxml_cluster_bb_sharing_policy_SHARED;
4755 AX_surfxml_cluster_availability_file = 0;
4756 AX_surfxml_cluster_state_file = 0;
4757 ENTER(AL_surfxml_cluster); pushbuffer(0);
4762 /* rule 129 can match eol */
4764 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_id);
4767 /* rule 130 can match eol */
4769 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_id);
4772 /* rule 131 can match eol */
4774 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_prefix);
4777 /* rule 132 can match eol */
4779 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_prefix);
4782 /* rule 133 can match eol */
4784 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_suffix);
4787 /* rule 134 can match eol */
4789 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_suffix);
4792 /* rule 135 can match eol */
4794 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_radical);
4797 /* rule 136 can match eol */
4799 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_radical);
4802 /* rule 137 can match eol */
4804 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_power);
4807 /* rule 138 can match eol */
4809 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_power);
4812 /* rule 139 can match eol */
4814 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_core);
4817 /* rule 140 can match eol */
4819 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_core);
4822 /* rule 141 can match eol */
4824 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_bw);
4827 /* rule 142 can match eol */
4829 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_bw);
4832 /* rule 143 can match eol */
4834 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_lat);
4837 /* rule 144 can match eol */
4839 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_lat);
4842 /* rule 145 can match eol */
4844 /* rule 146 can match eol */
4846 A_surfxml_cluster_sharing_policy = A_surfxml_cluster_sharing_policy_SHARED;
4849 /* rule 147 can match eol */
4851 /* rule 148 can match eol */
4853 A_surfxml_cluster_sharing_policy = A_surfxml_cluster_sharing_policy_FULLDUPLEX;
4856 /* rule 149 can match eol */
4858 /* rule 150 can match eol */
4860 A_surfxml_cluster_sharing_policy = A_surfxml_cluster_sharing_policy_FATPIPE;
4863 /* rule 151 can match eol */
4865 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_bb_bw);
4868 /* rule 152 can match eol */
4870 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_bb_bw);
4873 /* rule 153 can match eol */
4875 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_bb_lat);
4878 /* rule 154 can match eol */
4880 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_bb_lat);
4883 /* rule 155 can match eol */
4885 /* rule 156 can match eol */
4887 A_surfxml_cluster_bb_sharing_policy = A_surfxml_cluster_bb_sharing_policy_SHARED;
4890 /* rule 157 can match eol */
4892 /* rule 158 can match eol */
4894 A_surfxml_cluster_bb_sharing_policy = A_surfxml_cluster_bb_sharing_policy_FATPIPE;
4897 /* rule 159 can match eol */
4899 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_availability_file);
4902 /* rule 160 can match eol */
4904 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_availability_file);
4907 /* rule 161 can match eol */
4909 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_state_file);
4912 /* rule 162 can match eol */
4914 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_state_file);
4919 if (!AX_surfxml_cluster_id) FAIL("Required attribute `id' not set for `cluster' element.");
4920 if (!AX_surfxml_cluster_prefix) FAIL("Required attribute `prefix' not set for `cluster' element.");
4921 if (!AX_surfxml_cluster_suffix) FAIL("Required attribute `suffix' not set for `cluster' element.");
4922 if (!AX_surfxml_cluster_radical) FAIL("Required attribute `radical' not set for `cluster' element.");
4923 if (!AX_surfxml_cluster_power) FAIL("Required attribute `power' not set for `cluster' element.");
4924 if (!AX_surfxml_cluster_bw) FAIL("Required attribute `bw' not set for `cluster' element.");
4925 if (!AX_surfxml_cluster_lat) FAIL("Required attribute `lat' not set for `cluster' element.");
4926 if (!AX_surfxml_cluster_bb_bw) FAIL("Required attribute `bb_bw' not set for `cluster' element.");
4927 if (!AX_surfxml_cluster_bb_lat) FAIL("Required attribute `bb_lat' not set for `cluster' element.");
4928 LEAVE; STag_surfxml_cluster();surfxml_pcdata_ix = 0; ENTER(E_surfxml_cluster);
4934 if (!AX_surfxml_cluster_id) FAIL("Required attribute `id' not set for `cluster' element.");
4935 if (!AX_surfxml_cluster_prefix) FAIL("Required attribute `prefix' not set for `cluster' element.");
4936 if (!AX_surfxml_cluster_suffix) FAIL("Required attribute `suffix' not set for `cluster' element.");
4937 if (!AX_surfxml_cluster_radical) FAIL("Required attribute `radical' not set for `cluster' element.");
4938 if (!AX_surfxml_cluster_power) FAIL("Required attribute `power' not set for `cluster' element.");
4939 if (!AX_surfxml_cluster_bw) FAIL("Required attribute `bw' not set for `cluster' element.");
4940 if (!AX_surfxml_cluster_lat) FAIL("Required attribute `lat' not set for `cluster' element.");
4941 if (!AX_surfxml_cluster_bb_bw) FAIL("Required attribute `bb_bw' not set for `cluster' element.");
4942 if (!AX_surfxml_cluster_bb_lat) FAIL("Required attribute `bb_lat' not set for `cluster' element.");
4943 LEAVE; STag_surfxml_cluster(); surfxml_pcdata_ix = 0; ETag_surfxml_cluster(); popbuffer(); /* attribute */
4945 case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
4946 case S_surfxml_platform_4: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_4); break;
4952 FAIL("Unexpected character `%c' in attribute list of cluster element.", surf_parse_text[0]);
4956 FAIL("Bad attribute `%s' in `cluster' element start tag.",surf_parse_text);
4958 case YY_STATE_EOF(AL_surfxml_cluster):
4959 FAIL("EOF in attribute list of `cluster' element.");
4963 /* rule 167 can match eol */
4967 ETag_surfxml_cluster();
4968 popbuffer(); /* attribute */
4970 case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
4971 case S_surfxml_platform_4: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_4); break;
4976 /* rule 168 can match eol */
4978 FAIL("Unexpected end-tag `%s': `</cluster>' expected.",surf_parse_text);
4982 FAIL("Unexpected character `%c': `</cluster>' expected.",surf_parse_text[0]);
4984 case YY_STATE_EOF(E_surfxml_cluster):
4985 FAIL("Premature EOF: `</cluster>' expected.");
4989 /* rule 170 can match eol */
4991 FAIL("Starting tag <peer> is not allowed here.");
4994 /* rule 171 can match eol */
4997 AX_surfxml_peer_id = 0;
4998 AX_surfxml_peer_power = 0;
4999 AX_surfxml_peer_bw_in = 0;
5000 AX_surfxml_peer_bw_out = 0;
5001 AX_surfxml_peer_lat = 0;
5002 AX_surfxml_peer_coordinates = 0;
5003 AX_surfxml_peer_sharing_policy = A_surfxml_peer_sharing_policy_FULLDUPLEX;
5004 ENTER(AL_surfxml_peer); pushbuffer(0);
5009 /* rule 172 can match eol */
5011 ENTER(VALUE1); BUFFERSET(AX_surfxml_peer_id);
5014 /* rule 173 can match eol */
5016 ENTER(VALUE2); BUFFERSET(AX_surfxml_peer_id);
5019 /* rule 174 can match eol */
5021 ENTER(VALUE1); BUFFERSET(AX_surfxml_peer_power);
5024 /* rule 175 can match eol */
5026 ENTER(VALUE2); BUFFERSET(AX_surfxml_peer_power);
5029 /* rule 176 can match eol */
5031 ENTER(VALUE1); BUFFERSET(AX_surfxml_peer_bw_in);
5034 /* rule 177 can match eol */
5036 ENTER(VALUE2); BUFFERSET(AX_surfxml_peer_bw_in);
5039 /* rule 178 can match eol */
5041 ENTER(VALUE1); BUFFERSET(AX_surfxml_peer_bw_out);
5044 /* rule 179 can match eol */
5046 ENTER(VALUE2); BUFFERSET(AX_surfxml_peer_bw_out);
5049 /* rule 180 can match eol */
5051 ENTER(VALUE1); BUFFERSET(AX_surfxml_peer_lat);
5054 /* rule 181 can match eol */
5056 ENTER(VALUE2); BUFFERSET(AX_surfxml_peer_lat);
5059 /* rule 182 can match eol */
5061 ENTER(VALUE1); BUFFERSET(AX_surfxml_peer_coordinates);
5064 /* rule 183 can match eol */
5066 ENTER(VALUE2); BUFFERSET(AX_surfxml_peer_coordinates);
5069 /* rule 184 can match eol */
5071 /* rule 185 can match eol */
5073 A_surfxml_peer_sharing_policy = A_surfxml_peer_sharing_policy_SHARED;
5076 /* rule 186 can match eol */
5078 /* rule 187 can match eol */
5080 A_surfxml_peer_sharing_policy = A_surfxml_peer_sharing_policy_FULLDUPLEX;
5085 if (!AX_surfxml_peer_id) FAIL("Required attribute `id' not set for `peer' element.");
5086 if (!AX_surfxml_peer_power) FAIL("Required attribute `power' not set for `peer' element.");
5087 if (!AX_surfxml_peer_bw_in) FAIL("Required attribute `bw_in' not set for `peer' element.");
5088 if (!AX_surfxml_peer_bw_out) FAIL("Required attribute `bw_out' not set for `peer' element.");
5089 if (!AX_surfxml_peer_lat) FAIL("Required attribute `lat' not set for `peer' element.");
5090 LEAVE; STag_surfxml_peer();surfxml_pcdata_ix = 0; ENTER(E_surfxml_peer);
5096 if (!AX_surfxml_peer_id) FAIL("Required attribute `id' not set for `peer' element.");
5097 if (!AX_surfxml_peer_power) FAIL("Required attribute `power' not set for `peer' element.");
5098 if (!AX_surfxml_peer_bw_in) FAIL("Required attribute `bw_in' not set for `peer' element.");
5099 if (!AX_surfxml_peer_bw_out) FAIL("Required attribute `bw_out' not set for `peer' element.");
5100 if (!AX_surfxml_peer_lat) FAIL("Required attribute `lat' not set for `peer' element.");
5101 LEAVE; STag_surfxml_peer(); surfxml_pcdata_ix = 0; ETag_surfxml_peer(); popbuffer(); /* attribute */
5103 case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
5104 case S_surfxml_platform_4: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_4); break;
5110 FAIL("Unexpected character `%c' in attribute list of peer element.", surf_parse_text[0]);
5114 FAIL("Bad attribute `%s' in `peer' element start tag.",surf_parse_text);
5116 case YY_STATE_EOF(AL_surfxml_peer):
5117 FAIL("EOF in attribute list of `peer' element.");
5121 /* rule 192 can match eol */
5125 ETag_surfxml_peer();
5126 popbuffer(); /* attribute */
5128 case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
5129 case S_surfxml_platform_4: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_4); break;
5134 /* rule 193 can match eol */
5136 FAIL("Unexpected end-tag `%s': `</peer>' expected.",surf_parse_text);
5140 FAIL("Unexpected character `%c': `</peer>' expected.",surf_parse_text[0]);
5142 case YY_STATE_EOF(E_surfxml_peer):
5143 FAIL("Premature EOF: `</peer>' expected.");
5147 /* rule 195 can match eol */
5149 FAIL("Starting tag <router> is not allowed here.");
5152 /* rule 196 can match eol */
5155 AX_surfxml_router_id = 0;
5156 AX_surfxml_router_coordinates = 0;
5157 ENTER(AL_surfxml_router); pushbuffer(0);
5162 /* rule 197 can match eol */
5164 ENTER(VALUE1); BUFFERSET(AX_surfxml_router_id);
5167 /* rule 198 can match eol */
5169 ENTER(VALUE2); BUFFERSET(AX_surfxml_router_id);
5172 /* rule 199 can match eol */
5174 ENTER(VALUE1); BUFFERSET(AX_surfxml_router_coordinates);
5177 /* rule 200 can match eol */
5179 ENTER(VALUE2); BUFFERSET(AX_surfxml_router_coordinates);
5184 if (!AX_surfxml_router_id) FAIL("Required attribute `id' not set for `router' element.");
5185 LEAVE; STag_surfxml_router();surfxml_pcdata_ix = 0; ENTER(E_surfxml_router);
5191 if (!AX_surfxml_router_id) FAIL("Required attribute `id' not set for `router' element.");
5192 LEAVE; STag_surfxml_router(); surfxml_pcdata_ix = 0; ETag_surfxml_router(); popbuffer(); /* attribute */
5194 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
5200 FAIL("Unexpected character `%c' in attribute list of router element.", surf_parse_text[0]);
5204 FAIL("Bad attribute `%s' in `router' element start tag.",surf_parse_text);
5206 case YY_STATE_EOF(AL_surfxml_router):
5207 FAIL("EOF in attribute list of `router' element.");
5211 /* rule 205 can match eol */
5215 ETag_surfxml_router();
5216 popbuffer(); /* attribute */
5218 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
5223 /* rule 206 can match eol */
5225 FAIL("Unexpected end-tag `%s': `</router>' expected.",surf_parse_text);
5229 FAIL("Unexpected character `%c': `</router>' expected.",surf_parse_text[0]);
5231 case YY_STATE_EOF(E_surfxml_router):
5232 FAIL("Premature EOF: `</router>' expected.");
5236 /* rule 208 can match eol */
5238 FAIL("Starting tag <link> is not allowed here.");
5241 /* rule 209 can match eol */
5244 AX_surfxml_link_id = 0;
5245 AX_surfxml_link_bandwidth = 0;
5246 AX_surfxml_link_bandwidth_file = 0;
5247 AX_surfxml_link_latency = 13;
5248 AX_surfxml_link_latency_file = 0;
5249 AX_surfxml_link_state = A_surfxml_link_state_ON;
5250 AX_surfxml_link_state_file = 0;
5251 AX_surfxml_link_sharing_policy = A_surfxml_link_sharing_policy_SHARED;
5252 ENTER(AL_surfxml_link); pushbuffer(0);
5257 /* rule 210 can match eol */
5259 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_id);
5262 /* rule 211 can match eol */
5264 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_id);
5267 /* rule 212 can match eol */
5269 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_bandwidth);
5272 /* rule 213 can match eol */
5274 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_bandwidth);
5277 /* rule 214 can match eol */
5279 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_bandwidth_file);
5282 /* rule 215 can match eol */
5284 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_bandwidth_file);
5287 /* rule 216 can match eol */
5289 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_latency);
5292 /* rule 217 can match eol */
5294 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_latency);
5297 /* rule 218 can match eol */
5299 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_latency_file);
5302 /* rule 219 can match eol */
5304 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_latency_file);
5307 /* rule 220 can match eol */
5309 /* rule 221 can match eol */
5311 A_surfxml_link_state = A_surfxml_link_state_ON;
5314 /* rule 222 can match eol */
5316 /* rule 223 can match eol */
5318 A_surfxml_link_state = A_surfxml_link_state_OFF;
5321 /* rule 224 can match eol */
5323 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_state_file);
5326 /* rule 225 can match eol */
5328 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_state_file);
5331 /* rule 226 can match eol */
5333 /* rule 227 can match eol */
5335 A_surfxml_link_sharing_policy = A_surfxml_link_sharing_policy_SHARED;
5338 /* rule 228 can match eol */
5340 /* rule 229 can match eol */
5342 A_surfxml_link_sharing_policy = A_surfxml_link_sharing_policy_FATPIPE;
5345 /* rule 230 can match eol */
5347 /* rule 231 can match eol */
5349 A_surfxml_link_sharing_policy = A_surfxml_link_sharing_policy_FULLDUPLEX;
5354 if (!AX_surfxml_link_id) FAIL("Required attribute `id' not set for `link' element.");
5355 if (!AX_surfxml_link_bandwidth) FAIL("Required attribute `bandwidth' not set for `link' element.");
5356 LEAVE; STag_surfxml_link();surfxml_pcdata_ix = 0; ENTER(S_surfxml_link);
5362 if (!AX_surfxml_link_id) FAIL("Required attribute `id' not set for `link' element.");
5363 if (!AX_surfxml_link_bandwidth) FAIL("Required attribute `bandwidth' not set for `link' element.");
5364 LEAVE; STag_surfxml_link(); surfxml_pcdata_ix = 0; ETag_surfxml_link(); popbuffer(); /* attribute */
5366 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
5367 case S_surfxml_AS_2: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
5373 FAIL("Unexpected character `%c' in attribute list of link element.", surf_parse_text[0]);
5377 FAIL("Bad attribute `%s' in `link' element start tag.",surf_parse_text);
5379 case YY_STATE_EOF(AL_surfxml_link):
5380 FAIL("EOF in attribute list of `link' element.");
5384 /* rule 236 can match eol */
5388 ETag_surfxml_link();
5389 popbuffer(); /* attribute */
5391 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
5392 case S_surfxml_AS_2: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
5397 /* rule 237 can match eol */
5399 FAIL("Unexpected end-tag `%s': `</link>' expected.",surf_parse_text);
5403 FAIL("Unexpected character `%c': `</link>' expected.",surf_parse_text[0]);
5405 case YY_STATE_EOF(E_surfxml_link):
5406 case YY_STATE_EOF(S_surfxml_link_2):
5407 case YY_STATE_EOF(S_surfxml_link):
5408 FAIL("Premature EOF: `</link>' expected.");
5412 /* rule 239 can match eol */
5414 FAIL("Starting tag <route> is not allowed here.");
5417 /* rule 240 can match eol */
5420 AX_surfxml_route_src = 0;
5421 AX_surfxml_route_dst = 0;
5422 AX_surfxml_route_symmetrical = A_surfxml_route_symmetrical_YES;
5423 ENTER(AL_surfxml_route); pushbuffer(0);
5428 /* rule 241 can match eol */
5430 ENTER(VALUE1); BUFFERSET(AX_surfxml_route_src);
5433 /* rule 242 can match eol */
5435 ENTER(VALUE2); BUFFERSET(AX_surfxml_route_src);
5438 /* rule 243 can match eol */
5440 ENTER(VALUE1); BUFFERSET(AX_surfxml_route_dst);
5443 /* rule 244 can match eol */
5445 ENTER(VALUE2); BUFFERSET(AX_surfxml_route_dst);
5448 /* rule 245 can match eol */
5450 /* rule 246 can match eol */
5452 A_surfxml_route_symmetrical = A_surfxml_route_symmetrical_YES;
5455 /* rule 247 can match eol */
5457 /* rule 248 can match eol */
5459 A_surfxml_route_symmetrical = A_surfxml_route_symmetrical_NO;
5464 if (!AX_surfxml_route_src) FAIL("Required attribute `src' not set for `route' element.");
5465 if (!AX_surfxml_route_dst) FAIL("Required attribute `dst' not set for `route' element.");
5466 LEAVE; STag_surfxml_route();surfxml_pcdata_ix = 0; ENTER(S_surfxml_route);
5472 if (!AX_surfxml_route_src) FAIL("Required attribute `src' not set for `route' element.");
5473 if (!AX_surfxml_route_dst) FAIL("Required attribute `dst' not set for `route' element.");
5474 LEAVE; STag_surfxml_route(); surfxml_pcdata_ix = 0; ETag_surfxml_route(); popbuffer(); /* attribute */
5476 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;
5482 FAIL("Unexpected character `%c' in attribute list of route element.", surf_parse_text[0]);
5486 FAIL("Bad attribute `%s' in `route' element start tag.",surf_parse_text);
5488 case YY_STATE_EOF(AL_surfxml_route):
5489 FAIL("EOF in attribute list of `route' element.");
5493 /* rule 253 can match eol */
5497 ETag_surfxml_route();
5498 popbuffer(); /* attribute */
5500 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;
5505 /* rule 254 can match eol */
5507 FAIL("Unexpected end-tag `%s': `</route>' expected.",surf_parse_text);
5511 FAIL("Unexpected character `%c': `</route>' expected.",surf_parse_text[0]);
5513 case YY_STATE_EOF(S_surfxml_route):
5514 case YY_STATE_EOF(S_surfxml_route_2):
5515 case YY_STATE_EOF(E_surfxml_route):
5516 FAIL("Premature EOF: `</route>' expected.");
5520 /* rule 256 can match eol */
5522 FAIL("Starting tag <ASroute> is not allowed here.");
5525 /* rule 257 can match eol */
5528 AX_surfxml_ASroute_src = 0;
5529 AX_surfxml_ASroute_dst = 0;
5530 AX_surfxml_ASroute_gw_src = 0;
5531 AX_surfxml_ASroute_gw_dst = 0;
5532 AX_surfxml_ASroute_symmetrical = A_surfxml_ASroute_symmetrical_YES;
5533 ENTER(AL_surfxml_ASroute); pushbuffer(0);
5538 /* rule 258 can match eol */
5540 ENTER(VALUE1); BUFFERSET(AX_surfxml_ASroute_src);
5543 /* rule 259 can match eol */
5545 ENTER(VALUE2); BUFFERSET(AX_surfxml_ASroute_src);
5548 /* rule 260 can match eol */
5550 ENTER(VALUE1); BUFFERSET(AX_surfxml_ASroute_dst);
5553 /* rule 261 can match eol */
5555 ENTER(VALUE2); BUFFERSET(AX_surfxml_ASroute_dst);
5558 /* rule 262 can match eol */
5560 ENTER(VALUE1); BUFFERSET(AX_surfxml_ASroute_gw_src);
5563 /* rule 263 can match eol */
5565 ENTER(VALUE2); BUFFERSET(AX_surfxml_ASroute_gw_src);
5568 /* rule 264 can match eol */
5570 ENTER(VALUE1); BUFFERSET(AX_surfxml_ASroute_gw_dst);
5573 /* rule 265 can match eol */
5575 ENTER(VALUE2); BUFFERSET(AX_surfxml_ASroute_gw_dst);
5578 /* rule 266 can match eol */
5580 /* rule 267 can match eol */
5582 A_surfxml_ASroute_symmetrical = A_surfxml_ASroute_symmetrical_YES;
5585 /* rule 268 can match eol */
5587 /* rule 269 can match eol */
5589 A_surfxml_ASroute_symmetrical = A_surfxml_ASroute_symmetrical_NO;
5594 if (!AX_surfxml_ASroute_src) FAIL("Required attribute `src' not set for `ASroute' element.");
5595 if (!AX_surfxml_ASroute_dst) FAIL("Required attribute `dst' not set for `ASroute' element.");
5596 if (!AX_surfxml_ASroute_gw_src) FAIL("Required attribute `gw_src' not set for `ASroute' element.");
5597 if (!AX_surfxml_ASroute_gw_dst) FAIL("Required attribute `gw_dst' not set for `ASroute' element.");
5598 LEAVE; STag_surfxml_ASroute();surfxml_pcdata_ix = 0; ENTER(S_surfxml_ASroute);
5604 if (!AX_surfxml_ASroute_src) FAIL("Required attribute `src' not set for `ASroute' element.");
5605 if (!AX_surfxml_ASroute_dst) FAIL("Required attribute `dst' not set for `ASroute' element.");
5606 if (!AX_surfxml_ASroute_gw_src) FAIL("Required attribute `gw_src' not set for `ASroute' element.");
5607 if (!AX_surfxml_ASroute_gw_dst) FAIL("Required attribute `gw_dst' not set for `ASroute' element.");
5608 LEAVE; STag_surfxml_ASroute(); surfxml_pcdata_ix = 0; ETag_surfxml_ASroute(); popbuffer(); /* attribute */
5610 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;
5616 FAIL("Unexpected character `%c' in attribute list of ASroute element.", surf_parse_text[0]);
5620 FAIL("Bad attribute `%s' in `ASroute' element start tag.",surf_parse_text);
5622 case YY_STATE_EOF(AL_surfxml_ASroute):
5623 FAIL("EOF in attribute list of `ASroute' element.");
5627 /* rule 274 can match eol */
5631 ETag_surfxml_ASroute();
5632 popbuffer(); /* attribute */
5634 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;
5639 /* rule 275 can match eol */
5641 FAIL("Unexpected end-tag `%s': `</ASroute>' expected.",surf_parse_text);
5645 FAIL("Unexpected character `%c': `</ASroute>' expected.",surf_parse_text[0]);
5647 case YY_STATE_EOF(E_surfxml_ASroute):
5648 case YY_STATE_EOF(S_surfxml_ASroute):
5649 case YY_STATE_EOF(S_surfxml_ASroute_2):
5650 FAIL("Premature EOF: `</ASroute>' expected.");
5654 /* rule 277 can match eol */
5656 FAIL("Starting tag <link_ctn> is not allowed here.");
5659 /* rule 278 can match eol */
5662 AX_surfxml_link_ctn_id = 0;
5663 AX_surfxml_link_ctn_direction = A_surfxml_link_ctn_direction_NONE;
5664 ENTER(AL_surfxml_link_ctn); pushbuffer(0);
5669 /* rule 279 can match eol */
5671 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_ctn_id);
5674 /* rule 280 can match eol */
5676 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_ctn_id);
5679 /* rule 281 can match eol */
5681 /* rule 282 can match eol */
5683 A_surfxml_link_ctn_direction = A_surfxml_link_ctn_direction_UP;
5686 /* rule 283 can match eol */
5688 /* rule 284 can match eol */
5690 A_surfxml_link_ctn_direction = A_surfxml_link_ctn_direction_DOWN;
5693 /* rule 285 can match eol */
5695 /* rule 286 can match eol */
5697 A_surfxml_link_ctn_direction = A_surfxml_link_ctn_direction_NONE;
5702 if (!AX_surfxml_link_ctn_id) FAIL("Required attribute `id' not set for `link_ctn' element.");
5703 LEAVE; STag_surfxml_link_ctn();surfxml_pcdata_ix = 0; ENTER(E_surfxml_link_ctn);
5709 if (!AX_surfxml_link_ctn_id) FAIL("Required attribute `id' not set for `link_ctn' element.");
5710 LEAVE; STag_surfxml_link_ctn(); surfxml_pcdata_ix = 0; ETag_surfxml_link_ctn(); popbuffer(); /* attribute */
5712 case S_surfxml_bypassRoute: case S_surfxml_bypassRoute_2: case S_surfxml_bypassRoute_1: SET(S_surfxml_bypassRoute_2); break;
5713 case S_surfxml_route_1: case S_surfxml_route: case S_surfxml_route_2: SET(S_surfxml_route_2); break;
5714 case S_surfxml_ASroute: case S_surfxml_ASroute_1: case S_surfxml_ASroute_2: SET(S_surfxml_ASroute_2); break;
5720 FAIL("Unexpected character `%c' in attribute list of link_ctn element.", surf_parse_text[0]);
5724 FAIL("Bad attribute `%s' in `link_ctn' element start tag.",surf_parse_text);
5726 case YY_STATE_EOF(AL_surfxml_link_ctn):
5727 FAIL("EOF in attribute list of `link_ctn' element.");
5731 /* rule 291 can match eol */
5735 ETag_surfxml_link_ctn();
5736 popbuffer(); /* attribute */
5738 case S_surfxml_bypassRoute: case S_surfxml_bypassRoute_2: case S_surfxml_bypassRoute_1: SET(S_surfxml_bypassRoute_2); break;
5739 case S_surfxml_route_1: case S_surfxml_route: case S_surfxml_route_2: SET(S_surfxml_route_2); break;
5740 case S_surfxml_ASroute: case S_surfxml_ASroute_1: case S_surfxml_ASroute_2: SET(S_surfxml_ASroute_2); break;
5745 /* rule 292 can match eol */
5747 FAIL("Unexpected end-tag `%s': `</link_ctn>' expected.",surf_parse_text);
5751 FAIL("Unexpected character `%c': `</link_ctn>' expected.",surf_parse_text[0]);
5753 case YY_STATE_EOF(E_surfxml_link_ctn):
5754 FAIL("Premature EOF: `</link_ctn>' expected.");
5758 /* rule 294 can match eol */
5760 FAIL("Starting tag <bypassRoute> is not allowed here.");
5763 /* rule 295 can match eol */
5766 AX_surfxml_bypassRoute_src = 0;
5767 AX_surfxml_bypassRoute_dst = 0;
5768 AX_surfxml_bypassRoute_gw_src = 0;
5769 AX_surfxml_bypassRoute_gw_dst = 0;
5770 ENTER(AL_surfxml_bypassRoute); pushbuffer(0);
5775 /* rule 296 can match eol */
5777 ENTER(VALUE1); BUFFERSET(AX_surfxml_bypassRoute_src);
5780 /* rule 297 can match eol */
5782 ENTER(VALUE2); BUFFERSET(AX_surfxml_bypassRoute_src);
5785 /* rule 298 can match eol */
5787 ENTER(VALUE1); BUFFERSET(AX_surfxml_bypassRoute_dst);
5790 /* rule 299 can match eol */
5792 ENTER(VALUE2); BUFFERSET(AX_surfxml_bypassRoute_dst);
5795 /* rule 300 can match eol */
5797 ENTER(VALUE1); BUFFERSET(AX_surfxml_bypassRoute_gw_src);
5800 /* rule 301 can match eol */
5802 ENTER(VALUE2); BUFFERSET(AX_surfxml_bypassRoute_gw_src);
5805 /* rule 302 can match eol */
5807 ENTER(VALUE1); BUFFERSET(AX_surfxml_bypassRoute_gw_dst);
5810 /* rule 303 can match eol */
5812 ENTER(VALUE2); BUFFERSET(AX_surfxml_bypassRoute_gw_dst);
5817 if (!AX_surfxml_bypassRoute_src) FAIL("Required attribute `src' not set for `bypassRoute' element.");
5818 if (!AX_surfxml_bypassRoute_dst) FAIL("Required attribute `dst' not set for `bypassRoute' element.");
5819 if (!AX_surfxml_bypassRoute_gw_src) FAIL("Required attribute `gw_src' not set for `bypassRoute' element.");
5820 if (!AX_surfxml_bypassRoute_gw_dst) FAIL("Required attribute `gw_dst' not set for `bypassRoute' element.");
5821 LEAVE; STag_surfxml_bypassRoute();surfxml_pcdata_ix = 0; ENTER(S_surfxml_bypassRoute);
5827 if (!AX_surfxml_bypassRoute_src) FAIL("Required attribute `src' not set for `bypassRoute' element.");
5828 if (!AX_surfxml_bypassRoute_dst) FAIL("Required attribute `dst' not set for `bypassRoute' element.");
5829 if (!AX_surfxml_bypassRoute_gw_src) FAIL("Required attribute `gw_src' not set for `bypassRoute' element.");
5830 if (!AX_surfxml_bypassRoute_gw_dst) FAIL("Required attribute `gw_dst' not set for `bypassRoute' element.");
5831 LEAVE; STag_surfxml_bypassRoute(); surfxml_pcdata_ix = 0; ETag_surfxml_bypassRoute(); popbuffer(); /* attribute */
5833 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;
5839 FAIL("Unexpected character `%c' in attribute list of bypassRoute element.", surf_parse_text[0]);
5843 FAIL("Bad attribute `%s' in `bypassRoute' element start tag.",surf_parse_text);
5845 case YY_STATE_EOF(AL_surfxml_bypassRoute):
5846 FAIL("EOF in attribute list of `bypassRoute' element.");
5850 /* rule 308 can match eol */
5854 ETag_surfxml_bypassRoute();
5855 popbuffer(); /* attribute */
5857 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;
5862 /* rule 309 can match eol */
5864 FAIL("Unexpected end-tag `%s': `</bypassRoute>' expected.",surf_parse_text);
5868 FAIL("Unexpected character `%c': `</bypassRoute>' expected.",surf_parse_text[0]);
5870 case YY_STATE_EOF(S_surfxml_bypassRoute):
5871 case YY_STATE_EOF(S_surfxml_bypassRoute_2):
5872 case YY_STATE_EOF(E_surfxml_bypassRoute):
5873 FAIL("Premature EOF: `</bypassRoute>' expected.");
5877 /* rule 311 can match eol */
5879 FAIL("Starting tag <process> is not allowed here.");
5882 /* rule 312 can match eol */
5885 AX_surfxml_process_host = 0;
5886 AX_surfxml_process_function = 0;
5887 AX_surfxml_process_start_time = 17;
5888 AX_surfxml_process_kill_time = 22;
5889 ENTER(AL_surfxml_process); pushbuffer(0);
5894 /* rule 313 can match eol */
5896 ENTER(VALUE1); BUFFERSET(AX_surfxml_process_host);
5899 /* rule 314 can match eol */
5901 ENTER(VALUE2); BUFFERSET(AX_surfxml_process_host);
5904 /* rule 315 can match eol */
5906 ENTER(VALUE1); BUFFERSET(AX_surfxml_process_function);
5909 /* rule 316 can match eol */
5911 ENTER(VALUE2); BUFFERSET(AX_surfxml_process_function);
5914 /* rule 317 can match eol */
5916 ENTER(VALUE1); BUFFERSET(AX_surfxml_process_start_time);
5919 /* rule 318 can match eol */
5921 ENTER(VALUE2); BUFFERSET(AX_surfxml_process_start_time);
5924 /* rule 319 can match eol */
5926 ENTER(VALUE1); BUFFERSET(AX_surfxml_process_kill_time);
5929 /* rule 320 can match eol */
5931 ENTER(VALUE2); BUFFERSET(AX_surfxml_process_kill_time);
5936 if (!AX_surfxml_process_host) FAIL("Required attribute `host' not set for `process' element.");
5937 if (!AX_surfxml_process_function) FAIL("Required attribute `function' not set for `process' element.");
5938 LEAVE; STag_surfxml_process();surfxml_pcdata_ix = 0; ENTER(S_surfxml_process);
5944 if (!AX_surfxml_process_host) FAIL("Required attribute `host' not set for `process' element.");
5945 if (!AX_surfxml_process_function) FAIL("Required attribute `function' not set for `process' element.");
5946 LEAVE; STag_surfxml_process(); surfxml_pcdata_ix = 0; ETag_surfxml_process(); popbuffer(); /* attribute */
5948 case S_surfxml_platform_6: case S_surfxml_platform_4: case S_surfxml_platform_5: case S_surfxml_platform_2: case S_surfxml_platform_1: case S_surfxml_platform: SET(S_surfxml_platform_6); break;
5954 FAIL("Unexpected character `%c' in attribute list of process element.", surf_parse_text[0]);
5958 FAIL("Bad attribute `%s' in `process' element start tag.",surf_parse_text);
5960 case YY_STATE_EOF(AL_surfxml_process):
5961 FAIL("EOF in attribute list of `process' element.");
5965 /* rule 325 can match eol */
5969 ETag_surfxml_process();
5970 popbuffer(); /* attribute */
5972 case S_surfxml_platform_6: case S_surfxml_platform_4: case S_surfxml_platform_5: case S_surfxml_platform_2: case S_surfxml_platform_1: case S_surfxml_platform: SET(S_surfxml_platform_6); break;
5977 /* rule 326 can match eol */
5979 FAIL("Unexpected end-tag `%s': `</process>' expected.",surf_parse_text);
5983 FAIL("Unexpected character `%c': `</process>' expected.",surf_parse_text[0]);
5985 case YY_STATE_EOF(E_surfxml_process):
5986 case YY_STATE_EOF(S_surfxml_process):
5987 case YY_STATE_EOF(S_surfxml_process_2):
5988 FAIL("Premature EOF: `</process>' expected.");
5992 /* rule 328 can match eol */
5994 FAIL("Starting tag <argument> is not allowed here.");
5997 /* rule 329 can match eol */
6000 AX_surfxml_argument_value = 0;
6001 ENTER(AL_surfxml_argument); pushbuffer(0);
6006 /* rule 330 can match eol */
6008 ENTER(VALUE1); BUFFERSET(AX_surfxml_argument_value);
6011 /* rule 331 can match eol */
6013 ENTER(VALUE2); BUFFERSET(AX_surfxml_argument_value);
6018 if (!AX_surfxml_argument_value) FAIL("Required attribute `value' not set for `argument' element.");
6019 LEAVE; STag_surfxml_argument();surfxml_pcdata_ix = 0; ENTER(E_surfxml_argument);
6025 if (!AX_surfxml_argument_value) FAIL("Required attribute `value' not set for `argument' element.");
6026 LEAVE; STag_surfxml_argument(); surfxml_pcdata_ix = 0; ETag_surfxml_argument(); popbuffer(); /* attribute */
6028 case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
6034 FAIL("Unexpected character `%c' in attribute list of argument element.", surf_parse_text[0]);
6038 FAIL("Bad attribute `%s' in `argument' element start tag.",surf_parse_text);
6040 case YY_STATE_EOF(AL_surfxml_argument):
6041 FAIL("EOF in attribute list of `argument' element.");
6045 /* rule 336 can match eol */
6049 ETag_surfxml_argument();
6050 popbuffer(); /* attribute */
6052 case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
6057 /* rule 337 can match eol */
6059 FAIL("Unexpected end-tag `%s': `</argument>' expected.",surf_parse_text);
6063 FAIL("Unexpected character `%c': `</argument>' expected.",surf_parse_text[0]);
6065 case YY_STATE_EOF(E_surfxml_argument):
6066 FAIL("Premature EOF: `</argument>' expected.");
6070 /* rule 339 can match eol */
6072 FAIL("Starting tag <config> is not allowed here.");
6075 /* rule 340 can match eol */
6078 AX_surfxml_config_id = 0;
6079 ENTER(AL_surfxml_config); pushbuffer(0);
6084 /* rule 341 can match eol */
6086 ENTER(VALUE1); BUFFERSET(AX_surfxml_config_id);
6089 /* rule 342 can match eol */
6091 ENTER(VALUE2); BUFFERSET(AX_surfxml_config_id);
6096 LEAVE; STag_surfxml_config();surfxml_pcdata_ix = 0; ENTER(S_surfxml_config);
6102 LEAVE; STag_surfxml_config(); surfxml_pcdata_ix = 0; ETag_surfxml_config(); popbuffer(); /* attribute */
6104 case S_surfxml_platform: SET(S_surfxml_platform_1); break;
6110 FAIL("Unexpected character `%c' in attribute list of config element.", surf_parse_text[0]);
6114 FAIL("Bad attribute `%s' in `config' element start tag.",surf_parse_text);
6116 case YY_STATE_EOF(AL_surfxml_config):
6117 FAIL("EOF in attribute list of `config' element.");
6121 /* rule 347 can match eol */
6125 ETag_surfxml_config();
6126 popbuffer(); /* attribute */
6128 case S_surfxml_platform: SET(S_surfxml_platform_1); break;
6133 /* rule 348 can match eol */
6135 FAIL("Unexpected end-tag `%s': `</config>' expected.",surf_parse_text);
6139 FAIL("Unexpected character `%c': `</config>' expected.",surf_parse_text[0]);
6141 case YY_STATE_EOF(S_surfxml_config):
6142 case YY_STATE_EOF(S_surfxml_config_2):
6143 case YY_STATE_EOF(E_surfxml_config):
6144 FAIL("Premature EOF: `</config>' expected.");
6147 /* <!-- <!ATTLIST prop key CDATA #REQUIRED> -->
6148 * <!-- <!ATTLIST prop key CDATA #REQUIRED> --> */
6150 /* rule 350 can match eol */
6152 FAIL("Starting tag <prop> is not allowed here.");
6155 /* rule 351 can match eol */
6158 AX_surfxml_prop_id = 0;
6159 AX_surfxml_prop_value = 0;
6160 ENTER(AL_surfxml_prop); pushbuffer(0);
6165 /* rule 352 can match eol */
6167 ENTER(VALUE1); BUFFERSET(AX_surfxml_prop_id);
6170 /* rule 353 can match eol */
6172 ENTER(VALUE2); BUFFERSET(AX_surfxml_prop_id);
6175 /* rule 354 can match eol */
6177 ENTER(VALUE1); BUFFERSET(AX_surfxml_prop_value);
6180 /* rule 355 can match eol */
6182 ENTER(VALUE2); BUFFERSET(AX_surfxml_prop_value);
6187 if (!AX_surfxml_prop_id) FAIL("Required attribute `id' not set for `prop' element.");
6188 if (!AX_surfxml_prop_value) FAIL("Required attribute `value' not set for `prop' element.");
6189 LEAVE; STag_surfxml_prop();surfxml_pcdata_ix = 0; ENTER(E_surfxml_prop);
6195 if (!AX_surfxml_prop_id) FAIL("Required attribute `id' not set for `prop' element.");
6196 if (!AX_surfxml_prop_value) FAIL("Required attribute `value' not set for `prop' element.");
6197 LEAVE; STag_surfxml_prop(); surfxml_pcdata_ix = 0; ETag_surfxml_prop(); popbuffer(); /* attribute */
6199 case S_surfxml_random: case S_surfxml_random_2: case S_surfxml_random_1: SET(S_surfxml_random_2); break;
6200 case S_surfxml_config_1: case S_surfxml_config: case S_surfxml_config_2: SET(S_surfxml_config_2); break;
6201 case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
6202 case S_surfxml_host_1: case S_surfxml_host_2: case S_surfxml_host: SET(S_surfxml_host_2); break;
6203 case S_surfxml_link_1: case S_surfxml_link_2: case S_surfxml_link: SET(S_surfxml_link_2); break;
6209 FAIL("Unexpected character `%c' in attribute list of prop element.", surf_parse_text[0]);
6213 FAIL("Bad attribute `%s' in `prop' element start tag.",surf_parse_text);
6215 case YY_STATE_EOF(AL_surfxml_prop):
6216 FAIL("EOF in attribute list of `prop' element.");
6220 /* rule 360 can match eol */
6224 ETag_surfxml_prop();
6225 popbuffer(); /* attribute */
6227 case S_surfxml_random: case S_surfxml_random_2: case S_surfxml_random_1: SET(S_surfxml_random_2); break;
6228 case S_surfxml_config_1: case S_surfxml_config: case S_surfxml_config_2: SET(S_surfxml_config_2); break;
6229 case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
6230 case S_surfxml_host_1: case S_surfxml_host_2: case S_surfxml_host: SET(S_surfxml_host_2); break;
6231 case S_surfxml_link_1: case S_surfxml_link_2: case S_surfxml_link: SET(S_surfxml_link_2); break;
6236 /* rule 361 can match eol */
6238 FAIL("Unexpected end-tag `%s': `</prop>' expected.",surf_parse_text);
6242 FAIL("Unexpected character `%c': `</prop>' expected.",surf_parse_text[0]);
6244 case YY_STATE_EOF(E_surfxml_prop):
6245 FAIL("Premature EOF: `</prop>' expected.");
6248 /* EPILOG: after the root element. */
6252 {SET(PROLOG); yyless(0); CLEANUP; return -1;}
6254 case YY_STATE_EOF(EPILOG):
6258 /* CHARACTER DATA. */
6260 /* Non-defined standard entities... */
6281 /* Character entities. */
6284 BUFFERPUTC((unsigned char)atoi(surf_parse_text+2));
6288 BUFFERPUTC((unsigned char)strtol(surf_parse_text+3,NULL,16));
6292 /* rule 371 can match eol */
6294 /* rule 372 can match eol */
6296 /* rule 373 can match eol */
6298 /* rule 374 can match eol */
6309 FAIL("Unexpected `]""]>' in character data.");
6316 case YY_STATE_EOF(VALUE1):
6317 FAIL("EOF in literal (\"'\" expected).");
6324 case YY_STATE_EOF(VALUE2):
6325 FAIL("EOF in literal (`\"' expected).");
6329 /* rule 379 can match eol */
6331 BUFFERPUTC(surf_parse_text[0]);
6335 FAIL("Spurious `%c' in character data.",surf_parse_text[0]);
6342 /* "]""]" BUFFERPUTC(surf_parse_text[0]); BUFFERPUTC(surf_parse_text[1]); */
6345 BUFFERPUTC(surf_parse_text[0]);
6347 case YY_STATE_EOF(CDATA):
6348 FAIL("EOF in CDATA section.");
6351 /* Impossible rules to avoid warnings from flex(1). */
6352 /* Ideally, this should be replaced by code in flexml.pl that
6353 generates just the states not covered by other rules. */
6356 /* rule 383 can match eol */
6358 FAIL("Syntax error on character `%c'.", surf_parse_text[0]);
6365 case YY_STATE_EOF(INITIAL):
6366 case YY_STATE_EOF(ROOT_surfxml_platform):
6367 case YY_STATE_EOF(S_surfxml_platform_3):
6368 case YY_STATE_EOF(S_surfxml_platform_5):
6369 case YY_STATE_EOF(S_surfxml_random_1):
6370 case YY_STATE_EOF(S_surfxml_AS_2):
6371 case YY_STATE_EOF(S_surfxml_AS_5):
6372 case YY_STATE_EOF(S_surfxml_AS_7):
6373 case YY_STATE_EOF(S_surfxml_AS_10):
6374 case YY_STATE_EOF(S_surfxml_AS_12):
6375 case YY_STATE_EOF(S_surfxml_host_1):
6376 case YY_STATE_EOF(S_surfxml_link_1):
6377 case YY_STATE_EOF(S_surfxml_route_1):
6378 case YY_STATE_EOF(S_surfxml_ASroute_1):
6379 case YY_STATE_EOF(S_surfxml_bypassRoute_1):
6380 case YY_STATE_EOF(S_surfxml_process_1):
6381 case YY_STATE_EOF(S_surfxml_config_1):
6382 case YY_STATE_EOF(IMPOSSIBLE):
6385 case YY_END_OF_BUFFER:
6387 /* Amount of text matched not including the EOB char. */
6388 int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
6390 /* Undo the effects of YY_DO_BEFORE_ACTION. */
6391 *yy_cp = (yy_hold_char);
6392 YY_RESTORE_YY_MORE_OFFSET
6394 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
6396 /* We're scanning a new file or input source. It's
6397 * possible that this happened because the user
6398 * just pointed surf_parse_in at a new source and called
6399 * surf_parse_lex(). If so, then we have to assure
6400 * consistency between YY_CURRENT_BUFFER and our
6401 * globals. Here is the right place to do so, because
6402 * this is the first action (other than possibly a
6403 * back-up) that will match for the new input source.
6405 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
6406 YY_CURRENT_BUFFER_LVALUE->yy_input_file = surf_parse_in;
6407 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
6410 /* Note that here we test for yy_c_buf_p "<=" to the position
6411 * of the first EOB in the buffer, since yy_c_buf_p will
6412 * already have been incremented past the NUL character
6413 * (since all states make transitions on EOB to the
6414 * end-of-buffer state). Contrast this with the test
6417 if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
6418 { /* This was really a NUL. */
6419 yy_state_type yy_next_state;
6421 (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
6423 yy_current_state = yy_get_previous_state( );
6425 /* Okay, we're now positioned to make the NUL
6426 * transition. We couldn't have
6427 * yy_get_previous_state() go ahead and do it
6428 * for us because it doesn't know how to deal
6429 * with the possibility of jamming (and we don't
6430 * want to build jamming into it because then it
6431 * will run more slowly).
6434 yy_next_state = yy_try_NUL_trans( yy_current_state );
6436 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
6438 if ( yy_next_state )
6440 /* Consume the NUL. */
6441 yy_cp = ++(yy_c_buf_p);
6442 yy_current_state = yy_next_state;
6448 yy_cp = (yy_c_buf_p);
6449 goto yy_find_action;
6453 else switch ( yy_get_next_buffer( ) )
6455 case EOB_ACT_END_OF_FILE:
6457 (yy_did_buffer_switch_on_eof) = 0;
6459 if ( surf_parse_wrap( ) )
6461 /* Note: because we've taken care in
6462 * yy_get_next_buffer() to have set up
6463 * surf_parse_text, we can now set up
6464 * yy_c_buf_p so that if some total
6465 * hoser (like flex itself) wants to
6466 * call the scanner after we return the
6467 * YY_NULL, it'll still work - another
6468 * YY_NULL will get returned.
6470 (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
6472 yy_act = YY_STATE_EOF(YY_START);
6478 if ( ! (yy_did_buffer_switch_on_eof) )
6484 case EOB_ACT_CONTINUE_SCAN:
6486 (yytext_ptr) + yy_amount_of_matched_text;
6488 yy_current_state = yy_get_previous_state( );
6490 yy_cp = (yy_c_buf_p);
6491 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
6494 case EOB_ACT_LAST_MATCH:
6496 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
6498 yy_current_state = yy_get_previous_state( );
6500 yy_cp = (yy_c_buf_p);
6501 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
6502 goto yy_find_action;
6509 "fatal flex scanner internal error--no action found" );
6510 } /* end of action switch */
6511 } /* end of scanning one token */
6512 } /* end of surf_parse_lex */
6514 /* yy_get_next_buffer - try to read in a new buffer
6516 * Returns a code representing an action:
6517 * EOB_ACT_LAST_MATCH -
6518 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
6519 * EOB_ACT_END_OF_FILE - end of file
6521 static int yy_get_next_buffer (void)
6523 register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
6524 register char *source = (yytext_ptr);
6525 register int number_to_move, i;
6528 if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
6530 "fatal flex scanner internal error--end of buffer missed" );
6532 if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
6533 { /* Don't try to fill the buffer, so this is an EOF. */
6534 if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
6536 /* We matched a single character, the EOB, so
6537 * treat this as a final EOF.
6539 return EOB_ACT_END_OF_FILE;
6544 /* We matched some text prior to the EOB, first
6547 return EOB_ACT_LAST_MATCH;
6551 /* Try to read more data. */
6553 /* First move last chars to start of buffer. */
6554 number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
6556 for ( i = 0; i < number_to_move; ++i )
6557 *(dest++) = *(source++);
6559 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
6560 /* don't do the read, it's not guaranteed to return an EOF,
6563 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
6568 YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
6570 while ( num_to_read <= 0 )
6571 { /* Not enough room in the buffer - grow it. */
6573 /* just a shorter name for the current buffer */
6574 YY_BUFFER_STATE b = YY_CURRENT_BUFFER;
6576 int yy_c_buf_p_offset =
6577 (int) ((yy_c_buf_p) - b->yy_ch_buf);
6579 if ( b->yy_is_our_buffer )
6581 int new_size = b->yy_buf_size * 2;
6583 if ( new_size <= 0 )
6584 b->yy_buf_size += b->yy_buf_size / 8;
6586 b->yy_buf_size *= 2;
6588 b->yy_ch_buf = (char *)
6589 /* Include room in for 2 EOB chars. */
6590 surf_parse_realloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 );
6593 /* Can't grow it, we don't own it. */
6596 if ( ! b->yy_ch_buf )
6598 "fatal error - scanner input buffer overflow" );
6600 (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
6602 num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
6607 if ( num_to_read > YY_READ_BUF_SIZE )
6608 num_to_read = YY_READ_BUF_SIZE;
6610 /* Read in more data. */
6611 YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
6612 (yy_n_chars), (size_t) num_to_read );
6614 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
6617 if ( (yy_n_chars) == 0 )
6619 if ( number_to_move == YY_MORE_ADJ )
6621 ret_val = EOB_ACT_END_OF_FILE;
6622 surf_parse_restart(surf_parse_in );
6627 ret_val = EOB_ACT_LAST_MATCH;
6628 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
6629 YY_BUFFER_EOF_PENDING;
6634 ret_val = EOB_ACT_CONTINUE_SCAN;
6636 if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
6637 /* Extend the array by 50%, plus the number we really need. */
6638 yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
6639 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) surf_parse_realloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size );
6640 if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
6641 YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
6644 (yy_n_chars) += number_to_move;
6645 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
6646 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
6648 (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
6653 /* yy_get_previous_state - get the state just before the EOB char was reached */
6655 static yy_state_type yy_get_previous_state (void)
6657 register yy_state_type yy_current_state;
6658 register char *yy_cp;
6660 yy_current_state = (yy_start);
6662 for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
6664 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
6665 if ( yy_accept[yy_current_state] )
6667 (yy_last_accepting_state) = yy_current_state;
6668 (yy_last_accepting_cpos) = yy_cp;
6670 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
6672 yy_current_state = (int) yy_def[yy_current_state];
6673 if ( yy_current_state >= 2257 )
6674 yy_c = yy_meta[(unsigned int) yy_c];
6676 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
6679 return yy_current_state;
6682 /* yy_try_NUL_trans - try to make a transition on the NUL character
6685 * next_state = yy_try_NUL_trans( current_state );
6687 static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state )
6689 register int yy_is_jam;
6690 register char *yy_cp = (yy_c_buf_p);
6692 register YY_CHAR yy_c = 1;
6693 if ( yy_accept[yy_current_state] )
6695 (yy_last_accepting_state) = yy_current_state;
6696 (yy_last_accepting_cpos) = yy_cp;
6698 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
6700 yy_current_state = (int) yy_def[yy_current_state];
6701 if ( yy_current_state >= 2257 )
6702 yy_c = yy_meta[(unsigned int) yy_c];
6704 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
6705 yy_is_jam = (yy_current_state == 2256);
6707 return yy_is_jam ? 0 : yy_current_state;
6712 static int yyinput (void)
6714 static int input (void)
6720 *(yy_c_buf_p) = (yy_hold_char);
6722 if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
6724 /* yy_c_buf_p now points to the character we want to return.
6725 * If this occurs *before* the EOB characters, then it's a
6726 * valid NUL; if not, then we've hit the end of the buffer.
6728 if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
6729 /* This was really a NUL. */
6730 *(yy_c_buf_p) = '\0';
6733 { /* need more input */
6734 int offset = (yy_c_buf_p) - (yytext_ptr);
6737 switch ( yy_get_next_buffer( ) )
6739 case EOB_ACT_LAST_MATCH:
6740 /* This happens because yy_g_n_b()
6741 * sees that we've accumulated a
6742 * token and flags that we need to
6743 * try matching the token before
6744 * proceeding. But for input(),
6745 * there's no matching to consider.
6746 * So convert the EOB_ACT_LAST_MATCH
6747 * to EOB_ACT_END_OF_FILE.
6750 /* Reset buffer status. */
6751 surf_parse_restart(surf_parse_in );
6755 case EOB_ACT_END_OF_FILE:
6757 if ( surf_parse_wrap( ) )
6760 if ( ! (yy_did_buffer_switch_on_eof) )
6769 case EOB_ACT_CONTINUE_SCAN:
6770 (yy_c_buf_p) = (yytext_ptr) + offset;
6776 c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */
6777 *(yy_c_buf_p) = '\0'; /* preserve surf_parse_text */
6778 (yy_hold_char) = *++(yy_c_buf_p);
6782 surf_parse_lineno++;
6787 #endif /* ifndef YY_NO_INPUT */
6789 /** Immediately switch to a different input stream.
6790 * @param input_file A readable stream.
6792 * @note This function does not reset the start condition to @c INITIAL .
6794 void surf_parse_restart (FILE * input_file )
6797 if ( ! YY_CURRENT_BUFFER ){
6798 surf_parse_ensure_buffer_stack ();
6799 YY_CURRENT_BUFFER_LVALUE =
6800 surf_parse__create_buffer(surf_parse_in,YY_BUF_SIZE );
6803 surf_parse__init_buffer(YY_CURRENT_BUFFER,input_file );
6804 surf_parse__load_buffer_state( );
6807 /** Switch to a different input buffer.
6808 * @param new_buffer The new input buffer.
6811 void surf_parse__switch_to_buffer (YY_BUFFER_STATE new_buffer )
6814 /* TODO. We should be able to replace this entire function body
6816 * surf_parse_pop_buffer_state();
6817 * surf_parse_push_buffer_state(new_buffer);
6819 surf_parse_ensure_buffer_stack ();
6820 if ( YY_CURRENT_BUFFER == new_buffer )
6823 if ( YY_CURRENT_BUFFER )
6825 /* Flush out information for old buffer. */
6826 *(yy_c_buf_p) = (yy_hold_char);
6827 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
6828 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
6831 YY_CURRENT_BUFFER_LVALUE = new_buffer;
6832 surf_parse__load_buffer_state( );
6834 /* We don't actually know whether we did this switch during
6835 * EOF (surf_parse_wrap()) processing, but the only time this flag
6836 * is looked at is after surf_parse_wrap() is called, so it's safe
6837 * to go ahead and always set it.
6839 (yy_did_buffer_switch_on_eof) = 1;
6842 static void surf_parse__load_buffer_state (void)
6844 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
6845 (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
6846 surf_parse_in = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
6847 (yy_hold_char) = *(yy_c_buf_p);
6850 /** Allocate and initialize an input buffer state.
6851 * @param file A readable stream.
6852 * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
6854 * @return the allocated buffer state.
6856 YY_BUFFER_STATE surf_parse__create_buffer (FILE * file, int size )
6860 b = (YY_BUFFER_STATE) surf_parse_alloc(sizeof( struct yy_buffer_state ) );
6862 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__create_buffer()" );
6864 b->yy_buf_size = size;
6866 /* yy_ch_buf has to be 2 characters longer than the size given because
6867 * we need to put in 2 end-of-buffer characters.
6869 b->yy_ch_buf = (char *) surf_parse_alloc(b->yy_buf_size + 2 );
6870 if ( ! b->yy_ch_buf )
6871 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__create_buffer()" );
6873 b->yy_is_our_buffer = 1;
6875 surf_parse__init_buffer(b,file );
6880 /** Destroy the buffer.
6881 * @param b a buffer created with surf_parse__create_buffer()
6884 void surf_parse__delete_buffer (YY_BUFFER_STATE b )
6890 if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
6891 YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
6893 if ( b->yy_is_our_buffer )
6894 surf_parse_free((void *) b->yy_ch_buf );
6896 surf_parse_free((void *) b );
6900 extern int isatty (int );
6901 #endif /* __cplusplus */
6903 /* Initializes or reinitializes a buffer.
6904 * This function is sometimes called more than once on the same buffer,
6905 * such as during a surf_parse_restart() or at EOF.
6907 static void surf_parse__init_buffer (YY_BUFFER_STATE b, FILE * file )
6912 surf_parse__flush_buffer(b );
6914 b->yy_input_file = file;
6915 b->yy_fill_buffer = 1;
6917 /* If b is the current buffer, then surf_parse__init_buffer was _probably_
6918 * called from surf_parse_restart() or through yy_get_next_buffer.
6919 * In that case, we don't want to reset the lineno or column.
6921 if (b != YY_CURRENT_BUFFER){
6922 b->yy_bs_lineno = 1;
6923 b->yy_bs_column = 0;
6926 b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
6931 /** Discard all buffered characters. On the next scan, YY_INPUT will be called.
6932 * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
6935 void surf_parse__flush_buffer (YY_BUFFER_STATE b )
6942 /* We always need two end-of-buffer characters. The first causes
6943 * a transition to the end-of-buffer state. The second causes
6944 * a jam in that state.
6946 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
6947 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
6949 b->yy_buf_pos = &b->yy_ch_buf[0];
6952 b->yy_buffer_status = YY_BUFFER_NEW;
6954 if ( b == YY_CURRENT_BUFFER )
6955 surf_parse__load_buffer_state( );
6958 /** Pushes the new state onto the stack. The new state becomes
6959 * the current state. This function will allocate the stack
6961 * @param new_buffer The new state.
6964 void surf_parse_push_buffer_state (YY_BUFFER_STATE new_buffer )
6966 if (new_buffer == NULL)
6969 surf_parse_ensure_buffer_stack();
6971 /* This block is copied from surf_parse__switch_to_buffer. */
6972 if ( YY_CURRENT_BUFFER )
6974 /* Flush out information for old buffer. */
6975 *(yy_c_buf_p) = (yy_hold_char);
6976 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
6977 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
6980 /* Only push if top exists. Otherwise, replace top. */
6981 if (YY_CURRENT_BUFFER)
6982 (yy_buffer_stack_top)++;
6983 YY_CURRENT_BUFFER_LVALUE = new_buffer;
6985 /* copied from surf_parse__switch_to_buffer. */
6986 surf_parse__load_buffer_state( );
6987 (yy_did_buffer_switch_on_eof) = 1;
6990 /** Removes and deletes the top of the stack, if present.
6991 * The next element becomes the new top.
6994 void surf_parse_pop_buffer_state (void)
6996 if (!YY_CURRENT_BUFFER)
6999 surf_parse__delete_buffer(YY_CURRENT_BUFFER );
7000 YY_CURRENT_BUFFER_LVALUE = NULL;
7001 if ((yy_buffer_stack_top) > 0)
7002 --(yy_buffer_stack_top);
7004 if (YY_CURRENT_BUFFER) {
7005 surf_parse__load_buffer_state( );
7006 (yy_did_buffer_switch_on_eof) = 1;
7010 /* Allocates the stack if it does not exist.
7011 * Guarantees space for at least one push.
7013 static void surf_parse_ensure_buffer_stack (void)
7017 if (!(yy_buffer_stack)) {
7019 /* First allocation is just for 2 elements, since we don't know if this
7020 * scanner will even need a stack. We use 2 instead of 1 to avoid an
7021 * immediate realloc on the next call.
7024 (yy_buffer_stack) = (struct yy_buffer_state**)surf_parse_alloc
7025 (num_to_alloc * sizeof(struct yy_buffer_state*)
7027 if ( ! (yy_buffer_stack) )
7028 YY_FATAL_ERROR( "out of dynamic memory in surf_parse_ensure_buffer_stack()" );
7030 memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
7032 (yy_buffer_stack_max) = num_to_alloc;
7033 (yy_buffer_stack_top) = 0;
7037 if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
7039 /* Increase the buffer to prepare for a possible push. */
7040 int grow_size = 8 /* arbitrary grow size */;
7042 num_to_alloc = (yy_buffer_stack_max) + grow_size;
7043 (yy_buffer_stack) = (struct yy_buffer_state**)surf_parse_realloc
7045 num_to_alloc * sizeof(struct yy_buffer_state*)
7047 if ( ! (yy_buffer_stack) )
7048 YY_FATAL_ERROR( "out of dynamic memory in surf_parse_ensure_buffer_stack()" );
7050 /* zero only the new slots.*/
7051 memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
7052 (yy_buffer_stack_max) = num_to_alloc;
7056 /** Setup the input buffer state to scan directly from a user-specified character buffer.
7057 * @param base the character buffer
7058 * @param size the size in bytes of the character buffer
7060 * @return the newly allocated buffer state object.
7062 YY_BUFFER_STATE surf_parse__scan_buffer (char * base, yy_size_t size )
7067 base[size-2] != YY_END_OF_BUFFER_CHAR ||
7068 base[size-1] != YY_END_OF_BUFFER_CHAR )
7069 /* They forgot to leave room for the EOB's. */
7072 b = (YY_BUFFER_STATE) surf_parse_alloc(sizeof( struct yy_buffer_state ) );
7074 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__scan_buffer()" );
7076 b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
7077 b->yy_buf_pos = b->yy_ch_buf = base;
7078 b->yy_is_our_buffer = 0;
7079 b->yy_input_file = 0;
7080 b->yy_n_chars = b->yy_buf_size;
7081 b->yy_is_interactive = 0;
7083 b->yy_fill_buffer = 0;
7084 b->yy_buffer_status = YY_BUFFER_NEW;
7086 surf_parse__switch_to_buffer(b );
7091 /** Setup the input buffer state to scan a string. The next call to surf_parse_lex() will
7092 * scan from a @e copy of @a str.
7093 * @param yystr a NUL-terminated string to scan
7095 * @return the newly allocated buffer state object.
7096 * @note If you want to scan bytes that may contain NUL values, then use
7097 * surf_parse__scan_bytes() instead.
7099 YY_BUFFER_STATE surf_parse__scan_string (yyconst char * yystr )
7102 return surf_parse__scan_bytes(yystr,strlen(yystr) );
7105 /** Setup the input buffer state to scan the given bytes. The next call to surf_parse_lex() will
7106 * scan from a @e copy of @a bytes.
7107 * @param yybytes the byte buffer to scan
7108 * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
7110 * @return the newly allocated buffer state object.
7112 YY_BUFFER_STATE surf_parse__scan_bytes (yyconst char * yybytes, int _yybytes_len )
7119 /* Get memory for full buffer, including space for trailing EOB's. */
7120 n = _yybytes_len + 2;
7121 buf = (char *) surf_parse_alloc(n );
7123 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__scan_bytes()" );
7125 for ( i = 0; i < _yybytes_len; ++i )
7126 buf[i] = yybytes[i];
7128 buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
7130 b = surf_parse__scan_buffer(buf,n );
7132 YY_FATAL_ERROR( "bad buffer in surf_parse__scan_bytes()" );
7134 /* It's okay to grow etc. this buffer, and we should throw it
7135 * away when we're done.
7137 b->yy_is_our_buffer = 1;
7142 static void yy_push_state (int new_state )
7144 if ( (yy_start_stack_ptr) >= (yy_start_stack_depth) )
7148 (yy_start_stack_depth) += YY_START_STACK_INCR;
7149 new_size = (yy_start_stack_depth) * sizeof( int );
7151 if ( ! (yy_start_stack) )
7152 (yy_start_stack) = (int *) surf_parse_alloc(new_size );
7155 (yy_start_stack) = (int *) surf_parse_realloc((void *) (yy_start_stack),new_size );
7157 if ( ! (yy_start_stack) )
7158 YY_FATAL_ERROR( "out of memory expanding start-condition stack" );
7161 (yy_start_stack)[(yy_start_stack_ptr)++] = YY_START;
7166 static void yy_pop_state (void)
7168 if ( --(yy_start_stack_ptr) < 0 )
7169 YY_FATAL_ERROR( "start-condition stack underflow" );
7171 BEGIN((yy_start_stack)[(yy_start_stack_ptr)]);
7174 #ifndef YY_EXIT_FAILURE
7175 #define YY_EXIT_FAILURE 2
7178 static void yy_fatal_error (yyconst char* msg )
7180 (void) fprintf( stderr, "%s\n", msg );
7181 exit( YY_EXIT_FAILURE );
7184 /* Redefine yyless() so it works in section 3 code. */
7190 /* Undo effects of setting up surf_parse_text. */ \
7191 int yyless_macro_arg = (n); \
7192 YY_LESS_LINENO(yyless_macro_arg);\
7193 surf_parse_text[surf_parse_leng] = (yy_hold_char); \
7194 (yy_c_buf_p) = surf_parse_text + yyless_macro_arg; \
7195 (yy_hold_char) = *(yy_c_buf_p); \
7196 *(yy_c_buf_p) = '\0'; \
7197 surf_parse_leng = yyless_macro_arg; \
7201 /* Accessor methods (get/set functions) to struct members. */
7203 /** Get the current line number.
7206 int surf_parse_get_lineno (void)
7209 return surf_parse_lineno;
7212 /** Get the input stream.
7215 FILE *surf_parse_get_in (void)
7217 return surf_parse_in;
7220 /** Get the output stream.
7223 FILE *surf_parse_get_out (void)
7225 return surf_parse_out;
7228 /** Get the length of the current token.
7231 int surf_parse_get_leng (void)
7233 return surf_parse_leng;
7236 /** Get the current token.
7240 char *surf_parse_get_text (void)
7242 return surf_parse_text;
7245 /** Set the current line number.
7246 * @param line_number
7249 void surf_parse_set_lineno (int line_number )
7252 surf_parse_lineno = line_number;
7255 /** Set the input stream. This does not discard the current
7257 * @param in_str A readable stream.
7259 * @see surf_parse__switch_to_buffer
7261 void surf_parse_set_in (FILE * in_str )
7263 surf_parse_in = in_str ;
7266 void surf_parse_set_out (FILE * out_str )
7268 surf_parse_out = out_str ;
7271 int surf_parse_get_debug (void)
7273 return surf_parse__flex_debug;
7276 void surf_parse_set_debug (int bdebug )
7278 surf_parse__flex_debug = bdebug ;
7281 static int yy_init_globals (void)
7283 /* Initialization is the same as for the non-reentrant scanner.
7284 * This function is called from surf_parse_lex_destroy(), so don't allocate here.
7287 /* We do not touch surf_parse_lineno unless the option is enabled. */
7288 surf_parse_lineno = 1;
7290 (yy_buffer_stack) = 0;
7291 (yy_buffer_stack_top) = 0;
7292 (yy_buffer_stack_max) = 0;
7293 (yy_c_buf_p) = (char *) 0;
7297 (yy_start_stack_ptr) = 0;
7298 (yy_start_stack_depth) = 0;
7299 (yy_start_stack) = NULL;
7301 /* Defined in main.c */
7303 surf_parse_in = stdin;
7304 surf_parse_out = stdout;
7306 surf_parse_in = (FILE *) 0;
7307 surf_parse_out = (FILE *) 0;
7310 /* For future reference: Set errno on error, since we are called by
7311 * surf_parse_lex_init()
7316 /* surf_parse_lex_destroy is for both reentrant and non-reentrant scanners. */
7317 int surf_parse_lex_destroy (void)
7320 /* Pop the buffer stack, destroying each element. */
7321 while(YY_CURRENT_BUFFER){
7322 surf_parse__delete_buffer(YY_CURRENT_BUFFER );
7323 YY_CURRENT_BUFFER_LVALUE = NULL;
7324 surf_parse_pop_buffer_state();
7327 /* Destroy the stack itself. */
7328 surf_parse_free((yy_buffer_stack) );
7329 (yy_buffer_stack) = NULL;
7331 /* Destroy the start condition stack. */
7332 surf_parse_free((yy_start_stack) );
7333 (yy_start_stack) = NULL;
7335 /* Reset the globals. This is important in a non-reentrant scanner so the next time
7336 * surf_parse_lex() is called, initialization will occur. */
7343 * Internal utility routines.
7347 static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
7350 for ( i = 0; i < n; ++i )
7355 #ifdef YY_NEED_STRLEN
7356 static int yy_flex_strlen (yyconst char * s )
7359 for ( n = 0; s[n]; ++n )
7366 void *surf_parse_alloc (yy_size_t size )
7368 return (void *) malloc( size );
7371 void *surf_parse_realloc (void * ptr, yy_size_t size )
7373 /* The cast to (char *) in the following accommodates both
7374 * implementations that use char* generic pointers, and those
7375 * that use void* generic pointers. It works with the latter
7376 * because both ANSI C and C++ allow castless assignment from
7377 * any pointer type to void*, and deal with argument conversions
7378 * as though doing an assignment.
7380 return (void *) realloc( (char *) ptr, size );
7383 void surf_parse_free (void * ptr )
7385 free( (char *) ptr ); /* see surf_parse_realloc() for (char *) cast */
7388 #define YYTABLES_NAME "yytables"
7390 /* Element context stack lookup. */
7391 int surfxml_element_context(int i)
7393 return (0<i && i<yy_start_stack_depth
7394 ? yy_start_stack[yy_start_stack_ptr - i]
7399 void print_yy_stack(char* fmt, ...)
7401 int i = 0; va_list ap; va_start(ap, fmt);
7402 vfprintf(stderr, fmt, ap);
7403 if (surfxml_statenames) {
7404 for (i=1; i<yy_start_stack_ptr; i++) {
7405 fprintf(stderr, "%s/", surfxml_statenames[yy_start_stack[i] ]);
7407 fprintf(stderr,"%s\n", surfxml_statenames[YY_START]);
7412 void print_surfxml_bufferstack()
7415 fputs("Buffer: ", stderr);
7416 for (i = 0; i < blimit; i++) {
7417 if ( surfxml_bufferstack[i] == '\377' ) break;
7418 putc(surfxml_bufferstack[i], stderr);
7423 static void debug_enter(int state, const char* statename) {
7424 yy_push_state(state);
7425 if (surf_parse__flex_debug) {
7426 print_yy_stack("--ENTER(%s) : ",statename);
7427 print_surfxml_bufferstack();
7431 static void debug_leave(void) {
7432 if (surf_parse__flex_debug) {
7433 print_yy_stack("--LEAVE : ");
7434 print_surfxml_bufferstack();
7439 static void debug_set(int state, const char* statename) {
7441 if (surf_parse__flex_debug) print_yy_stack("--SET(%s) : ",statename);
7445 static void cleanup(void)
7447 if (surfxml_statenames) {
7448 free(surfxml_statenames);
7449 surfxml_statenames = NULL;
7451 free(surfxml_bufferstack);
7452 surfxml_bufferstack = NULL;
7458 static int fail(const char* fmt, ...)
7460 int chars_left, used;
7461 va_list ap; va_start(ap, fmt);
7462 #ifdef FLEXML_yylineno
7463 used = sprintf(flexml_err_msg,
7464 "Invalid XML (XML input line %d, state %d): ",
7465 surf_parse_lineno, YY_START);
7467 used = sprintf(flexml_err_msg,
7468 "Invalid XML (state %d): ",
7471 chars_left = flexml_max_err_msg_size - used - 1;
7472 vsnprintf(flexml_err_msg + used, chars_left, fmt, ap);
7475 #ifndef FLEXML_quiet_parser
7476 /* print directly to sdterr */
7477 fprintf(stderr, "%s\n", flexml_err_msg);
7478 flexml_err_msg[0] = '\0';