2 #line 3 "src/surf/simgrid_dtd.c"
4 #define YY_INT_ALIGNED short int
6 /* A lexical scanner generated by flex */
8 #define yy_create_buffer surf_parse__create_buffer
9 #define yy_delete_buffer surf_parse__delete_buffer
10 #define yy_flex_debug surf_parse__flex_debug
11 #define yy_init_buffer surf_parse__init_buffer
12 #define yy_flush_buffer surf_parse__flush_buffer
13 #define yy_load_buffer_state surf_parse__load_buffer_state
14 #define yy_switch_to_buffer surf_parse__switch_to_buffer
15 #define yyin surf_parse_in
16 #define yyleng surf_parse_leng
17 #define yylex surf_parse_lex
18 #define yylineno surf_parse_lineno
19 #define yyout surf_parse_out
20 #define yyrestart surf_parse_restart
21 #define yytext surf_parse_text
22 #define yywrap surf_parse_wrap
23 #define yyalloc surf_parse_alloc
24 #define yyrealloc surf_parse_realloc
25 #define yyfree surf_parse_free
28 #define YY_FLEX_MAJOR_VERSION 2
29 #define YY_FLEX_MINOR_VERSION 5
30 #define YY_FLEX_SUBMINOR_VERSION 35
31 #if YY_FLEX_SUBMINOR_VERSION > 0
35 /* First, we deal with platform-specific or compiler-specific issues. */
37 /* begin standard C headers. */
43 /* end standard C headers. */
45 /* flex integer type definitions */
50 /* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
52 #if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
54 /* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
55 * if you want the limit (max/min) macros for int types.
57 #ifndef __STDC_LIMIT_MACROS
58 #define __STDC_LIMIT_MACROS 1
62 typedef int8_t flex_int8_t;
63 typedef uint8_t flex_uint8_t;
64 typedef int16_t flex_int16_t;
65 typedef uint16_t flex_uint16_t;
66 typedef int32_t flex_int32_t;
67 typedef uint32_t flex_uint32_t;
69 typedef signed char flex_int8_t;
70 typedef short int flex_int16_t;
71 typedef int flex_int32_t;
72 typedef unsigned char flex_uint8_t;
73 typedef unsigned short int flex_uint16_t;
74 typedef unsigned int flex_uint32_t;
76 /* Limits of integral types. */
78 #define INT8_MIN (-128)
81 #define INT16_MIN (-32767-1)
84 #define INT32_MIN (-2147483647-1)
87 #define INT8_MAX (127)
90 #define INT16_MAX (32767)
93 #define INT32_MAX (2147483647)
96 #define UINT8_MAX (255U)
99 #define UINT16_MAX (65535U)
102 #define UINT32_MAX (4294967295U)
107 #endif /* ! FLEXINT_H */
111 /* The "const" storage-class-modifier is valid. */
114 #else /* ! __cplusplus */
116 /* C99 requires __STDC__ to be defined as 1. */
117 #if defined (__STDC__)
121 #endif /* defined (__STDC__) */
122 #endif /* ! __cplusplus */
125 #define yyconst const
130 /* Returned upon end-of-file. */
133 /* Promotes a possibly negative, possibly signed char to an unsigned
134 * integer for use as an array index. If the signed char is negative,
135 * we want to instead treat it as an 8-bit unsigned char, hence the
138 #define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
140 /* Enter a start condition. This macro really ought to take a parameter,
141 * but we do it the disgusting crufty way forced on us by the ()-less
142 * definition of BEGIN.
144 #define BEGIN (yy_start) = 1 + 2 *
146 /* Translate the current start state into a value that can be later handed
147 * to BEGIN to return to the state. The YYSTATE alias is for lex
150 #define YY_START (((yy_start) - 1) / 2)
151 #define YYSTATE YY_START
153 /* Action number for EOF rule of a given start state. */
154 #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
156 /* Special action meaning "start processing a new file". */
157 #define YY_NEW_FILE surf_parse_restart(surf_parse_in )
159 #define YY_END_OF_BUFFER_CHAR 0
161 /* Size of default input buffer. */
164 /* On IA-64, the buffer size is 16k, not 8k.
165 * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case.
166 * Ditto for the __ia64__ case accordingly.
168 #define YY_BUF_SIZE 32768
170 #define YY_BUF_SIZE 16384
171 #endif /* __ia64__ */
174 /* The state buf must be large enough to hold one state per character in the main buffer.
176 #define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
178 #ifndef YY_TYPEDEF_YY_BUFFER_STATE
179 #define YY_TYPEDEF_YY_BUFFER_STATE
180 typedef struct yy_buffer_state *YY_BUFFER_STATE;
183 extern int surf_parse_leng;
185 extern FILE *surf_parse_in, *surf_parse_out;
187 #define EOB_ACT_CONTINUE_SCAN 0
188 #define EOB_ACT_END_OF_FILE 1
189 #define EOB_ACT_LAST_MATCH 2
191 /* Note: We specifically omit the test for yy_rule_can_match_eol because it requires
192 * access to the local variable yy_act. Since yyless() is a macro, it would break
193 * existing scanners that call yyless() from OUTSIDE surf_parse_lex.
194 * One obvious solution it to make yy_act a global. I tried that, and saw
195 * a 5% performance hit in a non-surf_parse_lineno scanner, because yy_act is
196 * normally declared as a register variable-- so it is not worth it.
198 #define YY_LESS_LINENO(n) \
201 for ( yyl = n; yyl < surf_parse_leng; ++yyl )\
202 if ( surf_parse_text[yyl] == '\n' )\
203 --surf_parse_lineno;\
206 /* Return all but the first "n" matched characters back to the input stream. */
210 /* Undo effects of setting up surf_parse_text. */ \
211 int yyless_macro_arg = (n); \
212 YY_LESS_LINENO(yyless_macro_arg);\
213 *yy_cp = (yy_hold_char); \
214 YY_RESTORE_YY_MORE_OFFSET \
215 (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
216 YY_DO_BEFORE_ACTION; /* set up surf_parse_text again */ \
220 #define unput(c) yyunput( c, (yytext_ptr) )
222 #ifndef YY_TYPEDEF_YY_SIZE_T
223 #define YY_TYPEDEF_YY_SIZE_T
224 typedef size_t yy_size_t;
227 #ifndef YY_STRUCT_YY_BUFFER_STATE
228 #define YY_STRUCT_YY_BUFFER_STATE
229 struct yy_buffer_state
233 char *yy_ch_buf; /* input buffer */
234 char *yy_buf_pos; /* current position in input buffer */
236 /* Size of input buffer in bytes, not including room for EOB
239 yy_size_t yy_buf_size;
241 /* Number of characters read into yy_ch_buf, not including EOB
246 /* Whether we "own" the buffer - i.e., we know we created it,
247 * and can realloc() it to grow it, and should free() it to
250 int yy_is_our_buffer;
252 /* Whether this is an "interactive" input source; if so, and
253 * if we're using stdio for input, then we want to use getc()
254 * instead of fread(), to make sure we stop fetching input after
257 int yy_is_interactive;
259 /* Whether we're considered to be at the beginning of a line.
260 * If so, '^' rules will be active on the next match, otherwise
265 int yy_bs_lineno; /**< The line count. */
266 int yy_bs_column; /**< The column count. */
268 /* Whether to try to fill the input buffer when we reach the
273 int yy_buffer_status;
275 #define YY_BUFFER_NEW 0
276 #define YY_BUFFER_NORMAL 1
277 /* When an EOF's been seen but there's still some text to process
278 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
279 * shouldn't try reading from the input source any more. We might
280 * still have a bunch of tokens to match, though, because of
281 * possible backing-up.
283 * When we actually see the EOF, we change the status to "new"
284 * (via surf_parse_restart()), so that the user can continue scanning by
285 * just pointing surf_parse_in at a new input file.
287 #define YY_BUFFER_EOF_PENDING 2
290 #endif /* !YY_STRUCT_YY_BUFFER_STATE */
292 /* Stack of input buffers. */
293 static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
294 static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
295 static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */
297 /* We provide macros for accessing buffer states in case in the
298 * future we want to put the buffer states in a more general
301 * Returns the top of the stack, or NULL.
303 #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
304 ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
307 /* Same as previous macro, but useful when we know that the buffer stack is not
308 * NULL or when we need an lvalue. For internal use only.
310 #define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
312 /* yy_hold_char holds the character lost when surf_parse_text is formed. */
313 static char yy_hold_char;
314 static int yy_n_chars; /* number of characters read into yy_ch_buf */
317 /* Points to current character in buffer. */
318 static char *yy_c_buf_p = (char *) 0;
319 static int yy_init = 0; /* whether we need to initialize */
320 static int yy_start = 0; /* start state number */
322 /* Flag which is used to allow surf_parse_wrap()'s to do buffer switches
323 * instead of setting up a fresh surf_parse_in. A bit of a hack ...
325 static int yy_did_buffer_switch_on_eof;
327 void surf_parse_restart (FILE *input_file );
328 void surf_parse__switch_to_buffer (YY_BUFFER_STATE new_buffer );
329 YY_BUFFER_STATE surf_parse__create_buffer (FILE *file,int size );
330 void surf_parse__delete_buffer (YY_BUFFER_STATE b );
331 void surf_parse__flush_buffer (YY_BUFFER_STATE b );
332 void surf_parse_push_buffer_state (YY_BUFFER_STATE new_buffer );
333 void surf_parse_pop_buffer_state (void );
335 static void surf_parse_ensure_buffer_stack (void );
336 static void surf_parse__load_buffer_state (void );
337 static void surf_parse__init_buffer (YY_BUFFER_STATE b,FILE *file );
339 #define YY_FLUSH_BUFFER surf_parse__flush_buffer(YY_CURRENT_BUFFER )
341 YY_BUFFER_STATE surf_parse__scan_buffer (char *base,yy_size_t size );
342 YY_BUFFER_STATE surf_parse__scan_string (yyconst char *yy_str );
343 YY_BUFFER_STATE surf_parse__scan_bytes (yyconst char *bytes,int len );
345 void *surf_parse_alloc (yy_size_t );
346 void *surf_parse_realloc (void *,yy_size_t );
347 void surf_parse_free (void * );
349 #define yy_new_buffer surf_parse__create_buffer
351 #define yy_set_interactive(is_interactive) \
353 if ( ! YY_CURRENT_BUFFER ){ \
354 surf_parse_ensure_buffer_stack (); \
355 YY_CURRENT_BUFFER_LVALUE = \
356 surf_parse__create_buffer(surf_parse_in,YY_BUF_SIZE ); \
358 YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
361 #define yy_set_bol(at_bol) \
363 if ( ! YY_CURRENT_BUFFER ){\
364 surf_parse_ensure_buffer_stack (); \
365 YY_CURRENT_BUFFER_LVALUE = \
366 surf_parse__create_buffer(surf_parse_in,YY_BUF_SIZE ); \
368 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
371 #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
373 /* Begin user sect3 */
375 #define surf_parse_wrap(n) 1
376 #define YY_SKIP_YYWRAP
378 typedef unsigned char YY_CHAR;
380 FILE *surf_parse_in = (FILE *) 0, *surf_parse_out = (FILE *) 0;
382 typedef int yy_state_type;
384 extern int surf_parse_lineno;
386 int surf_parse_lineno = 1;
388 extern char *surf_parse_text;
389 #define yytext_ptr surf_parse_text
391 static yy_state_type yy_get_previous_state (void );
392 static yy_state_type yy_try_NUL_trans (yy_state_type current_state );
393 static int yy_get_next_buffer (void );
394 static void yy_fatal_error (yyconst char msg[] );
396 /* Done after the current pattern has been matched and before the
397 * corresponding action - sets up surf_parse_text.
399 #define YY_DO_BEFORE_ACTION \
400 (yytext_ptr) = yy_bp; \
401 surf_parse_leng = (size_t) (yy_cp - yy_bp); \
402 (yy_hold_char) = *yy_cp; \
404 (yy_c_buf_p) = yy_cp;
406 #define YY_NUM_RULES 405
407 #define YY_END_OF_BUFFER 406
408 /* This struct is not used in this scanner,
409 but its presence is necessary. */
412 flex_int32_t yy_verify;
415 static yyconst flex_int16_t yy_accept[2424] =
417 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
418 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
419 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
420 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
421 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
422 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
423 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
424 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
425 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
426 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
428 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
429 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
430 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
431 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
432 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
433 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
434 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
435 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
436 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
437 0, 0, 406, 404, 15, 10, 10, 15, 15, 384,
439 10, 384, 5, 6, 5, 8, 9, 8, 400, 392,
440 393, 401, 398, 401, 399, 403, 392, 393, 403, 404,
441 22, 10, 22, 22, 22, 20, 22, 26, 10, 26,
442 26, 404, 26, 404, 404, 26, 33, 10, 33, 33,
443 33, 31, 33, 37, 10, 37, 48, 10, 48, 48,
444 48, 46, 48, 48, 48, 401, 400, 78, 10, 78,
445 78, 78, 76, 78, 78, 78, 78, 78, 82, 10,
446 82, 404, 82, 101, 10, 101, 101, 101, 99, 101,
447 101, 101, 105, 10, 105, 116, 10, 116, 116, 116,
448 114, 116, 116, 116, 120, 10, 120, 120, 404, 120,
450 120, 404, 404, 120, 404, 120, 404, 120, 143, 10,
451 143, 143, 143, 141, 143, 143, 143, 143, 143, 147,
452 10, 147, 147, 186, 10, 186, 186, 186, 184, 186,
453 186, 186, 186, 186, 186, 186, 186, 190, 10, 190,
454 211, 10, 211, 211, 211, 209, 211, 211, 211, 211,
455 211, 211, 211, 215, 10, 215, 224, 10, 224, 224,
456 224, 222, 224, 224, 228, 10, 228, 255, 10, 255,
457 255, 255, 253, 255, 255, 255, 255, 259, 10, 259,
458 259, 272, 10, 272, 272, 272, 270, 272, 272, 276,
459 10, 276, 404, 276, 293, 10, 293, 293, 293, 291,
461 293, 293, 293, 297, 10, 297, 297, 310, 10, 310,
462 310, 310, 308, 310, 310, 314, 10, 314, 327, 10,
463 327, 327, 327, 325, 327, 327, 327, 331, 10, 331,
464 331, 344, 10, 344, 344, 344, 342, 344, 344, 344,
465 344, 348, 10, 348, 404, 348, 355, 10, 355, 355,
466 355, 353, 355, 359, 10, 359, 366, 10, 366, 366,
467 366, 364, 366, 370, 10, 370, 370, 379, 10, 379,
468 379, 379, 377, 379, 379, 383, 10, 383, 10, 0,
469 2, 2, 0, 4, 7, 395, 394, 0, 0, 0,
470 0, 0, 0, 0, 21, 23, 23, 0, 0, 0,
472 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
473 0, 0, 0, 0, 0, 0, 0, 0, 32, 34,
474 34, 0, 47, 49, 49, 49, 49, 0, 0, 0,
475 77, 79, 79, 79, 79, 79, 79, 79, 79, 79,
476 0, 0, 100, 102, 102, 102, 102, 0, 115, 117,
477 117, 117, 117, 0, 0, 0, 0, 0, 0, 0,
478 0, 0, 142, 144, 144, 144, 144, 144, 144, 0,
479 185, 187, 187, 187, 187, 187, 187, 187, 187, 187,
480 187, 187, 187, 187, 0, 210, 212, 212, 212, 212,
481 212, 212, 212, 212, 0, 223, 225, 225, 225, 0,
483 254, 256, 256, 256, 256, 256, 256, 0, 271, 273,
484 273, 273, 273, 0, 0, 292, 294, 294, 294, 294,
485 294, 0, 309, 311, 311, 311, 0, 326, 328, 328,
486 328, 328, 0, 343, 345, 345, 345, 345, 345, 0,
487 0, 354, 356, 356, 0, 365, 367, 367, 0, 378,
488 380, 380, 380, 0, 0, 0, 0, 0, 3, 0,
489 0, 0, 0, 0, 0, 0, 402, 0, 23, 0,
490 0, 107, 0, 0, 0, 0, 0, 0, 0, 0,
491 0, 0, 0, 0, 0, 0, 0, 106, 0, 0,
492 0, 0, 0, 34, 0, 0, 49, 0, 0, 49,
494 0, 0, 0, 397, 79, 0, 0, 79, 79, 79,
495 79, 79, 79, 0, 0, 0, 102, 102, 102, 0,
496 0, 117, 0, 0, 117, 0, 0, 107, 0, 0,
497 0, 0, 106, 0, 0, 144, 144, 144, 0, 0,
498 144, 144, 0, 0, 187, 187, 0, 0, 187, 0,
499 0, 187, 187, 187, 187, 187, 187, 187, 0, 0,
500 212, 212, 212, 0, 0, 212, 212, 212, 0, 0,
501 225, 0, 0, 0, 0, 256, 0, 0, 256, 256,
502 256, 0, 0, 273, 273, 273, 0, 0, 0, 294,
503 294, 294, 294, 0, 0, 311, 0, 0, 0, 0,
505 328, 328, 328, 0, 0, 345, 345, 345, 345, 0,
506 0, 0, 356, 0, 0, 0, 0, 0, 0, 0,
507 0, 380, 0, 0, 0, 14, 1, 0, 0, 390,
508 0, 0, 0, 387, 386, 0, 0, 23, 0, 0,
509 25, 0, 107, 0, 0, 0, 0, 0, 0, 0,
510 0, 0, 0, 0, 0, 0, 0, 0, 0, 106,
511 0, 0, 0, 0, 0, 34, 0, 0, 36, 0,
512 49, 0, 41, 40, 49, 0, 0, 0, 51, 0,
513 79, 0, 55, 54, 0, 0, 79, 0, 0, 79,
514 79, 79, 0, 0, 81, 0, 0, 102, 102, 102,
516 0, 0, 104, 0, 117, 0, 109, 108, 117, 0,
517 0, 119, 0, 0, 0, 0, 0, 0, 0, 0,
518 144, 144, 144, 0, 124, 123, 144, 144, 0, 0,
519 146, 0, 187, 187, 187, 187, 0, 163, 162, 187,
520 0, 151, 150, 0, 0, 187, 187, 187, 187, 187,
521 187, 0, 0, 189, 0, 212, 212, 212, 212, 0,
522 194, 193, 0, 0, 212, 212, 0, 0, 214, 0,
523 225, 0, 219, 218, 0, 0, 227, 0, 256, 0,
524 232, 231, 256, 256, 256, 0, 0, 258, 0, 0,
525 0, 0, 0, 273, 0, 0, 275, 0, 0, 0,
527 0, 294, 294, 0, 0, 294, 0, 0, 296, 0,
528 311, 0, 301, 300, 0, 0, 313, 0, 0, 0,
529 328, 328, 0, 0, 0, 0, 330, 0, 345, 345,
530 345, 345, 0, 0, 347, 0, 0, 356, 0, 0,
531 358, 0, 0, 363, 362, 0, 0, 369, 0, 0,
532 374, 373, 380, 0, 0, 382, 0, 0, 0, 391,
533 385, 0, 0, 0, 23, 0, 0, 0, 0, 0,
534 0, 121, 0, 229, 192, 0, 0, 371, 0, 0,
535 0, 0, 0, 0, 0, 191, 0, 0, 0, 0,
536 0, 0, 0, 49, 0, 0, 79, 0, 59, 58,
538 0, 0, 0, 57, 56, 79, 0, 0, 79, 0,
539 372, 102, 0, 0, 102, 0, 117, 117, 0, 118,
540 0, 0, 122, 230, 0, 0, 0, 144, 144, 0,
541 0, 144, 144, 0, 187, 187, 187, 187, 0, 0,
542 0, 165, 164, 187, 187, 187, 187, 187, 187, 0,
543 212, 212, 212, 212, 0, 202, 201, 212, 212, 0,
544 225, 0, 256, 256, 256, 256, 0, 0, 265, 264,
545 0, 263, 262, 273, 0, 229, 0, 282, 281, 294,
546 294, 0, 280, 279, 294, 0, 311, 0, 0, 320,
547 319, 328, 328, 0, 318, 317, 0, 345, 0, 0,
549 345, 345, 0, 0, 356, 0, 0, 380, 0, 0,
550 0, 0, 12, 0, 388, 389, 0, 23, 0, 0,
551 0, 0, 0, 0, 121, 0, 229, 0, 192, 0,
552 0, 371, 0, 260, 39, 0, 0, 0, 0, 191,
553 0, 38, 0, 30, 29, 0, 0, 43, 42, 49,
554 0, 0, 79, 0, 61, 60, 79, 0, 65, 64,
555 79, 0, 372, 102, 0, 0, 0, 0, 0, 0,
556 117, 117, 0, 0, 122, 230, 261, 261, 260, 144,
557 144, 0, 128, 127, 0, 0, 0, 0, 144, 0,
558 187, 0, 0, 187, 187, 0, 161, 160, 0, 0,
560 187, 187, 187, 187, 187, 0, 212, 0, 0, 212,
561 212, 0, 0, 212, 0, 225, 0, 256, 256, 256,
562 0, 0, 256, 0, 273, 0, 0, 294, 294, 294,
563 0, 311, 0, 328, 328, 0, 345, 0, 335, 334,
564 345, 345, 0, 0, 0, 0, 0, 0, 0, 0,
565 0, 0, 0, 0, 11, 0, 23, 0, 0, 0,
566 0, 0, 361, 0, 0, 0, 0, 53, 260, 216,
567 39, 0, 360, 52, 0, 0, 0, 38, 0, 0,
568 49, 0, 0, 79, 79, 79, 0, 102, 0, 0,
569 0, 0, 0, 0, 0, 0, 0, 96, 95, 0,
571 117, 117, 0, 0, 261, 217, 144, 144, 0, 126,
572 125, 0, 0, 0, 144, 0, 145, 187, 0, 173,
573 172, 0, 0, 187, 0, 159, 158, 0, 0, 187,
574 187, 187, 0, 0, 0, 212, 0, 198, 197, 0,
575 0, 212, 0, 196, 195, 212, 0, 213, 225, 0,
576 256, 256, 256, 0, 0, 0, 256, 0, 257, 273,
577 0, 0, 0, 0, 0, 0, 294, 0, 311, 0,
578 0, 0, 0, 0, 0, 345, 345, 345, 0, 0,
579 0, 352, 351, 0, 0, 0, 376, 375, 0, 381,
580 0, 0, 0, 0, 0, 0, 0, 277, 0, 0,
582 149, 361, 28, 0, 0, 333, 53, 216, 0, 360,
583 52, 148, 27, 332, 0, 0, 49, 0, 0, 50,
584 79, 0, 0, 79, 0, 0, 0, 0, 0, 0,
585 0, 0, 0, 0, 0, 0, 0, 0, 117, 0,
586 0, 278, 0, 217, 144, 144, 0, 0, 144, 187,
587 0, 175, 174, 187, 0, 153, 152, 0, 0, 187,
588 187, 0, 155, 154, 0, 212, 0, 200, 199, 212,
589 212, 225, 0, 256, 0, 0, 256, 256, 0, 0,
590 256, 273, 0, 274, 0, 0, 286, 285, 0, 284,
591 283, 294, 0, 311, 0, 0, 324, 323, 0, 322,
593 321, 0, 345, 345, 345, 0, 0, 0, 0, 0,
594 0, 0, 17, 0, 19, 18, 0, 277, 349, 0,
595 149, 28, 298, 16, 333, 0, 148, 27, 332, 0,
596 0, 49, 396, 79, 0, 67, 66, 79, 0, 80,
597 0, 98, 97, 0, 0, 0, 0, 0, 0, 0,
598 0, 0, 0, 0, 117, 0, 111, 110, 278, 0,
599 144, 144, 0, 0, 0, 0, 144, 187, 187, 0,
600 157, 156, 187, 187, 0, 212, 212, 212, 225, 0,
601 226, 256, 0, 238, 237, 256, 256, 0, 0, 0,
602 0, 256, 273, 299, 294, 0, 311, 0, 0, 0,
604 0, 345, 345, 0, 350, 0, 0, 368, 0, 0,
605 0, 17, 0, 349, 0, 298, 16, 0, 0, 0,
606 35, 49, 0, 0, 79, 0, 0, 0, 0, 0,
607 0, 0, 0, 0, 0, 0, 117, 0, 144, 144,
608 0, 134, 0, 133, 144, 187, 187, 187, 187, 0,
609 188, 212, 212, 212, 225, 0, 0, 256, 256, 256,
610 0, 242, 0, 241, 256, 273, 299, 294, 0, 295,
611 0, 0, 0, 0, 0, 337, 336, 0, 0, 345,
612 0, 346, 350, 0, 0, 0, 0, 0, 24, 0,
613 0, 0, 49, 0, 0, 0, 79, 0, 0, 0,
615 0, 0, 0, 0, 0, 0, 0, 0, 117, 0,
616 144, 144, 136, 135, 0, 0, 187, 187, 187, 0,
617 0, 212, 212, 0, 0, 225, 0, 234, 233, 256,
618 256, 256, 244, 243, 0, 0, 273, 294, 0, 0,
619 0, 0, 312, 0, 0, 341, 340, 0, 0, 0,
620 357, 0, 0, 0, 315, 0, 0, 0, 0, 0,
621 0, 0, 0, 0, 0, 79, 0, 0, 0, 0,
622 88, 0, 0, 0, 0, 87, 0, 0, 0, 316,
623 144, 0, 0, 0, 138, 137, 187, 187, 187, 0,
624 183, 182, 212, 0, 0, 0, 208, 207, 0, 0,
626 256, 256, 256, 0, 246, 245, 0, 0, 0, 0,
627 0, 0, 0, 0, 0, 0, 0, 0, 339, 338,
628 0, 0, 0, 315, 0, 0, 0, 45, 44, 0,
629 0, 0, 0, 0, 0, 0, 0, 79, 0, 0,
630 0, 0, 0, 0, 0, 0, 0, 0, 113, 112,
631 316, 0, 0, 144, 0, 140, 139, 187, 187, 187,
632 212, 0, 204, 203, 0, 221, 220, 256, 0, 0,
633 256, 0, 0, 0, 0, 0, 0, 0, 0, 0,
634 0, 0, 0, 0, 0, 0, 0, 0, 84, 83,
635 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
637 0, 0, 94, 0, 0, 0, 93, 0, 0, 0,
638 130, 129, 144, 187, 187, 187, 212, 256, 0, 240,
639 239, 256, 0, 0, 0, 0, 0, 0, 0, 0,
640 0, 0, 303, 0, 0, 302, 0, 329, 0, 0,
641 0, 0, 0, 0, 84, 83, 0, 0, 0, 0,
642 0, 0, 0, 0, 0, 63, 62, 0, 0, 0,
643 0, 0, 0, 0, 144, 187, 187, 0, 0, 212,
644 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
645 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
646 0, 0, 0, 75, 71, 0, 0, 74, 70, 0,
648 92, 0, 0, 91, 0, 0, 0, 103, 144, 187,
649 187, 0, 0, 0, 212, 0, 236, 235, 0, 0,
650 0, 269, 0, 268, 0, 290, 0, 289, 0, 305,
651 307, 304, 306, 0, 0, 0, 12, 0, 12, 0,
652 0, 0, 0, 0, 86, 90, 85, 89, 144, 187,
653 187, 0, 0, 0, 0, 212, 0, 0, 0, 0,
654 267, 266, 288, 287, 0, 0, 0, 0, 0, 0,
655 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
656 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
657 0, 0, 0, 0, 0, 69, 0, 68, 0, 0,
659 132, 131, 0, 181, 180, 0, 0, 0, 0, 0,
660 0, 0, 0, 0, 0, 206, 205, 0, 0, 0,
661 0, 0, 0, 0, 11, 0, 0, 0, 0, 0,
662 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
663 0, 0, 0, 0, 73, 72, 0, 0, 0, 0,
664 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
665 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
666 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
667 0, 0, 0, 0, 0, 0, 167, 0, 0, 166,
668 0, 0, 248, 0, 0, 247, 0, 0, 0, 0,
670 0, 171, 0, 170, 0, 250, 0, 249, 0, 0,
671 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
672 177, 0, 176, 0, 0, 0, 0, 0, 0, 179,
673 178, 169, 168, 252, 251, 0, 0, 0, 0, 0,
674 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
675 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
676 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
677 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
678 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
679 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
681 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
682 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
686 static yyconst flex_int32_t yy_ec[256] =
688 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
689 1, 2, 4, 1, 1, 1, 1, 1, 1, 1,
690 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
691 1, 2, 5, 6, 7, 1, 1, 8, 9, 1,
692 1, 1, 1, 1, 10, 11, 12, 13, 13, 13,
693 13, 14, 13, 13, 13, 15, 13, 16, 17, 18,
694 19, 20, 21, 1, 22, 23, 24, 25, 26, 27,
695 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
696 31, 38, 39, 40, 41, 42, 43, 44, 45, 31,
697 46, 1, 47, 1, 48, 1, 49, 50, 51, 52,
699 53, 54, 55, 56, 57, 31, 58, 59, 60, 61,
700 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
701 72, 31, 1, 1, 1, 1, 1, 1, 1, 1,
702 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
703 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
704 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
705 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
706 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
707 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
708 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
710 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
711 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
712 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
713 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
714 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
718 static yyconst flex_int32_t yy_meta[73] =
720 1, 2, 2, 2, 1, 1, 1, 1, 1, 3,
721 3, 1, 4, 4, 4, 5, 6, 1, 7, 8,
722 1, 9, 9, 9, 9, 9, 9, 5, 5, 5,
723 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
724 5, 5, 5, 5, 5, 1, 1, 5, 9, 9,
725 9, 9, 9, 9, 5, 5, 5, 5, 5, 5,
726 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
730 static yyconst flex_int16_t yy_base[2717] =
732 0, 0, 0, 3, 6, 9, 12, 29, 16, 19,
733 14, 17, 33, 36, 49, 55, 45, 61, 66, 72,
734 108, 177, 75, 78, 83, 128, 131, 134, 138, 141,
735 158, 197, 200, 203, 207, 210, 227, 230, 233, 236,
736 239, 256, 274, 328, 294, 297, 382, 445, 305, 351,
737 508, 574, 300, 354, 358, 361, 402, 405, 408, 412,
738 640, 707, 415, 465, 774, 839, 468, 471, 475, 478,
739 528, 531, 534, 538, 541, 594, 597, 600, 604, 607,
740 660, 663, 666, 670, 673, 727, 730, 733, 737, 740,
741 794, 797, 800, 804, 859, 862, 904, 970, 865, 869,
743 924, 927, 930, 934, 990, 993, 1036, 0, 996, 1000,
744 1108, 0, 1179, 1182, 1200, 1257, 1220, 1223, 1314, 1380,
745 1226, 1230, 1277, 1280, 1283, 1287, 1334, 1337, 1446, 1512,
746 1340, 1344, 1347, 1400, 1403, 1406, 1410, 1413, 1578, 1644,
747 1466, 1469, 1472, 1476, 1479, 1532, 1535, 1538, 1710, 1767,
748 1542, 1545, 1824, 1890, 1598, 1601, 1604, 1608, 1611, 1664,
749 1667, 1670, 1956, 2022, 1674, 1677, 1730, 1733, 1736, 1740,
750 1743, 1787, 2088, 2157, 1790, 1793, 2226, 2283, 1797, 1800,
751 1844, 1847, 1850, 1854, 1857, 1910, 2340, 2409, 1913, 1916,
752 0, 0, 6566, 8070, 8070, 95, 100, 29, 41, 8070,
754 103, 51, 8070, 8070, 6551, 8070, 8070, 6540, 8070, 6555,
755 6553, 498, 8070, 8070, 8070, 8070, 6551, 6551, 6502, 145,
756 8070, 161, 6528, 0, 146, 8070, 6494, 8070, 166, 2474,
757 88, 204, 205, 254, 6532, 3, 8070, 169, 6523, 0,
758 153, 8070, 6485, 8070, 260, 419, 8070, 322, 6517, 0,
759 244, 8070, 6479, 6483, 6479, 420, 6484, 8070, 364, 6510,
760 0, 248, 8070, 6472, 6472, 257, 6474, 360, 8070, 440,
761 31, 6508, 6456, 8070, 567, 6498, 0, 306, 8070, 6454,
762 6455, 6446, 8070, 624, 482, 8070, 633, 6488, 0, 416,
763 8070, 6445, 6454, 6439, 8070, 692, 1928, 1929, 6441, 35,
765 6477, 240, 135, 740, 691, 59, 6484, 152, 8070, 697,
766 6475, 0, 417, 8070, 6425, 6427, 6436, 6425, 6417, 8070,
767 702, 6471, 181, 8070, 764, 6462, 0, 479, 8070, 6408,
768 300, 6414, 6423, 6423, 185, 6422, 439, 8070, 767, 546,
769 8070, 807, 6450, 0, 480, 8070, 6396, 6394, 6401, 6408,
770 6410, 6396, 6386, 8070, 824, 611, 8070, 830, 6432, 0,
771 483, 8070, 6389, 6396, 8070, 833, 612, 8070, 872, 6427,
772 0, 543, 8070, 6397, 6389, 6391, 483, 8070, 889, 6427,
773 210, 8070, 895, 6416, 0, 609, 8070, 6369, 279, 8070,
774 898, 626, 6422, 6370, 8070, 937, 6408, 0, 752, 8070,
776 6361, 6354, 306, 8070, 954, 6411, 554, 8070, 960, 6402,
777 0, 808, 8070, 6360, 6364, 8070, 1003, 1008, 8070, 1020,
778 6395, 0, 809, 8070, 6346, 6341, 6345, 8070, 1028, 6393,
779 560, 8070, 1185, 6384, 0, 873, 8070, 6335, 6338, 6342,
780 6331, 8070, 1188, 304, 449, 310, 8070, 1191, 6373, 0,
781 874, 8070, 6343, 8070, 1233, 1288, 8070, 1250, 6371, 0,
782 938, 8070, 6336, 8070, 1308, 6375, 593, 8070, 1364, 6366,
783 0, 939, 8070, 6329, 6331, 8070, 1372, 1351, 1375, 672,
784 6308, 8070, 6366, 6355, 8070, 8070, 8070, 1420, 317, 6307,
785 6302, 6300, 6347, 6305, 8070, 0, 6298, 6299, 6318, 6283,
787 6275, 621, 6284, 6280, 6283, 30, 630, 6274, 687, 710,
788 6295, 702, 6272, 1190, 6267, 757, 1379, 1436, 8070, 0,
789 6268, 6269, 8070, 0, 6266, 1919, 6255, 514, 6252, 6298,
790 8070, 0, 6252, 1978, 6241, 6262, 6245, 6253, 6251, 6247,
791 6233, 1443, 8070, 0, 6244, 6231, 6242, 6223, 8070, 0,
792 6223, 1986, 6216, 6261, 6239, 6205, 6214, 6214, 963, 6231,
793 966, 1245, 8070, 0, 6220, 819, 1996, 6194, 6214, 6206,
794 8070, 0, 6208, 6208, 2042, 6190, 2045, 6183, 6179, 6195,
795 6191, 6193, 6192, 6182, 6184, 8070, 0, 6185, 6181, 6166,
796 2048, 6160, 6152, 6172, 6157, 8070, 0, 5775, 2051, 5771,
798 8070, 0, 5773, 2054, 5766, 5783, 5782, 5771, 8070, 0,
799 5762, 5777, 5766, 5760, 5766, 8070, 0, 5748, 5766, 5761,
800 5743, 5779, 8070, 0, 5731, 2108, 5736, 8070, 0, 5726,
801 5740, 5736, 5731, 8070, 0, 5718, 5712, 5717, 5722, 5707,
802 5700, 8070, 0, 5705, 5713, 8070, 0, 2111, 5702, 8070,
803 0, 2114, 5693, 5687, 5729, 5729, 929, 5678, 8070, 1428,
804 0, 5673, 5666, 5710, 5708, 5658, 8070, 5670, 5651, 1923,
805 2120, 1501, 5661, 5649, 5643, 5648, 5642, 5655, 5602, 5606,
806 5608, 5594, 5593, 5581, 5599, 5585, 5576, 1507, 5568, 5584,
807 5581, 5570, 5582, 5567, 2117, 2181, 5566, 2178, 1565, 5560,
809 5592, 2185, 2188, 8070, 5556, 2191, 1632, 2196, 5547, 2246,
810 5549, 5549, 5546, 2254, 2257, 5531, 5531, 5531, 5530, 2260,
811 2305, 5515, 2308, 1698, 5511, 2311, 2317, 1818, 5501, 5482,
812 5483, 5474, 1882, 5473, 5471, 5477, 5468, 5478, 2314, 2139,
813 5469, 5450, 2360, 2363, 5459, 1247, 2320, 2147, 5452, 2369,
814 2210, 2372, 5451, 5448, 5444, 5431, 5418, 5430, 2375, 2429,
815 5425, 1183, 5403, 2432, 2390, 2435, 5414, 5398, 2438, 2441,
816 5398, 2444, 2398, 2465, 2470, 5410, 2473, 2478, 5407, 5390,
817 5380, 2495, 2498, 2501, 2507, 2510, 2532, 2540, 5385, 2543,
818 2546, 2554, 2564, 2572, 2575, 5383, 2578, 2582, 2597, 2601,
820 2604, 2607, 2616, 2625, 2628, 5384, 5366, 5360, 5353, 2634,
821 2637, 5360, 5344, 2640, 2647, 2659, 2662, 2672, 2677, 2680,
822 2684, 5342, 2701, 2704, 5388, 8070, 8070, 1268, 5348, 8070,
823 5388, 5374, 5324, 8070, 8070, 5321, 5315, 5323, 2707, 2711,
824 8070, 2714, 1573, 5313, 5306, 5323, 5298, 5309, 5289, 5296,
825 5295, 5282, 5278, 639, 5288, 5272, 5286, 5270, 5271, 1761,
826 5255, 5261, 5253, 819, 5260, 2726, 2733, 2738, 8070, 2744,
827 2747, 2692, 8070, 8070, 2752, 5280, 2757, 2770, 8070, 2776,
828 5238, 2779, 8070, 8070, 2789, 2795, 2803, 2807, 2814, 5251,
829 2825, 5248, 2828, 2831, 8070, 2834, 884, 5242, 2837, 5234,
831 2843, 2855, 8070, 2858, 5234, 2862, 8070, 8070, 5219, 2870,
832 2877, 8070, 2880, 5213, 5216, 5197, 5196, 5186, 5176, 5175,
833 5181, 5177, 2883, 2890, 8070, 8070, 5159, 5170, 2901, 2906,
834 8070, 2909, 5162, 5142, 5161, 5148, 2913, 8070, 8070, 2921,
835 2928, 8070, 8070, 2939, 2942, 5132, 5139, 5143, 5121, 5123,
836 5118, 2950, 2953, 8070, 2957, 5114, 5104, 5093, 5106, 2960,
837 8070, 8070, 2976, 2979, 5091, 5099, 2987, 2990, 8070, 2994,
838 5092, 2997, 8070, 8070, 3009, 3013, 8070, 3016, 5069, 3028,
839 8070, 8070, 5077, 5079, 5078, 3019, 3024, 8070, 3038, 3046,
840 3050, 3058, 3064, 5073, 3072, 3076, 8070, 3083, 5067, 3079,
842 3091, 5057, 5057, 3086, 3104, 5067, 3112, 3115, 8070, 3118,
843 5061, 3121, 8070, 8070, 3137, 3140, 8070, 3143, 3146, 3150,
844 5041, 5040, 3165, 3168, 3176, 3183, 8070, 3186, 5037, 3189,
845 5054, 5027, 3195, 3198, 8070, 3207, 5021, 5035, 3210, 3217,
846 8070, 3220, 3229, 8070, 8070, 3239, 3242, 8070, 3248, 3251,
847 8070, 8070, 5033, 3261, 3268, 8070, 3274, 926, 3280, 8070,
848 8070, 5064, 5059, 5021, 5011, 3283, 5000, 5000, 4990, 4988,
849 4993, 1878, 4981, 1885, 1950, 4991, 4990, 2004, 4980, 4987,
850 4979, 4974, 4966, 4958, 4952, 2014, 4966, 4955, 3287, 3293,
851 3308, 3311, 3314, 4954, 4978, 3322, 4948, 3329, 8070, 8070,
853 3337, 3342, 3351, 8070, 8070, 4939, 3359, 3362, 4934, 3372,
854 2017, 4909, 3377, 3380, 3391, 3395, 4911, 4906, 3398, 8070,
855 4897, 4894, 2079, 2083, 4906, 4904, 4899, 4902, 4892, 3401,
856 3405, 3419, 3423, 3427, 4889, 3430, 4869, 4886, 3433, 3451,
857 3459, 8070, 8070, 3437, 4862, 4883, 4864, 4863, 4839, 3470,
858 4858, 3473, 4839, 4843, 3476, 8070, 8070, 3484, 4850, 3493,
859 4833, 3496, 4832, 4829, 4817, 3502, 3506, 3516, 8070, 8070,
860 3525, 8070, 8070, 4810, 3535, 2218, 3538, 8070, 8070, 4805,
861 4819, 3550, 8070, 8070, 4798, 3558, 4797, 3563, 3566, 8070,
862 8070, 4795, 4794, 3578, 8070, 8070, 3586, 4787, 3589, 3592,
864 4775, 4788, 3607, 4774, 3610, 3613, 3620, 3628, 3634, 718,
865 4813, 3639, 8070, 4811, 8070, 8070, 4761, 4748, 3642, 4737,
866 4738, 4723, 4728, 4712, 2221, 4713, 2265, 4713, 2332, 4700,
867 4694, 2504, 4699, 3601, 3441, 4702, 4683, 4689, 4684, 3646,
868 4665, 3653, 3661, 8070, 8070, 3649, 3669, 8070, 8070, 4671,
869 4680, 3680, 4652, 3684, 8070, 8070, 4658, 3700, 8070, 8070,
870 4647, 3708, 3711, 4647, 3716, 1528, 1594, 3727, 3732, 3740,
871 4647, 4651, 4634, 4634, 3745, 3748, 3751, 3754, 3759, 4625,
872 4588, 3762, 8070, 8070, 3770, 3773, 3781, 3788, 4594, 3784,
873 4591, 3799, 3803, 3811, 4575, 3819, 8070, 8070, 3829, 3832,
875 3840, 4579, 4582, 4578, 3843, 3847, 4581, 3850, 3854, 3862,
876 4564, 3868, 3871, 4543, 3880, 4531, 3886, 4528, 4506, 4506,
877 3889, 3892, 4505, 3900, 4490, 3907, 4469, 3913, 3919, 3922,
878 3926, 4461, 3931, 3940, 3945, 3950, 4444, 3959, 8070, 8070,
879 4447, 4420, 3953, 4417, 3972, 3979, 3993, 3997, 4000, 4005,
880 4018, 818, 415, 948, 8070, 4384, 4021, 4024, 4394, 4329,
881 4349, 4319, 4027, 4318, 4198, 4195, 4145, 4030, 4033, 4039,
882 4043, 4154, 4046, 4053, 4071, 4052, 4021, 4056, 4030, 4059,
883 4000, 3971, 4062, 3930, 4065, 3933, 4068, 4071, 3950, 3876,
884 1004, 3832, 3795, 3763, 1209, 3742, 4074, 8070, 8070, 4089,
886 3691, 4093, 3686, 110, 4096, 4099, 118, 171, 4104, 8070,
887 8070, 4112, 271, 345, 377, 4120, 8070, 433, 4123, 8070,
888 8070, 4131, 4139, 440, 4149, 8070, 8070, 4157, 4160, 4168,
889 513, 533, 4171, 4175, 4189, 614, 4192, 8070, 8070, 4200,
890 4204, 674, 4212, 8070, 8070, 695, 4220, 8070, 768, 4223,
891 756, 4226, 776, 4229, 852, 853, 846, 4244, 8070, 863,
892 4247, 887, 4250, 4253, 4268, 4273, 912, 4281, 924, 4287,
893 4290, 4293, 4301, 4308, 4319, 948, 950, 978, 4322, 1135,
894 4325, 8070, 8070, 4333, 4341, 4348, 8070, 8070, 4356, 8070,
895 1230, 1222, 1420, 1138, 4360, 4363, 4371, 4378, 1132, 1154,
897 4390, 4395, 4398, 1235, 1239, 4401, 4404, 4407, 1240, 4410,
898 4413, 4416, 4419, 4422, 1268, 4425, 1288, 1307, 4428, 8070,
899 1289, 4431, 4435, 1308, 4449, 4452, 4455, 1324, 1330, 1330,
900 1361, 1368, 1384, 1381, 1382, 1388, 1382, 4463, 1362, 4470,
901 4473, 4482, 1374, 4488, 1403, 1410, 1472, 1527, 1427, 1429,
902 4491, 8070, 8070, 1439, 4499, 8070, 8070, 4507, 4513, 1443,
903 1469, 4521, 8070, 8070, 4529, 1484, 4532, 8070, 8070, 1485,
904 1496, 1503, 4540, 1517, 4543, 4548, 1540, 1546, 1593, 1605,
905 1559, 1570, 4561, 8070, 1576, 4564, 8070, 8070, 4573, 8070,
906 8070, 1588, 4581, 1581, 4584, 4587, 8070, 8070, 4596, 8070,
908 8070, 4604, 4607, 1590, 1600, 4610, 1608, 4613, 4616, 4619,
909 1664, 1683, 4625, 4641, 8070, 8070, 4650, 4653, 4656, 1615,
910 4659, 4662, 4665, 4669, 4675, 1625, 4678, 4681, 4684, 1626,
911 4687, 1622, 8070, 4690, 4693, 8070, 8070, 1626, 4701, 8070,
912 4709, 8070, 8070, 1669, 1657, 1672, 1673, 1680, 1683, 1669,
913 1715, 1718, 1726, 4720, 1700, 4723, 8070, 8070, 4731, 1687,
914 1702, 1707, 1739, 1777, 1771, 1797, 1754, 1752, 1755, 4735,
915 8070, 8070, 1750, 1763, 4743, 1760, 1770, 1787, 1802, 4746,
916 8070, 4749, 4752, 8070, 8070, 1806, 1802, 1839, 1861, 1842,
917 1864, 1821, 1828, 4767, 1829, 4770, 4773, 4776, 4781, 4784,
919 4796, 4791, 1853, 4804, 4809, 4812, 4815, 8070, 4818, 1952,
920 1926, 4823, 4826, 4837, 1857, 4845, 4848, 1868, 1869, 4851,
921 8070, 1860, 4854, 4857, 1878, 1896, 1896, 1913, 1901, 1917,
922 1942, 1938, 1956, 1946, 1957, 4865, 1935, 1942, 1944, 1947,
923 2032, 8070, 2050, 8070, 4872, 1993, 2014, 2004, 4880, 4884,
924 8070, 1998, 2000, 4890, 2005, 4893, 4899, 2018, 2015, 2016,
925 2071, 8070, 2070, 8070, 4911, 2025, 4914, 2045, 4917, 8070,
926 4920, 4925, 4938, 4941, 4944, 8070, 8070, 4952, 4960, 4970,
927 4973, 8070, 4976, 4979, 2127, 2116, 2134, 4982, 8070, 2072,
928 2073, 2075, 4988, 4992, 2427, 2526, 2067, 2102, 2116, 2115,
930 2122, 2140, 2122, 2133, 2178, 2184, 2198, 5001, 5008, 2156,
931 2139, 5011, 8070, 8070, 5014, 5020, 2145, 2155, 2194, 5032,
932 5035, 2180, 5044, 5050, 5055, 5063, 5068, 8070, 8070, 2197,
933 2202, 2213, 8070, 8070, 5076, 5081, 5089, 5094, 5097, 2528,
934 2697, 5107, 8070, 5112, 5115, 8070, 8070, 5126, 5131, 5139,
935 8070, 2256, 2308, 2430, 5144, 2220, 2224, 5147, 5151, 2240,
936 2243, 2346, 2243, 2246, 2363, 2238, 2301, 2290, 2293, 2340,
937 8070, 2359, 2347, 2345, 2361, 8070, 5160, 5165, 5168, 5179,
938 5183, 5186, 5189, 5197, 8070, 8070, 2357, 2344, 2357, 5205,
939 8070, 8070, 2405, 5213, 5216, 5224, 8070, 8070, 5232, 5235,
941 2398, 5243, 2408, 5246, 8070, 8070, 5254, 5257, 5265, 5268,
942 2424, 2428, 2433, 2435, 2447, 2452, 5276, 5279, 8070, 8070,
943 2473, 2499, 5287, 5290, 2449, 2450, 5295, 8070, 8070, 2499,
944 2487, 2492, 2500, 2516, 2524, 2536, 2544, 5306, 2547, 2567,
945 2584, 2571, 2554, 2574, 2604, 2593, 5310, 5313, 8070, 8070,
946 5324, 5329, 5332, 2562, 5340, 8070, 8070, 2568, 2566, 2561,
947 2580, 5348, 8070, 8070, 5356, 8070, 8070, 2593, 5364, 5367,
948 2575, 5375, 2688, 2717, 5383, 2722, 2730, 2609, 2618, 2649,
949 2613, 2634, 2661, 5391, 2665, 5394, 5397, 5400, 5419, 5422,
950 2637, 2651, 2664, 2652, 2685, 2699, 2701, 2704, 5425, 5428,
952 2715, 2738, 8070, 2740, 2747, 2754, 8070, 2756, 5436, 5439,
953 8070, 8070, 2730, 2732, 2737, 5447, 2743, 5450, 5455, 8070,
954 8070, 5468, 2766, 2777, 2776, 2787, 2779, 2793, 2785, 2798,
955 2807, 2817, 8070, 2814, 2824, 8070, 5471, 8070, 2856, 5474,
956 5477, 5486, 5506, 5553, 5496, 5517, 2827, 2847, 2849, 2827,
957 2844, 2861, 2868, 2848, 5526, 8070, 8070, 2883, 2858, 2865,
958 2892, 2873, 2881, 5543, 2861, 2868, 2877, 5547, 5534, 2874,
959 5565, 5573, 5583, 5586, 2929, 2897, 2929, 2900, 2941, 2910,
960 2941, 2926, 2961, 2962, 2962, 2963, 3004, 5601, 3037, 2967,
961 5621, 5668, 2960, 8070, 8070, 2946, 2972, 8070, 8070, 2964,
963 8070, 2998, 2999, 8070, 2999, 3000, 5594, 8070, 2982, 2985,
964 2973, 5609, 3024, 3134, 2993, 5641, 8070, 8070, 5649, 3137,
965 3155, 8070, 3049, 8070, 3055, 8070, 3065, 8070, 3063, 8070,
966 8070, 8070, 8070, 3071, 3106, 3081, 3098, 3146, 3100, 5658,
967 3096, 3102, 3114, 3107, 8070, 8070, 8070, 8070, 5662, 5680,
968 5688, 3140, 3105, 3185, 3107, 5691, 3195, 3108, 3206, 3129,
969 8070, 8070, 8070, 8070, 5698, 3169, 3174, 3196, 5701, 3210,
970 3203, 3220, 3212, 5694, 5720, 5728, 5731, 5739, 5742, 3199,
971 3215, 3234, 3218, 3228, 3244, 5753, 5757, 3227, 3240, 3252,
972 3239, 3247, 3270, 5765, 3273, 8070, 3264, 8070, 3270, 5771,
974 8070, 8070, 5780, 8070, 8070, 5788, 3280, 3295, 3268, 3275,
975 3283, 3290, 3296, 3299, 5796, 8070, 8070, 3306, 3314, 3311,
976 3315, 3325, 3321, 3367, 8070, 3363, 3361, 3350, 3348, 3363,
977 3359, 3360, 3366, 3380, 3383, 3391, 3391, 3389, 3403, 3422,
978 3420, 3426, 3432, 3444, 8070, 8070, 3419, 3444, 3427, 3447,
979 3433, 3440, 3459, 3454, 3452, 3476, 3465, 3466, 3486, 3475,
980 3473, 3490, 3503, 3480, 3486, 3493, 3494, 3507, 3498, 3539,
981 3520, 3511, 3540, 3525, 3520, 3565, 3547, 3537, 3567, 3559,
982 3547, 3560, 3567, 3573, 3594, 3574, 8070, 3609, 3586, 8070,
983 3619, 3593, 8070, 3619, 3601, 8070, 3657, 3602, 3635, 3624,
985 3643, 8070, 3650, 8070, 3653, 8070, 3654, 8070, 3659, 5804,
986 3663, 3688, 3669, 3689, 3655, 3661, 3663, 3672, 5807, 3715,
987 8070, 3714, 8070, 3718, 3717, 3721, 3723, 3725, 3739, 8070,
988 8070, 8070, 8070, 8070, 8070, 3760, 3788, 3809, 3819, 3747,
989 3877, 3951, 3964, 3887, 3893, 3925, 3938, 3865, 3946, 3958,
990 4032, 3858, 3859, 3806, 4065, 4074, 4084, 4097, 4099, 3717,
991 3966, 3800, 3978, 4110, 4127, 3985, 4126, 3778, 4124, 4118,
992 4147, 4165, 4179, 3916, 3957, 4177, 4295, 4111, 4180, 3776,
993 4197, 4216, 4221, 4241, 4243, 4219, 4224, 4321, 4329, 4293,
994 4335, 4313, 4375, 4296, 4448, 4422, 4487, 4299, 4326, 4258,
996 4310, 4426, 4443, 4493, 4509, 4423, 4442, 4137, 4476, 4357,
997 4501, 4517, 4519, 4528, 4536, 4520, 4678, 4260, 4626, 5815,
998 5818, 8070, 8070, 5838, 5847, 5856, 5865, 5874, 5883, 5892,
999 5901, 5910, 5919, 5928, 5937, 5946, 5955, 5964, 5973, 5982,
1000 5991, 6000, 6009, 6018, 6027, 6036, 6045, 6054, 6063, 6072,
1001 6081, 6090, 6099, 6108, 6117, 6126, 6135, 6144, 6153, 6162,
1002 6171, 6180, 6189, 6198, 6207, 6214, 6221, 6228, 6235, 6242,
1003 6249, 6256, 6263, 6270, 6277, 6284, 6291, 6298, 6305, 6312,
1004 6319, 6326, 6333, 6340, 6349, 6356, 6361, 6368, 6373, 6380,
1005 6385, 6392, 6397, 6404, 6409, 6416, 6421, 6428, 6433, 6440,
1007 6445, 6452, 6457, 6464, 6469, 6476, 6481, 6488, 6493, 6500,
1008 6505, 6512, 6517, 6524, 6529, 6536, 6541, 6548, 6553, 6560,
1009 6565, 6572, 6577, 6586, 6592, 6599, 6607, 6614, 6622, 6629,
1010 6637, 6644, 6652, 6659, 6667, 6674, 6682, 6689, 6697, 6704,
1011 6712, 6719, 6727, 6734, 6742, 6749, 6757, 6765, 6773, 6781,
1012 6789, 6796, 6804, 6812, 6820, 6827, 6835, 6842, 6850, 6858,
1013 6865, 6873, 6882, 6888, 6895, 6903, 6911, 6919, 6927, 6935,
1014 6942, 6950, 6957, 6965, 6972, 6980, 6987, 6995, 7002, 7010,
1015 7017, 7025, 7032, 7040, 7047, 7055, 7062, 7070, 7077, 7085,
1016 7092, 7100, 7107, 7115, 7122, 7130, 7137, 7145, 7153, 7160,
1018 7168, 7177, 7186, 7193, 7201, 7209, 7216, 7224, 7231, 7239,
1019 7246, 7254, 7261, 7268, 7276, 7283, 7291, 7298, 7306, 7313,
1020 7321, 7328, 7336, 7343, 7351, 7358, 7366, 7373, 7381, 7388,
1021 7396, 7403, 7411, 7419, 7427, 7435, 7443, 7451, 7460, 7469,
1022 7476, 7484, 7492, 7499, 7507, 7514, 7522, 7529, 7537, 7544,
1023 7551, 7559, 7566, 7574, 7581, 7589, 7596, 7604, 7611, 7619,
1024 7626, 7634, 7642, 7650, 7657, 7665, 7673, 7681, 7688, 7696,
1025 7704, 7712, 7720, 7729, 7738, 7746, 7754, 7762, 7769, 7777,
1026 7784, 7792, 7800, 7808, 7815, 7822, 7829, 7837, 7844, 7851,
1027 7859, 7866, 7873, 7881, 7888, 7896, 7903, 7911, 7919, 7926,
1029 7934, 7942, 7950, 7959, 7968, 7976, 7984, 7991, 7998, 8006,
1030 8015, 8024, 8033, 8042, 8051, 8060
1033 static yyconst flex_int16_t yy_def[2717] =
1035 2424, 2424, 2425, 2425, 2425, 2425, 2426, 2426, 2427, 2427,
1036 2428, 2428, 2429, 2429, 2429, 2429, 2430, 2430, 2424, 2424,
1037 2431, 2431, 2432, 2432, 2432, 2432, 2424, 2424, 2432, 2432,
1038 2432, 2432, 2424, 2424, 2432, 2432, 2424, 2424, 2432, 2432,
1039 2432, 2432, 2433, 2433, 2434, 2434, 2435, 2435, 2429, 2429,
1040 2436, 2436, 2437, 2437, 2424, 2424, 2437, 2437, 2437, 2437,
1041 2438, 2438, 2439, 2439, 2440, 2440, 2441, 2441, 2441, 2441,
1042 2424, 2424, 2441, 2441, 2441, 2441, 2424, 2424, 2441, 2441,
1043 2424, 2424, 2441, 2441, 2441, 2441, 2424, 2424, 2441, 2441,
1044 2424, 2424, 2441, 2441, 2441, 2441, 2442, 2442, 2443, 2443,
1046 2424, 2424, 2443, 2443, 2443, 2443, 2423, 107, 2444, 2444,
1047 2423, 111, 2445, 2445, 2446, 2446, 2447, 2447, 2448, 2448,
1048 2449, 2449, 2424, 2424, 2449, 2449, 2449, 2449, 2450, 2450,
1049 2451, 2451, 2424, 2424, 2451, 2451, 2451, 2451, 2452, 2452,
1050 2453, 2453, 2424, 2424, 2453, 2453, 2453, 2453, 2454, 2454,
1051 2455, 2455, 2456, 2456, 2457, 2457, 2424, 2424, 2457, 2457,
1052 2457, 2457, 2458, 2458, 2459, 2459, 2424, 2424, 2459, 2459,
1053 2459, 2459, 2460, 2460, 2461, 2461, 2462, 2462, 2463, 2463,
1054 2424, 2424, 2463, 2463, 2463, 2463, 2464, 2464, 2465, 2465,
1055 2424, 2424, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
1057 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
1058 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
1059 2423, 2423, 2423, 2466, 2423, 2423, 2466, 2423, 2423, 2423,
1060 230, 230, 230, 230, 233, 233, 2423, 2423, 2423, 2467,
1061 2423, 2423, 2467, 2423, 2423, 2423, 2423, 2423, 2423, 2468,
1062 2423, 2423, 2468, 2468, 2468, 2423, 2423, 2423, 2423, 2423,
1063 2469, 2423, 2423, 2469, 2469, 2469, 2469, 2469, 2423, 2423,
1064 233, 271, 271, 2423, 2423, 2423, 2470, 2423, 2423, 2470,
1065 2470, 2470, 2423, 2423, 2423, 2423, 2423, 2423, 2471, 2423,
1066 2423, 2471, 2471, 2471, 2423, 2423, 234, 271, 234, 297,
1068 298, 298, 298, 298, 304, 305, 304, 304, 2423, 2423,
1069 2423, 2472, 2423, 2423, 2472, 2472, 2472, 2472, 2472, 2423,
1070 2423, 271, 271, 2423, 2423, 2423, 2473, 2423, 2423, 2473,
1071 2473, 2473, 2473, 2473, 2473, 2473, 2473, 2423, 2423, 2423,
1072 2423, 2423, 2423, 2474, 2423, 2423, 2474, 2474, 2474, 2474,
1073 2474, 2474, 2474, 2423, 2423, 2423, 2423, 2423, 2423, 2475,
1074 2423, 2423, 2475, 2475, 2423, 2423, 2423, 2423, 2423, 2423,
1075 2476, 2423, 2423, 2476, 2476, 2476, 2476, 2423, 2423, 271,
1076 271, 2423, 2423, 2423, 2477, 2423, 2423, 2477, 2477, 2423,
1077 2423, 271, 392, 392, 2423, 2423, 2423, 2478, 2423, 2423,
1079 2478, 2478, 2478, 2423, 2423, 392, 392, 2423, 2423, 2423,
1080 2479, 2423, 2423, 2479, 2479, 2423, 2423, 2423, 2423, 2423,
1081 2423, 2480, 2423, 2423, 2480, 2480, 2480, 2423, 2423, 392,
1082 392, 2423, 2423, 2423, 2481, 2423, 2423, 2481, 2481, 2481,
1083 2481, 2423, 2423, 271, 271, 271, 2423, 2423, 2423, 2482,
1084 2423, 2423, 2482, 2423, 2423, 2423, 2423, 2423, 2423, 2483,
1085 2423, 2423, 2483, 2423, 2423, 271, 271, 2423, 2423, 2423,
1086 2484, 2423, 2423, 2484, 2484, 2423, 2423, 2423, 2423, 2485,
1087 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
1088 2423, 2423, 2423, 2423, 2423, 2486, 2486, 2487, 2423, 2423,
1090 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
1091 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2488,
1092 2488, 2489, 2423, 2490, 2490, 2490, 2490, 2423, 2491, 2423,
1093 2423, 2492, 2492, 2492, 2492, 2492, 2492, 2492, 2492, 2492,
1094 2493, 2423, 2423, 2494, 2494, 2494, 2494, 2495, 2423, 2496,
1095 2496, 2496, 2496, 2497, 2423, 2423, 2423, 2423, 2423, 2423,
1096 2423, 2423, 2423, 2498, 2498, 2498, 2498, 2498, 2498, 2499,
1097 2423, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500,
1098 2500, 2500, 2500, 2500, 2501, 2423, 2502, 2502, 2502, 2502,
1099 2502, 2502, 2502, 2502, 2503, 2423, 2504, 2504, 2504, 2505,
1101 2423, 2506, 2506, 2506, 2506, 2506, 2506, 2507, 2423, 2508,
1102 2508, 2508, 2508, 2509, 2423, 2423, 2510, 2510, 2510, 2510,
1103 2510, 2511, 2423, 2512, 2512, 2512, 2513, 2423, 2514, 2514,
1104 2514, 2514, 2515, 2423, 2516, 2516, 2516, 2516, 2516, 2517,
1105 2423, 2423, 2518, 2518, 2519, 2423, 2520, 2520, 2521, 2423,
1106 2522, 2522, 2522, 2523, 2524, 2423, 2524, 2423, 2423, 2423,
1107 2525, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2526, 2527,
1108 2527, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
1109 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
1110 2423, 2423, 2423, 2528, 2529, 2529, 2530, 2423, 2423, 2530,
1112 2423, 2531, 2531, 2423, 2532, 2423, 2423, 2532, 2532, 2532,
1113 2532, 2532, 2532, 2533, 2533, 2423, 2534, 2534, 2534, 2535,
1114 2535, 2536, 2423, 2423, 2536, 2537, 2537, 2423, 2423, 2423,
1115 2423, 2423, 2423, 2423, 2423, 2538, 2538, 2538, 2423, 2423,
1116 2538, 2538, 2539, 2539, 2540, 2540, 2423, 2423, 2540, 2423,
1117 2423, 2540, 2540, 2540, 2540, 2540, 2540, 2540, 2541, 2541,
1118 2542, 2542, 2542, 2423, 2423, 2542, 2542, 2542, 2543, 2543,
1119 2544, 2423, 2423, 2545, 2545, 2546, 2423, 2423, 2546, 2546,
1120 2546, 2547, 2547, 2548, 2548, 2548, 2549, 2549, 2423, 2550,
1121 2550, 2550, 2550, 2551, 2551, 2552, 2423, 2423, 2553, 2553,
1123 2554, 2554, 2554, 2555, 2555, 2556, 2556, 2556, 2556, 2557,
1124 2557, 2423, 2558, 2559, 2559, 2423, 2423, 2560, 2560, 2423,
1125 2423, 2561, 2562, 2562, 2563, 2423, 2423, 2563, 2423, 2423,
1126 2564, 2423, 2423, 2423, 2423, 2423, 2423, 2565, 2423, 2566,
1127 2423, 2566, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
1128 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
1129 2423, 2423, 2423, 2423, 2423, 2567, 2423, 2568, 2423, 2568,
1130 2569, 2423, 2423, 2423, 2569, 2423, 2423, 2570, 2423, 2570,
1131 2571, 2423, 2423, 2423, 2423, 2423, 2571, 2423, 2423, 2571,
1132 2571, 2571, 2423, 2572, 2423, 2572, 2423, 2573, 2573, 2573,
1134 2423, 2574, 2423, 2574, 2575, 2423, 2423, 2423, 2575, 2423,
1135 2576, 2423, 2576, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
1136 2577, 2577, 2577, 2423, 2423, 2423, 2577, 2577, 2423, 2578,
1137 2423, 2578, 2579, 2579, 2579, 2579, 2423, 2423, 2423, 2579,
1138 2423, 2423, 2423, 2423, 2423, 2579, 2579, 2579, 2579, 2579,
1139 2579, 2423, 2580, 2423, 2580, 2581, 2581, 2581, 2581, 2423,
1140 2423, 2423, 2423, 2423, 2581, 2581, 2423, 2582, 2423, 2582,
1141 2583, 2423, 2423, 2423, 2423, 2584, 2423, 2584, 2585, 2423,
1142 2423, 2423, 2585, 2585, 2585, 2423, 2586, 2423, 2586, 2423,
1143 2423, 2423, 2423, 2587, 2423, 2588, 2423, 2588, 2423, 2423,
1145 2423, 2589, 2589, 2423, 2423, 2589, 2423, 2590, 2423, 2590,
1146 2591, 2423, 2423, 2423, 2423, 2592, 2423, 2592, 2423, 2423,
1147 2593, 2593, 2423, 2423, 2423, 2594, 2423, 2594, 2595, 2595,
1148 2595, 2595, 2423, 2596, 2423, 2596, 2423, 2597, 2423, 2598,
1149 2423, 2598, 2423, 2423, 2423, 2423, 2599, 2423, 2599, 2423,
1150 2423, 2423, 2600, 2423, 2601, 2423, 2601, 2602, 2603, 2423,
1151 2423, 2423, 2423, 2423, 2604, 2605, 2423, 2423, 2423, 2423,
1152 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
1153 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
1154 2606, 2423, 2423, 2607, 2423, 2608, 2609, 2423, 2423, 2423,
1156 2423, 2423, 2423, 2423, 2423, 2609, 2423, 2423, 2609, 2610,
1157 2423, 2611, 2423, 2423, 2611, 2612, 2613, 2613, 2423, 2423,
1158 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2614, 2614, 2423,
1159 2423, 2614, 2614, 2615, 2616, 2616, 2616, 2616, 2423, 2423,
1160 2423, 2423, 2423, 2616, 2616, 2616, 2616, 2616, 2616, 2617,
1161 2618, 2618, 2618, 2618, 2423, 2423, 2423, 2618, 2618, 2619,
1162 2620, 2621, 2622, 2622, 2622, 2622, 2623, 2423, 2423, 2423,
1163 2423, 2423, 2423, 2624, 2625, 2423, 2423, 2423, 2423, 2626,
1164 2626, 2423, 2423, 2423, 2626, 2627, 2628, 2629, 2423, 2423,
1165 2423, 2630, 2630, 2423, 2423, 2423, 2631, 2632, 2423, 2423,
1167 2632, 2632, 2633, 2423, 2634, 2635, 2636, 2637, 2638, 2639,
1168 2640, 2640, 2423, 2640, 2423, 2423, 2423, 2641, 2642, 2423,
1169 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
1170 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
1171 2423, 2423, 2423, 2423, 2423, 2643, 2423, 2423, 2423, 2644,
1172 2423, 2645, 2646, 2423, 2423, 2423, 2646, 2423, 2423, 2423,
1173 2646, 2647, 2423, 2648, 2423, 2423, 2423, 2423, 2423, 2649,
1174 2650, 2650, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2651,
1175 2651, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2651, 2652,
1176 2653, 2423, 2423, 2653, 2653, 2423, 2423, 2423, 2423, 2423,
1178 2653, 2653, 2653, 2653, 2653, 2654, 2655, 2423, 2423, 2655,
1179 2655, 2423, 2423, 2655, 2656, 2657, 2658, 2659, 2659, 2659,
1180 2423, 2423, 2659, 2660, 2661, 2662, 2423, 2663, 2663, 2663,
1181 2664, 2665, 2666, 2667, 2667, 2668, 2669, 2423, 2423, 2423,
1182 2669, 2669, 2670, 2423, 2423, 2423, 2671, 2672, 2423, 2423,
1183 2673, 2674, 2675, 2675, 2423, 2423, 2676, 2677, 2423, 2423,
1184 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
1185 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2678,
1186 2679, 2423, 2680, 2681, 2681, 2681, 2682, 2683, 2423, 2423,
1187 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2684,
1189 2685, 2685, 2423, 2423, 2423, 2423, 2686, 2686, 2423, 2423,
1190 2423, 2423, 2423, 2423, 2686, 2423, 2423, 2687, 2423, 2423,
1191 2423, 2423, 2423, 2687, 2423, 2423, 2423, 2423, 2423, 2687,
1192 2687, 2687, 2423, 2423, 2688, 2689, 2423, 2423, 2423, 2423,
1193 2423, 2689, 2423, 2423, 2423, 2689, 2423, 2423, 2690, 2691,
1194 2692, 2692, 2692, 2423, 2423, 2423, 2692, 2423, 2423, 2693,
1195 2694, 2423, 2423, 2423, 2423, 2423, 2695, 2696, 2697, 2698,
1196 2423, 2423, 2423, 2423, 2699, 2700, 2700, 2700, 2701, 2423,
1197 2423, 2423, 2423, 2702, 2703, 2423, 2423, 2423, 2423, 2423,
1198 2704, 2705, 2705, 2423, 2423, 2423, 2706, 2423, 2423, 2423,
1200 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
1201 2423, 2423, 2423, 2423, 2423, 2707, 2708, 2423, 2423, 2423,
1202 2709, 2423, 2423, 2709, 2710, 2423, 2423, 2423, 2423, 2423,
1203 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2684, 2685, 2423,
1204 2423, 2423, 2423, 2423, 2686, 2686, 2423, 2423, 2686, 2687,
1205 2423, 2423, 2423, 2687, 2423, 2423, 2423, 2423, 2423, 2687,
1206 2687, 2423, 2423, 2423, 2688, 2689, 2423, 2423, 2423, 2689,
1207 2689, 2690, 2691, 2692, 2423, 2423, 2692, 2692, 2423, 2423,
1208 2692, 2693, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
1209 2423, 2695, 2696, 2697, 2698, 2423, 2423, 2423, 2423, 2423,
1211 2423, 2699, 2700, 2700, 2700, 2701, 2423, 2702, 2703, 2704,
1212 2705, 2705, 2423, 2423, 2423, 2423, 2706, 2423, 2423, 2423,
1213 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
1214 2707, 2708, 2423, 2709, 2423, 2423, 2423, 2709, 2423, 2423,
1215 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
1216 2423, 2423, 2423, 2684, 2685, 2423, 2423, 2423, 2423, 2423,
1217 2686, 2686, 2423, 2423, 2423, 2423, 2686, 2687, 2687, 2423,
1218 2423, 2423, 2687, 2687, 2688, 2689, 2689, 2689, 2690, 2423,
1219 2423, 2692, 2423, 2423, 2423, 2692, 2692, 2423, 2423, 2423,
1220 2423, 2692, 2693, 2423, 2695, 2696, 2697, 2698, 2699, 2423,
1222 2423, 2700, 2700, 2701, 2423, 2702, 2423, 2423, 2704, 2705,
1223 2705, 2423, 2706, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
1224 2423, 2708, 2423, 2423, 2709, 2423, 2423, 2423, 2423, 2423,
1225 2423, 2423, 2423, 2423, 2423, 2684, 2685, 2423, 2686, 2686,
1226 2423, 2423, 2423, 2423, 2686, 2687, 2687, 2687, 2687, 2423,
1227 2423, 2689, 2689, 2689, 2690, 2423, 2423, 2692, 2692, 2692,
1228 2423, 2423, 2423, 2423, 2692, 2693, 2423, 2695, 2423, 2423,
1229 2423, 2423, 2698, 2699, 2423, 2423, 2423, 2423, 2423, 2700,
1230 2423, 2423, 2423, 2702, 2704, 2705, 2705, 2423, 2423, 2423,
1231 2423, 2423, 2708, 2423, 2423, 2423, 2709, 2423, 2423, 2423,
1233 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2684, 2685, 2423,
1234 2686, 2686, 2423, 2423, 2423, 2423, 2687, 2687, 2687, 2423,
1235 2423, 2689, 2689, 2423, 2423, 2690, 2423, 2423, 2423, 2692,
1236 2692, 2692, 2423, 2423, 2423, 2423, 2693, 2695, 2423, 2423,
1237 2423, 2423, 2423, 2699, 2423, 2423, 2423, 2423, 2423, 2423,
1238 2423, 2704, 2705, 2705, 2423, 2423, 2423, 2423, 2423, 2423,
1239 2423, 2423, 2423, 2423, 2423, 2709, 2423, 2423, 2423, 2423,
1240 2423, 2423, 2423, 2423, 2423, 2423, 2684, 2423, 2423, 2423,
1241 2686, 2423, 2423, 2423, 2423, 2423, 2687, 2687, 2687, 2423,
1242 2423, 2423, 2689, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
1244 2692, 2692, 2692, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
1245 2423, 2423, 2423, 2423, 2423, 2423, 2699, 2423, 2423, 2423,
1246 2704, 2705, 2705, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
1247 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2709, 2423, 2423,
1248 2423, 2423, 2423, 2423, 2423, 2423, 2684, 2423, 2423, 2423,
1249 2423, 2423, 2423, 2686, 2423, 2423, 2423, 2687, 2687, 2687,
1250 2689, 2423, 2423, 2423, 2423, 2423, 2423, 2692, 2423, 2423,
1251 2692, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
1252 2423, 2423, 2423, 2699, 2704, 2705, 2705, 2705, 2423, 2423,
1253 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
1255 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2684, 2423,
1256 2423, 2423, 2686, 2687, 2687, 2687, 2689, 2692, 2423, 2423,
1257 2423, 2692, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
1258 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2704, 2705,
1259 2705, 2705, 2711, 2712, 2423, 2423, 2423, 2423, 2423, 2423,
1260 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
1261 2423, 2423, 2423, 2684, 2686, 2687, 2687, 2423, 2423, 2689,
1262 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
1263 2423, 2423, 2423, 2423, 2423, 2423, 2704, 2705, 2713, 2714,
1264 2711, 2712, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
1266 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2686, 2687,
1267 2687, 2423, 2423, 2423, 2689, 2423, 2423, 2423, 2423, 2423,
1268 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
1269 2423, 2423, 2423, 2704, 2713, 2705, 2715, 2714, 2716, 2705,
1270 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2686, 2687,
1271 2687, 2423, 2423, 2423, 2423, 2689, 2423, 2423, 2423, 2423,
1272 2423, 2423, 2423, 2423, 2704, 2715, 2423, 2716, 2705, 2423,
1273 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
1274 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
1275 2423, 2423, 2423, 2704, 2423, 2423, 2423, 2423, 2423, 2423,
1277 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
1278 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
1279 2423, 2423, 2423, 2704, 2423, 2423, 2423, 2423, 2423, 2423,
1280 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
1281 2423, 2423, 2423, 2704, 2423, 2423, 2423, 2423, 2423, 2423,
1282 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
1283 2423, 2423, 2704, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
1284 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2704,
1285 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
1286 2423, 2423, 2423, 2423, 2423, 2423, 2704, 2423, 2423, 2423,
1288 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2704,
1289 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2704, 2423,
1290 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2704, 2704, 2423,
1291 2423, 2423, 2423, 2423, 2423, 2704, 2704, 2704, 2704, 2704,
1292 2704, 2704, 2704, 2704, 2704, 2704, 2704, 2704, 2704, 2704,
1293 2704, 2704, 2704, 2704, 2704, 2704, 2704, 2704, 2704, 2704,
1294 2704, 2704, 2704, 2704, 2704, 2704, 2704, 2704, 2704, 2704,
1295 2704, 2704, 2704, 2704, 2704, 2704, 2704, 2704, 2704, 2704,
1296 2704, 2704, 2704, 2704, 2704, 2704, 2704, 2704, 2704, 2704,
1297 2704, 2704, 2704, 2704, 2704, 2704, 2704, 2704, 2704, 2704,
1299 2704, 2704, 2704, 2704, 2704, 2704, 2704, 2704, 2704, 2704,
1300 2704, 2704, 2704, 2704, 2704, 2704, 2704, 2704, 2704, 2704,
1301 2704, 2423, 0, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
1302 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
1303 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
1304 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
1305 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
1306 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
1307 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
1308 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
1310 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
1311 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
1312 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
1313 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
1314 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
1315 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
1316 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
1317 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
1318 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
1319 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
1321 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
1322 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
1323 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
1324 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
1325 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
1326 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
1327 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
1328 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
1329 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
1330 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
1332 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
1333 2423, 2423, 2423, 2423, 2423, 2423
1336 static yyconst flex_int16_t yy_nxt[8143] =
1338 2423, 196, 197, 196, 196, 197, 196, 196, 197, 196,
1339 196, 197, 196, 201, 197, 201, 207, 198, 204, 207,
1340 198, 204, 2423, 199, 2423, 205, 199, 2423, 205, 202,
1341 201, 197, 201, 480, 208, 210, 211, 208, 210, 211,
1342 212, 213, 541, 212, 213, 480, 202, 217, 218, 481,
1343 214, 210, 211, 214, 215, 483, 212, 210, 211, 513,
1344 215, 482, 212, 217, 218, 514, 214, 197, 197, 197,
1345 554, 482, 214, 197, 197, 197, 229, 197, 229, 229,
1346 197, 229, 680, 220, 229, 197, 229, 513, 681, 220,
1347 503, 219, 230, 542, 682, 230, 479, 479, 479, 510,
1349 231, 479, 479, 479, 479, 479, 479, 219, 221, 222,
1350 197, 222, 221, 221, 221, 221, 221, 221, 221, 223,
1351 221, 221, 221, 559, 221, 225, 221, 226, 221, 229,
1352 197, 229, 197, 197, 197, 197, 197, 197, 509, 229,
1353 197, 229, 229, 197, 229, 231, 2423, 1543, 232, 483,
1354 483, 232, 510, 221, 221, 230, 511, 483, 230, 229,
1355 197, 229, 479, 479, 479, 482, 482, 479, 479, 479,
1356 479, 479, 479, 482, 1545, 233, 227, 221, 222, 197,
1357 222, 221, 221, 221, 221, 221, 221, 221, 223, 221,
1358 221, 221, 570, 221, 225, 221, 226, 221, 229, 197,
1360 229, 197, 197, 197, 197, 197, 197, 494, 229, 197,
1361 229, 229, 197, 229, 233, 2423, 510, 234, 515, 1546,
1362 234, 608, 221, 221, 231, 511, 511, 231, 197, 197,
1363 197, 197, 197, 197, 229, 197, 229, 229, 197, 229,
1364 229, 197, 229, 514, 235, 227, 579, 235, 483, 580,
1365 233, 2423, 483, 233, 512, 516, 236, 229, 197, 229,
1366 513, 479, 479, 479, 482, 2423, 514, 517, 482, 510,
1367 515, 515, 514, 236, 237, 238, 197, 238, 237, 237,
1368 237, 237, 237, 237, 237, 239, 237, 237, 237, 501,
1369 237, 241, 237, 242, 237, 245, 197, 245, 245, 197,
1371 245, 270, 197, 270, 509, 535, 1547, 210, 211, 536,
1372 483, 246, 212, 537, 246, 640, 518, 271, 510, 237,
1373 237, 640, 256, 479, 479, 479, 482, 243, 237, 238,
1374 197, 238, 237, 237, 237, 237, 237, 237, 237, 239,
1375 237, 237, 237, 612, 237, 241, 237, 242, 237, 574,
1376 613, 257, 641, 210, 211, 270, 197, 270, 212, 197,
1377 197, 197, 197, 197, 197, 479, 479, 479, 256, 575,
1378 620, 271, 514, 237, 237, 272, 662, 621, 272, 663,
1379 1548, 243, 247, 248, 197, 248, 247, 247, 247, 247,
1380 247, 247, 247, 249, 247, 247, 247, 257, 247, 251,
1382 247, 252, 247, 270, 197, 270, 270, 197, 270, 270,
1383 197, 270, 539, 270, 197, 270, 284, 197, 284, 271,
1384 483, 483, 271, 483, 528, 273, 540, 247, 247, 273,
1385 522, 529, 285, 1549, 1213, 253, 482, 482, 254, 482,
1386 482, 479, 479, 479, 255, 247, 248, 197, 248, 247,
1387 247, 247, 247, 247, 247, 247, 249, 247, 247, 247,
1388 2423, 247, 251, 247, 252, 247, 284, 197, 284, 296,
1389 197, 296, 296, 197, 296, 1492, 296, 197, 296, 296,
1390 197, 296, 285, 483, 483, 297, 483, 483, 297, 1550,
1391 247, 247, 298, 548, 582, 298, 1554, 641, 253, 482,
1393 482, 254, 482, 482, 488, 583, 584, 255, 258, 259,
1394 197, 259, 258, 258, 258, 258, 258, 258, 258, 260,
1395 258, 258, 258, 656, 258, 262, 258, 263, 258, 197,
1396 197, 197, 197, 197, 197, 296, 197, 296, 606, 296,
1397 197, 296, 296, 197, 296, 299, 489, 483, 299, 607,
1398 483, 300, 490, 258, 258, 300, 491, 585, 301, 701,
1399 1560, 492, 264, 482, 265, 622, 482, 266, 479, 479,
1400 479, 633, 267, 268, 258, 259, 197, 259, 258, 258,
1401 258, 258, 258, 258, 258, 260, 258, 258, 258, 1561,
1402 258, 262, 258, 263, 258, 296, 197, 296, 197, 197,
1404 197, 197, 197, 197, 649, 296, 197, 296, 296, 197,
1405 296, 301, 505, 483, 302, 483, 483, 302, 505, 258,
1406 258, 298, 595, 600, 298, 479, 479, 479, 264, 482,
1407 265, 482, 482, 266, 479, 479, 479, 614, 267, 268,
1408 274, 275, 197, 275, 274, 274, 274, 274, 274, 274,
1409 274, 276, 274, 274, 274, 514, 274, 278, 274, 279,
1410 274, 197, 197, 197, 197, 197, 197, 296, 197, 296,
1411 1566, 296, 197, 296, 296, 197, 296, 303, 683, 675,
1412 303, 656, 676, 301, 615, 274, 274, 301, 514, 1077,
1413 304, 684, 280, 479, 479, 479, 657, 281, 479, 479,
1415 479, 1078, 2423, 479, 479, 479, 282, 274, 275, 197,
1416 275, 274, 274, 274, 274, 274, 274, 274, 276, 274,
1417 274, 274, 1570, 274, 278, 274, 279, 274, 296, 197,
1418 296, 197, 197, 197, 197, 197, 197, 826, 296, 197,
1419 296, 296, 197, 296, 304, 675, 557, 305, 686, 558,
1420 305, 1571, 274, 274, 306, 562, 483, 306, 687, 280,
1421 689, 511, 1352, 676, 281, 479, 479, 479, 479, 479,
1422 479, 684, 482, 282, 286, 287, 197, 287, 286, 286,
1423 286, 286, 286, 286, 286, 288, 286, 286, 286, 501,
1424 286, 290, 286, 291, 286, 197, 197, 197, 197, 197,
1426 197, 296, 197, 296, 561, 296, 197, 296, 479, 479,
1427 479, 307, 483, 483, 307, 689, 1572, 304, 686, 286,
1428 286, 304, 1574, 1578, 292, 479, 479, 479, 482, 482,
1429 293, 479, 479, 479, 479, 479, 479, 826, 294, 286,
1430 287, 197, 287, 286, 286, 286, 286, 286, 286, 286,
1431 288, 286, 286, 286, 1491, 286, 290, 286, 291, 286,
1432 296, 197, 296, 296, 197, 296, 321, 197, 321, 1087,
1433 321, 197, 321, 479, 479, 479, 308, 483, 483, 308,
1434 737, 1078, 322, 738, 286, 286, 322, 1579, 1580, 292,
1435 479, 479, 479, 482, 482, 293, 479, 479, 479, 479,
1437 479, 479, 1581, 294, 309, 310, 197, 310, 309, 309,
1438 309, 309, 309, 309, 309, 311, 309, 309, 309, 1582,
1439 309, 313, 309, 314, 309, 197, 197, 197, 197, 197,
1440 197, 321, 197, 321, 1087, 321, 197, 321, 479, 479,
1441 479, 272, 483, 483, 272, 826, 1111, 322, 826, 309,
1442 309, 322, 315, 1585, 316, 479, 479, 479, 482, 482,
1443 317, 479, 479, 479, 828, 1210, 318, 1213, 1592, 319,
1444 309, 310, 197, 310, 309, 309, 309, 309, 309, 309,
1445 309, 311, 309, 309, 309, 1594, 309, 313, 309, 314,
1446 309, 321, 197, 321, 321, 197, 321, 339, 197, 339,
1448 1493, 339, 197, 339, 479, 479, 479, 323, 1603, 1604,
1449 323, 687, 483, 340, 687, 309, 309, 340, 315, 627,
1450 316, 479, 479, 479, 732, 1530, 317, 734, 482, 479,
1451 479, 479, 318, 1531, 1605, 319, 324, 325, 197, 325,
1452 324, 324, 324, 324, 324, 324, 324, 326, 324, 324,
1453 324, 327, 324, 328, 324, 329, 324, 327, 327, 327,
1454 327, 327, 327, 327, 327, 327, 327, 327, 327, 327,
1455 327, 327, 327, 327, 327, 327, 327, 327, 327, 327,
1456 327, 324, 324, 327, 330, 331, 332, 327, 327, 327,
1457 327, 327, 333, 327, 334, 327, 327, 327, 335, 327,
1459 336, 337, 327, 327, 327, 327, 327, 327, 341, 342,
1460 197, 342, 341, 341, 341, 341, 341, 341, 341, 343,
1461 341, 341, 341, 344, 341, 345, 341, 346, 341, 344,
1462 344, 344, 344, 344, 344, 344, 344, 344, 344, 344,
1463 344, 344, 344, 344, 344, 344, 344, 344, 344, 344,
1464 344, 344, 344, 341, 341, 344, 347, 348, 349, 344,
1465 344, 344, 344, 344, 350, 344, 351, 344, 344, 344,
1466 352, 344, 344, 353, 344, 344, 344, 344, 344, 344,
1467 355, 197, 355, 355, 197, 355, 479, 479, 479, 479,
1468 479, 479, 479, 479, 479, 1607, 356, 1613, 1619, 356,
1470 357, 358, 197, 358, 357, 357, 357, 357, 357, 357,
1471 357, 359, 357, 357, 357, 1620, 357, 361, 357, 362,
1472 357, 366, 197, 366, 366, 197, 366, 379, 197, 379,
1473 1535, 379, 197, 379, 479, 479, 479, 367, 1536, 957,
1474 367, 1213, 691, 380, 958, 357, 357, 380, 681, 826,
1475 363, 479, 479, 479, 692, 1610, 364, 357, 358, 197,
1476 358, 357, 357, 357, 357, 357, 357, 357, 359, 357,
1477 357, 357, 1611, 357, 361, 357, 362, 357, 197, 197,
1478 197, 197, 197, 197, 379, 197, 379, 826, 379, 197,
1479 379, 1058, 483, 687, 272, 1623, 934, 272, 1624, 645,
1481 380, 1626, 357, 357, 380, 935, 735, 363, 482, 479,
1482 479, 479, 936, 364, 368, 369, 197, 369, 368, 368,
1483 368, 368, 368, 368, 368, 370, 368, 368, 368, 1630,
1484 368, 372, 368, 373, 368, 379, 197, 379, 379, 197,
1485 379, 391, 197, 391, 1632, 391, 197, 391, 197, 197,
1486 197, 381, 1633, 1634, 381, 483, 1638, 392, 1644, 368,
1487 368, 392, 654, 374, 393, 479, 479, 479, 1645, 1646,
1488 375, 482, 376, 479, 479, 479, 479, 479, 479, 377,
1489 368, 369, 197, 369, 368, 368, 368, 368, 368, 368,
1490 368, 370, 368, 368, 368, 1647, 368, 372, 368, 373,
1492 368, 197, 197, 197, 391, 197, 391, 391, 197, 391,
1493 1648, 391, 197, 391, 391, 197, 391, 393, 1649, 1650,
1494 392, 1651, 1652, 392, 1653, 368, 368, 394, 1655, 374,
1495 394, 691, 660, 660, 660, 1660, 375, 681, 376, 1213,
1496 660, 660, 660, 682, 830, 377, 382, 383, 197, 383,
1497 382, 382, 382, 382, 382, 382, 382, 384, 382, 382,
1498 382, 1661, 382, 386, 382, 387, 382, 405, 197, 405,
1499 405, 197, 405, 197, 197, 197, 1662, 197, 197, 197,
1500 405, 197, 405, 406, 1612, 1667, 406, 1668, 680, 393,
1501 661, 382, 382, 393, 681, 691, 406, 388, 1663, 1669,
1503 692, 681, 843, 843, 843, 1673, 1664, 716, 860, 860,
1504 860, 389, 382, 383, 197, 383, 382, 382, 382, 382,
1505 382, 382, 382, 384, 382, 382, 382, 1674, 382, 386,
1506 382, 387, 382, 405, 197, 405, 405, 197, 405, 405,
1507 197, 405, 1676, 417, 197, 417, 417, 197, 417, 406,
1508 1389, 1677, 407, 1665, 1678, 407, 1390, 382, 382, 418,
1509 1391, 1666, 418, 388, 1392, 844, 872, 872, 872, 1679,
1510 873, 844, 1682, 874, 843, 843, 843, 389, 395, 396,
1511 197, 396, 395, 395, 395, 395, 395, 395, 395, 397,
1512 395, 395, 395, 1686, 395, 399, 395, 400, 395, 429,
1514 197, 429, 429, 197, 429, 197, 197, 197, 1687, 197,
1515 197, 197, 429, 197, 429, 430, 1393, 1692, 430, 1688,
1516 1693, 393, 1394, 395, 395, 393, 1395, 1689, 430, 401,
1517 1396, 1690, 402, 882, 882, 882, 1694, 883, 1695, 1691,
1518 884, 1697, 1702, 403, 395, 396, 197, 396, 395, 395,
1519 395, 395, 395, 395, 395, 397, 395, 395, 395, 1703,
1520 395, 399, 395, 400, 395, 429, 197, 429, 429, 197,
1521 429, 429, 197, 429, 1705, 443, 197, 443, 443, 197,
1522 443, 430, 1715, 1213, 431, 1718, 1719, 431, 1722, 395,
1523 395, 444, 1725, 1726, 444, 401, 1727, 1728, 402, 906,
1525 906, 906, 1213, 907, 1729, 1730, 908, 1731, 1732, 403,
1526 408, 409, 197, 409, 408, 408, 408, 408, 408, 408,
1527 408, 410, 408, 408, 408, 1710, 408, 412, 408, 413,
1528 408, 197, 197, 197, 197, 197, 197, 443, 197, 443,
1529 1733, 443, 197, 443, 443, 197, 443, 445, 1711, 1734,
1530 445, 1735, 1737, 444, 1738, 408, 408, 444, 1739, 1740,
1531 446, 414, 860, 860, 860, 1741, 415, 408, 409, 197,
1532 409, 408, 408, 408, 408, 408, 408, 408, 410, 408,
1533 408, 408, 1742, 408, 412, 408, 413, 408, 443, 197,
1534 443, 455, 197, 455, 455, 197, 455, 1743, 465, 197,
1536 465, 465, 197, 465, 446, 1744, 1745, 456, 1746, 1747,
1537 456, 1748, 408, 408, 466, 1749, 1752, 466, 414, 843,
1538 843, 843, 1753, 415, 419, 420, 197, 420, 419, 419,
1539 419, 419, 419, 419, 419, 421, 419, 419, 419, 1754,
1540 419, 423, 419, 424, 419, 197, 197, 197, 197, 197,
1541 197, 465, 197, 465, 1755, 465, 197, 465, 465, 197,
1542 465, 272, 1759, 1760, 272, 1761, 1762, 466, 1763, 419,
1543 419, 466, 1764, 1765, 467, 425, 1766, 1768, 426, 1225,
1544 1225, 1225, 914, 860, 860, 860, 1227, 1227, 1227, 427,
1545 419, 420, 197, 420, 419, 419, 419, 419, 419, 419,
1547 419, 421, 419, 419, 419, 1780, 419, 423, 419, 424,
1548 419, 465, 197, 465, 477, 197, 477, 477, 197, 477,
1549 698, 698, 698, 1790, 839, 839, 839, 467, 1791, 1792,
1550 478, 1793, 1228, 478, 1797, 419, 419, 699, 1798, 554,
1551 554, 425, 841, 1799, 426, 1213, 914, 1800, 1801, 555,
1552 560, 1229, 1229, 1229, 1802, 427, 432, 433, 197, 433,
1553 432, 432, 432, 432, 432, 432, 432, 434, 432, 432,
1554 432, 1213, 432, 436, 432, 437, 432, 556, 556, 706,
1555 706, 706, 1787, 557, 1803, 1804, 558, 723, 723, 723,
1556 1805, 514, 559, 1806, 1807, 508, 707, 739, 739, 739,
1558 1809, 432, 432, 1786, 724, 1232, 1232, 1232, 1810, 438,
1559 1811, 439, 1812, 440, 740, 1240, 1240, 1240, 1263, 1263,
1560 1263, 441, 432, 433, 197, 433, 432, 432, 432, 432,
1561 432, 432, 432, 434, 432, 432, 432, 1813, 432, 436,
1562 432, 437, 432, 747, 747, 747, 750, 750, 750, 764,
1563 764, 764, 772, 772, 772, 777, 777, 777, 1814, 1817,
1564 748, 1818, 1819, 751, 1822, 1823, 765, 432, 432, 773,
1565 1826, 1830, 778, 1831, 1832, 438, 1833, 439, 1834, 440,
1566 1275, 1275, 1275, 1837, 1276, 1276, 1276, 441, 447, 448,
1567 197, 448, 447, 447, 447, 447, 447, 447, 447, 449,
1569 447, 447, 447, 1838, 447, 451, 447, 452, 447, 797,
1570 797, 797, 816, 816, 816, 820, 820, 820, 867, 867,
1571 867, 839, 839, 839, 1855, 1856, 798, 1857, 1866, 817,
1572 1228, 1867, 821, 447, 447, 1213, 869, 1868, 1869, 841,
1573 924, 924, 924, 1870, 925, 1871, 826, 926, 937, 937,
1574 937, 1872, 938, 1213, 1873, 939, 453, 447, 448, 197,
1575 448, 447, 447, 447, 447, 447, 447, 447, 449, 447,
1576 447, 447, 1853, 447, 451, 447, 452, 447, 842, 698,
1577 698, 698, 867, 867, 867, 1852, 877, 877, 877, 877,
1578 877, 877, 706, 706, 706, 1854, 699, 885, 885, 885,
1580 869, 1874, 447, 447, 879, 1875, 1876, 879, 1880, 707,
1581 1881, 941, 941, 941, 886, 942, 1887, 1888, 943, 1227,
1582 1227, 1227, 1225, 1225, 1225, 453, 457, 458, 197, 458,
1583 457, 457, 457, 457, 457, 457, 457, 459, 457, 457,
1584 457, 870, 457, 461, 457, 462, 457, 888, 888, 888,
1585 1889, 1893, 880, 1901, 1902, 893, 893, 893, 893, 893,
1586 893, 901, 901, 901, 889, 1327, 1227, 1227, 1227, 1903,
1587 1925, 457, 457, 895, 1926, 826, 895, 1930, 1931, 903,
1588 1934, 1935, 463, 457, 458, 197, 458, 457, 457, 457,
1589 457, 457, 457, 457, 459, 457, 457, 457, 1938, 457,
1591 461, 457, 462, 457, 1921, 896, 901, 901, 901, 723,
1592 723, 723, 910, 910, 910, 739, 739, 739, 910, 910,
1593 910, 747, 747, 747, 903, 1939, 724, 1213, 457, 457,
1594 912, 1940, 740, 1229, 1229, 1229, 912, 1941, 748, 463,
1595 468, 469, 197, 469, 468, 468, 468, 468, 468, 468,
1596 468, 470, 468, 468, 468, 913, 468, 472, 468, 473,
1597 468, 929, 929, 929, 929, 929, 929, 1932, 1922, 904,
1598 750, 750, 750, 944, 944, 944, 952, 952, 952, 931,
1599 1933, 1942, 931, 1943, 1936, 468, 468, 751, 1944, 1945,
1600 945, 960, 960, 960, 954, 961, 474, 1937, 962, 972,
1602 972, 972, 1946, 973, 1958, 1959, 974, 1960, 475, 468,
1603 469, 197, 469, 468, 468, 468, 468, 468, 468, 468,
1604 470, 468, 468, 468, 932, 468, 472, 468, 473, 468,
1605 952, 952, 952, 764, 764, 764, 963, 963, 963, 967,
1606 967, 967, 967, 967, 967, 772, 772, 772, 954, 1213,
1607 765, 1860, 1961, 964, 468, 468, 1968, 969, 1971, 1978,
1608 969, 1861, 773, 1979, 1862, 474, 975, 975, 975, 1980,
1609 1981, 975, 975, 975, 777, 777, 777, 475, 483, 980,
1610 980, 980, 1982, 981, 977, 498, 982, 955, 1983, 977,
1611 1923, 778, 826, 970, 482, 499, 986, 986, 986, 986,
1613 986, 986, 990, 990, 990, 1232, 1232, 1232, 992, 992,
1614 992, 2423, 2423, 2423, 988, 1989, 1990, 988, 1213, 991,
1615 1991, 1992, 500, 501, 502, 993, 1993, 1994, 2423, 503,
1616 504, 978, 505, 995, 995, 995, 506, 1995, 507, 1985,
1617 508, 995, 995, 995, 1000, 1000, 1000, 2423, 2423, 2423,
1618 1863, 997, 1911, 1986, 989, 1004, 1004, 1004, 1996, 997,
1619 1864, 1001, 1912, 1865, 2423, 2423, 2423, 2423, 1913, 994,
1620 1997, 1998, 1005, 1007, 1007, 1007, 1007, 1007, 1007, 797,
1621 797, 797, 2423, 1012, 1012, 1012, 2001, 1013, 2002, 2003,
1622 1014, 1009, 2004, 2005, 1009, 2006, 798, 1002, 1015, 1015,
1624 1015, 998, 1015, 1015, 1015, 1019, 1019, 1019, 2423, 2423,
1625 2423, 1003, 2007, 1010, 2008, 2013, 1017, 1023, 1023, 1023,
1626 1017, 2014, 1020, 1006, 2015, 2423, 1025, 1025, 1025, 1025,
1627 1025, 1025, 2016, 2017, 1024, 1033, 1033, 1033, 1033, 1033,
1628 1033, 1039, 1039, 1039, 1027, 2018, 2022, 1027, 1039, 1039,
1629 1039, 2031, 2032, 1035, 2033, 2034, 1035, 1018, 1021, 1041,
1630 816, 816, 816, 1043, 1043, 1043, 1041, 1044, 2035, 2036,
1631 1045, 2047, 1022, 1046, 1046, 1046, 2048, 817, 1046, 1046,
1632 1046, 820, 820, 820, 826, 1050, 1050, 1050, 2049, 1051,
1633 2050, 1048, 1052, 872, 872, 872, 1048, 873, 821, 1028,
1635 874, 1036, 1054, 1054, 1054, 1054, 1054, 1054, 839, 839,
1636 839, 1042, 839, 839, 839, 839, 839, 839, 2039, 2051,
1637 1056, 1914, 2023, 1056, 2052, 2053, 841, 1089, 1089, 1089,
1638 841, 1915, 2024, 841, 867, 867, 867, 1916, 1049, 867,
1639 867, 867, 2054, 2058, 1090, 867, 867, 867, 1092, 1092,
1640 1092, 2025, 869, 2423, 2423, 2423, 2027, 869, 877, 877,
1641 877, 2026, 1066, 869, 2029, 1093, 2028, 2059, 1057, 2060,
1642 2423, 877, 877, 877, 2030, 2061, 879, 877, 877, 877,
1643 882, 882, 882, 2062, 883, 2063, 2065, 884, 2066, 879,
1644 885, 885, 885, 2067, 1091, 879, 1098, 1098, 1098, 2070,
1646 1099, 2075, 2076, 1100, 1101, 1101, 1101, 886, 888, 888,
1647 888, 2077, 2078, 1094, 2079, 1103, 1103, 1103, 2080, 1104,
1648 2081, 1102, 1105, 2082, 1096, 889, 1107, 1107, 1107, 893,
1649 893, 893, 893, 893, 893, 893, 893, 893, 1113, 1113,
1650 1113, 2083, 2084, 1108, 901, 901, 901, 895, 2085, 2086,
1651 895, 2093, 2094, 895, 2095, 1114, 901, 901, 901, 901,
1652 901, 901, 903, 906, 906, 906, 2096, 907, 2097, 2098,
1653 908, 910, 910, 910, 903, 826, 2099, 903, 910, 910,
1654 910, 1119, 1119, 1119, 1130, 1130, 1130, 2100, 2101, 912,
1655 2102, 924, 924, 924, 1110, 925, 912, 2103, 926, 1120,
1657 2104, 1131, 929, 929, 929, 2105, 1116, 929, 929, 929,
1658 929, 929, 929, 2106, 937, 937, 937, 2087, 938, 2109,
1659 931, 939, 1139, 1139, 1139, 931, 2110, 2111, 931, 941,
1660 941, 941, 2115, 942, 2122, 2123, 943, 2124, 2125, 1140,
1661 944, 944, 944, 1141, 1141, 1141, 2126, 1142, 2127, 2128,
1662 1143, 952, 952, 952, 952, 952, 952, 945, 952, 952,
1663 952, 960, 960, 960, 2129, 961, 2130, 2131, 962, 954,
1664 2132, 2133, 954, 2141, 1134, 2136, 954, 963, 963, 963,
1665 1155, 1155, 1155, 2142, 1156, 2143, 2139, 1157, 967, 967,
1666 967, 967, 967, 967, 964, 967, 967, 967, 972, 972,
1668 972, 2144, 973, 2145, 2146, 974, 969, 2147, 2148, 969,
1669 975, 975, 975, 969, 975, 975, 975, 975, 975, 975,
1670 986, 986, 986, 826, 1150, 986, 986, 986, 977, 980,
1671 980, 980, 977, 981, 2149, 977, 982, 2150, 988, 986,
1672 986, 986, 2136, 988, 2151, 2156, 1160, 990, 990, 990,
1673 2152, 1168, 1168, 1168, 2161, 1169, 2137, 988, 1170, 992,
1674 992, 992, 2153, 2162, 991, 1171, 1171, 1171, 2134, 1172,
1675 2163, 2164, 1173, 995, 995, 995, 993, 995, 995, 995,
1676 1000, 1000, 1000, 1162, 995, 995, 995, 1004, 1004, 1004,
1677 826, 997, 1177, 1177, 1177, 997, 1178, 1001, 1167, 1179,
1679 1213, 1214, 997, 2167, 1005, 1182, 1182, 1182, 2167, 1183,
1680 2170, 2136, 1184, 1007, 1007, 1007, 1007, 1007, 1007, 1007,
1681 1007, 1007, 1012, 1012, 1012, 2137, 1013, 2171, 2172, 1014,
1682 2165, 1009, 2173, 2182, 1009, 2185, 2190, 1009, 1015, 1015,
1683 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1019, 1019, 1019,
1684 1175, 1189, 1189, 1189, 2136, 1190, 1017, 2193, 1191, 1017,
1685 2154, 2180, 1017, 2157, 1020, 2139, 1023, 1023, 1023, 1194,
1686 1194, 1194, 2155, 1195, 2167, 2158, 1196, 1025, 1025, 1025,
1687 2181, 2159, 1186, 1024, 1025, 1025, 1025, 1025, 1025, 1025,
1688 1199, 1199, 1199, 2160, 2195, 1027, 1033, 1033, 1033, 1033,
1690 1033, 1033, 1027, 1188, 2167, 1027, 2183, 1200, 1033, 1033,
1691 1033, 1039, 1039, 1039, 1035, 2196, 2188, 1035, 1039, 1039,
1692 1039, 1039, 1039, 1039, 2197, 2184, 1035, 2191, 2198, 1041,
1693 1043, 1043, 1043, 2199, 1044, 2189, 1041, 1045, 2209, 1041,
1694 1046, 1046, 1046, 1046, 1046, 1046, 2192, 2210, 1197, 1046,
1695 1046, 1046, 1050, 1050, 1050, 2211, 1051, 2212, 1048, 1052,
1696 2213, 1048, 1054, 1054, 1054, 2214, 2218, 1048, 1203, 1054,
1697 1054, 1054, 2219, 2220, 1206, 1054, 1054, 1054, 2221, 2222,
1698 1056, 1212, 1212, 1212, 839, 839, 839, 1056, 1089, 1089,
1699 1089, 2223, 2225, 1056, 1243, 1243, 1243, 2226, 1244, 1213,
1701 1214, 1245, 841, 2227, 2232, 1090, 2228, 2233, 1207, 867,
1702 867, 867, 1092, 1092, 1092, 1247, 1247, 1247, 2229, 1248,
1703 2234, 2230, 1249, 877, 877, 877, 2235, 869, 2236, 1093,
1704 1098, 1098, 1098, 2231, 1099, 1209, 2237, 1100, 1101, 1101,
1705 1101, 879, 2238, 1254, 1254, 1254, 2239, 1255, 2240, 1219,
1706 1256, 2241, 1103, 1103, 1103, 1102, 1104, 2242, 2243, 1105,
1707 1107, 1107, 1107, 1258, 1258, 1258, 1246, 1259, 2245, 2246,
1708 1260, 2247, 1252, 893, 893, 893, 2248, 1108, 1113, 1113,
1709 1113, 1265, 1265, 1265, 2249, 1266, 826, 2250, 1267, 2251,
1710 2252, 895, 1268, 1268, 1268, 1114, 901, 901, 901, 1119,
1712 1119, 1119, 1130, 1130, 1130, 2253, 1282, 1282, 1282, 1269,
1713 1283, 2244, 2254, 1284, 903, 2255, 2256, 1120, 2257, 1131,
1714 1285, 1285, 1285, 1262, 1287, 1287, 1287, 2258, 929, 929,
1715 929, 1292, 1292, 1292, 1139, 1139, 1139, 1286, 1299, 1299,
1716 1299, 1288, 1371, 1371, 1371, 1270, 931, 2259, 1293, 2260,
1717 2261, 1140, 1296, 1296, 1296, 1300, 1297, 2262, 2264, 1298,
1718 1141, 1141, 1141, 826, 1142, 2265, 2266, 1143, 2267, 2268,
1719 1289, 952, 952, 952, 1308, 1308, 1308, 1155, 1155, 1155,
1720 2269, 1156, 2263, 2270, 1157, 1312, 1312, 1312, 1372, 954,
1721 2271, 1309, 2272, 1290, 967, 967, 967, 975, 975, 975,
1723 2273, 2274, 1313, 1321, 1321, 1321, 2275, 986, 986, 986,
1724 2276, 2277, 969, 2278, 2279, 977, 2281, 1168, 1168, 1168,
1725 1322, 1169, 826, 2282, 1170, 988, 1171, 1171, 1171, 2283,
1726 1172, 2284, 2285, 1173, 2286, 1306, 995, 995, 995, 1177,
1727 1177, 1177, 2280, 1178, 2287, 2288, 1179, 2289, 2290, 1323,
1728 2291, 1182, 1182, 1182, 997, 1183, 2292, 1315, 1184, 1007,
1729 1007, 1007, 1317, 1324, 1015, 1015, 1015, 1189, 1189, 1189,
1730 2293, 1190, 2294, 2295, 1191, 2296, 2298, 1009, 826, 1194,
1731 1194, 1194, 1017, 1195, 2297, 2299, 1196, 1025, 1025, 1025,
1732 1199, 1199, 1199, 1338, 1338, 1338, 2300, 1339, 2301, 2302,
1734 1340, 1326, 1369, 1369, 1369, 1027, 2303, 1200, 1033, 1033,
1735 1033, 1345, 1345, 1345, 1039, 1039, 1039, 2304, 2305, 1331,
1736 1333, 1046, 1046, 1046, 2306, 2307, 1035, 2308, 1346, 1349,
1737 1349, 1349, 1041, 2309, 1336, 1054, 1054, 1054, 2311, 1048,
1738 1212, 1212, 1212, 839, 839, 839, 1350, 1240, 1240, 1240,
1739 867, 867, 867, 1056, 1378, 1378, 1378, 1343, 1213, 2312,
1740 2313, 841, 1243, 1243, 1243, 1370, 1244, 2314, 869, 1245,
1741 1247, 1247, 1247, 1348, 1248, 2315, 826, 1249, 2316, 2317,
1742 1347, 877, 877, 877, 2318, 1254, 1254, 1254, 2320, 1255,
1743 2310, 1353, 1256, 2321, 2322, 1358, 1351, 2323, 2324, 879,
1745 1379, 1258, 1258, 1258, 2325, 1259, 2326, 1354, 1260, 893,
1746 893, 893, 1263, 1263, 1263, 2327, 1380, 1265, 1265, 1265,
1747 2330, 1266, 2331, 2332, 1267, 2333, 2334, 895, 1268, 1268,
1748 1268, 2335, 1383, 1397, 1397, 1397, 826, 1398, 1542, 1539,
1749 1399, 901, 901, 901, 826, 1269, 1275, 1275, 1275, 1276,
1750 1276, 1276, 1405, 1405, 1405, 1405, 1405, 1405, 826, 903,
1751 1369, 1369, 1369, 1282, 1282, 1282, 826, 1283, 2362, 1387,
1752 1284, 1285, 1285, 1285, 1409, 1409, 1409, 1537, 1410, 826,
1753 2336, 1411, 1287, 1287, 1287, 1416, 1416, 1416, 1286, 1412,
1754 1412, 1412, 1400, 1413, 2337, 826, 1414, 826, 1534, 1288,
1756 1292, 1292, 1292, 1417, 1419, 1419, 1419, 826, 1420, 2342,
1757 2364, 1421, 1422, 1422, 1422, 1406, 1533, 1293, 1370, 826,
1758 1296, 1296, 1296, 1406, 1297, 826, 2338, 1298, 826, 1423,
1759 1299, 1299, 1299, 1425, 1425, 1425, 2382, 1426, 826, 2370,
1760 1427, 1428, 1428, 1428, 1433, 1433, 1433, 1300, 952, 952,
1761 952, 1308, 1308, 1308, 2339, 1437, 1437, 1437, 1429, 1438,
1762 2356, 1434, 1439, 1440, 1440, 1440, 954, 1532, 1309, 1312,
1763 1312, 1312, 1443, 1443, 1443, 2340, 1444, 826, 826, 1445,
1764 1441, 1447, 1447, 1447, 826, 2341, 1313, 975, 975, 975,
1765 1321, 1321, 1321, 1454, 1454, 1454, 826, 1455, 2346, 1448,
1767 1456, 1458, 1458, 1458, 2347, 977, 826, 1322, 995, 995,
1768 995, 1529, 826, 1435, 1463, 1463, 1463, 2354, 2355, 1459,
1769 1465, 1465, 1465, 2423, 2423, 2423, 997, 1007, 1007, 1007,
1770 2350, 1464, 1015, 1015, 1015, 826, 2348, 1466, 1450, 2343,
1771 2423, 1471, 1471, 1471, 826, 1009, 1473, 1473, 1473, 2349,
1772 1017, 1025, 1025, 1025, 1033, 1033, 1033, 826, 1472, 1461,
1773 1338, 1338, 1338, 1474, 1339, 826, 2344, 1340, 2376, 1027,
1774 826, 1528, 1035, 1345, 1345, 1345, 826, 826, 1470, 2345,
1775 1481, 1481, 1481, 826, 1482, 826, 1467, 1483, 2365, 1524,
1776 1346, 1521, 1518, 1468, 1039, 1039, 1039, 826, 1046, 1046,
1778 1046, 1349, 1349, 1349, 826, 1479, 1486, 1486, 1486, 2377,
1779 1487, 2351, 1041, 1488, 2352, 1475, 1048, 2363, 1350, 1489,
1780 1489, 1489, 1495, 1495, 1495, 839, 839, 839, 1502, 1502,
1781 1502, 1507, 1507, 1507, 1369, 1369, 1369, 1490, 2368, 1496,
1782 1508, 1508, 1508, 841, 1371, 1371, 1371, 1510, 1510, 1510,
1783 1517, 826, 1484, 1485, 1511, 1511, 1511, 1378, 1378, 1378,
1784 867, 867, 867, 1519, 1519, 1519, 1522, 1522, 1522, 893,
1785 893, 893, 1526, 1526, 1526, 1397, 1397, 1397, 869, 1398,
1786 1515, 1520, 1399, 1523, 826, 1497, 1514, 895, 2353, 1527,
1787 901, 901, 901, 826, 1540, 1540, 1540, 1405, 1405, 1405,
1789 1544, 1544, 1544, 826, 1513, 1409, 1409, 1409, 903, 1410,
1790 1516, 1541, 1411, 1412, 1412, 1412, 826, 1413, 826, 2357,
1791 1414, 1416, 1416, 1416, 1419, 1419, 1419, 1525, 1420, 826,
1792 826, 1421, 1422, 1422, 1422, 1512, 1538, 826, 2358, 1417,
1793 1551, 1551, 1551, 826, 1552, 826, 826, 1553, 2359, 1423,
1794 1425, 1425, 1425, 2360, 1426, 2361, 826, 1427, 1428, 1428,
1795 1428, 1555, 1555, 1555, 2366, 1556, 826, 2380, 1557, 1558,
1796 1558, 1558, 1433, 1433, 1433, 1429, 1562, 1562, 1562, 2369,
1797 1563, 2367, 2372, 1564, 826, 2371, 1559, 2378, 2410, 1434,
1798 952, 952, 952, 1437, 1437, 1437, 826, 1438, 826, 826,
1800 1439, 1440, 1440, 1440, 1509, 1567, 1567, 1567, 954, 1568,
1801 1506, 2373, 1569, 1443, 1443, 1443, 826, 1444, 1441, 2374,
1802 1445, 1447, 1447, 1447, 975, 975, 975, 1575, 1575, 1575,
1803 1454, 1454, 1454, 2375, 1455, 826, 2381, 1456, 826, 1448,
1804 826, 1565, 977, 826, 1576, 1458, 1458, 1458, 1583, 1583,
1805 1583, 1463, 1463, 1463, 1586, 1586, 1586, 2383, 1587, 1505,
1806 826, 1588, 826, 1459, 1504, 2420, 1584, 2388, 1464, 1465,
1807 1465, 1465, 2389, 1577, 1589, 1589, 1589, 826, 1590, 826,
1808 2384, 1591, 1007, 1007, 1007, 2385, 1466, 1573, 1015, 1015,
1809 1015, 1471, 1471, 1471, 1596, 1596, 1596, 2386, 1597, 2387,
1811 1009, 1598, 1473, 1473, 1473, 2379, 1017, 2396, 1472, 1599,
1812 1599, 1599, 826, 1600, 826, 826, 1601, 2402, 826, 1474,
1813 1025, 1025, 1025, 1033, 1033, 1033, 1481, 1481, 1481, 826,
1814 1482, 2390, 826, 1483, 1039, 1039, 1039, 1595, 1027, 2391,
1815 826, 1035, 1046, 1046, 1046, 826, 2392, 1593, 826, 1486,
1816 1486, 1486, 1041, 1487, 826, 2400, 1488, 1489, 1489, 1489,
1817 1048, 1495, 1495, 1495, 1614, 1614, 1614, 2412, 1615, 2403,
1818 1503, 1616, 839, 839, 839, 1490, 826, 2394, 1496, 1618,
1819 1618, 1618, 2401, 1501, 1602, 1608, 1500, 1606, 2393, 1499,
1820 841, 1621, 1621, 1621, 826, 1609, 1502, 1502, 1502, 1622,
1822 1622, 1622, 1625, 1625, 1625, 1507, 1507, 1507, 1508, 1508,
1823 1508, 1510, 1510, 1510, 1511, 1511, 1511, 1627, 1627, 1627,
1824 1628, 1628, 1628, 1629, 1629, 1629, 867, 867, 867, 1519,
1825 1519, 1519, 1522, 1522, 1522, 1617, 1635, 1635, 1635, 2395,
1826 1636, 826, 826, 1637, 869, 826, 1498, 1520, 1494, 1523,
1827 1639, 1639, 1639, 1526, 1526, 1526, 1641, 1641, 1641, 2397,
1828 1642, 826, 826, 1643, 901, 901, 901, 826, 1640, 1480,
1829 1527, 1540, 1540, 1540, 1656, 1656, 1656, 1631, 1657, 2408,
1830 2404, 1658, 903, 1659, 1659, 1659, 1478, 2398, 1541, 1544,
1831 1544, 1544, 1551, 1551, 1551, 826, 1552, 2405, 2409, 1553,
1833 1555, 1555, 1555, 1477, 1556, 1476, 826, 1557, 1558, 1558,
1834 1558, 2413, 826, 1654, 1670, 1670, 1670, 1469, 1671, 1462,
1835 826, 1672, 1562, 1562, 1562, 1559, 1563, 2411, 826, 1564,
1836 952, 952, 952, 1567, 1567, 1567, 826, 1568, 826, 826,
1837 1569, 1680, 1680, 1680, 1575, 1575, 1575, 826, 954, 1683,
1838 1683, 1683, 2399, 1684, 1460, 826, 1685, 2406, 1457, 1681,
1839 1453, 1576, 1583, 1583, 1583, 1586, 1586, 1586, 2414, 1587,
1840 2415, 2418, 1588, 2407, 1589, 1589, 1589, 1452, 1590, 1451,
1841 1584, 1591, 1007, 1007, 1007, 1015, 1015, 1015, 1596, 1596,
1842 1596, 1449, 1597, 1675, 2416, 1598, 1446, 1599, 1599, 1599,
1844 1009, 1600, 2417, 1017, 1601, 1025, 1025, 1025, 1700, 1700,
1845 1700, 1033, 1033, 1033, 1039, 1039, 1039, 1707, 1707, 1707,
1846 1709, 1709, 1709, 1027, 1442, 1701, 1712, 1712, 1712, 1035,
1847 1436, 1432, 1041, 1696, 2420, 1708, 1431, 1430, 826, 1424,
1848 1418, 1699, 1614, 1614, 1614, 826, 1615, 1415, 1408, 1616,
1849 1698, 839, 839, 839, 1618, 1618, 1618, 1714, 1714, 1714,
1850 1621, 1621, 1621, 1622, 1622, 1622, 1716, 1716, 1716, 841,
1851 1717, 1717, 1717, 1706, 1407, 1704, 1625, 1625, 1625, 1627,
1852 1627, 1627, 1628, 1628, 1628, 1629, 1629, 1629, 1720, 1720,
1853 1720, 1723, 1723, 1723, 1635, 1635, 1635, 826, 1636, 1404,
1855 1403, 1637, 1639, 1639, 1639, 1402, 1721, 1401, 1724, 1713,
1856 1641, 1641, 1641, 1388, 1642, 1386, 1385, 1643, 1384, 1382,
1857 1640, 901, 901, 901, 1656, 1656, 1656, 1381, 1657, 2419,
1858 1377, 1658, 1659, 1659, 1659, 1376, 1670, 1670, 1670, 903,
1859 1671, 1375, 1374, 1672, 1750, 1750, 1750, 1680, 1680, 1680,
1860 1756, 1756, 1756, 1683, 1683, 1683, 1373, 1684, 1368, 1367,
1861 1685, 1366, 1751, 1365, 1364, 1681, 1363, 1757, 1767, 1767,
1862 1767, 1769, 1769, 1769, 1771, 1771, 1771, 1015, 1015, 1015,
1863 1362, 1736, 1025, 1025, 1025, 1700, 1700, 1700, 1361, 1770,
1864 1360, 1772, 1778, 1778, 1778, 1017, 1758, 1775, 1775, 1775,
1866 1027, 1776, 1701, 1359, 1777, 1781, 1781, 1781, 1357, 1779,
1867 1783, 1783, 1783, 1039, 1039, 1039, 1707, 1707, 1707, 1709,
1868 1709, 1709, 1356, 1782, 1712, 1712, 1712, 1788, 1788, 1788,
1869 1355, 1041, 1213, 1344, 1708, 1342, 1773, 826, 1714, 1714,
1870 1714, 1341, 1774, 1337, 1335, 1789, 1716, 1716, 1716, 1717,
1871 1717, 1717, 1720, 1720, 1720, 1723, 1723, 1723, 1794, 1794,
1872 1794, 1334, 1795, 1332, 1330, 1796, 901, 901, 901, 1329,
1873 1721, 1328, 1724, 1815, 1815, 1815, 1325, 1320, 1784, 1319,
1874 1785, 1820, 1820, 1820, 903, 1750, 1750, 1750, 1318, 1316,
1875 1816, 1824, 1824, 1824, 1756, 1756, 1756, 1314, 1821, 1311,
1877 1827, 1827, 1827, 1751, 1828, 1310, 1307, 1829, 1825, 1305,
1878 1304, 1757, 1835, 1835, 1835, 1767, 1767, 1767, 1769, 1769,
1879 1769, 1771, 1771, 1771, 1303, 1808, 1839, 1839, 1839, 1836,
1880 1840, 1302, 1301, 1841, 1295, 1294, 1770, 1291, 1772, 1842,
1881 1842, 1842, 1025, 1025, 1025, 1775, 1775, 1775, 1281, 1776,
1882 1280, 1279, 1777, 1778, 1778, 1778, 1278, 1843, 1277, 1274,
1883 1027, 1845, 1845, 1845, 1273, 1846, 1272, 1271, 1847, 1264,
1884 1779, 1848, 1848, 1848, 1781, 1781, 1781, 1783, 1783, 1783,
1885 1850, 1850, 1850, 1788, 1788, 1788, 1261, 1257, 1849, 1858,
1886 1858, 1858, 1782, 1794, 1794, 1794, 1253, 1795, 1851, 1251,
1888 1796, 1789, 901, 901, 901, 1250, 1859, 1242, 1844, 1878,
1889 1878, 1878, 1882, 1882, 1882, 1815, 1815, 1815, 1241, 1239,
1890 903, 1884, 1884, 1884, 1238, 1885, 1879, 1237, 1886, 1883,
1891 1236, 1235, 1816, 1820, 1820, 1820, 1890, 1890, 1890, 1234,
1892 1891, 1233, 1231, 1892, 1230, 1894, 1894, 1894, 1226, 1224,
1893 1821, 1824, 1824, 1824, 1223, 1222, 1896, 1896, 1896, 1221,
1894 1897, 1877, 1895, 1898, 1899, 1899, 1899, 1220, 1825, 1827,
1895 1827, 1827, 1218, 1828, 1217, 1216, 1829, 1835, 1835, 1835,
1896 1215, 1900, 1904, 1904, 1904, 1208, 1905, 1205, 1204, 1906,
1897 1907, 1907, 1907, 1202, 1836, 1909, 1909, 1909, 1839, 1839,
1899 1839, 1201, 1840, 1198, 1193, 1841, 1192, 1908, 1842, 1842,
1900 1842, 1187, 1910, 1025, 1025, 1025, 1845, 1845, 1845, 1185,
1901 1846, 1181, 1180, 1847, 1176, 1174, 1843, 1848, 1848, 1848,
1902 1166, 1027, 1918, 1918, 1918, 1165, 1919, 1164, 1163, 1920,
1903 1850, 1850, 1850, 1161, 1849, 1924, 1924, 1924, 1858, 1858,
1904 1858, 1159, 1927, 1927, 1927, 1158, 1928, 1154, 1851, 1929,
1905 1153, 901, 901, 901, 1152, 1859, 1878, 1878, 1878, 1948,
1906 1948, 1948, 1151, 1949, 1149, 1148, 1950, 1147, 1917, 903,
1907 1951, 1951, 1951, 1879, 1952, 1952, 1952, 1882, 1882, 1882,
1908 1955, 1955, 1955, 1146, 1956, 1145, 1144, 1957, 1884, 1884,
1910 1884, 1953, 1885, 1138, 1883, 1886, 1890, 1890, 1890, 1137,
1911 1891, 1136, 1947, 1892, 1894, 1894, 1894, 1962, 1962, 1962,
1912 1135, 1963, 1133, 1132, 1964, 1896, 1896, 1896, 1129, 1897,
1913 1954, 1895, 1898, 1899, 1899, 1899, 1965, 1965, 1965, 1128,
1914 1966, 1127, 1126, 1967, 1969, 1969, 1969, 1904, 1904, 1904,
1915 1900, 1905, 1125, 1124, 1906, 1907, 1907, 1907, 1972, 1972,
1916 1972, 1970, 1973, 1123, 1122, 1974, 1909, 1909, 1909, 1975,
1917 1975, 1975, 1908, 1976, 1121, 1118, 1977, 1025, 1025, 1025,
1918 1918, 1918, 1918, 1910, 1919, 1117, 1115, 1920, 1987, 1987,
1919 1987, 1924, 1924, 1924, 1112, 1027, 1927, 1927, 1927, 1109,
1921 1928, 1106, 1097, 1929, 1095, 1988, 1213, 1999, 1999, 1999,
1922 1088, 901, 901, 901, 1948, 1948, 1948, 1086, 1949, 1085,
1923 1084, 1950, 1083, 1082, 2000, 1951, 1951, 1951, 1984, 903,
1924 1952, 1952, 1952, 2010, 2010, 2010, 1081, 2011, 1080, 1079,
1925 2012, 1955, 1955, 1955, 1076, 1956, 1075, 1953, 1957, 1962,
1926 1962, 1962, 1074, 1963, 1073, 1072, 1964, 1965, 1965, 1965,
1927 2009, 1966, 1071, 1070, 1967, 1969, 1969, 1969, 2019, 2019,
1928 2019, 1069, 2020, 1068, 1067, 2021, 1972, 1972, 1972, 1065,
1929 1973, 1064, 1970, 1974, 1975, 1975, 1975, 1063, 1976, 1062,
1930 1061, 1977, 2037, 2037, 2037, 2040, 2040, 2040, 1987, 1987,
1932 1987, 2042, 2042, 2042, 1060, 2043, 1059, 826, 2044, 1053,
1933 2038, 1038, 2041, 1213, 1037, 1988, 1213, 1032, 1031, 1213,
1934 2045, 2045, 2045, 2046, 2046, 2046, 1999, 1999, 1999, 2055,
1935 2055, 2055, 1030, 2056, 1029, 1011, 2057, 901, 901, 901,
1936 2010, 2010, 2010, 2000, 2011, 999, 985, 2012, 2068, 2068,
1937 2068, 2071, 2071, 2071, 984, 903, 2019, 2019, 2019, 983,
1938 2020, 979, 971, 2021, 966, 2069, 965, 959, 2072, 2073,
1939 2073, 2073, 2037, 2037, 2037, 2040, 2040, 2040, 2088, 2088,
1940 2088, 956, 2089, 951, 950, 2090, 2074, 2042, 2042, 2042,
1941 2038, 2043, 2041, 1213, 2044, 949, 1213, 2045, 2045, 2045,
1943 948, 947, 2064, 946, 940, 1213, 1211, 1211, 1211, 1211,
1944 1211, 1211, 1211, 1211, 1211, 933, 928, 1211, 2046, 2046,
1945 2046, 927, 1211, 1211, 1211, 1213, 1211, 2055, 2055, 2055,
1946 923, 2056, 922, 921, 2057, 2112, 2112, 2112, 920, 2113,
1947 919, 918, 2114, 917, 2107, 2107, 2107, 916, 2068, 2068,
1948 2068, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211,
1949 1211, 1211, 2108, 915, 1211, 2069, 2071, 2071, 2071, 1211,
1950 1211, 1211, 1213, 1211, 2116, 2116, 2116, 909, 2117, 905,
1951 900, 2118, 899, 2072, 2073, 2073, 2073, 2119, 2119, 2119,
1952 898, 2120, 897, 892, 2121, 2107, 2107, 2107, 1211, 1211,
1954 891, 2074, 2088, 2088, 2088, 890, 2089, 887, 881, 2090,
1955 2112, 2112, 2112, 2108, 2113, 876, 875, 2114, 871, 866,
1956 1213, 1211, 1211, 1211, 1211, 1211, 2140, 1211, 1211, 1211,
1957 865, 864, 1211, 863, 862, 861, 859, 1211, 1211, 1211,
1958 1213, 1211, 2116, 2116, 2116, 858, 2117, 857, 856, 2118,
1959 2119, 2119, 2119, 855, 2120, 854, 853, 2121, 852, 2169,
1960 2169, 2169, 851, 2174, 2174, 2174, 1211, 1211, 1211, 1211,
1961 1211, 1211, 1211, 1211, 1211, 1211, 2140, 1213, 1214, 1211,
1962 2175, 2176, 2176, 2176, 1211, 1211, 1211, 1213, 1211, 2178,
1963 2178, 2178, 2186, 2186, 2186, 2174, 2174, 2174, 2177, 2194,
1965 2194, 2194, 2169, 2169, 2169, 850, 2179, 849, 848, 2187,
1966 847, 846, 2175, 1211, 1211, 845, 838, 826, 837, 836,
1967 1213, 2200, 2200, 2200, 835, 2201, 834, 833, 2202, 2176,
1968 2176, 2176, 2203, 2203, 2203, 832, 2204, 829, 827, 2205,
1969 2178, 2178, 2178, 2206, 2206, 2206, 2177, 2207, 826, 824,
1970 2208, 822, 819, 1353, 2186, 2186, 2186, 2179, 2215, 2215,
1971 2215, 815, 2216, 813, 812, 2217, 2194, 2194, 2194, 811,
1972 809, 2187, 2200, 2200, 2200, 808, 2201, 807, 806, 2202,
1973 805, 2203, 2203, 2203, 826, 2204, 803, 802, 2205, 2206,
1974 2206, 2206, 801, 2207, 800, 796, 2208, 2215, 2215, 2215,
1976 795, 2216, 793, 2224, 2217, 2319, 2319, 2319, 2319, 2319,
1977 2319, 792, 2328, 791, 790, 2329, 2421, 2421, 2421, 2421,
1978 2421, 2421, 789, 826, 788, 786, 826, 785, 784, 783,
1979 781, 780, 779, 776, 2422, 775, 771, 2422, 194, 194,
1980 194, 194, 194, 194, 194, 194, 194, 195, 195, 195,
1981 195, 195, 195, 195, 195, 195, 200, 200, 200, 200,
1982 200, 200, 200, 200, 200, 203, 203, 203, 203, 203,
1983 203, 203, 203, 203, 206, 206, 206, 206, 206, 206,
1984 206, 206, 206, 209, 209, 209, 209, 209, 209, 209,
1985 209, 209, 216, 216, 216, 216, 216, 216, 216, 216,
1987 216, 224, 224, 224, 224, 224, 224, 224, 224, 224,
1988 228, 228, 228, 228, 228, 228, 228, 228, 228, 240,
1989 240, 240, 240, 240, 240, 240, 240, 240, 244, 244,
1990 244, 244, 244, 244, 244, 244, 244, 250, 250, 250,
1991 250, 250, 250, 250, 250, 250, 261, 261, 261, 261,
1992 261, 261, 261, 261, 261, 269, 269, 269, 269, 269,
1993 269, 269, 269, 269, 277, 277, 277, 277, 277, 277,
1994 277, 277, 277, 283, 283, 283, 283, 283, 283, 283,
1995 283, 283, 289, 289, 289, 289, 289, 289, 289, 289,
1996 289, 295, 295, 295, 295, 295, 295, 295, 295, 295,
1998 312, 312, 312, 312, 312, 312, 312, 312, 312, 320,
1999 320, 320, 320, 320, 320, 320, 320, 320, 338, 338,
2000 338, 338, 338, 338, 338, 338, 338, 354, 354, 354,
2001 354, 354, 354, 354, 354, 354, 360, 360, 360, 360,
2002 360, 360, 360, 360, 360, 365, 365, 365, 365, 365,
2003 365, 365, 365, 365, 371, 371, 371, 371, 371, 371,
2004 371, 371, 371, 378, 378, 378, 378, 378, 378, 378,
2005 378, 378, 385, 385, 385, 385, 385, 385, 385, 385,
2006 385, 390, 390, 390, 390, 390, 390, 390, 390, 390,
2007 398, 398, 398, 398, 398, 398, 398, 398, 398, 404,
2009 404, 404, 404, 404, 404, 404, 404, 404, 411, 411,
2010 411, 411, 411, 411, 411, 411, 411, 416, 416, 416,
2011 416, 416, 416, 416, 416, 416, 422, 422, 422, 422,
2012 422, 422, 422, 422, 422, 428, 428, 428, 428, 428,
2013 428, 428, 428, 428, 435, 435, 435, 435, 435, 435,
2014 435, 435, 435, 442, 442, 442, 442, 442, 442, 442,
2015 442, 442, 450, 450, 450, 450, 450, 450, 450, 450,
2016 450, 454, 454, 454, 454, 454, 454, 454, 454, 454,
2017 460, 460, 460, 460, 460, 460, 460, 460, 460, 464,
2018 464, 464, 464, 464, 464, 464, 464, 464, 471, 471,
2020 471, 471, 471, 471, 471, 471, 471, 476, 476, 476,
2021 476, 476, 476, 476, 476, 476, 496, 496, 496, 770,
2022 768, 767, 496, 520, 520, 520, 766, 763, 762, 520,
2023 524, 524, 524, 761, 760, 758, 524, 532, 532, 532,
2024 757, 756, 755, 532, 544, 544, 544, 754, 753, 752,
2025 544, 550, 550, 550, 749, 746, 745, 550, 564, 564,
2026 564, 744, 742, 741, 564, 572, 572, 572, 736, 733,
2027 731, 572, 587, 587, 587, 730, 729, 728, 587, 597,
2028 597, 597, 727, 725, 722, 597, 602, 602, 602, 721,
2029 719, 718, 602, 610, 610, 610, 717, 715, 713, 610,
2031 617, 617, 617, 712, 711, 710, 617, 624, 624, 624,
2032 709, 708, 705, 624, 629, 629, 629, 704, 703, 700,
2033 629, 635, 635, 635, 697, 696, 694, 635, 643, 643,
2034 643, 693, 690, 688, 643, 647, 647, 647, 685, 679,
2035 678, 647, 651, 651, 651, 677, 674, 673, 651, 655,
2036 655, 655, 655, 655, 655, 655, 672, 655, 496, 496,
2037 496, 671, 669, 668, 496, 670, 667, 666, 665, 670,
2038 520, 520, 520, 664, 659, 656, 520, 695, 658, 653,
2039 652, 695, 524, 524, 524, 650, 649, 648, 524, 702,
2040 646, 644, 642, 702, 532, 532, 532, 639, 638, 637,
2042 532, 714, 636, 634, 633, 714, 544, 544, 544, 632,
2043 631, 630, 544, 720, 628, 626, 625, 720, 550, 550,
2044 550, 623, 622, 619, 550, 726, 618, 616, 505, 726,
2045 564, 564, 564, 2423, 611, 609, 564, 743, 608, 605,
2046 604, 743, 572, 572, 572, 603, 601, 599, 572, 759,
2047 598, 596, 594, 759, 587, 587, 587, 593, 592, 591,
2048 587, 769, 590, 589, 588, 769, 597, 597, 597, 586,
2049 581, 578, 597, 774, 577, 576, 573, 774, 602, 602,
2050 602, 571, 570, 569, 602, 782, 568, 567, 566, 782,
2051 610, 610, 610, 565, 563, 2423, 610, 787, 511, 558,
2053 553, 787, 617, 617, 617, 552, 551, 549, 617, 794,
2054 547, 546, 545, 794, 624, 624, 624, 543, 514, 2423,
2055 624, 799, 538, 534, 533, 799, 629, 629, 629, 531,
2056 530, 527, 629, 804, 526, 525, 523, 804, 635, 635,
2057 635, 521, 519, 2423, 635, 810, 497, 495, 493, 810,
2058 643, 643, 643, 487, 486, 487, 643, 814, 486, 485,
2059 484, 814, 647, 647, 647, 2423, 2423, 2423, 647, 818,
2060 2423, 2423, 2423, 818, 651, 651, 651, 2423, 2423, 2423,
2061 651, 823, 2423, 2423, 2423, 823, 825, 825, 825, 825,
2062 825, 825, 825, 825, 825, 831, 2423, 2423, 2423, 2423,
2064 831, 496, 496, 496, 2423, 2423, 2423, 496, 840, 840,
2065 840, 840, 2423, 2423, 840, 840, 520, 520, 520, 2423,
2066 2423, 2423, 520, 868, 868, 868, 868, 2423, 2423, 868,
2067 868, 524, 524, 524, 2423, 2423, 2423, 524, 878, 878,
2068 878, 878, 2423, 2423, 878, 878, 532, 532, 532, 2423,
2069 2423, 2423, 532, 894, 894, 894, 894, 2423, 2423, 894,
2070 894, 544, 544, 544, 2423, 2423, 2423, 544, 902, 902,
2071 902, 902, 2423, 2423, 902, 902, 550, 550, 550, 2423,
2072 2423, 2423, 550, 911, 911, 911, 911, 2423, 2423, 911,
2073 911, 564, 564, 564, 2423, 2423, 2423, 564, 930, 930,
2075 930, 930, 2423, 2423, 930, 930, 572, 572, 572, 2423,
2076 2423, 2423, 572, 953, 953, 953, 953, 2423, 2423, 953,
2077 953, 587, 587, 587, 2423, 2423, 2423, 587, 968, 968,
2078 968, 968, 2423, 2423, 968, 968, 597, 597, 597, 2423,
2079 2423, 2423, 597, 976, 976, 976, 976, 2423, 2423, 976,
2080 976, 602, 602, 602, 2423, 2423, 2423, 602, 987, 987,
2081 987, 987, 2423, 2423, 987, 987, 610, 610, 610, 610,
2082 2423, 610, 2423, 610, 996, 996, 996, 996, 2423, 2423,
2083 996, 996, 617, 617, 617, 617, 2423, 617, 2423, 617,
2084 1008, 1008, 1008, 1008, 2423, 2423, 1008, 1008, 624, 624,
2086 624, 2423, 2423, 2423, 624, 1016, 1016, 1016, 1016, 2423,
2087 2423, 1016, 1016, 629, 629, 629, 629, 2423, 629, 2423,
2088 629, 1026, 1026, 1026, 1026, 2423, 2423, 1026, 1026, 635,
2089 635, 635, 2423, 2423, 2423, 635, 1034, 1034, 1034, 1034,
2090 2423, 2423, 1034, 1034, 643, 643, 643, 2423, 2423, 2423,
2091 643, 1040, 1040, 1040, 1040, 2423, 2423, 1040, 1040, 1047,
2092 1047, 1047, 1047, 2423, 2423, 1047, 1047, 651, 651, 651,
2093 2423, 2423, 2423, 651, 1055, 1055, 1055, 1055, 2423, 2423,
2094 1055, 1055, 825, 825, 825, 825, 825, 825, 825, 825,
2095 825, 831, 2423, 831, 2423, 2423, 831, 496, 496, 496,
2097 2423, 2423, 2423, 496, 840, 840, 840, 840, 2423, 2423,
2098 840, 840, 520, 520, 520, 520, 2423, 520, 2423, 520,
2099 868, 868, 868, 868, 2423, 2423, 868, 868, 524, 524,
2100 524, 524, 2423, 524, 2423, 524, 878, 878, 878, 878,
2101 2423, 2423, 878, 878, 532, 532, 532, 2423, 2423, 2423,
2102 532, 894, 894, 894, 894, 2423, 2423, 894, 894, 544,
2103 544, 544, 2423, 2423, 2423, 544, 902, 902, 902, 902,
2104 2423, 2423, 902, 902, 550, 550, 550, 2423, 2423, 2423,
2105 550, 911, 911, 911, 911, 2423, 2423, 911, 911, 564,
2106 564, 564, 2423, 2423, 2423, 564, 930, 930, 930, 930,
2108 2423, 2423, 930, 930, 572, 572, 572, 2423, 2423, 2423,
2109 572, 953, 953, 953, 953, 2423, 2423, 953, 953, 587,
2110 587, 587, 2423, 2423, 2423, 587, 968, 968, 968, 968,
2111 2423, 2423, 968, 968, 597, 597, 597, 2423, 2423, 2423,
2112 597, 976, 976, 976, 976, 2423, 2423, 976, 976, 602,
2113 602, 602, 2423, 2423, 2423, 602, 987, 987, 987, 987,
2114 2423, 2423, 987, 987, 610, 610, 610, 2423, 2423, 2423,
2115 610, 996, 996, 996, 996, 2423, 2423, 996, 996, 617,
2116 617, 617, 2423, 2423, 2423, 617, 1008, 1008, 1008, 1008,
2117 2423, 2423, 1008, 1008, 624, 624, 624, 2423, 2423, 2423,
2119 624, 1016, 1016, 1016, 1016, 2423, 2423, 1016, 1016, 629,
2120 629, 629, 2423, 2423, 2423, 629, 1026, 1026, 1026, 1026,
2121 2423, 2423, 1026, 1026, 635, 635, 635, 2423, 2423, 2423,
2122 635, 1034, 1034, 1034, 1034, 2423, 2423, 1034, 1034, 643,
2123 643, 643, 2423, 2423, 2423, 643, 1040, 1040, 1040, 1040,
2124 2423, 2423, 1040, 1040, 1047, 1047, 1047, 1047, 2423, 2423,
2125 1047, 1047, 651, 651, 651, 2423, 2423, 2423, 651, 1055,
2126 1055, 1055, 1055, 2423, 2423, 1055, 1055, 825, 825, 825,
2127 825, 825, 825, 825, 825, 825, 1211, 1211, 1211, 1211,
2128 1211, 1211, 1211, 1211, 1211, 496, 496, 496, 2423, 2423,
2130 2423, 496, 840, 840, 840, 840, 2423, 2423, 840, 840,
2131 868, 868, 868, 868, 2423, 2423, 868, 868, 524, 524,
2132 524, 2423, 2423, 2423, 524, 878, 878, 878, 878, 2423,
2133 2423, 878, 878, 532, 532, 532, 2423, 2423, 2423, 532,
2134 894, 894, 894, 894, 2423, 2423, 894, 894, 544, 544,
2135 544, 2423, 2423, 2423, 544, 902, 902, 902, 902, 2423,
2136 2423, 902, 902, 550, 550, 550, 2423, 2423, 2423, 550,
2137 564, 564, 564, 2423, 2423, 2423, 564, 930, 930, 930,
2138 930, 2423, 2423, 930, 930, 572, 572, 572, 2423, 2423,
2139 2423, 572, 953, 953, 953, 953, 2423, 2423, 953, 953,
2141 587, 587, 587, 2423, 2423, 2423, 587, 968, 968, 968,
2142 968, 2423, 2423, 968, 968, 597, 597, 597, 2423, 2423,
2143 2423, 597, 976, 976, 976, 976, 2423, 2423, 976, 976,
2144 602, 602, 602, 2423, 2423, 2423, 602, 987, 987, 987,
2145 987, 2423, 2423, 987, 987, 610, 610, 610, 2423, 2423,
2146 2423, 610, 996, 996, 996, 996, 2423, 2423, 996, 996,
2147 617, 617, 617, 2423, 2423, 2423, 617, 1008, 1008, 1008,
2148 1008, 2423, 2423, 1008, 1008, 624, 624, 624, 2423, 2423,
2149 2423, 624, 1016, 1016, 1016, 1016, 2423, 2423, 1016, 1016,
2150 629, 629, 629, 2423, 2423, 2423, 629, 1026, 1026, 1026,
2152 1026, 2423, 2423, 1026, 1026, 635, 635, 635, 2423, 2423,
2153 2423, 635, 1034, 1034, 1034, 1034, 2423, 2423, 1034, 1034,
2154 643, 643, 643, 643, 2423, 643, 2423, 643, 1040, 1040,
2155 1040, 1040, 2423, 2423, 1040, 1040, 1047, 1047, 1047, 1047,
2156 2423, 2423, 1047, 1047, 651, 651, 651, 651, 2423, 651,
2157 2423, 651, 1055, 1055, 1055, 1055, 2423, 2423, 1055, 1055,
2158 825, 825, 825, 825, 825, 825, 825, 825, 825, 1211,
2159 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 496, 496,
2160 496, 2423, 2423, 2423, 496, 840, 840, 840, 840, 2423,
2161 2423, 840, 840, 868, 868, 868, 868, 2423, 2423, 868,
2163 868, 524, 524, 524, 2423, 2423, 2423, 524, 878, 878,
2164 878, 878, 2423, 2423, 878, 878, 532, 532, 532, 2423,
2165 2423, 2423, 532, 894, 894, 894, 894, 2423, 2423, 894,
2166 894, 544, 544, 544, 2423, 2423, 2423, 544, 902, 902,
2167 902, 902, 2423, 2423, 902, 902, 550, 550, 550, 2423,
2168 2423, 2423, 550, 564, 564, 564, 2423, 2423, 2423, 564,
2169 930, 930, 930, 930, 2423, 2423, 930, 930, 572, 572,
2170 572, 2423, 2423, 2423, 572, 953, 953, 953, 953, 2423,
2171 2423, 953, 953, 587, 587, 587, 2423, 2423, 2423, 587,
2172 968, 968, 968, 968, 2423, 2423, 968, 968, 597, 597,
2174 597, 2423, 2423, 2423, 597, 976, 976, 976, 976, 2423,
2175 2423, 976, 976, 602, 602, 602, 2423, 2423, 2423, 602,
2176 987, 987, 987, 987, 2423, 2423, 987, 987, 610, 610,
2177 610, 2423, 2423, 2423, 610, 996, 996, 996, 996, 2423,
2178 2423, 996, 996, 617, 617, 617, 617, 2423, 617, 2423,
2179 617, 1008, 1008, 1008, 1008, 2423, 2423, 1008, 1008, 624,
2180 624, 624, 2423, 2423, 2423, 624, 1016, 1016, 1016, 1016,
2181 2423, 2423, 1016, 1016, 629, 629, 629, 629, 2423, 629,
2182 2423, 629, 1026, 1026, 1026, 1026, 2423, 2423, 1026, 1026,
2183 635, 635, 635, 2423, 2423, 2423, 635, 1034, 1034, 1034,
2185 1034, 2423, 2423, 1034, 1034, 1040, 1040, 1040, 1040, 2423,
2186 2423, 1040, 1040, 1047, 1047, 1047, 1047, 2423, 2423, 1047,
2187 1047, 1055, 1055, 1055, 1055, 2423, 2423, 1055, 1055, 825,
2188 825, 825, 825, 825, 825, 825, 825, 825, 1211, 1211,
2189 1211, 1211, 1211, 1211, 1211, 1211, 1211, 496, 496, 496,
2190 496, 2423, 496, 2423, 496, 840, 840, 840, 840, 2423,
2191 2423, 840, 840, 868, 868, 868, 868, 2423, 2423, 868,
2192 868, 524, 524, 524, 2423, 2423, 2423, 524, 878, 878,
2193 878, 878, 2423, 2423, 878, 878, 532, 532, 532, 2423,
2194 2423, 2423, 532, 894, 894, 894, 894, 2423, 2423, 894,
2196 894, 544, 544, 544, 544, 2423, 544, 2423, 544, 902,
2197 902, 902, 902, 2423, 2423, 902, 902, 550, 550, 550,
2198 2423, 2423, 2423, 550, 564, 564, 564, 2423, 2423, 2423,
2199 564, 572, 572, 572, 2423, 2423, 2423, 572, 953, 953,
2200 953, 953, 2423, 2423, 953, 953, 587, 587, 587, 2423,
2201 2423, 2423, 587, 597, 597, 597, 2423, 2423, 2423, 597,
2202 976, 976, 976, 976, 2423, 2423, 976, 976, 602, 602,
2203 602, 2423, 2423, 2423, 602, 610, 610, 610, 2423, 2423,
2204 2423, 610, 996, 996, 996, 996, 2423, 2423, 996, 996,
2205 617, 617, 617, 2423, 2423, 2423, 617, 1008, 1008, 1008,
2207 1008, 2423, 2423, 1008, 1008, 624, 624, 624, 2423, 2423,
2208 2423, 624, 1016, 1016, 1016, 1016, 2423, 2423, 1016, 1016,
2209 1026, 1026, 1026, 1026, 2423, 2423, 1026, 1026, 635, 635,
2210 635, 2423, 2423, 2423, 635, 1034, 1034, 1034, 1034, 2423,
2211 2423, 1034, 1034, 1040, 1040, 1040, 1040, 2423, 2423, 1040,
2212 1040, 1047, 1047, 1047, 1047, 2423, 2423, 1047, 1047, 825,
2213 825, 825, 825, 825, 825, 825, 825, 825, 1211, 1211,
2214 1211, 1211, 1211, 1211, 1211, 1211, 1211, 840, 840, 840,
2215 840, 2423, 2423, 840, 840, 868, 868, 868, 868, 2423,
2216 2423, 868, 868, 524, 524, 524, 2423, 2423, 2423, 524,
2218 532, 532, 532, 2423, 2423, 2423, 532, 894, 894, 894,
2219 894, 2423, 2423, 894, 894, 2091, 2091, 2091, 2091, 2091,
2220 2091, 2091, 2091, 2091, 2092, 2092, 2092, 2092, 2092, 2092,
2221 2092, 2092, 2092, 2135, 2135, 2135, 2135, 2135, 2135, 2135,
2222 2135, 2135, 2138, 2138, 2138, 2138, 2138, 2138, 2138, 2138,
2223 2138, 2166, 2166, 2166, 2166, 2166, 2166, 2166, 2166, 2166,
2224 2168, 2168, 2168, 2168, 2168, 2168, 2168, 2168, 2168, 193,
2225 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
2226 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
2227 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
2229 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
2230 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
2231 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
2232 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
2236 static yyconst flex_int16_t yy_chk[8143] =
2238 0, 3, 3, 3, 4, 4, 4, 5, 5, 5,
2239 6, 6, 6, 7, 7, 7, 11, 3, 9, 12,
2240 4, 10, 0, 5, 0, 9, 6, 0, 10, 7,
2241 8, 8, 8, 198, 11, 13, 13, 12, 14, 14,
2242 13, 13, 271, 14, 14, 199, 8, 17, 17, 198,
2243 13, 15, 15, 14, 15, 202, 15, 16, 16, 236,
2244 16, 199, 16, 18, 18, 236, 15, 19, 19, 19,
2245 306, 202, 16, 20, 20, 20, 23, 23, 23, 24,
2246 24, 24, 506, 19, 25, 25, 25, 271, 506, 20,
2247 300, 17, 23, 271, 506, 24, 196, 196, 196, 300,
2249 25, 197, 197, 197, 201, 201, 201, 18, 21, 21,
2250 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
2251 21, 21, 21, 306, 21, 21, 21, 21, 21, 26,
2252 26, 26, 27, 27, 27, 28, 28, 28, 231, 29,
2253 29, 29, 30, 30, 30, 26, 303, 1404, 27, 220,
2254 225, 28, 231, 21, 21, 29, 303, 241, 30, 31,
2255 31, 31, 222, 222, 222, 220, 225, 229, 229, 229,
2256 238, 238, 238, 241, 1407, 31, 21, 22, 22, 22,
2257 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
2258 22, 22, 323, 22, 22, 22, 22, 22, 32, 32,
2260 32, 33, 33, 33, 34, 34, 34, 220, 35, 35,
2261 35, 36, 36, 36, 32, 232, 308, 33, 308, 1408,
2262 34, 381, 22, 22, 35, 232, 233, 36, 37, 37,
2263 37, 38, 38, 38, 39, 39, 39, 40, 40, 40,
2264 41, 41, 41, 323, 37, 22, 335, 38, 251, 335,
2265 39, 302, 262, 40, 232, 233, 41, 42, 42, 42,
2266 232, 245, 245, 245, 251, 234, 232, 233, 262, 233,
2267 232, 233, 381, 42, 43, 43, 43, 43, 43, 43,
2268 43, 43, 43, 43, 43, 43, 43, 43, 43, 302,
2269 43, 43, 43, 43, 43, 45, 45, 45, 46, 46,
2271 46, 53, 53, 53, 234, 266, 1413, 49, 49, 266,
2272 278, 45, 49, 266, 46, 444, 234, 53, 234, 43,
2273 43, 446, 49, 248, 248, 248, 278, 43, 44, 44,
2274 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
2275 44, 44, 44, 389, 44, 44, 44, 44, 44, 331,
2276 389, 49, 444, 50, 50, 54, 54, 54, 50, 55,
2277 55, 55, 56, 56, 56, 259, 259, 259, 50, 331,
2278 403, 54, 446, 44, 44, 55, 489, 403, 56, 489,
2279 1414, 44, 47, 47, 47, 47, 47, 47, 47, 47,
2280 47, 47, 47, 47, 47, 47, 47, 50, 47, 47,
2282 47, 47, 47, 57, 57, 57, 58, 58, 58, 59,
2283 59, 59, 268, 60, 60, 60, 63, 63, 63, 57,
2284 290, 313, 58, 246, 256, 59, 268, 47, 47, 60,
2285 246, 256, 63, 1415, 1353, 47, 290, 313, 47, 246,
2286 256, 270, 270, 270, 47, 48, 48, 48, 48, 48,
2287 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
2288 445, 48, 48, 48, 48, 48, 64, 64, 64, 67,
2289 67, 67, 68, 68, 68, 1353, 69, 69, 69, 70,
2290 70, 70, 64, 328, 345, 67, 285, 361, 68, 1418,
2291 48, 48, 69, 285, 337, 70, 1424, 445, 48, 328,
2293 345, 48, 285, 361, 212, 337, 337, 48, 51, 51,
2294 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
2295 51, 51, 51, 528, 51, 51, 51, 51, 51, 71,
2296 71, 71, 72, 72, 72, 73, 73, 73, 377, 74,
2297 74, 74, 75, 75, 75, 71, 212, 372, 72, 377,
2298 340, 73, 212, 51, 51, 74, 212, 340, 75, 528,
2299 1431, 212, 51, 372, 51, 407, 340, 51, 275, 275,
2300 275, 431, 51, 51, 52, 52, 52, 52, 52, 52,
2301 52, 52, 52, 52, 52, 52, 52, 52, 52, 1432,
2302 52, 52, 52, 52, 52, 76, 76, 76, 77, 77,
2304 77, 78, 78, 78, 467, 79, 79, 79, 80, 80,
2305 80, 76, 407, 386, 77, 356, 367, 78, 431, 52,
2306 52, 79, 356, 367, 80, 284, 284, 284, 52, 386,
2307 52, 356, 367, 52, 287, 287, 287, 392, 52, 52,
2308 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
2309 61, 61, 61, 61, 61, 467, 61, 61, 61, 61,
2310 61, 81, 81, 81, 82, 82, 82, 83, 83, 83,
2311 1436, 84, 84, 84, 85, 85, 85, 81, 507, 502,
2312 82, 480, 502, 83, 392, 61, 61, 84, 392, 854,
2313 85, 507, 61, 296, 296, 296, 480, 61, 310, 310,
2315 310, 854, 305, 321, 321, 321, 61, 62, 62, 62,
2316 62, 62, 62, 62, 62, 62, 62, 62, 62, 62,
2317 62, 62, 1442, 62, 62, 62, 62, 62, 86, 86,
2318 86, 87, 87, 87, 88, 88, 88, 1210, 89, 89,
2319 89, 90, 90, 90, 86, 509, 305, 87, 509, 305,
2320 88, 1446, 62, 62, 89, 305, 399, 90, 510, 62,
2321 512, 304, 1210, 512, 62, 325, 325, 325, 339, 339,
2322 339, 510, 399, 62, 65, 65, 65, 65, 65, 65,
2323 65, 65, 65, 65, 65, 65, 65, 65, 65, 304,
2324 65, 65, 65, 65, 65, 91, 91, 91, 92, 92,
2326 92, 93, 93, 93, 304, 94, 94, 94, 342, 342,
2327 342, 91, 412, 423, 92, 516, 1449, 93, 516, 65,
2328 65, 94, 1451, 1453, 65, 355, 355, 355, 412, 423,
2329 65, 358, 358, 358, 366, 366, 366, 1352, 65, 66,
2330 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
2331 66, 66, 66, 66, 1352, 66, 66, 66, 66, 66,
2332 95, 95, 95, 96, 96, 96, 99, 99, 99, 864,
2333 100, 100, 100, 369, 369, 369, 95, 436, 451, 96,
2334 566, 864, 99, 566, 66, 66, 100, 1455, 1456, 66,
2335 379, 379, 379, 436, 451, 66, 383, 383, 383, 391,
2337 391, 391, 1457, 66, 97, 97, 97, 97, 97, 97,
2338 97, 97, 97, 97, 97, 97, 97, 97, 97, 1460,
2339 97, 97, 97, 97, 97, 101, 101, 101, 102, 102,
2340 102, 103, 103, 103, 897, 104, 104, 104, 396, 396,
2341 396, 101, 461, 472, 102, 1058, 897, 103, 657, 97,
2342 97, 104, 97, 1462, 97, 405, 405, 405, 461, 472,
2343 97, 409, 409, 409, 657, 1058, 97, 1354, 1467, 97,
2344 98, 98, 98, 98, 98, 98, 98, 98, 98, 98,
2345 98, 98, 98, 98, 98, 1469, 98, 98, 98, 98,
2346 98, 105, 105, 105, 106, 106, 106, 109, 109, 109,
2348 1354, 110, 110, 110, 417, 417, 417, 105, 1476, 1477,
2349 106, 559, 418, 109, 561, 98, 98, 110, 98, 418,
2350 98, 420, 420, 420, 559, 1391, 98, 561, 418, 429,
2351 429, 429, 98, 1391, 1478, 98, 107, 107, 107, 107,
2352 107, 107, 107, 107, 107, 107, 107, 107, 107, 107,
2353 107, 107, 107, 107, 107, 107, 107, 107, 107, 107,
2354 107, 107, 107, 107, 107, 107, 107, 107, 107, 107,
2355 107, 107, 107, 107, 107, 107, 107, 107, 107, 107,
2356 107, 107, 107, 107, 107, 107, 107, 107, 107, 107,
2357 107, 107, 107, 107, 107, 107, 107, 107, 107, 107,
2359 107, 107, 107, 107, 107, 107, 107, 107, 111, 111,
2360 111, 111, 111, 111, 111, 111, 111, 111, 111, 111,
2361 111, 111, 111, 111, 111, 111, 111, 111, 111, 111,
2362 111, 111, 111, 111, 111, 111, 111, 111, 111, 111,
2363 111, 111, 111, 111, 111, 111, 111, 111, 111, 111,
2364 111, 111, 111, 111, 111, 111, 111, 111, 111, 111,
2365 111, 111, 111, 111, 111, 111, 111, 111, 111, 111,
2366 111, 111, 111, 111, 111, 111, 111, 111, 111, 111,
2367 113, 113, 113, 114, 114, 114, 433, 433, 433, 443,
2368 443, 443, 448, 448, 448, 1480, 113, 1494, 1499, 114,
2370 115, 115, 115, 115, 115, 115, 115, 115, 115, 115,
2371 115, 115, 115, 115, 115, 1500, 115, 115, 115, 115,
2372 115, 117, 117, 117, 118, 118, 118, 121, 121, 121,
2373 1395, 122, 122, 122, 455, 455, 455, 117, 1395, 762,
2374 118, 1492, 514, 121, 762, 115, 115, 122, 514, 1491,
2375 115, 458, 458, 458, 514, 1491, 115, 116, 116, 116,
2376 116, 116, 116, 116, 116, 116, 116, 116, 116, 116,
2377 116, 116, 1492, 116, 116, 116, 116, 116, 123, 123,
2378 123, 124, 124, 124, 125, 125, 125, 828, 126, 126,
2379 126, 828, 456, 562, 123, 1504, 746, 124, 1505, 456,
2381 125, 1509, 116, 116, 126, 746, 562, 116, 456, 465,
2382 465, 465, 746, 116, 119, 119, 119, 119, 119, 119,
2383 119, 119, 119, 119, 119, 119, 119, 119, 119, 1515,
2384 119, 119, 119, 119, 119, 127, 127, 127, 128, 128,
2385 128, 131, 131, 131, 1517, 132, 132, 132, 133, 133,
2386 133, 127, 1518, 1521, 128, 478, 1524, 131, 1528, 119,
2387 119, 132, 478, 119, 133, 469, 469, 469, 1529, 1530,
2388 119, 478, 119, 477, 477, 477, 479, 479, 479, 119,
2389 120, 120, 120, 120, 120, 120, 120, 120, 120, 120,
2390 120, 120, 120, 120, 120, 1531, 120, 120, 120, 120,
2392 120, 134, 134, 134, 135, 135, 135, 136, 136, 136,
2393 1532, 137, 137, 137, 138, 138, 138, 134, 1533, 1534,
2394 135, 1535, 1536, 136, 1537, 120, 120, 137, 1539, 120,
2395 138, 517, 488, 488, 488, 1543, 120, 517, 120, 1493,
2396 660, 660, 660, 517, 660, 120, 129, 129, 129, 129,
2397 129, 129, 129, 129, 129, 129, 129, 129, 129, 129,
2398 129, 1545, 129, 129, 129, 129, 129, 141, 141, 141,
2399 142, 142, 142, 143, 143, 143, 1546, 144, 144, 144,
2400 145, 145, 145, 141, 1493, 1549, 142, 1550, 518, 143,
2401 488, 129, 129, 144, 518, 542, 145, 129, 1547, 1554,
2403 518, 542, 672, 672, 672, 1560, 1547, 542, 688, 688,
2404 688, 129, 130, 130, 130, 130, 130, 130, 130, 130,
2405 130, 130, 130, 130, 130, 130, 130, 1561, 130, 130,
2406 130, 130, 130, 146, 146, 146, 147, 147, 147, 148,
2407 148, 148, 1566, 151, 151, 151, 152, 152, 152, 146,
2408 1266, 1570, 147, 1548, 1571, 148, 1266, 130, 130, 151,
2409 1266, 1548, 152, 130, 1266, 672, 699, 699, 699, 1572,
2410 699, 688, 1574, 699, 843, 843, 843, 130, 139, 139,
2411 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
2412 139, 139, 139, 1577, 139, 139, 139, 139, 139, 155,
2414 155, 155, 156, 156, 156, 157, 157, 157, 1578, 158,
2415 158, 158, 159, 159, 159, 155, 1267, 1581, 156, 1579,
2416 1582, 157, 1267, 139, 139, 158, 1267, 1579, 159, 139,
2417 1267, 1580, 139, 707, 707, 707, 1585, 707, 1592, 1580,
2418 707, 1594, 1604, 139, 140, 140, 140, 140, 140, 140,
2419 140, 140, 140, 140, 140, 140, 140, 140, 140, 1605,
2420 140, 140, 140, 140, 140, 160, 160, 160, 161, 161,
2421 161, 162, 162, 162, 1607, 165, 165, 165, 166, 166,
2422 166, 160, 1620, 1611, 161, 1626, 1630, 162, 1632, 140,
2423 140, 165, 1638, 1644, 166, 140, 1645, 1646, 140, 724,
2425 724, 724, 1612, 724, 1647, 1648, 724, 1649, 1650, 140,
2426 149, 149, 149, 149, 149, 149, 149, 149, 149, 149,
2427 149, 149, 149, 149, 149, 1611, 149, 149, 149, 149,
2428 149, 167, 167, 167, 168, 168, 168, 169, 169, 169,
2429 1651, 170, 170, 170, 171, 171, 171, 167, 1612, 1652,
2430 168, 1653, 1655, 169, 1660, 149, 149, 170, 1661, 1662,
2431 171, 149, 860, 860, 860, 1663, 149, 150, 150, 150,
2432 150, 150, 150, 150, 150, 150, 150, 150, 150, 150,
2433 150, 150, 1664, 150, 150, 150, 150, 150, 172, 172,
2434 172, 175, 175, 175, 176, 176, 176, 1665, 179, 179,
2436 179, 180, 180, 180, 172, 1666, 1667, 175, 1668, 1669,
2437 176, 1673, 150, 150, 179, 1674, 1676, 180, 150, 728,
2438 728, 728, 1677, 150, 153, 153, 153, 153, 153, 153,
2439 153, 153, 153, 153, 153, 153, 153, 153, 153, 1678,
2440 153, 153, 153, 153, 153, 181, 181, 181, 182, 182,
2441 182, 183, 183, 183, 1679, 184, 184, 184, 185, 185,
2442 185, 181, 1686, 1687, 182, 1688, 1689, 183, 1690, 153,
2443 153, 184, 1691, 1692, 185, 153, 1693, 1695, 153, 1072,
2444 1072, 1072, 728, 733, 733, 733, 1074, 1074, 1074, 153,
2445 154, 154, 154, 154, 154, 154, 154, 154, 154, 154,
2447 154, 154, 154, 154, 154, 1703, 154, 154, 154, 154,
2448 154, 186, 186, 186, 189, 189, 189, 190, 190, 190,
2449 526, 526, 526, 1715, 670, 670, 670, 186, 1718, 1719,
2450 189, 1722, 1074, 190, 1725, 154, 154, 526, 1726, 297,
2451 298, 154, 670, 1727, 154, 1711, 733, 1728, 1729, 297,
2452 298, 1075, 1075, 1075, 1730, 154, 163, 163, 163, 163,
2453 163, 163, 163, 163, 163, 163, 163, 163, 163, 163,
2454 163, 1710, 163, 163, 163, 163, 163, 297, 298, 534,
2455 534, 534, 1711, 297, 1731, 1732, 297, 552, 552, 552,
2456 1733, 298, 297, 1734, 1735, 298, 534, 567, 567, 567,
2458 1737, 163, 163, 1710, 552, 1078, 1078, 1078, 1738, 163,
2459 1739, 163, 1740, 163, 567, 1086, 1086, 1086, 1111, 1111,
2460 1111, 163, 164, 164, 164, 164, 164, 164, 164, 164,
2461 164, 164, 164, 164, 164, 164, 164, 1741, 164, 164,
2462 164, 164, 164, 575, 575, 575, 577, 577, 577, 591,
2463 591, 591, 599, 599, 599, 604, 604, 604, 1743, 1746,
2464 575, 1747, 1748, 577, 1752, 1753, 591, 164, 164, 599,
2465 1755, 1758, 604, 1759, 1760, 164, 1761, 164, 1763, 164,
2466 1123, 1123, 1123, 1766, 1124, 1124, 1124, 164, 173, 173,
2467 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
2469 173, 173, 173, 1768, 173, 173, 173, 173, 173, 626,
2470 626, 626, 648, 648, 648, 652, 652, 652, 695, 695,
2471 695, 671, 671, 671, 1790, 1791, 626, 1792, 1797, 648,
2472 1124, 1798, 652, 173, 173, 1786, 695, 1799, 1800, 671,
2473 740, 740, 740, 1801, 740, 1802, 1785, 740, 748, 748,
2474 748, 1803, 748, 1787, 1804, 748, 173, 174, 174, 174,
2475 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
2476 174, 174, 1786, 174, 174, 174, 174, 174, 671, 698,
2477 698, 698, 696, 696, 696, 1785, 702, 702, 702, 703,
2478 703, 703, 706, 706, 706, 1787, 698, 708, 708, 708,
2480 696, 1805, 174, 174, 702, 1806, 1807, 703, 1810, 706,
2481 1811, 751, 751, 751, 708, 751, 1817, 1818, 751, 1176,
2482 1176, 1176, 1225, 1225, 1225, 174, 177, 177, 177, 177,
2483 177, 177, 177, 177, 177, 177, 177, 177, 177, 177,
2484 177, 696, 177, 177, 177, 177, 177, 710, 710, 710,
2485 1819, 1822, 703, 1830, 1831, 714, 714, 714, 715, 715,
2486 715, 720, 720, 720, 710, 1176, 1227, 1227, 1227, 1832,
2487 1856, 177, 177, 714, 1857, 1852, 715, 1860, 1861, 720,
2488 1863, 1864, 177, 178, 178, 178, 178, 178, 178, 178,
2489 178, 178, 178, 178, 178, 178, 178, 178, 1866, 178,
2491 178, 178, 178, 178, 1852, 715, 721, 721, 721, 723,
2492 723, 723, 726, 726, 726, 739, 739, 739, 727, 727,
2493 727, 747, 747, 747, 721, 1867, 723, 1853, 178, 178,
2494 726, 1868, 739, 1229, 1229, 1229, 727, 1869, 747, 178,
2495 187, 187, 187, 187, 187, 187, 187, 187, 187, 187,
2496 187, 187, 187, 187, 187, 727, 187, 187, 187, 187,
2497 187, 743, 743, 743, 744, 744, 744, 1862, 1853, 721,
2498 750, 750, 750, 752, 752, 752, 759, 759, 759, 743,
2499 1862, 1870, 744, 1872, 1865, 187, 187, 750, 1873, 1874,
2500 752, 765, 765, 765, 759, 765, 187, 1865, 765, 773,
2502 773, 773, 1875, 773, 1887, 1888, 773, 1889, 187, 188,
2503 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
2504 188, 188, 188, 188, 744, 188, 188, 188, 188, 188,
2505 760, 760, 760, 764, 764, 764, 766, 766, 766, 769,
2506 769, 769, 770, 770, 770, 772, 772, 772, 760, 1854,
2507 764, 1795, 1893, 766, 188, 188, 1901, 769, 1903, 1911,
2508 770, 1795, 772, 1912, 1795, 188, 774, 774, 774, 1913,
2509 1914, 775, 775, 775, 777, 777, 777, 188, 230, 778,
2510 778, 778, 1915, 778, 774, 230, 778, 760, 1916, 775,
2511 1854, 777, 1921, 770, 230, 230, 782, 782, 782, 783,
2513 783, 783, 784, 784, 784, 1232, 1232, 1232, 785, 785,
2514 785, 786, 786, 786, 782, 1925, 1926, 783, 1922, 784,
2515 1930, 1931, 230, 230, 230, 785, 1932, 1933, 786, 230,
2516 230, 775, 230, 787, 787, 787, 230, 1934, 230, 1921,
2517 230, 788, 788, 788, 790, 790, 790, 791, 791, 791,
2518 1796, 787, 1840, 1922, 783, 792, 792, 792, 1935, 788,
2519 1796, 790, 1840, 1796, 791, 793, 793, 793, 1840, 786,
2520 1936, 1937, 792, 794, 794, 794, 795, 795, 795, 797,
2521 797, 797, 793, 798, 798, 798, 1939, 798, 1940, 1941,
2522 798, 794, 1942, 1943, 795, 1944, 797, 791, 799, 799,
2524 799, 788, 800, 800, 800, 801, 801, 801, 802, 802,
2525 802, 791, 1945, 795, 1946, 1954, 799, 803, 803, 803,
2526 800, 1958, 801, 793, 1959, 802, 804, 804, 804, 805,
2527 805, 805, 1960, 1961, 803, 810, 810, 810, 811, 811,
2528 811, 814, 814, 814, 804, 1968, 1971, 805, 815, 815,
2529 815, 1978, 1979, 810, 1980, 1981, 811, 800, 802, 814,
2530 816, 816, 816, 817, 817, 817, 815, 817, 1982, 1983,
2531 817, 1991, 802, 818, 818, 818, 1992, 816, 819, 819,
2532 819, 820, 820, 820, 1985, 821, 821, 821, 1993, 821,
2533 1994, 818, 821, 872, 872, 872, 819, 872, 820, 805,
2535 872, 811, 823, 823, 823, 824, 824, 824, 839, 839,
2536 839, 815, 840, 840, 840, 842, 842, 842, 1985, 1995,
2537 823, 1841, 1973, 824, 1996, 1997, 839, 866, 866, 866,
2538 840, 1841, 1973, 842, 867, 867, 867, 1841, 819, 868,
2539 868, 868, 1998, 2001, 866, 870, 870, 870, 871, 871,
2540 871, 1974, 867, 875, 875, 875, 1976, 868, 877, 877,
2541 877, 1974, 842, 870, 1977, 871, 1976, 2002, 824, 2004,
2542 875, 878, 878, 878, 1977, 2005, 877, 880, 880, 880,
2543 882, 882, 882, 2006, 882, 2008, 2013, 882, 2014, 878,
2544 885, 885, 885, 2015, 870, 880, 886, 886, 886, 2017,
2546 886, 2023, 2024, 886, 887, 887, 887, 885, 888, 888,
2547 888, 2025, 2026, 875, 2027, 889, 889, 889, 2028, 889,
2548 2029, 887, 889, 2030, 880, 888, 891, 891, 891, 893,
2549 893, 893, 894, 894, 894, 896, 896, 896, 899, 899,
2550 899, 2031, 2032, 891, 901, 901, 901, 893, 2034, 2035,
2551 894, 2047, 2048, 896, 2049, 899, 902, 902, 902, 904,
2552 904, 904, 901, 906, 906, 906, 2050, 906, 2051, 2052,
2553 906, 910, 910, 910, 902, 2039, 2053, 904, 911, 911,
2554 911, 913, 913, 913, 923, 923, 923, 2054, 2058, 910,
2555 2059, 924, 924, 924, 896, 924, 911, 2060, 924, 913,
2557 2061, 923, 929, 929, 929, 2062, 904, 930, 930, 930,
2558 932, 932, 932, 2063, 937, 937, 937, 2039, 937, 2065,
2559 929, 937, 940, 940, 940, 930, 2066, 2067, 932, 941,
2560 941, 941, 2070, 941, 2075, 2076, 941, 2077, 2078, 940,
2561 944, 944, 944, 945, 945, 945, 2079, 945, 2080, 2081,
2562 945, 952, 952, 952, 953, 953, 953, 944, 955, 955,
2563 955, 960, 960, 960, 2082, 960, 2083, 2084, 960, 952,
2564 2085, 2086, 953, 2093, 932, 2090, 955, 963, 963, 963,
2565 964, 964, 964, 2096, 964, 2097, 2090, 964, 967, 967,
2566 967, 968, 968, 968, 963, 970, 970, 970, 972, 972,
2568 972, 2100, 972, 2102, 2103, 972, 967, 2105, 2106, 968,
2569 975, 975, 975, 970, 976, 976, 976, 978, 978, 978,
2570 986, 986, 986, 2087, 955, 987, 987, 987, 975, 980,
2571 980, 980, 976, 980, 2109, 978, 980, 2110, 986, 989,
2572 989, 989, 2089, 987, 2111, 2115, 970, 990, 990, 990,
2573 2113, 991, 991, 991, 2123, 991, 2089, 989, 991, 992,
2574 992, 992, 2113, 2125, 990, 993, 993, 993, 2087, 993,
2575 2127, 2129, 993, 995, 995, 995, 992, 996, 996, 996,
2576 1000, 1000, 1000, 978, 998, 998, 998, 1004, 1004, 1004,
2577 2134, 995, 1001, 1001, 1001, 996, 1001, 1000, 989, 1001,
2579 2136, 2136, 998, 2137, 1004, 1005, 1005, 1005, 2139, 1005,
2580 2141, 2135, 1005, 1007, 1007, 1007, 1008, 1008, 1008, 1010,
2581 1010, 1010, 1012, 1012, 1012, 2135, 1012, 2142, 2143, 1012,
2582 2134, 1007, 2144, 2153, 1008, 2155, 2158, 1010, 1015, 1015,
2583 1015, 1016, 1016, 1016, 1018, 1018, 1018, 1019, 1019, 1019,
2584 998, 1020, 1020, 1020, 2138, 1020, 1015, 2160, 1020, 1016,
2585 2114, 2152, 1018, 2120, 1019, 2138, 1023, 1023, 1023, 1024,
2586 1024, 1024, 2114, 1024, 2166, 2120, 1024, 1025, 1025, 1025,
2587 2152, 2121, 1010, 1023, 1026, 1026, 1026, 1028, 1028, 1028,
2588 1030, 1030, 1030, 2121, 2167, 1025, 1033, 1033, 1033, 1034,
2590 1034, 1034, 1026, 1018, 2168, 1028, 2154, 1030, 1036, 1036,
2591 1036, 1039, 1039, 1039, 1033, 2170, 2157, 1034, 1040, 1040,
2592 1040, 1042, 1042, 1042, 2171, 2154, 1036, 2159, 2172, 1039,
2593 1043, 1043, 1043, 2173, 1043, 2157, 1040, 1043, 2180, 1042,
2594 1046, 1046, 1046, 1047, 1047, 1047, 2159, 2181, 1028, 1049,
2595 1049, 1049, 1050, 1050, 1050, 2182, 1050, 2183, 1046, 1050,
2596 2184, 1047, 1054, 1054, 1054, 2185, 2188, 1049, 1036, 1055,
2597 1055, 1055, 2189, 2190, 1042, 1057, 1057, 1057, 2191, 2192,
2598 1054, 1059, 1059, 1059, 1066, 1066, 1066, 1055, 1089, 1089,
2599 1089, 2193, 2195, 1057, 1090, 1090, 1090, 2197, 1090, 1059,
2601 1059, 1090, 1066, 2199, 2209, 1089, 2207, 2210, 1049, 1091,
2602 1091, 1091, 1092, 1092, 1092, 1093, 1093, 1093, 2207, 1093,
2603 2211, 2208, 1093, 1096, 1096, 1096, 2212, 1091, 2213, 1092,
2604 1098, 1098, 1098, 2208, 1098, 1057, 2214, 1098, 1101, 1101,
2605 1101, 1096, 2218, 1102, 1102, 1102, 2219, 1102, 2220, 1066,
2606 1102, 2221, 1103, 1103, 1103, 1101, 1103, 2222, 2223, 1103,
2607 1107, 1107, 1107, 1108, 1108, 1108, 1091, 1108, 2226, 2227,
2608 1108, 2228, 1096, 1110, 1110, 1110, 2229, 1107, 1113, 1113,
2609 1113, 1114, 1114, 1114, 2230, 1114, 2224, 2231, 1114, 2232,
2610 2233, 1110, 1115, 1115, 1115, 1113, 1116, 1116, 1116, 1119,
2612 1119, 1119, 1130, 1130, 1130, 2234, 1131, 1131, 1131, 1115,
2613 1131, 2224, 2235, 1131, 1116, 2236, 2237, 1119, 2238, 1130,
2614 1132, 1132, 1132, 1110, 1133, 1133, 1133, 2239, 1134, 1134,
2615 1134, 1136, 1136, 1136, 1139, 1139, 1139, 1132, 1144, 1144,
2616 1144, 1133, 1235, 1235, 1235, 1116, 1134, 2240, 1136, 2241,
2617 2242, 1139, 1140, 1140, 1140, 1144, 1140, 2243, 2247, 1140,
2618 1141, 1141, 1141, 2244, 1141, 2248, 2249, 1141, 2250, 2251,
2619 1133, 1150, 1150, 1150, 1152, 1152, 1152, 1155, 1155, 1155,
2620 2252, 1155, 2244, 2253, 1155, 1158, 1158, 1158, 1235, 1150,
2621 2254, 1152, 2255, 1134, 1160, 1160, 1160, 1162, 1162, 1162,
2623 2256, 2257, 1158, 1166, 1166, 1166, 2258, 1167, 1167, 1167,
2624 2259, 2260, 1160, 2261, 2262, 1162, 2264, 1168, 1168, 1168,
2625 1166, 1168, 2263, 2265, 1168, 1167, 1171, 1171, 1171, 2266,
2626 1171, 2267, 2268, 1171, 2269, 1150, 1175, 1175, 1175, 1177,
2627 1177, 1177, 2263, 1177, 2270, 2271, 1177, 2272, 2273, 1166,
2628 2274, 1182, 1182, 1182, 1175, 1182, 2275, 1160, 1182, 1186,
2629 1186, 1186, 1162, 1167, 1188, 1188, 1188, 1189, 1189, 1189,
2630 2276, 1189, 2277, 2278, 1189, 2279, 2281, 1186, 2280, 1194,
2631 1194, 1194, 1188, 1194, 2280, 2282, 1194, 1197, 1197, 1197,
2632 1199, 1199, 1199, 1200, 1200, 1200, 2283, 1200, 2284, 2285,
2634 1200, 1175, 1234, 1234, 1234, 1197, 2286, 1199, 1203, 1203,
2635 1203, 1205, 1205, 1205, 1206, 1206, 1206, 2288, 2289, 1186,
2636 1188, 1207, 1207, 1207, 2291, 2292, 1203, 2294, 1205, 1208,
2637 1208, 1208, 1206, 2295, 1197, 1209, 1209, 1209, 2298, 1207,
2638 1212, 1212, 1212, 1219, 1219, 1219, 1208, 1240, 1240, 1240,
2639 1246, 1246, 1246, 1209, 1242, 1242, 1242, 1203, 1212, 2299,
2640 2300, 1219, 1243, 1243, 1243, 1234, 1243, 2301, 1246, 1243,
2641 1247, 1247, 1247, 1207, 1247, 2303, 2297, 1247, 2305, 2307,
2642 1206, 1252, 1252, 1252, 2309, 1254, 1254, 1254, 2311, 1254,
2643 2297, 1212, 1254, 2312, 2313, 1219, 1209, 2314, 2315, 1252,
2645 1242, 1258, 1258, 1258, 2316, 1258, 2317, 1212, 1258, 1262,
2646 1262, 1262, 1263, 1263, 1263, 2318, 1246, 1265, 1265, 1265,
2647 2320, 1265, 2322, 2324, 1265, 2325, 2326, 1262, 1268, 1268,
2648 1268, 2327, 1252, 1269, 1269, 1269, 2360, 1269, 1403, 1401,
2649 1269, 1270, 1270, 1270, 2328, 1268, 1275, 1275, 1275, 1276,
2650 1276, 1276, 1277, 1277, 1277, 1278, 1278, 1278, 2329, 1270,
2651 1279, 1279, 1279, 1282, 1282, 1282, 2340, 1282, 2360, 1262,
2652 1282, 1285, 1285, 1285, 1286, 1286, 1286, 1396, 1286, 2336,
2653 2328, 1286, 1287, 1287, 1287, 1290, 1290, 1290, 1285, 1288,
2654 1288, 1288, 1270, 1288, 2329, 2380, 1288, 2368, 1394, 1287,
2656 1292, 1292, 1292, 1290, 1293, 1293, 1293, 2337, 1293, 2340,
2657 2362, 1293, 1294, 1294, 1294, 1277, 1393, 1292, 1278, 2362,
2658 1296, 1296, 1296, 1279, 1296, 2354, 2336, 1296, 2338, 1294,
2659 1299, 1299, 1299, 1300, 1300, 1300, 2380, 1300, 2339, 2368,
2660 1300, 1301, 1301, 1301, 1305, 1305, 1305, 1299, 1306, 1306,
2661 1306, 1308, 1308, 1308, 2337, 1309, 1309, 1309, 1301, 1309,
2662 2354, 1305, 1309, 1310, 1310, 1310, 1306, 1392, 1308, 1312,
2663 1312, 1312, 1313, 1313, 1313, 2338, 1313, 2352, 2353, 1313,
2664 1310, 1315, 1315, 1315, 2348, 2339, 1312, 1317, 1317, 1317,
2665 1321, 1321, 1321, 1322, 1322, 1322, 2341, 1322, 2344, 1315,
2667 1322, 1324, 1324, 1324, 2345, 1317, 2344, 1321, 1326, 1326,
2668 1326, 1390, 2345, 1306, 1328, 1328, 1328, 2352, 2353, 1324,
2669 1329, 1329, 1329, 1330, 1330, 1330, 1326, 1331, 1331, 1331,
2670 2348, 1328, 1333, 1333, 1333, 2374, 2346, 1329, 1317, 2341,
2671 1330, 1334, 1334, 1334, 2346, 1331, 1335, 1335, 1335, 2347,
2672 1333, 1336, 1336, 1336, 1343, 1343, 1343, 2347, 1334, 1326,
2673 1338, 1338, 1338, 1335, 1338, 2349, 2342, 1338, 2374, 1336,
2674 2342, 1389, 1343, 1345, 1345, 1345, 2375, 2350, 1333, 2343,
2675 1346, 1346, 1346, 2343, 1346, 2361, 1330, 1346, 2363, 1386,
2676 1345, 1384, 1382, 1331, 1347, 1347, 1347, 2363, 1348, 1348,
2678 1348, 1349, 1349, 1349, 2366, 1343, 1350, 1350, 1350, 2375,
2679 1350, 2349, 1347, 1350, 2350, 1336, 1348, 2361, 1349, 1351,
2680 1351, 1351, 1357, 1357, 1357, 1358, 1358, 1358, 1363, 1363,
2681 1363, 1368, 1368, 1368, 1369, 1369, 1369, 1351, 2366, 1357,
2682 1370, 1370, 1370, 1358, 1371, 1371, 1371, 1373, 1373, 1373,
2683 1381, 2351, 1347, 1348, 1374, 1374, 1374, 1378, 1378, 1378,
2684 1380, 1380, 1380, 1383, 1383, 1383, 1385, 1385, 1385, 1387,
2685 1387, 1387, 1388, 1388, 1388, 1397, 1397, 1397, 1380, 1397,
2686 1379, 1383, 1397, 1385, 2355, 1358, 1377, 1387, 2351, 1388,
2687 1400, 1400, 1400, 2356, 1402, 1402, 1402, 1405, 1405, 1405,
2689 1406, 1406, 1406, 2357, 1376, 1409, 1409, 1409, 1400, 1409,
2690 1380, 1402, 1409, 1412, 1412, 1412, 2358, 1412, 2359, 2355,
2691 1412, 1416, 1416, 1416, 1419, 1419, 1419, 1387, 1419, 2364,
2692 2378, 1419, 1422, 1422, 1422, 1375, 1400, 2370, 2356, 1416,
2693 1423, 1423, 1423, 2369, 1423, 2367, 2365, 1423, 2357, 1422,
2694 1425, 1425, 1425, 2358, 1425, 2359, 2408, 1425, 1428, 1428,
2695 1428, 1429, 1429, 1429, 2364, 1429, 2371, 2378, 1429, 1430,
2696 1430, 1430, 1433, 1433, 1433, 1428, 1434, 1434, 1434, 2367,
2697 1434, 2365, 2370, 1434, 2372, 2369, 1430, 2376, 2408, 1433,
2698 1435, 1435, 1435, 1437, 1437, 1437, 2376, 1437, 2373, 2379,
2700 1437, 1440, 1440, 1440, 1372, 1441, 1441, 1441, 1435, 1441,
2701 1367, 2371, 1441, 1443, 1443, 1443, 2381, 1443, 1440, 2372,
2702 1443, 1447, 1447, 1447, 1450, 1450, 1450, 1452, 1452, 1452,
2703 1454, 1454, 1454, 2373, 1454, 2382, 2379, 1454, 2386, 1447,
2704 2383, 1435, 1450, 2387, 1452, 1458, 1458, 1458, 1461, 1461,
2705 1461, 1463, 1463, 1463, 1464, 1464, 1464, 2381, 1464, 1366,
2706 2384, 1464, 2385, 1458, 1365, 2418, 1461, 2386, 1463, 1465,
2707 1465, 1465, 2387, 1452, 1466, 1466, 1466, 2400, 1466, 2418,
2708 2382, 1466, 1468, 1468, 1468, 2383, 1465, 1450, 1470, 1470,
2709 1470, 1471, 1471, 1471, 1472, 1472, 1472, 2384, 1472, 2385,
2711 1468, 1472, 1473, 1473, 1473, 2377, 1470, 2394, 1471, 1474,
2712 1474, 1474, 2390, 1474, 2377, 2394, 1474, 2400, 2398, 1473,
2713 1475, 1475, 1475, 1479, 1479, 1479, 1481, 1481, 1481, 2401,
2714 1481, 2388, 2392, 1481, 1484, 1484, 1484, 1470, 1475, 2389,
2715 2388, 1479, 1485, 1485, 1485, 2399, 2390, 1468, 2389, 1486,
2716 1486, 1486, 1484, 1486, 2391, 2398, 1486, 1489, 1489, 1489,
2717 1485, 1495, 1495, 1495, 1496, 1496, 1496, 2410, 1496, 2401,
2718 1364, 1496, 1497, 1497, 1497, 1489, 2410, 2392, 1495, 1498,
2719 1498, 1498, 2399, 1362, 1475, 1484, 1361, 1479, 2391, 1360,
2720 1497, 1501, 1501, 1501, 2393, 1485, 1502, 1502, 1502, 1503,
2722 1503, 1503, 1506, 1506, 1506, 1507, 1507, 1507, 1508, 1508,
2723 1508, 1510, 1510, 1510, 1511, 1511, 1511, 1512, 1512, 1512,
2724 1513, 1513, 1513, 1514, 1514, 1514, 1516, 1516, 1516, 1519,
2725 1519, 1519, 1522, 1522, 1522, 1497, 1523, 1523, 1523, 2393,
2726 1523, 2396, 2406, 1523, 1516, 2402, 1359, 1519, 1356, 1522,
2727 1525, 1525, 1525, 1526, 1526, 1526, 1527, 1527, 1527, 2395,
2728 1527, 2407, 2403, 1527, 1538, 1538, 1538, 2395, 1525, 1344,
2729 1526, 1540, 1540, 1540, 1541, 1541, 1541, 1516, 1541, 2406,
2730 2402, 1541, 1538, 1542, 1542, 1542, 1342, 2396, 1540, 1544,
2731 1544, 1544, 1551, 1551, 1551, 2409, 1551, 2403, 2407, 1551,
2733 1555, 1555, 1555, 1341, 1555, 1337, 2397, 1555, 1558, 1558,
2734 1558, 2411, 2404, 1538, 1559, 1559, 1559, 1332, 1559, 1327,
2735 2411, 1559, 1562, 1562, 1562, 1558, 1562, 2409, 2405, 1562,
2736 1565, 1565, 1565, 1567, 1567, 1567, 2412, 1567, 2413, 2416,
2737 1567, 1573, 1573, 1573, 1575, 1575, 1575, 2414, 1565, 1576,
2738 1576, 1576, 2397, 1576, 1325, 2415, 1576, 2404, 1323, 1573,
2739 1320, 1575, 1583, 1583, 1583, 1586, 1586, 1586, 2412, 1586,
2740 2413, 2416, 1586, 2405, 1589, 1589, 1589, 1319, 1589, 1318,
2741 1583, 1589, 1593, 1593, 1593, 1595, 1595, 1595, 1596, 1596,
2742 1596, 1316, 1596, 1565, 2414, 1596, 1314, 1599, 1599, 1599,
2744 1593, 1599, 2415, 1595, 1599, 1602, 1602, 1602, 1603, 1603,
2745 1603, 1606, 1606, 1606, 1608, 1608, 1608, 1609, 1609, 1609,
2746 1610, 1610, 1610, 1602, 1311, 1603, 1613, 1613, 1613, 1606,
2747 1307, 1304, 1608, 1593, 2419, 1609, 1303, 1302, 1610, 1295,
2748 1291, 1602, 1614, 1614, 1614, 2419, 1614, 1289, 1281, 1614,
2749 1595, 1617, 1617, 1617, 1618, 1618, 1618, 1619, 1619, 1619,
2750 1621, 1621, 1621, 1622, 1622, 1622, 1623, 1623, 1623, 1617,
2751 1624, 1624, 1624, 1608, 1280, 1606, 1625, 1625, 1625, 1627,
2752 1627, 1627, 1628, 1628, 1628, 1629, 1629, 1629, 1631, 1631,
2753 1631, 1634, 1634, 1634, 1635, 1635, 1635, 2417, 1635, 1274,
2755 1273, 1635, 1639, 1639, 1639, 1272, 1631, 1271, 1634, 1617,
2756 1641, 1641, 1641, 1264, 1641, 1261, 1257, 1641, 1253, 1251,
2757 1639, 1654, 1654, 1654, 1656, 1656, 1656, 1250, 1656, 2417,
2758 1241, 1656, 1659, 1659, 1659, 1239, 1670, 1670, 1670, 1654,
2759 1670, 1238, 1237, 1670, 1675, 1675, 1675, 1680, 1680, 1680,
2760 1682, 1682, 1682, 1683, 1683, 1683, 1236, 1683, 1233, 1231,
2761 1683, 1230, 1675, 1228, 1226, 1680, 1224, 1682, 1694, 1694,
2762 1694, 1696, 1696, 1696, 1697, 1697, 1697, 1698, 1698, 1698,
2763 1223, 1654, 1699, 1699, 1699, 1700, 1700, 1700, 1222, 1696,
2764 1221, 1697, 1702, 1702, 1702, 1698, 1682, 1701, 1701, 1701,
2766 1699, 1701, 1700, 1220, 1701, 1704, 1704, 1704, 1218, 1702,
2767 1705, 1705, 1705, 1706, 1706, 1706, 1707, 1707, 1707, 1709,
2768 1709, 1709, 1217, 1704, 1712, 1712, 1712, 1713, 1713, 1713,
2769 1214, 1706, 1211, 1204, 1707, 1202, 1698, 1709, 1714, 1714,
2770 1714, 1201, 1699, 1198, 1193, 1713, 1716, 1716, 1716, 1717,
2771 1717, 1717, 1720, 1720, 1720, 1723, 1723, 1723, 1724, 1724,
2772 1724, 1192, 1724, 1187, 1185, 1724, 1736, 1736, 1736, 1181,
2773 1720, 1180, 1723, 1745, 1745, 1745, 1174, 1165, 1706, 1164,
2774 1709, 1749, 1749, 1749, 1736, 1750, 1750, 1750, 1163, 1161,
2775 1745, 1754, 1754, 1754, 1756, 1756, 1756, 1159, 1749, 1154,
2777 1757, 1757, 1757, 1750, 1757, 1153, 1151, 1757, 1754, 1149,
2778 1148, 1756, 1765, 1765, 1765, 1767, 1767, 1767, 1769, 1769,
2779 1769, 1771, 1771, 1771, 1147, 1736, 1772, 1772, 1772, 1765,
2780 1772, 1146, 1145, 1772, 1138, 1137, 1769, 1135, 1771, 1773,
2781 1773, 1773, 1774, 1774, 1774, 1775, 1775, 1775, 1129, 1775,
2782 1128, 1127, 1775, 1778, 1778, 1778, 1126, 1773, 1125, 1122,
2783 1774, 1779, 1779, 1779, 1121, 1779, 1118, 1117, 1779, 1112,
2784 1778, 1780, 1780, 1780, 1781, 1781, 1781, 1783, 1783, 1783,
2785 1784, 1784, 1784, 1788, 1788, 1788, 1109, 1106, 1780, 1793,
2786 1793, 1793, 1781, 1794, 1794, 1794, 1097, 1794, 1784, 1095,
2788 1794, 1788, 1808, 1808, 1808, 1094, 1793, 1088, 1774, 1809,
2789 1809, 1809, 1812, 1812, 1812, 1815, 1815, 1815, 1087, 1085,
2790 1808, 1816, 1816, 1816, 1084, 1816, 1809, 1083, 1816, 1812,
2791 1082, 1081, 1815, 1820, 1820, 1820, 1821, 1821, 1821, 1080,
2792 1821, 1079, 1077, 1821, 1076, 1823, 1823, 1823, 1073, 1071,
2793 1820, 1824, 1824, 1824, 1070, 1069, 1825, 1825, 1825, 1068,
2794 1825, 1808, 1823, 1825, 1826, 1826, 1826, 1067, 1824, 1827,
2795 1827, 1827, 1065, 1827, 1064, 1063, 1827, 1835, 1835, 1835,
2796 1062, 1826, 1836, 1836, 1836, 1053, 1836, 1038, 1037, 1836,
2797 1837, 1837, 1837, 1032, 1835, 1838, 1838, 1838, 1839, 1839,
2799 1839, 1031, 1839, 1029, 1022, 1839, 1021, 1837, 1842, 1842,
2800 1842, 1011, 1838, 1844, 1844, 1844, 1845, 1845, 1845, 1006,
2801 1845, 1003, 1002, 1845, 999, 994, 1842, 1848, 1848, 1848,
2802 985, 1844, 1849, 1849, 1849, 984, 1849, 983, 979, 1849,
2803 1850, 1850, 1850, 971, 1848, 1855, 1855, 1855, 1858, 1858,
2804 1858, 966, 1859, 1859, 1859, 965, 1859, 959, 1850, 1859,
2805 958, 1877, 1877, 1877, 957, 1858, 1878, 1878, 1878, 1879,
2806 1879, 1879, 956, 1879, 951, 950, 1879, 949, 1844, 1877,
2807 1880, 1880, 1880, 1878, 1881, 1881, 1881, 1882, 1882, 1882,
2808 1883, 1883, 1883, 948, 1883, 947, 946, 1883, 1884, 1884,
2810 1884, 1881, 1884, 936, 1882, 1884, 1890, 1890, 1890, 935,
2811 1890, 934, 1877, 1890, 1894, 1894, 1894, 1895, 1895, 1895,
2812 933, 1895, 928, 927, 1895, 1896, 1896, 1896, 922, 1896,
2813 1881, 1894, 1896, 1899, 1899, 1899, 1900, 1900, 1900, 921,
2814 1900, 920, 919, 1900, 1902, 1902, 1902, 1904, 1904, 1904,
2815 1899, 1904, 918, 917, 1904, 1907, 1907, 1907, 1908, 1908,
2816 1908, 1902, 1908, 916, 915, 1908, 1909, 1909, 1909, 1910,
2817 1910, 1910, 1907, 1910, 914, 909, 1910, 1917, 1917, 1917,
2818 1918, 1918, 1918, 1909, 1918, 905, 900, 1918, 1923, 1923,
2819 1923, 1924, 1924, 1924, 898, 1917, 1927, 1927, 1927, 892,
2821 1927, 890, 881, 1927, 876, 1923, 1923, 1938, 1938, 1938,
2822 865, 1947, 1947, 1947, 1948, 1948, 1948, 863, 1948, 862,
2823 861, 1948, 859, 858, 1938, 1951, 1951, 1951, 1917, 1947,
2824 1952, 1952, 1952, 1953, 1953, 1953, 857, 1953, 856, 855,
2825 1953, 1955, 1955, 1955, 853, 1955, 852, 1952, 1955, 1962,
2826 1962, 1962, 851, 1962, 850, 849, 1962, 1965, 1965, 1965,
2827 1947, 1965, 848, 847, 1965, 1969, 1969, 1969, 1970, 1970,
2828 1970, 846, 1970, 845, 844, 1970, 1972, 1972, 1972, 838,
2829 1972, 837, 1969, 1972, 1975, 1975, 1975, 836, 1975, 833,
2830 832, 1975, 1984, 1984, 1984, 1986, 1986, 1986, 1987, 1987,
2832 1987, 1988, 1988, 1988, 831, 1988, 829, 825, 1988, 822,
2833 1984, 813, 1986, 1986, 812, 1987, 1987, 809, 808, 1988,
2834 1989, 1989, 1989, 1990, 1990, 1990, 1999, 1999, 1999, 2000,
2835 2000, 2000, 807, 2000, 806, 796, 2000, 2009, 2009, 2009,
2836 2010, 2010, 2010, 1999, 2010, 789, 781, 2010, 2016, 2016,
2837 2016, 2018, 2018, 2018, 780, 2009, 2019, 2019, 2019, 779,
2838 2019, 776, 771, 2019, 768, 2016, 767, 763, 2018, 2022,
2839 2022, 2022, 2037, 2037, 2037, 2040, 2040, 2040, 2041, 2041,
2840 2041, 761, 2041, 758, 757, 2041, 2022, 2042, 2042, 2042,
2841 2037, 2042, 2040, 2040, 2042, 756, 2041, 2045, 2045, 2045,
2843 755, 754, 2009, 753, 749, 2042, 2043, 2043, 2043, 2043,
2844 2043, 2043, 2043, 2043, 2043, 745, 742, 2043, 2046, 2046,
2845 2046, 741, 2043, 2043, 2043, 2043, 2043, 2055, 2055, 2055,
2846 738, 2055, 737, 736, 2055, 2069, 2069, 2069, 735, 2069,
2847 734, 732, 2069, 731, 2064, 2064, 2064, 730, 2068, 2068,
2848 2068, 2043, 2043, 2044, 2044, 2044, 2044, 2044, 2044, 2044,
2849 2044, 2044, 2064, 729, 2044, 2068, 2071, 2071, 2071, 2044,
2850 2044, 2044, 2044, 2044, 2072, 2072, 2072, 725, 2072, 722,
2851 719, 2072, 718, 2071, 2073, 2073, 2073, 2074, 2074, 2074,
2852 717, 2074, 716, 713, 2074, 2107, 2107, 2107, 2044, 2044,
2854 712, 2073, 2088, 2088, 2088, 711, 2088, 709, 705, 2088,
2855 2112, 2112, 2112, 2107, 2112, 701, 700, 2112, 697, 694,
2856 2088, 2091, 2091, 2091, 2091, 2091, 2091, 2091, 2091, 2091,
2857 693, 692, 2091, 691, 690, 689, 687, 2091, 2091, 2091,
2858 2091, 2091, 2116, 2116, 2116, 686, 2116, 685, 684, 2116,
2859 2119, 2119, 2119, 683, 2119, 682, 681, 2119, 680, 2140,
2860 2140, 2140, 679, 2149, 2149, 2149, 2091, 2091, 2092, 2092,
2861 2092, 2092, 2092, 2092, 2092, 2092, 2092, 2140, 2140, 2092,
2862 2149, 2150, 2150, 2150, 2092, 2092, 2092, 2092, 2092, 2151,
2863 2151, 2151, 2156, 2156, 2156, 2174, 2174, 2174, 2150, 2165,
2865 2165, 2165, 2169, 2169, 2169, 678, 2151, 677, 676, 2156,
2866 675, 674, 2174, 2092, 2092, 673, 669, 2165, 668, 666,
2867 2169, 2175, 2175, 2175, 665, 2175, 664, 663, 2175, 2176,
2868 2176, 2176, 2177, 2177, 2177, 662, 2177, 658, 656, 2177,
2869 2178, 2178, 2178, 2179, 2179, 2179, 2176, 2179, 655, 654,
2870 2179, 653, 649, 2169, 2186, 2186, 2186, 2178, 2187, 2187,
2871 2187, 645, 2187, 644, 641, 2187, 2194, 2194, 2194, 640,
2872 639, 2186, 2200, 2200, 2200, 638, 2200, 637, 636, 2200,
2873 633, 2203, 2203, 2203, 2194, 2203, 632, 631, 2203, 2206,
2874 2206, 2206, 630, 2206, 627, 625, 2206, 2215, 2215, 2215,
2876 622, 2215, 621, 2194, 2215, 2310, 2310, 2310, 2319, 2319,
2877 2319, 620, 2319, 619, 618, 2319, 2420, 2420, 2420, 2421,
2878 2421, 2421, 615, 2310, 614, 613, 2319, 612, 611, 608,
2879 607, 606, 605, 603, 2420, 600, 598, 2421, 2424, 2424,
2880 2424, 2424, 2424, 2424, 2424, 2424, 2424, 2425, 2425, 2425,
2881 2425, 2425, 2425, 2425, 2425, 2425, 2426, 2426, 2426, 2426,
2882 2426, 2426, 2426, 2426, 2426, 2427, 2427, 2427, 2427, 2427,
2883 2427, 2427, 2427, 2427, 2428, 2428, 2428, 2428, 2428, 2428,
2884 2428, 2428, 2428, 2429, 2429, 2429, 2429, 2429, 2429, 2429,
2885 2429, 2429, 2430, 2430, 2430, 2430, 2430, 2430, 2430, 2430,
2887 2430, 2431, 2431, 2431, 2431, 2431, 2431, 2431, 2431, 2431,
2888 2432, 2432, 2432, 2432, 2432, 2432, 2432, 2432, 2432, 2433,
2889 2433, 2433, 2433, 2433, 2433, 2433, 2433, 2433, 2434, 2434,
2890 2434, 2434, 2434, 2434, 2434, 2434, 2434, 2435, 2435, 2435,
2891 2435, 2435, 2435, 2435, 2435, 2435, 2436, 2436, 2436, 2436,
2892 2436, 2436, 2436, 2436, 2436, 2437, 2437, 2437, 2437, 2437,
2893 2437, 2437, 2437, 2437, 2438, 2438, 2438, 2438, 2438, 2438,
2894 2438, 2438, 2438, 2439, 2439, 2439, 2439, 2439, 2439, 2439,
2895 2439, 2439, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440,
2896 2440, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441,
2898 2442, 2442, 2442, 2442, 2442, 2442, 2442, 2442, 2442, 2443,
2899 2443, 2443, 2443, 2443, 2443, 2443, 2443, 2443, 2444, 2444,
2900 2444, 2444, 2444, 2444, 2444, 2444, 2444, 2445, 2445, 2445,
2901 2445, 2445, 2445, 2445, 2445, 2445, 2446, 2446, 2446, 2446,
2902 2446, 2446, 2446, 2446, 2446, 2447, 2447, 2447, 2447, 2447,
2903 2447, 2447, 2447, 2447, 2448, 2448, 2448, 2448, 2448, 2448,
2904 2448, 2448, 2448, 2449, 2449, 2449, 2449, 2449, 2449, 2449,
2905 2449, 2449, 2450, 2450, 2450, 2450, 2450, 2450, 2450, 2450,
2906 2450, 2451, 2451, 2451, 2451, 2451, 2451, 2451, 2451, 2451,
2907 2452, 2452, 2452, 2452, 2452, 2452, 2452, 2452, 2452, 2453,
2909 2453, 2453, 2453, 2453, 2453, 2453, 2453, 2453, 2454, 2454,
2910 2454, 2454, 2454, 2454, 2454, 2454, 2454, 2455, 2455, 2455,
2911 2455, 2455, 2455, 2455, 2455, 2455, 2456, 2456, 2456, 2456,
2912 2456, 2456, 2456, 2456, 2456, 2457, 2457, 2457, 2457, 2457,
2913 2457, 2457, 2457, 2457, 2458, 2458, 2458, 2458, 2458, 2458,
2914 2458, 2458, 2458, 2459, 2459, 2459, 2459, 2459, 2459, 2459,
2915 2459, 2459, 2460, 2460, 2460, 2460, 2460, 2460, 2460, 2460,
2916 2460, 2461, 2461, 2461, 2461, 2461, 2461, 2461, 2461, 2461,
2917 2462, 2462, 2462, 2462, 2462, 2462, 2462, 2462, 2462, 2463,
2918 2463, 2463, 2463, 2463, 2463, 2463, 2463, 2463, 2464, 2464,
2920 2464, 2464, 2464, 2464, 2464, 2464, 2464, 2465, 2465, 2465,
2921 2465, 2465, 2465, 2465, 2465, 2465, 2466, 2466, 2466, 595,
2922 594, 593, 2466, 2467, 2467, 2467, 592, 590, 589, 2467,
2923 2468, 2468, 2468, 588, 585, 584, 2468, 2469, 2469, 2469,
2924 583, 582, 581, 2469, 2470, 2470, 2470, 580, 579, 578,
2925 2470, 2471, 2471, 2471, 576, 574, 573, 2471, 2472, 2472,
2926 2472, 570, 569, 568, 2472, 2473, 2473, 2473, 565, 560,
2927 558, 2473, 2474, 2474, 2474, 557, 556, 555, 2474, 2475,
2928 2475, 2475, 554, 553, 551, 2475, 2476, 2476, 2476, 548,
2929 547, 546, 2476, 2477, 2477, 2477, 545, 541, 540, 2477,
2931 2478, 2478, 2478, 539, 538, 537, 2478, 2479, 2479, 2479,
2932 536, 535, 533, 2479, 2480, 2480, 2480, 530, 529, 527,
2933 2480, 2481, 2481, 2481, 525, 522, 521, 2481, 2482, 2482,
2934 2482, 515, 513, 511, 2482, 2483, 2483, 2483, 508, 505,
2935 504, 2483, 2484, 2484, 2484, 503, 501, 500, 2484, 2485,
2936 2485, 2485, 2485, 2485, 2485, 2485, 499, 2485, 2486, 2486,
2937 2486, 498, 497, 494, 2486, 2487, 493, 492, 491, 2487,
2938 2488, 2488, 2488, 490, 484, 483, 2488, 2489, 481, 475,
2939 474, 2489, 2490, 2490, 2490, 470, 466, 463, 2490, 2491,
2940 459, 453, 449, 2491, 2492, 2492, 2492, 441, 440, 439,
2942 2492, 2493, 438, 434, 430, 2493, 2494, 2494, 2494, 427,
2943 426, 425, 2494, 2495, 421, 415, 414, 2495, 2496, 2496,
2944 2496, 410, 406, 402, 2496, 2497, 401, 397, 394, 2497,
2945 2498, 2498, 2498, 393, 388, 384, 2498, 2499, 380, 376,
2946 375, 2499, 2500, 2500, 2500, 374, 370, 364, 2500, 2501,
2947 363, 359, 353, 2501, 2502, 2502, 2502, 352, 351, 350,
2948 2502, 2503, 349, 348, 347, 2503, 2504, 2504, 2504, 343,
2949 336, 334, 2504, 2505, 333, 332, 330, 2505, 2506, 2506,
2950 2506, 326, 322, 319, 2506, 2507, 318, 317, 316, 2507,
2951 2508, 2508, 2508, 315, 311, 307, 2508, 2509, 301, 299,
2953 294, 2509, 2510, 2510, 2510, 293, 292, 288, 2510, 2511,
2954 282, 281, 280, 2511, 2512, 2512, 2512, 276, 273, 272,
2955 2512, 2513, 267, 265, 264, 2513, 2514, 2514, 2514, 260,
2956 257, 255, 2514, 2515, 254, 253, 249, 2515, 2516, 2516,
2957 2516, 243, 239, 235, 2516, 2517, 227, 223, 219, 2517,
2958 2518, 2518, 2518, 218, 217, 211, 2518, 2519, 210, 208,
2959 205, 2519, 2520, 2520, 2520, 193, 0, 0, 2520, 2521,
2960 0, 0, 0, 2521, 2522, 2522, 2522, 0, 0, 0,
2961 2522, 2523, 0, 0, 0, 2523, 2524, 2524, 2524, 2524,
2962 2524, 2524, 2524, 2524, 2524, 2525, 0, 0, 0, 0,
2964 2525, 2526, 2526, 2526, 0, 0, 0, 2526, 2527, 2527,
2965 2527, 2527, 0, 0, 2527, 2527, 2528, 2528, 2528, 0,
2966 0, 0, 2528, 2529, 2529, 2529, 2529, 0, 0, 2529,
2967 2529, 2530, 2530, 2530, 0, 0, 0, 2530, 2531, 2531,
2968 2531, 2531, 0, 0, 2531, 2531, 2532, 2532, 2532, 0,
2969 0, 0, 2532, 2533, 2533, 2533, 2533, 0, 0, 2533,
2970 2533, 2534, 2534, 2534, 0, 0, 0, 2534, 2535, 2535,
2971 2535, 2535, 0, 0, 2535, 2535, 2536, 2536, 2536, 0,
2972 0, 0, 2536, 2537, 2537, 2537, 2537, 0, 0, 2537,
2973 2537, 2538, 2538, 2538, 0, 0, 0, 2538, 2539, 2539,
2975 2539, 2539, 0, 0, 2539, 2539, 2540, 2540, 2540, 0,
2976 0, 0, 2540, 2541, 2541, 2541, 2541, 0, 0, 2541,
2977 2541, 2542, 2542, 2542, 0, 0, 0, 2542, 2543, 2543,
2978 2543, 2543, 0, 0, 2543, 2543, 2544, 2544, 2544, 0,
2979 0, 0, 2544, 2545, 2545, 2545, 2545, 0, 0, 2545,
2980 2545, 2546, 2546, 2546, 0, 0, 0, 2546, 2547, 2547,
2981 2547, 2547, 0, 0, 2547, 2547, 2548, 2548, 2548, 2548,
2982 0, 2548, 0, 2548, 2549, 2549, 2549, 2549, 0, 0,
2983 2549, 2549, 2550, 2550, 2550, 2550, 0, 2550, 0, 2550,
2984 2551, 2551, 2551, 2551, 0, 0, 2551, 2551, 2552, 2552,
2986 2552, 0, 0, 0, 2552, 2553, 2553, 2553, 2553, 0,
2987 0, 2553, 2553, 2554, 2554, 2554, 2554, 0, 2554, 0,
2988 2554, 2555, 2555, 2555, 2555, 0, 0, 2555, 2555, 2556,
2989 2556, 2556, 0, 0, 0, 2556, 2557, 2557, 2557, 2557,
2990 0, 0, 2557, 2557, 2558, 2558, 2558, 0, 0, 0,
2991 2558, 2559, 2559, 2559, 2559, 0, 0, 2559, 2559, 2560,
2992 2560, 2560, 2560, 0, 0, 2560, 2560, 2561, 2561, 2561,
2993 0, 0, 0, 2561, 2562, 2562, 2562, 2562, 0, 0,
2994 2562, 2562, 2563, 2563, 2563, 2563, 2563, 2563, 2563, 2563,
2995 2563, 2564, 0, 2564, 0, 0, 2564, 2565, 2565, 2565,
2997 0, 0, 0, 2565, 2566, 2566, 2566, 2566, 0, 0,
2998 2566, 2566, 2567, 2567, 2567, 2567, 0, 2567, 0, 2567,
2999 2568, 2568, 2568, 2568, 0, 0, 2568, 2568, 2569, 2569,
3000 2569, 2569, 0, 2569, 0, 2569, 2570, 2570, 2570, 2570,
3001 0, 0, 2570, 2570, 2571, 2571, 2571, 0, 0, 0,
3002 2571, 2572, 2572, 2572, 2572, 0, 0, 2572, 2572, 2573,
3003 2573, 2573, 0, 0, 0, 2573, 2574, 2574, 2574, 2574,
3004 0, 0, 2574, 2574, 2575, 2575, 2575, 0, 0, 0,
3005 2575, 2576, 2576, 2576, 2576, 0, 0, 2576, 2576, 2577,
3006 2577, 2577, 0, 0, 0, 2577, 2578, 2578, 2578, 2578,
3008 0, 0, 2578, 2578, 2579, 2579, 2579, 0, 0, 0,
3009 2579, 2580, 2580, 2580, 2580, 0, 0, 2580, 2580, 2581,
3010 2581, 2581, 0, 0, 0, 2581, 2582, 2582, 2582, 2582,
3011 0, 0, 2582, 2582, 2583, 2583, 2583, 0, 0, 0,
3012 2583, 2584, 2584, 2584, 2584, 0, 0, 2584, 2584, 2585,
3013 2585, 2585, 0, 0, 0, 2585, 2586, 2586, 2586, 2586,
3014 0, 0, 2586, 2586, 2587, 2587, 2587, 0, 0, 0,
3015 2587, 2588, 2588, 2588, 2588, 0, 0, 2588, 2588, 2589,
3016 2589, 2589, 0, 0, 0, 2589, 2590, 2590, 2590, 2590,
3017 0, 0, 2590, 2590, 2591, 2591, 2591, 0, 0, 0,
3019 2591, 2592, 2592, 2592, 2592, 0, 0, 2592, 2592, 2593,
3020 2593, 2593, 0, 0, 0, 2593, 2594, 2594, 2594, 2594,
3021 0, 0, 2594, 2594, 2595, 2595, 2595, 0, 0, 0,
3022 2595, 2596, 2596, 2596, 2596, 0, 0, 2596, 2596, 2597,
3023 2597, 2597, 0, 0, 0, 2597, 2598, 2598, 2598, 2598,
3024 0, 0, 2598, 2598, 2599, 2599, 2599, 2599, 0, 0,
3025 2599, 2599, 2600, 2600, 2600, 0, 0, 0, 2600, 2601,
3026 2601, 2601, 2601, 0, 0, 2601, 2601, 2602, 2602, 2602,
3027 2602, 2602, 2602, 2602, 2602, 2602, 2603, 2603, 2603, 2603,
3028 2603, 2603, 2603, 2603, 2603, 2604, 2604, 2604, 0, 0,
3030 0, 2604, 2605, 2605, 2605, 2605, 0, 0, 2605, 2605,
3031 2606, 2606, 2606, 2606, 0, 0, 2606, 2606, 2607, 2607,
3032 2607, 0, 0, 0, 2607, 2608, 2608, 2608, 2608, 0,
3033 0, 2608, 2608, 2609, 2609, 2609, 0, 0, 0, 2609,
3034 2610, 2610, 2610, 2610, 0, 0, 2610, 2610, 2611, 2611,
3035 2611, 0, 0, 0, 2611, 2612, 2612, 2612, 2612, 0,
3036 0, 2612, 2612, 2613, 2613, 2613, 0, 0, 0, 2613,
3037 2614, 2614, 2614, 0, 0, 0, 2614, 2615, 2615, 2615,
3038 2615, 0, 0, 2615, 2615, 2616, 2616, 2616, 0, 0,
3039 0, 2616, 2617, 2617, 2617, 2617, 0, 0, 2617, 2617,
3041 2618, 2618, 2618, 0, 0, 0, 2618, 2619, 2619, 2619,
3042 2619, 0, 0, 2619, 2619, 2620, 2620, 2620, 0, 0,
3043 0, 2620, 2621, 2621, 2621, 2621, 0, 0, 2621, 2621,
3044 2622, 2622, 2622, 0, 0, 0, 2622, 2623, 2623, 2623,
3045 2623, 0, 0, 2623, 2623, 2624, 2624, 2624, 0, 0,
3046 0, 2624, 2625, 2625, 2625, 2625, 0, 0, 2625, 2625,
3047 2626, 2626, 2626, 0, 0, 0, 2626, 2627, 2627, 2627,
3048 2627, 0, 0, 2627, 2627, 2628, 2628, 2628, 0, 0,
3049 0, 2628, 2629, 2629, 2629, 2629, 0, 0, 2629, 2629,
3050 2630, 2630, 2630, 0, 0, 0, 2630, 2631, 2631, 2631,
3052 2631, 0, 0, 2631, 2631, 2632, 2632, 2632, 0, 0,
3053 0, 2632, 2633, 2633, 2633, 2633, 0, 0, 2633, 2633,
3054 2634, 2634, 2634, 2634, 0, 2634, 0, 2634, 2635, 2635,
3055 2635, 2635, 0, 0, 2635, 2635, 2636, 2636, 2636, 2636,
3056 0, 0, 2636, 2636, 2637, 2637, 2637, 2637, 0, 2637,
3057 0, 2637, 2638, 2638, 2638, 2638, 0, 0, 2638, 2638,
3058 2639, 2639, 2639, 2639, 2639, 2639, 2639, 2639, 2639, 2640,
3059 2640, 2640, 2640, 2640, 2640, 2640, 2640, 2640, 2641, 2641,
3060 2641, 0, 0, 0, 2641, 2642, 2642, 2642, 2642, 0,
3061 0, 2642, 2642, 2643, 2643, 2643, 2643, 0, 0, 2643,
3063 2643, 2644, 2644, 2644, 0, 0, 0, 2644, 2645, 2645,
3064 2645, 2645, 0, 0, 2645, 2645, 2646, 2646, 2646, 0,
3065 0, 0, 2646, 2647, 2647, 2647, 2647, 0, 0, 2647,
3066 2647, 2648, 2648, 2648, 0, 0, 0, 2648, 2649, 2649,
3067 2649, 2649, 0, 0, 2649, 2649, 2650, 2650, 2650, 0,
3068 0, 0, 2650, 2651, 2651, 2651, 0, 0, 0, 2651,
3069 2652, 2652, 2652, 2652, 0, 0, 2652, 2652, 2653, 2653,
3070 2653, 0, 0, 0, 2653, 2654, 2654, 2654, 2654, 0,
3071 0, 2654, 2654, 2655, 2655, 2655, 0, 0, 0, 2655,
3072 2656, 2656, 2656, 2656, 0, 0, 2656, 2656, 2657, 2657,
3074 2657, 0, 0, 0, 2657, 2658, 2658, 2658, 2658, 0,
3075 0, 2658, 2658, 2659, 2659, 2659, 0, 0, 0, 2659,
3076 2660, 2660, 2660, 2660, 0, 0, 2660, 2660, 2661, 2661,
3077 2661, 0, 0, 0, 2661, 2662, 2662, 2662, 2662, 0,
3078 0, 2662, 2662, 2663, 2663, 2663, 2663, 0, 2663, 0,
3079 2663, 2664, 2664, 2664, 2664, 0, 0, 2664, 2664, 2665,
3080 2665, 2665, 0, 0, 0, 2665, 2666, 2666, 2666, 2666,
3081 0, 0, 2666, 2666, 2667, 2667, 2667, 2667, 0, 2667,
3082 0, 2667, 2668, 2668, 2668, 2668, 0, 0, 2668, 2668,
3083 2669, 2669, 2669, 0, 0, 0, 2669, 2670, 2670, 2670,
3085 2670, 0, 0, 2670, 2670, 2671, 2671, 2671, 2671, 0,
3086 0, 2671, 2671, 2672, 2672, 2672, 2672, 0, 0, 2672,
3087 2672, 2673, 2673, 2673, 2673, 0, 0, 2673, 2673, 2674,
3088 2674, 2674, 2674, 2674, 2674, 2674, 2674, 2674, 2675, 2675,
3089 2675, 2675, 2675, 2675, 2675, 2675, 2675, 2676, 2676, 2676,
3090 2676, 0, 2676, 0, 2676, 2677, 2677, 2677, 2677, 0,
3091 0, 2677, 2677, 2678, 2678, 2678, 2678, 0, 0, 2678,
3092 2678, 2679, 2679, 2679, 0, 0, 0, 2679, 2680, 2680,
3093 2680, 2680, 0, 0, 2680, 2680, 2681, 2681, 2681, 0,
3094 0, 0, 2681, 2682, 2682, 2682, 2682, 0, 0, 2682,
3096 2682, 2683, 2683, 2683, 2683, 0, 2683, 0, 2683, 2684,
3097 2684, 2684, 2684, 0, 0, 2684, 2684, 2685, 2685, 2685,
3098 0, 0, 0, 2685, 2686, 2686, 2686, 0, 0, 0,
3099 2686, 2687, 2687, 2687, 0, 0, 0, 2687, 2688, 2688,
3100 2688, 2688, 0, 0, 2688, 2688, 2689, 2689, 2689, 0,
3101 0, 0, 2689, 2690, 2690, 2690, 0, 0, 0, 2690,
3102 2691, 2691, 2691, 2691, 0, 0, 2691, 2691, 2692, 2692,
3103 2692, 0, 0, 0, 2692, 2693, 2693, 2693, 0, 0,
3104 0, 2693, 2694, 2694, 2694, 2694, 0, 0, 2694, 2694,
3105 2695, 2695, 2695, 0, 0, 0, 2695, 2696, 2696, 2696,
3107 2696, 0, 0, 2696, 2696, 2697, 2697, 2697, 0, 0,
3108 0, 2697, 2698, 2698, 2698, 2698, 0, 0, 2698, 2698,
3109 2699, 2699, 2699, 2699, 0, 0, 2699, 2699, 2700, 2700,
3110 2700, 0, 0, 0, 2700, 2701, 2701, 2701, 2701, 0,
3111 0, 2701, 2701, 2702, 2702, 2702, 2702, 0, 0, 2702,
3112 2702, 2703, 2703, 2703, 2703, 0, 0, 2703, 2703, 2704,
3113 2704, 2704, 2704, 2704, 2704, 2704, 2704, 2704, 2705, 2705,
3114 2705, 2705, 2705, 2705, 2705, 2705, 2705, 2706, 2706, 2706,
3115 2706, 0, 0, 2706, 2706, 2707, 2707, 2707, 2707, 0,
3116 0, 2707, 2707, 2708, 2708, 2708, 0, 0, 0, 2708,
3118 2709, 2709, 2709, 0, 0, 0, 2709, 2710, 2710, 2710,
3119 2710, 0, 0, 2710, 2710, 2711, 2711, 2711, 2711, 2711,
3120 2711, 2711, 2711, 2711, 2712, 2712, 2712, 2712, 2712, 2712,
3121 2712, 2712, 2712, 2713, 2713, 2713, 2713, 2713, 2713, 2713,
3122 2713, 2713, 2714, 2714, 2714, 2714, 2714, 2714, 2714, 2714,
3123 2714, 2715, 2715, 2715, 2715, 2715, 2715, 2715, 2715, 2715,
3124 2716, 2716, 2716, 2716, 2716, 2716, 2716, 2716, 2716, 2423,
3125 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
3126 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
3127 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
3129 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
3130 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
3131 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
3132 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
3136 /* Table of booleans, true if rule could match eol. */
3137 static yyconst flex_int32_t yy_rule_can_match_eol[406] =
3139 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1,
3140 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1,
3141 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3142 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0,
3143 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,
3144 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1,
3145 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3146 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3147 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3148 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3149 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1,
3150 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3151 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0,
3152 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1,
3153 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1,
3154 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1,
3155 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1,
3156 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0,
3157 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0,
3158 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0,
3159 1, 0, 0, 0, 1, 0, };
3161 static yy_state_type yy_last_accepting_state;
3162 static char *yy_last_accepting_cpos;
3164 extern int surf_parse__flex_debug;
3165 int surf_parse__flex_debug = 0;
3167 /* The intent behind this definition is that it'll catch
3168 * any uses of REJECT which flex missed.
3170 #define REJECT reject_used_but_not_detected
3171 #define yymore() yymore_used_but_not_detected
3172 #define YY_MORE_ADJ 0
3173 #define YY_RESTORE_YY_MORE_OFFSET
3174 char *surf_parse_text;
3175 /* Validating XML processor for src/surf/simgrid.dtd.
3176 * Generated 2011/04/07 16:42:54.
3178 * This program was generated with the FleXML XML processor generator.
3179 * FleXML is Copyright (C) 1999-2005 Kristoffer Rose. All rights reserved.
3180 * FleXML is Copyright (C) 2003-2006 Martin Quinson. All rights reserved.
3181 * (Id: flexml.pl,v 1.62 2007/10/11 10:00:14 mquinson Exp).
3183 * There are two, intertwined parts to this program, part A and part B.
3188 * Some parts, here collectively called "Part A", are found in the
3189 * FleXML package. They are Copyright (C) 1999-2005 Kristoffer Rose
3190 * and Copyright (C) 2003-2006 Martin Quinson. All rights reserved.
3192 * You can redistribute, use, perform, display and/or modify "Part A"
3193 * provided the following two conditions hold:
3195 * 1. The program is distributed WITHOUT ANY WARRANTY from the author of
3196 * FleXML; without even the implied warranty of MERCHANTABILITY or
3197 * FITNESS FOR A PARTICULAR PURPOSE.
3199 * 2. The program distribution conditions do not in any way affect the
3200 * distribution conditions of the FleXML system used to generate this
3201 * file or any version of FleXML derived from that system.
3203 * Notice that these are explicit rights granted to you for files
3204 * generated by the FleXML system. For your rights in connection with
3205 * the FleXML system itself please consult the GNU General Public License.
3210 * The other parts, here collectively called "Part B", and which came
3211 * from the DTD used by FleXML to generate this program, can be
3212 * distributed (or not, as the case may be) under the terms of whoever
3213 * wrote them, provided these terms respect and obey the two conditions
3214 * above under the heading "Part A".
3216 * The author of and contributors to FleXML specifically disclaim
3217 * any copyright interest in "Part B", unless "Part B" was written
3218 * by the author of or contributors to FleXML.
3222 /* Version strings. */
3223 const char rcs_surfxml_flexml_skeleton[] =
3224 "$" "Id: skel,v 1.40 2007/10/11 09:57:24 mquinson Exp $";
3225 const char rcs_surfxml_flexml[] =
3226 "$" "Id: flexml.pl,v 1.62 2007/10/11 10:00:14 mquinson Exp $";
3229 #include <stdlib.h> /* for realloc() -- needed here when using flex 2.5.4 */
3236 #if defined(_XBT_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__TOS_WIN__)
3237 # ifndef __STRICT_ANSI__
3239 # include <process.h>
3242 # include <unistd.h>
3245 #ifndef FLEXML_INDEXSTACKSIZE
3246 #define FLEXML_INDEXSTACKSIZE 1000
3249 /* Generated definitions. */
3250 #define FLEXML_yylineno
3251 #ifndef FLEXML_BUFFERSTACKSIZE
3252 #define FLEXML_BUFFERSTACKSIZE 1000000
3254 #define FLEXML_NEED_BUFFERLIT
3256 /* XML processor api. */
3257 /* FleXML-provided data. */
3258 int surfxml_pcdata_ix;
3259 extern char *surfxml_bufferstack;
3260 #define surfxml_pcdata (surfxml_bufferstack + surfxml_pcdata_ix)
3261 AT_surfxml_random_generator AX_surfxml_random_generator;
3262 #define A_surfxml_random_generator AX_surfxml_random_generator
3263 AT_surfxml_ASroute_gw_dst AX_surfxml_ASroute_gw_dst;
3264 #define A_surfxml_ASroute_gw_dst (surfxml_bufferstack + AX_surfxml_ASroute_gw_dst)
3265 AT_surfxml_trace_connect_element AX_surfxml_trace_connect_element;
3266 #define A_surfxml_trace_connect_element (surfxml_bufferstack + AX_surfxml_trace_connect_element)
3267 AT_surfxml_prop_id AX_surfxml_prop_id;
3268 #define A_surfxml_prop_id (surfxml_bufferstack + AX_surfxml_prop_id)
3269 AT_surfxml_host_id AX_surfxml_host_id;
3270 #define A_surfxml_host_id (surfxml_bufferstack + AX_surfxml_host_id)
3271 AT_surfxml_ASroute_symmetrical AX_surfxml_ASroute_symmetrical;
3272 #define A_surfxml_ASroute_symmetrical AX_surfxml_ASroute_symmetrical
3273 AT_surfxml_peer_lat AX_surfxml_peer_lat;
3274 #define A_surfxml_peer_lat (surfxml_bufferstack + AX_surfxml_peer_lat)
3275 AT_surfxml_link_latency_file AX_surfxml_link_latency_file;
3276 #define A_surfxml_link_latency_file (surfxml_bufferstack + AX_surfxml_link_latency_file)
3277 AT_surfxml_peer_availability_file AX_surfxml_peer_availability_file;
3278 #define A_surfxml_peer_availability_file (surfxml_bufferstack + AX_surfxml_peer_availability_file)
3279 AT_surfxml_link_ctn_direction AX_surfxml_link_ctn_direction;
3280 #define A_surfxml_link_ctn_direction AX_surfxml_link_ctn_direction
3281 AT_surfxml_host_state AX_surfxml_host_state;
3282 #define A_surfxml_host_state AX_surfxml_host_state
3283 AT_surfxml_AS_id AX_surfxml_AS_id;
3284 #define A_surfxml_AS_id (surfxml_bufferstack + AX_surfxml_AS_id)
3285 AT_surfxml_host_power AX_surfxml_host_power;
3286 #define A_surfxml_host_power (surfxml_bufferstack + AX_surfxml_host_power)
3287 AT_surfxml_router_id AX_surfxml_router_id;
3288 #define A_surfxml_router_id (surfxml_bufferstack + AX_surfxml_router_id)
3289 AT_surfxml_process_start_time AX_surfxml_process_start_time;
3290 #define A_surfxml_process_start_time (surfxml_bufferstack + AX_surfxml_process_start_time)
3291 AT_surfxml_cluster_suffix AX_surfxml_cluster_suffix;
3292 #define A_surfxml_cluster_suffix (surfxml_bufferstack + AX_surfxml_cluster_suffix)
3293 AT_surfxml_ASroute_src AX_surfxml_ASroute_src;
3294 #define A_surfxml_ASroute_src (surfxml_bufferstack + AX_surfxml_ASroute_src)
3295 AT_surfxml_cluster_prefix AX_surfxml_cluster_prefix;
3296 #define A_surfxml_cluster_prefix (surfxml_bufferstack + AX_surfxml_cluster_prefix)
3297 AT_surfxml_trace_file AX_surfxml_trace_file;
3298 #define A_surfxml_trace_file (surfxml_bufferstack + AX_surfxml_trace_file)
3299 AT_surfxml_link_sharing_policy AX_surfxml_link_sharing_policy;
3300 #define A_surfxml_link_sharing_policy AX_surfxml_link_sharing_policy
3301 AT_surfxml_random_min AX_surfxml_random_min;
3302 #define A_surfxml_random_min (surfxml_bufferstack + AX_surfxml_random_min)
3303 AT_surfxml_link_ctn_id AX_surfxml_link_ctn_id;
3304 #define A_surfxml_link_ctn_id (surfxml_bufferstack + AX_surfxml_link_ctn_id)
3305 AT_surfxml_peer_bw_out AX_surfxml_peer_bw_out;
3306 #define A_surfxml_peer_bw_out (surfxml_bufferstack + AX_surfxml_peer_bw_out)
3307 AT_surfxml_cluster_availability_file AX_surfxml_cluster_availability_file;
3308 #define A_surfxml_cluster_availability_file (surfxml_bufferstack + AX_surfxml_cluster_availability_file)
3309 AT_surfxml_process_kill_time AX_surfxml_process_kill_time;
3310 #define A_surfxml_process_kill_time (surfxml_bufferstack + AX_surfxml_process_kill_time)
3311 AT_surfxml_cluster_bb_bw AX_surfxml_cluster_bb_bw;
3312 #define A_surfxml_cluster_bb_bw (surfxml_bufferstack + AX_surfxml_cluster_bb_bw)
3313 AT_surfxml_argument_value AX_surfxml_argument_value;
3314 #define A_surfxml_argument_value (surfxml_bufferstack + AX_surfxml_argument_value)
3315 AT_surfxml_link_state AX_surfxml_link_state;
3316 #define A_surfxml_link_state AX_surfxml_link_state
3317 AT_surfxml_ASroute_gw_src AX_surfxml_ASroute_gw_src;
3318 #define A_surfxml_ASroute_gw_src (surfxml_bufferstack + AX_surfxml_ASroute_gw_src)
3319 AT_surfxml_AS_routing AX_surfxml_AS_routing;
3320 #define A_surfxml_AS_routing (surfxml_bufferstack + AX_surfxml_AS_routing)
3321 AT_surfxml_link_bandwidth AX_surfxml_link_bandwidth;
3322 #define A_surfxml_link_bandwidth (surfxml_bufferstack + AX_surfxml_link_bandwidth)
3323 AT_surfxml_cluster_id AX_surfxml_cluster_id;
3324 #define A_surfxml_cluster_id (surfxml_bufferstack + AX_surfxml_cluster_id)
3325 AT_surfxml_peer_bw_in AX_surfxml_peer_bw_in;
3326 #define A_surfxml_peer_bw_in (surfxml_bufferstack + AX_surfxml_peer_bw_in)
3327 AT_surfxml_random_mean AX_surfxml_random_mean;
3328 #define A_surfxml_random_mean (surfxml_bufferstack + AX_surfxml_random_mean)
3329 AT_surfxml_cluster_bb_lat AX_surfxml_cluster_bb_lat;
3330 #define A_surfxml_cluster_bb_lat (surfxml_bufferstack + AX_surfxml_cluster_bb_lat)
3331 AT_surfxml_link_latency AX_surfxml_link_latency;
3332 #define A_surfxml_link_latency (surfxml_bufferstack + AX_surfxml_link_latency)
3333 AT_surfxml_trace_connect_kind AX_surfxml_trace_connect_kind;
3334 #define A_surfxml_trace_connect_kind AX_surfxml_trace_connect_kind
3335 AT_surfxml_random_seed AX_surfxml_random_seed;
3336 #define A_surfxml_random_seed (surfxml_bufferstack + AX_surfxml_random_seed)
3337 AT_surfxml_cluster_state_file AX_surfxml_cluster_state_file;
3338 #define A_surfxml_cluster_state_file (surfxml_bufferstack + AX_surfxml_cluster_state_file)
3339 AT_surfxml_link_bandwidth_file AX_surfxml_link_bandwidth_file;
3340 #define A_surfxml_link_bandwidth_file (surfxml_bufferstack + AX_surfxml_link_bandwidth_file)
3341 AT_surfxml_route_symmetrical AX_surfxml_route_symmetrical;
3342 #define A_surfxml_route_symmetrical AX_surfxml_route_symmetrical
3343 AT_surfxml_random_id AX_surfxml_random_id;
3344 #define A_surfxml_random_id (surfxml_bufferstack + AX_surfxml_random_id)
3345 AT_surfxml_random_max AX_surfxml_random_max;
3346 #define A_surfxml_random_max (surfxml_bufferstack + AX_surfxml_random_max)
3347 AT_surfxml_link_id AX_surfxml_link_id;
3348 #define A_surfxml_link_id (surfxml_bufferstack + AX_surfxml_link_id)
3349 AT_surfxml_process_host AX_surfxml_process_host;
3350 #define A_surfxml_process_host (surfxml_bufferstack + AX_surfxml_process_host)
3351 AT_surfxml_host_availability_file AX_surfxml_host_availability_file;
3352 #define A_surfxml_host_availability_file (surfxml_bufferstack + AX_surfxml_host_availability_file)
3353 AT_surfxml_cluster_lat AX_surfxml_cluster_lat;
3354 #define A_surfxml_cluster_lat (surfxml_bufferstack + AX_surfxml_cluster_lat)
3355 AT_surfxml_trace_periodicity AX_surfxml_trace_periodicity;
3356 #define A_surfxml_trace_periodicity (surfxml_bufferstack + AX_surfxml_trace_periodicity)
3357 AT_surfxml_cluster_bb_sharing_policy AX_surfxml_cluster_bb_sharing_policy;
3358 #define A_surfxml_cluster_bb_sharing_policy AX_surfxml_cluster_bb_sharing_policy
3359 AT_surfxml_router_coordinates AX_surfxml_router_coordinates;
3360 #define A_surfxml_router_coordinates (surfxml_bufferstack + AX_surfxml_router_coordinates)
3361 AT_surfxml_peer_coordinates AX_surfxml_peer_coordinates;
3362 #define A_surfxml_peer_coordinates (surfxml_bufferstack + AX_surfxml_peer_coordinates)
3363 AT_surfxml_peer_state_file AX_surfxml_peer_state_file;
3364 #define A_surfxml_peer_state_file (surfxml_bufferstack + AX_surfxml_peer_state_file)
3365 AT_surfxml_prop_value AX_surfxml_prop_value;
3366 #define A_surfxml_prop_value (surfxml_bufferstack + AX_surfxml_prop_value)
3367 AT_surfxml_ASroute_dst AX_surfxml_ASroute_dst;
3368 #define A_surfxml_ASroute_dst (surfxml_bufferstack + AX_surfxml_ASroute_dst)
3369 AT_surfxml_random_radical AX_surfxml_random_radical;
3370 #define A_surfxml_random_radical (surfxml_bufferstack + AX_surfxml_random_radical)
3371 AT_surfxml_link_state_file AX_surfxml_link_state_file;
3372 #define A_surfxml_link_state_file (surfxml_bufferstack + AX_surfxml_link_state_file)
3373 AT_surfxml_trace_connect_trace AX_surfxml_trace_connect_trace;
3374 #define A_surfxml_trace_connect_trace (surfxml_bufferstack + AX_surfxml_trace_connect_trace)
3375 AT_surfxml_cluster_power AX_surfxml_cluster_power;
3376 #define A_surfxml_cluster_power (surfxml_bufferstack + AX_surfxml_cluster_power)
3377 AT_surfxml_process_function AX_surfxml_process_function;
3378 #define A_surfxml_process_function (surfxml_bufferstack + AX_surfxml_process_function)
3379 AT_surfxml_peer_id AX_surfxml_peer_id;
3380 #define A_surfxml_peer_id (surfxml_bufferstack + AX_surfxml_peer_id)
3381 AT_surfxml_cluster_sharing_policy AX_surfxml_cluster_sharing_policy;
3382 #define A_surfxml_cluster_sharing_policy AX_surfxml_cluster_sharing_policy
3383 AT_surfxml_bypassRoute_dst AX_surfxml_bypassRoute_dst;
3384 #define A_surfxml_bypassRoute_dst (surfxml_bufferstack + AX_surfxml_bypassRoute_dst)
3385 AT_surfxml_host_core AX_surfxml_host_core;
3386 #define A_surfxml_host_core (surfxml_bufferstack + AX_surfxml_host_core)
3387 AT_surfxml_host_availability AX_surfxml_host_availability;
3388 #define A_surfxml_host_availability (surfxml_bufferstack + AX_surfxml_host_availability)
3389 AT_surfxml_bypassRoute_src AX_surfxml_bypassRoute_src;
3390 #define A_surfxml_bypassRoute_src (surfxml_bufferstack + AX_surfxml_bypassRoute_src)
3391 AT_surfxml_route_src AX_surfxml_route_src;
3392 #define A_surfxml_route_src (surfxml_bufferstack + AX_surfxml_route_src)
3393 AT_surfxml_bypassRoute_gw_dst AX_surfxml_bypassRoute_gw_dst;
3394 #define A_surfxml_bypassRoute_gw_dst (surfxml_bufferstack + AX_surfxml_bypassRoute_gw_dst)
3395 AT_surfxml_host_coordinates AX_surfxml_host_coordinates;
3396 #define A_surfxml_host_coordinates (surfxml_bufferstack + AX_surfxml_host_coordinates)
3397 AT_surfxml_trace_id AX_surfxml_trace_id;
3398 #define A_surfxml_trace_id (surfxml_bufferstack + AX_surfxml_trace_id)
3399 AT_surfxml_peer_power AX_surfxml_peer_power;
3400 #define A_surfxml_peer_power (surfxml_bufferstack + AX_surfxml_peer_power)
3401 AT_surfxml_cluster_radical AX_surfxml_cluster_radical;
3402 #define A_surfxml_cluster_radical (surfxml_bufferstack + AX_surfxml_cluster_radical)
3403 AT_surfxml_config_id AX_surfxml_config_id;
3404 #define A_surfxml_config_id (surfxml_bufferstack + AX_surfxml_config_id)
3405 AT_surfxml_bypassRoute_gw_src AX_surfxml_bypassRoute_gw_src;
3406 #define A_surfxml_bypassRoute_gw_src (surfxml_bufferstack + AX_surfxml_bypassRoute_gw_src)
3407 AT_surfxml_include_file AX_surfxml_include_file;
3408 #define A_surfxml_include_file (surfxml_bufferstack + AX_surfxml_include_file)
3409 AT_surfxml_random_std_deviation AX_surfxml_random_std_deviation;
3410 #define A_surfxml_random_std_deviation (surfxml_bufferstack + AX_surfxml_random_std_deviation)
3411 AT_surfxml_cluster_core AX_surfxml_cluster_core;
3412 #define A_surfxml_cluster_core (surfxml_bufferstack + AX_surfxml_cluster_core)
3413 AT_surfxml_host_state_file AX_surfxml_host_state_file;
3414 #define A_surfxml_host_state_file (surfxml_bufferstack + AX_surfxml_host_state_file)
3415 AT_surfxml_AS_coordinates AX_surfxml_AS_coordinates;
3416 #define A_surfxml_AS_coordinates (surfxml_bufferstack + AX_surfxml_AS_coordinates)
3417 AT_surfxml_route_dst AX_surfxml_route_dst;
3418 #define A_surfxml_route_dst (surfxml_bufferstack + AX_surfxml_route_dst)
3419 AT_surfxml_cluster_bw AX_surfxml_cluster_bw;
3420 #define A_surfxml_cluster_bw (surfxml_bufferstack + AX_surfxml_cluster_bw)
3421 AT_surfxml_platform_version AX_surfxml_platform_version;
3422 #define A_surfxml_platform_version (surfxml_bufferstack + AX_surfxml_platform_version)
3426 # define ENTER(state) debug_enter(state,#state)
3427 # define LEAVE debug_leave()
3428 # define SET(state) debug_set(state,#state)
3429 static void debug_enter(int, const char*);
3430 static void debug_leave(void);
3431 static void debug_set(int, const char*);
3433 # define ENTER(state) (yy_push_state(state))
3434 # define LEAVE (yy_pop_state())
3435 # define SET(state) BEGIN(state)
3438 /* Generic actions. */
3439 #define SKIP /*skip*/
3440 #define SUCCEED CLEANUP; return 0
3442 #define FAIL return fail
3443 static int fail(const char*, ...);
3445 enum {flexml_max_err_msg_size = 512};
3446 static char flexml_err_msg[flexml_max_err_msg_size];
3447 const char * surfxml_parse_err_msg()
3449 return flexml_err_msg;
3451 static void reset_surfxml_parse_err_msg()
3453 flexml_err_msg[0] = '\0';
3457 static void cleanup(void);
3458 #define CLEANUP cleanup()
3460 /* Text buffer stack handling. */
3461 char *surfxml_bufferstack = NULL;
3462 static int blimit = FLEXML_BUFFERSTACKSIZE;
3463 static int bnext = 1;
3465 static int *indexstack = NULL;
3466 static int ilimit = FLEXML_INDEXSTACKSIZE;
3467 static int inext = 1;
3469 #define BUFFERSET(P) (P = bnext)
3470 #define BUFFERPUTC(C) (ck_blimit(), surfxml_bufferstack[bnext++] = (C))
3471 #define BUFFERDONE (BUFFERPUTC('\0'))
3473 #define BUFFERLITERAL(C, P) surfxml_bufferliteral(C, &(P), surf_parse_text)
3475 /* after this is called, there are at least 2 slots left in the stack */
3476 static int ck_blimit()
3478 if (bnext >= blimit) {
3479 blimit += FLEXML_BUFFERSTACKSIZE + 2;
3481 char *temp = (char *) realloc(surfxml_bufferstack, blimit);
3483 surfxml_bufferstack = temp;
3489 /* after this is called, there are at least 2 slots left in the stack */
3490 static int ck_ilimit()
3492 if (inext >= ilimit) {
3493 ilimit += FLEXML_INDEXSTACKSIZE + 2;
3495 int *temp = (int *) realloc(indexstack, ilimit);
3503 #ifdef FLEXML_NEED_BUFFERLIT
3504 static void surfxml_bufferliteral(char c, int* pp, const char* text)
3506 const char *s = (c ? strchr(text,c) : text-1), *e = strrchr(text,c);
3507 assert(s <= e); BUFFERSET(*pp);
3509 if (isspace(*s) && c) { BUFFERPUTC(' '); while (isspace(*s)) ++s; }
3510 else BUFFERPUTC(*s);
3516 static void pushbuffer(int p)
3519 indexstack[inext++] = p;
3520 indexstack[inext++] = bnext;
3523 static int popbuffer(void)
3526 bnext = indexstack[--inext];
3527 return indexstack[--inext];
3530 /* General internal entities are `unput' back onto the input stream... */
3531 #define ENTITYTEXT(T) \
3532 { char *s = (T), *e = s+strlen(s);\
3533 while (--e >= s) { unput(*e); }}
3535 /* Flex standard options. */
3536 #define YY_NO_INPUT 1
3537 /* Flex user-requested options. */
3538 /* XML character classes (currently restricted to ASCII). */
3539 /* "Common syntactic structures." */
3540 /* "Names and Tokens." */
3541 /* Miscellaneous. */
3542 /* Parser states (flex `exclusive start conditions'):
3544 * PROLOG the XML prolog of the document before <?xml...>
3545 * DOCTYPE the XML prolog of the document after <?xml...>
3546 * EPILOG after the root element
3547 * INCOMMENT inside an XML comment <!--....-->
3548 * INPI inside an XML PI <?...?>
3549 * VALUE1 inside a '...'-delimited literal
3550 * VALUE2 inside a "..."-delimited literal
3551 * CDATA inside a <![CDATA[...] ]> section.
3552 * ROOT_<tag> expect root element <tag>
3553 * AL_<tag> inside the attribute list for <tag>
3554 * IN_<tag> inside a <tag> with element contents (ready for end tag)
3555 * IMPOSSIBLE dummy to permit disabling rules; must be last
3559 const char* *surfxml_statenames=NULL;
3570 #define ROOT_surfxml_platform 9
3571 #define AL_surfxml_platform 10
3572 #define S_surfxml_platform 11
3573 #define S_surfxml_platform_1 12
3574 #define S_surfxml_platform_2 13
3575 #define S_surfxml_platform_3 14
3576 #define S_surfxml_platform_4 15
3577 #define S_surfxml_platform_5 16
3578 #define S_surfxml_platform_6 17
3579 #define S_surfxml_platform_7 18
3580 #define S_surfxml_platform_8 19
3581 #define E_surfxml_platform 20
3582 #define AL_surfxml_include 21
3583 #define E_surfxml_include 22
3584 #define AL_surfxml_trace 23
3586 #define AL_surfxml_random 25
3587 #define S_surfxml_random 26
3588 #define S_surfxml_random_1 27
3589 #define S_surfxml_random_2 28
3590 #define E_surfxml_random 29
3591 #define AL_surfxml_trace_connect 30
3592 #define E_surfxml_trace_connect 31
3593 #define AL_surfxml_AS 32
3594 #define S_surfxml_AS 33
3595 #define S_surfxml_AS_1 34
3596 #define S_surfxml_AS_2 35
3597 #define S_surfxml_AS_3 36
3598 #define S_surfxml_AS_4 37
3599 #define S_surfxml_AS_5 38
3600 #define S_surfxml_AS_6 39
3601 #define S_surfxml_AS_7 40
3602 #define S_surfxml_AS_8 41
3603 #define S_surfxml_AS_9 42
3604 #define S_surfxml_AS_10 43
3605 #define S_surfxml_AS_11 44
3606 #define S_surfxml_AS_12 45
3607 #define S_surfxml_AS_13 46
3608 #define E_surfxml_AS 47
3609 #define AL_surfxml_host 48
3610 #define S_surfxml_host 49
3611 #define S_surfxml_host_1 50
3612 #define S_surfxml_host_2 51
3613 #define E_surfxml_host 52
3614 #define AL_surfxml_cluster 53
3615 #define E_surfxml_cluster 54
3616 #define AL_surfxml_peer 55
3617 #define E_surfxml_peer 56
3618 #define AL_surfxml_router 57
3619 #define E_surfxml_router 58
3620 #define AL_surfxml_link 59
3621 #define S_surfxml_link 60
3622 #define S_surfxml_link_1 61
3623 #define S_surfxml_link_2 62
3624 #define E_surfxml_link 63
3625 #define AL_surfxml_route 64
3626 #define S_surfxml_route 65
3627 #define S_surfxml_route_1 66
3628 #define S_surfxml_route_2 67
3629 #define E_surfxml_route 68
3630 #define AL_surfxml_ASroute 69
3631 #define S_surfxml_ASroute 70
3632 #define S_surfxml_ASroute_1 71
3633 #define S_surfxml_ASroute_2 72
3634 #define E_surfxml_ASroute 73
3635 #define AL_surfxml_link_ctn 74
3636 #define E_surfxml_link_ctn 75
3637 #define AL_surfxml_bypassRoute 76
3638 #define S_surfxml_bypassRoute 77
3639 #define S_surfxml_bypassRoute_1 78
3640 #define S_surfxml_bypassRoute_2 79
3641 #define E_surfxml_bypassRoute 80
3642 #define AL_surfxml_process 81
3643 #define S_surfxml_process 82
3644 #define S_surfxml_process_1 83
3645 #define S_surfxml_process_2 84
3646 #define E_surfxml_process 85
3647 #define AL_surfxml_argument 86
3648 #define E_surfxml_argument 87
3649 #define AL_surfxml_config 88
3650 #define S_surfxml_config 89
3651 #define S_surfxml_config_1 90
3652 #define S_surfxml_config_2 91
3653 #define E_surfxml_config 92
3654 #define AL_surfxml_prop 93
3655 #define E_surfxml_prop 94
3656 #define IMPOSSIBLE 95
3658 #ifndef YY_NO_UNISTD_H
3659 /* Special case for "unistd.h", since it is non-ANSI. We include it way
3660 * down here because we want the user's section 1 to have been scanned first.
3661 * The user has a chance to override it with an option.
3663 #if defined(_XBT_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__TOS_WIN__)
3664 # ifndef __STRICT_ANSI__
3666 # include <process.h>
3669 # include <unistd.h>
3673 #ifndef YY_EXTRA_TYPE
3674 #define YY_EXTRA_TYPE void *
3677 static int yy_init_globals (void );
3679 /* Accessor methods to globals.
3680 These are made visible to non-reentrant scanners for convenience. */
3682 int surf_parse_lex_destroy (void );
3684 int surf_parse_get_debug (void );
3686 void surf_parse_set_debug (int debug_flag );
3688 YY_EXTRA_TYPE surf_parse_get_extra (void );
3690 void surf_parse_set_extra (YY_EXTRA_TYPE user_defined );
3692 FILE *surf_parse_get_in (void );
3694 void surf_parse_set_in (FILE * in_str );
3696 FILE *surf_parse_get_out (void );
3698 void surf_parse_set_out (FILE * out_str );
3700 int surf_parse_get_leng (void );
3702 char *surf_parse_get_text (void );
3704 int surf_parse_get_lineno (void );
3706 void surf_parse_set_lineno (int line_number );
3708 /* Macros after this point can all be overridden by user definitions in
3712 #ifndef YY_SKIP_YYWRAP
3714 extern "C" int surf_parse_wrap (void );
3716 extern int surf_parse_wrap (void );
3721 static void yy_flex_strncpy (char *,yyconst char *,int );
3724 #ifdef YY_NEED_STRLEN
3725 static int yy_flex_strlen (yyconst char * );
3731 static int yyinput (void );
3733 static int input (void );
3738 static int yy_start_stack_ptr = 0;
3739 static int yy_start_stack_depth = 0;
3740 static int *yy_start_stack = NULL;
3742 static void yy_push_state (int new_state );
3744 static void yy_pop_state (void );
3746 /* Amount of stuff to slurp up with each read. */
3747 #ifndef YY_READ_BUF_SIZE
3749 /* On IA-64, the buffer size is 16k, not 8k */
3750 #define YY_READ_BUF_SIZE 16384
3752 #define YY_READ_BUF_SIZE 8192
3753 #endif /* __ia64__ */
3756 /* Copy whatever the last rule matched to the standard output. */
3758 /* This used to be an fputs(), but since the string might contain NUL's,
3759 * we now use fwrite().
3761 #define ECHO do { if (fwrite( surf_parse_text, surf_parse_leng, 1, surf_parse_out )) {} } while (0)
3764 /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
3765 * is returned in "result".
3768 #define YY_INPUT(buf,result,max_size) \
3769 if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
3773 for ( n = 0; n < max_size && \
3774 (c = getc( surf_parse_in )) != EOF && c != '\n'; ++n ) \
3775 buf[n] = (char) c; \
3777 buf[n++] = (char) c; \
3778 if ( c == EOF && ferror( surf_parse_in ) ) \
3779 YY_FATAL_ERROR( "input in flex scanner failed" ); \
3785 while ( (result = fread(buf, 1, max_size, surf_parse_in))==0 && ferror(surf_parse_in)) \
3787 if( errno != EINTR) \
3789 YY_FATAL_ERROR( "input in flex scanner failed" ); \
3793 clearerr(surf_parse_in); \
3800 /* No semi-colon after return; correct usage is to write "yyterminate();" -
3801 * we don't want an extra ';' after the "return" because that will cause
3802 * some compilers to complain about unreachable statements.
3805 #define yyterminate() return YY_NULL
3808 /* Number of entries by which start-condition stack grows. */
3809 #ifndef YY_START_STACK_INCR
3810 #define YY_START_STACK_INCR 25
3813 /* Report a fatal error. */
3814 #ifndef YY_FATAL_ERROR
3815 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
3818 /* end tables serialization structures and prototypes */
3820 /* Default declaration of generated scanner - a define so the user can
3821 * easily add parameters.
3824 #define YY_DECL_IS_OURS 1
3826 extern int surf_parse_lex (void);
3828 #define YY_DECL int surf_parse_lex (void)
3829 #endif /* !YY_DECL */
3831 /* Code executed at the beginning of each rule, after surf_parse_text and surf_parse_leng
3834 #ifndef YY_USER_ACTION
3835 #define YY_USER_ACTION
3838 /* Code executed at the end of each rule. */
3840 #define YY_BREAK break;
3843 #define YY_RULE_SETUP \
3846 /** The main scanner function which does all the work.
3850 register yy_state_type yy_current_state;
3851 register char *yy_cp, *yy_bp;
3852 register int yy_act;
3854 /* Bypass Flex's default INITIAL state and begin by parsing the XML prolog. */
3856 reset_surfxml_parse_err_msg();
3857 surfxml_bufferstack = (char *) malloc(FLEXML_BUFFERSTACKSIZE);
3858 assert(surfxml_bufferstack);
3862 for (i = 0; i < blimit; i++) {
3863 surfxml_bufferstack[i] = '\377';
3867 surfxml_bufferstack[0] = '\0';
3868 indexstack = (int *) malloc(FLEXML_INDEXSTACKSIZE * sizeof(int));
3874 surfxml_bufferliteral('\0', &bnext, "0.0");
3875 surfxml_bufferliteral('\0', &bnext, "2147483647");
3876 surfxml_bufferliteral('\0', &bnext, "1");
3877 surfxml_bufferliteral('\0', &bnext, "1.0");
3878 surfxml_bufferliteral('\0', &bnext, "1");
3879 surfxml_bufferliteral('\0', &bnext, "0.0");
3880 surfxml_bufferliteral('\0', &bnext, "-1.0");
3881 surfxml_bufferliteral('\0', &bnext, "-1.0");
3882 if(!surfxml_statenames) {surfxml_statenames= (const char **)calloc(IMPOSSIBLE,sizeof(char*));
3883 surfxml_statenames[PROLOG] = NULL;
3884 surfxml_statenames[DOCTYPE] = NULL;
3885 surfxml_statenames[EPILOG] = NULL;
3886 surfxml_statenames[INCOMMENT] = NULL;
3887 surfxml_statenames[INPI] = NULL;
3888 surfxml_statenames[VALUE1] = NULL;
3889 surfxml_statenames[VALUE2] = NULL;
3890 surfxml_statenames[CDATA] = NULL;
3891 surfxml_statenames[ROOT_surfxml_platform] = NULL;
3892 surfxml_statenames[AL_surfxml_platform] = NULL;
3893 surfxml_statenames[S_surfxml_platform] = "platform";
3894 surfxml_statenames[S_surfxml_platform_1] = "platform";
3895 surfxml_statenames[S_surfxml_platform_2] = "platform";
3896 surfxml_statenames[S_surfxml_platform_3] = "platform";
3897 surfxml_statenames[S_surfxml_platform_4] = "platform";
3898 surfxml_statenames[S_surfxml_platform_5] = "platform";
3899 surfxml_statenames[S_surfxml_platform_6] = "platform";
3900 surfxml_statenames[S_surfxml_platform_7] = "platform";
3901 surfxml_statenames[S_surfxml_platform_8] = "platform";
3902 surfxml_statenames[E_surfxml_platform] = "platform";
3903 surfxml_statenames[AL_surfxml_include] = NULL;
3904 surfxml_statenames[E_surfxml_include] = "include";
3905 surfxml_statenames[AL_surfxml_trace] = NULL;
3906 surfxml_statenames[IN_trace] = "trace";
3907 surfxml_statenames[AL_surfxml_random] = NULL;
3908 surfxml_statenames[S_surfxml_random] = "random";
3909 surfxml_statenames[S_surfxml_random_1] = "random";
3910 surfxml_statenames[S_surfxml_random_2] = "random";
3911 surfxml_statenames[E_surfxml_random] = "random";
3912 surfxml_statenames[AL_surfxml_trace_connect] = NULL;
3913 surfxml_statenames[E_surfxml_trace_connect] = "trace_connect";
3914 surfxml_statenames[AL_surfxml_AS] = NULL;
3915 surfxml_statenames[S_surfxml_AS] = "AS";
3916 surfxml_statenames[S_surfxml_AS_1] = "AS";
3917 surfxml_statenames[S_surfxml_AS_2] = "AS";
3918 surfxml_statenames[S_surfxml_AS_3] = "AS";
3919 surfxml_statenames[S_surfxml_AS_4] = "AS";
3920 surfxml_statenames[S_surfxml_AS_5] = "AS";
3921 surfxml_statenames[S_surfxml_AS_6] = "AS";
3922 surfxml_statenames[S_surfxml_AS_7] = "AS";
3923 surfxml_statenames[S_surfxml_AS_8] = "AS";
3924 surfxml_statenames[S_surfxml_AS_9] = "AS";
3925 surfxml_statenames[S_surfxml_AS_10] = "AS";
3926 surfxml_statenames[S_surfxml_AS_11] = "AS";
3927 surfxml_statenames[S_surfxml_AS_12] = "AS";
3928 surfxml_statenames[S_surfxml_AS_13] = "AS";
3929 surfxml_statenames[E_surfxml_AS] = "AS";
3930 surfxml_statenames[AL_surfxml_host] = NULL;
3931 surfxml_statenames[S_surfxml_host] = "host";
3932 surfxml_statenames[S_surfxml_host_1] = "host";
3933 surfxml_statenames[S_surfxml_host_2] = "host";
3934 surfxml_statenames[E_surfxml_host] = "host";
3935 surfxml_statenames[AL_surfxml_cluster] = NULL;
3936 surfxml_statenames[E_surfxml_cluster] = "cluster";
3937 surfxml_statenames[AL_surfxml_peer] = NULL;
3938 surfxml_statenames[E_surfxml_peer] = "peer";
3939 surfxml_statenames[AL_surfxml_router] = NULL;
3940 surfxml_statenames[E_surfxml_router] = "router";
3941 surfxml_statenames[AL_surfxml_link] = NULL;
3942 surfxml_statenames[S_surfxml_link] = "link";
3943 surfxml_statenames[S_surfxml_link_1] = "link";
3944 surfxml_statenames[S_surfxml_link_2] = "link";
3945 surfxml_statenames[E_surfxml_link] = "link";
3946 surfxml_statenames[AL_surfxml_route] = NULL;
3947 surfxml_statenames[S_surfxml_route] = "route";
3948 surfxml_statenames[S_surfxml_route_1] = "route";
3949 surfxml_statenames[S_surfxml_route_2] = "route";
3950 surfxml_statenames[E_surfxml_route] = "route";
3951 surfxml_statenames[AL_surfxml_ASroute] = NULL;
3952 surfxml_statenames[S_surfxml_ASroute] = "ASroute";
3953 surfxml_statenames[S_surfxml_ASroute_1] = "ASroute";
3954 surfxml_statenames[S_surfxml_ASroute_2] = "ASroute";
3955 surfxml_statenames[E_surfxml_ASroute] = "ASroute";
3956 surfxml_statenames[AL_surfxml_link_ctn] = NULL;
3957 surfxml_statenames[E_surfxml_link_ctn] = "link_ctn";
3958 surfxml_statenames[AL_surfxml_bypassRoute] = NULL;
3959 surfxml_statenames[S_surfxml_bypassRoute] = "bypassRoute";
3960 surfxml_statenames[S_surfxml_bypassRoute_1] = "bypassRoute";
3961 surfxml_statenames[S_surfxml_bypassRoute_2] = "bypassRoute";
3962 surfxml_statenames[E_surfxml_bypassRoute] = "bypassRoute";
3963 surfxml_statenames[AL_surfxml_process] = NULL;
3964 surfxml_statenames[S_surfxml_process] = "process";
3965 surfxml_statenames[S_surfxml_process_1] = "process";
3966 surfxml_statenames[S_surfxml_process_2] = "process";
3967 surfxml_statenames[E_surfxml_process] = "process";
3968 surfxml_statenames[AL_surfxml_argument] = NULL;
3969 surfxml_statenames[E_surfxml_argument] = "argument";
3970 surfxml_statenames[AL_surfxml_config] = NULL;
3971 surfxml_statenames[S_surfxml_config] = "config";
3972 surfxml_statenames[S_surfxml_config_1] = "config";
3973 surfxml_statenames[S_surfxml_config_2] = "config";
3974 surfxml_statenames[E_surfxml_config] = "config";
3975 surfxml_statenames[AL_surfxml_prop] = NULL;
3976 surfxml_statenames[E_surfxml_prop] = "prop";
3979 /* COMMENTS and PIs: handled uniformly for efficiency. */
3990 (yy_start) = 1; /* first start state */
3992 if ( ! surf_parse_in )
3993 surf_parse_in = stdin;
3995 if ( ! surf_parse_out )
3996 surf_parse_out = stdout;
3998 if ( ! YY_CURRENT_BUFFER ) {
3999 surf_parse_ensure_buffer_stack ();
4000 YY_CURRENT_BUFFER_LVALUE =
4001 surf_parse__create_buffer(surf_parse_in,YY_BUF_SIZE );
4004 surf_parse__load_buffer_state( );
4007 while ( 1 ) /* loops until end-of-file is reached */
4009 yy_cp = (yy_c_buf_p);
4011 /* Support of surf_parse_text. */
4012 *yy_cp = (yy_hold_char);
4014 /* yy_bp points to the position in yy_ch_buf of the start of
4019 yy_current_state = (yy_start);
4023 register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
4024 if ( yy_accept[yy_current_state] )
4026 (yy_last_accepting_state) = yy_current_state;
4027 (yy_last_accepting_cpos) = yy_cp;
4029 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
4031 yy_current_state = (int) yy_def[yy_current_state];
4032 if ( yy_current_state >= 2424 )
4033 yy_c = yy_meta[(unsigned int) yy_c];
4035 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
4038 while ( yy_base[yy_current_state] != 8070 );
4041 yy_act = yy_accept[yy_current_state];
4043 { /* have to back up */
4044 yy_cp = (yy_last_accepting_cpos);
4045 yy_current_state = (yy_last_accepting_state);
4046 yy_act = yy_accept[yy_current_state];
4049 YY_DO_BEFORE_ACTION;
4051 if ( yy_act != YY_END_OF_BUFFER && yy_rule_can_match_eol[yy_act] )
4054 for ( yyl = 0; yyl < surf_parse_leng; ++yyl )
4055 if ( surf_parse_text[yyl] == '\n' )
4057 surf_parse_lineno++;
4061 do_action: /* This label is used only to access EOF actions. */
4064 { /* beginning of action switch */
4065 case 0: /* must back up */
4066 /* undo the effects of YY_DO_BEFORE_ACTION */
4067 *yy_cp = (yy_hold_char);
4068 yy_cp = (yy_last_accepting_cpos);
4069 yy_current_state = (yy_last_accepting_state);
4070 goto yy_find_action;
4088 /* rule 6 can match eol */
4092 case YY_STATE_EOF(INCOMMENT):
4093 FAIL("EOF in comment.");
4102 /* rule 9 can match eol */
4106 case YY_STATE_EOF(INPI):
4107 FAIL("EOF in PI (processing instruction).");
4110 /* SPACES: skipped uniformly */
4112 /* rule 10 can match eol */
4116 /* PROLOG: determine root element and process it. */
4119 /* rule 11 can match eol */
4124 /* rule 12 can match eol */
4126 FAIL("Bad declaration %s.",surf_parse_text);
4130 /* rule 13 can match eol */
4132 SET(ROOT_surfxml_platform);
4135 /* rule 14 can match eol */
4137 FAIL("Bad declaration %s.",surf_parse_text);
4141 FAIL("Unexpected character `%c' in prolog.", surf_parse_text[0]);
4143 case YY_STATE_EOF(PROLOG):
4144 case YY_STATE_EOF(DOCTYPE):
4145 FAIL("EOF in prolog.");
4148 /* RULES DERIVED FROM DTD. */
4149 /* <!-- Small DTD for SURF based tools. --> */
4151 /* rule 16 can match eol */
4153 FAIL("Starting tag <platform> is not allowed here.");
4156 /* rule 17 can match eol */
4159 AX_surfxml_platform_version = 1;
4160 ENTER(AL_surfxml_platform); pushbuffer(0);
4165 /* rule 18 can match eol */
4167 ENTER(VALUE1); BUFFERSET(AX_surfxml_platform_version);
4170 /* rule 19 can match eol */
4172 ENTER(VALUE2); BUFFERSET(AX_surfxml_platform_version);
4177 LEAVE; STag_surfxml_platform();surfxml_pcdata_ix = 0; ENTER(S_surfxml_platform);
4183 LEAVE; STag_surfxml_platform(); surfxml_pcdata_ix = 0; ETag_surfxml_platform(); popbuffer(); /* attribute */
4185 case ROOT_surfxml_platform: SET(EPILOG); break;
4191 FAIL("Unexpected character `%c' in attribute list of platform element.", surf_parse_text[0]);
4195 FAIL("Bad attribute `%s' in `platform' element start tag.",surf_parse_text);
4197 case YY_STATE_EOF(AL_surfxml_platform):
4198 FAIL("EOF in attribute list of `platform' element.");
4202 /* rule 24 can match eol */
4206 ETag_surfxml_platform();
4207 popbuffer(); /* attribute */
4209 case ROOT_surfxml_platform: SET(EPILOG); break;
4214 /* rule 25 can match eol */
4216 FAIL("Unexpected end-tag `%s': `</platform>' expected.",surf_parse_text);
4220 FAIL("Unexpected character `%c': `</platform>' expected.",surf_parse_text[0]);
4222 case YY_STATE_EOF(S_surfxml_platform_8):
4223 case YY_STATE_EOF(S_surfxml_platform_1):
4224 case YY_STATE_EOF(S_surfxml_platform_3):
4225 case YY_STATE_EOF(S_surfxml_platform):
4226 case YY_STATE_EOF(S_surfxml_platform_4):
4227 case YY_STATE_EOF(S_surfxml_platform_6):
4228 case YY_STATE_EOF(E_surfxml_platform):
4229 FAIL("Premature EOF: `</platform>' expected.");
4233 /* rule 27 can match eol */
4235 FAIL("Starting tag <include> is not allowed here.");
4238 /* rule 28 can match eol */
4241 AX_surfxml_include_file = 0;
4242 ENTER(AL_surfxml_include); pushbuffer(0);
4247 /* rule 29 can match eol */
4249 ENTER(VALUE1); BUFFERSET(AX_surfxml_include_file);
4252 /* rule 30 can match eol */
4254 ENTER(VALUE2); BUFFERSET(AX_surfxml_include_file);
4259 if (!AX_surfxml_include_file) FAIL("Required attribute `file' not set for `include' element.");
4260 LEAVE; STag_surfxml_include();surfxml_pcdata_ix = 0; ENTER(E_surfxml_include);
4266 if (!AX_surfxml_include_file) FAIL("Required attribute `file' not set for `include' element.");
4267 LEAVE; STag_surfxml_include(); surfxml_pcdata_ix = 0; ETag_surfxml_include(); popbuffer(); /* attribute */
4269 case S_surfxml_AS_2: case S_surfxml_AS_3: case S_surfxml_AS: SET(S_surfxml_AS_3); break;
4270 case S_surfxml_platform_5: SET(S_surfxml_platform_6); break;
4271 case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_6: case S_surfxml_platform_8: case S_surfxml_platform_7: case S_surfxml_platform_3: case S_surfxml_platform_4: SET(S_surfxml_platform_8); break;
4277 FAIL("Unexpected character `%c' in attribute list of include element.", surf_parse_text[0]);
4281 FAIL("Bad attribute `%s' in `include' element start tag.",surf_parse_text);
4283 case YY_STATE_EOF(AL_surfxml_include):
4284 FAIL("EOF in attribute list of `include' element.");
4288 /* rule 35 can match eol */
4292 ETag_surfxml_include();
4293 popbuffer(); /* attribute */
4295 case S_surfxml_AS_2: case S_surfxml_AS_3: case S_surfxml_AS: SET(S_surfxml_AS_3); break;
4296 case S_surfxml_platform_5: SET(S_surfxml_platform_6); break;
4297 case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_6: case S_surfxml_platform_8: case S_surfxml_platform_7: case S_surfxml_platform_3: case S_surfxml_platform_4: SET(S_surfxml_platform_8); break;
4302 /* rule 36 can match eol */
4304 FAIL("Unexpected end-tag `%s': `</include>' expected.",surf_parse_text);
4308 FAIL("Unexpected character `%c': `</include>' expected.",surf_parse_text[0]);
4310 case YY_STATE_EOF(E_surfxml_include):
4311 FAIL("Premature EOF: `</include>' expected.");
4315 /* rule 38 can match eol */
4317 FAIL("Starting tag <trace> is not allowed here.");
4320 /* rule 39 can match eol */
4323 AX_surfxml_trace_id = 0;
4324 AX_surfxml_trace_file = 0;
4325 AX_surfxml_trace_periodicity = 0;
4326 ENTER(AL_surfxml_trace); pushbuffer(0);
4331 /* rule 40 can match eol */
4333 ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_id);
4336 /* rule 41 can match eol */
4338 ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_id);
4341 /* rule 42 can match eol */
4343 ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_file);
4346 /* rule 43 can match eol */
4348 ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_file);
4351 /* rule 44 can match eol */
4353 ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_periodicity);
4356 /* rule 45 can match eol */
4358 ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_periodicity);
4363 if (!AX_surfxml_trace_id) FAIL("Required attribute `id' not set for `trace' element.");
4364 if (!AX_surfxml_trace_periodicity) FAIL("Required attribute `periodicity' not set for `trace' element.");
4365 LEAVE; STag_surfxml_trace();pushbuffer(surfxml_pcdata_ix); BUFFERSET(surfxml_pcdata_ix);; ENTER(IN_trace);
4371 if (!AX_surfxml_trace_id) FAIL("Required attribute `id' not set for `trace' element.");
4372 if (!AX_surfxml_trace_periodicity) FAIL("Required attribute `periodicity' not set for `trace' element.");
4373 LEAVE; STag_surfxml_trace(); surfxml_pcdata_ix = 0; ETag_surfxml_trace(); popbuffer(); /* attribute */
4375 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;
4376 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
4377 case S_surfxml_AS_2: SET(S_surfxml_AS_3); break;
4378 case S_surfxml_AS_1: case S_surfxml_AS_5: SET(S_surfxml_AS_6); break;
4379 case S_surfxml_platform_6: case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_6); break;
4380 case S_surfxml_AS_12: case S_surfxml_AS_9: case S_surfxml_AS_13: SET(S_surfxml_AS_13); break;
4386 FAIL("Unexpected character `%c' in attribute list of trace element.", surf_parse_text[0]);
4390 FAIL("Bad attribute `%s' in `trace' element start tag.",surf_parse_text);
4392 case YY_STATE_EOF(AL_surfxml_trace):
4393 FAIL("EOF in attribute list of `trace' element.");
4397 /* rule 50 can match eol */
4402 ETag_surfxml_trace();
4403 surfxml_pcdata_ix = popbuffer();
4404 popbuffer(); /* attribute */
4406 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;
4407 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
4408 case S_surfxml_AS_2: SET(S_surfxml_AS_3); break;
4409 case S_surfxml_AS_1: case S_surfxml_AS_5: SET(S_surfxml_AS_6); break;
4410 case S_surfxml_platform_6: case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_6); break;
4411 case S_surfxml_AS_12: case S_surfxml_AS_9: case S_surfxml_AS_13: SET(S_surfxml_AS_13); break;
4416 /* rule 51 can match eol */
4418 FAIL("Unexpected end-tag `%s': `</trace>' expected.",surf_parse_text);
4420 case YY_STATE_EOF(IN_trace):
4421 FAIL("Premature EOF: `</trace>' expected.");
4425 /* rule 52 can match eol */
4427 FAIL("Starting tag <random> is not allowed here.");
4430 /* rule 53 can match eol */
4433 AX_surfxml_random_id = 0;
4434 AX_surfxml_random_min = 0;
4435 AX_surfxml_random_max = 0;
4436 AX_surfxml_random_mean = 0;
4437 AX_surfxml_random_std_deviation = 0;
4438 AX_surfxml_random_seed = 5;
4439 AX_surfxml_random_radical = 0;
4440 AX_surfxml_random_generator = A_surfxml_random_generator_DRAND48;
4441 ENTER(AL_surfxml_random); pushbuffer(0);
4446 /* rule 54 can match eol */
4448 ENTER(VALUE1); BUFFERSET(AX_surfxml_random_id);
4451 /* rule 55 can match eol */
4453 ENTER(VALUE2); BUFFERSET(AX_surfxml_random_id);
4456 /* rule 56 can match eol */
4458 ENTER(VALUE1); BUFFERSET(AX_surfxml_random_min);
4461 /* rule 57 can match eol */
4463 ENTER(VALUE2); BUFFERSET(AX_surfxml_random_min);
4466 /* rule 58 can match eol */
4468 ENTER(VALUE1); BUFFERSET(AX_surfxml_random_max);
4471 /* rule 59 can match eol */
4473 ENTER(VALUE2); BUFFERSET(AX_surfxml_random_max);
4476 /* rule 60 can match eol */
4478 ENTER(VALUE1); BUFFERSET(AX_surfxml_random_mean);
4481 /* rule 61 can match eol */
4483 ENTER(VALUE2); BUFFERSET(AX_surfxml_random_mean);
4486 /* rule 62 can match eol */
4488 ENTER(VALUE1); BUFFERSET(AX_surfxml_random_std_deviation);
4491 /* rule 63 can match eol */
4493 ENTER(VALUE2); BUFFERSET(AX_surfxml_random_std_deviation);
4496 /* rule 64 can match eol */
4498 ENTER(VALUE1); BUFFERSET(AX_surfxml_random_seed);
4501 /* rule 65 can match eol */
4503 ENTER(VALUE2); BUFFERSET(AX_surfxml_random_seed);
4506 /* rule 66 can match eol */
4508 ENTER(VALUE1); BUFFERSET(AX_surfxml_random_radical);
4511 /* rule 67 can match eol */
4513 ENTER(VALUE2); BUFFERSET(AX_surfxml_random_radical);
4516 /* rule 68 can match eol */
4518 /* rule 69 can match eol */
4520 A_surfxml_random_generator = A_surfxml_random_generator_DRAND48;
4523 /* rule 70 can match eol */
4525 /* rule 71 can match eol */
4527 A_surfxml_random_generator = A_surfxml_random_generator_RAND;
4530 /* rule 72 can match eol */
4532 /* rule 73 can match eol */
4534 A_surfxml_random_generator = A_surfxml_random_generator_RNGSTREAM;
4537 /* rule 74 can match eol */
4539 /* rule 75 can match eol */
4541 A_surfxml_random_generator = A_surfxml_random_generator_NONE;
4546 if (!AX_surfxml_random_id) FAIL("Required attribute `id' not set for `random' element.");
4547 if (!AX_surfxml_random_min) FAIL("Required attribute `min' not set for `random' element.");
4548 if (!AX_surfxml_random_max) FAIL("Required attribute `max' not set for `random' element.");
4549 if (!AX_surfxml_random_mean) FAIL("Required attribute `mean' not set for `random' element.");
4550 if (!AX_surfxml_random_std_deviation) FAIL("Required attribute `std_deviation' not set for `random' element.");
4551 LEAVE; STag_surfxml_random();surfxml_pcdata_ix = 0; ENTER(S_surfxml_random);
4557 if (!AX_surfxml_random_id) FAIL("Required attribute `id' not set for `random' element.");
4558 if (!AX_surfxml_random_min) FAIL("Required attribute `min' not set for `random' element.");
4559 if (!AX_surfxml_random_max) FAIL("Required attribute `max' not set for `random' element.");
4560 if (!AX_surfxml_random_mean) FAIL("Required attribute `mean' not set for `random' element.");
4561 if (!AX_surfxml_random_std_deviation) FAIL("Required attribute `std_deviation' not set for `random' element.");
4562 LEAVE; STag_surfxml_random(); surfxml_pcdata_ix = 0; ETag_surfxml_random(); popbuffer(); /* attribute */
4564 case S_surfxml_platform_2: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_3); break;
4570 FAIL("Unexpected character `%c' in attribute list of random element.", surf_parse_text[0]);
4574 FAIL("Bad attribute `%s' in `random' element start tag.",surf_parse_text);
4576 case YY_STATE_EOF(AL_surfxml_random):
4577 FAIL("EOF in attribute list of `random' element.");
4581 /* rule 80 can match eol */
4585 ETag_surfxml_random();
4586 popbuffer(); /* attribute */
4588 case S_surfxml_platform_2: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_3); break;
4593 /* rule 81 can match eol */
4595 FAIL("Unexpected end-tag `%s': `</random>' expected.",surf_parse_text);
4599 FAIL("Unexpected character `%c': `</random>' expected.",surf_parse_text[0]);
4601 case YY_STATE_EOF(S_surfxml_random_2):
4602 case YY_STATE_EOF(S_surfxml_random):
4603 case YY_STATE_EOF(E_surfxml_random):
4604 FAIL("Premature EOF: `</random>' expected.");
4608 /* rule 83 can match eol */
4610 FAIL("Starting tag <trace_connect> is not allowed here.");
4613 /* rule 84 can match eol */
4616 AX_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_HOST_AVAIL;
4617 AX_surfxml_trace_connect_trace = 0;
4618 AX_surfxml_trace_connect_element = 0;
4619 ENTER(AL_surfxml_trace_connect); pushbuffer(0);
4624 /* rule 85 can match eol */
4626 /* rule 86 can match eol */
4628 A_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_HOST_AVAIL;
4631 /* rule 87 can match eol */
4633 /* rule 88 can match eol */
4635 A_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_POWER;
4638 /* rule 89 can match eol */
4640 /* rule 90 can match eol */
4642 A_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_LINK_AVAIL;
4645 /* rule 91 can match eol */
4647 /* rule 92 can match eol */
4649 A_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_BANDWIDTH;
4652 /* rule 93 can match eol */
4654 /* rule 94 can match eol */
4656 A_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_LATENCY;
4659 /* rule 95 can match eol */
4661 ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_connect_trace);
4664 /* rule 96 can match eol */
4666 ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_connect_trace);
4669 /* rule 97 can match eol */
4671 ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_connect_element);
4674 /* rule 98 can match eol */
4676 ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_connect_element);
4681 if (!AX_surfxml_trace_connect_trace) FAIL("Required attribute `trace' not set for `trace_connect' element.");
4682 if (!AX_surfxml_trace_connect_element) FAIL("Required attribute `element' not set for `trace_connect' element.");
4683 LEAVE; STag_surfxml_trace_connect();surfxml_pcdata_ix = 0; ENTER(E_surfxml_trace_connect);
4689 if (!AX_surfxml_trace_connect_trace) FAIL("Required attribute `trace' not set for `trace_connect' element.");
4690 if (!AX_surfxml_trace_connect_element) FAIL("Required attribute `element' not set for `trace_connect' element.");
4691 LEAVE; STag_surfxml_trace_connect(); surfxml_pcdata_ix = 0; ETag_surfxml_trace_connect(); popbuffer(); /* attribute */
4693 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;
4694 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
4695 case S_surfxml_AS_2: SET(S_surfxml_AS_3); break;
4696 case S_surfxml_AS_1: case S_surfxml_AS_5: SET(S_surfxml_AS_6); break;
4697 case S_surfxml_platform_6: case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_6); break;
4698 case S_surfxml_AS_12: case S_surfxml_AS_9: case S_surfxml_AS_13: SET(S_surfxml_AS_13); break;
4704 FAIL("Unexpected character `%c' in attribute list of trace_connect element.", surf_parse_text[0]);
4708 FAIL("Bad attribute `%s' in `trace_connect' element start tag.",surf_parse_text);
4710 case YY_STATE_EOF(AL_surfxml_trace_connect):
4711 FAIL("EOF in attribute list of `trace_connect' element.");
4715 /* rule 103 can match eol */
4719 ETag_surfxml_trace_connect();
4720 popbuffer(); /* attribute */
4722 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;
4723 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
4724 case S_surfxml_AS_2: SET(S_surfxml_AS_3); break;
4725 case S_surfxml_AS_1: case S_surfxml_AS_5: SET(S_surfxml_AS_6); break;
4726 case S_surfxml_platform_6: case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_6); break;
4727 case S_surfxml_AS_12: case S_surfxml_AS_9: case S_surfxml_AS_13: SET(S_surfxml_AS_13); break;
4732 /* rule 104 can match eol */
4734 FAIL("Unexpected end-tag `%s': `</trace_connect>' expected.",surf_parse_text);
4738 FAIL("Unexpected character `%c': `</trace_connect>' expected.",surf_parse_text[0]);
4740 case YY_STATE_EOF(E_surfxml_trace_connect):
4741 FAIL("Premature EOF: `</trace_connect>' expected.");
4745 /* rule 106 can match eol */
4747 FAIL("Starting tag <AS> is not allowed here.");
4750 /* rule 107 can match eol */
4753 AX_surfxml_AS_id = 0;
4754 AX_surfxml_AS_routing = 0;
4755 AX_surfxml_AS_coordinates = 0;
4756 ENTER(AL_surfxml_AS); pushbuffer(0);
4761 /* rule 108 can match eol */
4763 ENTER(VALUE1); BUFFERSET(AX_surfxml_AS_id);
4766 /* rule 109 can match eol */
4768 ENTER(VALUE2); BUFFERSET(AX_surfxml_AS_id);
4771 /* rule 110 can match eol */
4773 ENTER(VALUE1); BUFFERSET(AX_surfxml_AS_routing);
4776 /* rule 111 can match eol */
4778 ENTER(VALUE2); BUFFERSET(AX_surfxml_AS_routing);
4781 /* rule 112 can match eol */
4783 ENTER(VALUE1); BUFFERSET(AX_surfxml_AS_coordinates);
4786 /* rule 113 can match eol */
4788 ENTER(VALUE2); BUFFERSET(AX_surfxml_AS_coordinates);
4793 if (!AX_surfxml_AS_id) FAIL("Required attribute `id' not set for `AS' element.");
4794 if (!AX_surfxml_AS_routing) FAIL("Required attribute `routing' not set for `AS' element.");
4795 LEAVE; STag_surfxml_AS();surfxml_pcdata_ix = 0; ENTER(S_surfxml_AS);
4801 if (!AX_surfxml_AS_id) FAIL("Required attribute `id' not set for `AS' element.");
4802 if (!AX_surfxml_AS_routing) FAIL("Required attribute `routing' not set for `AS' element.");
4803 LEAVE; STag_surfxml_AS(); surfxml_pcdata_ix = 0; ETag_surfxml_AS(); popbuffer(); /* attribute */
4805 case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
4806 case S_surfxml_platform_6: case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_6); break;
4812 FAIL("Unexpected character `%c' in attribute list of AS element.", surf_parse_text[0]);
4816 FAIL("Bad attribute `%s' in `AS' element start tag.",surf_parse_text);
4818 case YY_STATE_EOF(AL_surfxml_AS):
4819 FAIL("EOF in attribute list of `AS' element.");
4823 /* rule 118 can match eol */
4828 popbuffer(); /* attribute */
4830 case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
4831 case S_surfxml_platform_6: case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_6); break;
4836 /* rule 119 can match eol */
4838 FAIL("Unexpected end-tag `%s': `</AS>' expected.",surf_parse_text);
4842 FAIL("Unexpected character `%c': `</AS>' expected.",surf_parse_text[0]);
4844 case YY_STATE_EOF(S_surfxml_AS_1):
4845 case YY_STATE_EOF(S_surfxml_AS_9):
4846 case YY_STATE_EOF(S_surfxml_AS_11):
4847 case YY_STATE_EOF(S_surfxml_AS_6):
4848 case YY_STATE_EOF(E_surfxml_AS):
4849 case YY_STATE_EOF(S_surfxml_AS_3):
4850 case YY_STATE_EOF(S_surfxml_AS_13):
4851 case YY_STATE_EOF(S_surfxml_AS_8):
4852 case YY_STATE_EOF(S_surfxml_AS):
4853 case YY_STATE_EOF(S_surfxml_AS_4):
4854 FAIL("Premature EOF: `</AS>' expected.");
4858 /* rule 121 can match eol */
4860 FAIL("Starting tag <host> is not allowed here.");
4863 /* rule 122 can match eol */
4866 AX_surfxml_host_id = 0;
4867 AX_surfxml_host_power = 0;
4868 AX_surfxml_host_core = 16;
4869 AX_surfxml_host_availability = 18;
4870 AX_surfxml_host_availability_file = 0;
4871 AX_surfxml_host_state = A_surfxml_host_state_ON;
4872 AX_surfxml_host_state_file = 0;
4873 AX_surfxml_host_coordinates = 0;
4874 ENTER(AL_surfxml_host); pushbuffer(0);
4879 /* rule 123 can match eol */
4881 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_id);
4884 /* rule 124 can match eol */
4886 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_id);
4889 /* rule 125 can match eol */
4891 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_power);
4894 /* rule 126 can match eol */
4896 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_power);
4899 /* rule 127 can match eol */
4901 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_core);
4904 /* rule 128 can match eol */
4906 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_core);
4909 /* rule 129 can match eol */
4911 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_availability);
4914 /* rule 130 can match eol */
4916 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_availability);
4919 /* rule 131 can match eol */
4921 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_availability_file);
4924 /* rule 132 can match eol */
4926 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_availability_file);
4929 /* rule 133 can match eol */
4931 /* rule 134 can match eol */
4933 A_surfxml_host_state = A_surfxml_host_state_ON;
4936 /* rule 135 can match eol */
4938 /* rule 136 can match eol */
4940 A_surfxml_host_state = A_surfxml_host_state_OFF;
4943 /* rule 137 can match eol */
4945 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_state_file);
4948 /* rule 138 can match eol */
4950 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_state_file);
4953 /* rule 139 can match eol */
4955 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_coordinates);
4958 /* rule 140 can match eol */
4960 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_coordinates);
4965 if (!AX_surfxml_host_id) FAIL("Required attribute `id' not set for `host' element.");
4966 if (!AX_surfxml_host_power) FAIL("Required attribute `power' not set for `host' element.");
4967 LEAVE; STag_surfxml_host();surfxml_pcdata_ix = 0; ENTER(S_surfxml_host);
4973 if (!AX_surfxml_host_id) FAIL("Required attribute `id' not set for `host' element.");
4974 if (!AX_surfxml_host_power) FAIL("Required attribute `power' not set for `host' element.");
4975 LEAVE; STag_surfxml_host(); surfxml_pcdata_ix = 0; ETag_surfxml_host(); popbuffer(); /* attribute */
4977 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
4983 FAIL("Unexpected character `%c' in attribute list of host element.", surf_parse_text[0]);
4987 FAIL("Bad attribute `%s' in `host' element start tag.",surf_parse_text);
4989 case YY_STATE_EOF(AL_surfxml_host):
4990 FAIL("EOF in attribute list of `host' element.");
4994 /* rule 145 can match eol */
4998 ETag_surfxml_host();
4999 popbuffer(); /* attribute */
5001 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
5006 /* rule 146 can match eol */
5008 FAIL("Unexpected end-tag `%s': `</host>' expected.",surf_parse_text);
5012 FAIL("Unexpected character `%c': `</host>' expected.",surf_parse_text[0]);
5014 case YY_STATE_EOF(S_surfxml_host):
5015 case YY_STATE_EOF(E_surfxml_host):
5016 case YY_STATE_EOF(S_surfxml_host_2):
5017 FAIL("Premature EOF: `</host>' expected.");
5021 /* rule 148 can match eol */
5023 FAIL("Starting tag <cluster> is not allowed here.");
5026 /* rule 149 can match eol */
5029 AX_surfxml_cluster_id = 0;
5030 AX_surfxml_cluster_prefix = 0;
5031 AX_surfxml_cluster_suffix = 0;
5032 AX_surfxml_cluster_radical = 0;
5033 AX_surfxml_cluster_power = 0;
5034 AX_surfxml_cluster_core = 22;
5035 AX_surfxml_cluster_bw = 0;
5036 AX_surfxml_cluster_lat = 0;
5037 AX_surfxml_cluster_sharing_policy = A_surfxml_cluster_sharing_policy_SHARED;
5038 AX_surfxml_cluster_bb_bw = 0;
5039 AX_surfxml_cluster_bb_lat = 0;
5040 AX_surfxml_cluster_bb_sharing_policy = A_surfxml_cluster_bb_sharing_policy_SHARED;
5041 AX_surfxml_cluster_availability_file = 0;
5042 AX_surfxml_cluster_state_file = 0;
5043 ENTER(AL_surfxml_cluster); pushbuffer(0);
5048 /* rule 150 can match eol */
5050 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_id);
5053 /* rule 151 can match eol */
5055 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_id);
5058 /* rule 152 can match eol */
5060 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_prefix);
5063 /* rule 153 can match eol */
5065 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_prefix);
5068 /* rule 154 can match eol */
5070 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_suffix);
5073 /* rule 155 can match eol */
5075 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_suffix);
5078 /* rule 156 can match eol */
5080 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_radical);
5083 /* rule 157 can match eol */
5085 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_radical);
5088 /* rule 158 can match eol */
5090 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_power);
5093 /* rule 159 can match eol */
5095 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_power);
5098 /* rule 160 can match eol */
5100 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_core);
5103 /* rule 161 can match eol */
5105 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_core);
5108 /* rule 162 can match eol */
5110 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_bw);
5113 /* rule 163 can match eol */
5115 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_bw);
5118 /* rule 164 can match eol */
5120 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_lat);
5123 /* rule 165 can match eol */
5125 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_lat);
5128 /* rule 166 can match eol */
5130 /* rule 167 can match eol */
5132 A_surfxml_cluster_sharing_policy = A_surfxml_cluster_sharing_policy_SHARED;
5135 /* rule 168 can match eol */
5137 /* rule 169 can match eol */
5139 A_surfxml_cluster_sharing_policy = A_surfxml_cluster_sharing_policy_FULLDUPLEX;
5142 /* rule 170 can match eol */
5144 /* rule 171 can match eol */
5146 A_surfxml_cluster_sharing_policy = A_surfxml_cluster_sharing_policy_FATPIPE;
5149 /* rule 172 can match eol */
5151 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_bb_bw);
5154 /* rule 173 can match eol */
5156 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_bb_bw);
5159 /* rule 174 can match eol */
5161 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_bb_lat);
5164 /* rule 175 can match eol */
5166 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_bb_lat);
5169 /* rule 176 can match eol */
5171 /* rule 177 can match eol */
5173 A_surfxml_cluster_bb_sharing_policy = A_surfxml_cluster_bb_sharing_policy_SHARED;
5176 /* rule 178 can match eol */
5178 /* rule 179 can match eol */
5180 A_surfxml_cluster_bb_sharing_policy = A_surfxml_cluster_bb_sharing_policy_FATPIPE;
5183 /* rule 180 can match eol */
5185 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_availability_file);
5188 /* rule 181 can match eol */
5190 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_availability_file);
5193 /* rule 182 can match eol */
5195 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_state_file);
5198 /* rule 183 can match eol */
5200 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_state_file);
5205 if (!AX_surfxml_cluster_id) FAIL("Required attribute `id' not set for `cluster' element.");
5206 if (!AX_surfxml_cluster_prefix) FAIL("Required attribute `prefix' not set for `cluster' element.");
5207 if (!AX_surfxml_cluster_suffix) FAIL("Required attribute `suffix' not set for `cluster' element.");
5208 if (!AX_surfxml_cluster_radical) FAIL("Required attribute `radical' not set for `cluster' element.");
5209 if (!AX_surfxml_cluster_power) FAIL("Required attribute `power' not set for `cluster' element.");
5210 if (!AX_surfxml_cluster_bw) FAIL("Required attribute `bw' not set for `cluster' element.");
5211 if (!AX_surfxml_cluster_lat) FAIL("Required attribute `lat' not set for `cluster' element.");
5212 if (!AX_surfxml_cluster_bb_bw) FAIL("Required attribute `bb_bw' not set for `cluster' element.");
5213 if (!AX_surfxml_cluster_bb_lat) FAIL("Required attribute `bb_lat' not set for `cluster' element.");
5214 LEAVE; STag_surfxml_cluster();surfxml_pcdata_ix = 0; ENTER(E_surfxml_cluster);
5220 if (!AX_surfxml_cluster_id) FAIL("Required attribute `id' not set for `cluster' element.");
5221 if (!AX_surfxml_cluster_prefix) FAIL("Required attribute `prefix' not set for `cluster' element.");
5222 if (!AX_surfxml_cluster_suffix) FAIL("Required attribute `suffix' not set for `cluster' element.");
5223 if (!AX_surfxml_cluster_radical) FAIL("Required attribute `radical' not set for `cluster' element.");
5224 if (!AX_surfxml_cluster_power) FAIL("Required attribute `power' not set for `cluster' element.");
5225 if (!AX_surfxml_cluster_bw) FAIL("Required attribute `bw' not set for `cluster' element.");
5226 if (!AX_surfxml_cluster_lat) FAIL("Required attribute `lat' not set for `cluster' element.");
5227 if (!AX_surfxml_cluster_bb_bw) FAIL("Required attribute `bb_bw' not set for `cluster' element.");
5228 if (!AX_surfxml_cluster_bb_lat) FAIL("Required attribute `bb_lat' not set for `cluster' element.");
5229 LEAVE; STag_surfxml_cluster(); surfxml_pcdata_ix = 0; ETag_surfxml_cluster(); popbuffer(); /* attribute */
5231 case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
5232 case S_surfxml_platform_6: case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_6); break;
5238 FAIL("Unexpected character `%c' in attribute list of cluster element.", surf_parse_text[0]);
5242 FAIL("Bad attribute `%s' in `cluster' element start tag.",surf_parse_text);
5244 case YY_STATE_EOF(AL_surfxml_cluster):
5245 FAIL("EOF in attribute list of `cluster' element.");
5249 /* rule 188 can match eol */
5253 ETag_surfxml_cluster();
5254 popbuffer(); /* attribute */
5256 case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
5257 case S_surfxml_platform_6: case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_6); break;
5262 /* rule 189 can match eol */
5264 FAIL("Unexpected end-tag `%s': `</cluster>' expected.",surf_parse_text);
5268 FAIL("Unexpected character `%c': `</cluster>' expected.",surf_parse_text[0]);
5270 case YY_STATE_EOF(E_surfxml_cluster):
5271 FAIL("Premature EOF: `</cluster>' expected.");
5275 /* rule 191 can match eol */
5277 FAIL("Starting tag <peer> is not allowed here.");
5280 /* rule 192 can match eol */
5283 AX_surfxml_peer_id = 0;
5284 AX_surfxml_peer_power = 0;
5285 AX_surfxml_peer_bw_in = 0;
5286 AX_surfxml_peer_bw_out = 0;
5287 AX_surfxml_peer_lat = 0;
5288 AX_surfxml_peer_coordinates = 0;
5289 AX_surfxml_peer_availability_file = 0;
5290 AX_surfxml_peer_state_file = 0;
5291 ENTER(AL_surfxml_peer); pushbuffer(0);
5296 /* rule 193 can match eol */
5298 ENTER(VALUE1); BUFFERSET(AX_surfxml_peer_id);
5301 /* rule 194 can match eol */
5303 ENTER(VALUE2); BUFFERSET(AX_surfxml_peer_id);
5306 /* rule 195 can match eol */
5308 ENTER(VALUE1); BUFFERSET(AX_surfxml_peer_power);
5311 /* rule 196 can match eol */
5313 ENTER(VALUE2); BUFFERSET(AX_surfxml_peer_power);
5316 /* rule 197 can match eol */
5318 ENTER(VALUE1); BUFFERSET(AX_surfxml_peer_bw_in);
5321 /* rule 198 can match eol */
5323 ENTER(VALUE2); BUFFERSET(AX_surfxml_peer_bw_in);
5326 /* rule 199 can match eol */
5328 ENTER(VALUE1); BUFFERSET(AX_surfxml_peer_bw_out);
5331 /* rule 200 can match eol */
5333 ENTER(VALUE2); BUFFERSET(AX_surfxml_peer_bw_out);
5336 /* rule 201 can match eol */
5338 ENTER(VALUE1); BUFFERSET(AX_surfxml_peer_lat);
5341 /* rule 202 can match eol */
5343 ENTER(VALUE2); BUFFERSET(AX_surfxml_peer_lat);
5346 /* rule 203 can match eol */
5348 ENTER(VALUE1); BUFFERSET(AX_surfxml_peer_coordinates);
5351 /* rule 204 can match eol */
5353 ENTER(VALUE2); BUFFERSET(AX_surfxml_peer_coordinates);
5356 /* rule 205 can match eol */
5358 ENTER(VALUE1); BUFFERSET(AX_surfxml_peer_availability_file);
5361 /* rule 206 can match eol */
5363 ENTER(VALUE2); BUFFERSET(AX_surfxml_peer_availability_file);
5366 /* rule 207 can match eol */
5368 ENTER(VALUE1); BUFFERSET(AX_surfxml_peer_state_file);
5371 /* rule 208 can match eol */
5373 ENTER(VALUE2); BUFFERSET(AX_surfxml_peer_state_file);
5378 if (!AX_surfxml_peer_id) FAIL("Required attribute `id' not set for `peer' element.");
5379 if (!AX_surfxml_peer_power) FAIL("Required attribute `power' not set for `peer' element.");
5380 if (!AX_surfxml_peer_bw_in) FAIL("Required attribute `bw_in' not set for `peer' element.");
5381 if (!AX_surfxml_peer_bw_out) FAIL("Required attribute `bw_out' not set for `peer' element.");
5382 if (!AX_surfxml_peer_lat) FAIL("Required attribute `lat' not set for `peer' element.");
5383 LEAVE; STag_surfxml_peer();surfxml_pcdata_ix = 0; ENTER(E_surfxml_peer);
5389 if (!AX_surfxml_peer_id) FAIL("Required attribute `id' not set for `peer' element.");
5390 if (!AX_surfxml_peer_power) FAIL("Required attribute `power' not set for `peer' element.");
5391 if (!AX_surfxml_peer_bw_in) FAIL("Required attribute `bw_in' not set for `peer' element.");
5392 if (!AX_surfxml_peer_bw_out) FAIL("Required attribute `bw_out' not set for `peer' element.");
5393 if (!AX_surfxml_peer_lat) FAIL("Required attribute `lat' not set for `peer' element.");
5394 LEAVE; STag_surfxml_peer(); surfxml_pcdata_ix = 0; ETag_surfxml_peer(); popbuffer(); /* attribute */
5396 case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
5397 case S_surfxml_platform_6: case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_6); break;
5403 FAIL("Unexpected character `%c' in attribute list of peer element.", surf_parse_text[0]);
5407 FAIL("Bad attribute `%s' in `peer' element start tag.",surf_parse_text);
5409 case YY_STATE_EOF(AL_surfxml_peer):
5410 FAIL("EOF in attribute list of `peer' element.");
5414 /* rule 213 can match eol */
5418 ETag_surfxml_peer();
5419 popbuffer(); /* attribute */
5421 case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
5422 case S_surfxml_platform_6: case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_6); break;
5427 /* rule 214 can match eol */
5429 FAIL("Unexpected end-tag `%s': `</peer>' expected.",surf_parse_text);
5433 FAIL("Unexpected character `%c': `</peer>' expected.",surf_parse_text[0]);
5435 case YY_STATE_EOF(E_surfxml_peer):
5436 FAIL("Premature EOF: `</peer>' expected.");
5440 /* rule 216 can match eol */
5442 FAIL("Starting tag <router> is not allowed here.");
5445 /* rule 217 can match eol */
5448 AX_surfxml_router_id = 0;
5449 AX_surfxml_router_coordinates = 0;
5450 ENTER(AL_surfxml_router); pushbuffer(0);
5455 /* rule 218 can match eol */
5457 ENTER(VALUE1); BUFFERSET(AX_surfxml_router_id);
5460 /* rule 219 can match eol */
5462 ENTER(VALUE2); BUFFERSET(AX_surfxml_router_id);
5465 /* rule 220 can match eol */
5467 ENTER(VALUE1); BUFFERSET(AX_surfxml_router_coordinates);
5470 /* rule 221 can match eol */
5472 ENTER(VALUE2); BUFFERSET(AX_surfxml_router_coordinates);
5477 if (!AX_surfxml_router_id) FAIL("Required attribute `id' not set for `router' element.");
5478 LEAVE; STag_surfxml_router();surfxml_pcdata_ix = 0; ENTER(E_surfxml_router);
5484 if (!AX_surfxml_router_id) FAIL("Required attribute `id' not set for `router' element.");
5485 LEAVE; STag_surfxml_router(); surfxml_pcdata_ix = 0; ETag_surfxml_router(); popbuffer(); /* attribute */
5487 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
5493 FAIL("Unexpected character `%c' in attribute list of router element.", surf_parse_text[0]);
5497 FAIL("Bad attribute `%s' in `router' element start tag.",surf_parse_text);
5499 case YY_STATE_EOF(AL_surfxml_router):
5500 FAIL("EOF in attribute list of `router' element.");
5504 /* rule 226 can match eol */
5508 ETag_surfxml_router();
5509 popbuffer(); /* attribute */
5511 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
5516 /* rule 227 can match eol */
5518 FAIL("Unexpected end-tag `%s': `</router>' expected.",surf_parse_text);
5522 FAIL("Unexpected character `%c': `</router>' expected.",surf_parse_text[0]);
5524 case YY_STATE_EOF(E_surfxml_router):
5525 FAIL("Premature EOF: `</router>' expected.");
5529 /* rule 229 can match eol */
5531 FAIL("Starting tag <link> is not allowed here.");
5534 /* rule 230 can match eol */
5537 AX_surfxml_link_id = 0;
5538 AX_surfxml_link_bandwidth = 0;
5539 AX_surfxml_link_bandwidth_file = 0;
5540 AX_surfxml_link_latency = 24;
5541 AX_surfxml_link_latency_file = 0;
5542 AX_surfxml_link_state = A_surfxml_link_state_ON;
5543 AX_surfxml_link_state_file = 0;
5544 AX_surfxml_link_sharing_policy = A_surfxml_link_sharing_policy_SHARED;
5545 ENTER(AL_surfxml_link); pushbuffer(0);
5550 /* rule 231 can match eol */
5552 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_id);
5555 /* rule 232 can match eol */
5557 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_id);
5560 /* rule 233 can match eol */
5562 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_bandwidth);
5565 /* rule 234 can match eol */
5567 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_bandwidth);
5570 /* rule 235 can match eol */
5572 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_bandwidth_file);
5575 /* rule 236 can match eol */
5577 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_bandwidth_file);
5580 /* rule 237 can match eol */
5582 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_latency);
5585 /* rule 238 can match eol */
5587 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_latency);
5590 /* rule 239 can match eol */
5592 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_latency_file);
5595 /* rule 240 can match eol */
5597 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_latency_file);
5600 /* rule 241 can match eol */
5602 /* rule 242 can match eol */
5604 A_surfxml_link_state = A_surfxml_link_state_ON;
5607 /* rule 243 can match eol */
5609 /* rule 244 can match eol */
5611 A_surfxml_link_state = A_surfxml_link_state_OFF;
5614 /* rule 245 can match eol */
5616 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_state_file);
5619 /* rule 246 can match eol */
5621 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_state_file);
5624 /* rule 247 can match eol */
5626 /* rule 248 can match eol */
5628 A_surfxml_link_sharing_policy = A_surfxml_link_sharing_policy_SHARED;
5631 /* rule 249 can match eol */
5633 /* rule 250 can match eol */
5635 A_surfxml_link_sharing_policy = A_surfxml_link_sharing_policy_FATPIPE;
5638 /* rule 251 can match eol */
5640 /* rule 252 can match eol */
5642 A_surfxml_link_sharing_policy = A_surfxml_link_sharing_policy_FULLDUPLEX;
5647 if (!AX_surfxml_link_id) FAIL("Required attribute `id' not set for `link' element.");
5648 if (!AX_surfxml_link_bandwidth) FAIL("Required attribute `bandwidth' not set for `link' element.");
5649 LEAVE; STag_surfxml_link();surfxml_pcdata_ix = 0; ENTER(S_surfxml_link);
5655 if (!AX_surfxml_link_id) FAIL("Required attribute `id' not set for `link' element.");
5656 if (!AX_surfxml_link_bandwidth) FAIL("Required attribute `bandwidth' not set for `link' element.");
5657 LEAVE; STag_surfxml_link(); surfxml_pcdata_ix = 0; ETag_surfxml_link(); popbuffer(); /* attribute */
5659 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
5660 case S_surfxml_AS_2: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
5666 FAIL("Unexpected character `%c' in attribute list of link element.", surf_parse_text[0]);
5670 FAIL("Bad attribute `%s' in `link' element start tag.",surf_parse_text);
5672 case YY_STATE_EOF(AL_surfxml_link):
5673 FAIL("EOF in attribute list of `link' element.");
5677 /* rule 257 can match eol */
5681 ETag_surfxml_link();
5682 popbuffer(); /* attribute */
5684 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
5685 case S_surfxml_AS_2: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
5690 /* rule 258 can match eol */
5692 FAIL("Unexpected end-tag `%s': `</link>' expected.",surf_parse_text);
5696 FAIL("Unexpected character `%c': `</link>' expected.",surf_parse_text[0]);
5698 case YY_STATE_EOF(E_surfxml_link):
5699 case YY_STATE_EOF(S_surfxml_link_2):
5700 case YY_STATE_EOF(S_surfxml_link):
5701 FAIL("Premature EOF: `</link>' expected.");
5705 /* rule 260 can match eol */
5707 FAIL("Starting tag <route> is not allowed here.");
5710 /* rule 261 can match eol */
5713 AX_surfxml_route_src = 0;
5714 AX_surfxml_route_dst = 0;
5715 AX_surfxml_route_symmetrical = A_surfxml_route_symmetrical_YES;
5716 ENTER(AL_surfxml_route); pushbuffer(0);
5721 /* rule 262 can match eol */
5723 ENTER(VALUE1); BUFFERSET(AX_surfxml_route_src);
5726 /* rule 263 can match eol */
5728 ENTER(VALUE2); BUFFERSET(AX_surfxml_route_src);
5731 /* rule 264 can match eol */
5733 ENTER(VALUE1); BUFFERSET(AX_surfxml_route_dst);
5736 /* rule 265 can match eol */
5738 ENTER(VALUE2); BUFFERSET(AX_surfxml_route_dst);
5741 /* rule 266 can match eol */
5743 /* rule 267 can match eol */
5745 A_surfxml_route_symmetrical = A_surfxml_route_symmetrical_YES;
5748 /* rule 268 can match eol */
5750 /* rule 269 can match eol */
5752 A_surfxml_route_symmetrical = A_surfxml_route_symmetrical_NO;
5757 if (!AX_surfxml_route_src) FAIL("Required attribute `src' not set for `route' element.");
5758 if (!AX_surfxml_route_dst) FAIL("Required attribute `dst' not set for `route' element.");
5759 LEAVE; STag_surfxml_route();surfxml_pcdata_ix = 0; ENTER(S_surfxml_route);
5765 if (!AX_surfxml_route_src) FAIL("Required attribute `src' not set for `route' element.");
5766 if (!AX_surfxml_route_dst) FAIL("Required attribute `dst' not set for `route' element.");
5767 LEAVE; STag_surfxml_route(); surfxml_pcdata_ix = 0; ETag_surfxml_route(); popbuffer(); /* attribute */
5769 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;
5775 FAIL("Unexpected character `%c' in attribute list of route element.", surf_parse_text[0]);
5779 FAIL("Bad attribute `%s' in `route' element start tag.",surf_parse_text);
5781 case YY_STATE_EOF(AL_surfxml_route):
5782 FAIL("EOF in attribute list of `route' element.");
5786 /* rule 274 can match eol */
5790 ETag_surfxml_route();
5791 popbuffer(); /* attribute */
5793 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;
5798 /* rule 275 can match eol */
5800 FAIL("Unexpected end-tag `%s': `</route>' expected.",surf_parse_text);
5804 FAIL("Unexpected character `%c': `</route>' expected.",surf_parse_text[0]);
5806 case YY_STATE_EOF(S_surfxml_route):
5807 case YY_STATE_EOF(S_surfxml_route_2):
5808 case YY_STATE_EOF(E_surfxml_route):
5809 FAIL("Premature EOF: `</route>' expected.");
5813 /* rule 277 can match eol */
5815 FAIL("Starting tag <ASroute> is not allowed here.");
5818 /* rule 278 can match eol */
5821 AX_surfxml_ASroute_src = 0;
5822 AX_surfxml_ASroute_dst = 0;
5823 AX_surfxml_ASroute_gw_src = 0;
5824 AX_surfxml_ASroute_gw_dst = 0;
5825 AX_surfxml_ASroute_symmetrical = A_surfxml_ASroute_symmetrical_YES;
5826 ENTER(AL_surfxml_ASroute); pushbuffer(0);
5831 /* rule 279 can match eol */
5833 ENTER(VALUE1); BUFFERSET(AX_surfxml_ASroute_src);
5836 /* rule 280 can match eol */
5838 ENTER(VALUE2); BUFFERSET(AX_surfxml_ASroute_src);
5841 /* rule 281 can match eol */
5843 ENTER(VALUE1); BUFFERSET(AX_surfxml_ASroute_dst);
5846 /* rule 282 can match eol */
5848 ENTER(VALUE2); BUFFERSET(AX_surfxml_ASroute_dst);
5851 /* rule 283 can match eol */
5853 ENTER(VALUE1); BUFFERSET(AX_surfxml_ASroute_gw_src);
5856 /* rule 284 can match eol */
5858 ENTER(VALUE2); BUFFERSET(AX_surfxml_ASroute_gw_src);
5861 /* rule 285 can match eol */
5863 ENTER(VALUE1); BUFFERSET(AX_surfxml_ASroute_gw_dst);
5866 /* rule 286 can match eol */
5868 ENTER(VALUE2); BUFFERSET(AX_surfxml_ASroute_gw_dst);
5871 /* rule 287 can match eol */
5873 /* rule 288 can match eol */
5875 A_surfxml_ASroute_symmetrical = A_surfxml_ASroute_symmetrical_YES;
5878 /* rule 289 can match eol */
5880 /* rule 290 can match eol */
5882 A_surfxml_ASroute_symmetrical = A_surfxml_ASroute_symmetrical_NO;
5887 if (!AX_surfxml_ASroute_src) FAIL("Required attribute `src' not set for `ASroute' element.");
5888 if (!AX_surfxml_ASroute_dst) FAIL("Required attribute `dst' not set for `ASroute' element.");
5889 if (!AX_surfxml_ASroute_gw_src) FAIL("Required attribute `gw_src' not set for `ASroute' element.");
5890 if (!AX_surfxml_ASroute_gw_dst) FAIL("Required attribute `gw_dst' not set for `ASroute' element.");
5891 LEAVE; STag_surfxml_ASroute();surfxml_pcdata_ix = 0; ENTER(S_surfxml_ASroute);
5897 if (!AX_surfxml_ASroute_src) FAIL("Required attribute `src' not set for `ASroute' element.");
5898 if (!AX_surfxml_ASroute_dst) FAIL("Required attribute `dst' not set for `ASroute' element.");
5899 if (!AX_surfxml_ASroute_gw_src) FAIL("Required attribute `gw_src' not set for `ASroute' element.");
5900 if (!AX_surfxml_ASroute_gw_dst) FAIL("Required attribute `gw_dst' not set for `ASroute' element.");
5901 LEAVE; STag_surfxml_ASroute(); surfxml_pcdata_ix = 0; ETag_surfxml_ASroute(); popbuffer(); /* attribute */
5903 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;
5909 FAIL("Unexpected character `%c' in attribute list of ASroute element.", surf_parse_text[0]);
5913 FAIL("Bad attribute `%s' in `ASroute' element start tag.",surf_parse_text);
5915 case YY_STATE_EOF(AL_surfxml_ASroute):
5916 FAIL("EOF in attribute list of `ASroute' element.");
5920 /* rule 295 can match eol */
5924 ETag_surfxml_ASroute();
5925 popbuffer(); /* attribute */
5927 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;
5932 /* rule 296 can match eol */
5934 FAIL("Unexpected end-tag `%s': `</ASroute>' expected.",surf_parse_text);
5938 FAIL("Unexpected character `%c': `</ASroute>' expected.",surf_parse_text[0]);
5940 case YY_STATE_EOF(E_surfxml_ASroute):
5941 case YY_STATE_EOF(S_surfxml_ASroute):
5942 case YY_STATE_EOF(S_surfxml_ASroute_2):
5943 FAIL("Premature EOF: `</ASroute>' expected.");
5947 /* rule 298 can match eol */
5949 FAIL("Starting tag <link_ctn> is not allowed here.");
5952 /* rule 299 can match eol */
5955 AX_surfxml_link_ctn_id = 0;
5956 AX_surfxml_link_ctn_direction = A_surfxml_link_ctn_direction_NONE;
5957 ENTER(AL_surfxml_link_ctn); pushbuffer(0);
5962 /* rule 300 can match eol */
5964 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_ctn_id);
5967 /* rule 301 can match eol */
5969 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_ctn_id);
5972 /* rule 302 can match eol */
5974 /* rule 303 can match eol */
5976 A_surfxml_link_ctn_direction = A_surfxml_link_ctn_direction_UP;
5979 /* rule 304 can match eol */
5981 /* rule 305 can match eol */
5983 A_surfxml_link_ctn_direction = A_surfxml_link_ctn_direction_DOWN;
5986 /* rule 306 can match eol */
5988 /* rule 307 can match eol */
5990 A_surfxml_link_ctn_direction = A_surfxml_link_ctn_direction_NONE;
5995 if (!AX_surfxml_link_ctn_id) FAIL("Required attribute `id' not set for `link_ctn' element.");
5996 LEAVE; STag_surfxml_link_ctn();surfxml_pcdata_ix = 0; ENTER(E_surfxml_link_ctn);
6002 if (!AX_surfxml_link_ctn_id) FAIL("Required attribute `id' not set for `link_ctn' element.");
6003 LEAVE; STag_surfxml_link_ctn(); surfxml_pcdata_ix = 0; ETag_surfxml_link_ctn(); popbuffer(); /* attribute */
6005 case S_surfxml_bypassRoute: case S_surfxml_bypassRoute_2: case S_surfxml_bypassRoute_1: SET(S_surfxml_bypassRoute_2); break;
6006 case S_surfxml_route_1: case S_surfxml_route: case S_surfxml_route_2: SET(S_surfxml_route_2); break;
6007 case S_surfxml_ASroute: case S_surfxml_ASroute_1: case S_surfxml_ASroute_2: SET(S_surfxml_ASroute_2); break;
6013 FAIL("Unexpected character `%c' in attribute list of link_ctn element.", surf_parse_text[0]);
6017 FAIL("Bad attribute `%s' in `link_ctn' element start tag.",surf_parse_text);
6019 case YY_STATE_EOF(AL_surfxml_link_ctn):
6020 FAIL("EOF in attribute list of `link_ctn' element.");
6024 /* rule 312 can match eol */
6028 ETag_surfxml_link_ctn();
6029 popbuffer(); /* attribute */
6031 case S_surfxml_bypassRoute: case S_surfxml_bypassRoute_2: case S_surfxml_bypassRoute_1: SET(S_surfxml_bypassRoute_2); break;
6032 case S_surfxml_route_1: case S_surfxml_route: case S_surfxml_route_2: SET(S_surfxml_route_2); break;
6033 case S_surfxml_ASroute: case S_surfxml_ASroute_1: case S_surfxml_ASroute_2: SET(S_surfxml_ASroute_2); break;
6038 /* rule 313 can match eol */
6040 FAIL("Unexpected end-tag `%s': `</link_ctn>' expected.",surf_parse_text);
6044 FAIL("Unexpected character `%c': `</link_ctn>' expected.",surf_parse_text[0]);
6046 case YY_STATE_EOF(E_surfxml_link_ctn):
6047 FAIL("Premature EOF: `</link_ctn>' expected.");
6051 /* rule 315 can match eol */
6053 FAIL("Starting tag <bypassRoute> is not allowed here.");
6056 /* rule 316 can match eol */
6059 AX_surfxml_bypassRoute_src = 0;
6060 AX_surfxml_bypassRoute_dst = 0;
6061 AX_surfxml_bypassRoute_gw_src = 0;
6062 AX_surfxml_bypassRoute_gw_dst = 0;
6063 ENTER(AL_surfxml_bypassRoute); pushbuffer(0);
6068 /* rule 317 can match eol */
6070 ENTER(VALUE1); BUFFERSET(AX_surfxml_bypassRoute_src);
6073 /* rule 318 can match eol */
6075 ENTER(VALUE2); BUFFERSET(AX_surfxml_bypassRoute_src);
6078 /* rule 319 can match eol */
6080 ENTER(VALUE1); BUFFERSET(AX_surfxml_bypassRoute_dst);
6083 /* rule 320 can match eol */
6085 ENTER(VALUE2); BUFFERSET(AX_surfxml_bypassRoute_dst);
6088 /* rule 321 can match eol */
6090 ENTER(VALUE1); BUFFERSET(AX_surfxml_bypassRoute_gw_src);
6093 /* rule 322 can match eol */
6095 ENTER(VALUE2); BUFFERSET(AX_surfxml_bypassRoute_gw_src);
6098 /* rule 323 can match eol */
6100 ENTER(VALUE1); BUFFERSET(AX_surfxml_bypassRoute_gw_dst);
6103 /* rule 324 can match eol */
6105 ENTER(VALUE2); BUFFERSET(AX_surfxml_bypassRoute_gw_dst);
6110 if (!AX_surfxml_bypassRoute_src) FAIL("Required attribute `src' not set for `bypassRoute' element.");
6111 if (!AX_surfxml_bypassRoute_dst) FAIL("Required attribute `dst' not set for `bypassRoute' element.");
6112 if (!AX_surfxml_bypassRoute_gw_src) FAIL("Required attribute `gw_src' not set for `bypassRoute' element.");
6113 if (!AX_surfxml_bypassRoute_gw_dst) FAIL("Required attribute `gw_dst' not set for `bypassRoute' element.");
6114 LEAVE; STag_surfxml_bypassRoute();surfxml_pcdata_ix = 0; ENTER(S_surfxml_bypassRoute);
6120 if (!AX_surfxml_bypassRoute_src) FAIL("Required attribute `src' not set for `bypassRoute' element.");
6121 if (!AX_surfxml_bypassRoute_dst) FAIL("Required attribute `dst' not set for `bypassRoute' element.");
6122 if (!AX_surfxml_bypassRoute_gw_src) FAIL("Required attribute `gw_src' not set for `bypassRoute' element.");
6123 if (!AX_surfxml_bypassRoute_gw_dst) FAIL("Required attribute `gw_dst' not set for `bypassRoute' element.");
6124 LEAVE; STag_surfxml_bypassRoute(); surfxml_pcdata_ix = 0; ETag_surfxml_bypassRoute(); popbuffer(); /* attribute */
6126 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;
6132 FAIL("Unexpected character `%c' in attribute list of bypassRoute element.", surf_parse_text[0]);
6136 FAIL("Bad attribute `%s' in `bypassRoute' element start tag.",surf_parse_text);
6138 case YY_STATE_EOF(AL_surfxml_bypassRoute):
6139 FAIL("EOF in attribute list of `bypassRoute' element.");
6143 /* rule 329 can match eol */
6147 ETag_surfxml_bypassRoute();
6148 popbuffer(); /* attribute */
6150 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;
6155 /* rule 330 can match eol */
6157 FAIL("Unexpected end-tag `%s': `</bypassRoute>' expected.",surf_parse_text);
6161 FAIL("Unexpected character `%c': `</bypassRoute>' expected.",surf_parse_text[0]);
6163 case YY_STATE_EOF(S_surfxml_bypassRoute):
6164 case YY_STATE_EOF(S_surfxml_bypassRoute_2):
6165 case YY_STATE_EOF(E_surfxml_bypassRoute):
6166 FAIL("Premature EOF: `</bypassRoute>' expected.");
6170 /* rule 332 can match eol */
6172 FAIL("Starting tag <process> is not allowed here.");
6175 /* rule 333 can match eol */
6178 AX_surfxml_process_host = 0;
6179 AX_surfxml_process_function = 0;
6180 AX_surfxml_process_start_time = 28;
6181 AX_surfxml_process_kill_time = 33;
6182 ENTER(AL_surfxml_process); pushbuffer(0);
6187 /* rule 334 can match eol */
6189 ENTER(VALUE1); BUFFERSET(AX_surfxml_process_host);
6192 /* rule 335 can match eol */
6194 ENTER(VALUE2); BUFFERSET(AX_surfxml_process_host);
6197 /* rule 336 can match eol */
6199 ENTER(VALUE1); BUFFERSET(AX_surfxml_process_function);
6202 /* rule 337 can match eol */
6204 ENTER(VALUE2); BUFFERSET(AX_surfxml_process_function);
6207 /* rule 338 can match eol */
6209 ENTER(VALUE1); BUFFERSET(AX_surfxml_process_start_time);
6212 /* rule 339 can match eol */
6214 ENTER(VALUE2); BUFFERSET(AX_surfxml_process_start_time);
6217 /* rule 340 can match eol */
6219 ENTER(VALUE1); BUFFERSET(AX_surfxml_process_kill_time);
6222 /* rule 341 can match eol */
6224 ENTER(VALUE2); BUFFERSET(AX_surfxml_process_kill_time);
6229 if (!AX_surfxml_process_host) FAIL("Required attribute `host' not set for `process' element.");
6230 if (!AX_surfxml_process_function) FAIL("Required attribute `function' not set for `process' element.");
6231 LEAVE; STag_surfxml_process();surfxml_pcdata_ix = 0; ENTER(S_surfxml_process);
6237 if (!AX_surfxml_process_host) FAIL("Required attribute `host' not set for `process' element.");
6238 if (!AX_surfxml_process_function) FAIL("Required attribute `function' not set for `process' element.");
6239 LEAVE; STag_surfxml_process(); surfxml_pcdata_ix = 0; ETag_surfxml_process(); popbuffer(); /* attribute */
6241 case S_surfxml_platform_6: case S_surfxml_platform_4: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_8: case S_surfxml_platform_7: case S_surfxml_platform_3: SET(S_surfxml_platform_8); break;
6247 FAIL("Unexpected character `%c' in attribute list of process element.", surf_parse_text[0]);
6251 FAIL("Bad attribute `%s' in `process' element start tag.",surf_parse_text);
6253 case YY_STATE_EOF(AL_surfxml_process):
6254 FAIL("EOF in attribute list of `process' element.");
6258 /* rule 346 can match eol */
6262 ETag_surfxml_process();
6263 popbuffer(); /* attribute */
6265 case S_surfxml_platform_6: case S_surfxml_platform_4: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_8: case S_surfxml_platform_7: case S_surfxml_platform_3: SET(S_surfxml_platform_8); break;
6270 /* rule 347 can match eol */
6272 FAIL("Unexpected end-tag `%s': `</process>' expected.",surf_parse_text);
6276 FAIL("Unexpected character `%c': `</process>' expected.",surf_parse_text[0]);
6278 case YY_STATE_EOF(E_surfxml_process):
6279 case YY_STATE_EOF(S_surfxml_process):
6280 case YY_STATE_EOF(S_surfxml_process_2):
6281 FAIL("Premature EOF: `</process>' expected.");
6285 /* rule 349 can match eol */
6287 FAIL("Starting tag <argument> is not allowed here.");
6290 /* rule 350 can match eol */
6293 AX_surfxml_argument_value = 0;
6294 ENTER(AL_surfxml_argument); pushbuffer(0);
6299 /* rule 351 can match eol */
6301 ENTER(VALUE1); BUFFERSET(AX_surfxml_argument_value);
6304 /* rule 352 can match eol */
6306 ENTER(VALUE2); BUFFERSET(AX_surfxml_argument_value);
6311 if (!AX_surfxml_argument_value) FAIL("Required attribute `value' not set for `argument' element.");
6312 LEAVE; STag_surfxml_argument();surfxml_pcdata_ix = 0; ENTER(E_surfxml_argument);
6318 if (!AX_surfxml_argument_value) FAIL("Required attribute `value' not set for `argument' element.");
6319 LEAVE; STag_surfxml_argument(); surfxml_pcdata_ix = 0; ETag_surfxml_argument(); popbuffer(); /* attribute */
6321 case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
6327 FAIL("Unexpected character `%c' in attribute list of argument element.", surf_parse_text[0]);
6331 FAIL("Bad attribute `%s' in `argument' element start tag.",surf_parse_text);
6333 case YY_STATE_EOF(AL_surfxml_argument):
6334 FAIL("EOF in attribute list of `argument' element.");
6338 /* rule 357 can match eol */
6342 ETag_surfxml_argument();
6343 popbuffer(); /* attribute */
6345 case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
6350 /* rule 358 can match eol */
6352 FAIL("Unexpected end-tag `%s': `</argument>' expected.",surf_parse_text);
6356 FAIL("Unexpected character `%c': `</argument>' expected.",surf_parse_text[0]);
6358 case YY_STATE_EOF(E_surfxml_argument):
6359 FAIL("Premature EOF: `</argument>' expected.");
6363 /* rule 360 can match eol */
6365 FAIL("Starting tag <config> is not allowed here.");
6368 /* rule 361 can match eol */
6371 AX_surfxml_config_id = 0;
6372 ENTER(AL_surfxml_config); pushbuffer(0);
6377 /* rule 362 can match eol */
6379 ENTER(VALUE1); BUFFERSET(AX_surfxml_config_id);
6382 /* rule 363 can match eol */
6384 ENTER(VALUE2); BUFFERSET(AX_surfxml_config_id);
6389 LEAVE; STag_surfxml_config();surfxml_pcdata_ix = 0; ENTER(S_surfxml_config);
6395 LEAVE; STag_surfxml_config(); surfxml_pcdata_ix = 0; ETag_surfxml_config(); popbuffer(); /* attribute */
6397 case S_surfxml_platform_2: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_3); break;
6403 FAIL("Unexpected character `%c' in attribute list of config element.", surf_parse_text[0]);
6407 FAIL("Bad attribute `%s' in `config' element start tag.",surf_parse_text);
6409 case YY_STATE_EOF(AL_surfxml_config):
6410 FAIL("EOF in attribute list of `config' element.");
6414 /* rule 368 can match eol */
6418 ETag_surfxml_config();
6419 popbuffer(); /* attribute */
6421 case S_surfxml_platform_2: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_3); break;
6426 /* rule 369 can match eol */
6428 FAIL("Unexpected end-tag `%s': `</config>' expected.",surf_parse_text);
6432 FAIL("Unexpected character `%c': `</config>' expected.",surf_parse_text[0]);
6434 case YY_STATE_EOF(S_surfxml_config):
6435 case YY_STATE_EOF(S_surfxml_config_2):
6436 case YY_STATE_EOF(E_surfxml_config):
6437 FAIL("Premature EOF: `</config>' expected.");
6440 /* <!-- <!ATTLIST prop key CDATA #REQUIRED> -->
6441 * <!-- <!ATTLIST prop key CDATA #REQUIRED> --> */
6443 /* rule 371 can match eol */
6445 FAIL("Starting tag <prop> is not allowed here.");
6448 /* rule 372 can match eol */
6451 AX_surfxml_prop_id = 0;
6452 AX_surfxml_prop_value = 0;
6453 ENTER(AL_surfxml_prop); pushbuffer(0);
6458 /* rule 373 can match eol */
6460 ENTER(VALUE1); BUFFERSET(AX_surfxml_prop_id);
6463 /* rule 374 can match eol */
6465 ENTER(VALUE2); BUFFERSET(AX_surfxml_prop_id);
6468 /* rule 375 can match eol */
6470 ENTER(VALUE1); BUFFERSET(AX_surfxml_prop_value);
6473 /* rule 376 can match eol */
6475 ENTER(VALUE2); BUFFERSET(AX_surfxml_prop_value);
6480 if (!AX_surfxml_prop_id) FAIL("Required attribute `id' not set for `prop' element.");
6481 if (!AX_surfxml_prop_value) FAIL("Required attribute `value' not set for `prop' element.");
6482 LEAVE; STag_surfxml_prop();surfxml_pcdata_ix = 0; ENTER(E_surfxml_prop);
6488 if (!AX_surfxml_prop_id) FAIL("Required attribute `id' not set for `prop' element.");
6489 if (!AX_surfxml_prop_value) FAIL("Required attribute `value' not set for `prop' element.");
6490 LEAVE; STag_surfxml_prop(); surfxml_pcdata_ix = 0; ETag_surfxml_prop(); popbuffer(); /* attribute */
6492 case S_surfxml_random: case S_surfxml_random_2: case S_surfxml_random_1: SET(S_surfxml_random_2); break;
6493 case S_surfxml_config_1: case S_surfxml_config: case S_surfxml_config_2: SET(S_surfxml_config_2); break;
6494 case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
6495 case S_surfxml_host_1: case S_surfxml_host_2: case S_surfxml_host: SET(S_surfxml_host_2); break;
6496 case S_surfxml_link_1: case S_surfxml_link_2: case S_surfxml_link: SET(S_surfxml_link_2); break;
6502 FAIL("Unexpected character `%c' in attribute list of prop element.", surf_parse_text[0]);
6506 FAIL("Bad attribute `%s' in `prop' element start tag.",surf_parse_text);
6508 case YY_STATE_EOF(AL_surfxml_prop):
6509 FAIL("EOF in attribute list of `prop' element.");
6513 /* rule 381 can match eol */
6517 ETag_surfxml_prop();
6518 popbuffer(); /* attribute */
6520 case S_surfxml_random: case S_surfxml_random_2: case S_surfxml_random_1: SET(S_surfxml_random_2); break;
6521 case S_surfxml_config_1: case S_surfxml_config: case S_surfxml_config_2: SET(S_surfxml_config_2); break;
6522 case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
6523 case S_surfxml_host_1: case S_surfxml_host_2: case S_surfxml_host: SET(S_surfxml_host_2); break;
6524 case S_surfxml_link_1: case S_surfxml_link_2: case S_surfxml_link: SET(S_surfxml_link_2); break;
6529 /* rule 382 can match eol */
6531 FAIL("Unexpected end-tag `%s': `</prop>' expected.",surf_parse_text);
6535 FAIL("Unexpected character `%c': `</prop>' expected.",surf_parse_text[0]);
6537 case YY_STATE_EOF(E_surfxml_prop):
6538 FAIL("Premature EOF: `</prop>' expected.");
6541 /* EPILOG: after the root element. */
6545 {SET(PROLOG); yyless(0); CLEANUP; return -1;}
6547 case YY_STATE_EOF(EPILOG):
6551 /* CHARACTER DATA. */
6553 /* Non-defined standard entities... */
6574 /* Character entities. */
6577 BUFFERPUTC((unsigned char)atoi(surf_parse_text+2));
6581 BUFFERPUTC((unsigned char)strtol(surf_parse_text+3,NULL,16));
6585 /* rule 392 can match eol */
6587 /* rule 393 can match eol */
6589 /* rule 394 can match eol */
6591 /* rule 395 can match eol */
6602 FAIL("Unexpected `]""]>' in character data.");
6609 case YY_STATE_EOF(VALUE1):
6610 FAIL("EOF in literal (\"'\" expected).");
6617 case YY_STATE_EOF(VALUE2):
6618 FAIL("EOF in literal (`\"' expected).");
6622 /* rule 400 can match eol */
6624 BUFFERPUTC(surf_parse_text[0]);
6628 FAIL("Spurious `%c' in character data.",surf_parse_text[0]);
6635 /* "]""]" BUFFERPUTC(surf_parse_text[0]); BUFFERPUTC(surf_parse_text[1]); */
6638 BUFFERPUTC(surf_parse_text[0]);
6640 case YY_STATE_EOF(CDATA):
6641 FAIL("EOF in CDATA section.");
6644 /* Impossible rules to avoid warnings from flex(1). */
6645 /* Ideally, this should be replaced by code in flexml.pl that
6646 generates just the states not covered by other rules. */
6649 /* rule 404 can match eol */
6651 FAIL("Syntax error on character `%c'.", surf_parse_text[0]);
6658 case YY_STATE_EOF(INITIAL):
6659 case YY_STATE_EOF(ROOT_surfxml_platform):
6660 case YY_STATE_EOF(S_surfxml_platform_2):
6661 case YY_STATE_EOF(S_surfxml_platform_5):
6662 case YY_STATE_EOF(S_surfxml_platform_7):
6663 case YY_STATE_EOF(S_surfxml_random_1):
6664 case YY_STATE_EOF(S_surfxml_AS_2):
6665 case YY_STATE_EOF(S_surfxml_AS_5):
6666 case YY_STATE_EOF(S_surfxml_AS_7):
6667 case YY_STATE_EOF(S_surfxml_AS_10):
6668 case YY_STATE_EOF(S_surfxml_AS_12):
6669 case YY_STATE_EOF(S_surfxml_host_1):
6670 case YY_STATE_EOF(S_surfxml_link_1):
6671 case YY_STATE_EOF(S_surfxml_route_1):
6672 case YY_STATE_EOF(S_surfxml_ASroute_1):
6673 case YY_STATE_EOF(S_surfxml_bypassRoute_1):
6674 case YY_STATE_EOF(S_surfxml_process_1):
6675 case YY_STATE_EOF(S_surfxml_config_1):
6676 case YY_STATE_EOF(IMPOSSIBLE):
6679 case YY_END_OF_BUFFER:
6681 /* Amount of text matched not including the EOB char. */
6682 int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
6684 /* Undo the effects of YY_DO_BEFORE_ACTION. */
6685 *yy_cp = (yy_hold_char);
6686 YY_RESTORE_YY_MORE_OFFSET
6688 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
6690 /* We're scanning a new file or input source. It's
6691 * possible that this happened because the user
6692 * just pointed surf_parse_in at a new source and called
6693 * surf_parse_lex(). If so, then we have to assure
6694 * consistency between YY_CURRENT_BUFFER and our
6695 * globals. Here is the right place to do so, because
6696 * this is the first action (other than possibly a
6697 * back-up) that will match for the new input source.
6699 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
6700 YY_CURRENT_BUFFER_LVALUE->yy_input_file = surf_parse_in;
6701 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
6704 /* Note that here we test for yy_c_buf_p "<=" to the position
6705 * of the first EOB in the buffer, since yy_c_buf_p will
6706 * already have been incremented past the NUL character
6707 * (since all states make transitions on EOB to the
6708 * end-of-buffer state). Contrast this with the test
6711 if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
6712 { /* This was really a NUL. */
6713 yy_state_type yy_next_state;
6715 (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
6717 yy_current_state = yy_get_previous_state( );
6719 /* Okay, we're now positioned to make the NUL
6720 * transition. We couldn't have
6721 * yy_get_previous_state() go ahead and do it
6722 * for us because it doesn't know how to deal
6723 * with the possibility of jamming (and we don't
6724 * want to build jamming into it because then it
6725 * will run more slowly).
6728 yy_next_state = yy_try_NUL_trans( yy_current_state );
6730 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
6732 if ( yy_next_state )
6734 /* Consume the NUL. */
6735 yy_cp = ++(yy_c_buf_p);
6736 yy_current_state = yy_next_state;
6742 yy_cp = (yy_c_buf_p);
6743 goto yy_find_action;
6747 else switch ( yy_get_next_buffer( ) )
6749 case EOB_ACT_END_OF_FILE:
6751 (yy_did_buffer_switch_on_eof) = 0;
6753 if ( surf_parse_wrap( ) )
6755 /* Note: because we've taken care in
6756 * yy_get_next_buffer() to have set up
6757 * surf_parse_text, we can now set up
6758 * yy_c_buf_p so that if some total
6759 * hoser (like flex itself) wants to
6760 * call the scanner after we return the
6761 * YY_NULL, it'll still work - another
6762 * YY_NULL will get returned.
6764 (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
6766 yy_act = YY_STATE_EOF(YY_START);
6772 if ( ! (yy_did_buffer_switch_on_eof) )
6778 case EOB_ACT_CONTINUE_SCAN:
6780 (yytext_ptr) + yy_amount_of_matched_text;
6782 yy_current_state = yy_get_previous_state( );
6784 yy_cp = (yy_c_buf_p);
6785 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
6788 case EOB_ACT_LAST_MATCH:
6790 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
6792 yy_current_state = yy_get_previous_state( );
6794 yy_cp = (yy_c_buf_p);
6795 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
6796 goto yy_find_action;
6803 "fatal flex scanner internal error--no action found" );
6804 } /* end of action switch */
6805 } /* end of scanning one token */
6806 } /* end of surf_parse_lex */
6808 /* yy_get_next_buffer - try to read in a new buffer
6810 * Returns a code representing an action:
6811 * EOB_ACT_LAST_MATCH -
6812 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
6813 * EOB_ACT_END_OF_FILE - end of file
6815 static int yy_get_next_buffer (void)
6817 register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
6818 register char *source = (yytext_ptr);
6819 register int number_to_move, i;
6822 if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
6824 "fatal flex scanner internal error--end of buffer missed" );
6826 if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
6827 { /* Don't try to fill the buffer, so this is an EOF. */
6828 if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
6830 /* We matched a single character, the EOB, so
6831 * treat this as a final EOF.
6833 return EOB_ACT_END_OF_FILE;
6838 /* We matched some text prior to the EOB, first
6841 return EOB_ACT_LAST_MATCH;
6845 /* Try to read more data. */
6847 /* First move last chars to start of buffer. */
6848 number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
6850 for ( i = 0; i < number_to_move; ++i )
6851 *(dest++) = *(source++);
6853 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
6854 /* don't do the read, it's not guaranteed to return an EOF,
6857 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
6862 YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
6864 while ( num_to_read <= 0 )
6865 { /* Not enough room in the buffer - grow it. */
6867 /* just a shorter name for the current buffer */
6868 YY_BUFFER_STATE b = YY_CURRENT_BUFFER;
6870 int yy_c_buf_p_offset =
6871 (int) ((yy_c_buf_p) - b->yy_ch_buf);
6873 if ( b->yy_is_our_buffer )
6875 int new_size = b->yy_buf_size * 2;
6877 if ( new_size <= 0 )
6878 b->yy_buf_size += b->yy_buf_size / 8;
6880 b->yy_buf_size *= 2;
6882 b->yy_ch_buf = (char *)
6883 /* Include room in for 2 EOB chars. */
6884 surf_parse_realloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 );
6887 /* Can't grow it, we don't own it. */
6890 if ( ! b->yy_ch_buf )
6892 "fatal error - scanner input buffer overflow" );
6894 (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
6896 num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
6901 if ( num_to_read > YY_READ_BUF_SIZE )
6902 num_to_read = YY_READ_BUF_SIZE;
6904 /* Read in more data. */
6905 YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
6906 (yy_n_chars), (size_t) num_to_read );
6908 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
6911 if ( (yy_n_chars) == 0 )
6913 if ( number_to_move == YY_MORE_ADJ )
6915 ret_val = EOB_ACT_END_OF_FILE;
6916 surf_parse_restart(surf_parse_in );
6921 ret_val = EOB_ACT_LAST_MATCH;
6922 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
6923 YY_BUFFER_EOF_PENDING;
6928 ret_val = EOB_ACT_CONTINUE_SCAN;
6930 if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
6931 /* Extend the array by 50%, plus the number we really need. */
6932 yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
6933 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) surf_parse_realloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size );
6934 if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
6935 YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
6938 (yy_n_chars) += number_to_move;
6939 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
6940 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
6942 (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
6947 /* yy_get_previous_state - get the state just before the EOB char was reached */
6949 static yy_state_type yy_get_previous_state (void)
6951 register yy_state_type yy_current_state;
6952 register char *yy_cp;
6954 yy_current_state = (yy_start);
6956 for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
6958 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
6959 if ( yy_accept[yy_current_state] )
6961 (yy_last_accepting_state) = yy_current_state;
6962 (yy_last_accepting_cpos) = yy_cp;
6964 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
6966 yy_current_state = (int) yy_def[yy_current_state];
6967 if ( yy_current_state >= 2424 )
6968 yy_c = yy_meta[(unsigned int) yy_c];
6970 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
6973 return yy_current_state;
6976 /* yy_try_NUL_trans - try to make a transition on the NUL character
6979 * next_state = yy_try_NUL_trans( current_state );
6981 static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state )
6983 register int yy_is_jam;
6984 register char *yy_cp = (yy_c_buf_p);
6986 register YY_CHAR yy_c = 1;
6987 if ( yy_accept[yy_current_state] )
6989 (yy_last_accepting_state) = yy_current_state;
6990 (yy_last_accepting_cpos) = yy_cp;
6992 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
6994 yy_current_state = (int) yy_def[yy_current_state];
6995 if ( yy_current_state >= 2424 )
6996 yy_c = yy_meta[(unsigned int) yy_c];
6998 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
6999 yy_is_jam = (yy_current_state == 2423);
7001 return yy_is_jam ? 0 : yy_current_state;
7006 static int yyinput (void)
7008 static int input (void)
7014 *(yy_c_buf_p) = (yy_hold_char);
7016 if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
7018 /* yy_c_buf_p now points to the character we want to return.
7019 * If this occurs *before* the EOB characters, then it's a
7020 * valid NUL; if not, then we've hit the end of the buffer.
7022 if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
7023 /* This was really a NUL. */
7024 *(yy_c_buf_p) = '\0';
7027 { /* need more input */
7028 int offset = (yy_c_buf_p) - (yytext_ptr);
7031 switch ( yy_get_next_buffer( ) )
7033 case EOB_ACT_LAST_MATCH:
7034 /* This happens because yy_g_n_b()
7035 * sees that we've accumulated a
7036 * token and flags that we need to
7037 * try matching the token before
7038 * proceeding. But for input(),
7039 * there's no matching to consider.
7040 * So convert the EOB_ACT_LAST_MATCH
7041 * to EOB_ACT_END_OF_FILE.
7044 /* Reset buffer status. */
7045 surf_parse_restart(surf_parse_in );
7049 case EOB_ACT_END_OF_FILE:
7051 if ( surf_parse_wrap( ) )
7054 if ( ! (yy_did_buffer_switch_on_eof) )
7063 case EOB_ACT_CONTINUE_SCAN:
7064 (yy_c_buf_p) = (yytext_ptr) + offset;
7070 c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */
7071 *(yy_c_buf_p) = '\0'; /* preserve surf_parse_text */
7072 (yy_hold_char) = *++(yy_c_buf_p);
7076 surf_parse_lineno++;
7081 #endif /* ifndef YY_NO_INPUT */
7083 /** Immediately switch to a different input stream.
7084 * @param input_file A readable stream.
7086 * @note This function does not reset the start condition to @c INITIAL .
7088 void surf_parse_restart (FILE * input_file )
7091 if ( ! YY_CURRENT_BUFFER ){
7092 surf_parse_ensure_buffer_stack ();
7093 YY_CURRENT_BUFFER_LVALUE =
7094 surf_parse__create_buffer(surf_parse_in,YY_BUF_SIZE );
7097 surf_parse__init_buffer(YY_CURRENT_BUFFER,input_file );
7098 surf_parse__load_buffer_state( );
7101 /** Switch to a different input buffer.
7102 * @param new_buffer The new input buffer.
7105 void surf_parse__switch_to_buffer (YY_BUFFER_STATE new_buffer )
7108 /* TODO. We should be able to replace this entire function body
7110 * surf_parse_pop_buffer_state();
7111 * surf_parse_push_buffer_state(new_buffer);
7113 surf_parse_ensure_buffer_stack ();
7114 if ( YY_CURRENT_BUFFER == new_buffer )
7117 if ( YY_CURRENT_BUFFER )
7119 /* Flush out information for old buffer. */
7120 *(yy_c_buf_p) = (yy_hold_char);
7121 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
7122 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
7125 YY_CURRENT_BUFFER_LVALUE = new_buffer;
7126 surf_parse__load_buffer_state( );
7128 /* We don't actually know whether we did this switch during
7129 * EOF (surf_parse_wrap()) processing, but the only time this flag
7130 * is looked at is after surf_parse_wrap() is called, so it's safe
7131 * to go ahead and always set it.
7133 (yy_did_buffer_switch_on_eof) = 1;
7136 static void surf_parse__load_buffer_state (void)
7138 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
7139 (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
7140 surf_parse_in = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
7141 (yy_hold_char) = *(yy_c_buf_p);
7144 /** Allocate and initialize an input buffer state.
7145 * @param file A readable stream.
7146 * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
7148 * @return the allocated buffer state.
7150 YY_BUFFER_STATE surf_parse__create_buffer (FILE * file, int size )
7154 b = (YY_BUFFER_STATE) surf_parse_alloc(sizeof( struct yy_buffer_state ) );
7156 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__create_buffer()" );
7158 b->yy_buf_size = size;
7160 /* yy_ch_buf has to be 2 characters longer than the size given because
7161 * we need to put in 2 end-of-buffer characters.
7163 b->yy_ch_buf = (char *) surf_parse_alloc(b->yy_buf_size + 2 );
7164 if ( ! b->yy_ch_buf )
7165 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__create_buffer()" );
7167 b->yy_is_our_buffer = 1;
7169 surf_parse__init_buffer(b,file );
7174 /** Destroy the buffer.
7175 * @param b a buffer created with surf_parse__create_buffer()
7178 void surf_parse__delete_buffer (YY_BUFFER_STATE b )
7184 if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
7185 YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
7187 if ( b->yy_is_our_buffer )
7188 surf_parse_free((void *) b->yy_ch_buf );
7190 surf_parse_free((void *) b );
7194 extern int isatty (int );
7195 #endif /* __cplusplus */
7197 /* Initializes or reinitializes a buffer.
7198 * This function is sometimes called more than once on the same buffer,
7199 * such as during a surf_parse_restart() or at EOF.
7201 static void surf_parse__init_buffer (YY_BUFFER_STATE b, FILE * file )
7206 surf_parse__flush_buffer(b );
7208 b->yy_input_file = file;
7209 b->yy_fill_buffer = 1;
7211 /* If b is the current buffer, then surf_parse__init_buffer was _probably_
7212 * called from surf_parse_restart() or through yy_get_next_buffer.
7213 * In that case, we don't want to reset the lineno or column.
7215 if (b != YY_CURRENT_BUFFER){
7216 b->yy_bs_lineno = 1;
7217 b->yy_bs_column = 0;
7220 b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
7225 /** Discard all buffered characters. On the next scan, YY_INPUT will be called.
7226 * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
7229 void surf_parse__flush_buffer (YY_BUFFER_STATE b )
7236 /* We always need two end-of-buffer characters. The first causes
7237 * a transition to the end-of-buffer state. The second causes
7238 * a jam in that state.
7240 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
7241 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
7243 b->yy_buf_pos = &b->yy_ch_buf[0];
7246 b->yy_buffer_status = YY_BUFFER_NEW;
7248 if ( b == YY_CURRENT_BUFFER )
7249 surf_parse__load_buffer_state( );
7252 /** Pushes the new state onto the stack. The new state becomes
7253 * the current state. This function will allocate the stack
7255 * @param new_buffer The new state.
7258 void surf_parse_push_buffer_state (YY_BUFFER_STATE new_buffer )
7260 if (new_buffer == NULL)
7263 surf_parse_ensure_buffer_stack();
7265 /* This block is copied from surf_parse__switch_to_buffer. */
7266 if ( YY_CURRENT_BUFFER )
7268 /* Flush out information for old buffer. */
7269 *(yy_c_buf_p) = (yy_hold_char);
7270 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
7271 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
7274 /* Only push if top exists. Otherwise, replace top. */
7275 if (YY_CURRENT_BUFFER)
7276 (yy_buffer_stack_top)++;
7277 YY_CURRENT_BUFFER_LVALUE = new_buffer;
7279 /* copied from surf_parse__switch_to_buffer. */
7280 surf_parse__load_buffer_state( );
7281 (yy_did_buffer_switch_on_eof) = 1;
7284 /** Removes and deletes the top of the stack, if present.
7285 * The next element becomes the new top.
7288 void surf_parse_pop_buffer_state (void)
7290 if (!YY_CURRENT_BUFFER)
7293 surf_parse__delete_buffer(YY_CURRENT_BUFFER );
7294 YY_CURRENT_BUFFER_LVALUE = NULL;
7295 if ((yy_buffer_stack_top) > 0)
7296 --(yy_buffer_stack_top);
7298 if (YY_CURRENT_BUFFER) {
7299 surf_parse__load_buffer_state( );
7300 (yy_did_buffer_switch_on_eof) = 1;
7304 /* Allocates the stack if it does not exist.
7305 * Guarantees space for at least one push.
7307 static void surf_parse_ensure_buffer_stack (void)
7311 if (!(yy_buffer_stack)) {
7313 /* First allocation is just for 2 elements, since we don't know if this
7314 * scanner will even need a stack. We use 2 instead of 1 to avoid an
7315 * immediate realloc on the next call.
7318 (yy_buffer_stack) = (struct yy_buffer_state**)surf_parse_alloc
7319 (num_to_alloc * sizeof(struct yy_buffer_state*)
7321 if ( ! (yy_buffer_stack) )
7322 YY_FATAL_ERROR( "out of dynamic memory in surf_parse_ensure_buffer_stack()" );
7324 memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
7326 (yy_buffer_stack_max) = num_to_alloc;
7327 (yy_buffer_stack_top) = 0;
7331 if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
7333 /* Increase the buffer to prepare for a possible push. */
7334 int grow_size = 8 /* arbitrary grow size */;
7336 num_to_alloc = (yy_buffer_stack_max) + grow_size;
7337 (yy_buffer_stack) = (struct yy_buffer_state**)surf_parse_realloc
7339 num_to_alloc * sizeof(struct yy_buffer_state*)
7341 if ( ! (yy_buffer_stack) )
7342 YY_FATAL_ERROR( "out of dynamic memory in surf_parse_ensure_buffer_stack()" );
7344 /* zero only the new slots.*/
7345 memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
7346 (yy_buffer_stack_max) = num_to_alloc;
7350 /** Setup the input buffer state to scan directly from a user-specified character buffer.
7351 * @param base the character buffer
7352 * @param size the size in bytes of the character buffer
7354 * @return the newly allocated buffer state object.
7356 YY_BUFFER_STATE surf_parse__scan_buffer (char * base, yy_size_t size )
7361 base[size-2] != YY_END_OF_BUFFER_CHAR ||
7362 base[size-1] != YY_END_OF_BUFFER_CHAR )
7363 /* They forgot to leave room for the EOB's. */
7366 b = (YY_BUFFER_STATE) surf_parse_alloc(sizeof( struct yy_buffer_state ) );
7368 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__scan_buffer()" );
7370 b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
7371 b->yy_buf_pos = b->yy_ch_buf = base;
7372 b->yy_is_our_buffer = 0;
7373 b->yy_input_file = 0;
7374 b->yy_n_chars = b->yy_buf_size;
7375 b->yy_is_interactive = 0;
7377 b->yy_fill_buffer = 0;
7378 b->yy_buffer_status = YY_BUFFER_NEW;
7380 surf_parse__switch_to_buffer(b );
7385 /** Setup the input buffer state to scan a string. The next call to surf_parse_lex() will
7386 * scan from a @e copy of @a str.
7387 * @param yystr a NUL-terminated string to scan
7389 * @return the newly allocated buffer state object.
7390 * @note If you want to scan bytes that may contain NUL values, then use
7391 * surf_parse__scan_bytes() instead.
7393 YY_BUFFER_STATE surf_parse__scan_string (yyconst char * yystr )
7396 return surf_parse__scan_bytes(yystr,strlen(yystr) );
7399 /** Setup the input buffer state to scan the given bytes. The next call to surf_parse_lex() will
7400 * scan from a @e copy of @a bytes.
7401 * @param yybytes the byte buffer to scan
7402 * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
7404 * @return the newly allocated buffer state object.
7406 YY_BUFFER_STATE surf_parse__scan_bytes (yyconst char * yybytes, int _yybytes_len )
7413 /* Get memory for full buffer, including space for trailing EOB's. */
7414 n = _yybytes_len + 2;
7415 buf = (char *) surf_parse_alloc(n );
7417 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__scan_bytes()" );
7419 for ( i = 0; i < _yybytes_len; ++i )
7420 buf[i] = yybytes[i];
7422 buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
7424 b = surf_parse__scan_buffer(buf,n );
7426 YY_FATAL_ERROR( "bad buffer in surf_parse__scan_bytes()" );
7428 /* It's okay to grow etc. this buffer, and we should throw it
7429 * away when we're done.
7431 b->yy_is_our_buffer = 1;
7436 static void yy_push_state (int new_state )
7438 if ( (yy_start_stack_ptr) >= (yy_start_stack_depth) )
7442 (yy_start_stack_depth) += YY_START_STACK_INCR;
7443 new_size = (yy_start_stack_depth) * sizeof( int );
7445 if ( ! (yy_start_stack) )
7446 (yy_start_stack) = (int *) surf_parse_alloc(new_size );
7449 (yy_start_stack) = (int *) surf_parse_realloc((void *) (yy_start_stack),new_size );
7451 if ( ! (yy_start_stack) )
7452 YY_FATAL_ERROR( "out of memory expanding start-condition stack" );
7455 (yy_start_stack)[(yy_start_stack_ptr)++] = YY_START;
7460 static void yy_pop_state (void)
7462 if ( --(yy_start_stack_ptr) < 0 )
7463 YY_FATAL_ERROR( "start-condition stack underflow" );
7465 BEGIN((yy_start_stack)[(yy_start_stack_ptr)]);
7468 #ifndef YY_EXIT_FAILURE
7469 #define YY_EXIT_FAILURE 2
7472 static void yy_fatal_error (yyconst char* msg )
7474 (void) fprintf( stderr, "%s\n", msg );
7475 exit( YY_EXIT_FAILURE );
7478 /* Redefine yyless() so it works in section 3 code. */
7484 /* Undo effects of setting up surf_parse_text. */ \
7485 int yyless_macro_arg = (n); \
7486 YY_LESS_LINENO(yyless_macro_arg);\
7487 surf_parse_text[surf_parse_leng] = (yy_hold_char); \
7488 (yy_c_buf_p) = surf_parse_text + yyless_macro_arg; \
7489 (yy_hold_char) = *(yy_c_buf_p); \
7490 *(yy_c_buf_p) = '\0'; \
7491 surf_parse_leng = yyless_macro_arg; \
7495 /* Accessor methods (get/set functions) to struct members. */
7497 /** Get the current line number.
7500 int surf_parse_get_lineno (void)
7503 return surf_parse_lineno;
7506 /** Get the input stream.
7509 FILE *surf_parse_get_in (void)
7511 return surf_parse_in;
7514 /** Get the output stream.
7517 FILE *surf_parse_get_out (void)
7519 return surf_parse_out;
7522 /** Get the length of the current token.
7525 int surf_parse_get_leng (void)
7527 return surf_parse_leng;
7530 /** Get the current token.
7534 char *surf_parse_get_text (void)
7536 return surf_parse_text;
7539 /** Set the current line number.
7540 * @param line_number
7543 void surf_parse_set_lineno (int line_number )
7546 surf_parse_lineno = line_number;
7549 /** Set the input stream. This does not discard the current
7551 * @param in_str A readable stream.
7553 * @see surf_parse__switch_to_buffer
7555 void surf_parse_set_in (FILE * in_str )
7557 surf_parse_in = in_str ;
7560 void surf_parse_set_out (FILE * out_str )
7562 surf_parse_out = out_str ;
7565 int surf_parse_get_debug (void)
7567 return surf_parse__flex_debug;
7570 void surf_parse_set_debug (int bdebug )
7572 surf_parse__flex_debug = bdebug ;
7575 static int yy_init_globals (void)
7577 /* Initialization is the same as for the non-reentrant scanner.
7578 * This function is called from surf_parse_lex_destroy(), so don't allocate here.
7581 /* We do not touch surf_parse_lineno unless the option is enabled. */
7582 surf_parse_lineno = 1;
7584 (yy_buffer_stack) = 0;
7585 (yy_buffer_stack_top) = 0;
7586 (yy_buffer_stack_max) = 0;
7587 (yy_c_buf_p) = (char *) 0;
7591 (yy_start_stack_ptr) = 0;
7592 (yy_start_stack_depth) = 0;
7593 (yy_start_stack) = NULL;
7595 /* Defined in main.c */
7597 surf_parse_in = stdin;
7598 surf_parse_out = stdout;
7600 surf_parse_in = (FILE *) 0;
7601 surf_parse_out = (FILE *) 0;
7604 /* For future reference: Set errno on error, since we are called by
7605 * surf_parse_lex_init()
7610 /* surf_parse_lex_destroy is for both reentrant and non-reentrant scanners. */
7611 int surf_parse_lex_destroy (void)
7614 /* Pop the buffer stack, destroying each element. */
7615 while(YY_CURRENT_BUFFER){
7616 surf_parse__delete_buffer(YY_CURRENT_BUFFER );
7617 YY_CURRENT_BUFFER_LVALUE = NULL;
7618 surf_parse_pop_buffer_state();
7621 /* Destroy the stack itself. */
7622 surf_parse_free((yy_buffer_stack) );
7623 (yy_buffer_stack) = NULL;
7625 /* Destroy the start condition stack. */
7626 surf_parse_free((yy_start_stack) );
7627 (yy_start_stack) = NULL;
7629 /* Reset the globals. This is important in a non-reentrant scanner so the next time
7630 * surf_parse_lex() is called, initialization will occur. */
7637 * Internal utility routines.
7641 static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
7644 for ( i = 0; i < n; ++i )
7649 #ifdef YY_NEED_STRLEN
7650 static int yy_flex_strlen (yyconst char * s )
7653 for ( n = 0; s[n]; ++n )
7660 void *surf_parse_alloc (yy_size_t size )
7662 return (void *) malloc( size );
7665 void *surf_parse_realloc (void * ptr, yy_size_t size )
7667 /* The cast to (char *) in the following accommodates both
7668 * implementations that use char* generic pointers, and those
7669 * that use void* generic pointers. It works with the latter
7670 * because both ANSI C and C++ allow castless assignment from
7671 * any pointer type to void*, and deal with argument conversions
7672 * as though doing an assignment.
7674 return (void *) realloc( (char *) ptr, size );
7677 void surf_parse_free (void * ptr )
7679 free( (char *) ptr ); /* see surf_parse_realloc() for (char *) cast */
7682 #define YYTABLES_NAME "yytables"
7684 /* Element context stack lookup. */
7685 int surfxml_element_context(int i)
7687 return (0<i && i<yy_start_stack_depth
7688 ? yy_start_stack[yy_start_stack_ptr - i]
7693 void print_yy_stack(char* fmt, ...)
7695 int i = 0; va_list ap; va_start(ap, fmt);
7696 vfprintf(stderr, fmt, ap);
7697 if (surfxml_statenames) {
7698 for (i=1; i<yy_start_stack_ptr; i++) {
7699 fprintf(stderr, "%s/", surfxml_statenames[yy_start_stack[i] ]);
7701 fprintf(stderr,"%s\n", surfxml_statenames[YY_START]);
7706 void print_surfxml_bufferstack()
7709 fputs("Buffer: ", stderr);
7710 for (i = 0; i < blimit; i++) {
7711 if ( surfxml_bufferstack[i] == '\377' ) break;
7712 putc(surfxml_bufferstack[i], stderr);
7717 static void debug_enter(int state, const char* statename) {
7718 yy_push_state(state);
7719 if (surf_parse__flex_debug) {
7720 print_yy_stack("--ENTER(%s) : ",statename);
7721 print_surfxml_bufferstack();
7725 static void debug_leave(void) {
7726 if (surf_parse__flex_debug) {
7727 print_yy_stack("--LEAVE : ");
7728 print_surfxml_bufferstack();
7733 static void debug_set(int state, const char* statename) {
7735 if (surf_parse__flex_debug) print_yy_stack("--SET(%s) : ",statename);
7739 static void cleanup(void)
7741 if (surfxml_statenames) {
7742 free(surfxml_statenames);
7743 surfxml_statenames = NULL;
7745 free(surfxml_bufferstack);
7746 surfxml_bufferstack = NULL;
7752 static int fail(const char* fmt, ...)
7754 int chars_left, used;
7755 va_list ap; va_start(ap, fmt);
7756 #ifdef FLEXML_yylineno
7757 used = sprintf(flexml_err_msg,
7758 "Invalid XML (XML input line %d, state %d): ",
7759 surf_parse_lineno, YY_START);
7761 used = sprintf(flexml_err_msg,
7762 "Invalid XML (state %d): ",
7765 chars_left = flexml_max_err_msg_size - used - 1;
7766 vsnprintf(flexml_err_msg + used, chars_left, fmt, ap);
7769 #ifndef FLEXML_quiet_parser
7770 /* print directly to sdterr */
7771 fprintf(stderr, "%s\n", flexml_err_msg);
7772 flexml_err_msg[0] = '\0';