2 #line 3 "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 353
407 #define YY_END_OF_BUFFER 354
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[2035] =
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, 354, 352, 15, 10, 10, 15, 15, 332,
433 10, 332, 5, 6, 5, 8, 9, 8, 348, 340,
434 341, 349, 346, 349, 347, 351, 340, 341, 351, 352,
435 26, 10, 26, 26, 26, 24, 26, 26, 30, 10,
436 30, 30, 352, 352, 30, 37, 10, 37, 37, 37,
437 35, 37, 41, 10, 41, 52, 10, 52, 52, 52,
439 50, 52, 52, 52, 349, 348, 74, 10, 74, 74,
440 74, 72, 74, 74, 74, 74, 78, 10, 78, 352,
441 78, 97, 10, 97, 97, 97, 95, 97, 97, 97,
442 101, 10, 101, 114, 10, 114, 114, 114, 112, 114,
443 114, 114, 114, 118, 10, 118, 125, 10, 125, 125,
444 125, 123, 125, 352, 352, 129, 10, 129, 158, 10,
445 158, 158, 158, 156, 158, 158, 158, 158, 158, 158,
446 162, 10, 162, 162, 171, 10, 171, 171, 171, 169,
447 171, 171, 175, 10, 175, 198, 10, 198, 198, 198,
448 196, 198, 198, 198, 198, 198, 198, 202, 10, 202,
450 209, 10, 209, 209, 209, 207, 209, 213, 10, 213,
451 238, 10, 238, 238, 238, 236, 238, 238, 238, 238,
452 242, 10, 242, 242, 261, 10, 261, 261, 261, 259,
453 261, 261, 261, 352, 265, 10, 265, 265, 288, 10,
454 288, 288, 288, 286, 288, 288, 288, 288, 292, 10,
455 292, 292, 299, 10, 299, 299, 299, 297, 299, 303,
456 10, 303, 316, 10, 316, 316, 316, 314, 316, 316,
457 316, 316, 320, 10, 320, 352, 320, 327, 10, 327,
458 327, 327, 325, 327, 331, 10, 331, 10, 0, 2,
459 2, 0, 4, 7, 343, 342, 0, 0, 0, 0,
461 0, 0, 0, 25, 27, 27, 27, 0, 0, 0,
462 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
463 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
464 36, 38, 38, 0, 51, 53, 53, 53, 53, 0,
465 0, 0, 73, 75, 75, 75, 75, 75, 75, 75,
466 0, 0, 96, 98, 98, 98, 98, 0, 113, 115,
467 115, 115, 115, 115, 0, 124, 126, 126, 0, 157,
468 159, 159, 159, 159, 159, 159, 159, 159, 0, 170,
469 172, 172, 172, 0, 197, 199, 199, 199, 199, 199,
470 199, 199, 199, 199, 0, 208, 210, 210, 0, 237,
472 239, 239, 239, 239, 239, 239, 0, 260, 262, 262,
473 262, 262, 262, 0, 0, 287, 289, 289, 289, 289,
474 289, 0, 298, 300, 300, 0, 315, 317, 317, 317,
475 317, 317, 0, 0, 326, 328, 328, 0, 0, 0,
476 0, 0, 3, 0, 0, 0, 0, 0, 0, 0,
477 350, 0, 27, 27, 0, 0, 0, 0, 0, 0,
478 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
479 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
480 0, 38, 0, 0, 53, 0, 0, 53, 0, 0,
481 0, 345, 75, 0, 0, 75, 75, 75, 75, 0,
483 0, 0, 98, 98, 98, 0, 0, 0, 0, 115,
484 115, 115, 0, 0, 126, 0, 0, 159, 0, 0,
485 159, 159, 159, 159, 159, 0, 0, 0, 0, 172,
486 0, 0, 199, 0, 0, 0, 0, 199, 199, 199,
487 199, 199, 0, 0, 0, 0, 0, 0, 239, 0,
488 0, 239, 239, 239, 0, 0, 262, 262, 262, 262,
489 0, 0, 0, 289, 289, 289, 289, 0, 0, 0,
490 0, 0, 0, 317, 317, 317, 317, 0, 0, 0,
491 328, 0, 0, 0, 14, 1, 0, 0, 338, 0,
492 0, 0, 335, 334, 0, 0, 27, 27, 0, 0,
494 29, 0, 0, 0, 0, 0, 0, 0, 0, 0,
495 0, 0, 103, 0, 0, 0, 0, 0, 0, 0,
496 102, 0, 0, 0, 0, 0, 0, 38, 0, 0,
497 40, 0, 53, 0, 45, 44, 53, 0, 0, 0,
498 55, 0, 75, 0, 59, 58, 0, 0, 75, 0,
499 0, 75, 0, 0, 77, 0, 0, 98, 98, 98,
500 0, 0, 100, 0, 0, 105, 104, 115, 115, 115,
501 0, 0, 117, 0, 126, 0, 0, 128, 0, 159,
502 0, 133, 132, 159, 159, 159, 159, 159, 0, 0,
503 161, 0, 0, 166, 165, 172, 0, 0, 174, 0,
505 199, 199, 0, 189, 188, 0, 179, 178, 0, 0,
506 199, 199, 199, 199, 0, 0, 201, 0, 0, 206,
507 205, 0, 0, 212, 0, 239, 0, 217, 216, 239,
508 239, 239, 0, 0, 241, 0, 262, 0, 0, 0,
509 0, 262, 0, 0, 0, 264, 0, 289, 0, 0,
510 289, 0, 0, 0, 0, 291, 0, 0, 296, 295,
511 0, 0, 302, 0, 317, 317, 317, 317, 0, 0,
512 319, 0, 0, 328, 0, 0, 330, 0, 0, 0,
513 339, 333, 0, 0, 0, 27, 27, 0, 0, 0,
514 0, 131, 0, 215, 0, 0, 163, 0, 0, 103,
516 0, 0, 0, 130, 214, 0, 0, 102, 0, 0,
517 0, 0, 0, 0, 0, 0, 0, 0, 0, 53,
518 0, 0, 75, 0, 63, 62, 0, 0, 0, 61,
519 60, 75, 0, 164, 98, 0, 0, 98, 0, 115,
520 115, 115, 0, 126, 0, 159, 159, 159, 159, 159,
521 159, 0, 172, 0, 199, 199, 0, 191, 190, 199,
522 199, 199, 199, 0, 0, 239, 239, 239, 239, 0,
523 262, 0, 248, 247, 0, 246, 245, 262, 214, 0,
524 289, 0, 271, 270, 289, 0, 269, 268, 0, 0,
525 317, 0, 0, 317, 317, 0, 0, 328, 0, 0,
527 0, 0, 12, 0, 336, 337, 0, 27, 27, 0,
528 0, 0, 0, 131, 0, 215, 0, 0, 0, 163,
529 0, 267, 43, 0, 0, 130, 214, 0, 267, 42,
530 0, 266, 0, 266, 42, 0, 34, 33, 0, 0,
531 47, 46, 53, 0, 0, 75, 0, 65, 64, 75,
532 0, 164, 98, 0, 0, 0, 0, 0, 0, 115,
533 115, 115, 0, 116, 126, 0, 159, 159, 159, 0,
534 0, 0, 0, 159, 159, 0, 0, 0, 0, 0,
535 0, 199, 0, 0, 199, 199, 199, 0, 0, 239,
536 239, 239, 0, 0, 239, 0, 262, 262, 0, 0,
538 289, 289, 0, 0, 317, 0, 307, 306, 317, 317,
539 0, 0, 0, 0, 0, 0, 0, 0, 11, 0,
540 27, 27, 27, 0, 0, 0, 0, 0, 0, 0,
541 0, 57, 267, 0, 204, 43, 0, 0, 0, 56,
542 203, 42, 0, 266, 0, 0, 0, 0, 53, 0,
543 0, 75, 75, 0, 98, 0, 0, 0, 0, 0,
544 0, 0, 0, 0, 92, 91, 0, 0, 0, 115,
545 0, 0, 0, 0, 0, 159, 159, 159, 0, 135,
546 134, 0, 0, 0, 159, 159, 0, 160, 0, 168,
547 167, 0, 173, 0, 193, 192, 0, 0, 0, 187,
549 186, 0, 0, 199, 0, 0, 0, 0, 239, 239,
550 239, 0, 0, 0, 239, 0, 240, 0, 0, 262,
551 0, 0, 0, 0, 289, 0, 0, 317, 317, 317,
552 0, 0, 0, 324, 323, 0, 0, 0, 0, 0,
553 0, 0, 27, 27, 0, 0, 177, 120, 32, 0,
554 0, 305, 57, 0, 204, 0, 176, 119, 56, 203,
555 304, 0, 31, 0, 0, 53, 0, 0, 54, 75,
556 75, 0, 0, 0, 0, 0, 0, 0, 0, 0,
557 0, 0, 0, 0, 0, 0, 107, 106, 0, 0,
558 0, 109, 108, 0, 122, 121, 0, 159, 159, 159,
560 0, 0, 159, 0, 0, 0, 195, 194, 0, 181,
561 180, 0, 0, 0, 183, 182, 0, 0, 239, 0,
562 0, 239, 239, 0, 0, 239, 0, 0, 0, 262,
563 0, 0, 0, 0, 0, 289, 0, 290, 0, 317,
564 317, 317, 0, 0, 0, 0, 0, 0, 17, 0,
565 19, 18, 27, 27, 0, 321, 177, 120, 32, 293,
566 16, 305, 0, 0, 176, 119, 304, 0, 31, 0,
567 0, 53, 344, 75, 75, 0, 76, 0, 94, 93,
568 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
569 0, 0, 111, 110, 0, 159, 159, 159, 0, 0,
571 0, 0, 159, 0, 155, 154, 0, 185, 184, 0,
572 0, 211, 239, 0, 223, 222, 239, 239, 0, 0,
573 0, 0, 239, 0, 0, 0, 0, 262, 294, 0,
574 0, 0, 0, 0, 289, 0, 0, 0, 317, 317,
575 0, 322, 0, 0, 0, 0, 17, 27, 27, 0,
576 321, 293, 16, 0, 0, 0, 0, 0, 39, 53,
577 0, 0, 75, 0, 0, 0, 0, 0, 0, 0,
578 0, 0, 0, 0, 0, 127, 159, 159, 159, 0,
579 141, 0, 140, 159, 0, 200, 0, 0, 239, 239,
580 239, 0, 227, 0, 226, 239, 0, 0, 0, 0,
582 0, 0, 0, 0, 294, 0, 0, 0, 0, 0,
583 0, 0, 289, 0, 0, 309, 308, 0, 0, 317,
584 0, 318, 322, 0, 0, 0, 0, 0, 0, 27,
585 0, 28, 0, 0, 0, 0, 53, 0, 0, 0,
586 75, 0, 0, 0, 0, 0, 0, 0, 0, 0,
587 0, 0, 159, 159, 159, 143, 142, 0, 0, 0,
588 219, 218, 239, 239, 239, 229, 228, 0, 0, 0,
589 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
590 0, 0, 0, 0, 0, 289, 289, 0, 301, 0,
591 313, 312, 0, 0, 0, 329, 0, 0, 0, 0,
593 21, 20, 0, 0, 244, 0, 243, 0, 0, 0,
594 0, 0, 0, 0, 75, 0, 0, 0, 0, 84,
595 0, 0, 0, 0, 83, 0, 159, 159, 159, 0,
596 145, 144, 239, 239, 239, 0, 231, 230, 0, 0,
597 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
598 0, 0, 0, 0, 0, 289, 289, 0, 311, 310,
599 0, 0, 0, 0, 23, 22, 244, 0, 243, 0,
600 0, 49, 48, 0, 0, 0, 0, 75, 0, 0,
601 0, 0, 0, 0, 0, 0, 0, 0, 0, 159,
602 159, 159, 239, 0, 0, 239, 0, 0, 0, 0,
604 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
605 0, 0, 0, 289, 289, 0, 0, 0, 0, 80,
606 79, 0, 0, 0, 0, 0, 0, 0, 0, 90,
607 0, 0, 0, 89, 0, 0, 0, 137, 136, 159,
608 159, 159, 159, 239, 0, 225, 224, 239, 0, 0,
609 0, 0, 0, 0, 258, 0, 257, 0, 0, 263,
610 0, 0, 0, 0, 0, 0, 0, 0, 289, 0,
611 0, 289, 0, 0, 0, 0, 0, 0, 80, 79,
612 0, 0, 0, 0, 0, 67, 66, 0, 0, 0,
613 0, 0, 0, 0, 159, 159, 159, 159, 0, 0,
615 0, 0, 0, 0, 0, 0, 0, 0, 256, 255,
616 0, 0, 0, 0, 0, 0, 0, 275, 274, 289,
617 0, 273, 272, 289, 0, 0, 0, 0, 0, 0,
618 0, 71, 0, 70, 88, 0, 0, 87, 0, 0,
619 0, 99, 159, 159, 159, 159, 0, 221, 220, 0,
620 0, 0, 0, 0, 252, 0, 0, 251, 0, 0,
621 283, 0, 0, 282, 289, 289, 0, 0, 0, 12,
622 0, 12, 0, 0, 0, 82, 86, 81, 85, 159,
623 159, 159, 159, 0, 0, 0, 0, 254, 250, 253,
624 249, 285, 281, 284, 280, 289, 289, 0, 0, 0,
626 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
627 159, 0, 0, 0, 0, 0, 0, 289, 289, 0,
628 0, 69, 68, 0, 139, 138, 0, 149, 148, 0,
629 147, 146, 159, 0, 153, 152, 0, 0, 0, 0,
630 289, 289, 0, 11, 159, 0, 0, 0, 0, 289,
631 289, 0, 159, 0, 0, 0, 0, 289, 289, 0,
632 159, 0, 0, 0, 0, 289, 289, 0, 0, 0,
633 0, 233, 0, 232, 289, 289, 0, 0, 151, 150,
634 235, 234, 289, 289, 0, 289, 289, 0, 289, 289,
635 0, 0, 289, 289, 0, 0, 289, 289, 0, 0,
637 289, 289, 0, 0, 0, 0, 0, 0, 0, 0,
638 0, 279, 278, 0, 277, 276, 0, 0, 0, 0,
639 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
643 static yyconst flex_int32_t yy_ec[256] =
645 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
646 1, 2, 4, 1, 1, 1, 1, 1, 1, 1,
647 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
648 1, 2, 5, 6, 7, 1, 1, 8, 9, 1,
649 1, 1, 1, 1, 10, 11, 12, 13, 13, 13,
650 13, 14, 13, 13, 13, 15, 13, 16, 17, 18,
651 19, 20, 21, 1, 22, 23, 24, 25, 26, 27,
652 28, 29, 30, 28, 31, 32, 33, 34, 35, 36,
653 28, 37, 38, 39, 28, 40, 41, 28, 42, 28,
654 43, 1, 44, 1, 45, 1, 46, 47, 48, 49,
656 50, 51, 52, 53, 54, 28, 55, 56, 57, 58,
657 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
658 69, 28, 1, 1, 1, 1, 1, 1, 1, 1,
659 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
660 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
661 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
662 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
663 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
664 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
665 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
667 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
668 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
669 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
670 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
671 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
675 static yyconst flex_int32_t yy_meta[70] =
677 1, 2, 2, 2, 1, 1, 1, 1, 1, 3,
678 3, 1, 4, 4, 4, 5, 6, 1, 7, 8,
679 1, 9, 9, 9, 9, 9, 9, 5, 5, 5,
680 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
681 5, 5, 1, 1, 5, 9, 9, 9, 9, 9,
682 9, 5, 5, 5, 5, 5, 5, 5, 5, 5,
683 5, 5, 5, 5, 5, 5, 5, 5, 5
686 static yyconst flex_int16_t yy_base[2267] =
688 0, 0, 0, 3, 6, 9, 12, 29, 16, 19,
689 14, 17, 33, 36, 49, 55, 45, 61, 66, 72,
690 105, 173, 75, 78, 83, 125, 128, 132, 135, 138,
691 193, 196, 200, 203, 206, 224, 242, 293, 262, 265,
692 344, 404, 271, 273, 464, 527, 269, 316, 320, 323,
693 364, 367, 371, 374, 590, 654, 424, 427, 718, 781,
694 431, 434, 844, 907, 484, 487, 491, 494, 497, 547,
695 970, 0, 550, 554, 557, 560, 610, 613, 617, 620,
696 1039, 1105, 623, 674, 1171, 0, 677, 681, 1240, 1294,
697 684, 687, 1348, 1411, 738, 741, 745, 748, 751, 801,
699 804, 808, 1474, 1537, 811, 814, 864, 867, 871, 874,
700 877, 927, 1600, 1663, 930, 934, 937, 940, 1059, 1062,
701 1066, 1069, 1726, 1780, 1072, 1125, 1834, 1897, 1128, 1132,
702 1135, 1138, 1260, 1263, 1267, 1270, 1960, 2026, 1273, 1314,
703 0, 0, 5080, 7131, 7131, 95, 100, 29, 41, 7131,
704 155, 51, 7131, 7131, 5068, 7131, 7131, 5053, 7131, 5068,
705 5062, 1273, 7131, 7131, 7131, 7131, 5060, 5058, 5016, 210,
706 7131, 158, 5038, 0, 142, 7131, 4994, 4986, 7131, 162,
707 2088, 2148, 160, 5028, 176, 7131, 165, 5018, 0, 149,
708 7131, 4980, 7131, 230, 378, 7131, 326, 5012, 0, 208,
710 7131, 4971, 4974, 4964, 379, 4965, 7131, 329, 4985, 0,
711 214, 7131, 4946, 4939, 238, 4923, 7131, 377, 11, 31,
712 4966, 7131, 399, 4943, 0, 435, 7131, 4906, 4906, 4896,
713 7131, 457, 441, 7131, 520, 4919, 0, 436, 7131, 4888,
714 4874, 4868, 4848, 7131, 583, 498, 7131, 640, 4882, 0,
715 499, 7131, 4848, 513, 4843, 7131, 644, 4881, 7131, 647,
716 4868, 0, 562, 7131, 4809, 34, 4828, 4813, 4803, 4811,
717 7131, 704, 177, 4852, 7131, 708, 4842, 0, 568, 7131,
718 4799, 4801, 7131, 711, 752, 7131, 772, 4811, 0, 631,
719 7131, 211, 4781, 4782, 93, 4777, 4756, 7131, 834, 818,
721 7131, 894, 4800, 0, 632, 7131, 4769, 7131, 897, 881,
722 7131, 901, 4784, 0, 695, 7131, 4746, 4739, 4738, 80,
723 7131, 957, 360, 4770, 7131, 960, 4761, 0, 696, 7131,
724 4731, 4708, 26, 304, 7131, 963, 330, 4755, 7131, 1092,
725 4742, 0, 885, 7131, 4713, 4696, 4698, 4691, 7131, 1095,
726 499, 4740, 7131, 1098, 4729, 0, 948, 7131, 4695, 7131,
727 1158, 1142, 7131, 1162, 4722, 0, 1083, 7131, 4676, 4680,
728 4677, 4660, 7131, 1165, 1043, 4710, 4706, 7131, 1318, 4693,
729 0, 1305, 7131, 4665, 7131, 1337, 1323, 1343, 429, 4638,
730 7131, 4693, 4672, 7131, 7131, 7131, 1359, 283, 4627, 4622,
732 4620, 4659, 4618, 7131, 0, 4611, 4607, 4602, 4598, 4595,
733 4591, 4582, 4582, 4584, 4, 166, 4584, 4569, 4572, 4568,
734 4566, 4570, 404, 4572, 4559, 38, 467, 4560, 712, 4538,
735 7131, 0, 4543, 4543, 7131, 0, 4536, 1374, 4523, 533,
736 4520, 4546, 7131, 0, 4507, 1377, 4495, 4509, 4496, 4503,
737 4482, 89, 7131, 0, 4489, 4480, 4490, 4468, 7131, 0,
738 1380, 4464, 4464, 4460, 4443, 7131, 0, 4436, 4448, 7131,
739 0, 4451, 1384, 4421, 4416, 4415, 4421, 4397, 4408, 7131,
740 0, 1431, 4400, 4395, 7131, 0, 4405, 1434, 1437, 4385,
741 4380, 4392, 4388, 4385, 4386, 7131, 0, 1440, 4367, 7131,
743 0, 4365, 1443, 4352, 4369, 4353, 4341, 7131, 0, 4328,
744 4327, 4341, 4324, 4326, 4312, 7131, 0, 4308, 4306, 4309,
745 4319, 4297, 7131, 0, 1494, 4296, 7131, 0, 4293, 4286,
746 4279, 4288, 4272, 4269, 7131, 0, 4273, 4277, 4302, 4307,
747 807, 4259, 7131, 1392, 0, 4254, 4254, 4293, 4292, 4239,
748 7131, 4248, 4229, 4233, 1499, 1504, 4237, 4215, 4216, 4213,
749 4227, 4215, 4213, 4199, 4198, 4190, 4185, 4202, 4181, 4173,
750 4170, 4173, 4166, 4158, 4144, 4161, 4143, 4136, 4151, 4130,
751 4148, 4142, 1507, 1512, 4127, 1559, 1527, 4122, 4141, 1562,
752 1565, 7131, 4114, 1569, 1587, 1573, 4100, 1620, 4111, 1627,
754 1633, 4096, 4096, 4103, 4094, 1630, 1638, 1683, 1653, 4073,
755 4069, 4065, 1688, 1701, 4068, 1691, 1694, 4058, 1746, 1716,
756 4057, 4061, 4039, 4023, 4039, 1752, 1755, 1758, 1800, 4019,
757 1808, 1813, 583, 1854, 1816, 1857, 1860, 1877, 4032, 4029,
758 4025, 4026, 1868, 1926, 1917, 1929, 1922, 1989, 4013, 1981,
759 1992, 4010, 3994, 3990, 1985, 2004, 3999, 2047, 2052, 3986,
760 3984, 2057, 2060, 3976, 2070, 3982, 2079, 2082, 2102, 2092,
761 2008, 2110, 2113, 3968, 3925, 3932, 3917, 2123, 2143, 3922,
762 3907, 2152, 2155, 3951, 7131, 7131, 315, 3913, 7131, 3951,
763 3943, 3896, 7131, 7131, 3887, 3884, 3888, 3869, 2162, 2175,
765 7131, 2183, 3861, 3858, 3870, 3839, 3846, 3845, 3825, 261,
766 3839, 3822, 1466, 3833, 3816, 3828, 3812, 3819, 3824, 3807,
767 1469, 3809, 384, 3790, 3796, 3783, 3798, 2187, 2211, 2216,
768 7131, 2219, 2222, 2016, 7131, 7131, 2230, 3819, 2240, 2243,
769 7131, 2248, 3774, 2252, 7131, 7131, 2262, 2267, 2276, 2280,
770 2284, 3786, 2294, 2298, 7131, 2301, 432, 3783, 2304, 3778,
771 2307, 2313, 7131, 2322, 2326, 7131, 7131, 3766, 3771, 3763,
772 2334, 2337, 7131, 2341, 3751, 2344, 2347, 7131, 2367, 3748,
773 2370, 7131, 7131, 3740, 3738, 3732, 3738, 3731, 2378, 2381,
774 7131, 2386, 2390, 7131, 7131, 3727, 2400, 2405, 7131, 2408,
776 3709, 3728, 2412, 7131, 7131, 2428, 7131, 7131, 2420, 2438,
777 3703, 3708, 3703, 3683, 2448, 2451, 7131, 2454, 2457, 7131,
778 7131, 2473, 2476, 7131, 2479, 3628, 2482, 7131, 7131, 3635,
779 3638, 3636, 2498, 2501, 7131, 2504, 3621, 2507, 2511, 2526,
780 2529, 3629, 3622, 2537, 2544, 7131, 2547, 3606, 2550, 2557,
781 3615, 2568, 2571, 2579, 2582, 7131, 2586, 2589, 7131, 7131,
782 2601, 2605, 7131, 2611, 3597, 2614, 3615, 3594, 2620, 2624,
783 7131, 2632, 3580, 3594, 2635, 2639, 7131, 2643, 726, 2646,
784 7131, 7131, 3611, 3610, 3566, 3556, 3594, 2654, 3552, 3543,
785 3550, 1595, 3529, 1941, 3542, 3541, 1764, 3530, 3538, 1827,
787 3536, 3508, 3525, 1880, 2668, 3510, 3518, 1888, 3516, 3515,
788 3513, 3486, 3500, 3498, 2658, 2676, 2684, 2690, 2694, 3491,
789 3517, 2703, 3486, 2708, 7131, 7131, 2717, 2722, 2735, 7131,
790 7131, 3481, 2730, 1891, 3471, 2743, 2750, 2761, 2764, 3456,
791 3477, 3449, 2767, 3467, 2770, 3459, 3453, 3437, 2773, 2779,
792 3441, 2791, 2797, 2801, 2804, 2811, 2823, 7131, 7131, 2815,
793 2833, 2837, 2840, 2843, 2846, 3434, 3436, 3424, 2866, 2869,
794 3423, 2875, 7131, 7131, 2884, 7131, 7131, 3407, 2893, 2896,
795 3412, 2911, 7131, 7131, 3404, 2919, 7131, 7131, 2927, 2930,
796 3406, 2900, 2933, 3395, 3412, 2941, 3395, 2949, 2952, 181,
798 3431, 2955, 7131, 3429, 7131, 7131, 3387, 3376, 518, 2960,
799 3373, 3372, 3372, 1951, 3370, 2963, 3369, 3353, 3348, 2967,
800 3348, 2974, 2979, 3354, 3354, 2984, 2990, 3344, 2994, 2997,
801 3336, 3000, 3349, 3004, 3021, 3024, 7131, 7131, 3037, 3040,
802 7131, 7131, 3332, 3319, 3048, 3293, 3061, 7131, 7131, 3289,
803 3051, 3056, 3290, 3070, 1428, 2828, 3078, 3081, 3089, 3092,
804 3097, 3101, 3104, 7131, 3110, 3115, 3305, 3301, 3285, 3119,
805 3124, 3138, 3141, 3291, 3276, 3152, 3156, 3160, 3174, 3177,
806 3180, 3188, 3195, 3199, 3207, 3213, 3216, 3219, 3225, 3279,
807 3257, 3272, 3234, 3238, 3272, 3246, 3252, 3255, 3273, 3258,
809 3261, 3282, 3285, 3290, 3250, 3293, 7131, 7131, 3253, 3240,
810 3309, 3253, 3312, 3316, 3330, 1307, 612, 568, 7131, 3238,
811 3334, 3337, 3341, 3344, 3240, 3229, 3237, 3232, 3217, 3217,
812 3214, 3359, 3363, 3219, 3366, 3369, 3225, 3210, 3217, 3372,
813 3375, 3378, 3205, 3381, 3210, 3202, 3203, 3386, 3198, 3221,
814 3390, 3175, 3179, 3393, 3405, 3209, 3195, 260, 3190, 3202,
815 3178, 421, 3177, 3412, 7131, 7131, 3423, 3426, 3438, 3429,
816 3434, 3452, 3460, 3463, 3471, 3152, 3142, 3148, 3474, 7131,
817 7131, 3483, 3160, 3158, 3134, 3491, 3494, 7131, 3497, 7131,
818 7131, 3505, 7131, 3509, 7131, 7131, 3518, 3524, 3532, 7131,
820 7131, 3540, 3543, 3551, 3554, 3558, 3572, 3575, 3123, 3578,
821 3140, 3581, 3139, 3138, 3117, 3596, 7131, 3599, 3602, 3610,
822 3106, 3622, 3617, 3637, 3628, 3631, 3646, 3110, 3110, 3111,
823 3650, 3094, 3653, 7131, 7131, 3665, 808, 1316, 747, 3094,
824 3669, 3672, 3680, 3687, 3694, 3085, 3698, 3701, 3705, 3090,
825 3089, 3708, 3714, 3072, 3717, 3077, 3720, 3723, 3726, 3729,
826 3732, 3069, 3737, 3073, 3740, 3077, 3082, 3743, 7131, 3053,
827 3043, 3746, 3751, 3755, 3054, 3048, 3039, 3043, 3034, 3035,
828 3023, 3009, 3013, 3004, 3765, 3769, 7131, 7131, 3777, 3780,
829 3789, 7131, 7131, 3797, 7131, 7131, 3805, 2982, 2985, 2975,
831 669, 743, 2976, 3808, 3812, 3820, 7131, 7131, 3828, 7131,
832 7131, 3836, 3839, 3847, 7131, 7131, 3857, 3860, 2978, 3863,
833 3866, 2978, 2962, 806, 857, 2963, 3881, 358, 361, 3889,
834 2960, 3892, 3895, 658, 785, 3903, 3907, 7131, 3911, 3914,
835 2965, 2957, 3921, 2948, 3932, 3926, 1272, 1058, 3936, 3941,
836 7131, 7131, 3951, 3954, 3960, 3963, 3974, 3979, 3983, 3989,
837 3992, 3995, 2953, 2926, 3998, 4001, 4005, 2923, 4008, 2916,
838 4011, 2909, 7131, 4017, 2885, 4020, 7131, 4023, 7131, 7131,
839 2923, 2907, 2914, 2907, 2901, 2901, 2879, 2881, 2861, 2856,
840 4031, 4035, 7131, 7131, 4043, 2820, 2796, 2779, 2801, 2772,
842 2715, 2721, 2672, 4046, 7131, 7131, 4055, 7131, 7131, 4063,
843 4066, 7131, 4069, 4072, 7131, 7131, 2610, 62, 479, 508,
844 490, 568, 532, 566, 912, 589, 919, 4089, 4092, 4095,
845 642, 1044, 694, 1120, 4098, 4101, 4107, 4116, 4125, 710,
846 4128, 4131, 4134, 4137, 748, 840, 4143, 4147, 4159, 4165,
847 4168, 4171, 4177, 715, 773, 808, 825, 4180, 7131, 854,
848 4184, 4187, 881, 905, 912, 934, 1022, 1048, 1045, 1046,
849 1058, 1088, 1107, 4202, 4208, 7131, 1081, 1103, 1094, 1152,
850 7131, 1161, 7131, 4211, 4214, 7131, 4217, 4223, 1205, 1212,
851 1223, 1276, 7131, 1277, 7131, 4235, 1261, 1251, 1264, 1267,
853 1285, 1298, 4238, 4241, 4249, 4259, 1304, 1295, 1316, 1344,
854 1333, 1349, 4262, 4265, 4268, 7131, 7131, 4280, 4284, 4293,
855 4298, 7131, 4301, 4304, 1443, 1446, 1390, 4317, 4324, 4335,
856 4338, 7131, 1331, 1339, 1336, 1344, 4341, 4344, 1497, 1591,
857 1338, 1368, 1378, 1377, 1386, 1442, 1422, 1439, 1466, 1482,
858 1496, 4353, 1443, 1471, 1473, 7131, 7131, 4359, 4362, 4373,
859 7131, 7131, 1472, 1478, 1481, 7131, 7131, 4381, 4384, 1516,
860 1520, 1538, 1542, 1545, 1551, 4392, 1618, 1681, 4400, 1557,
861 1556, 1589, 1589, 1599, 1609, 4403, 4406, 4410, 7131, 4415,
862 7131, 7131, 4424, 4429, 4437, 7131, 1696, 1631, 1641, 4442,
864 7131, 7131, 4450, 4456, 4468, 1600, 4471, 1640, 4474, 4477,
865 1664, 1688, 1676, 1702, 1694, 1738, 1724, 1729, 1733, 7131,
866 1749, 1736, 1736, 1739, 7131, 4485, 4488, 1751, 1760, 4492,
867 7131, 7131, 1751, 4500, 1760, 4506, 7131, 7131, 1776, 1785,
868 1800, 1790, 1796, 1824, 1830, 1841, 1833, 1848, 4514, 1849,
869 1877, 1896, 1886, 1891, 1908, 4518, 4521, 4539, 7131, 7131,
870 1938, 2001, 4527, 4547, 7131, 7131, 4524, 1873, 4555, 1875,
871 4558, 7131, 7131, 1925, 1915, 1929, 1922, 4568, 1920, 1954,
872 1980, 1968, 1958, 1977, 2004, 1993, 4571, 4574, 4577, 1965,
873 2005, 1961, 1992, 4586, 4592, 1983, 2027, 2039, 2041, 2046,
875 2052, 2045, 2081, 2050, 2081, 2053, 4600, 2067, 2073, 2067,
876 2073, 2081, 2074, 4604, 4607, 2098, 4610, 4613, 4633, 4641,
877 4644, 2076, 2095, 2087, 2098, 4652, 4655, 2095, 2098, 7131,
878 2099, 2102, 2102, 7131, 2105, 4663, 4666, 7131, 7131, 2083,
879 2088, 2090, 2116, 4674, 4678, 7131, 7131, 4686, 2143, 2136,
880 2146, 2148, 2140, 2151, 7131, 2174, 7131, 2172, 4692, 7131,
881 2158, 2150, 2163, 2167, 2159, 2172, 4695, 4698, 4706, 4713,
882 4717, 4726, 2178, 4731, 4734, 4754, 4793, 4837, 4744, 4762,
883 2175, 2201, 2184, 2207, 4766, 7131, 7131, 2221, 2196, 2198,
884 2226, 2206, 2208, 4783, 2192, 2205, 2199, 2195, 4787, 4774,
886 4805, 4813, 2236, 2247, 2268, 2249, 2252, 2276, 7131, 7131,
887 2265, 2267, 2306, 2287, 2294, 2311, 4823, 7131, 7131, 4831,
888 4857, 7131, 7131, 4849, 2333, 4867, 2346, 2366, 4903, 4947,
889 2308, 7131, 2317, 7131, 7131, 2328, 2349, 7131, 2347, 2349,
890 4875, 7131, 2310, 2296, 2314, 2315, 4880, 7131, 7131, 4888,
891 2400, 2408, 2371, 2372, 7131, 2382, 2388, 7131, 2394, 2407,
892 7131, 2408, 2410, 7131, 4897, 4915, 2413, 2442, 2444, 2420,
893 2478, 2427, 4923, 2428, 2430, 7131, 7131, 7131, 7131, 4926,
894 4938, 4967, 4970, 2447, 2443, 2451, 2460, 7131, 7131, 7131,
895 7131, 7131, 7131, 7131, 7131, 4973, 4978, 4981, 2484, 2471,
897 2485, 4991, 2489, 2488, 4996, 4929, 5000, 5004, 5014, 5018,
898 2450, 5026, 5033, 2477, 2500, 2484, 2503, 5044, 5047, 5050,
899 2507, 7131, 7131, 5053, 7131, 7131, 5065, 7131, 7131, 5073,
900 7131, 7131, 2484, 5081, 7131, 7131, 2500, 2500, 2506, 2506,
901 5091, 5094, 2536, 7131, 2507, 2528, 2539, 2538, 2550, 5097,
902 5100, 2559, 2528, 2560, 2575, 2565, 2585, 5103, 5121, 2591,
903 5124, 2593, 2614, 2603, 2623, 5127, 5130, 2655, 5133, 5156,
904 2647, 7131, 2645, 7131, 5164, 5167, 2656, 5185, 7131, 7131,
905 7131, 7131, 5193, 5196, 5199, 5202, 5205, 5214, 5228, 5233,
906 2645, 2653, 5240, 5247, 2648, 2681, 5251, 5254, 2670, 2728,
908 5258, 5272, 2663, 2709, 5277, 5283, 5299, 5302, 2693, 2729,
909 5310, 7131, 7131, 5319, 7131, 7131, 2768, 2777, 2737, 2740,
910 2842, 2847, 2789, 2845, 2679, 2738, 2856, 2892, 2790, 2871,
911 5327, 5330, 7131, 7131, 5350, 5359, 5368, 5377, 5386, 5395,
912 5404, 5413, 5422, 5431, 5440, 5449, 5458, 5467, 5476, 5485,
913 5494, 5503, 5512, 5521, 5530, 5539, 5548, 5557, 5566, 5575,
914 5584, 5593, 5602, 5611, 5620, 5629, 5638, 5647, 5656, 5665,
915 5674, 5683, 5690, 5697, 5704, 5711, 5718, 5725, 5732, 5739,
916 5746, 5753, 5760, 5767, 5774, 5781, 5788, 5795, 5802, 5811,
917 5816, 5821, 5826, 5831, 5836, 5841, 5846, 5851, 5856, 5863,
919 5868, 5875, 5880, 5887, 5892, 5899, 5904, 5911, 5916, 5923,
920 5928, 5935, 5940, 5947, 5952, 5961, 5967, 5974, 5982, 5989,
921 5997, 6004, 6012, 6019, 6027, 6034, 6042, 6049, 6057, 6064,
922 6072, 6079, 6087, 6094, 6102, 6109, 6117, 6125, 6132, 6140,
923 6147, 6155, 6162, 6170, 6178, 6185, 6193, 6200, 6208, 6217,
924 6223, 6230, 6238, 6246, 6254, 6262, 6270, 6277, 6285, 6292,
925 6300, 6307, 6315, 6322, 6330, 6337, 6345, 6352, 6360, 6367,
926 6375, 6383, 6390, 6398, 6405, 6413, 6420, 6428, 6436, 6443,
927 6451, 6458, 6466, 6475, 6484, 6491, 6499, 6507, 6514, 6522,
928 6529, 6537, 6544, 6552, 6559, 6567, 6574, 6582, 6589, 6597,
930 6605, 6613, 6621, 6629, 6637, 6644, 6652, 6659, 6667, 6674,
931 6682, 6690, 6697, 6705, 6713, 6721, 6730, 6739, 6746, 6754,
932 6762, 6769, 6777, 6784, 6792, 6799, 6807, 6815, 6823, 6831,
933 6838, 6846, 6854, 6862, 6870, 6878, 6885, 6893, 6901, 6909,
934 6917, 6925, 6933, 6940, 6948, 6956, 6965, 6974, 6982, 6990,
935 6998, 7005, 7013, 7020, 7028, 7036, 7044, 7052, 7060, 7067,
936 7076, 7085, 7094, 7103, 7112, 7121
939 static yyconst flex_int16_t yy_def[2267] =
941 2035, 2035, 2036, 2036, 2036, 2036, 2037, 2037, 2038, 2038,
942 2039, 2039, 2040, 2040, 2040, 2040, 2041, 2041, 2035, 2035,
943 2042, 2042, 2043, 2043, 2043, 2043, 2035, 2035, 2043, 2043,
944 2035, 2035, 2043, 2043, 2043, 2043, 2044, 2044, 2045, 2045,
945 2046, 2046, 2040, 2040, 2047, 2047, 2048, 2048, 2035, 2035,
946 2048, 2048, 2048, 2048, 2049, 2049, 2050, 2050, 2051, 2051,
947 2052, 2052, 2053, 2053, 2035, 2035, 2035, 2035, 2054, 2054,
948 2034, 71, 2055, 2055, 2035, 2035, 2055, 2055, 2055, 2055,
949 2056, 2056, 2057, 2057, 2034, 85, 2058, 2058, 2059, 2059,
950 2060, 2060, 2061, 2061, 2062, 2062, 2035, 2035, 2062, 2062,
952 2062, 2062, 2063, 2063, 2035, 2035, 2035, 2035, 2064, 2064,
953 2064, 2064, 2065, 2065, 2066, 2066, 2035, 2035, 2066, 2066,
954 2066, 2066, 2067, 2067, 2068, 2068, 2069, 2069, 2070, 2070,
955 2035, 2035, 2070, 2070, 2070, 2070, 2071, 2071, 2072, 2072,
956 2035, 2035, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
957 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
958 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
959 2034, 2034, 2034, 2073, 2034, 2034, 2073, 2073, 2034, 2034,
960 2034, 2034, 181, 182, 182, 2034, 2034, 2034, 2074, 2034,
961 2034, 2074, 2034, 2034, 2034, 2034, 2034, 2034, 2075, 2034,
963 2034, 2075, 2075, 2075, 2034, 2034, 2034, 2034, 2034, 2076,
964 2034, 2034, 2076, 2076, 2076, 2076, 2034, 2034, 185, 185,
965 185, 2034, 2034, 2034, 2077, 2034, 2034, 2077, 2077, 2077,
966 2034, 2034, 2034, 2034, 2034, 2034, 2078, 2034, 2034, 2078,
967 2078, 2078, 2078, 2034, 2034, 2034, 2034, 2034, 2034, 2079,
968 2034, 2034, 2079, 185, 254, 2034, 2034, 185, 2034, 2034,
969 2034, 2080, 2034, 2034, 2080, 2080, 2080, 2080, 2080, 2080,
970 2034, 2034, 185, 185, 2034, 2034, 2034, 2081, 2034, 2034,
971 2081, 2081, 2034, 2034, 2034, 2034, 2034, 2034, 2082, 2034,
972 2034, 2082, 2082, 2082, 2082, 2082, 2082, 2034, 2034, 2034,
974 2034, 2034, 2034, 2083, 2034, 2034, 2083, 2034, 2034, 2034,
975 2034, 2034, 2034, 2084, 2034, 2034, 2084, 2084, 2084, 2084,
976 2034, 2034, 185, 185, 2034, 2034, 2034, 2085, 2034, 2034,
977 2085, 2085, 2085, 185, 2034, 2034, 185, 185, 2034, 2034,
978 2034, 2086, 2034, 2034, 2086, 2086, 2086, 2086, 2034, 2034,
979 185, 185, 2034, 2034, 2034, 2087, 2034, 2034, 2087, 2034,
980 2034, 2034, 2034, 2034, 2034, 2088, 2034, 2034, 2088, 2088,
981 2088, 2088, 2034, 2034, 185, 375, 185, 2034, 2034, 2034,
982 2089, 2034, 2034, 2089, 2034, 2034, 2034, 2034, 2090, 2034,
983 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
985 2034, 2034, 2034, 2034, 2073, 2073, 2073, 2091, 2034, 2034,
986 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
987 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
988 2034, 2074, 2074, 2092, 2034, 2075, 2075, 2075, 2075, 2034,
989 2093, 2034, 2034, 2076, 2076, 2076, 2076, 2076, 2076, 2076,
990 2094, 2034, 2034, 2077, 2077, 2077, 2077, 2095, 2034, 2078,
991 2078, 2078, 2078, 2078, 2096, 2034, 2079, 2079, 2097, 2034,
992 2080, 2080, 2080, 2080, 2080, 2080, 2080, 2080, 2098, 2034,
993 2081, 2081, 2081, 2099, 2034, 2100, 2100, 2100, 2100, 2100,
994 2100, 2100, 2100, 2100, 2101, 2034, 2102, 2102, 2103, 2034,
996 2104, 2104, 2104, 2104, 2104, 2104, 2105, 2034, 2106, 2106,
997 2106, 2106, 2106, 2034, 2107, 2034, 2108, 2108, 2108, 2108,
998 2108, 2109, 2034, 2110, 2110, 2111, 2034, 2112, 2112, 2112,
999 2112, 2112, 2113, 2034, 2034, 2114, 2114, 2115, 2116, 2034,
1000 2116, 2034, 2034, 2034, 2117, 2034, 2034, 2034, 2034, 2034,
1001 2034, 2034, 2118, 2118, 2119, 2119, 2034, 2034, 2034, 2034,
1002 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
1003 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
1004 2034, 2120, 2121, 2121, 2122, 2034, 2034, 2122, 2034, 2123,
1005 2123, 2034, 2124, 2034, 2034, 2124, 2124, 2124, 2124, 2125,
1007 2125, 2034, 2126, 2126, 2126, 2127, 2127, 2034, 2034, 2128,
1008 2128, 2128, 2129, 2129, 2130, 2131, 2131, 2132, 2034, 2034,
1009 2132, 2132, 2132, 2132, 2132, 2133, 2133, 2034, 2034, 2134,
1010 2135, 2135, 2136, 2034, 2034, 2034, 2034, 2136, 2136, 2136,
1011 2136, 2136, 2137, 2137, 2034, 2034, 2138, 2138, 2139, 2034,
1012 2034, 2139, 2139, 2139, 2140, 2140, 2141, 2141, 2141, 2141,
1013 2034, 2142, 2142, 2143, 2143, 2143, 2143, 2144, 2144, 2034,
1014 2034, 2145, 2145, 2146, 2146, 2146, 2146, 2147, 2147, 2034,
1015 2148, 2149, 2149, 2150, 2034, 2034, 2150, 2034, 2034, 2151,
1016 2034, 2034, 2034, 2034, 2034, 2034, 2152, 2152, 2034, 2153,
1018 2034, 2153, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
1019 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
1020 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2154, 2034, 2155,
1021 2034, 2155, 2156, 2034, 2034, 2034, 2156, 2034, 2034, 2157,
1022 2034, 2157, 2158, 2034, 2034, 2034, 2034, 2034, 2158, 2034,
1023 2034, 2158, 2034, 2159, 2034, 2159, 2034, 2160, 2160, 2160,
1024 2034, 2161, 2034, 2161, 2034, 2034, 2034, 2162, 2162, 2162,
1025 2034, 2163, 2034, 2163, 2164, 2034, 2165, 2034, 2165, 2166,
1026 2034, 2034, 2034, 2166, 2166, 2166, 2166, 2166, 2034, 2167,
1027 2034, 2167, 2034, 2034, 2034, 2168, 2034, 2169, 2034, 2169,
1029 2170, 2170, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
1030 2170, 2170, 2170, 2170, 2034, 2171, 2034, 2171, 2034, 2034,
1031 2034, 2034, 2172, 2034, 2172, 2173, 2034, 2034, 2034, 2173,
1032 2173, 2173, 2034, 2174, 2034, 2174, 2175, 2034, 2034, 2034,
1033 2034, 2175, 2034, 2034, 2176, 2034, 2176, 2177, 2034, 2034,
1034 2177, 2034, 2034, 2034, 2178, 2034, 2178, 2034, 2034, 2034,
1035 2034, 2179, 2034, 2179, 2180, 2180, 2180, 2180, 2034, 2181,
1036 2034, 2181, 2034, 2182, 2034, 2183, 2034, 2183, 2184, 2185,
1037 2034, 2034, 2034, 2034, 2034, 2186, 2186, 2187, 2034, 2034,
1038 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
1040 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
1041 2034, 2034, 2034, 2034, 2034, 2034, 2188, 2034, 2034, 2189,
1042 2034, 2190, 2191, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
1043 2034, 2191, 2192, 2034, 2193, 2034, 2034, 2193, 2194, 2195,
1044 2195, 2195, 2196, 2197, 2198, 2199, 2199, 2199, 2199, 2199,
1045 2199, 2200, 2201, 2202, 2203, 2203, 2034, 2034, 2034, 2203,
1046 2203, 2203, 2203, 2204, 2205, 2206, 2206, 2206, 2206, 2207,
1047 2208, 2034, 2034, 2034, 2034, 2034, 2034, 2208, 2034, 2209,
1048 2210, 2034, 2034, 2034, 2210, 2034, 2034, 2034, 2211, 2212,
1049 2213, 2034, 2034, 2213, 2213, 2214, 2034, 2215, 2216, 2217,
1051 2218, 2218, 2034, 2218, 2034, 2034, 2034, 2219, 2219, 2220,
1052 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
1053 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
1054 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2221, 2034,
1055 2034, 2034, 2222, 2034, 2223, 2224, 2034, 2034, 2034, 2224,
1056 2225, 2034, 2226, 2034, 2034, 2034, 2034, 2034, 2227, 2228,
1057 2228, 2228, 2034, 2034, 2229, 2230, 2231, 2231, 2231, 2034,
1058 2034, 2034, 2034, 2231, 2231, 2232, 2034, 2034, 2233, 2034,
1059 2034, 2234, 2034, 2034, 2234, 2234, 2234, 2235, 2236, 2237,
1060 2237, 2237, 2034, 2034, 2237, 2238, 2239, 2239, 2034, 2240,
1062 2241, 2241, 2242, 2243, 2244, 2034, 2034, 2034, 2244, 2244,
1063 2245, 2034, 2034, 2034, 2246, 2247, 2248, 2248, 2034, 2034,
1064 2249, 2249, 2249, 2250, 2034, 2034, 2034, 2034, 2034, 2034,
1065 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
1066 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2251, 2252, 2034,
1067 2253, 2254, 2254, 2255, 2256, 2034, 2034, 2034, 2034, 2034,
1068 2034, 2034, 2034, 2034, 2034, 2034, 2257, 2034, 2034, 2258,
1069 2034, 2034, 2034, 2034, 2259, 2260, 2260, 2260, 2034, 2034,
1070 2034, 2034, 2034, 2034, 2260, 2260, 2034, 2034, 2034, 2034,
1071 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
1073 2034, 2034, 2034, 2234, 2034, 2034, 2235, 2236, 2237, 2237,
1074 2237, 2034, 2034, 2034, 2237, 2034, 2034, 2034, 2034, 2239,
1075 2034, 2240, 2034, 2034, 2241, 2242, 2243, 2244, 2244, 2244,
1076 2245, 2034, 2034, 2034, 2034, 2246, 2247, 2248, 2248, 2034,
1077 2034, 2034, 2249, 2249, 2250, 2034, 2034, 2034, 2034, 2034,
1078 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
1079 2034, 2034, 2034, 2034, 2251, 2252, 2034, 2034, 2034, 2254,
1080 2254, 2255, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
1081 2034, 2034, 2034, 2034, 2257, 2034, 2034, 2034, 2034, 2034,
1082 2034, 2034, 2034, 2034, 2034, 2034, 2259, 2260, 2260, 2260,
1084 2034, 2034, 2260, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
1085 2034, 2034, 2034, 2034, 2034, 2034, 2235, 2236, 2237, 2034,
1086 2034, 2237, 2237, 2034, 2034, 2237, 2034, 2034, 2034, 2239,
1087 2034, 2240, 2034, 2034, 2034, 2241, 2034, 2034, 2243, 2244,
1088 2244, 2244, 2245, 2034, 2246, 2247, 2248, 2248, 2034, 2034,
1089 2034, 2034, 2249, 2249, 2250, 2034, 2034, 2034, 2034, 2034,
1090 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
1091 2251, 2252, 2034, 2254, 2254, 2034, 2034, 2034, 2034, 2034,
1092 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
1093 2257, 2034, 2034, 2034, 2259, 2260, 2260, 2260, 2034, 2034,
1095 2034, 2034, 2260, 2034, 2034, 2034, 2034, 2034, 2034, 2235,
1096 2034, 2034, 2237, 2034, 2034, 2034, 2237, 2237, 2034, 2034,
1097 2034, 2034, 2237, 2034, 2034, 2034, 2034, 2239, 2034, 2240,
1098 2034, 2034, 2034, 2034, 2241, 2243, 2034, 2034, 2244, 2244,
1099 2245, 2034, 2246, 2247, 2248, 2248, 2034, 2249, 2249, 2250,
1100 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2252,
1101 2034, 2034, 2254, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
1102 2034, 2034, 2034, 2257, 2034, 2034, 2260, 2260, 2260, 2034,
1103 2034, 2034, 2034, 2260, 2034, 2034, 2034, 2034, 2237, 2237,
1104 2237, 2034, 2034, 2034, 2034, 2237, 2034, 2034, 2034, 2034,
1106 2034, 2034, 2034, 2034, 2034, 2240, 2034, 2034, 2034, 2034,
1107 2034, 2034, 2241, 2243, 2034, 2034, 2034, 2034, 2034, 2244,
1108 2034, 2034, 2034, 2246, 2247, 2248, 2248, 2034, 2034, 2249,
1109 2034, 2034, 2034, 2034, 2034, 2034, 2252, 2034, 2034, 2034,
1110 2254, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
1111 2034, 2257, 2260, 2260, 2260, 2034, 2034, 2034, 2034, 2034,
1112 2034, 2034, 2237, 2237, 2237, 2034, 2034, 2034, 2034, 2034,
1113 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2240, 2034,
1114 2034, 2034, 2034, 2034, 2034, 2241, 2241, 2034, 2034, 2034,
1115 2034, 2034, 2034, 2034, 2034, 2034, 2247, 2248, 2248, 2034,
1117 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
1118 2034, 2034, 2034, 2034, 2254, 2034, 2034, 2034, 2034, 2034,
1119 2034, 2034, 2034, 2034, 2034, 2257, 2260, 2260, 2260, 2034,
1120 2034, 2034, 2237, 2237, 2237, 2034, 2034, 2034, 2034, 2034,
1121 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2240, 2034,
1122 2034, 2034, 2034, 2034, 2034, 2241, 2241, 2034, 2034, 2034,
1123 2247, 2248, 2248, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
1124 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2254, 2034, 2034,
1125 2034, 2034, 2034, 2034, 2034, 2034, 2257, 2034, 2034, 2260,
1126 2260, 2260, 2237, 2034, 2034, 2237, 2034, 2034, 2034, 2034,
1128 2034, 2034, 2034, 2034, 2034, 2034, 2240, 2034, 2034, 2034,
1129 2034, 2034, 2034, 2241, 2241, 2247, 2248, 2248, 2248, 2034,
1130 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
1131 2034, 2034, 2034, 2034, 2034, 2257, 2034, 2034, 2034, 2260,
1132 2260, 2260, 2260, 2237, 2034, 2034, 2034, 2237, 2034, 2034,
1133 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
1134 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2241, 2034,
1135 2034, 2241, 2247, 2248, 2248, 2248, 2261, 2262, 2034, 2034,
1136 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
1137 2034, 2034, 2034, 2257, 2260, 2260, 2260, 2260, 2034, 2034,
1139 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
1140 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2241,
1141 2034, 2034, 2034, 2241, 2247, 2248, 2263, 2264, 2261, 2262,
1142 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
1143 2034, 2034, 2260, 2260, 2260, 2260, 2034, 2034, 2034, 2034,
1144 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
1145 2034, 2034, 2034, 2034, 2241, 2241, 2247, 2263, 2248, 2265,
1146 2264, 2266, 2248, 2034, 2034, 2034, 2034, 2034, 2034, 2260,
1147 2260, 2260, 2260, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
1148 2034, 2034, 2034, 2034, 2034, 2241, 2241, 2247, 2265, 2034,
1150 2266, 2248, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
1151 2260, 2034, 2034, 2034, 2034, 2034, 2034, 2241, 2241, 2247,
1152 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
1153 2034, 2034, 2260, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
1154 2241, 2241, 2247, 2034, 2260, 2034, 2034, 2034, 2034, 2241,
1155 2241, 2247, 2260, 2034, 2034, 2034, 2034, 2241, 2241, 2247,
1156 2260, 2034, 2034, 2034, 2034, 2241, 2241, 2247, 2034, 2034,
1157 2034, 2034, 2034, 2034, 2241, 2241, 2247, 2034, 2034, 2034,
1158 2034, 2034, 2241, 2241, 2247, 2241, 2241, 2247, 2241, 2241,
1159 2247, 2247, 2241, 2241, 2247, 2247, 2241, 2241, 2247, 2247,
1161 2241, 2241, 2247, 2247, 2034, 2034, 2034, 2034, 2247, 2247,
1162 2034, 2034, 2034, 2034, 2034, 2034, 2247, 2247, 2247, 2247,
1163 2247, 2247, 2247, 2247, 2247, 2247, 2247, 2247, 2247, 2247,
1164 2247, 2247, 2034, 0, 2034, 2034, 2034, 2034, 2034, 2034,
1165 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
1166 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
1167 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
1168 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
1169 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
1170 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
1172 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
1173 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
1174 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
1175 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
1176 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
1177 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
1178 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
1179 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
1180 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
1181 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
1183 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
1184 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
1185 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
1186 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
1187 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
1188 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
1189 2034, 2034, 2034, 2034, 2034, 2034
1192 static yyconst flex_int16_t yy_nxt[7201] =
1194 2034, 146, 147, 146, 146, 147, 146, 146, 147, 146,
1195 146, 147, 146, 151, 147, 151, 157, 148, 154, 157,
1196 148, 154, 451, 149, 2034, 155, 149, 2034, 155, 152,
1197 151, 147, 151, 389, 158, 160, 161, 158, 160, 161,
1198 162, 163, 2034, 162, 163, 389, 152, 167, 168, 390,
1199 164, 160, 161, 164, 165, 392, 162, 160, 161, 563,
1200 165, 391, 162, 167, 168, 564, 164, 147, 147, 147,
1201 452, 391, 164, 147, 147, 147, 180, 147, 180, 180,
1202 147, 180, 473, 170, 180, 147, 180, 512, 169, 170,
1203 452, 474, 181, 563, 513, 181, 388, 388, 388, 577,
1205 182, 388, 388, 388, 169, 171, 172, 147, 172, 171,
1206 171, 171, 171, 171, 171, 171, 173, 171, 171, 171,
1207 1491, 171, 175, 171, 176, 171, 180, 147, 180, 147,
1208 147, 147, 505, 147, 147, 147, 180, 147, 180, 180,
1209 147, 180, 182, 506, 563, 183, 392, 171, 171, 183,
1210 602, 491, 181, 392, 492, 181, 388, 388, 388, 388,
1211 388, 388, 391, 388, 388, 388, 388, 388, 388, 391,
1212 177, 2034, 178, 171, 172, 147, 172, 171, 171, 171,
1213 171, 171, 171, 171, 173, 171, 171, 171, 479, 171,
1214 175, 171, 176, 171, 147, 147, 147, 147, 147, 147,
1216 685, 180, 147, 180, 180, 147, 180, 180, 147, 180,
1217 184, 565, 392, 184, 392, 171, 171, 182, 392, 426,
1218 182, 427, 1116, 185, 566, 180, 147, 180, 391, 428,
1219 391, 388, 388, 388, 391, 426, 452, 429, 177, 430,
1220 178, 185, 186, 187, 147, 187, 186, 186, 186, 186,
1221 186, 186, 186, 188, 186, 186, 186, 487, 186, 190,
1222 186, 191, 186, 194, 147, 194, 194, 147, 194, 403,
1223 218, 147, 218, 160, 161, 160, 161, 488, 162, 195,
1224 162, 1277, 195, 447, 186, 186, 219, 448, 205, 1278,
1225 205, 449, 192, 186, 187, 147, 187, 186, 186, 186,
1227 186, 186, 186, 186, 188, 186, 186, 186, 896, 186,
1228 190, 186, 191, 186, 206, 2034, 206, 218, 147, 218,
1229 897, 147, 147, 147, 147, 147, 147, 388, 388, 388,
1230 388, 388, 388, 219, 685, 186, 186, 220, 879, 546,
1231 220, 515, 547, 192, 196, 197, 147, 197, 196, 196,
1232 196, 196, 196, 196, 196, 198, 196, 196, 196, 514,
1233 196, 200, 196, 201, 196, 218, 147, 218, 218, 147,
1234 218, 507, 218, 147, 218, 218, 147, 218, 388, 388,
1235 388, 219, 392, 440, 219, 514, 196, 196, 221, 434,
1236 441, 221, 1424, 1425, 202, 1426, 1427, 203, 391, 391,
1238 388, 388, 388, 204, 196, 197, 147, 197, 196, 196,
1239 196, 196, 196, 196, 196, 198, 196, 196, 196, 452,
1240 196, 200, 196, 201, 196, 232, 147, 232, 232, 147,
1241 232, 910, 245, 147, 245, 245, 147, 245, 540, 392,
1242 392, 233, 1282, 897, 233, 392, 196, 196, 246, 573,
1243 1283, 246, 458, 541, 202, 391, 391, 203, 388, 388,
1244 388, 391, 574, 204, 207, 208, 147, 208, 207, 207,
1245 207, 207, 207, 207, 207, 209, 207, 207, 207, 910,
1246 207, 211, 207, 212, 207, 147, 147, 147, 147, 147,
1247 147, 934, 147, 147, 147, 147, 147, 147, 257, 147,
1249 257, 254, 392, 392, 254, 1492, 207, 207, 255, 465,
1250 522, 255, 565, 1493, 258, 213, 1494, 214, 391, 391,
1251 215, 388, 388, 388, 2034, 578, 216, 207, 208, 147,
1252 208, 207, 207, 207, 207, 207, 207, 207, 209, 207,
1253 207, 207, 540, 207, 211, 207, 212, 207, 257, 147,
1254 257, 272, 147, 272, 514, 272, 147, 272, 147, 147,
1255 147, 147, 147, 147, 258, 412, 392, 273, 414, 207,
1256 207, 273, 392, 1122, 220, 589, 1495, 220, 213, 1123,
1257 214, 1496, 391, 215, 388, 388, 388, 1003, 391, 216,
1258 222, 223, 147, 223, 222, 222, 222, 222, 222, 222,
1260 222, 224, 222, 222, 222, 1497, 222, 226, 222, 227,
1261 222, 272, 147, 272, 272, 147, 272, 1239, 272, 147,
1262 272, 272, 147, 272, 284, 147, 284, 273, 1500, 801,
1263 273, 1003, 222, 222, 274, 392, 392, 274, 802, 228,
1264 285, 388, 388, 388, 229, 388, 388, 388, 388, 388,
1265 388, 391, 391, 230, 222, 223, 147, 223, 222, 222,
1266 222, 222, 222, 222, 222, 224, 222, 222, 222, 1238,
1267 222, 226, 222, 227, 222, 284, 147, 284, 299, 147,
1268 299, 1507, 299, 147, 299, 309, 147, 309, 309, 147,
1269 309, 285, 1431, 1432, 300, 1399, 222, 222, 300, 392,
1271 392, 310, 1400, 228, 310, 388, 388, 388, 229, 388,
1272 388, 388, 388, 388, 388, 391, 391, 230, 234, 235,
1273 147, 235, 234, 234, 234, 234, 234, 234, 234, 236,
1274 234, 234, 234, 1510, 234, 238, 234, 239, 234, 322,
1275 147, 322, 322, 147, 322, 685, 147, 147, 147, 147,
1276 147, 147, 322, 147, 322, 323, 392, 573, 323, 1520,
1277 234, 234, 220, 484, 1000, 220, 1003, 1003, 323, 1401,
1278 580, 240, 391, 388, 388, 388, 1402, 241, 1533, 242,
1279 243, 234, 235, 147, 235, 234, 234, 234, 234, 234,
1280 234, 234, 236, 234, 234, 234, 1526, 234, 238, 234,
1282 239, 234, 322, 147, 322, 322, 147, 322, 1348, 322,
1283 147, 322, 147, 147, 147, 147, 147, 147, 323, 1433,
1284 1434, 324, 392, 234, 234, 324, 685, 685, 334, 495,
1285 1534, 334, 1419, 1346, 240, 388, 388, 388, 391, 1420,
1286 241, 687, 242, 243, 247, 248, 147, 248, 247, 247,
1287 247, 247, 247, 247, 247, 249, 247, 247, 247, 1003,
1288 247, 251, 247, 252, 247, 147, 147, 147, 147, 147,
1289 147, 1535, 336, 147, 336, 336, 147, 336, 336, 147,
1290 336, 334, 1536, 1421, 334, 392, 247, 247, 337, 392,
1291 1422, 337, 499, 1527, 338, 388, 388, 388, 388, 388,
1293 388, 391, 388, 388, 388, 391, 253, 247, 248, 147,
1294 248, 247, 247, 247, 247, 247, 247, 247, 249, 247,
1295 247, 247, 1537, 247, 251, 247, 252, 247, 336, 147,
1296 336, 350, 147, 350, 1541, 350, 147, 350, 147, 147,
1297 147, 147, 147, 147, 338, 1542, 1498, 351, 1499, 247,
1298 247, 351, 392, 1501, 334, 1502, 1543, 334, 388, 388,
1299 388, 388, 388, 388, 388, 388, 388, 1544, 391, 253,
1300 259, 260, 147, 260, 259, 259, 259, 259, 259, 259,
1301 259, 261, 259, 259, 259, 262, 259, 263, 259, 264,
1302 259, 262, 262, 262, 262, 262, 262, 262, 262, 262,
1304 262, 262, 262, 262, 262, 262, 262, 262, 262, 262,
1305 262, 262, 259, 259, 262, 265, 262, 262, 262, 262,
1306 262, 262, 262, 266, 262, 262, 267, 262, 262, 268,
1307 262, 262, 269, 262, 262, 270, 262, 262, 262, 275,
1308 276, 147, 276, 275, 275, 275, 275, 275, 275, 275,
1309 277, 275, 275, 275, 533, 275, 279, 275, 280, 275,
1310 350, 147, 350, 350, 147, 350, 1545, 350, 147, 350,
1311 350, 147, 350, 361, 147, 361, 351, 1003, 1508, 351,
1312 1509, 275, 275, 352, 1546, 1547, 352, 392, 534, 362,
1313 1548, 1549, 281, 388, 388, 388, 388, 388, 388, 388,
1315 388, 388, 452, 391, 282, 275, 276, 147, 276, 275,
1316 275, 275, 275, 275, 275, 275, 277, 275, 275, 275,
1317 1446, 275, 279, 275, 280, 275, 361, 147, 361, 374,
1318 147, 374, 1550, 374, 147, 374, 147, 147, 147, 147,
1319 147, 147, 362, 1551, 1553, 375, 392, 275, 275, 375,
1320 1554, 1555, 376, 526, 1511, 376, 1512, 1556, 281, 388,
1321 388, 388, 391, 388, 388, 388, 388, 388, 388, 1557,
1322 282, 286, 287, 147, 287, 286, 286, 286, 286, 286,
1323 286, 286, 288, 286, 286, 286, 289, 286, 290, 286,
1324 291, 286, 289, 289, 289, 289, 289, 289, 289, 289,
1326 289, 289, 289, 289, 289, 289, 289, 289, 289, 289,
1327 289, 289, 289, 286, 286, 289, 289, 292, 289, 289,
1328 289, 289, 289, 289, 293, 289, 294, 289, 289, 289,
1329 295, 289, 296, 297, 289, 289, 289, 289, 289, 289,
1330 301, 302, 147, 302, 301, 301, 301, 301, 301, 301,
1331 301, 303, 301, 301, 301, 1563, 301, 305, 301, 306,
1332 301, 374, 147, 374, 374, 147, 374, 1564, 374, 147,
1333 374, 374, 147, 374, 386, 147, 386, 375, 1565, 397,
1334 375, 1566, 301, 301, 377, 1567, 1570, 377, 1571, 1572,
1335 387, 1003, 1573, 307, 301, 302, 147, 302, 301, 301,
1337 301, 301, 301, 301, 301, 303, 301, 301, 301, 392,
1338 301, 305, 301, 306, 301, 386, 147, 386, 398, 388,
1339 388, 388, 1574, 1575, 399, 391, 685, 392, 400, 1580,
1340 1445, 387, 1581, 401, 538, 1003, 301, 301, 388, 388,
1341 388, 1582, 1237, 391, 388, 388, 388, 307, 311, 312,
1342 147, 312, 311, 311, 311, 311, 311, 311, 311, 313,
1343 311, 311, 311, 1347, 311, 315, 311, 316, 311, 1583,
1344 1584, 544, 544, 544, 1585, 586, 586, 586, 594, 594,
1345 594, 608, 608, 608, 1605, 619, 619, 619, 1606, 1607,
1346 311, 311, 587, 1608, 317, 595, 1615, 1616, 609, 1617,
1348 1618, 318, 620, 319, 544, 544, 544, 1619, 689, 1003,
1349 320, 311, 312, 147, 312, 311, 311, 311, 311, 311,
1350 311, 311, 313, 311, 311, 311, 545, 311, 315, 311,
1351 316, 311, 628, 628, 628, 634, 634, 634, 636, 636,
1352 636, 645, 645, 645, 650, 650, 650, 1620, 1599, 629,
1353 1156, 1621, 635, 311, 311, 637, 1157, 317, 646, 1158,
1354 1622, 651, 685, 1159, 318, 1003, 319, 900, 900, 900,
1355 908, 908, 908, 320, 325, 326, 147, 326, 325, 325,
1356 325, 325, 325, 325, 325, 327, 325, 325, 325, 1623,
1357 325, 329, 325, 330, 325, 670, 670, 670, 1597, 1598,
1359 699, 699, 699, 1624, 1625, 699, 699, 699, 729, 729,
1360 729, 1627, 671, 729, 729, 729, 325, 325, 701, 331,
1361 1628, 1611, 332, 701, 1629, 1633, 731, 1634, 734, 734,
1362 734, 731, 735, 1612, 1635, 736, 333, 325, 326, 147,
1363 326, 325, 325, 325, 325, 325, 325, 325, 327, 325,
1364 325, 325, 1639, 325, 329, 325, 330, 325, 1640, 702,
1365 586, 586, 586, 739, 739, 739, 739, 739, 739, 732,
1366 594, 594, 594, 1641, 747, 747, 747, 587, 1642, 325,
1367 325, 741, 331, 1643, 741, 332, 1644, 595, 744, 744,
1368 744, 748, 745, 1650, 1651, 746, 1014, 1014, 1014, 333,
1370 339, 340, 147, 340, 339, 339, 339, 339, 339, 339,
1371 339, 341, 339, 339, 339, 1613, 339, 343, 339, 344,
1372 339, 750, 750, 750, 1652, 1653, 742, 1614, 753, 753,
1373 753, 761, 761, 761, 753, 753, 753, 1654, 751, 761,
1374 761, 761, 339, 339, 1655, 345, 755, 1668, 346, 763,
1375 1003, 1645, 755, 347, 765, 765, 765, 763, 766, 1646,
1376 1003, 767, 348, 339, 340, 147, 340, 339, 339, 339,
1377 339, 339, 339, 339, 341, 339, 339, 339, 756, 339,
1378 343, 339, 344, 339, 608, 608, 608, 1670, 1662, 771,
1379 771, 771, 776, 776, 776, 776, 776, 776, 1663, 764,
1381 1674, 609, 771, 771, 771, 339, 339, 773, 345, 1675,
1382 778, 346, 1676, 778, 1647, 685, 347, 781, 781, 781,
1383 773, 782, 1648, 1677, 783, 348, 353, 354, 147, 354,
1384 353, 353, 353, 353, 353, 353, 353, 355, 353, 353,
1385 353, 1661, 353, 357, 353, 358, 353, 619, 619, 619,
1386 774, 1678, 779, 789, 789, 789, 789, 789, 789, 628,
1387 628, 628, 1679, 1680, 620, 1020, 1020, 1020, 353, 353,
1388 1681, 791, 1682, 1683, 791, 1684, 629, 1685, 1686, 359,
1389 353, 354, 147, 354, 353, 353, 353, 353, 353, 353,
1390 353, 355, 353, 353, 353, 1691, 353, 357, 353, 358,
1392 353, 793, 793, 793, 1692, 794, 1693, 1696, 795, 797,
1393 797, 797, 1697, 792, 797, 797, 797, 803, 803, 803,
1394 1698, 804, 353, 353, 805, 1699, 1700, 799, 900, 900,
1395 900, 1701, 799, 359, 363, 364, 147, 364, 363, 363,
1396 363, 363, 363, 363, 363, 365, 363, 363, 363, 1702,
1397 363, 367, 363, 368, 363, 634, 634, 634, 636, 636,
1398 636, 806, 806, 806, 1703, 807, 1704, 1705, 808, 815,
1399 815, 815, 635, 1706, 800, 637, 363, 363, 809, 809,
1400 809, 1026, 1026, 1026, 369, 1708, 370, 817, 371, 908,
1401 908, 908, 1052, 1052, 1052, 810, 372, 363, 364, 147,
1403 364, 363, 363, 363, 363, 363, 363, 363, 365, 363,
1404 363, 363, 1709, 363, 367, 363, 368, 363, 645, 645,
1405 645, 1710, 1711, 822, 822, 822, 1712, 815, 815, 815,
1406 819, 819, 819, 1713, 820, 646, 1720, 821, 1721, 363,
1407 363, 824, 1016, 1016, 1016, 817, 1722, 369, 1723, 370,
1408 1724, 371, 1014, 1014, 1014, 1725, 1017, 685, 1728, 372,
1409 378, 379, 147, 379, 378, 378, 378, 378, 378, 378,
1410 378, 380, 378, 378, 378, 1729, 378, 382, 378, 383,
1411 378, 818, 650, 650, 650, 1730, 833, 833, 833, 1731,
1412 822, 822, 822, 827, 827, 827, 1732, 828, 1733, 651,
1414 829, 1716, 378, 378, 835, 833, 833, 833, 824, 858,
1415 858, 858, 1734, 859, 1735, 1740, 860, 734, 734, 734,
1416 1003, 735, 1743, 835, 736, 384, 378, 379, 147, 379,
1417 378, 378, 378, 378, 378, 378, 378, 380, 378, 378,
1418 378, 1744, 378, 382, 378, 383, 378, 825, 838, 838,
1419 838, 1748, 1717, 840, 840, 840, 1749, 836, 844, 844,
1420 844, 844, 844, 844, 1750, 839, 1741, 1742, 378, 378,
1421 841, 849, 849, 849, 1751, 1752, 846, 1753, 1754, 846,
1422 852, 852, 852, 854, 854, 854, 1755, 1756, 850, 1757,
1423 1758, 384, 392, 670, 670, 670, 1761, 853, 1762, 408,
1425 1763, 856, 1764, 854, 854, 854, 1765, 1766, 391, 1781,
1426 671, 861, 861, 861, 861, 861, 861, 685, 847, 1782,
1427 1783, 856, 1784, 1788, 869, 869, 869, 1789, 1790, 863,
1428 1791, 1792, 863, 409, 1793, 410, 1795, 1796, 411, 1797,
1429 412, 413, 871, 414, 869, 869, 869, 415, 1773, 416,
1430 417, 418, 392, 875, 875, 875, 875, 875, 875, 408,
1431 857, 1798, 871, 699, 699, 699, 864, 1803, 391, 1804,
1432 1805, 877, 1806, 1807, 877, 1808, 699, 699, 699, 1809,
1433 1810, 701, 1811, 1812, 699, 699, 699, 1813, 915, 915,
1434 915, 1814, 1815, 409, 701, 419, 1816, 685, 420, 1831,
1436 421, 413, 701, 422, 872, 916, 1832, 415, 1833, 423,
1437 424, 425, 729, 729, 729, 1834, 878, 729, 729, 729,
1438 729, 729, 729, 918, 918, 918, 1835, 1836, 888, 1837,
1439 731, 2034, 2034, 2034, 1838, 731, 1825, 1839, 731, 1840,
1440 919, 739, 739, 739, 739, 739, 739, 1843, 2034, 739,
1441 739, 739, 1844, 744, 744, 744, 1845, 745, 1846, 741,
1442 746, 1853, 741, 747, 747, 747, 917, 741, 924, 924,
1443 924, 1854, 925, 1855, 1856, 926, 1857, 927, 927, 927,
1444 748, 750, 750, 750, 1858, 929, 929, 929, 920, 930,
1445 1859, 1860, 931, 922, 928, 753, 753, 753, 751, 753,
1447 753, 753, 753, 753, 753, 936, 936, 936, 761, 761,
1448 761, 1861, 1862, 755, 761, 761, 761, 755, 1863, 1864,
1449 755, 1874, 937, 761, 761, 761, 763, 765, 765, 765,
1450 1875, 766, 763, 1876, 767, 771, 771, 771, 771, 771,
1451 771, 763, 771, 771, 771, 776, 776, 776, 776, 776,
1452 776, 1869, 685, 773, 1877, 1878, 773, 1879, 933, 1880,
1453 773, 1881, 1882, 778, 1883, 1870, 778, 939, 776, 776,
1454 776, 781, 781, 781, 1869, 782, 1888, 1889, 783, 789,
1455 789, 789, 789, 789, 789, 1872, 778, 789, 789, 789,
1456 1890, 793, 793, 793, 1867, 794, 1891, 791, 795, 1892,
1458 791, 797, 797, 797, 943, 791, 797, 797, 797, 797,
1459 797, 797, 1893, 803, 803, 803, 1894, 804, 1895, 799,
1460 805, 809, 809, 809, 799, 1900, 1884, 799, 945, 806,
1461 806, 806, 685, 807, 1886, 1900, 808, 1885, 810, 957,
1462 957, 957, 1903, 958, 1904, 1887, 959, 1869, 952, 815,
1463 815, 815, 815, 815, 815, 815, 815, 815, 819, 819,
1464 819, 1870, 820, 1003, 1004, 821, 954, 817, 1914, 1898,
1465 817, 1915, 1916, 817, 822, 822, 822, 822, 822, 822,
1466 822, 822, 822, 827, 827, 827, 1869, 828, 1917, 1900,
1467 829, 1921, 824, 1900, 1922, 824, 1923, 1872, 824, 833,
1469 833, 833, 833, 833, 833, 833, 833, 833, 838, 838,
1470 838, 1933, 972, 972, 972, 1937, 973, 835, 964, 974,
1471 835, 1938, 1939, 835, 1940, 839, 1944, 840, 840, 840,
1472 975, 975, 975, 1945, 976, 1946, 1947, 977, 844, 844,
1473 844, 1948, 1949, 965, 841, 844, 844, 844, 844, 844,
1474 844, 849, 849, 849, 1953, 685, 846, 1954, 982, 982,
1475 982, 970, 983, 846, 1955, 984, 846, 1956, 850, 852,
1476 852, 852, 986, 986, 986, 1957, 987, 1952, 685, 988,
1477 854, 854, 854, 854, 854, 854, 853, 854, 854, 854,
1478 858, 858, 858, 1961, 859, 1962, 1960, 860, 856, 1963,
1480 1964, 856, 861, 861, 861, 856, 861, 861, 861, 1965,
1481 685, 980, 861, 861, 861, 992, 992, 992, 1971, 1972,
1482 863, 869, 869, 869, 863, 869, 869, 869, 1973, 1968,
1483 863, 1974, 993, 869, 869, 869, 875, 875, 875, 871,
1484 875, 875, 875, 871, 875, 875, 875, 1002, 1002, 1002,
1485 989, 871, 1981, 1982, 877, 699, 699, 699, 877, 915,
1486 915, 915, 877, 1490, 685, 1003, 1004, 685, 990, 1027,
1487 1027, 1027, 685, 701, 685, 685, 916, 1036, 1036, 1036,
1488 1977, 1037, 685, 1017, 1038, 729, 729, 729, 1985, 685,
1489 996, 918, 918, 918, 999, 1040, 1040, 1040, 685, 1041,
1491 685, 1999, 1042, 731, 739, 739, 739, 1995, 919, 924,
1492 924, 924, 685, 925, 2009, 1996, 926, 1010, 927, 927,
1493 927, 1484, 741, 1047, 1047, 1047, 2003, 1048, 685, 1483,
1494 1049, 753, 753, 753, 2000, 928, 929, 929, 929, 1039,
1495 930, 1482, 2027, 931, 936, 936, 936, 685, 685, 755,
1496 1045, 1054, 1054, 1054, 2017, 1055, 685, 685, 1056, 685,
1497 2010, 937, 1057, 1057, 1057, 761, 761, 761, 1063, 1063,
1498 1063, 776, 776, 776, 1070, 1070, 1070, 1481, 1051, 1058,
1499 1072, 1072, 1072, 763, 2004, 2021, 1064, 685, 2022, 778,
1500 2018, 1071, 789, 789, 789, 2031, 685, 1073, 1077, 1077,
1502 1077, 2028, 797, 797, 797, 1080, 1080, 1080, 685, 685,
1503 791, 1059, 2034, 2034, 2034, 1078, 1083, 1083, 1083, 1066,
1504 799, 2019, 1081, 1074, 957, 957, 957, 1480, 958, 2034,
1505 2020, 959, 1479, 1084, 2034, 2034, 2034, 2025, 2034, 2034,
1506 2034, 2034, 2034, 2034, 815, 815, 815, 822, 822, 822,
1507 1160, 2034, 2023, 1478, 1076, 2034, 1161, 2024, 2034, 1162,
1508 1079, 685, 817, 1163, 685, 824, 685, 1093, 1093, 1093,
1509 833, 833, 833, 1477, 1082, 685, 972, 972, 972, 2031,
1510 973, 1473, 1086, 974, 1094, 975, 975, 975, 835, 976,
1511 685, 1472, 977, 2026, 1027, 1027, 1027, 844, 844, 844,
1513 1085, 992, 992, 992, 2029, 1088, 1471, 1087, 1099, 1089,
1514 1095, 685, 982, 982, 982, 846, 983, 1470, 993, 984,
1515 986, 986, 986, 1096, 987, 1469, 1468, 988, 854, 854,
1516 854, 861, 861, 861, 1106, 1106, 1106, 1467, 1107, 1466,
1517 2030, 1108, 869, 869, 869, 1465, 856, 1464, 1463, 863,
1518 1113, 1113, 1113, 875, 875, 875, 1002, 1002, 1002, 1100,
1519 871, 699, 699, 699, 1016, 1016, 1016, 1114, 1020, 1020,
1520 1020, 877, 1460, 1457, 1003, 1133, 1133, 1133, 1456, 701,
1521 1136, 1136, 1136, 1455, 1104, 1026, 1026, 1026, 1111, 1134,
1522 1103, 1027, 1027, 1027, 1137, 1133, 1133, 1133, 1142, 1142,
1524 1142, 1144, 1144, 1144, 1117, 1144, 1144, 1144, 1454, 1134,
1525 1124, 1442, 1137, 1440, 1439, 1145, 1115, 1429, 1423, 1145,
1526 1118, 1418, 1142, 1142, 1142, 1036, 1036, 1036, 1417, 1037,
1527 1413, 1403, 1038, 1398, 1397, 1135, 1147, 1396, 729, 729,
1528 729, 1040, 1040, 1040, 1390, 1041, 1389, 1388, 1042, 739,
1529 739, 739, 753, 753, 753, 1141, 731, 1052, 1052, 1052,
1530 1387, 1135, 1047, 1047, 1047, 1141, 1048, 741, 1386, 1049,
1531 755, 1054, 1054, 1054, 1385, 1055, 1384, 1383, 1056, 1057,
1532 1057, 1057, 1164, 1164, 1164, 1382, 1165, 1381, 1375, 1166,
1533 761, 761, 761, 1168, 1168, 1168, 1058, 1151, 2034, 2034,
1535 2034, 1148, 1171, 1171, 1171, 1063, 1063, 1063, 763, 1154,
1536 1169, 1173, 1173, 1173, 1374, 2034, 776, 776, 776, 1172,
1537 1070, 1070, 1070, 1064, 1373, 1179, 1179, 1179, 1174, 1180,
1538 1372, 1370, 1181, 1368, 778, 1364, 1363, 1071, 1167, 1072,
1539 1072, 1072, 1182, 1182, 1182, 1361, 1183, 1360, 1356, 1184,
1540 1349, 1344, 1170, 1187, 1187, 1187, 1073, 1077, 1077, 1077,
1541 1175, 1189, 1189, 1189, 1342, 1190, 1341, 1340, 1191, 1331,
1542 1326, 1188, 1325, 1324, 1078, 1192, 1192, 1192, 1080, 1080,
1543 1080, 1194, 1194, 1194, 1323, 1195, 1319, 1303, 1196, 1197,
1544 1197, 1197, 1302, 1193, 1301, 1081, 1083, 1083, 1083, 1300,
1546 1199, 1199, 1199, 1299, 1200, 1298, 1198, 1201, 1202, 1202,
1547 1202, 1284, 1281, 1084, 2034, 2034, 2034, 1205, 1205, 1205,
1548 815, 815, 815, 1280, 1279, 1203, 822, 822, 822, 1276,
1549 1275, 2034, 1271, 1270, 1206, 1093, 1093, 1093, 817, 1212,
1550 1212, 1212, 1267, 1213, 824, 1266, 1214, 1216, 1216, 1216,
1551 1264, 1263, 1094, 1218, 1218, 1218, 2034, 2034, 2034, 844,
1552 844, 844, 1223, 1223, 1223, 1217, 1262, 1261, 1204, 1258,
1553 1219, 1257, 1256, 2034, 1208, 1254, 1252, 846, 1251, 1224,
1554 1250, 1249, 1207, 2034, 2034, 2034, 854, 854, 854, 1248,
1555 1247, 861, 861, 861, 1106, 1106, 1106, 1246, 1107, 1240,
1557 2034, 1108, 1232, 1230, 856, 1227, 1229, 1222, 1228, 863,
1558 869, 869, 869, 1113, 1113, 1113, 1220, 1233, 1233, 1233,
1559 1221, 1234, 1215, 1211, 1235, 1210, 1225, 1209, 871, 1186,
1560 1114, 875, 875, 875, 1226, 1241, 1241, 1241, 2034, 2034,
1561 2034, 1185, 2034, 2034, 2034, 699, 699, 699, 1178, 877,
1562 1177, 1176, 1242, 1155, 1153, 2034, 1152, 1150, 1231, 2034,
1563 1253, 1253, 1253, 701, 1133, 1133, 1133, 1255, 1255, 1255,
1564 1136, 1136, 1136, 1259, 1259, 1259, 1260, 1260, 1260, 1142,
1565 1142, 1142, 1144, 1144, 1144, 1149, 1236, 729, 729, 729,
1566 1243, 1268, 1268, 1268, 753, 753, 753, 1146, 1143, 1244,
1568 1140, 1139, 1245, 1138, 1132, 731, 1273, 1273, 1273, 1269,
1569 1131, 1130, 755, 1164, 1164, 1164, 1129, 1165, 1128, 1127,
1570 1166, 1126, 1125, 1274, 761, 761, 761, 1168, 1168, 1168,
1571 1289, 1289, 1289, 1121, 1265, 1171, 1171, 1171, 1285, 1286,
1572 1286, 1286, 763, 1287, 1169, 1120, 1288, 1290, 1119, 1272,
1573 1003, 1112, 1172, 1291, 1291, 1291, 1110, 1292, 1109, 1105,
1574 1293, 1173, 1173, 1173, 1294, 1294, 1294, 1102, 1295, 1101,
1575 1098, 1296, 776, 776, 776, 1179, 1179, 1179, 1174, 1180,
1576 1097, 1092, 1181, 1091, 1182, 1182, 1182, 1090, 1183, 1075,
1577 778, 1184, 1304, 1304, 1304, 1187, 1187, 1187, 1189, 1189,
1579 1189, 1069, 1190, 1068, 1067, 1191, 1192, 1192, 1192, 1305,
1580 1194, 1194, 1194, 1188, 1195, 1065, 1062, 1196, 1297, 1197,
1581 1197, 1197, 1061, 1060, 1193, 1306, 1306, 1306, 1053, 1307,
1582 1050, 1046, 1308, 1199, 1199, 1199, 1198, 1200, 1044, 1043,
1583 1201, 1202, 1202, 1202, 1309, 1309, 1309, 1035, 1310, 1034,
1584 1033, 1311, 1312, 1312, 1312, 1205, 1205, 1205, 1203, 1314,
1585 1314, 1314, 1032, 1315, 1031, 1030, 1316, 1029, 1028, 1313,
1586 1025, 1024, 1206, 815, 815, 815, 822, 822, 822, 1320,
1587 1320, 1320, 1212, 1212, 1212, 1023, 1213, 1022, 1021, 1214,
1588 1019, 817, 1018, 1015, 824, 1013, 1321, 1216, 1216, 1216,
1590 1218, 1218, 1218, 1327, 1327, 1327, 1012, 1328, 1011, 1009,
1591 1329, 2034, 2034, 2034, 1008, 1217, 1007, 1219, 1223, 1223,
1592 1223, 1317, 1322, 844, 844, 844, 1006, 1005, 2034, 2034,
1593 2034, 2034, 1337, 1337, 1337, 1224, 1318, 1332, 1333, 1333,
1594 1333, 846, 1334, 998, 997, 1335, 2034, 861, 861, 861,
1595 1338, 869, 869, 869, 1233, 1233, 1233, 995, 1234, 994,
1596 991, 1235, 985, 1330, 981, 863, 875, 875, 875, 871,
1597 1241, 1241, 1241, 1350, 1350, 1350, 979, 1351, 978, 971,
1598 1352, 2034, 2034, 2034, 877, 969, 1336, 1242, 2034, 2034,
1599 2034, 968, 967, 1339, 966, 699, 699, 699, 2034, 1357,
1601 1357, 1357, 1358, 1358, 1358, 2034, 1359, 1359, 1359, 1362,
1602 1362, 1362, 1343, 701, 1345, 1253, 1253, 1253, 1255, 1255,
1603 1255, 1365, 1365, 1365, 1366, 1366, 1366, 1259, 1259, 1259,
1604 1260, 1260, 1260, 1367, 1367, 1367, 963, 1353, 1369, 1369,
1605 1369, 729, 729, 729, 1268, 1268, 1268, 1376, 1376, 1376,
1606 962, 1354, 1273, 1273, 1273, 1355, 1378, 1378, 1378, 731,
1607 1379, 961, 1269, 1380, 960, 1377, 761, 761, 761, 1274,
1608 1286, 1286, 1286, 956, 1287, 955, 953, 1288, 1289, 1289,
1609 1289, 1392, 1392, 1392, 763, 1393, 951, 950, 1394, 1371,
1610 1291, 1291, 1291, 949, 1292, 1290, 948, 1293, 1294, 1294,
1612 1294, 947, 1295, 946, 944, 1296, 776, 776, 776, 1304,
1613 1304, 1304, 1391, 1404, 1404, 1404, 942, 1405, 941, 940,
1614 1406, 1306, 1306, 1306, 778, 1307, 1305, 938, 1308, 1309,
1615 1309, 1309, 935, 1310, 932, 923, 1311, 1312, 1312, 1312,
1616 1407, 1407, 1407, 921, 1408, 914, 913, 1409, 1314, 1314,
1617 1314, 912, 1315, 911, 1313, 1316, 909, 1395, 815, 815,
1618 815, 1411, 1411, 1411, 1320, 1320, 1320, 1414, 1414, 1414,
1619 907, 1415, 906, 905, 1416, 904, 817, 903, 902, 1412,
1620 901, 1321, 1327, 1327, 1327, 899, 1328, 898, 895, 1329,
1621 2034, 2034, 2034, 844, 844, 844, 1333, 1333, 1333, 894,
1623 1334, 893, 892, 1335, 2034, 2034, 2034, 2034, 1337, 1337,
1624 1337, 846, 861, 861, 861, 1437, 1437, 1437, 1410, 891,
1625 890, 2034, 869, 869, 869, 889, 1338, 1444, 1444, 1444,
1626 863, 887, 1438, 875, 875, 875, 1428, 1447, 1447, 1447,
1627 871, 886, 1350, 1350, 1350, 685, 1351, 885, 1430, 1352,
1628 884, 877, 2034, 2034, 2034, 2034, 2034, 2034, 883, 882,
1629 1435, 699, 699, 699, 1451, 1451, 1451, 881, 880, 2034,
1630 685, 874, 2034, 873, 1436, 1357, 1357, 1357, 868, 701,
1631 1358, 1358, 1358, 1441, 1359, 1359, 1359, 867, 866, 1443,
1632 1452, 1452, 1452, 1453, 1453, 1453, 1362, 1362, 1362, 1365,
1634 1365, 1365, 1366, 1366, 1366, 1448, 1367, 1367, 1367, 1369,
1635 1369, 1369, 1458, 1458, 1458, 865, 1450, 1449, 1461, 1461,
1636 1461, 1376, 1376, 1376, 1378, 1378, 1378, 851, 1379, 848,
1637 1459, 1380, 761, 761, 761, 1462, 1392, 1392, 1392, 1377,
1638 1393, 843, 842, 1394, 1475, 1475, 1475, 1404, 1404, 1404,
1639 763, 1405, 837, 832, 1406, 831, 1407, 1407, 1407, 830,
1640 1408, 826, 1476, 1409, 1485, 1485, 1485, 1411, 1411, 1411,
1641 1487, 1487, 1487, 1414, 1414, 1414, 814, 1415, 813, 812,
1642 1416, 811, 1486, 796, 788, 1412, 787, 1488, 786, 1474,
1643 1503, 1503, 1503, 1505, 1505, 1505, 844, 844, 844, 2034,
1645 2034, 2034, 861, 861, 861, 785, 784, 1504, 1437, 1437,
1646 1437, 780, 775, 1489, 846, 770, 2034, 1515, 1515, 1515,
1647 863, 1516, 769, 768, 1517, 1438, 1518, 1518, 1518, 1521,
1648 1521, 1521, 1523, 1523, 1523, 875, 875, 875, 1444, 1444,
1649 1444, 760, 1513, 1519, 1447, 1447, 1447, 1522, 1528, 1528,
1650 1528, 759, 758, 877, 757, 752, 685, 749, 1514, 1506,
1651 2034, 2034, 2034, 743, 738, 1529, 1531, 1531, 1531, 1451,
1652 1451, 1451, 1452, 1452, 1452, 737, 733, 2034, 1453, 1453,
1653 1453, 1458, 1458, 1458, 1532, 1461, 1461, 1461, 1538, 1538,
1654 1538, 728, 1539, 727, 726, 1540, 1525, 1524, 725, 1459,
1656 724, 723, 1462, 761, 761, 761, 722, 721, 1530, 1475,
1657 1475, 1475, 1558, 1558, 1558, 1485, 1485, 1485, 1487, 1487,
1658 1487, 763, 720, 719, 1560, 1560, 1560, 1476, 1561, 1559,
1659 718, 1562, 717, 1486, 716, 1488, 1568, 1568, 1568, 1503,
1660 1503, 1503, 1576, 1576, 1576, 715, 1577, 714, 713, 1578,
1661 1505, 1505, 1505, 1569, 712, 711, 1504, 710, 709, 1552,
1662 844, 844, 844, 2034, 2034, 2034, 1588, 1588, 1588, 1515,
1663 1515, 1515, 708, 1516, 707, 706, 1517, 705, 846, 704,
1664 2034, 1518, 1518, 1518, 1589, 1590, 1590, 1590, 703, 1591,
1665 698, 697, 1592, 696, 1593, 1593, 1593, 695, 1519, 1521,
1667 1521, 1521, 1523, 1523, 1523, 1595, 1595, 1595, 694, 693,
1668 1586, 1594, 692, 691, 1579, 688, 686, 1522, 1528, 1528,
1669 1528, 685, 683, 1596, 1587, 1600, 1600, 1600, 681, 1601,
1670 680, 679, 1602, 677, 676, 1529, 1603, 1603, 1603, 1531,
1671 1531, 1531, 1609, 1609, 1609, 1538, 1538, 1538, 675, 1539,
1672 674, 673, 1540, 1604, 761, 761, 761, 1532, 669, 1610,
1673 1558, 1558, 1558, 1630, 1630, 1630, 667, 1631, 666, 665,
1674 1632, 664, 763, 663, 1560, 1560, 1560, 1559, 1561, 661,
1675 660, 1562, 1568, 1568, 1568, 1636, 1636, 1636, 659, 1637,
1676 658, 657, 1638, 1576, 1576, 1576, 656, 1577, 654, 1569,
1678 1578, 844, 844, 844, 2034, 2034, 2034, 2034, 2034, 2034,
1679 1626, 1588, 1588, 1588, 653, 652, 1590, 1590, 1590, 846,
1680 1591, 2034, 649, 1592, 2034, 1593, 1593, 1593, 648, 1589,
1681 1658, 1658, 1658, 644, 1659, 642, 641, 1660, 1595, 1595,
1682 1595, 640, 1594, 1600, 1600, 1600, 639, 1601, 638, 633,
1683 1602, 1603, 1603, 1603, 632, 630, 1596, 1664, 1664, 1664,
1684 627, 1665, 625, 1649, 1666, 1656, 624, 1657, 1604, 1667,
1685 1667, 1667, 1669, 1669, 1669, 1609, 1609, 1609, 1671, 1671,
1686 1671, 623, 1672, 622, 621, 1673, 761, 761, 761, 1688,
1687 1688, 1688, 1610, 1630, 1630, 1630, 618, 1631, 617, 615,
1689 1632, 1694, 1694, 1694, 763, 614, 1689, 1636, 1636, 1636,
1690 612, 1637, 611, 610, 1638, 844, 844, 844, 1695, 2034,
1691 2034, 2034, 2034, 2034, 2034, 1667, 1667, 1667, 1718, 1718,
1692 1718, 607, 1690, 846, 1687, 605, 2034, 604, 603, 2034,
1693 1658, 1658, 1658, 601, 1659, 1719, 1003, 1660, 1664, 1664,
1694 1664, 599, 1665, 598, 597, 1666, 1669, 1669, 1669, 1671,
1695 1671, 1671, 596, 1672, 593, 592, 1673, 1707, 1715, 1726,
1696 1726, 1726, 761, 761, 761, 1688, 1688, 1688, 1737, 1737,
1697 1737, 1714, 1738, 591, 588, 1739, 1727, 1694, 1694, 1694,
1698 763, 585, 1689, 1745, 1745, 1745, 584, 1746, 582, 581,
1700 1747, 1759, 1759, 1759, 1695, 1767, 1767, 1767, 1770, 1770,
1701 1770, 1774, 1774, 1774, 1718, 1718, 1718, 579, 1736, 1760,
1702 576, 575, 1768, 572, 571, 1771, 570, 569, 1775, 1003,
1703 568, 1719, 1003, 567, 1776, 1776, 1776, 562, 1777, 561,
1704 560, 1778, 1779, 1779, 1779, 1780, 1780, 1780, 1769, 559,
1705 558, 1772, 1003, 1726, 1726, 1726, 1785, 1785, 1785, 557,
1706 1786, 556, 554, 1787, 761, 761, 761, 1737, 1737, 1737,
1707 1727, 1738, 553, 552, 1739, 1799, 1799, 1799, 551, 1745,
1708 1745, 1745, 763, 1746, 550, 549, 1747, 1801, 1801, 1801,
1709 548, 543, 1800, 1759, 1759, 1759, 1767, 1767, 1767, 1817,
1711 1817, 1817, 540, 1818, 1802, 542, 1819, 2034, 2034, 2034,
1712 537, 1760, 535, 1768, 1770, 1770, 1770, 533, 1821, 1821,
1713 1821, 2034, 1822, 532, 2034, 1823, 1794, 2034, 2034, 2034,
1714 531, 1771, 1774, 1774, 1774, 1826, 1826, 1826, 530, 1827,
1715 529, 527, 1828, 525, 2034, 1779, 1779, 1779, 523, 1775,
1716 1003, 522, 521, 1003, 520, 1776, 1776, 1776, 519, 1777,
1717 518, 516, 1778, 1780, 1780, 1780, 515, 1785, 1785, 1785,
1718 511, 1786, 1820, 1003, 1787, 1847, 1847, 1847, 510, 1848,
1719 508, 507, 1849, 504, 1841, 1841, 1841, 503, 1799, 1799,
1720 1799, 502, 1824, 1001, 1001, 1001, 1001, 1001, 1001, 1001,
1722 1001, 1001, 1842, 500, 1001, 1800, 1801, 1801, 1801, 1001,
1723 1001, 1001, 1003, 1001, 1850, 1850, 1850, 498, 1851, 496,
1724 494, 1852, 493, 1802, 1817, 1817, 1817, 490, 1818, 489,
1725 485, 1819, 2034, 2034, 2034, 1001, 1001, 1001, 1001, 1001,
1726 1001, 1001, 1001, 1001, 1001, 1001, 483, 482, 1001, 2034,
1727 2034, 2034, 2034, 1001, 1001, 1001, 1003, 1001, 1821, 1821,
1728 1821, 480, 1822, 479, 478, 1823, 477, 2034, 1826, 1826,
1729 1826, 476, 1827, 475, 472, 1828, 1841, 1841, 1841, 1001,
1730 1001, 1847, 1847, 1847, 1865, 1848, 1003, 470, 1849, 1850,
1731 1850, 1850, 469, 1851, 1842, 421, 1852, 468, 2034, 2034,
1733 2034, 466, 1866, 1001, 1001, 1001, 1001, 1001, 1873, 1001,
1734 1001, 1001, 464, 463, 1001, 2034, 2034, 2034, 2034, 1001,
1735 1001, 1001, 1003, 1001, 1902, 1902, 1902, 1905, 1905, 1905,
1736 1924, 1924, 1924, 2034, 1925, 462, 461, 1926, 459, 1907,
1737 1907, 1907, 1003, 1004, 1906, 1001, 1001, 1001, 1001, 1001,
1738 1001, 1001, 1001, 1001, 1001, 1873, 1908, 457, 1001, 456,
1739 1896, 455, 453, 1001, 1001, 1001, 1003, 1001, 1909, 1909,
1740 1909, 1912, 1912, 1912, 2034, 2034, 2034, 451, 1897, 2034,
1741 2034, 2034, 1920, 1920, 1920, 1910, 450, 446, 1913, 1001,
1742 1001, 2034, 1902, 1902, 1902, 445, 2034, 1905, 1905, 1905,
1744 685, 1907, 1907, 1907, 443, 1927, 1927, 1927, 442, 1928,
1745 1003, 1911, 1929, 439, 1906, 1909, 1909, 1909, 1908, 1930,
1746 1930, 1930, 438, 1931, 437, 1918, 1932, 1912, 1912, 1912,
1747 1919, 435, 1910, 433, 1934, 1934, 1934, 431, 1935, 2034,
1748 1117, 1936, 407, 406, 1913, 2034, 2034, 2034, 2034, 2034,
1749 2034, 1920, 1920, 1920, 1924, 1924, 1924, 404, 1925, 402,
1750 396, 1926, 2034, 395, 396, 2034, 1927, 1927, 1927, 685,
1751 1928, 395, 394, 1929, 1930, 1930, 1930, 393, 1931, 2034,
1752 2034, 1932, 1934, 1934, 1934, 2034, 1935, 1943, 1941, 1936,
1753 2034, 1942, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
1755 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
1756 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
1757 2034, 2034, 2034, 2034, 2034, 1969, 1969, 1969, 2034, 2034,
1758 2034, 2034, 2034, 2034, 1969, 1969, 1969, 2034, 2034, 2034,
1759 2034, 2034, 1970, 2034, 2034, 2034, 2034, 2034, 2034, 1950,
1760 2034, 1970, 1951, 2034, 2034, 1966, 2034, 1978, 1978, 1978,
1761 1958, 1979, 2034, 1959, 1980, 2034, 2034, 2034, 2034, 2034,
1762 2034, 2034, 2034, 1967, 2034, 2034, 1975, 2034, 2034, 1976,
1763 2034, 2034, 2034, 2034, 2034, 2034, 1978, 1978, 1978, 2034,
1764 1979, 2034, 2034, 1980, 2034, 2034, 2034, 2034, 2034, 2034,
1766 1988, 1988, 1988, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
1767 2034, 2034, 2034, 2034, 2034, 1988, 1988, 1988, 685, 1991,
1768 2034, 2034, 1992, 2034, 2034, 1983, 2034, 2034, 1984, 2034,
1769 2034, 2034, 2034, 685, 2034, 2034, 2034, 1986, 2034, 2034,
1770 1987, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
1771 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2005,
1772 2005, 2005, 2034, 2034, 1989, 2034, 1990, 2034, 2034, 2034,
1773 2034, 2034, 2034, 2007, 2007, 2007, 2006, 1993, 2005, 2005,
1774 2005, 2034, 1994, 2034, 2011, 2011, 2011, 2034, 2012, 2034,
1775 2008, 2013, 2034, 2034, 1998, 2006, 2034, 1997, 2034, 2001,
1777 2007, 2007, 2007, 2014, 2014, 2014, 2034, 2015, 2034, 2034,
1778 2016, 2011, 2011, 2011, 2034, 2012, 2034, 2008, 2013, 2002,
1779 2014, 2014, 2014, 2034, 2015, 2034, 2034, 2016, 2032, 2032,
1780 2032, 2032, 2032, 2032, 2034, 2034, 2034, 2034, 2034, 2034,
1781 2034, 2034, 2034, 2034, 2034, 2034, 2033, 2034, 2034, 2033,
1782 144, 144, 144, 144, 144, 144, 144, 144, 144, 145,
1783 145, 145, 145, 145, 145, 145, 145, 145, 150, 150,
1784 150, 150, 150, 150, 150, 150, 150, 153, 153, 153,
1785 153, 153, 153, 153, 153, 153, 156, 156, 156, 156,
1786 156, 156, 156, 156, 156, 159, 159, 159, 159, 159,
1788 159, 159, 159, 159, 166, 166, 166, 166, 166, 166,
1789 166, 166, 166, 174, 174, 174, 174, 174, 174, 174,
1790 174, 174, 179, 179, 179, 179, 179, 179, 179, 179,
1791 179, 189, 189, 189, 189, 189, 189, 189, 189, 189,
1792 193, 193, 193, 193, 193, 193, 193, 193, 193, 199,
1793 199, 199, 199, 199, 199, 199, 199, 199, 210, 210,
1794 210, 210, 210, 210, 210, 210, 210, 217, 217, 217,
1795 217, 217, 217, 217, 217, 217, 225, 225, 225, 225,
1796 225, 225, 225, 225, 225, 231, 231, 231, 231, 231,
1797 231, 231, 231, 231, 237, 237, 237, 237, 237, 237,
1799 237, 237, 237, 244, 244, 244, 244, 244, 244, 244,
1800 244, 244, 250, 250, 250, 250, 250, 250, 250, 250,
1801 250, 256, 256, 256, 256, 256, 256, 256, 256, 256,
1802 271, 271, 271, 271, 271, 271, 271, 271, 271, 278,
1803 278, 278, 278, 278, 278, 278, 278, 278, 283, 283,
1804 283, 283, 283, 283, 283, 283, 283, 298, 298, 298,
1805 298, 298, 298, 298, 298, 298, 304, 304, 304, 304,
1806 304, 304, 304, 304, 304, 308, 308, 308, 308, 308,
1807 308, 308, 308, 308, 314, 314, 314, 314, 314, 314,
1808 314, 314, 314, 321, 321, 321, 321, 321, 321, 321,
1810 321, 321, 328, 328, 328, 328, 328, 328, 328, 328,
1811 328, 335, 335, 335, 335, 335, 335, 335, 335, 335,
1812 342, 342, 342, 342, 342, 342, 342, 342, 342, 349,
1813 349, 349, 349, 349, 349, 349, 349, 349, 356, 356,
1814 356, 356, 356, 356, 356, 356, 356, 360, 360, 360,
1815 360, 360, 360, 360, 360, 360, 366, 366, 366, 366,
1816 366, 366, 366, 366, 366, 373, 373, 373, 373, 373,
1817 373, 373, 373, 373, 381, 381, 381, 381, 381, 381,
1818 381, 381, 381, 385, 385, 385, 385, 385, 385, 385,
1819 385, 385, 405, 405, 405, 2034, 2034, 2034, 405, 432,
1821 432, 432, 2034, 2034, 2034, 432, 436, 436, 436, 2034,
1822 2034, 2034, 436, 444, 444, 444, 2034, 2034, 2034, 444,
1823 454, 454, 454, 2034, 2034, 2034, 454, 460, 460, 460,
1824 2034, 2034, 2034, 460, 467, 467, 467, 2034, 2034, 2034,
1825 467, 471, 471, 471, 2034, 2034, 2034, 471, 481, 481,
1826 481, 2034, 2034, 2034, 481, 486, 486, 486, 2034, 2034,
1827 2034, 486, 497, 497, 497, 2034, 2034, 2034, 497, 501,
1828 501, 501, 2034, 2034, 2034, 501, 509, 509, 509, 2034,
1829 2034, 2034, 509, 517, 517, 517, 2034, 2034, 2034, 517,
1830 524, 524, 524, 2034, 2034, 2034, 524, 528, 528, 528,
1832 2034, 2034, 2034, 528, 536, 536, 536, 2034, 2034, 2034,
1833 536, 539, 539, 539, 539, 539, 539, 539, 2034, 539,
1834 555, 2034, 2034, 2034, 555, 583, 2034, 2034, 2034, 583,
1835 590, 2034, 2034, 2034, 590, 600, 2034, 2034, 2034, 600,
1836 606, 2034, 2034, 2034, 606, 613, 2034, 2034, 2034, 613,
1837 616, 2034, 2034, 2034, 616, 626, 2034, 2034, 2034, 626,
1838 631, 2034, 2034, 2034, 631, 486, 486, 486, 2034, 2034,
1839 2034, 486, 643, 2034, 2034, 2034, 643, 497, 497, 497,
1840 2034, 2034, 2034, 497, 647, 2034, 2034, 2034, 647, 501,
1841 501, 501, 2034, 2034, 2034, 501, 655, 2034, 2034, 2034,
1843 655, 509, 509, 509, 2034, 2034, 2034, 509, 662, 2034,
1844 2034, 2034, 662, 517, 517, 517, 2034, 2034, 2034, 517,
1845 668, 2034, 2034, 2034, 668, 524, 524, 524, 2034, 2034,
1846 2034, 524, 672, 2034, 2034, 2034, 672, 528, 528, 528,
1847 2034, 2034, 2034, 528, 678, 2034, 2034, 2034, 678, 536,
1848 536, 536, 2034, 2034, 2034, 536, 682, 2034, 2034, 2034,
1849 682, 684, 684, 684, 684, 684, 684, 684, 684, 684,
1850 690, 2034, 2034, 2034, 2034, 690, 405, 405, 405, 2034,
1851 2034, 2034, 405, 700, 700, 700, 700, 2034, 2034, 700,
1852 700, 432, 432, 432, 2034, 2034, 2034, 432, 730, 730,
1854 730, 730, 2034, 2034, 730, 730, 436, 436, 436, 2034,
1855 2034, 2034, 436, 740, 740, 740, 740, 2034, 2034, 740,
1856 740, 444, 444, 444, 2034, 2034, 2034, 444, 754, 754,
1857 754, 754, 2034, 2034, 754, 754, 454, 454, 454, 2034,
1858 2034, 2034, 454, 762, 762, 762, 762, 2034, 2034, 762,
1859 762, 460, 460, 460, 2034, 2034, 2034, 460, 772, 772,
1860 772, 772, 2034, 2034, 772, 772, 467, 467, 467, 2034,
1861 2034, 2034, 467, 777, 777, 777, 777, 2034, 2034, 777,
1862 777, 471, 471, 471, 2034, 2034, 2034, 471, 790, 790,
1863 790, 790, 2034, 2034, 790, 790, 481, 481, 481, 2034,
1865 2034, 2034, 481, 798, 798, 798, 798, 2034, 2034, 798,
1866 798, 486, 486, 486, 2034, 2034, 2034, 486, 816, 816,
1867 816, 816, 2034, 2034, 816, 816, 823, 823, 823, 823,
1868 2034, 2034, 823, 823, 501, 501, 501, 2034, 2034, 2034,
1869 501, 834, 834, 834, 834, 2034, 2034, 834, 834, 509,
1870 509, 509, 2034, 2034, 2034, 509, 845, 845, 845, 845,
1871 2034, 2034, 845, 845, 517, 517, 517, 2034, 2034, 2034,
1872 517, 855, 855, 855, 855, 2034, 2034, 855, 855, 862,
1873 862, 862, 862, 2034, 2034, 862, 862, 528, 528, 528,
1874 2034, 2034, 2034, 528, 870, 870, 870, 870, 2034, 2034,
1876 870, 870, 536, 536, 536, 2034, 2034, 2034, 536, 876,
1877 876, 876, 876, 2034, 2034, 876, 876, 684, 684, 684,
1878 684, 684, 684, 684, 684, 684, 690, 2034, 690, 2034,
1879 2034, 690, 405, 405, 405, 2034, 2034, 2034, 405, 700,
1880 700, 700, 700, 2034, 2034, 700, 700, 432, 432, 432,
1881 432, 2034, 432, 2034, 432, 730, 730, 730, 730, 2034,
1882 2034, 730, 730, 436, 436, 436, 436, 2034, 436, 2034,
1883 436, 740, 740, 740, 740, 2034, 2034, 740, 740, 444,
1884 444, 444, 2034, 2034, 2034, 444, 754, 754, 754, 754,
1885 2034, 2034, 754, 754, 454, 454, 454, 2034, 2034, 2034,
1887 454, 762, 762, 762, 762, 2034, 2034, 762, 762, 460,
1888 460, 460, 2034, 2034, 2034, 460, 772, 772, 772, 772,
1889 2034, 2034, 772, 772, 467, 467, 467, 2034, 2034, 2034,
1890 467, 777, 777, 777, 777, 2034, 2034, 777, 777, 471,
1891 471, 471, 2034, 2034, 2034, 471, 790, 790, 790, 790,
1892 2034, 2034, 790, 790, 481, 481, 481, 2034, 2034, 2034,
1893 481, 798, 798, 798, 798, 2034, 2034, 798, 798, 486,
1894 486, 486, 2034, 2034, 2034, 486, 816, 816, 816, 816,
1895 2034, 2034, 816, 816, 823, 823, 823, 823, 2034, 2034,
1896 823, 823, 501, 501, 501, 2034, 2034, 2034, 501, 834,
1898 834, 834, 834, 2034, 2034, 834, 834, 509, 509, 509,
1899 2034, 2034, 2034, 509, 845, 845, 845, 845, 2034, 2034,
1900 845, 845, 517, 517, 517, 2034, 2034, 2034, 517, 855,
1901 855, 855, 855, 2034, 2034, 855, 855, 862, 862, 862,
1902 862, 2034, 2034, 862, 862, 528, 528, 528, 2034, 2034,
1903 2034, 528, 870, 870, 870, 870, 2034, 2034, 870, 870,
1904 536, 536, 536, 2034, 2034, 2034, 536, 876, 876, 876,
1905 876, 2034, 2034, 876, 876, 684, 684, 684, 684, 684,
1906 684, 684, 684, 684, 1001, 1001, 1001, 1001, 1001, 1001,
1907 1001, 1001, 1001, 405, 405, 405, 2034, 2034, 2034, 405,
1909 700, 700, 700, 700, 2034, 2034, 700, 700, 730, 730,
1910 730, 730, 2034, 2034, 730, 730, 436, 436, 436, 2034,
1911 2034, 2034, 436, 740, 740, 740, 740, 2034, 2034, 740,
1912 740, 444, 444, 444, 2034, 2034, 2034, 444, 754, 754,
1913 754, 754, 2034, 2034, 754, 754, 454, 454, 454, 2034,
1914 2034, 2034, 454, 762, 762, 762, 762, 2034, 2034, 762,
1915 762, 460, 460, 460, 2034, 2034, 2034, 460, 772, 772,
1916 772, 772, 2034, 2034, 772, 772, 467, 467, 467, 2034,
1917 2034, 2034, 467, 777, 777, 777, 777, 2034, 2034, 777,
1918 777, 471, 471, 471, 2034, 2034, 2034, 471, 790, 790,
1920 790, 790, 2034, 2034, 790, 790, 481, 481, 481, 481,
1921 2034, 481, 2034, 481, 798, 798, 798, 798, 2034, 2034,
1922 798, 798, 486, 486, 486, 486, 2034, 486, 2034, 486,
1923 816, 816, 816, 816, 2034, 2034, 816, 816, 823, 823,
1924 823, 823, 2034, 2034, 823, 823, 501, 501, 501, 2034,
1925 2034, 2034, 501, 834, 834, 834, 834, 2034, 2034, 834,
1926 834, 509, 509, 509, 2034, 2034, 2034, 509, 845, 845,
1927 845, 845, 2034, 2034, 845, 845, 517, 517, 517, 2034,
1928 2034, 2034, 517, 855, 855, 855, 855, 2034, 2034, 855,
1929 855, 862, 862, 862, 862, 2034, 2034, 862, 862, 528,
1931 528, 528, 2034, 2034, 2034, 528, 870, 870, 870, 870,
1932 2034, 2034, 870, 870, 536, 536, 536, 536, 2034, 536,
1933 2034, 536, 876, 876, 876, 876, 2034, 2034, 876, 876,
1934 684, 684, 684, 684, 684, 684, 684, 684, 684, 1001,
1935 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001, 405, 405,
1936 405, 2034, 2034, 2034, 405, 700, 700, 700, 700, 2034,
1937 2034, 700, 700, 730, 730, 730, 730, 2034, 2034, 730,
1938 730, 436, 436, 436, 2034, 2034, 2034, 436, 740, 740,
1939 740, 740, 2034, 2034, 740, 740, 444, 444, 444, 2034,
1940 2034, 2034, 444, 754, 754, 754, 754, 2034, 2034, 754,
1942 754, 454, 454, 454, 2034, 2034, 2034, 454, 762, 762,
1943 762, 762, 2034, 2034, 762, 762, 460, 460, 460, 460,
1944 2034, 460, 2034, 460, 467, 467, 467, 467, 2034, 467,
1945 2034, 467, 777, 777, 777, 777, 2034, 2034, 777, 777,
1946 471, 471, 471, 2034, 2034, 2034, 471, 790, 790, 790,
1947 790, 2034, 2034, 790, 790, 798, 798, 798, 798, 2034,
1948 2034, 798, 798, 486, 486, 486, 486, 2034, 486, 2034,
1949 486, 816, 816, 816, 816, 2034, 2034, 816, 816, 823,
1950 823, 823, 823, 2034, 2034, 823, 823, 501, 501, 501,
1951 2034, 2034, 2034, 501, 834, 834, 834, 834, 2034, 2034,
1953 834, 834, 509, 509, 509, 509, 2034, 509, 2034, 509,
1954 845, 845, 845, 845, 2034, 2034, 845, 845, 517, 517,
1955 517, 517, 2034, 517, 2034, 517, 855, 855, 855, 855,
1956 2034, 2034, 855, 855, 862, 862, 862, 862, 2034, 2034,
1957 862, 862, 528, 528, 528, 2034, 2034, 2034, 528, 870,
1958 870, 870, 870, 2034, 2034, 870, 870, 876, 876, 876,
1959 876, 2034, 2034, 876, 876, 684, 684, 684, 684, 684,
1960 684, 684, 684, 684, 1001, 1001, 1001, 1001, 1001, 1001,
1961 1001, 1001, 1001, 405, 405, 405, 405, 2034, 405, 2034,
1962 405, 700, 700, 700, 700, 2034, 2034, 700, 700, 730,
1964 730, 730, 730, 2034, 2034, 730, 730, 436, 436, 436,
1965 2034, 2034, 2034, 436, 740, 740, 740, 740, 2034, 2034,
1966 740, 740, 444, 444, 444, 2034, 2034, 2034, 444, 754,
1967 754, 754, 754, 2034, 2034, 754, 754, 454, 454, 454,
1968 454, 2034, 454, 2034, 454, 762, 762, 762, 762, 2034,
1969 2034, 762, 762, 460, 460, 460, 460, 2034, 460, 2034,
1970 460, 777, 777, 777, 777, 2034, 2034, 777, 777, 471,
1971 471, 471, 2034, 2034, 2034, 471, 1829, 1829, 1829, 1829,
1972 1829, 1829, 1829, 1829, 1829, 1830, 1830, 1830, 1830, 1830,
1973 1830, 1830, 1830, 1830, 1868, 1868, 1868, 1868, 1868, 1868,
1975 1868, 1868, 1868, 1871, 1871, 1871, 1871, 1871, 1871, 1871,
1976 1871, 1871, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899,
1977 1899, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901,
1978 143, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
1979 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
1980 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
1981 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
1982 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
1983 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
1984 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034
1988 static yyconst flex_int16_t yy_chk[7201] =
1990 0, 3, 3, 3, 4, 4, 4, 5, 5, 5,
1991 6, 6, 6, 7, 7, 7, 11, 3, 9, 12,
1992 4, 10, 219, 5, 0, 9, 6, 0, 10, 7,
1993 8, 8, 8, 148, 11, 13, 13, 12, 14, 14,
1994 13, 13, 220, 14, 14, 149, 8, 17, 17, 148,
1995 13, 15, 15, 14, 15, 152, 15, 16, 16, 415,
1996 16, 149, 16, 18, 18, 415, 15, 19, 19, 19,
1997 219, 152, 16, 20, 20, 20, 23, 23, 23, 24,
1998 24, 24, 266, 19, 25, 25, 25, 333, 17, 20,
1999 220, 266, 23, 426, 333, 24, 146, 146, 146, 426,
2001 25, 147, 147, 147, 18, 21, 21, 21, 21, 21,
2002 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
2003 1418, 21, 21, 21, 21, 21, 26, 26, 26, 27,
2004 27, 27, 320, 28, 28, 28, 29, 29, 29, 30,
2005 30, 30, 26, 320, 452, 27, 175, 21, 21, 28,
2006 452, 295, 29, 190, 295, 30, 151, 151, 151, 172,
2007 172, 172, 175, 180, 180, 180, 187, 187, 187, 190,
2008 21, 183, 21, 22, 22, 22, 22, 22, 22, 22,
2009 22, 22, 22, 22, 22, 22, 22, 22, 273, 22,
2010 22, 22, 22, 22, 31, 31, 31, 32, 32, 32,
2012 1000, 33, 33, 33, 34, 34, 34, 35, 35, 35,
2013 31, 416, 200, 32, 170, 22, 22, 33, 211, 183,
2014 34, 183, 1000, 35, 416, 36, 36, 36, 200, 185,
2015 170, 194, 194, 194, 211, 185, 273, 185, 22, 185,
2016 22, 36, 37, 37, 37, 37, 37, 37, 37, 37,
2017 37, 37, 37, 37, 37, 37, 37, 292, 37, 37,
2018 37, 37, 37, 39, 39, 39, 40, 40, 40, 170,
2019 47, 47, 47, 43, 43, 44, 44, 292, 43, 39,
2020 44, 1158, 40, 215, 37, 37, 47, 215, 43, 1158,
2021 44, 215, 37, 38, 38, 38, 38, 38, 38, 38,
2023 38, 38, 38, 38, 38, 38, 38, 38, 710, 38,
2024 38, 38, 38, 38, 43, 334, 44, 48, 48, 48,
2025 710, 49, 49, 49, 50, 50, 50, 197, 197, 197,
2026 208, 208, 208, 48, 687, 38, 38, 49, 687, 398,
2027 50, 337, 398, 38, 41, 41, 41, 41, 41, 41,
2028 41, 41, 41, 41, 41, 41, 41, 41, 41, 334,
2029 41, 41, 41, 41, 41, 51, 51, 51, 52, 52,
2030 52, 323, 53, 53, 53, 54, 54, 54, 218, 218,
2031 218, 51, 195, 205, 52, 337, 41, 41, 53, 195,
2032 205, 54, 1328, 1328, 41, 1329, 1329, 41, 195, 205,
2034 223, 223, 223, 41, 42, 42, 42, 42, 42, 42,
2035 42, 42, 42, 42, 42, 42, 42, 42, 42, 323,
2036 42, 42, 42, 42, 42, 57, 57, 57, 58, 58,
2037 58, 723, 61, 61, 61, 62, 62, 62, 389, 226,
2038 238, 57, 1162, 723, 58, 233, 42, 42, 61, 423,
2039 1162, 62, 233, 389, 42, 226, 238, 42, 232, 232,
2040 232, 233, 423, 42, 45, 45, 45, 45, 45, 45,
2041 45, 45, 45, 45, 45, 45, 45, 45, 45, 757,
2042 45, 45, 45, 45, 45, 65, 65, 65, 66, 66,
2043 66, 757, 67, 67, 67, 68, 68, 68, 69, 69,
2045 69, 65, 246, 251, 66, 1419, 45, 45, 67, 246,
2046 351, 68, 427, 1420, 69, 45, 1421, 45, 246, 251,
2047 45, 235, 235, 235, 254, 427, 45, 46, 46, 46,
2048 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
2049 46, 46, 440, 46, 46, 46, 46, 46, 70, 70,
2050 70, 73, 73, 73, 351, 74, 74, 74, 75, 75,
2051 75, 76, 76, 76, 70, 254, 263, 73, 254, 46,
2052 46, 74, 279, 1009, 75, 440, 1422, 76, 46, 1009,
2053 46, 1423, 263, 46, 245, 245, 245, 1118, 279, 46,
2054 55, 55, 55, 55, 55, 55, 55, 55, 55, 55,
2056 55, 55, 55, 55, 55, 1424, 55, 55, 55, 55,
2057 55, 77, 77, 77, 78, 78, 78, 1118, 79, 79,
2058 79, 80, 80, 80, 83, 83, 83, 77, 1426, 633,
2059 78, 1117, 55, 55, 79, 290, 305, 80, 633, 55,
2060 83, 248, 248, 248, 55, 257, 257, 257, 260, 260,
2061 260, 290, 305, 55, 56, 56, 56, 56, 56, 56,
2062 56, 56, 56, 56, 56, 56, 56, 56, 56, 1117,
2063 56, 56, 56, 56, 56, 84, 84, 84, 87, 87,
2064 87, 1431, 88, 88, 88, 91, 91, 91, 92, 92,
2065 92, 84, 1334, 1334, 87, 1301, 56, 56, 88, 315,
2067 329, 91, 1301, 56, 92, 272, 272, 272, 56, 276,
2068 276, 276, 284, 284, 284, 315, 329, 56, 59, 59,
2069 59, 59, 59, 59, 59, 59, 59, 59, 59, 59,
2070 59, 59, 59, 1433, 59, 59, 59, 59, 59, 95,
2071 95, 95, 96, 96, 96, 879, 97, 97, 97, 98,
2072 98, 98, 99, 99, 99, 95, 285, 429, 96, 1440,
2073 59, 59, 97, 285, 879, 98, 1239, 1445, 99, 1302,
2074 429, 59, 285, 287, 287, 287, 1302, 59, 1454, 59,
2075 59, 60, 60, 60, 60, 60, 60, 60, 60, 60,
2076 60, 60, 60, 60, 60, 60, 1445, 60, 60, 60,
2078 60, 60, 100, 100, 100, 101, 101, 101, 1239, 102,
2079 102, 102, 105, 105, 105, 106, 106, 106, 100, 1335,
2080 1335, 101, 300, 60, 60, 102, 541, 1237, 105, 300,
2081 1455, 106, 1324, 1237, 60, 299, 299, 299, 300, 1324,
2082 60, 541, 60, 60, 63, 63, 63, 63, 63, 63,
2083 63, 63, 63, 63, 63, 63, 63, 63, 63, 1446,
2084 63, 63, 63, 63, 63, 107, 107, 107, 108, 108,
2085 108, 1456, 109, 109, 109, 110, 110, 110, 111, 111,
2086 111, 107, 1457, 1325, 108, 310, 63, 63, 109, 343,
2087 1325, 110, 310, 1446, 111, 302, 302, 302, 309, 309,
2089 309, 310, 312, 312, 312, 343, 63, 64, 64, 64,
2090 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
2091 64, 64, 1460, 64, 64, 64, 64, 64, 112, 112,
2092 112, 115, 115, 115, 1463, 116, 116, 116, 117, 117,
2093 117, 118, 118, 118, 112, 1464, 1425, 115, 1425, 64,
2094 64, 116, 357, 1427, 117, 1427, 1465, 118, 322, 322,
2095 322, 326, 326, 326, 336, 336, 336, 1466, 357, 64,
2096 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
2097 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
2098 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
2100 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
2101 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
2102 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
2103 71, 71, 71, 71, 71, 71, 71, 71, 71, 81,
2104 81, 81, 81, 81, 81, 81, 81, 81, 81, 81,
2105 81, 81, 81, 81, 375, 81, 81, 81, 81, 81,
2106 119, 119, 119, 120, 120, 120, 1467, 121, 121, 121,
2107 122, 122, 122, 125, 125, 125, 119, 1348, 1432, 120,
2108 1432, 81, 81, 121, 1468, 1469, 122, 367, 375, 125,
2109 1470, 1471, 81, 340, 340, 340, 350, 350, 350, 354,
2111 354, 354, 375, 367, 81, 82, 82, 82, 82, 82,
2112 82, 82, 82, 82, 82, 82, 82, 82, 82, 82,
2113 1348, 82, 82, 82, 82, 82, 126, 126, 126, 129,
2114 129, 129, 1472, 130, 130, 130, 131, 131, 131, 132,
2115 132, 132, 126, 1473, 1477, 129, 362, 82, 82, 130,
2116 1478, 1479, 131, 362, 1434, 132, 1434, 1480, 82, 361,
2117 361, 361, 362, 364, 364, 364, 374, 374, 374, 1482,
2118 82, 85, 85, 85, 85, 85, 85, 85, 85, 85,
2119 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
2120 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
2122 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
2123 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
2124 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
2125 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
2126 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
2127 89, 89, 89, 89, 89, 1489, 89, 89, 89, 89,
2128 89, 133, 133, 133, 134, 134, 134, 1490, 135, 135,
2129 135, 136, 136, 136, 139, 139, 139, 133, 1491, 162,
2130 134, 1492, 89, 89, 135, 1494, 1497, 136, 1498, 1499,
2131 139, 1347, 1500, 89, 90, 90, 90, 90, 90, 90,
2133 90, 90, 90, 90, 90, 90, 90, 90, 90, 382,
2134 90, 90, 90, 90, 90, 140, 140, 140, 162, 379,
2135 379, 379, 1501, 1502, 162, 382, 1116, 387, 162, 1507,
2136 1347, 140, 1508, 162, 387, 1238, 90, 90, 386, 386,
2137 386, 1509, 1116, 387, 388, 388, 388, 90, 93, 93,
2138 93, 93, 93, 93, 93, 93, 93, 93, 93, 93,
2139 93, 93, 93, 1238, 93, 93, 93, 93, 93, 1510,
2140 1511, 397, 397, 397, 1512, 438, 438, 438, 446, 446,
2141 446, 461, 461, 461, 1533, 473, 473, 473, 1534, 1535,
2142 93, 93, 438, 1536, 93, 446, 1541, 1542, 461, 1543,
2144 1544, 93, 473, 93, 544, 544, 544, 1545, 544, 1527,
2145 93, 94, 94, 94, 94, 94, 94, 94, 94, 94,
2146 94, 94, 94, 94, 94, 94, 397, 94, 94, 94,
2147 94, 94, 482, 482, 482, 488, 488, 488, 489, 489,
2148 489, 498, 498, 498, 503, 503, 503, 1546, 1527, 482,
2149 1055, 1547, 488, 94, 94, 489, 1055, 94, 498, 1055,
2150 1548, 503, 1525, 1055, 94, 1526, 94, 713, 713, 713,
2151 721, 721, 721, 94, 103, 103, 103, 103, 103, 103,
2152 103, 103, 103, 103, 103, 103, 103, 103, 103, 1549,
2153 103, 103, 103, 103, 103, 525, 525, 525, 1525, 1526,
2155 555, 555, 555, 1550, 1551, 556, 556, 556, 583, 583,
2156 583, 1553, 525, 584, 584, 584, 103, 103, 555, 103,
2157 1554, 1539, 103, 556, 1555, 1563, 583, 1564, 587, 587,
2158 587, 584, 587, 1539, 1565, 587, 103, 104, 104, 104,
2159 104, 104, 104, 104, 104, 104, 104, 104, 104, 104,
2160 104, 104, 1570, 104, 104, 104, 104, 104, 1571, 556,
2161 586, 586, 586, 590, 590, 590, 591, 591, 591, 584,
2162 594, 594, 594, 1572, 596, 596, 596, 586, 1573, 104,
2163 104, 590, 104, 1574, 591, 104, 1575, 594, 595, 595,
2164 595, 596, 595, 1580, 1581, 595, 892, 892, 892, 104,
2166 113, 113, 113, 113, 113, 113, 113, 113, 113, 113,
2167 113, 113, 113, 113, 113, 1540, 113, 113, 113, 113,
2168 113, 598, 598, 598, 1582, 1583, 591, 1540, 600, 600,
2169 600, 606, 606, 606, 601, 601, 601, 1584, 598, 607,
2170 607, 607, 113, 113, 1585, 113, 600, 1606, 113, 606,
2171 1598, 1577, 601, 113, 609, 609, 609, 607, 609, 1577,
2172 1599, 609, 113, 114, 114, 114, 114, 114, 114, 114,
2173 114, 114, 114, 114, 114, 114, 114, 114, 601, 114,
2174 114, 114, 114, 114, 608, 608, 608, 1608, 1598, 613,
2175 613, 613, 616, 616, 616, 617, 617, 617, 1599, 607,
2177 1611, 608, 614, 614, 614, 114, 114, 613, 114, 1612,
2178 616, 114, 1613, 617, 1578, 1597, 114, 620, 620, 620,
2179 614, 620, 1578, 1614, 620, 114, 123, 123, 123, 123,
2180 123, 123, 123, 123, 123, 123, 123, 123, 123, 123,
2181 123, 1597, 123, 123, 123, 123, 123, 619, 619, 619,
2182 614, 1615, 617, 626, 626, 626, 627, 627, 627, 628,
2183 628, 628, 1616, 1617, 619, 897, 897, 897, 123, 123,
2184 1618, 626, 1619, 1621, 627, 1622, 628, 1623, 1624, 123,
2185 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
2186 124, 124, 124, 124, 124, 1628, 124, 124, 124, 124,
2188 124, 629, 629, 629, 1629, 629, 1633, 1635, 629, 631,
2189 631, 631, 1639, 627, 632, 632, 632, 635, 635, 635,
2190 1640, 635, 124, 124, 635, 1641, 1642, 631, 900, 900,
2191 900, 1643, 632, 124, 127, 127, 127, 127, 127, 127,
2192 127, 127, 127, 127, 127, 127, 127, 127, 127, 1644,
2193 127, 127, 127, 127, 127, 634, 634, 634, 636, 636,
2194 636, 637, 637, 637, 1645, 637, 1646, 1647, 637, 643,
2195 643, 643, 634, 1648, 632, 636, 127, 127, 638, 638,
2196 638, 904, 904, 904, 127, 1650, 127, 643, 127, 908,
2197 908, 908, 934, 934, 934, 638, 127, 128, 128, 128,
2199 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
2200 128, 128, 1651, 128, 128, 128, 128, 128, 645, 645,
2201 645, 1652, 1653, 647, 647, 647, 1654, 644, 644, 644,
2202 646, 646, 646, 1655, 646, 645, 1668, 646, 1670, 128,
2203 128, 647, 894, 894, 894, 644, 1674, 128, 1675, 128,
2204 1676, 128, 1014, 1014, 1014, 1677, 894, 1661, 1679, 128,
2205 137, 137, 137, 137, 137, 137, 137, 137, 137, 137,
2206 137, 137, 137, 137, 137, 1680, 137, 137, 137, 137,
2207 137, 644, 650, 650, 650, 1681, 655, 655, 655, 1682,
2208 648, 648, 648, 651, 651, 651, 1683, 651, 1684, 650,
2210 651, 1661, 137, 137, 655, 656, 656, 656, 648, 671,
2211 671, 671, 1685, 671, 1686, 1690, 671, 734, 734, 734,
2212 1662, 734, 1692, 656, 734, 137, 138, 138, 138, 138,
2213 138, 138, 138, 138, 138, 138, 138, 138, 138, 138,
2214 138, 1693, 138, 138, 138, 138, 138, 648, 658, 658,
2215 658, 1696, 1662, 659, 659, 659, 1697, 656, 662, 662,
2216 662, 663, 663, 663, 1698, 658, 1691, 1691, 138, 138,
2217 659, 665, 665, 665, 1699, 1700, 662, 1701, 1702, 663,
2218 667, 667, 667, 668, 668, 668, 1703, 1704, 665, 1705,
2219 1706, 138, 181, 670, 670, 670, 1708, 667, 1709, 181,
2221 1710, 668, 1711, 669, 669, 669, 1712, 1713, 181, 1722,
2222 670, 672, 672, 672, 673, 673, 673, 1716, 663, 1723,
2223 1724, 669, 1725, 1728, 678, 678, 678, 1729, 1731, 672,
2224 1732, 1733, 673, 181, 1735, 181, 1740, 1741, 181, 1742,
2225 181, 181, 678, 181, 679, 679, 679, 181, 1716, 181,
2226 181, 181, 182, 682, 682, 682, 683, 683, 683, 182,
2227 669, 1743, 679, 699, 699, 699, 673, 1749, 182, 1750,
2228 1751, 682, 1752, 1753, 683, 1754, 700, 700, 700, 1756,
2229 1758, 699, 1761, 1762, 702, 702, 702, 1763, 728, 728,
2230 728, 1764, 1765, 182, 700, 182, 1766, 1773, 182, 1781,
2232 182, 182, 702, 182, 679, 728, 1782, 182, 1783, 182,
2233 182, 182, 729, 729, 729, 1784, 683, 730, 730, 730,
2234 732, 732, 732, 733, 733, 733, 1788, 1789, 702, 1790,
2235 729, 737, 737, 737, 1791, 730, 1773, 1792, 732, 1793,
2236 733, 739, 739, 739, 740, 740, 740, 1795, 737, 742,
2237 742, 742, 1796, 744, 744, 744, 1797, 744, 1798, 739,
2238 744, 1803, 740, 747, 747, 747, 732, 742, 748, 748,
2239 748, 1804, 748, 1805, 1806, 748, 1807, 749, 749, 749,
2240 747, 750, 750, 750, 1808, 751, 751, 751, 737, 751,
2241 1811, 1812, 751, 742, 749, 753, 753, 753, 750, 754,
2243 754, 754, 756, 756, 756, 759, 759, 759, 761, 761,
2244 761, 1813, 1814, 753, 762, 762, 762, 754, 1815, 1816,
2245 756, 1831, 759, 764, 764, 764, 761, 765, 765, 765,
2246 1833, 765, 762, 1836, 765, 771, 771, 771, 772, 772,
2247 772, 764, 774, 774, 774, 776, 776, 776, 777, 777,
2248 777, 1827, 1825, 771, 1837, 1839, 772, 1840, 756, 1843,
2249 774, 1844, 1845, 776, 1846, 1827, 777, 764, 779, 779,
2250 779, 781, 781, 781, 1828, 781, 1853, 1854, 781, 789,
2251 789, 789, 790, 790, 790, 1828, 779, 792, 792, 792,
2252 1856, 793, 793, 793, 1825, 793, 1857, 789, 793, 1859,
2254 790, 797, 797, 797, 774, 792, 798, 798, 798, 800,
2255 800, 800, 1860, 803, 803, 803, 1862, 803, 1863, 797,
2256 803, 809, 809, 809, 798, 1870, 1851, 800, 779, 806,
2257 806, 806, 1867, 806, 1852, 1872, 806, 1851, 809, 810,
2258 810, 810, 1874, 810, 1875, 1852, 810, 1868, 792, 815,
2259 815, 815, 816, 816, 816, 818, 818, 818, 819, 819,
2260 819, 1868, 819, 1869, 1869, 819, 800, 815, 1884, 1867,
2261 816, 1885, 1886, 818, 822, 822, 822, 823, 823, 823,
2262 825, 825, 825, 827, 827, 827, 1871, 827, 1887, 1899,
2263 827, 1900, 822, 1901, 1903, 823, 1904, 1871, 825, 833,
2265 833, 833, 834, 834, 834, 836, 836, 836, 838, 838,
2266 838, 1911, 839, 839, 839, 1914, 839, 833, 818, 839,
2267 834, 1915, 1916, 836, 1917, 838, 1921, 840, 840, 840,
2268 841, 841, 841, 1933, 841, 1937, 1938, 841, 844, 844,
2269 844, 1939, 1940, 825, 840, 845, 845, 845, 847, 847,
2270 847, 849, 849, 849, 1945, 1943, 844, 1946, 850, 850,
2271 850, 836, 850, 845, 1947, 850, 847, 1948, 849, 852,
2272 852, 852, 853, 853, 853, 1949, 853, 1943, 1952, 853,
2273 854, 854, 854, 855, 855, 855, 852, 857, 857, 857,
2274 858, 858, 858, 1953, 858, 1954, 1952, 858, 854, 1955,
2276 1956, 855, 861, 861, 861, 857, 862, 862, 862, 1957,
2277 1960, 847, 864, 864, 864, 866, 866, 866, 1962, 1963,
2278 861, 869, 869, 869, 862, 870, 870, 870, 1964, 1960,
2279 864, 1965, 866, 872, 872, 872, 875, 875, 875, 869,
2280 876, 876, 876, 870, 878, 878, 878, 880, 880, 880,
2281 857, 872, 1971, 1973, 875, 888, 888, 888, 876, 915,
2282 915, 915, 878, 1417, 1991, 880, 880, 1995, 864, 905,
2283 905, 905, 1992, 888, 1968, 1977, 915, 916, 916, 916,
2284 1968, 916, 2003, 905, 916, 917, 917, 917, 1977, 1999,
2285 872, 918, 918, 918, 878, 919, 919, 919, 2025, 919,
2287 1996, 1995, 919, 917, 922, 922, 922, 1991, 918, 924,
2288 924, 924, 2009, 924, 2003, 1992, 924, 888, 927, 927,
2289 927, 1403, 922, 928, 928, 928, 1999, 928, 2004, 1402,
2290 928, 933, 933, 933, 1996, 927, 929, 929, 929, 917,
2291 929, 1401, 2025, 929, 936, 936, 936, 2000, 2010, 933,
2292 922, 937, 937, 937, 2009, 937, 2019, 2026, 937, 2020,
2293 2004, 936, 938, 938, 938, 939, 939, 939, 943, 943,
2294 943, 945, 945, 945, 949, 949, 949, 1400, 933, 938,
2295 950, 950, 950, 939, 2000, 2019, 943, 2017, 2020, 945,
2296 2010, 949, 952, 952, 952, 2029, 2018, 950, 953, 953,
2298 953, 2026, 954, 954, 954, 955, 955, 955, 2023, 2029,
2299 952, 939, 956, 956, 956, 953, 960, 960, 960, 945,
2300 954, 2017, 955, 950, 957, 957, 957, 1399, 957, 956,
2301 2018, 957, 1398, 960, 961, 961, 961, 2023, 962, 962,
2302 962, 963, 963, 963, 964, 964, 964, 965, 965, 965,
2303 1056, 961, 2021, 1397, 952, 962, 1056, 2022, 963, 1056,
2304 954, 2021, 964, 1056, 2024, 965, 2022, 969, 969, 969,
2305 970, 970, 970, 1396, 956, 2027, 972, 972, 972, 2030,
2306 972, 1390, 962, 972, 969, 975, 975, 975, 970, 975,
2307 2030, 1389, 975, 2024, 979, 979, 979, 980, 980, 980,
2309 961, 992, 992, 992, 2027, 964, 1388, 963, 979, 965,
2310 969, 2028, 982, 982, 982, 980, 982, 1387, 992, 982,
2311 986, 986, 986, 970, 986, 1386, 1385, 986, 989, 989,
2312 989, 990, 990, 990, 993, 993, 993, 1384, 993, 1383,
2313 2028, 993, 996, 996, 996, 1382, 989, 1381, 1375, 990,
2314 998, 998, 998, 999, 999, 999, 1002, 1002, 1002, 980,
2315 996, 1010, 1010, 1010, 1016, 1016, 1016, 998, 1020, 1020,
2316 1020, 999, 1372, 1370, 1002, 1022, 1022, 1022, 1368, 1010,
2317 1023, 1023, 1023, 1364, 990, 1026, 1026, 1026, 996, 1022,
2318 989, 1027, 1027, 1027, 1023, 1029, 1029, 1029, 1030, 1030,
2320 1030, 1032, 1032, 1032, 1002, 1034, 1034, 1034, 1363, 1029,
2321 1010, 1344, 1030, 1342, 1341, 1032, 999, 1331, 1326, 1034,
2322 1002, 1323, 1035, 1035, 1035, 1036, 1036, 1036, 1322, 1036,
2323 1319, 1303, 1036, 1300, 1299, 1022, 1035, 1298, 1039, 1039,
2324 1039, 1040, 1040, 1040, 1284, 1040, 1283, 1282, 1040, 1045,
2325 1045, 1045, 1051, 1051, 1051, 1029, 1039, 1052, 1052, 1052,
2326 1281, 1032, 1047, 1047, 1047, 1034, 1047, 1045, 1280, 1047,
2327 1051, 1054, 1054, 1054, 1279, 1054, 1278, 1277, 1054, 1057,
2328 1057, 1057, 1058, 1058, 1058, 1276, 1058, 1275, 1271, 1058,
2329 1059, 1059, 1059, 1060, 1060, 1060, 1057, 1045, 1061, 1061,
2331 1061, 1039, 1062, 1062, 1062, 1063, 1063, 1063, 1059, 1051,
2332 1060, 1065, 1065, 1065, 1270, 1061, 1066, 1066, 1066, 1062,
2333 1070, 1070, 1070, 1063, 1267, 1071, 1071, 1071, 1065, 1071,
2334 1266, 1264, 1071, 1262, 1066, 1256, 1254, 1070, 1059, 1072,
2335 1072, 1072, 1073, 1073, 1073, 1251, 1073, 1250, 1246, 1073,
2336 1240, 1232, 1061, 1076, 1076, 1076, 1072, 1077, 1077, 1077,
2337 1066, 1078, 1078, 1078, 1230, 1078, 1229, 1228, 1078, 1221,
2338 1215, 1076, 1214, 1213, 1077, 1079, 1079, 1079, 1080, 1080,
2339 1080, 1081, 1081, 1081, 1211, 1081, 1209, 1185, 1081, 1082,
2340 1082, 1082, 1184, 1079, 1183, 1080, 1083, 1083, 1083, 1178,
2342 1084, 1084, 1084, 1177, 1084, 1176, 1082, 1084, 1085, 1085,
2343 1085, 1163, 1161, 1083, 1086, 1086, 1086, 1087, 1087, 1087,
2344 1088, 1088, 1088, 1160, 1159, 1085, 1089, 1089, 1089, 1157,
2345 1156, 1086, 1153, 1152, 1087, 1093, 1093, 1093, 1088, 1094,
2346 1094, 1094, 1150, 1094, 1089, 1149, 1094, 1096, 1096, 1096,
2347 1147, 1146, 1093, 1097, 1097, 1097, 1098, 1098, 1098, 1100,
2348 1100, 1100, 1101, 1101, 1101, 1096, 1145, 1143, 1086, 1139,
2349 1097, 1138, 1137, 1098, 1089, 1134, 1131, 1100, 1130, 1101,
2350 1129, 1128, 1088, 1102, 1102, 1102, 1103, 1103, 1103, 1127,
2351 1126, 1104, 1104, 1104, 1106, 1106, 1106, 1125, 1106, 1120,
2353 1102, 1106, 1112, 1110, 1103, 1104, 1109, 1100, 1105, 1104,
2354 1111, 1111, 1111, 1113, 1113, 1113, 1098, 1114, 1114, 1114,
2355 1099, 1114, 1095, 1092, 1114, 1091, 1102, 1090, 1111, 1075,
2356 1113, 1115, 1115, 1115, 1103, 1121, 1121, 1121, 1122, 1122,
2357 1122, 1074, 1123, 1123, 1123, 1124, 1124, 1124, 1069, 1115,
2358 1068, 1067, 1121, 1053, 1050, 1122, 1046, 1044, 1111, 1123,
2359 1132, 1132, 1132, 1124, 1133, 1133, 1133, 1135, 1135, 1135,
2360 1136, 1136, 1136, 1140, 1140, 1140, 1141, 1141, 1141, 1142,
2361 1142, 1142, 1144, 1144, 1144, 1043, 1115, 1148, 1148, 1148,
2362 1122, 1151, 1151, 1151, 1154, 1154, 1154, 1033, 1031, 1123,
2364 1028, 1025, 1124, 1024, 1021, 1148, 1155, 1155, 1155, 1151,
2365 1019, 1018, 1154, 1164, 1164, 1164, 1017, 1164, 1015, 1013,
2366 1164, 1012, 1011, 1155, 1167, 1167, 1167, 1168, 1168, 1168,
2367 1170, 1170, 1170, 1008, 1148, 1171, 1171, 1171, 1167, 1169,
2368 1169, 1169, 1167, 1169, 1168, 1007, 1169, 1170, 1004, 1154,
2369 1001, 997, 1171, 1172, 1172, 1172, 995, 1172, 994, 991,
2370 1172, 1173, 1173, 1173, 1174, 1174, 1174, 985, 1174, 981,
2371 978, 1174, 1175, 1175, 1175, 1179, 1179, 1179, 1173, 1179,
2372 971, 968, 1179, 967, 1182, 1182, 1182, 966, 1182, 951,
2373 1175, 1182, 1186, 1186, 1186, 1187, 1187, 1187, 1189, 1189,
2375 1189, 948, 1189, 947, 946, 1189, 1192, 1192, 1192, 1186,
2376 1194, 1194, 1194, 1187, 1194, 944, 942, 1194, 1175, 1197,
2377 1197, 1197, 941, 940, 1192, 1198, 1198, 1198, 935, 1198,
2378 932, 923, 1198, 1199, 1199, 1199, 1197, 1199, 921, 920,
2379 1199, 1202, 1202, 1202, 1203, 1203, 1203, 914, 1203, 913,
2380 912, 1203, 1204, 1204, 1204, 1205, 1205, 1205, 1202, 1206,
2381 1206, 1206, 911, 1206, 910, 909, 1206, 907, 906, 1204,
2382 903, 902, 1205, 1207, 1207, 1207, 1208, 1208, 1208, 1210,
2383 1210, 1210, 1212, 1212, 1212, 901, 1212, 899, 898, 1212,
2384 896, 1207, 895, 893, 1208, 891, 1210, 1216, 1216, 1216,
2386 1218, 1218, 1218, 1219, 1219, 1219, 890, 1219, 889, 887,
2387 1219, 1220, 1220, 1220, 886, 1216, 885, 1218, 1223, 1223,
2388 1223, 1207, 1210, 1222, 1222, 1222, 884, 883, 1220, 1225,
2389 1225, 1225, 1226, 1226, 1226, 1223, 1208, 1222, 1224, 1224,
2390 1224, 1222, 1224, 874, 873, 1224, 1225, 1227, 1227, 1227,
2391 1226, 1231, 1231, 1231, 1233, 1233, 1233, 868, 1233, 867,
2392 865, 1233, 851, 1220, 848, 1227, 1236, 1236, 1236, 1231,
2393 1241, 1241, 1241, 1242, 1242, 1242, 843, 1242, 842, 837,
2394 1242, 1243, 1243, 1243, 1236, 832, 1225, 1241, 1244, 1244,
2395 1244, 831, 830, 1227, 826, 1245, 1245, 1245, 1243, 1247,
2397 1247, 1247, 1248, 1248, 1248, 1244, 1249, 1249, 1249, 1252,
2398 1252, 1252, 1231, 1245, 1236, 1253, 1253, 1253, 1255, 1255,
2399 1255, 1257, 1257, 1257, 1258, 1258, 1258, 1259, 1259, 1259,
2400 1260, 1260, 1260, 1261, 1261, 1261, 814, 1243, 1263, 1263,
2401 1263, 1265, 1265, 1265, 1268, 1268, 1268, 1272, 1272, 1272,
2402 813, 1244, 1273, 1273, 1273, 1245, 1274, 1274, 1274, 1265,
2403 1274, 812, 1268, 1274, 811, 1272, 1285, 1285, 1285, 1273,
2404 1286, 1286, 1286, 802, 1286, 801, 796, 1286, 1289, 1289,
2405 1289, 1290, 1290, 1290, 1285, 1290, 788, 787, 1290, 1265,
2406 1291, 1291, 1291, 786, 1291, 1289, 785, 1291, 1294, 1294,
2408 1294, 784, 1294, 780, 775, 1294, 1297, 1297, 1297, 1304,
2409 1304, 1304, 1285, 1305, 1305, 1305, 770, 1305, 769, 768,
2410 1305, 1306, 1306, 1306, 1297, 1306, 1304, 760, 1306, 1309,
2411 1309, 1309, 758, 1309, 752, 743, 1309, 1312, 1312, 1312,
2412 1313, 1313, 1313, 738, 1313, 727, 726, 1313, 1314, 1314,
2413 1314, 725, 1314, 724, 1312, 1314, 722, 1297, 1317, 1317,
2414 1317, 1318, 1318, 1318, 1320, 1320, 1320, 1321, 1321, 1321,
2415 720, 1321, 719, 718, 1321, 717, 1317, 716, 715, 1318,
2416 714, 1320, 1327, 1327, 1327, 712, 1327, 711, 709, 1327,
2417 1330, 1330, 1330, 1332, 1332, 1332, 1333, 1333, 1333, 708,
2419 1333, 707, 706, 1333, 1336, 1336, 1336, 1330, 1337, 1337,
2420 1337, 1332, 1339, 1339, 1339, 1340, 1340, 1340, 1317, 705,
2421 704, 1336, 1343, 1343, 1343, 703, 1337, 1346, 1346, 1346,
2422 1339, 698, 1340, 1345, 1345, 1345, 1330, 1349, 1349, 1349,
2423 1343, 697, 1350, 1350, 1350, 1346, 1350, 696, 1332, 1350,
2424 695, 1345, 1353, 1353, 1353, 1354, 1354, 1354, 692, 691,
2425 1336, 1355, 1355, 1355, 1356, 1356, 1356, 690, 688, 1353,
2426 684, 681, 1354, 680, 1339, 1357, 1357, 1357, 677, 1355,
2427 1358, 1358, 1358, 1343, 1359, 1359, 1359, 676, 675, 1345,
2428 1360, 1360, 1360, 1361, 1361, 1361, 1362, 1362, 1362, 1365,
2430 1365, 1365, 1366, 1366, 1366, 1353, 1367, 1367, 1367, 1369,
2431 1369, 1369, 1371, 1371, 1371, 674, 1355, 1354, 1374, 1374,
2432 1374, 1376, 1376, 1376, 1378, 1378, 1378, 666, 1378, 664,
2433 1371, 1378, 1391, 1391, 1391, 1374, 1392, 1392, 1392, 1376,
2434 1392, 661, 660, 1392, 1395, 1395, 1395, 1404, 1404, 1404,
2435 1391, 1404, 657, 654, 1404, 653, 1407, 1407, 1407, 652,
2436 1407, 649, 1395, 1407, 1410, 1410, 1410, 1411, 1411, 1411,
2437 1413, 1413, 1413, 1414, 1414, 1414, 642, 1414, 641, 640,
2438 1414, 639, 1410, 630, 625, 1411, 624, 1413, 623, 1391,
2439 1428, 1428, 1428, 1429, 1429, 1429, 1430, 1430, 1430, 1435,
2441 1435, 1435, 1436, 1436, 1436, 622, 621, 1428, 1437, 1437,
2442 1437, 618, 615, 1413, 1430, 612, 1435, 1438, 1438, 1438,
2443 1436, 1438, 611, 610, 1438, 1437, 1439, 1439, 1439, 1441,
2444 1441, 1441, 1442, 1442, 1442, 1443, 1443, 1443, 1444, 1444,
2445 1444, 605, 1435, 1439, 1447, 1447, 1447, 1441, 1448, 1448,
2446 1448, 604, 603, 1443, 602, 599, 1444, 597, 1436, 1430,
2447 1449, 1449, 1449, 593, 589, 1448, 1450, 1450, 1450, 1451,
2448 1451, 1451, 1452, 1452, 1452, 588, 585, 1449, 1453, 1453,
2449 1453, 1458, 1458, 1458, 1450, 1461, 1461, 1461, 1462, 1462,
2450 1462, 582, 1462, 581, 580, 1462, 1444, 1443, 579, 1458,
2452 578, 577, 1461, 1474, 1474, 1474, 576, 575, 1449, 1475,
2453 1475, 1475, 1484, 1484, 1484, 1485, 1485, 1485, 1487, 1487,
2454 1487, 1474, 574, 573, 1488, 1488, 1488, 1475, 1488, 1484,
2455 572, 1488, 571, 1485, 570, 1487, 1496, 1496, 1496, 1503,
2456 1503, 1503, 1504, 1504, 1504, 569, 1504, 568, 567, 1504,
2457 1505, 1505, 1505, 1496, 566, 565, 1503, 564, 563, 1474,
2458 1506, 1506, 1506, 1513, 1513, 1513, 1514, 1514, 1514, 1515,
2459 1515, 1515, 562, 1515, 561, 560, 1515, 559, 1506, 558,
2460 1513, 1518, 1518, 1518, 1514, 1519, 1519, 1519, 557, 1519,
2461 554, 553, 1519, 552, 1520, 1520, 1520, 550, 1518, 1521,
2463 1521, 1521, 1523, 1523, 1523, 1524, 1524, 1524, 549, 548,
2464 1513, 1520, 547, 546, 1506, 542, 540, 1521, 1528, 1528,
2465 1528, 539, 538, 1524, 1513, 1529, 1529, 1529, 537, 1529,
2466 534, 533, 1529, 532, 531, 1528, 1530, 1530, 1530, 1531,
2467 1531, 1531, 1537, 1537, 1537, 1538, 1538, 1538, 530, 1538,
2468 529, 526, 1538, 1530, 1552, 1552, 1552, 1531, 522, 1537,
2469 1558, 1558, 1558, 1559, 1559, 1559, 521, 1559, 520, 519,
2470 1559, 518, 1552, 515, 1560, 1560, 1560, 1558, 1560, 514,
2471 513, 1560, 1568, 1568, 1568, 1569, 1569, 1569, 512, 1569,
2472 511, 510, 1569, 1576, 1576, 1576, 507, 1576, 506, 1568,
2474 1576, 1579, 1579, 1579, 1586, 1586, 1586, 1587, 1587, 1587,
2475 1552, 1588, 1588, 1588, 505, 504, 1590, 1590, 1590, 1579,
2476 1590, 1586, 502, 1590, 1587, 1593, 1593, 1593, 499, 1588,
2477 1594, 1594, 1594, 495, 1594, 494, 493, 1594, 1595, 1595,
2478 1595, 492, 1593, 1600, 1600, 1600, 491, 1600, 490, 487,
2479 1600, 1603, 1603, 1603, 484, 483, 1595, 1604, 1604, 1604,
2480 479, 1604, 478, 1579, 1604, 1586, 477, 1587, 1603, 1605,
2481 1605, 1605, 1607, 1607, 1607, 1609, 1609, 1609, 1610, 1610,
2482 1610, 476, 1610, 475, 474, 1610, 1626, 1626, 1626, 1627,
2483 1627, 1627, 1609, 1630, 1630, 1630, 472, 1630, 469, 468,
2485 1630, 1634, 1634, 1634, 1626, 465, 1627, 1636, 1636, 1636,
2486 464, 1636, 463, 462, 1636, 1649, 1649, 1649, 1634, 1656,
2487 1656, 1656, 1657, 1657, 1657, 1667, 1667, 1667, 1663, 1663,
2488 1663, 458, 1627, 1649, 1626, 457, 1656, 456, 455, 1657,
2489 1658, 1658, 1658, 451, 1658, 1663, 1663, 1658, 1664, 1664,
2490 1664, 450, 1664, 449, 448, 1664, 1669, 1669, 1669, 1671,
2491 1671, 1671, 447, 1671, 445, 442, 1671, 1649, 1657, 1678,
2492 1678, 1678, 1687, 1687, 1687, 1688, 1688, 1688, 1689, 1689,
2493 1689, 1656, 1689, 441, 439, 1689, 1678, 1694, 1694, 1694,
2494 1687, 437, 1688, 1695, 1695, 1695, 434, 1695, 433, 430,
2496 1695, 1707, 1707, 1707, 1694, 1714, 1714, 1714, 1715, 1715,
2497 1715, 1717, 1717, 1717, 1718, 1718, 1718, 428, 1687, 1707,
2498 425, 424, 1714, 422, 421, 1715, 420, 419, 1717, 1717,
2499 418, 1718, 1718, 417, 1719, 1719, 1719, 414, 1719, 413,
2500 412, 1719, 1720, 1720, 1720, 1721, 1721, 1721, 1714, 411,
2501 410, 1715, 1719, 1726, 1726, 1726, 1727, 1727, 1727, 409,
2502 1727, 408, 407, 1727, 1736, 1736, 1736, 1737, 1737, 1737,
2503 1726, 1737, 406, 403, 1737, 1744, 1744, 1744, 402, 1745,
2504 1745, 1745, 1736, 1745, 401, 400, 1745, 1748, 1748, 1748,
2505 399, 393, 1744, 1759, 1759, 1759, 1767, 1767, 1767, 1768,
2507 1768, 1768, 392, 1768, 1748, 390, 1768, 1769, 1769, 1769,
2508 384, 1759, 380, 1767, 1770, 1770, 1770, 377, 1771, 1771,
2509 1771, 376, 1771, 372, 1769, 1771, 1736, 1772, 1772, 1772,
2510 371, 1770, 1774, 1774, 1774, 1775, 1775, 1775, 370, 1775,
2511 369, 365, 1775, 359, 1772, 1779, 1779, 1779, 355, 1774,
2512 1774, 352, 348, 1775, 347, 1776, 1776, 1776, 346, 1776,
2513 345, 341, 1776, 1780, 1780, 1780, 338, 1785, 1785, 1785,
2514 332, 1785, 1769, 1776, 1785, 1800, 1800, 1800, 331, 1800,
2515 327, 324, 1800, 319, 1794, 1794, 1794, 318, 1799, 1799,
2516 1799, 317, 1772, 1777, 1777, 1777, 1777, 1777, 1777, 1777,
2518 1777, 1777, 1794, 313, 1777, 1799, 1801, 1801, 1801, 1777,
2519 1777, 1777, 1777, 1777, 1802, 1802, 1802, 307, 1802, 303,
2520 297, 1802, 296, 1801, 1817, 1817, 1817, 294, 1817, 293,
2521 288, 1817, 1820, 1820, 1820, 1777, 1777, 1778, 1778, 1778,
2522 1778, 1778, 1778, 1778, 1778, 1778, 282, 281, 1778, 1820,
2523 1824, 1824, 1824, 1778, 1778, 1778, 1778, 1778, 1821, 1821,
2524 1821, 277, 1821, 274, 270, 1821, 269, 1824, 1826, 1826,
2525 1826, 268, 1826, 267, 265, 1826, 1841, 1841, 1841, 1778,
2526 1778, 1847, 1847, 1847, 1820, 1847, 1826, 261, 1847, 1850,
2527 1850, 1850, 258, 1850, 1841, 255, 1850, 253, 1865, 1865,
2529 1865, 249, 1824, 1829, 1829, 1829, 1829, 1829, 1829, 1829,
2530 1829, 1829, 243, 242, 1829, 1865, 1866, 1866, 1866, 1829,
2531 1829, 1829, 1829, 1829, 1873, 1873, 1873, 1880, 1880, 1880,
2532 1906, 1906, 1906, 1866, 1906, 241, 240, 1906, 236, 1881,
2533 1881, 1881, 1873, 1873, 1880, 1829, 1829, 1830, 1830, 1830,
2534 1830, 1830, 1830, 1830, 1830, 1830, 1881, 230, 1830, 229,
2535 1865, 228, 224, 1830, 1830, 1830, 1830, 1830, 1882, 1882,
2536 1882, 1883, 1883, 1883, 1896, 1896, 1896, 221, 1866, 1897,
2537 1897, 1897, 1898, 1898, 1898, 1882, 216, 214, 1883, 1830,
2538 1830, 1896, 1902, 1902, 1902, 213, 1897, 1905, 1905, 1905,
2540 1898, 1907, 1907, 1907, 209, 1908, 1908, 1908, 206, 1908,
2541 1902, 1882, 1908, 204, 1905, 1909, 1909, 1909, 1907, 1910,
2542 1910, 1910, 203, 1910, 202, 1896, 1910, 1912, 1912, 1912,
2543 1897, 198, 1909, 192, 1913, 1913, 1913, 188, 1913, 184,
2544 1902, 1913, 178, 177, 1912, 1918, 1918, 1918, 1919, 1919,
2545 1919, 1920, 1920, 1920, 1924, 1924, 1924, 173, 1924, 169,
2546 168, 1924, 1918, 167, 161, 1919, 1927, 1927, 1927, 1920,
2547 1927, 160, 158, 1927, 1930, 1930, 1930, 155, 1930, 143,
2548 0, 1930, 1934, 1934, 1934, 0, 1934, 1920, 1918, 1934,
2549 0, 1919, 1941, 1941, 1941, 1942, 1942, 1942, 1950, 1950,
2551 1950, 1951, 1951, 1951, 1958, 1958, 1958, 0, 0, 1941,
2552 0, 0, 1942, 0, 0, 1950, 0, 0, 1951, 0,
2553 0, 1958, 1959, 1959, 1959, 1961, 1961, 1961, 1966, 1966,
2554 1966, 1967, 1967, 1967, 1969, 1969, 1969, 0, 0, 1959,
2555 0, 0, 1961, 0, 0, 1966, 0, 0, 1967, 1941,
2556 0, 1969, 1942, 0, 0, 1958, 0, 1970, 1970, 1970,
2557 1950, 1970, 0, 1951, 1970, 1975, 1975, 1975, 1976, 1976,
2558 1976, 0, 0, 1959, 0, 0, 1966, 0, 0, 1967,
2559 0, 0, 1975, 0, 0, 1976, 1978, 1978, 1978, 0,
2560 1978, 0, 0, 1978, 1983, 1983, 1983, 1984, 1984, 1984,
2562 1985, 1985, 1985, 1986, 1986, 1986, 1987, 1987, 1987, 0,
2563 0, 1983, 0, 0, 1984, 1988, 1988, 1988, 1985, 1988,
2564 1986, 0, 1988, 1987, 0, 1975, 0, 0, 1976, 1989,
2565 1989, 1989, 0, 1988, 1990, 1990, 1990, 1983, 0, 0,
2566 1984, 1993, 1993, 1993, 0, 0, 1989, 0, 1994, 1994,
2567 1994, 1990, 1997, 1997, 1997, 1998, 1998, 1998, 1993, 2001,
2568 2001, 2001, 0, 0, 1986, 1994, 1987, 0, 0, 1997,
2569 0, 0, 1998, 2002, 2002, 2002, 2001, 1989, 2005, 2005,
2570 2005, 0, 1990, 0, 2006, 2006, 2006, 0, 2006, 0,
2571 2002, 2006, 0, 0, 1994, 2005, 0, 1993, 0, 1997,
2573 2007, 2007, 2007, 2008, 2008, 2008, 0, 2008, 0, 0,
2574 2008, 2011, 2011, 2011, 0, 2011, 0, 2007, 2011, 1998,
2575 2014, 2014, 2014, 0, 2014, 0, 0, 2014, 2031, 2031,
2576 2031, 2032, 2032, 2032, 0, 0, 0, 0, 0, 0,
2577 0, 0, 0, 0, 0, 0, 2031, 0, 0, 2032,
2578 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2036,
2579 2036, 2036, 2036, 2036, 2036, 2036, 2036, 2036, 2037, 2037,
2580 2037, 2037, 2037, 2037, 2037, 2037, 2037, 2038, 2038, 2038,
2581 2038, 2038, 2038, 2038, 2038, 2038, 2039, 2039, 2039, 2039,
2582 2039, 2039, 2039, 2039, 2039, 2040, 2040, 2040, 2040, 2040,
2584 2040, 2040, 2040, 2040, 2041, 2041, 2041, 2041, 2041, 2041,
2585 2041, 2041, 2041, 2042, 2042, 2042, 2042, 2042, 2042, 2042,
2586 2042, 2042, 2043, 2043, 2043, 2043, 2043, 2043, 2043, 2043,
2587 2043, 2044, 2044, 2044, 2044, 2044, 2044, 2044, 2044, 2044,
2588 2045, 2045, 2045, 2045, 2045, 2045, 2045, 2045, 2045, 2046,
2589 2046, 2046, 2046, 2046, 2046, 2046, 2046, 2046, 2047, 2047,
2590 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2048, 2048, 2048,
2591 2048, 2048, 2048, 2048, 2048, 2048, 2049, 2049, 2049, 2049,
2592 2049, 2049, 2049, 2049, 2049, 2050, 2050, 2050, 2050, 2050,
2593 2050, 2050, 2050, 2050, 2051, 2051, 2051, 2051, 2051, 2051,
2595 2051, 2051, 2051, 2052, 2052, 2052, 2052, 2052, 2052, 2052,
2596 2052, 2052, 2053, 2053, 2053, 2053, 2053, 2053, 2053, 2053,
2597 2053, 2054, 2054, 2054, 2054, 2054, 2054, 2054, 2054, 2054,
2598 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2056,
2599 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2057, 2057,
2600 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2058, 2058, 2058,
2601 2058, 2058, 2058, 2058, 2058, 2058, 2059, 2059, 2059, 2059,
2602 2059, 2059, 2059, 2059, 2059, 2060, 2060, 2060, 2060, 2060,
2603 2060, 2060, 2060, 2060, 2061, 2061, 2061, 2061, 2061, 2061,
2604 2061, 2061, 2061, 2062, 2062, 2062, 2062, 2062, 2062, 2062,
2606 2062, 2062, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063,
2607 2063, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064,
2608 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2066,
2609 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2067, 2067,
2610 2067, 2067, 2067, 2067, 2067, 2067, 2067, 2068, 2068, 2068,
2611 2068, 2068, 2068, 2068, 2068, 2068, 2069, 2069, 2069, 2069,
2612 2069, 2069, 2069, 2069, 2069, 2070, 2070, 2070, 2070, 2070,
2613 2070, 2070, 2070, 2070, 2071, 2071, 2071, 2071, 2071, 2071,
2614 2071, 2071, 2071, 2072, 2072, 2072, 2072, 2072, 2072, 2072,
2615 2072, 2072, 2073, 2073, 2073, 0, 0, 0, 2073, 2074,
2617 2074, 2074, 0, 0, 0, 2074, 2075, 2075, 2075, 0,
2618 0, 0, 2075, 2076, 2076, 2076, 0, 0, 0, 2076,
2619 2077, 2077, 2077, 0, 0, 0, 2077, 2078, 2078, 2078,
2620 0, 0, 0, 2078, 2079, 2079, 2079, 0, 0, 0,
2621 2079, 2080, 2080, 2080, 0, 0, 0, 2080, 2081, 2081,
2622 2081, 0, 0, 0, 2081, 2082, 2082, 2082, 0, 0,
2623 0, 2082, 2083, 2083, 2083, 0, 0, 0, 2083, 2084,
2624 2084, 2084, 0, 0, 0, 2084, 2085, 2085, 2085, 0,
2625 0, 0, 2085, 2086, 2086, 2086, 0, 0, 0, 2086,
2626 2087, 2087, 2087, 0, 0, 0, 2087, 2088, 2088, 2088,
2628 0, 0, 0, 2088, 2089, 2089, 2089, 0, 0, 0,
2629 2089, 2090, 2090, 2090, 2090, 2090, 2090, 2090, 0, 2090,
2630 2091, 0, 0, 0, 2091, 2092, 0, 0, 0, 2092,
2631 2093, 0, 0, 0, 2093, 2094, 0, 0, 0, 2094,
2632 2095, 0, 0, 0, 2095, 2096, 0, 0, 0, 2096,
2633 2097, 0, 0, 0, 2097, 2098, 0, 0, 0, 2098,
2634 2099, 0, 0, 0, 2099, 2100, 2100, 2100, 0, 0,
2635 0, 2100, 2101, 0, 0, 0, 2101, 2102, 2102, 2102,
2636 0, 0, 0, 2102, 2103, 0, 0, 0, 2103, 2104,
2637 2104, 2104, 0, 0, 0, 2104, 2105, 0, 0, 0,
2639 2105, 2106, 2106, 2106, 0, 0, 0, 2106, 2107, 0,
2640 0, 0, 2107, 2108, 2108, 2108, 0, 0, 0, 2108,
2641 2109, 0, 0, 0, 2109, 2110, 2110, 2110, 0, 0,
2642 0, 2110, 2111, 0, 0, 0, 2111, 2112, 2112, 2112,
2643 0, 0, 0, 2112, 2113, 0, 0, 0, 2113, 2114,
2644 2114, 2114, 0, 0, 0, 2114, 2115, 0, 0, 0,
2645 2115, 2116, 2116, 2116, 2116, 2116, 2116, 2116, 2116, 2116,
2646 2117, 0, 0, 0, 0, 2117, 2118, 2118, 2118, 0,
2647 0, 0, 2118, 2119, 2119, 2119, 2119, 0, 0, 2119,
2648 2119, 2120, 2120, 2120, 0, 0, 0, 2120, 2121, 2121,
2650 2121, 2121, 0, 0, 2121, 2121, 2122, 2122, 2122, 0,
2651 0, 0, 2122, 2123, 2123, 2123, 2123, 0, 0, 2123,
2652 2123, 2124, 2124, 2124, 0, 0, 0, 2124, 2125, 2125,
2653 2125, 2125, 0, 0, 2125, 2125, 2126, 2126, 2126, 0,
2654 0, 0, 2126, 2127, 2127, 2127, 2127, 0, 0, 2127,
2655 2127, 2128, 2128, 2128, 0, 0, 0, 2128, 2129, 2129,
2656 2129, 2129, 0, 0, 2129, 2129, 2130, 2130, 2130, 0,
2657 0, 0, 2130, 2131, 2131, 2131, 2131, 0, 0, 2131,
2658 2131, 2132, 2132, 2132, 0, 0, 0, 2132, 2133, 2133,
2659 2133, 2133, 0, 0, 2133, 2133, 2134, 2134, 2134, 0,
2661 0, 0, 2134, 2135, 2135, 2135, 2135, 0, 0, 2135,
2662 2135, 2136, 2136, 2136, 0, 0, 0, 2136, 2137, 2137,
2663 2137, 2137, 0, 0, 2137, 2137, 2138, 2138, 2138, 2138,
2664 0, 0, 2138, 2138, 2139, 2139, 2139, 0, 0, 0,
2665 2139, 2140, 2140, 2140, 2140, 0, 0, 2140, 2140, 2141,
2666 2141, 2141, 0, 0, 0, 2141, 2142, 2142, 2142, 2142,
2667 0, 0, 2142, 2142, 2143, 2143, 2143, 0, 0, 0,
2668 2143, 2144, 2144, 2144, 2144, 0, 0, 2144, 2144, 2145,
2669 2145, 2145, 2145, 0, 0, 2145, 2145, 2146, 2146, 2146,
2670 0, 0, 0, 2146, 2147, 2147, 2147, 2147, 0, 0,
2672 2147, 2147, 2148, 2148, 2148, 0, 0, 0, 2148, 2149,
2673 2149, 2149, 2149, 0, 0, 2149, 2149, 2150, 2150, 2150,
2674 2150, 2150, 2150, 2150, 2150, 2150, 2151, 0, 2151, 0,
2675 0, 2151, 2152, 2152, 2152, 0, 0, 0, 2152, 2153,
2676 2153, 2153, 2153, 0, 0, 2153, 2153, 2154, 2154, 2154,
2677 2154, 0, 2154, 0, 2154, 2155, 2155, 2155, 2155, 0,
2678 0, 2155, 2155, 2156, 2156, 2156, 2156, 0, 2156, 0,
2679 2156, 2157, 2157, 2157, 2157, 0, 0, 2157, 2157, 2158,
2680 2158, 2158, 0, 0, 0, 2158, 2159, 2159, 2159, 2159,
2681 0, 0, 2159, 2159, 2160, 2160, 2160, 0, 0, 0,
2683 2160, 2161, 2161, 2161, 2161, 0, 0, 2161, 2161, 2162,
2684 2162, 2162, 0, 0, 0, 2162, 2163, 2163, 2163, 2163,
2685 0, 0, 2163, 2163, 2164, 2164, 2164, 0, 0, 0,
2686 2164, 2165, 2165, 2165, 2165, 0, 0, 2165, 2165, 2166,
2687 2166, 2166, 0, 0, 0, 2166, 2167, 2167, 2167, 2167,
2688 0, 0, 2167, 2167, 2168, 2168, 2168, 0, 0, 0,
2689 2168, 2169, 2169, 2169, 2169, 0, 0, 2169, 2169, 2170,
2690 2170, 2170, 0, 0, 0, 2170, 2171, 2171, 2171, 2171,
2691 0, 0, 2171, 2171, 2172, 2172, 2172, 2172, 0, 0,
2692 2172, 2172, 2173, 2173, 2173, 0, 0, 0, 2173, 2174,
2694 2174, 2174, 2174, 0, 0, 2174, 2174, 2175, 2175, 2175,
2695 0, 0, 0, 2175, 2176, 2176, 2176, 2176, 0, 0,
2696 2176, 2176, 2177, 2177, 2177, 0, 0, 0, 2177, 2178,
2697 2178, 2178, 2178, 0, 0, 2178, 2178, 2179, 2179, 2179,
2698 2179, 0, 0, 2179, 2179, 2180, 2180, 2180, 0, 0,
2699 0, 2180, 2181, 2181, 2181, 2181, 0, 0, 2181, 2181,
2700 2182, 2182, 2182, 0, 0, 0, 2182, 2183, 2183, 2183,
2701 2183, 0, 0, 2183, 2183, 2184, 2184, 2184, 2184, 2184,
2702 2184, 2184, 2184, 2184, 2185, 2185, 2185, 2185, 2185, 2185,
2703 2185, 2185, 2185, 2186, 2186, 2186, 0, 0, 0, 2186,
2705 2187, 2187, 2187, 2187, 0, 0, 2187, 2187, 2188, 2188,
2706 2188, 2188, 0, 0, 2188, 2188, 2189, 2189, 2189, 0,
2707 0, 0, 2189, 2190, 2190, 2190, 2190, 0, 0, 2190,
2708 2190, 2191, 2191, 2191, 0, 0, 0, 2191, 2192, 2192,
2709 2192, 2192, 0, 0, 2192, 2192, 2193, 2193, 2193, 0,
2710 0, 0, 2193, 2194, 2194, 2194, 2194, 0, 0, 2194,
2711 2194, 2195, 2195, 2195, 0, 0, 0, 2195, 2196, 2196,
2712 2196, 2196, 0, 0, 2196, 2196, 2197, 2197, 2197, 0,
2713 0, 0, 2197, 2198, 2198, 2198, 2198, 0, 0, 2198,
2714 2198, 2199, 2199, 2199, 0, 0, 0, 2199, 2200, 2200,
2716 2200, 2200, 0, 0, 2200, 2200, 2201, 2201, 2201, 2201,
2717 0, 2201, 0, 2201, 2202, 2202, 2202, 2202, 0, 0,
2718 2202, 2202, 2203, 2203, 2203, 2203, 0, 2203, 0, 2203,
2719 2204, 2204, 2204, 2204, 0, 0, 2204, 2204, 2205, 2205,
2720 2205, 2205, 0, 0, 2205, 2205, 2206, 2206, 2206, 0,
2721 0, 0, 2206, 2207, 2207, 2207, 2207, 0, 0, 2207,
2722 2207, 2208, 2208, 2208, 0, 0, 0, 2208, 2209, 2209,
2723 2209, 2209, 0, 0, 2209, 2209, 2210, 2210, 2210, 0,
2724 0, 0, 2210, 2211, 2211, 2211, 2211, 0, 0, 2211,
2725 2211, 2212, 2212, 2212, 2212, 0, 0, 2212, 2212, 2213,
2727 2213, 2213, 0, 0, 0, 2213, 2214, 2214, 2214, 2214,
2728 0, 0, 2214, 2214, 2215, 2215, 2215, 2215, 0, 2215,
2729 0, 2215, 2216, 2216, 2216, 2216, 0, 0, 2216, 2216,
2730 2217, 2217, 2217, 2217, 2217, 2217, 2217, 2217, 2217, 2218,
2731 2218, 2218, 2218, 2218, 2218, 2218, 2218, 2218, 2219, 2219,
2732 2219, 0, 0, 0, 2219, 2220, 2220, 2220, 2220, 0,
2733 0, 2220, 2220, 2221, 2221, 2221, 2221, 0, 0, 2221,
2734 2221, 2222, 2222, 2222, 0, 0, 0, 2222, 2223, 2223,
2735 2223, 2223, 0, 0, 2223, 2223, 2224, 2224, 2224, 0,
2736 0, 0, 2224, 2225, 2225, 2225, 2225, 0, 0, 2225,
2738 2225, 2226, 2226, 2226, 0, 0, 0, 2226, 2227, 2227,
2739 2227, 2227, 0, 0, 2227, 2227, 2228, 2228, 2228, 2228,
2740 0, 2228, 0, 2228, 2229, 2229, 2229, 2229, 0, 2229,
2741 0, 2229, 2230, 2230, 2230, 2230, 0, 0, 2230, 2230,
2742 2231, 2231, 2231, 0, 0, 0, 2231, 2232, 2232, 2232,
2743 2232, 0, 0, 2232, 2232, 2233, 2233, 2233, 2233, 0,
2744 0, 2233, 2233, 2234, 2234, 2234, 2234, 0, 2234, 0,
2745 2234, 2235, 2235, 2235, 2235, 0, 0, 2235, 2235, 2236,
2746 2236, 2236, 2236, 0, 0, 2236, 2236, 2237, 2237, 2237,
2747 0, 0, 0, 2237, 2238, 2238, 2238, 2238, 0, 0,
2749 2238, 2238, 2239, 2239, 2239, 2239, 0, 2239, 0, 2239,
2750 2240, 2240, 2240, 2240, 0, 0, 2240, 2240, 2241, 2241,
2751 2241, 2241, 0, 2241, 0, 2241, 2242, 2242, 2242, 2242,
2752 0, 0, 2242, 2242, 2243, 2243, 2243, 2243, 0, 0,
2753 2243, 2243, 2244, 2244, 2244, 0, 0, 0, 2244, 2245,
2754 2245, 2245, 2245, 0, 0, 2245, 2245, 2246, 2246, 2246,
2755 2246, 0, 0, 2246, 2246, 2247, 2247, 2247, 2247, 2247,
2756 2247, 2247, 2247, 2247, 2248, 2248, 2248, 2248, 2248, 2248,
2757 2248, 2248, 2248, 2249, 2249, 2249, 2249, 0, 2249, 0,
2758 2249, 2250, 2250, 2250, 2250, 0, 0, 2250, 2250, 2251,
2760 2251, 2251, 2251, 0, 0, 2251, 2251, 2252, 2252, 2252,
2761 0, 0, 0, 2252, 2253, 2253, 2253, 2253, 0, 0,
2762 2253, 2253, 2254, 2254, 2254, 0, 0, 0, 2254, 2255,
2763 2255, 2255, 2255, 0, 0, 2255, 2255, 2256, 2256, 2256,
2764 2256, 0, 2256, 0, 2256, 2257, 2257, 2257, 2257, 0,
2765 0, 2257, 2257, 2258, 2258, 2258, 2258, 0, 2258, 0,
2766 2258, 2259, 2259, 2259, 2259, 0, 0, 2259, 2259, 2260,
2767 2260, 2260, 0, 0, 0, 2260, 2261, 2261, 2261, 2261,
2768 2261, 2261, 2261, 2261, 2261, 2262, 2262, 2262, 2262, 2262,
2769 2262, 2262, 2262, 2262, 2263, 2263, 2263, 2263, 2263, 2263,
2771 2263, 2263, 2263, 2264, 2264, 2264, 2264, 2264, 2264, 2264,
2772 2264, 2264, 2265, 2265, 2265, 2265, 2265, 2265, 2265, 2265,
2773 2265, 2266, 2266, 2266, 2266, 2266, 2266, 2266, 2266, 2266,
2774 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
2775 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
2776 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
2777 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
2778 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
2779 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
2780 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034
2784 /* Table of booleans, true if rule could match eol. */
2785 static yyconst flex_int32_t yy_rule_can_match_eol[354] =
2787 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1,
2788 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1,
2789 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1,
2790 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1,
2791 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1,
2792 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1,
2793 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2794 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0,
2795 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1,
2796 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0,
2797 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1,
2798 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0,
2799 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,
2800 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2801 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0,
2802 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1,
2803 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2804 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, };
2806 static yy_state_type yy_last_accepting_state;
2807 static char *yy_last_accepting_cpos;
2809 extern int surf_parse__flex_debug;
2810 int surf_parse__flex_debug = 0;
2812 /* The intent behind this definition is that it'll catch
2813 * any uses of REJECT which flex missed.
2815 #define REJECT reject_used_but_not_detected
2816 #define yymore() yymore_used_but_not_detected
2817 #define YY_MORE_ADJ 0
2818 #define YY_RESTORE_YY_MORE_OFFSET
2819 char *surf_parse_text;
2820 /* Validating XML processor for /home/navarrop/Developments/simgrid/src/surf/simgrid.dtd.
2821 * Generated 2010/04/15 01:19:41.
2823 * This program was generated with the FleXML XML processor generator.
2824 * FleXML is Copyright (C) 1999-2005 Kristoffer Rose. All rights reserved.
2825 * FleXML is Copyright (C) 2003-2006 Martin Quinson. All rights reserved.
2826 * (Id: flexml.pl,v 1.62 2007/10/11 10:00:14 mquinson Exp).
2828 * There are two, intertwined parts to this program, part A and part B.
2833 * Some parts, here collectively called "Part A", are found in the
2834 * FleXML package. They are Copyright (C) 1999-2005 Kristoffer Rose
2835 * and Copyright (C) 2003-2006 Martin Quinson. All rights reserved.
2837 * You can redistribute, use, perform, display and/or modify "Part A"
2838 * provided the following two conditions hold:
2840 * 1. The program is distributed WITHOUT ANY WARRANTY from the author of
2841 * FleXML; without even the implied warranty of MERCHANTABILITY or
2842 * FITNESS FOR A PARTICULAR PURPOSE.
2844 * 2. The program distribution conditions do not in any way affect the
2845 * distribution conditions of the FleXML system used to generate this
2846 * file or any version of FleXML derived from that system.
2848 * Notice that these are explicit rights granted to you for files
2849 * generated by the FleXML system. For your rights in connection with
2850 * the FleXML system itself please consult the GNU General Public License.
2855 * The other parts, here collectively called "Part B", and which came
2856 * from the DTD used by FleXML to generate this program, can be
2857 * distributed (or not, as the case may be) under the terms of whoever
2858 * wrote them, provided these terms respect and obey the two conditions
2859 * above under the heading "Part A".
2861 * The author of and contributors to FleXML specifically disclaim
2862 * any copyright interest in "Part B", unless "Part B" was written
2863 * by the author of or contributors to FleXML.
2867 /* Version strings. */
2868 const char rcs_surfxml_flexml_skeleton[] =
2869 "$" "Id: skel,v 1.40 2007/10/11 09:57:24 mquinson Exp $";
2870 const char rcs_surfxml_flexml[] =
2871 "$" "Id: flexml.pl,v 1.62 2007/10/11 10:00:14 mquinson Exp $";
2874 #include <stdlib.h> /* for realloc() -- needed here when using flex 2.5.4 */
2881 #if defined(_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__TOS_WIN__)
2882 # ifndef __STRICT_ANSI__
2884 # include <process.h>
2887 # include <unistd.h>
2890 #ifndef FLEXML_INDEXSTACKSIZE
2891 #define FLEXML_INDEXSTACKSIZE 1000
2894 /* Generated definitions. */
2895 #define FLEXML_yylineno
2896 #ifndef FLEXML_BUFFERSTACKSIZE
2897 #define FLEXML_BUFFERSTACKSIZE 1000000
2899 #define FLEXML_NEED_BUFFERLIT
2901 /* XML processor api. */
2902 /* FleXML-provided data. */
2903 int surfxml_pcdata_ix;
2904 extern char *surfxml_bufferstack;
2905 #define surfxml_pcdata (surfxml_bufferstack + surfxml_pcdata_ix)
2906 AT_surfxml_random_generator AX_surfxml_random_generator;
2907 #define A_surfxml_random_generator AX_surfxml_random_generator
2908 AT_surfxml_prop_id AX_surfxml_prop_id;
2909 #define A_surfxml_prop_id (surfxml_bufferstack + AX_surfxml_prop_id)
2910 AT_surfxml_host_interference_recv AX_surfxml_host_interference_recv;
2911 #define A_surfxml_host_interference_recv (surfxml_bufferstack + AX_surfxml_host_interference_recv)
2912 AT_surfxml_host_id AX_surfxml_host_id;
2913 #define A_surfxml_host_id (surfxml_bufferstack + AX_surfxml_host_id)
2914 AT_surfxml_set_id AX_surfxml_set_id;
2915 #define A_surfxml_set_id (surfxml_bufferstack + AX_surfxml_set_id)
2916 AT_surfxml_link_latency_file AX_surfxml_link_latency_file;
2917 #define A_surfxml_link_latency_file (surfxml_bufferstack + AX_surfxml_link_latency_file)
2918 AT_surfxml_host_state AX_surfxml_host_state;
2919 #define A_surfxml_host_state AX_surfxml_host_state
2920 AT_surfxml_host_interference_send_recv AX_surfxml_host_interference_send_recv;
2921 #define A_surfxml_host_interference_send_recv (surfxml_bufferstack + AX_surfxml_host_interference_send_recv)
2922 AT_surfxml_host_interference_send AX_surfxml_host_interference_send;
2923 #define A_surfxml_host_interference_send (surfxml_bufferstack + AX_surfxml_host_interference_send)
2924 AT_surfxml_set_suffix AX_surfxml_set_suffix;
2925 #define A_surfxml_set_suffix (surfxml_bufferstack + AX_surfxml_set_suffix)
2926 AT_surfxml_route_impact_on_dst AX_surfxml_route_impact_on_dst;
2927 #define A_surfxml_route_impact_on_dst (surfxml_bufferstack + AX_surfxml_route_impact_on_dst)
2928 AT_surfxml_host_power AX_surfxml_host_power;
2929 #define A_surfxml_host_power (surfxml_bufferstack + AX_surfxml_host_power)
2930 AT_surfxml_router_id AX_surfxml_router_id;
2931 #define A_surfxml_router_id (surfxml_bufferstack + AX_surfxml_router_id)
2932 AT_surfxml_process_start_time AX_surfxml_process_start_time;
2933 #define A_surfxml_process_start_time (surfxml_bufferstack + AX_surfxml_process_start_time)
2934 AT_surfxml_cluster_suffix AX_surfxml_cluster_suffix;
2935 #define A_surfxml_cluster_suffix (surfxml_bufferstack + AX_surfxml_cluster_suffix)
2936 AT_surfxml_platform_xmlns_c_route AX_surfxml_platform_xmlns_c_route;
2937 #define A_surfxml_platform_xmlns_c_route (surfxml_bufferstack + AX_surfxml_platform_xmlns_c_route)
2938 AT_surfxml_cluster_prefix AX_surfxml_cluster_prefix;
2939 #define A_surfxml_cluster_prefix (surfxml_bufferstack + AX_surfxml_cluster_prefix)
2940 AT_surfxml_trace_file AX_surfxml_trace_file;
2941 #define A_surfxml_trace_file (surfxml_bufferstack + AX_surfxml_trace_file)
2942 AT_surfxml_route_action AX_surfxml_route_action;
2943 #define A_surfxml_route_action AX_surfxml_route_action
2944 AT_surfxml_link_sharing_policy AX_surfxml_link_sharing_policy;
2945 #define A_surfxml_link_sharing_policy AX_surfxml_link_sharing_policy
2946 AT_surfxml_random_min AX_surfxml_random_min;
2947 #define A_surfxml_random_min (surfxml_bufferstack + AX_surfxml_random_min)
2948 AT_surfxml_process_kill_time AX_surfxml_process_kill_time;
2949 #define A_surfxml_process_kill_time (surfxml_bufferstack + AX_surfxml_process_kill_time)
2950 AT_surfxml_cluster_bb_bw AX_surfxml_cluster_bb_bw;
2951 #define A_surfxml_cluster_bb_bw (surfxml_bufferstack + AX_surfxml_cluster_bb_bw)
2952 AT_surfxml_trace_c_connect_element AX_surfxml_trace_c_connect_element;
2953 #define A_surfxml_trace_c_connect_element (surfxml_bufferstack + AX_surfxml_trace_c_connect_element)
2954 AT_surfxml_argument_value AX_surfxml_argument_value;
2955 #define A_surfxml_argument_value (surfxml_bufferstack + AX_surfxml_argument_value)
2956 AT_surfxml_link_state AX_surfxml_link_state;
2957 #define A_surfxml_link_state AX_surfxml_link_state
2958 AT_surfxml_route_impact_on_src AX_surfxml_route_impact_on_src;
2959 #define A_surfxml_route_impact_on_src (surfxml_bufferstack + AX_surfxml_route_impact_on_src)
2960 AT_surfxml_link_bandwidth AX_surfxml_link_bandwidth;
2961 #define A_surfxml_link_bandwidth (surfxml_bufferstack + AX_surfxml_link_bandwidth)
2962 AT_surfxml_cluster_id AX_surfxml_cluster_id;
2963 #define A_surfxml_cluster_id (surfxml_bufferstack + AX_surfxml_cluster_id)
2964 AT_surfxml_random_mean AX_surfxml_random_mean;
2965 #define A_surfxml_random_mean (surfxml_bufferstack + AX_surfxml_random_mean)
2966 AT_surfxml_cluster_bb_lat AX_surfxml_cluster_bb_lat;
2967 #define A_surfxml_cluster_bb_lat (surfxml_bufferstack + AX_surfxml_cluster_bb_lat)
2968 AT_surfxml_link_latency AX_surfxml_link_latency;
2969 #define A_surfxml_link_latency (surfxml_bufferstack + AX_surfxml_link_latency)
2970 AT_surfxml_platform_xmlns_c_link AX_surfxml_platform_xmlns_c_link;
2971 #define A_surfxml_platform_xmlns_c_link (surfxml_bufferstack + AX_surfxml_platform_xmlns_c_link)
2972 AT_surfxml_link_bandwidth_file AX_surfxml_link_bandwidth_file;
2973 #define A_surfxml_link_bandwidth_file (surfxml_bufferstack + AX_surfxml_link_bandwidth_file)
2974 AT_surfxml_host_vivaldi AX_surfxml_host_vivaldi;
2975 #define A_surfxml_host_vivaldi (surfxml_bufferstack + AX_surfxml_host_vivaldi)
2976 AT_surfxml_random_id AX_surfxml_random_id;
2977 #define A_surfxml_random_id (surfxml_bufferstack + AX_surfxml_random_id)
2978 AT_surfxml_set_radical AX_surfxml_set_radical;
2979 #define A_surfxml_set_radical (surfxml_bufferstack + AX_surfxml_set_radical)
2980 AT_surfxml_random_max AX_surfxml_random_max;
2981 #define A_surfxml_random_max (surfxml_bufferstack + AX_surfxml_random_max)
2982 AT_surfxml_link_id AX_surfxml_link_id;
2983 #define A_surfxml_link_id (surfxml_bufferstack + AX_surfxml_link_id)
2984 AT_surfxml_process_host AX_surfxml_process_host;
2985 #define A_surfxml_process_host (surfxml_bufferstack + AX_surfxml_process_host)
2986 AT_surfxml_host_availability_file AX_surfxml_host_availability_file;
2987 #define A_surfxml_host_availability_file (surfxml_bufferstack + AX_surfxml_host_availability_file)
2988 AT_surfxml_cluster_lat AX_surfxml_cluster_lat;
2989 #define A_surfxml_cluster_lat (surfxml_bufferstack + AX_surfxml_cluster_lat)
2990 AT_surfxml_trace_periodicity AX_surfxml_trace_periodicity;
2991 #define A_surfxml_trace_periodicity (surfxml_bufferstack + AX_surfxml_trace_periodicity)
2992 AT_surfxml_foreach_set_id AX_surfxml_foreach_set_id;
2993 #define A_surfxml_foreach_set_id (surfxml_bufferstack + AX_surfxml_foreach_set_id)
2994 AT_surfxml_route_impact_on_dst_with_other_send AX_surfxml_route_impact_on_dst_with_other_send;
2995 #define A_surfxml_route_impact_on_dst_with_other_send (surfxml_bufferstack + AX_surfxml_route_impact_on_dst_with_other_send)
2996 AT_surfxml_prop_value AX_surfxml_prop_value;
2997 #define A_surfxml_prop_value (surfxml_bufferstack + AX_surfxml_prop_value)
2998 AT_surfxml_route_impact_on_src_with_other_recv AX_surfxml_route_impact_on_src_with_other_recv;
2999 #define A_surfxml_route_impact_on_src_with_other_recv (surfxml_bufferstack + AX_surfxml_route_impact_on_src_with_other_recv)
3000 AT_surfxml_link_state_file AX_surfxml_link_state_file;
3001 #define A_surfxml_link_state_file (surfxml_bufferstack + AX_surfxml_link_state_file)
3002 AT_surfxml_set_prefix AX_surfxml_set_prefix;
3003 #define A_surfxml_set_prefix (surfxml_bufferstack + AX_surfxml_set_prefix)
3004 AT_surfxml_cluster_power AX_surfxml_cluster_power;
3005 #define A_surfxml_cluster_power (surfxml_bufferstack + AX_surfxml_cluster_power)
3006 AT_surfxml_process_function AX_surfxml_process_function;
3007 #define A_surfxml_process_function (surfxml_bufferstack + AX_surfxml_process_function)
3008 AT_surfxml_host_max_outgoing_rate AX_surfxml_host_max_outgoing_rate;
3009 #define A_surfxml_host_max_outgoing_rate (surfxml_bufferstack + AX_surfxml_host_max_outgoing_rate)
3010 AT_surfxml_link_c_ctn_id AX_surfxml_link_c_ctn_id;
3011 #define A_surfxml_link_c_ctn_id (surfxml_bufferstack + AX_surfxml_link_c_ctn_id)
3012 AT_surfxml_host_availability AX_surfxml_host_availability;
3013 #define A_surfxml_host_availability (surfxml_bufferstack + AX_surfxml_host_availability)
3014 AT_surfxml_route_src AX_surfxml_route_src;
3015 #define A_surfxml_route_src (surfxml_bufferstack + AX_surfxml_route_src)
3016 AT_surfxml_route_c_multi_src AX_surfxml_route_c_multi_src;
3017 #define A_surfxml_route_c_multi_src (surfxml_bufferstack + AX_surfxml_route_c_multi_src)
3018 AT_surfxml_route_c_multi_action AX_surfxml_route_c_multi_action;
3019 #define A_surfxml_route_c_multi_action AX_surfxml_route_c_multi_action
3020 AT_surfxml_trace_c_connect_trace AX_surfxml_trace_c_connect_trace;
3021 #define A_surfxml_trace_c_connect_trace (surfxml_bufferstack + AX_surfxml_trace_c_connect_trace)
3022 AT_surfxml_trace_id AX_surfxml_trace_id;
3023 #define A_surfxml_trace_id (surfxml_bufferstack + AX_surfxml_trace_id)
3024 AT_surfxml_cluster_radical AX_surfxml_cluster_radical;
3025 #define A_surfxml_cluster_radical (surfxml_bufferstack + AX_surfxml_cluster_radical)
3026 AT_surfxml_include_file AX_surfxml_include_file;
3027 #define A_surfxml_include_file (surfxml_bufferstack + AX_surfxml_include_file)
3028 AT_surfxml_random_std_deviation AX_surfxml_random_std_deviation;
3029 #define A_surfxml_random_std_deviation (surfxml_bufferstack + AX_surfxml_random_std_deviation)
3030 AT_surfxml_trace_c_connect_kind AX_surfxml_trace_c_connect_kind;
3031 #define A_surfxml_trace_c_connect_kind AX_surfxml_trace_c_connect_kind
3032 AT_surfxml_route_c_multi_dst AX_surfxml_route_c_multi_dst;
3033 #define A_surfxml_route_c_multi_dst (surfxml_bufferstack + AX_surfxml_route_c_multi_dst)
3034 AT_surfxml_host_state_file AX_surfxml_host_state_file;
3035 #define A_surfxml_host_state_file (surfxml_bufferstack + AX_surfxml_host_state_file)
3036 AT_surfxml_route_c_multi_symmetric AX_surfxml_route_c_multi_symmetric;
3037 #define A_surfxml_route_c_multi_symmetric AX_surfxml_route_c_multi_symmetric
3038 AT_surfxml_route_dst AX_surfxml_route_dst;
3039 #define A_surfxml_route_dst (surfxml_bufferstack + AX_surfxml_route_dst)
3040 AT_surfxml_cluster_bw AX_surfxml_cluster_bw;
3041 #define A_surfxml_cluster_bw (surfxml_bufferstack + AX_surfxml_cluster_bw)
3042 AT_surfxml_platform_version AX_surfxml_platform_version;
3043 #define A_surfxml_platform_version (surfxml_bufferstack + AX_surfxml_platform_version)
3047 # define ENTER(state) debug_enter(state,#state)
3048 # define LEAVE debug_leave()
3049 # define SET(state) debug_set(state,#state)
3050 static void debug_enter(int, const char*);
3051 static void debug_leave(void);
3052 static void debug_set(int, const char*);
3054 # define ENTER(state) (yy_push_state(state))
3055 # define LEAVE (yy_pop_state())
3056 # define SET(state) BEGIN(state)
3059 /* Generic actions. */
3060 #define SKIP /*skip*/
3061 #define SUCCEED CLEANUP; return 0
3063 #define FAIL return fail
3064 static int fail(const char*, ...);
3066 enum {flexml_max_err_msg_size = 512};
3067 static char flexml_err_msg[flexml_max_err_msg_size];
3068 const char * surfxml_parse_err_msg()
3070 return flexml_err_msg;
3072 static void reset_surfxml_parse_err_msg()
3074 flexml_err_msg[0] = '\0';
3078 static void cleanup(void);
3079 #define CLEANUP cleanup()
3081 /* Text buffer stack handling. */
3082 char *surfxml_bufferstack = NULL;
3083 static int blimit = FLEXML_BUFFERSTACKSIZE;
3084 static int bnext = 1;
3086 static int *indexstack = NULL;
3087 static int ilimit = FLEXML_INDEXSTACKSIZE;
3088 static int inext = 1;
3090 #define BUFFERSET(P) (P = bnext)
3091 #define BUFFERPUTC(C) (ck_blimit(), surfxml_bufferstack[bnext++] = (C))
3092 #define BUFFERDONE (BUFFERPUTC('\0'))
3094 #define BUFFERLITERAL(C, P) surfxml_bufferliteral(C, &(P), surf_parse_text)
3096 /* after this is called, there are at least 2 slots left in the stack */
3097 static int ck_blimit()
3099 if (bnext >= blimit) {
3100 blimit += FLEXML_BUFFERSTACKSIZE + 2;
3102 char *temp = (char *) realloc(surfxml_bufferstack, blimit);
3104 surfxml_bufferstack = temp;
3110 /* after this is called, there are at least 2 slots left in the stack */
3111 static int ck_ilimit()
3113 if (inext >= ilimit) {
3114 ilimit += FLEXML_INDEXSTACKSIZE + 2;
3116 int *temp = (int *) realloc(indexstack, ilimit);
3124 #ifdef FLEXML_NEED_BUFFERLIT
3125 static void surfxml_bufferliteral(char c, int* pp, const char* text)
3127 const char *s = (c ? strchr(text,c) : text-1), *e = strrchr(text,c);
3128 assert(s <= e); BUFFERSET(*pp);
3130 if (isspace(*s) && c) { BUFFERPUTC(' '); while (isspace(*s)) ++s; }
3131 else BUFFERPUTC(*s);
3137 static void pushbuffer(int p)
3140 indexstack[inext++] = p;
3141 indexstack[inext++] = bnext;
3144 static int popbuffer(void)
3147 bnext = indexstack[--inext];
3148 return indexstack[--inext];
3151 /* General internal entities are `unput' back onto the input stream... */
3152 #define ENTITYTEXT(T) \
3153 { char *s = (T), *e = s+strlen(s);\
3154 while (--e >= s) { unput(*e); }}
3156 /* Flex standard options. */
3157 #define YY_NO_INPUT 1
3158 /* Flex user-requested options. */
3159 /* XML character classes (currently restricted to ASCII). */
3160 /* "Common syntactic structures." */
3161 /* "Names and Tokens." */
3162 /* Miscellaneous. */
3163 /* Parser states (flex `exclusive start conditions'):
3165 * PROLOG the XML prolog of the document before <?xml...>
3166 * DOCTYPE the XML prolog of the document after <?xml...>
3167 * EPILOG after the root element
3168 * INCOMMENT inside an XML comment <!--....-->
3169 * INPI inside an XML PI <?...?>
3170 * VALUE1 inside a '...'-delimited literal
3171 * VALUE2 inside a "..."-delimited literal
3172 * CDATA inside a <![CDATA[...] ]> section.
3173 * ROOT_<tag> expect root element <tag>
3174 * AL_<tag> inside the attribute list for <tag>
3175 * IN_<tag> inside a <tag> with element contents (ready for end tag)
3176 * IMPOSSIBLE dummy to permit disabling rules; must be last
3180 const char* *surfxml_statenames=NULL;
3191 #define ROOT_surfxml_platform 9
3192 #define AL_surfxml_platform 10
3193 #define S_surfxml_platform 11
3194 #define S_surfxml_platform_1 12
3195 #define S_surfxml_platform_2 13
3196 #define S_surfxml_platform_3 14
3197 #define S_surfxml_platform_4 15
3198 #define S_surfxml_platform_5 16
3199 #define E_surfxml_platform 17
3200 #define AL_surfxml_include 18
3201 #define E_surfxml_include 19
3202 #define AL_surfxml_trace 20
3204 #define AL_surfxml_random 22
3205 #define S_surfxml_random 23
3206 #define S_surfxml_random_1 24
3207 #define S_surfxml_random_2 25
3208 #define E_surfxml_random 26
3209 #define AL_surfxml_trace_c_connect 27
3210 #define E_surfxml_trace_c_connect 28
3211 #define AL_surfxml_set 29
3212 #define E_surfxml_set 30
3213 #define AL_surfxml_foreach 31
3214 #define S_surfxml_foreach 32
3215 #define S_surfxml_foreach_1 33
3216 #define E_surfxml_foreach 34
3217 #define AL_surfxml_host 35
3218 #define S_surfxml_host 36
3219 #define S_surfxml_host_1 37
3220 #define S_surfxml_host_2 38
3221 #define E_surfxml_host 39
3222 #define AL_surfxml_prop 40
3223 #define E_surfxml_prop 41
3224 #define AL_surfxml_cluster 42
3225 #define E_surfxml_cluster 43
3226 #define AL_surfxml_router 44
3227 #define E_surfxml_router 45
3228 #define AL_surfxml_link 46
3229 #define S_surfxml_link 47
3230 #define S_surfxml_link_1 48
3231 #define S_surfxml_link_2 49
3232 #define E_surfxml_link 50
3233 #define AL_surfxml_route_c_multi 51
3234 #define S_surfxml_route_c_multi 52
3235 #define S_surfxml_route_c_multi_1 53
3236 #define S_surfxml_route_c_multi_2 54
3237 #define E_surfxml_route_c_multi 55
3238 #define AL_surfxml_route 56
3239 #define S_surfxml_route 57
3240 #define S_surfxml_route_1 58
3241 #define S_surfxml_route_2 59
3242 #define E_surfxml_route 60
3243 #define AL_surfxml_link_c_ctn 61
3244 #define E_surfxml_link_c_ctn 62
3245 #define AL_surfxml_process 63
3246 #define S_surfxml_process 64
3247 #define S_surfxml_process_1 65
3248 #define S_surfxml_process_2 66
3249 #define E_surfxml_process 67
3250 #define AL_surfxml_argument 68
3251 #define E_surfxml_argument 69
3252 #define IMPOSSIBLE 70
3254 #ifndef YY_NO_UNISTD_H
3255 /* Special case for "unistd.h", since it is non-ANSI. We include it way
3256 * down here because we want the user's section 1 to have been scanned first.
3257 * The user has a chance to override it with an option.
3259 #if defined(_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__TOS_WIN__)
3260 # ifndef __STRICT_ANSI__
3262 # include <process.h>
3265 # include <unistd.h>
3269 #ifndef YY_EXTRA_TYPE
3270 #define YY_EXTRA_TYPE void *
3273 static int yy_init_globals (void );
3275 /* Accessor methods to globals.
3276 These are made visible to non-reentrant scanners for convenience. */
3278 int surf_parse_lex_destroy (void );
3280 int surf_parse_get_debug (void );
3282 void surf_parse_set_debug (int debug_flag );
3284 YY_EXTRA_TYPE surf_parse_get_extra (void );
3286 void surf_parse_set_extra (YY_EXTRA_TYPE user_defined );
3288 FILE *surf_parse_get_in (void );
3290 void surf_parse_set_in (FILE * in_str );
3292 FILE *surf_parse_get_out (void );
3294 void surf_parse_set_out (FILE * out_str );
3296 int surf_parse_get_leng (void );
3298 char *surf_parse_get_text (void );
3300 int surf_parse_get_lineno (void );
3302 void surf_parse_set_lineno (int line_number );
3304 /* Macros after this point can all be overridden by user definitions in
3308 #ifndef YY_SKIP_YYWRAP
3310 extern "C" int surf_parse_wrap (void );
3312 extern int surf_parse_wrap (void );
3317 static void yy_flex_strncpy (char *,yyconst char *,int );
3320 #ifdef YY_NEED_STRLEN
3321 static int yy_flex_strlen (yyconst char * );
3327 static int yyinput (void );
3329 static int input (void );
3334 static int yy_start_stack_ptr = 0;
3335 static int yy_start_stack_depth = 0;
3336 static int *yy_start_stack = NULL;
3338 static void yy_push_state (int new_state );
3340 static void yy_pop_state (void );
3342 /* Amount of stuff to slurp up with each read. */
3343 #ifndef YY_READ_BUF_SIZE
3345 /* On IA-64, the buffer size is 16k, not 8k */
3346 #define YY_READ_BUF_SIZE 16384
3348 #define YY_READ_BUF_SIZE 8192
3349 #endif /* __ia64__ */
3352 /* Copy whatever the last rule matched to the standard output. */
3354 /* This used to be an fputs(), but since the string might contain NUL's,
3355 * we now use fwrite().
3357 #define ECHO do { if (fwrite( surf_parse_text, surf_parse_leng, 1, surf_parse_out )) {} } while (0)
3360 /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
3361 * is returned in "result".
3364 #define YY_INPUT(buf,result,max_size) \
3365 if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
3369 for ( n = 0; n < max_size && \
3370 (c = getc( surf_parse_in )) != EOF && c != '\n'; ++n ) \
3371 buf[n] = (char) c; \
3373 buf[n++] = (char) c; \
3374 if ( c == EOF && ferror( surf_parse_in ) ) \
3375 YY_FATAL_ERROR( "input in flex scanner failed" ); \
3381 while ( (result = fread(buf, 1, max_size, surf_parse_in))==0 && ferror(surf_parse_in)) \
3383 if( errno != EINTR) \
3385 YY_FATAL_ERROR( "input in flex scanner failed" ); \
3389 clearerr(surf_parse_in); \
3396 /* No semi-colon after return; correct usage is to write "yyterminate();" -
3397 * we don't want an extra ';' after the "return" because that will cause
3398 * some compilers to complain about unreachable statements.
3401 #define yyterminate() return YY_NULL
3404 /* Number of entries by which start-condition stack grows. */
3405 #ifndef YY_START_STACK_INCR
3406 #define YY_START_STACK_INCR 25
3409 /* Report a fatal error. */
3410 #ifndef YY_FATAL_ERROR
3411 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
3414 /* end tables serialization structures and prototypes */
3416 /* Default declaration of generated scanner - a define so the user can
3417 * easily add parameters.
3420 #define YY_DECL_IS_OURS 1
3422 extern int surf_parse_lex (void);
3424 #define YY_DECL int surf_parse_lex (void)
3425 #endif /* !YY_DECL */
3427 /* Code executed at the beginning of each rule, after surf_parse_text and surf_parse_leng
3430 #ifndef YY_USER_ACTION
3431 #define YY_USER_ACTION
3434 /* Code executed at the end of each rule. */
3436 #define YY_BREAK break;
3439 #define YY_RULE_SETUP \
3442 /** The main scanner function which does all the work.
3446 register yy_state_type yy_current_state;
3447 register char *yy_cp, *yy_bp;
3448 register int yy_act;
3450 /* Bypass Flex's default INITIAL state and begin by parsing the XML prolog. */
3452 reset_surfxml_parse_err_msg();
3453 surfxml_bufferstack = (char *) malloc(FLEXML_BUFFERSTACKSIZE);
3454 assert(surfxml_bufferstack);
3458 for (i = 0; i < blimit; i++) {
3459 surfxml_bufferstack[i] = '\377';
3463 surfxml_bufferstack[0] = '\0';
3464 indexstack = (int *) malloc(FLEXML_INDEXSTACKSIZE * sizeof(int));
3470 surfxml_bufferliteral('\0', &bnext, "0.0");
3471 surfxml_bufferliteral('\0', &bnext, "http://simgrid.gforge.inria.fr/");
3472 surfxml_bufferliteral('\0', &bnext, "http://simgrid.gforge.inria.fr/");
3473 surfxml_bufferliteral('\0', &bnext, "1.0");
3474 surfxml_bufferliteral('\0', &bnext, "1.0");
3475 surfxml_bufferliteral('\0', &bnext, "1.0");
3476 surfxml_bufferliteral('\0', &bnext, "1.0");
3477 surfxml_bufferliteral('\0', &bnext, "-1.0");
3478 surfxml_bufferliteral('\0', &bnext, "0 0 0");
3479 surfxml_bufferliteral('\0', &bnext, "0.0");
3480 surfxml_bufferliteral('\0', &bnext, "0.0");
3481 surfxml_bufferliteral('\0', &bnext, "0.0");
3482 surfxml_bufferliteral('\0', &bnext, "0.0");
3483 surfxml_bufferliteral('\0', &bnext, "0.0");
3484 surfxml_bufferliteral('\0', &bnext, "-1.0");
3485 surfxml_bufferliteral('\0', &bnext, "-1.0");
3486 if(!surfxml_statenames) {surfxml_statenames= (const char **)calloc(IMPOSSIBLE,sizeof(char*));
3487 surfxml_statenames[PROLOG] = NULL;
3488 surfxml_statenames[DOCTYPE] = NULL;
3489 surfxml_statenames[EPILOG] = NULL;
3490 surfxml_statenames[INCOMMENT] = NULL;
3491 surfxml_statenames[INPI] = NULL;
3492 surfxml_statenames[VALUE1] = NULL;
3493 surfxml_statenames[VALUE2] = NULL;
3494 surfxml_statenames[CDATA] = NULL;
3495 surfxml_statenames[ROOT_surfxml_platform] = NULL;
3496 surfxml_statenames[AL_surfxml_platform] = NULL;
3497 surfxml_statenames[S_surfxml_platform] = "platform";
3498 surfxml_statenames[S_surfxml_platform_1] = "platform";
3499 surfxml_statenames[S_surfxml_platform_2] = "platform";
3500 surfxml_statenames[S_surfxml_platform_3] = "platform";
3501 surfxml_statenames[S_surfxml_platform_4] = "platform";
3502 surfxml_statenames[S_surfxml_platform_5] = "platform";
3503 surfxml_statenames[E_surfxml_platform] = "platform";
3504 surfxml_statenames[AL_surfxml_include] = NULL;
3505 surfxml_statenames[E_surfxml_include] = "include";
3506 surfxml_statenames[AL_surfxml_trace] = NULL;
3507 surfxml_statenames[IN_trace] = "trace";
3508 surfxml_statenames[AL_surfxml_random] = NULL;
3509 surfxml_statenames[S_surfxml_random] = "random";
3510 surfxml_statenames[S_surfxml_random_1] = "random";
3511 surfxml_statenames[S_surfxml_random_2] = "random";
3512 surfxml_statenames[E_surfxml_random] = "random";
3513 surfxml_statenames[AL_surfxml_trace_c_connect] = NULL;
3514 surfxml_statenames[E_surfxml_trace_c_connect] = "trace:connect";
3515 surfxml_statenames[AL_surfxml_set] = NULL;
3516 surfxml_statenames[E_surfxml_set] = "set";
3517 surfxml_statenames[AL_surfxml_foreach] = NULL;
3518 surfxml_statenames[S_surfxml_foreach] = "foreach";
3519 surfxml_statenames[S_surfxml_foreach_1] = "foreach";
3520 surfxml_statenames[E_surfxml_foreach] = "foreach";
3521 surfxml_statenames[AL_surfxml_host] = NULL;
3522 surfxml_statenames[S_surfxml_host] = "host";
3523 surfxml_statenames[S_surfxml_host_1] = "host";
3524 surfxml_statenames[S_surfxml_host_2] = "host";
3525 surfxml_statenames[E_surfxml_host] = "host";
3526 surfxml_statenames[AL_surfxml_prop] = NULL;
3527 surfxml_statenames[E_surfxml_prop] = "prop";
3528 surfxml_statenames[AL_surfxml_cluster] = NULL;
3529 surfxml_statenames[E_surfxml_cluster] = "cluster";
3530 surfxml_statenames[AL_surfxml_router] = NULL;
3531 surfxml_statenames[E_surfxml_router] = "router";
3532 surfxml_statenames[AL_surfxml_link] = NULL;
3533 surfxml_statenames[S_surfxml_link] = "link";
3534 surfxml_statenames[S_surfxml_link_1] = "link";
3535 surfxml_statenames[S_surfxml_link_2] = "link";
3536 surfxml_statenames[E_surfxml_link] = "link";
3537 surfxml_statenames[AL_surfxml_route_c_multi] = NULL;
3538 surfxml_statenames[S_surfxml_route_c_multi] = "route:multi";
3539 surfxml_statenames[S_surfxml_route_c_multi_1] = "route:multi";
3540 surfxml_statenames[S_surfxml_route_c_multi_2] = "route:multi";
3541 surfxml_statenames[E_surfxml_route_c_multi] = "route:multi";
3542 surfxml_statenames[AL_surfxml_route] = NULL;
3543 surfxml_statenames[S_surfxml_route] = "route";
3544 surfxml_statenames[S_surfxml_route_1] = "route";
3545 surfxml_statenames[S_surfxml_route_2] = "route";
3546 surfxml_statenames[E_surfxml_route] = "route";
3547 surfxml_statenames[AL_surfxml_link_c_ctn] = NULL;
3548 surfxml_statenames[E_surfxml_link_c_ctn] = "link:ctn";
3549 surfxml_statenames[AL_surfxml_process] = NULL;
3550 surfxml_statenames[S_surfxml_process] = "process";
3551 surfxml_statenames[S_surfxml_process_1] = "process";
3552 surfxml_statenames[S_surfxml_process_2] = "process";
3553 surfxml_statenames[E_surfxml_process] = "process";
3554 surfxml_statenames[AL_surfxml_argument] = NULL;
3555 surfxml_statenames[E_surfxml_argument] = "argument";
3558 /* COMMENTS and PIs: handled uniformly for efficiency. */
3569 (yy_start) = 1; /* first start state */
3571 if ( ! surf_parse_in )
3572 surf_parse_in = stdin;
3574 if ( ! surf_parse_out )
3575 surf_parse_out = stdout;
3577 if ( ! YY_CURRENT_BUFFER ) {
3578 surf_parse_ensure_buffer_stack ();
3579 YY_CURRENT_BUFFER_LVALUE =
3580 surf_parse__create_buffer(surf_parse_in,YY_BUF_SIZE );
3583 surf_parse__load_buffer_state( );
3586 while ( 1 ) /* loops until end-of-file is reached */
3588 yy_cp = (yy_c_buf_p);
3590 /* Support of surf_parse_text. */
3591 *yy_cp = (yy_hold_char);
3593 /* yy_bp points to the position in yy_ch_buf of the start of
3598 yy_current_state = (yy_start);
3602 register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
3603 if ( yy_accept[yy_current_state] )
3605 (yy_last_accepting_state) = yy_current_state;
3606 (yy_last_accepting_cpos) = yy_cp;
3608 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3610 yy_current_state = (int) yy_def[yy_current_state];
3611 if ( yy_current_state >= 2035 )
3612 yy_c = yy_meta[(unsigned int) yy_c];
3614 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
3617 while ( yy_base[yy_current_state] != 7131 );
3620 yy_act = yy_accept[yy_current_state];
3622 { /* have to back up */
3623 yy_cp = (yy_last_accepting_cpos);
3624 yy_current_state = (yy_last_accepting_state);
3625 yy_act = yy_accept[yy_current_state];
3628 YY_DO_BEFORE_ACTION;
3630 if ( yy_act != YY_END_OF_BUFFER && yy_rule_can_match_eol[yy_act] )
3633 for ( yyl = 0; yyl < surf_parse_leng; ++yyl )
3634 if ( surf_parse_text[yyl] == '\n' )
3636 surf_parse_lineno++;
3640 do_action: /* This label is used only to access EOF actions. */
3643 { /* beginning of action switch */
3644 case 0: /* must back up */
3645 /* undo the effects of YY_DO_BEFORE_ACTION */
3646 *yy_cp = (yy_hold_char);
3647 yy_cp = (yy_last_accepting_cpos);
3648 yy_current_state = (yy_last_accepting_state);
3649 goto yy_find_action;
3667 /* rule 6 can match eol */
3671 case YY_STATE_EOF(INCOMMENT):
3672 FAIL("EOF in comment.");
3681 /* rule 9 can match eol */
3685 case YY_STATE_EOF(INPI):
3686 FAIL("EOF in PI (processing instruction).");
3689 /* SPACES: skipped uniformly */
3691 /* rule 10 can match eol */
3695 /* PROLOG: determine root element and process it. */
3698 /* rule 11 can match eol */
3703 /* rule 12 can match eol */
3705 FAIL("Bad declaration %s.",surf_parse_text);
3709 /* rule 13 can match eol */
3711 SET(ROOT_surfxml_platform);
3714 /* rule 14 can match eol */
3716 FAIL("Bad declaration %s.",surf_parse_text);
3720 FAIL("Unexpected character `%c' in prolog.", surf_parse_text[0]);
3722 case YY_STATE_EOF(PROLOG):
3723 case YY_STATE_EOF(DOCTYPE):
3724 FAIL("EOF in prolog.");
3727 /* RULES DERIVED FROM DTD. */
3728 /* <!-- Small DTD for SURF based tools. --> */
3730 /* rule 16 can match eol */
3732 FAIL("Starting tag <platform> is not allowed here.");
3735 /* rule 17 can match eol */
3738 AX_surfxml_platform_version = 1;
3739 AX_surfxml_platform_xmlns_c_link = 5;
3740 AX_surfxml_platform_xmlns_c_route = 37;
3741 ENTER(AL_surfxml_platform); pushbuffer(0);
3746 /* rule 18 can match eol */
3748 ENTER(VALUE1); BUFFERSET(AX_surfxml_platform_version);
3751 /* rule 19 can match eol */
3753 ENTER(VALUE2); BUFFERSET(AX_surfxml_platform_version);
3756 /* rule 20 can match eol */
3758 ENTER(VALUE1); BUFFERSET(AX_surfxml_platform_xmlns_c_link);
3761 /* rule 21 can match eol */
3763 ENTER(VALUE2); BUFFERSET(AX_surfxml_platform_xmlns_c_link);
3766 /* rule 22 can match eol */
3768 ENTER(VALUE1); BUFFERSET(AX_surfxml_platform_xmlns_c_route);
3771 /* rule 23 can match eol */
3773 ENTER(VALUE2); BUFFERSET(AX_surfxml_platform_xmlns_c_route);
3778 LEAVE; STag_surfxml_platform();surfxml_pcdata_ix = 0; ENTER(S_surfxml_platform);
3784 LEAVE; STag_surfxml_platform(); surfxml_pcdata_ix = 0; ETag_surfxml_platform(); popbuffer(); /* attribute */
3786 case ROOT_surfxml_platform: SET(EPILOG); break;
3792 FAIL("Unexpected character `%c' in attribute list of platform element.", surf_parse_text[0]);
3796 FAIL("Bad attribute `%s' in `platform' element start tag.",surf_parse_text);
3798 case YY_STATE_EOF(AL_surfxml_platform):
3799 FAIL("EOF in attribute list of `platform' element.");
3803 /* rule 28 can match eol */
3807 ETag_surfxml_platform();
3808 popbuffer(); /* attribute */
3810 case ROOT_surfxml_platform: SET(EPILOG); break;
3815 /* rule 29 can match eol */
3817 FAIL("Unexpected end-tag `%s': `</platform>' expected.",surf_parse_text);
3821 FAIL("Unexpected character `%c': `</platform>' expected.",surf_parse_text[0]);
3823 case YY_STATE_EOF(S_surfxml_platform_5):
3824 case YY_STATE_EOF(S_surfxml_platform_1):
3825 case YY_STATE_EOF(S_surfxml_platform_3):
3826 case YY_STATE_EOF(S_surfxml_platform):
3827 case YY_STATE_EOF(E_surfxml_platform):
3828 FAIL("Premature EOF: `</platform>' expected.");
3832 /* rule 31 can match eol */
3834 FAIL("Starting tag <include> is not allowed here.");
3837 /* rule 32 can match eol */
3840 AX_surfxml_include_file = 0;
3841 ENTER(AL_surfxml_include); pushbuffer(0);
3846 /* rule 33 can match eol */
3848 ENTER(VALUE1); BUFFERSET(AX_surfxml_include_file);
3851 /* rule 34 can match eol */
3853 ENTER(VALUE2); BUFFERSET(AX_surfxml_include_file);
3858 if (!AX_surfxml_include_file) FAIL("Required attribute `file' not set for `include' element.");
3859 LEAVE; STag_surfxml_include();surfxml_pcdata_ix = 0; ENTER(E_surfxml_include);
3865 if (!AX_surfxml_include_file) FAIL("Required attribute `file' not set for `include' element.");
3866 LEAVE; STag_surfxml_include(); surfxml_pcdata_ix = 0; ETag_surfxml_include(); popbuffer(); /* attribute */
3868 case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform_3: case S_surfxml_platform: case S_surfxml_platform_4: SET(S_surfxml_platform_5); break;
3869 case S_surfxml_platform_2: SET(S_surfxml_platform_3); break;
3875 FAIL("Unexpected character `%c' in attribute list of include element.", surf_parse_text[0]);
3879 FAIL("Bad attribute `%s' in `include' element start tag.",surf_parse_text);
3881 case YY_STATE_EOF(AL_surfxml_include):
3882 FAIL("EOF in attribute list of `include' element.");
3886 /* rule 39 can match eol */
3890 ETag_surfxml_include();
3891 popbuffer(); /* attribute */
3893 case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform_3: case S_surfxml_platform: case S_surfxml_platform_4: SET(S_surfxml_platform_5); break;
3894 case S_surfxml_platform_2: SET(S_surfxml_platform_3); break;
3899 /* rule 40 can match eol */
3901 FAIL("Unexpected end-tag `%s': `</include>' expected.",surf_parse_text);
3905 FAIL("Unexpected character `%c': `</include>' expected.",surf_parse_text[0]);
3907 case YY_STATE_EOF(E_surfxml_include):
3908 FAIL("Premature EOF: `</include>' expected.");
3912 /* rule 42 can match eol */
3914 FAIL("Starting tag <trace> is not allowed here.");
3917 /* rule 43 can match eol */
3920 AX_surfxml_trace_id = 0;
3921 AX_surfxml_trace_file = 0;
3922 AX_surfxml_trace_periodicity = 0;
3923 ENTER(AL_surfxml_trace); pushbuffer(0);
3928 /* rule 44 can match eol */
3930 ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_id);
3933 /* rule 45 can match eol */
3935 ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_id);
3938 /* rule 46 can match eol */
3940 ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_file);
3943 /* rule 47 can match eol */
3945 ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_file);
3948 /* rule 48 can match eol */
3950 ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_periodicity);
3953 /* rule 49 can match eol */
3955 ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_periodicity);
3960 if (!AX_surfxml_trace_id) FAIL("Required attribute `id' not set for `trace' element.");
3961 if (!AX_surfxml_trace_periodicity) FAIL("Required attribute `periodicity' not set for `trace' element.");
3962 LEAVE; STag_surfxml_trace();pushbuffer(surfxml_pcdata_ix); BUFFERSET(surfxml_pcdata_ix);; ENTER(IN_trace);
3968 if (!AX_surfxml_trace_id) FAIL("Required attribute `id' not set for `trace' element.");
3969 if (!AX_surfxml_trace_periodicity) FAIL("Required attribute `periodicity' not set for `trace' element.");
3970 LEAVE; STag_surfxml_trace(); surfxml_pcdata_ix = 0; ETag_surfxml_trace(); popbuffer(); /* attribute */
3972 case S_surfxml_platform_2: case S_surfxml_platform_3: case S_surfxml_platform: SET(S_surfxml_platform_3); break;
3978 FAIL("Unexpected character `%c' in attribute list of trace element.", surf_parse_text[0]);
3982 FAIL("Bad attribute `%s' in `trace' element start tag.",surf_parse_text);
3984 case YY_STATE_EOF(AL_surfxml_trace):
3985 FAIL("EOF in attribute list of `trace' element.");
3989 /* rule 54 can match eol */
3994 ETag_surfxml_trace();
3995 surfxml_pcdata_ix = popbuffer();
3996 popbuffer(); /* attribute */
3998 case S_surfxml_platform_2: case S_surfxml_platform_3: case S_surfxml_platform: SET(S_surfxml_platform_3); break;
4003 /* rule 55 can match eol */
4005 FAIL("Unexpected end-tag `%s': `</trace>' expected.",surf_parse_text);
4007 case YY_STATE_EOF(IN_trace):
4008 FAIL("Premature EOF: `</trace>' expected.");
4012 /* rule 56 can match eol */
4014 FAIL("Starting tag <random> is not allowed here.");
4017 /* rule 57 can match eol */
4020 AX_surfxml_random_id = 0;
4021 AX_surfxml_random_min = 0;
4022 AX_surfxml_random_max = 0;
4023 AX_surfxml_random_mean = 0;
4024 AX_surfxml_random_std_deviation = 0;
4025 AX_surfxml_random_generator = A_surfxml_random_generator_DRAND48;
4026 ENTER(AL_surfxml_random); pushbuffer(0);
4031 /* rule 58 can match eol */
4033 ENTER(VALUE1); BUFFERSET(AX_surfxml_random_id);
4036 /* rule 59 can match eol */
4038 ENTER(VALUE2); BUFFERSET(AX_surfxml_random_id);
4041 /* rule 60 can match eol */
4043 ENTER(VALUE1); BUFFERSET(AX_surfxml_random_min);
4046 /* rule 61 can match eol */
4048 ENTER(VALUE2); BUFFERSET(AX_surfxml_random_min);
4051 /* rule 62 can match eol */
4053 ENTER(VALUE1); BUFFERSET(AX_surfxml_random_max);
4056 /* rule 63 can match eol */
4058 ENTER(VALUE2); BUFFERSET(AX_surfxml_random_max);
4061 /* rule 64 can match eol */
4063 ENTER(VALUE1); BUFFERSET(AX_surfxml_random_mean);
4066 /* rule 65 can match eol */
4068 ENTER(VALUE2); BUFFERSET(AX_surfxml_random_mean);
4071 /* rule 66 can match eol */
4073 ENTER(VALUE1); BUFFERSET(AX_surfxml_random_std_deviation);
4076 /* rule 67 can match eol */
4078 ENTER(VALUE2); BUFFERSET(AX_surfxml_random_std_deviation);
4081 /* rule 68 can match eol */
4083 /* rule 69 can match eol */
4085 A_surfxml_random_generator = A_surfxml_random_generator_DRAND48;
4088 /* rule 70 can match eol */
4090 /* rule 71 can match eol */
4092 A_surfxml_random_generator = A_surfxml_random_generator_RAND;
4097 if (!AX_surfxml_random_id) FAIL("Required attribute `id' not set for `random' element.");
4098 if (!AX_surfxml_random_min) FAIL("Required attribute `min' not set for `random' element.");
4099 if (!AX_surfxml_random_max) FAIL("Required attribute `max' not set for `random' element.");
4100 if (!AX_surfxml_random_mean) FAIL("Required attribute `mean' not set for `random' element.");
4101 if (!AX_surfxml_random_std_deviation) FAIL("Required attribute `std_deviation' not set for `random' element.");
4102 LEAVE; STag_surfxml_random();surfxml_pcdata_ix = 0; ENTER(S_surfxml_random);
4108 if (!AX_surfxml_random_id) FAIL("Required attribute `id' not set for `random' element.");
4109 if (!AX_surfxml_random_min) FAIL("Required attribute `min' not set for `random' element.");
4110 if (!AX_surfxml_random_max) FAIL("Required attribute `max' not set for `random' element.");
4111 if (!AX_surfxml_random_mean) FAIL("Required attribute `mean' not set for `random' element.");
4112 if (!AX_surfxml_random_std_deviation) FAIL("Required attribute `std_deviation' not set for `random' element.");
4113 LEAVE; STag_surfxml_random(); surfxml_pcdata_ix = 0; ETag_surfxml_random(); popbuffer(); /* attribute */
4115 case S_surfxml_platform_2: case S_surfxml_platform_3: case S_surfxml_platform: SET(S_surfxml_platform_3); break;
4121 FAIL("Unexpected character `%c' in attribute list of random element.", surf_parse_text[0]);
4125 FAIL("Bad attribute `%s' in `random' element start tag.",surf_parse_text);
4127 case YY_STATE_EOF(AL_surfxml_random):
4128 FAIL("EOF in attribute list of `random' element.");
4132 /* rule 76 can match eol */
4136 ETag_surfxml_random();
4137 popbuffer(); /* attribute */
4139 case S_surfxml_platform_2: case S_surfxml_platform_3: case S_surfxml_platform: SET(S_surfxml_platform_3); break;
4144 /* rule 77 can match eol */
4146 FAIL("Unexpected end-tag `%s': `</random>' expected.",surf_parse_text);
4150 FAIL("Unexpected character `%c': `</random>' expected.",surf_parse_text[0]);
4152 case YY_STATE_EOF(S_surfxml_random_2):
4153 case YY_STATE_EOF(S_surfxml_random):
4154 case YY_STATE_EOF(E_surfxml_random):
4155 FAIL("Premature EOF: `</random>' expected.");
4159 /* rule 79 can match eol */
4161 FAIL("Starting tag <trace:connect> is not allowed here.");
4164 /* rule 80 can match eol */
4167 AX_surfxml_trace_c_connect_kind = A_surfxml_trace_c_connect_kind_HOST_AVAIL;
4168 AX_surfxml_trace_c_connect_trace = 0;
4169 AX_surfxml_trace_c_connect_element = 0;
4170 ENTER(AL_surfxml_trace_c_connect); pushbuffer(0);
4175 /* rule 81 can match eol */
4177 /* rule 82 can match eol */
4179 A_surfxml_trace_c_connect_kind = A_surfxml_trace_c_connect_kind_HOST_AVAIL;
4182 /* rule 83 can match eol */
4184 /* rule 84 can match eol */
4186 A_surfxml_trace_c_connect_kind = A_surfxml_trace_c_connect_kind_POWER;
4189 /* rule 85 can match eol */
4191 /* rule 86 can match eol */
4193 A_surfxml_trace_c_connect_kind = A_surfxml_trace_c_connect_kind_LINK_AVAIL;
4196 /* rule 87 can match eol */
4198 /* rule 88 can match eol */
4200 A_surfxml_trace_c_connect_kind = A_surfxml_trace_c_connect_kind_BANDWIDTH;
4203 /* rule 89 can match eol */
4205 /* rule 90 can match eol */
4207 A_surfxml_trace_c_connect_kind = A_surfxml_trace_c_connect_kind_LATENCY;
4210 /* rule 91 can match eol */
4212 ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_c_connect_trace);
4215 /* rule 92 can match eol */
4217 ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_c_connect_trace);
4220 /* rule 93 can match eol */
4222 ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_c_connect_element);
4225 /* rule 94 can match eol */
4227 ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_c_connect_element);
4232 if (!AX_surfxml_trace_c_connect_trace) FAIL("Required attribute `trace' not set for `trace:connect' element.");
4233 if (!AX_surfxml_trace_c_connect_element) FAIL("Required attribute `element' not set for `trace:connect' element.");
4234 LEAVE; STag_surfxml_trace_c_connect();surfxml_pcdata_ix = 0; ENTER(E_surfxml_trace_c_connect);
4240 if (!AX_surfxml_trace_c_connect_trace) FAIL("Required attribute `trace' not set for `trace:connect' element.");
4241 if (!AX_surfxml_trace_c_connect_element) FAIL("Required attribute `element' not set for `trace:connect' element.");
4242 LEAVE; STag_surfxml_trace_c_connect(); surfxml_pcdata_ix = 0; ETag_surfxml_trace_c_connect(); popbuffer(); /* attribute */
4244 case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform_3: case S_surfxml_platform: case S_surfxml_platform_4: SET(S_surfxml_platform_5); break;
4245 case S_surfxml_platform_2: SET(S_surfxml_platform_3); break;
4251 FAIL("Unexpected character `%c' in attribute list of trace:connect element.", surf_parse_text[0]);
4255 FAIL("Bad attribute `%s' in `trace:connect' element start tag.",surf_parse_text);
4257 case YY_STATE_EOF(AL_surfxml_trace_c_connect):
4258 FAIL("EOF in attribute list of `trace:connect' element.");
4262 /* rule 99 can match eol */
4266 ETag_surfxml_trace_c_connect();
4267 popbuffer(); /* attribute */
4269 case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform_3: case S_surfxml_platform: case S_surfxml_platform_4: SET(S_surfxml_platform_5); break;
4270 case S_surfxml_platform_2: SET(S_surfxml_platform_3); break;
4275 /* rule 100 can match eol */
4277 FAIL("Unexpected end-tag `%s': `</trace:connect>' expected.",surf_parse_text);
4281 FAIL("Unexpected character `%c': `</trace:connect>' expected.",surf_parse_text[0]);
4283 case YY_STATE_EOF(E_surfxml_trace_c_connect):
4284 FAIL("Premature EOF: `</trace:connect>' expected.");
4288 /* rule 102 can match eol */
4290 FAIL("Starting tag <set> is not allowed here.");
4293 /* rule 103 can match eol */
4296 AX_surfxml_set_id = 0;
4297 AX_surfxml_set_prefix = 0;
4298 AX_surfxml_set_suffix = 0;
4299 AX_surfxml_set_radical = 0;
4300 ENTER(AL_surfxml_set); pushbuffer(0);
4305 /* rule 104 can match eol */
4307 ENTER(VALUE1); BUFFERSET(AX_surfxml_set_id);
4310 /* rule 105 can match eol */
4312 ENTER(VALUE2); BUFFERSET(AX_surfxml_set_id);
4315 /* rule 106 can match eol */
4317 ENTER(VALUE1); BUFFERSET(AX_surfxml_set_prefix);
4320 /* rule 107 can match eol */
4322 ENTER(VALUE2); BUFFERSET(AX_surfxml_set_prefix);
4325 /* rule 108 can match eol */
4327 ENTER(VALUE1); BUFFERSET(AX_surfxml_set_suffix);
4330 /* rule 109 can match eol */
4332 ENTER(VALUE2); BUFFERSET(AX_surfxml_set_suffix);
4335 /* rule 110 can match eol */
4337 ENTER(VALUE1); BUFFERSET(AX_surfxml_set_radical);
4340 /* rule 111 can match eol */
4342 ENTER(VALUE2); BUFFERSET(AX_surfxml_set_radical);
4347 if (!AX_surfxml_set_id) FAIL("Required attribute `id' not set for `set' element.");
4348 if (!AX_surfxml_set_prefix) FAIL("Required attribute `prefix' not set for `set' element.");
4349 if (!AX_surfxml_set_suffix) FAIL("Required attribute `suffix' not set for `set' element.");
4350 if (!AX_surfxml_set_radical) FAIL("Required attribute `radical' not set for `set' element.");
4351 LEAVE; STag_surfxml_set();surfxml_pcdata_ix = 0; ENTER(E_surfxml_set);
4357 if (!AX_surfxml_set_id) FAIL("Required attribute `id' not set for `set' element.");
4358 if (!AX_surfxml_set_prefix) FAIL("Required attribute `prefix' not set for `set' element.");
4359 if (!AX_surfxml_set_suffix) FAIL("Required attribute `suffix' not set for `set' element.");
4360 if (!AX_surfxml_set_radical) FAIL("Required attribute `radical' not set for `set' element.");
4361 LEAVE; STag_surfxml_set(); surfxml_pcdata_ix = 0; ETag_surfxml_set(); popbuffer(); /* attribute */
4363 case S_surfxml_platform_2: case S_surfxml_platform_3: case S_surfxml_platform: SET(S_surfxml_platform_3); break;
4369 FAIL("Unexpected character `%c' in attribute list of set element.", surf_parse_text[0]);
4373 FAIL("Bad attribute `%s' in `set' element start tag.",surf_parse_text);
4375 case YY_STATE_EOF(AL_surfxml_set):
4376 FAIL("EOF in attribute list of `set' element.");
4380 /* rule 116 can match eol */
4385 popbuffer(); /* attribute */
4387 case S_surfxml_platform_2: case S_surfxml_platform_3: case S_surfxml_platform: SET(S_surfxml_platform_3); break;
4392 /* rule 117 can match eol */
4394 FAIL("Unexpected end-tag `%s': `</set>' expected.",surf_parse_text);
4398 FAIL("Unexpected character `%c': `</set>' expected.",surf_parse_text[0]);
4400 case YY_STATE_EOF(E_surfxml_set):
4401 FAIL("Premature EOF: `</set>' expected.");
4405 /* rule 119 can match eol */
4407 FAIL("Starting tag <foreach> is not allowed here.");
4410 /* rule 120 can match eol */
4413 AX_surfxml_foreach_set_id = 0;
4414 ENTER(AL_surfxml_foreach); pushbuffer(0);
4419 /* rule 121 can match eol */
4421 ENTER(VALUE1); BUFFERSET(AX_surfxml_foreach_set_id);
4424 /* rule 122 can match eol */
4426 ENTER(VALUE2); BUFFERSET(AX_surfxml_foreach_set_id);
4431 if (!AX_surfxml_foreach_set_id) FAIL("Required attribute `set_id' not set for `foreach' element.");
4432 LEAVE; STag_surfxml_foreach();surfxml_pcdata_ix = 0; ENTER(S_surfxml_foreach);
4437 FAIL("`foreach' element cannot be empty.");
4441 FAIL("Unexpected character `%c' in attribute list of foreach element.", surf_parse_text[0]);
4445 FAIL("Bad attribute `%s' in `foreach' element start tag.",surf_parse_text);
4447 case YY_STATE_EOF(AL_surfxml_foreach):
4448 FAIL("EOF in attribute list of `foreach' element.");
4452 /* rule 127 can match eol */
4456 ETag_surfxml_foreach();
4457 popbuffer(); /* attribute */
4459 case S_surfxml_platform_2: case S_surfxml_platform_3: case S_surfxml_platform: SET(S_surfxml_platform_3); break;
4464 /* rule 128 can match eol */
4466 FAIL("Unexpected end-tag `%s': `</foreach>' expected.",surf_parse_text);
4470 FAIL("Unexpected character `%c': `</foreach>' expected.",surf_parse_text[0]);
4472 case YY_STATE_EOF(E_surfxml_foreach):
4473 FAIL("Premature EOF: `</foreach>' expected.");
4477 /* rule 130 can match eol */
4479 FAIL("Starting tag <host> is not allowed here.");
4482 /* rule 131 can match eol */
4485 AX_surfxml_host_id = 0;
4486 AX_surfxml_host_power = 0;
4487 AX_surfxml_host_availability = 69;
4488 AX_surfxml_host_availability_file = 0;
4489 AX_surfxml_host_state = A_surfxml_host_state_ON;
4490 AX_surfxml_host_state_file = 0;
4491 AX_surfxml_host_interference_send = 73;
4492 AX_surfxml_host_interference_recv = 77;
4493 AX_surfxml_host_interference_send_recv = 81;
4494 AX_surfxml_host_max_outgoing_rate = 85;
4495 AX_surfxml_host_vivaldi = 90;
4496 ENTER(AL_surfxml_host); pushbuffer(0);
4501 /* rule 132 can match eol */
4503 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_id);
4506 /* rule 133 can match eol */
4508 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_id);
4511 /* rule 134 can match eol */
4513 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_power);
4516 /* rule 135 can match eol */
4518 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_power);
4521 /* rule 136 can match eol */
4523 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_availability);
4526 /* rule 137 can match eol */
4528 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_availability);
4531 /* rule 138 can match eol */
4533 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_availability_file);
4536 /* rule 139 can match eol */
4538 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_availability_file);
4541 /* rule 140 can match eol */
4543 /* rule 141 can match eol */
4545 A_surfxml_host_state = A_surfxml_host_state_ON;
4548 /* rule 142 can match eol */
4550 /* rule 143 can match eol */
4552 A_surfxml_host_state = A_surfxml_host_state_OFF;
4555 /* rule 144 can match eol */
4557 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_state_file);
4560 /* rule 145 can match eol */
4562 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_state_file);
4565 /* rule 146 can match eol */
4567 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_interference_send);
4570 /* rule 147 can match eol */
4572 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_interference_send);
4575 /* rule 148 can match eol */
4577 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_interference_recv);
4580 /* rule 149 can match eol */
4582 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_interference_recv);
4585 /* rule 150 can match eol */
4587 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_interference_send_recv);
4590 /* rule 151 can match eol */
4592 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_interference_send_recv);
4595 /* rule 152 can match eol */
4597 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_max_outgoing_rate);
4600 /* rule 153 can match eol */
4602 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_max_outgoing_rate);
4605 /* rule 154 can match eol */
4607 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_vivaldi);
4610 /* rule 155 can match eol */
4612 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_vivaldi);
4617 if (!AX_surfxml_host_id) FAIL("Required attribute `id' not set for `host' element.");
4618 if (!AX_surfxml_host_power) FAIL("Required attribute `power' not set for `host' element.");
4619 LEAVE; STag_surfxml_host();surfxml_pcdata_ix = 0; ENTER(S_surfxml_host);
4625 if (!AX_surfxml_host_id) FAIL("Required attribute `id' not set for `host' element.");
4626 if (!AX_surfxml_host_power) FAIL("Required attribute `power' not set for `host' element.");
4627 LEAVE; STag_surfxml_host(); surfxml_pcdata_ix = 0; ETag_surfxml_host(); popbuffer(); /* attribute */
4629 case S_surfxml_platform_2: case S_surfxml_platform_3: case S_surfxml_platform: SET(S_surfxml_platform_3); break;
4630 case S_surfxml_foreach: SET(S_surfxml_foreach_1); break;
4636 FAIL("Unexpected character `%c' in attribute list of host element.", surf_parse_text[0]);
4640 FAIL("Bad attribute `%s' in `host' element start tag.",surf_parse_text);
4642 case YY_STATE_EOF(AL_surfxml_host):
4643 FAIL("EOF in attribute list of `host' element.");
4647 /* rule 160 can match eol */
4651 ETag_surfxml_host();
4652 popbuffer(); /* attribute */
4654 case S_surfxml_platform_2: case S_surfxml_platform_3: case S_surfxml_platform: SET(S_surfxml_platform_3); break;
4655 case S_surfxml_foreach: SET(S_surfxml_foreach_1); break;
4660 /* rule 161 can match eol */
4662 FAIL("Unexpected end-tag `%s': `</host>' expected.",surf_parse_text);
4666 FAIL("Unexpected character `%c': `</host>' expected.",surf_parse_text[0]);
4668 case YY_STATE_EOF(S_surfxml_host):
4669 case YY_STATE_EOF(E_surfxml_host):
4670 case YY_STATE_EOF(S_surfxml_host_2):
4671 FAIL("Premature EOF: `</host>' expected.");
4675 /* rule 163 can match eol */
4677 FAIL("Starting tag <prop> is not allowed here.");
4680 /* rule 164 can match eol */
4683 AX_surfxml_prop_id = 0;
4684 AX_surfxml_prop_value = 0;
4685 ENTER(AL_surfxml_prop); pushbuffer(0);
4690 /* rule 165 can match eol */
4692 ENTER(VALUE1); BUFFERSET(AX_surfxml_prop_id);
4695 /* rule 166 can match eol */
4697 ENTER(VALUE2); BUFFERSET(AX_surfxml_prop_id);
4700 /* rule 167 can match eol */
4702 ENTER(VALUE1); BUFFERSET(AX_surfxml_prop_value);
4705 /* rule 168 can match eol */
4707 ENTER(VALUE2); BUFFERSET(AX_surfxml_prop_value);
4712 if (!AX_surfxml_prop_id) FAIL("Required attribute `id' not set for `prop' element.");
4713 if (!AX_surfxml_prop_value) FAIL("Required attribute `value' not set for `prop' element.");
4714 LEAVE; STag_surfxml_prop();surfxml_pcdata_ix = 0; ENTER(E_surfxml_prop);
4720 if (!AX_surfxml_prop_id) FAIL("Required attribute `id' not set for `prop' element.");
4721 if (!AX_surfxml_prop_value) FAIL("Required attribute `value' not set for `prop' element.");
4722 LEAVE; STag_surfxml_prop(); surfxml_pcdata_ix = 0; ETag_surfxml_prop(); popbuffer(); /* attribute */
4724 case S_surfxml_random: case S_surfxml_random_2: case S_surfxml_random_1: SET(S_surfxml_random_2); break;
4725 case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
4726 case S_surfxml_host: case S_surfxml_host_1: case S_surfxml_host_2: SET(S_surfxml_host_2); break;
4727 case S_surfxml_link_1: case S_surfxml_link_2: case S_surfxml_link: SET(S_surfxml_link_2); break;
4733 FAIL("Unexpected character `%c' in attribute list of prop element.", surf_parse_text[0]);
4737 FAIL("Bad attribute `%s' in `prop' element start tag.",surf_parse_text);
4739 case YY_STATE_EOF(AL_surfxml_prop):
4740 FAIL("EOF in attribute list of `prop' element.");
4744 /* rule 173 can match eol */
4748 ETag_surfxml_prop();
4749 popbuffer(); /* attribute */
4751 case S_surfxml_random: case S_surfxml_random_2: case S_surfxml_random_1: SET(S_surfxml_random_2); break;
4752 case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
4753 case S_surfxml_host: case S_surfxml_host_1: case S_surfxml_host_2: SET(S_surfxml_host_2); break;
4754 case S_surfxml_link_1: case S_surfxml_link_2: case S_surfxml_link: SET(S_surfxml_link_2); break;
4759 /* rule 174 can match eol */
4761 FAIL("Unexpected end-tag `%s': `</prop>' expected.",surf_parse_text);
4765 FAIL("Unexpected character `%c': `</prop>' expected.",surf_parse_text[0]);
4767 case YY_STATE_EOF(E_surfxml_prop):
4768 FAIL("Premature EOF: `</prop>' expected.");
4772 /* rule 176 can match eol */
4774 FAIL("Starting tag <cluster> is not allowed here.");
4777 /* rule 177 can match eol */
4780 AX_surfxml_cluster_id = 0;
4781 AX_surfxml_cluster_prefix = 0;
4782 AX_surfxml_cluster_suffix = 0;
4783 AX_surfxml_cluster_radical = 0;
4784 AX_surfxml_cluster_power = 0;
4785 AX_surfxml_cluster_bw = 0;
4786 AX_surfxml_cluster_lat = 0;
4787 AX_surfxml_cluster_bb_bw = 0;
4788 AX_surfxml_cluster_bb_lat = 0;
4789 ENTER(AL_surfxml_cluster); pushbuffer(0);
4794 /* rule 178 can match eol */
4796 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_id);
4799 /* rule 179 can match eol */
4801 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_id);
4804 /* rule 180 can match eol */
4806 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_prefix);
4809 /* rule 181 can match eol */
4811 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_prefix);
4814 /* rule 182 can match eol */
4816 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_suffix);
4819 /* rule 183 can match eol */
4821 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_suffix);
4824 /* rule 184 can match eol */
4826 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_radical);
4829 /* rule 185 can match eol */
4831 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_radical);
4834 /* rule 186 can match eol */
4836 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_power);
4839 /* rule 187 can match eol */
4841 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_power);
4844 /* rule 188 can match eol */
4846 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_bw);
4849 /* rule 189 can match eol */
4851 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_bw);
4854 /* rule 190 can match eol */
4856 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_lat);
4859 /* rule 191 can match eol */
4861 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_lat);
4864 /* rule 192 can match eol */
4866 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_bb_bw);
4869 /* rule 193 can match eol */
4871 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_bb_bw);
4874 /* rule 194 can match eol */
4876 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_bb_lat);
4879 /* rule 195 can match eol */
4881 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_bb_lat);
4886 if (!AX_surfxml_cluster_id) FAIL("Required attribute `id' not set for `cluster' element.");
4887 if (!AX_surfxml_cluster_prefix) FAIL("Required attribute `prefix' not set for `cluster' element.");
4888 if (!AX_surfxml_cluster_suffix) FAIL("Required attribute `suffix' not set for `cluster' element.");
4889 if (!AX_surfxml_cluster_radical) FAIL("Required attribute `radical' not set for `cluster' element.");
4890 if (!AX_surfxml_cluster_power) FAIL("Required attribute `power' not set for `cluster' element.");
4891 if (!AX_surfxml_cluster_bw) FAIL("Required attribute `bw' not set for `cluster' element.");
4892 if (!AX_surfxml_cluster_lat) FAIL("Required attribute `lat' not set for `cluster' element.");
4893 if (!AX_surfxml_cluster_bb_bw) FAIL("Required attribute `bb_bw' not set for `cluster' element.");
4894 if (!AX_surfxml_cluster_bb_lat) FAIL("Required attribute `bb_lat' not set for `cluster' element.");
4895 LEAVE; STag_surfxml_cluster();surfxml_pcdata_ix = 0; ENTER(E_surfxml_cluster);
4901 if (!AX_surfxml_cluster_id) FAIL("Required attribute `id' not set for `cluster' element.");
4902 if (!AX_surfxml_cluster_prefix) FAIL("Required attribute `prefix' not set for `cluster' element.");
4903 if (!AX_surfxml_cluster_suffix) FAIL("Required attribute `suffix' not set for `cluster' element.");
4904 if (!AX_surfxml_cluster_radical) FAIL("Required attribute `radical' not set for `cluster' element.");
4905 if (!AX_surfxml_cluster_power) FAIL("Required attribute `power' not set for `cluster' element.");
4906 if (!AX_surfxml_cluster_bw) FAIL("Required attribute `bw' not set for `cluster' element.");
4907 if (!AX_surfxml_cluster_lat) FAIL("Required attribute `lat' not set for `cluster' element.");
4908 if (!AX_surfxml_cluster_bb_bw) FAIL("Required attribute `bb_bw' not set for `cluster' element.");
4909 if (!AX_surfxml_cluster_bb_lat) FAIL("Required attribute `bb_lat' not set for `cluster' element.");
4910 LEAVE; STag_surfxml_cluster(); surfxml_pcdata_ix = 0; ETag_surfxml_cluster(); popbuffer(); /* attribute */
4912 case S_surfxml_platform_2: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_3); break;
4918 FAIL("Unexpected character `%c' in attribute list of cluster element.", surf_parse_text[0]);
4922 FAIL("Bad attribute `%s' in `cluster' element start tag.",surf_parse_text);
4924 case YY_STATE_EOF(AL_surfxml_cluster):
4925 FAIL("EOF in attribute list of `cluster' element.");
4929 /* rule 200 can match eol */
4933 ETag_surfxml_cluster();
4934 popbuffer(); /* attribute */
4936 case S_surfxml_platform_2: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_3); break;
4941 /* rule 201 can match eol */
4943 FAIL("Unexpected end-tag `%s': `</cluster>' expected.",surf_parse_text);
4947 FAIL("Unexpected character `%c': `</cluster>' expected.",surf_parse_text[0]);
4949 case YY_STATE_EOF(E_surfxml_cluster):
4950 FAIL("Premature EOF: `</cluster>' expected.");
4954 /* rule 203 can match eol */
4956 FAIL("Starting tag <router> is not allowed here.");
4959 /* rule 204 can match eol */
4962 AX_surfxml_router_id = 0;
4963 ENTER(AL_surfxml_router); pushbuffer(0);
4968 /* rule 205 can match eol */
4970 ENTER(VALUE1); BUFFERSET(AX_surfxml_router_id);
4973 /* rule 206 can match eol */
4975 ENTER(VALUE2); BUFFERSET(AX_surfxml_router_id);
4980 if (!AX_surfxml_router_id) FAIL("Required attribute `id' not set for `router' element.");
4981 LEAVE; STag_surfxml_router();surfxml_pcdata_ix = 0; ENTER(E_surfxml_router);
4987 if (!AX_surfxml_router_id) FAIL("Required attribute `id' not set for `router' element.");
4988 LEAVE; STag_surfxml_router(); surfxml_pcdata_ix = 0; ETag_surfxml_router(); popbuffer(); /* attribute */
4990 case S_surfxml_platform_2: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_3); break;
4996 FAIL("Unexpected character `%c' in attribute list of router element.", surf_parse_text[0]);
5000 FAIL("Bad attribute `%s' in `router' element start tag.",surf_parse_text);
5002 case YY_STATE_EOF(AL_surfxml_router):
5003 FAIL("EOF in attribute list of `router' element.");
5007 /* rule 211 can match eol */
5011 ETag_surfxml_router();
5012 popbuffer(); /* attribute */
5014 case S_surfxml_platform_2: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_3); break;
5019 /* rule 212 can match eol */
5021 FAIL("Unexpected end-tag `%s': `</router>' expected.",surf_parse_text);
5025 FAIL("Unexpected character `%c': `</router>' expected.",surf_parse_text[0]);
5027 case YY_STATE_EOF(E_surfxml_router):
5028 FAIL("Premature EOF: `</router>' expected.");
5032 /* rule 214 can match eol */
5034 FAIL("Starting tag <link> is not allowed here.");
5037 /* rule 215 can match eol */
5040 AX_surfxml_link_id = 0;
5041 AX_surfxml_link_bandwidth = 0;
5042 AX_surfxml_link_bandwidth_file = 0;
5043 AX_surfxml_link_latency = 96;
5044 AX_surfxml_link_latency_file = 0;
5045 AX_surfxml_link_state = A_surfxml_link_state_ON;
5046 AX_surfxml_link_state_file = 0;
5047 AX_surfxml_link_sharing_policy = A_surfxml_link_sharing_policy_SHARED;
5048 ENTER(AL_surfxml_link); pushbuffer(0);
5053 /* rule 216 can match eol */
5055 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_id);
5058 /* rule 217 can match eol */
5060 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_id);
5063 /* rule 218 can match eol */
5065 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_bandwidth);
5068 /* rule 219 can match eol */
5070 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_bandwidth);
5073 /* rule 220 can match eol */
5075 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_bandwidth_file);
5078 /* rule 221 can match eol */
5080 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_bandwidth_file);
5083 /* rule 222 can match eol */
5085 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_latency);
5088 /* rule 223 can match eol */
5090 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_latency);
5093 /* rule 224 can match eol */
5095 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_latency_file);
5098 /* rule 225 can match eol */
5100 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_latency_file);
5103 /* rule 226 can match eol */
5105 /* rule 227 can match eol */
5107 A_surfxml_link_state = A_surfxml_link_state_ON;
5110 /* rule 228 can match eol */
5112 /* rule 229 can match eol */
5114 A_surfxml_link_state = A_surfxml_link_state_OFF;
5117 /* rule 230 can match eol */
5119 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_state_file);
5122 /* rule 231 can match eol */
5124 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_state_file);
5127 /* rule 232 can match eol */
5129 /* rule 233 can match eol */
5131 A_surfxml_link_sharing_policy = A_surfxml_link_sharing_policy_SHARED;
5134 /* rule 234 can match eol */
5136 /* rule 235 can match eol */
5138 A_surfxml_link_sharing_policy = A_surfxml_link_sharing_policy_FATPIPE;
5143 if (!AX_surfxml_link_id) FAIL("Required attribute `id' not set for `link' element.");
5144 if (!AX_surfxml_link_bandwidth) FAIL("Required attribute `bandwidth' not set for `link' element.");
5145 LEAVE; STag_surfxml_link();surfxml_pcdata_ix = 0; ENTER(S_surfxml_link);
5151 if (!AX_surfxml_link_id) FAIL("Required attribute `id' not set for `link' element.");
5152 if (!AX_surfxml_link_bandwidth) FAIL("Required attribute `bandwidth' not set for `link' element.");
5153 LEAVE; STag_surfxml_link(); surfxml_pcdata_ix = 0; ETag_surfxml_link(); popbuffer(); /* attribute */
5155 case S_surfxml_foreach: case S_surfxml_foreach_1: SET(E_surfxml_foreach); break;
5156 case S_surfxml_platform_2: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_3); break;
5162 FAIL("Unexpected character `%c' in attribute list of link element.", surf_parse_text[0]);
5166 FAIL("Bad attribute `%s' in `link' element start tag.",surf_parse_text);
5168 case YY_STATE_EOF(AL_surfxml_link):
5169 FAIL("EOF in attribute list of `link' element.");
5173 /* rule 240 can match eol */
5177 ETag_surfxml_link();
5178 popbuffer(); /* attribute */
5180 case S_surfxml_foreach: case S_surfxml_foreach_1: SET(E_surfxml_foreach); break;
5181 case S_surfxml_platform_2: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_3); break;
5186 /* rule 241 can match eol */
5188 FAIL("Unexpected end-tag `%s': `</link>' expected.",surf_parse_text);
5192 FAIL("Unexpected character `%c': `</link>' expected.",surf_parse_text[0]);
5194 case YY_STATE_EOF(S_surfxml_link_2):
5195 case YY_STATE_EOF(E_surfxml_link):
5196 case YY_STATE_EOF(S_surfxml_link):
5197 FAIL("Premature EOF: `</link>' expected.");
5201 /* rule 243 can match eol */
5203 FAIL("Starting tag <route:multi> is not allowed here.");
5206 /* rule 244 can match eol */
5209 AX_surfxml_route_c_multi_src = 0;
5210 AX_surfxml_route_c_multi_dst = 0;
5211 AX_surfxml_route_c_multi_action = A_surfxml_route_c_multi_action_POSTPEND;
5212 AX_surfxml_route_c_multi_symmetric = A_surfxml_route_c_multi_symmetric_YES;
5213 ENTER(AL_surfxml_route_c_multi); pushbuffer(0);
5218 /* rule 245 can match eol */
5220 ENTER(VALUE1); BUFFERSET(AX_surfxml_route_c_multi_src);
5223 /* rule 246 can match eol */
5225 ENTER(VALUE2); BUFFERSET(AX_surfxml_route_c_multi_src);
5228 /* rule 247 can match eol */
5230 ENTER(VALUE1); BUFFERSET(AX_surfxml_route_c_multi_dst);
5233 /* rule 248 can match eol */
5235 ENTER(VALUE2); BUFFERSET(AX_surfxml_route_c_multi_dst);
5238 /* rule 249 can match eol */
5240 /* rule 250 can match eol */
5242 A_surfxml_route_c_multi_action = A_surfxml_route_c_multi_action_POSTPEND;
5245 /* rule 251 can match eol */
5247 /* rule 252 can match eol */
5249 A_surfxml_route_c_multi_action = A_surfxml_route_c_multi_action_PREPEND;
5252 /* rule 253 can match eol */
5254 /* rule 254 can match eol */
5256 A_surfxml_route_c_multi_action = A_surfxml_route_c_multi_action_OVERRIDE;
5259 /* rule 255 can match eol */
5261 /* rule 256 can match eol */
5263 A_surfxml_route_c_multi_symmetric = A_surfxml_route_c_multi_symmetric_YES;
5266 /* rule 257 can match eol */
5268 /* rule 258 can match eol */
5270 A_surfxml_route_c_multi_symmetric = A_surfxml_route_c_multi_symmetric_NO;
5275 if (!AX_surfxml_route_c_multi_src) FAIL("Required attribute `src' not set for `route:multi' element.");
5276 if (!AX_surfxml_route_c_multi_dst) FAIL("Required attribute `dst' not set for `route:multi' element.");
5277 LEAVE; STag_surfxml_route_c_multi();surfxml_pcdata_ix = 0; ENTER(S_surfxml_route_c_multi);
5282 FAIL("`route:multi' element cannot be empty.");
5286 FAIL("Unexpected character `%c' in attribute list of route:multi element.", surf_parse_text[0]);
5290 FAIL("Bad attribute `%s' in `route:multi' element start tag.",surf_parse_text);
5292 case YY_STATE_EOF(AL_surfxml_route_c_multi):
5293 FAIL("EOF in attribute list of `route:multi' element.");
5297 /* rule 263 can match eol */
5301 ETag_surfxml_route_c_multi();
5302 popbuffer(); /* attribute */
5304 case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: case S_surfxml_platform_4: SET(S_surfxml_platform_5); break;
5309 /* rule 264 can match eol */
5311 FAIL("Unexpected end-tag `%s': `</route:multi>' expected.",surf_parse_text);
5315 FAIL("Unexpected character `%c': `</route:multi>' expected.",surf_parse_text[0]);
5317 case YY_STATE_EOF(S_surfxml_route_c_multi_2):
5318 case YY_STATE_EOF(E_surfxml_route_c_multi):
5319 FAIL("Premature EOF: `</route:multi>' expected.");
5323 /* rule 266 can match eol */
5325 FAIL("Starting tag <route> is not allowed here.");
5328 /* rule 267 can match eol */
5331 AX_surfxml_route_src = 0;
5332 AX_surfxml_route_dst = 0;
5333 AX_surfxml_route_impact_on_src = 100;
5334 AX_surfxml_route_impact_on_dst = 104;
5335 AX_surfxml_route_impact_on_src_with_other_recv = 108;
5336 AX_surfxml_route_impact_on_dst_with_other_send = 112;
5337 AX_surfxml_route_action = A_surfxml_route_action_POSTPEND;
5338 ENTER(AL_surfxml_route); pushbuffer(0);
5343 /* rule 268 can match eol */
5345 ENTER(VALUE1); BUFFERSET(AX_surfxml_route_src);
5348 /* rule 269 can match eol */
5350 ENTER(VALUE2); BUFFERSET(AX_surfxml_route_src);
5353 /* rule 270 can match eol */
5355 ENTER(VALUE1); BUFFERSET(AX_surfxml_route_dst);
5358 /* rule 271 can match eol */
5360 ENTER(VALUE2); BUFFERSET(AX_surfxml_route_dst);
5363 /* rule 272 can match eol */
5365 ENTER(VALUE1); BUFFERSET(AX_surfxml_route_impact_on_src);
5368 /* rule 273 can match eol */
5370 ENTER(VALUE2); BUFFERSET(AX_surfxml_route_impact_on_src);
5373 /* rule 274 can match eol */
5375 ENTER(VALUE1); BUFFERSET(AX_surfxml_route_impact_on_dst);
5378 /* rule 275 can match eol */
5380 ENTER(VALUE2); BUFFERSET(AX_surfxml_route_impact_on_dst);
5383 /* rule 276 can match eol */
5385 ENTER(VALUE1); BUFFERSET(AX_surfxml_route_impact_on_src_with_other_recv);
5388 /* rule 277 can match eol */
5390 ENTER(VALUE2); BUFFERSET(AX_surfxml_route_impact_on_src_with_other_recv);
5393 /* rule 278 can match eol */
5395 ENTER(VALUE1); BUFFERSET(AX_surfxml_route_impact_on_dst_with_other_send);
5398 /* rule 279 can match eol */
5400 ENTER(VALUE2); BUFFERSET(AX_surfxml_route_impact_on_dst_with_other_send);
5403 /* rule 280 can match eol */
5405 /* rule 281 can match eol */
5407 A_surfxml_route_action = A_surfxml_route_action_POSTPEND;
5410 /* rule 282 can match eol */
5412 /* rule 283 can match eol */
5414 A_surfxml_route_action = A_surfxml_route_action_PREPEND;
5417 /* rule 284 can match eol */
5419 /* rule 285 can match eol */
5421 A_surfxml_route_action = A_surfxml_route_action_OVERRIDE;
5426 if (!AX_surfxml_route_src) FAIL("Required attribute `src' not set for `route' element.");
5427 if (!AX_surfxml_route_dst) FAIL("Required attribute `dst' not set for `route' element.");
5428 LEAVE; STag_surfxml_route();surfxml_pcdata_ix = 0; ENTER(S_surfxml_route);
5434 if (!AX_surfxml_route_src) FAIL("Required attribute `src' not set for `route' element.");
5435 if (!AX_surfxml_route_dst) FAIL("Required attribute `dst' not set for `route' element.");
5436 LEAVE; STag_surfxml_route(); surfxml_pcdata_ix = 0; ETag_surfxml_route(); popbuffer(); /* attribute */
5438 case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: case S_surfxml_platform_4: SET(S_surfxml_platform_5); break;
5444 FAIL("Unexpected character `%c' in attribute list of route element.", surf_parse_text[0]);
5448 FAIL("Bad attribute `%s' in `route' element start tag.",surf_parse_text);
5450 case YY_STATE_EOF(AL_surfxml_route):
5451 FAIL("EOF in attribute list of `route' element.");
5455 /* rule 290 can match eol */
5459 ETag_surfxml_route();
5460 popbuffer(); /* attribute */
5462 case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: case S_surfxml_platform_4: SET(S_surfxml_platform_5); break;
5467 /* rule 291 can match eol */
5469 FAIL("Unexpected end-tag `%s': `</route>' expected.",surf_parse_text);
5473 FAIL("Unexpected character `%c': `</route>' expected.",surf_parse_text[0]);
5475 case YY_STATE_EOF(S_surfxml_route):
5476 case YY_STATE_EOF(S_surfxml_route_2):
5477 case YY_STATE_EOF(E_surfxml_route):
5478 FAIL("Premature EOF: `</route>' expected.");
5482 /* rule 293 can match eol */
5484 FAIL("Starting tag <link:ctn> is not allowed here.");
5487 /* rule 294 can match eol */
5490 AX_surfxml_link_c_ctn_id = 0;
5491 ENTER(AL_surfxml_link_c_ctn); pushbuffer(0);
5496 /* rule 295 can match eol */
5498 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_c_ctn_id);
5501 /* rule 296 can match eol */
5503 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_c_ctn_id);
5508 if (!AX_surfxml_link_c_ctn_id) FAIL("Required attribute `id' not set for `link:ctn' element.");
5509 LEAVE; STag_surfxml_link_c_ctn();surfxml_pcdata_ix = 0; ENTER(E_surfxml_link_c_ctn);
5515 if (!AX_surfxml_link_c_ctn_id) FAIL("Required attribute `id' not set for `link:ctn' element.");
5516 LEAVE; STag_surfxml_link_c_ctn(); surfxml_pcdata_ix = 0; ETag_surfxml_link_c_ctn(); popbuffer(); /* attribute */
5518 case S_surfxml_route_1: case S_surfxml_route: case S_surfxml_route_2: SET(S_surfxml_route_2); break;
5519 case S_surfxml_route_c_multi_2: case S_surfxml_route_c_multi_1: case S_surfxml_route_c_multi: SET(S_surfxml_route_c_multi_2); break;
5525 FAIL("Unexpected character `%c' in attribute list of link:ctn element.", surf_parse_text[0]);
5529 FAIL("Bad attribute `%s' in `link:ctn' element start tag.",surf_parse_text);
5531 case YY_STATE_EOF(AL_surfxml_link_c_ctn):
5532 FAIL("EOF in attribute list of `link:ctn' element.");
5536 /* rule 301 can match eol */
5540 ETag_surfxml_link_c_ctn();
5541 popbuffer(); /* attribute */
5543 case S_surfxml_route_1: case S_surfxml_route: case S_surfxml_route_2: SET(S_surfxml_route_2); break;
5544 case S_surfxml_route_c_multi_2: case S_surfxml_route_c_multi_1: case S_surfxml_route_c_multi: SET(S_surfxml_route_c_multi_2); break;
5549 /* rule 302 can match eol */
5551 FAIL("Unexpected end-tag `%s': `</link:ctn>' expected.",surf_parse_text);
5555 FAIL("Unexpected character `%c': `</link:ctn>' expected.",surf_parse_text[0]);
5557 case YY_STATE_EOF(E_surfxml_link_c_ctn):
5558 FAIL("Premature EOF: `</link:ctn>' expected.");
5562 /* rule 304 can match eol */
5564 FAIL("Starting tag <process> is not allowed here.");
5567 /* rule 305 can match eol */
5570 AX_surfxml_process_host = 0;
5571 AX_surfxml_process_function = 0;
5572 AX_surfxml_process_start_time = 116;
5573 AX_surfxml_process_kill_time = 121;
5574 ENTER(AL_surfxml_process); pushbuffer(0);
5579 /* rule 306 can match eol */
5581 ENTER(VALUE1); BUFFERSET(AX_surfxml_process_host);
5584 /* rule 307 can match eol */
5586 ENTER(VALUE2); BUFFERSET(AX_surfxml_process_host);
5589 /* rule 308 can match eol */
5591 ENTER(VALUE1); BUFFERSET(AX_surfxml_process_function);
5594 /* rule 309 can match eol */
5596 ENTER(VALUE2); BUFFERSET(AX_surfxml_process_function);
5599 /* rule 310 can match eol */
5601 ENTER(VALUE1); BUFFERSET(AX_surfxml_process_start_time);
5604 /* rule 311 can match eol */
5606 ENTER(VALUE2); BUFFERSET(AX_surfxml_process_start_time);
5609 /* rule 312 can match eol */
5611 ENTER(VALUE1); BUFFERSET(AX_surfxml_process_kill_time);
5614 /* rule 313 can match eol */
5616 ENTER(VALUE2); BUFFERSET(AX_surfxml_process_kill_time);
5621 if (!AX_surfxml_process_host) FAIL("Required attribute `host' not set for `process' element.");
5622 if (!AX_surfxml_process_function) FAIL("Required attribute `function' not set for `process' element.");
5623 LEAVE; STag_surfxml_process();surfxml_pcdata_ix = 0; ENTER(S_surfxml_process);
5629 if (!AX_surfxml_process_host) FAIL("Required attribute `host' not set for `process' element.");
5630 if (!AX_surfxml_process_function) FAIL("Required attribute `function' not set for `process' element.");
5631 LEAVE; STag_surfxml_process(); surfxml_pcdata_ix = 0; ETag_surfxml_process(); popbuffer(); /* attribute */
5633 case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: case S_surfxml_platform_4: SET(S_surfxml_platform_5); break;
5639 FAIL("Unexpected character `%c' in attribute list of process element.", surf_parse_text[0]);
5643 FAIL("Bad attribute `%s' in `process' element start tag.",surf_parse_text);
5645 case YY_STATE_EOF(AL_surfxml_process):
5646 FAIL("EOF in attribute list of `process' element.");
5650 /* rule 318 can match eol */
5654 ETag_surfxml_process();
5655 popbuffer(); /* attribute */
5657 case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: case S_surfxml_platform_4: SET(S_surfxml_platform_5); break;
5662 /* rule 319 can match eol */
5664 FAIL("Unexpected end-tag `%s': `</process>' expected.",surf_parse_text);
5668 FAIL("Unexpected character `%c': `</process>' expected.",surf_parse_text[0]);
5670 case YY_STATE_EOF(S_surfxml_process):
5671 case YY_STATE_EOF(E_surfxml_process):
5672 case YY_STATE_EOF(S_surfxml_process_2):
5673 FAIL("Premature EOF: `</process>' expected.");
5677 /* rule 321 can match eol */
5679 FAIL("Starting tag <argument> is not allowed here.");
5682 /* rule 322 can match eol */
5685 AX_surfxml_argument_value = 0;
5686 ENTER(AL_surfxml_argument); pushbuffer(0);
5691 /* rule 323 can match eol */
5693 ENTER(VALUE1); BUFFERSET(AX_surfxml_argument_value);
5696 /* rule 324 can match eol */
5698 ENTER(VALUE2); BUFFERSET(AX_surfxml_argument_value);
5703 if (!AX_surfxml_argument_value) FAIL("Required attribute `value' not set for `argument' element.");
5704 LEAVE; STag_surfxml_argument();surfxml_pcdata_ix = 0; ENTER(E_surfxml_argument);
5710 if (!AX_surfxml_argument_value) FAIL("Required attribute `value' not set for `argument' element.");
5711 LEAVE; STag_surfxml_argument(); surfxml_pcdata_ix = 0; ETag_surfxml_argument(); popbuffer(); /* attribute */
5713 case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
5719 FAIL("Unexpected character `%c' in attribute list of argument element.", surf_parse_text[0]);
5723 FAIL("Bad attribute `%s' in `argument' element start tag.",surf_parse_text);
5725 case YY_STATE_EOF(AL_surfxml_argument):
5726 FAIL("EOF in attribute list of `argument' element.");
5730 /* rule 329 can match eol */
5734 ETag_surfxml_argument();
5735 popbuffer(); /* attribute */
5737 case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
5742 /* rule 330 can match eol */
5744 FAIL("Unexpected end-tag `%s': `</argument>' expected.",surf_parse_text);
5748 FAIL("Unexpected character `%c': `</argument>' expected.",surf_parse_text[0]);
5750 case YY_STATE_EOF(E_surfxml_argument):
5751 FAIL("Premature EOF: `</argument>' expected.");
5754 /* EPILOG: after the root element. */
5758 {SET(PROLOG); yyless(0); CLEANUP; return -1;}
5760 case YY_STATE_EOF(EPILOG):
5764 /* CHARACTER DATA. */
5766 /* Non-defined standard entities... */
5787 /* Character entities. */
5790 BUFFERPUTC((unsigned char)atoi(surf_parse_text+2));
5794 BUFFERPUTC((unsigned char)strtol(surf_parse_text+3,NULL,16));
5798 /* rule 340 can match eol */
5800 /* rule 341 can match eol */
5802 /* rule 342 can match eol */
5804 /* rule 343 can match eol */
5815 FAIL("Unexpected `]""]>' in character data.");
5822 case YY_STATE_EOF(VALUE1):
5823 FAIL("EOF in literal (\"'\" expected).");
5830 case YY_STATE_EOF(VALUE2):
5831 FAIL("EOF in literal (`\"' expected).");
5835 /* rule 348 can match eol */
5837 BUFFERPUTC(surf_parse_text[0]);
5841 FAIL("Spurious `%c' in character data.",surf_parse_text[0]);
5848 /* "]""]" BUFFERPUTC(surf_parse_text[0]); BUFFERPUTC(surf_parse_text[1]); */
5851 BUFFERPUTC(surf_parse_text[0]);
5853 case YY_STATE_EOF(CDATA):
5854 FAIL("EOF in CDATA section.");
5857 /* Impossible rules to avoid warnings from flex(1). */
5858 /* Ideally, this should be replaced by code in flexml.pl that
5859 generates just the states not covered by other rules. */
5862 /* rule 352 can match eol */
5864 FAIL("Syntax error on character `%c'.", surf_parse_text[0]);
5871 case YY_STATE_EOF(INITIAL):
5872 case YY_STATE_EOF(ROOT_surfxml_platform):
5873 case YY_STATE_EOF(S_surfxml_platform_2):
5874 case YY_STATE_EOF(S_surfxml_platform_4):
5875 case YY_STATE_EOF(S_surfxml_random_1):
5876 case YY_STATE_EOF(S_surfxml_foreach):
5877 case YY_STATE_EOF(S_surfxml_foreach_1):
5878 case YY_STATE_EOF(S_surfxml_host_1):
5879 case YY_STATE_EOF(S_surfxml_link_1):
5880 case YY_STATE_EOF(S_surfxml_route_c_multi):
5881 case YY_STATE_EOF(S_surfxml_route_c_multi_1):
5882 case YY_STATE_EOF(S_surfxml_route_1):
5883 case YY_STATE_EOF(S_surfxml_process_1):
5884 case YY_STATE_EOF(IMPOSSIBLE):
5887 case YY_END_OF_BUFFER:
5889 /* Amount of text matched not including the EOB char. */
5890 int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
5892 /* Undo the effects of YY_DO_BEFORE_ACTION. */
5893 *yy_cp = (yy_hold_char);
5894 YY_RESTORE_YY_MORE_OFFSET
5896 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
5898 /* We're scanning a new file or input source. It's
5899 * possible that this happened because the user
5900 * just pointed surf_parse_in at a new source and called
5901 * surf_parse_lex(). If so, then we have to assure
5902 * consistency between YY_CURRENT_BUFFER and our
5903 * globals. Here is the right place to do so, because
5904 * this is the first action (other than possibly a
5905 * back-up) that will match for the new input source.
5907 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
5908 YY_CURRENT_BUFFER_LVALUE->yy_input_file = surf_parse_in;
5909 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
5912 /* Note that here we test for yy_c_buf_p "<=" to the position
5913 * of the first EOB in the buffer, since yy_c_buf_p will
5914 * already have been incremented past the NUL character
5915 * (since all states make transitions on EOB to the
5916 * end-of-buffer state). Contrast this with the test
5919 if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
5920 { /* This was really a NUL. */
5921 yy_state_type yy_next_state;
5923 (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
5925 yy_current_state = yy_get_previous_state( );
5927 /* Okay, we're now positioned to make the NUL
5928 * transition. We couldn't have
5929 * yy_get_previous_state() go ahead and do it
5930 * for us because it doesn't know how to deal
5931 * with the possibility of jamming (and we don't
5932 * want to build jamming into it because then it
5933 * will run more slowly).
5936 yy_next_state = yy_try_NUL_trans( yy_current_state );
5938 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
5940 if ( yy_next_state )
5942 /* Consume the NUL. */
5943 yy_cp = ++(yy_c_buf_p);
5944 yy_current_state = yy_next_state;
5950 yy_cp = (yy_c_buf_p);
5951 goto yy_find_action;
5955 else switch ( yy_get_next_buffer( ) )
5957 case EOB_ACT_END_OF_FILE:
5959 (yy_did_buffer_switch_on_eof) = 0;
5961 if ( surf_parse_wrap( ) )
5963 /* Note: because we've taken care in
5964 * yy_get_next_buffer() to have set up
5965 * surf_parse_text, we can now set up
5966 * yy_c_buf_p so that if some total
5967 * hoser (like flex itself) wants to
5968 * call the scanner after we return the
5969 * YY_NULL, it'll still work - another
5970 * YY_NULL will get returned.
5972 (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
5974 yy_act = YY_STATE_EOF(YY_START);
5980 if ( ! (yy_did_buffer_switch_on_eof) )
5986 case EOB_ACT_CONTINUE_SCAN:
5988 (yytext_ptr) + yy_amount_of_matched_text;
5990 yy_current_state = yy_get_previous_state( );
5992 yy_cp = (yy_c_buf_p);
5993 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
5996 case EOB_ACT_LAST_MATCH:
5998 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
6000 yy_current_state = yy_get_previous_state( );
6002 yy_cp = (yy_c_buf_p);
6003 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
6004 goto yy_find_action;
6011 "fatal flex scanner internal error--no action found" );
6012 } /* end of action switch */
6013 } /* end of scanning one token */
6014 } /* end of surf_parse_lex */
6016 /* yy_get_next_buffer - try to read in a new buffer
6018 * Returns a code representing an action:
6019 * EOB_ACT_LAST_MATCH -
6020 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
6021 * EOB_ACT_END_OF_FILE - end of file
6023 static int yy_get_next_buffer (void)
6025 register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
6026 register char *source = (yytext_ptr);
6027 register int number_to_move, i;
6030 if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
6032 "fatal flex scanner internal error--end of buffer missed" );
6034 if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
6035 { /* Don't try to fill the buffer, so this is an EOF. */
6036 if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
6038 /* We matched a single character, the EOB, so
6039 * treat this as a final EOF.
6041 return EOB_ACT_END_OF_FILE;
6046 /* We matched some text prior to the EOB, first
6049 return EOB_ACT_LAST_MATCH;
6053 /* Try to read more data. */
6055 /* First move last chars to start of buffer. */
6056 number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
6058 for ( i = 0; i < number_to_move; ++i )
6059 *(dest++) = *(source++);
6061 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
6062 /* don't do the read, it's not guaranteed to return an EOF,
6065 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
6070 YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
6072 while ( num_to_read <= 0 )
6073 { /* Not enough room in the buffer - grow it. */
6075 /* just a shorter name for the current buffer */
6076 YY_BUFFER_STATE b = YY_CURRENT_BUFFER;
6078 int yy_c_buf_p_offset =
6079 (int) ((yy_c_buf_p) - b->yy_ch_buf);
6081 if ( b->yy_is_our_buffer )
6083 int new_size = b->yy_buf_size * 2;
6085 if ( new_size <= 0 )
6086 b->yy_buf_size += b->yy_buf_size / 8;
6088 b->yy_buf_size *= 2;
6090 b->yy_ch_buf = (char *)
6091 /* Include room in for 2 EOB chars. */
6092 surf_parse_realloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 );
6095 /* Can't grow it, we don't own it. */
6098 if ( ! b->yy_ch_buf )
6100 "fatal error - scanner input buffer overflow" );
6102 (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
6104 num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
6109 if ( num_to_read > YY_READ_BUF_SIZE )
6110 num_to_read = YY_READ_BUF_SIZE;
6112 /* Read in more data. */
6113 YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
6114 (yy_n_chars), (size_t) num_to_read );
6116 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
6119 if ( (yy_n_chars) == 0 )
6121 if ( number_to_move == YY_MORE_ADJ )
6123 ret_val = EOB_ACT_END_OF_FILE;
6124 surf_parse_restart(surf_parse_in );
6129 ret_val = EOB_ACT_LAST_MATCH;
6130 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
6131 YY_BUFFER_EOF_PENDING;
6136 ret_val = EOB_ACT_CONTINUE_SCAN;
6138 if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
6139 /* Extend the array by 50%, plus the number we really need. */
6140 yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
6141 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) surf_parse_realloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size );
6142 if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
6143 YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
6146 (yy_n_chars) += number_to_move;
6147 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
6148 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
6150 (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
6155 /* yy_get_previous_state - get the state just before the EOB char was reached */
6157 static yy_state_type yy_get_previous_state (void)
6159 register yy_state_type yy_current_state;
6160 register char *yy_cp;
6162 yy_current_state = (yy_start);
6164 for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
6166 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
6167 if ( yy_accept[yy_current_state] )
6169 (yy_last_accepting_state) = yy_current_state;
6170 (yy_last_accepting_cpos) = yy_cp;
6172 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
6174 yy_current_state = (int) yy_def[yy_current_state];
6175 if ( yy_current_state >= 2035 )
6176 yy_c = yy_meta[(unsigned int) yy_c];
6178 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
6181 return yy_current_state;
6184 /* yy_try_NUL_trans - try to make a transition on the NUL character
6187 * next_state = yy_try_NUL_trans( current_state );
6189 static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state )
6191 register int yy_is_jam;
6192 register char *yy_cp = (yy_c_buf_p);
6194 register YY_CHAR yy_c = 1;
6195 if ( yy_accept[yy_current_state] )
6197 (yy_last_accepting_state) = yy_current_state;
6198 (yy_last_accepting_cpos) = yy_cp;
6200 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
6202 yy_current_state = (int) yy_def[yy_current_state];
6203 if ( yy_current_state >= 2035 )
6204 yy_c = yy_meta[(unsigned int) yy_c];
6206 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
6207 yy_is_jam = (yy_current_state == 2034);
6209 return yy_is_jam ? 0 : yy_current_state;
6214 static int yyinput (void)
6216 static int input (void)
6222 *(yy_c_buf_p) = (yy_hold_char);
6224 if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
6226 /* yy_c_buf_p now points to the character we want to return.
6227 * If this occurs *before* the EOB characters, then it's a
6228 * valid NUL; if not, then we've hit the end of the buffer.
6230 if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
6231 /* This was really a NUL. */
6232 *(yy_c_buf_p) = '\0';
6235 { /* need more input */
6236 int offset = (yy_c_buf_p) - (yytext_ptr);
6239 switch ( yy_get_next_buffer( ) )
6241 case EOB_ACT_LAST_MATCH:
6242 /* This happens because yy_g_n_b()
6243 * sees that we've accumulated a
6244 * token and flags that we need to
6245 * try matching the token before
6246 * proceeding. But for input(),
6247 * there's no matching to consider.
6248 * So convert the EOB_ACT_LAST_MATCH
6249 * to EOB_ACT_END_OF_FILE.
6252 /* Reset buffer status. */
6253 surf_parse_restart(surf_parse_in );
6257 case EOB_ACT_END_OF_FILE:
6259 if ( surf_parse_wrap( ) )
6262 if ( ! (yy_did_buffer_switch_on_eof) )
6271 case EOB_ACT_CONTINUE_SCAN:
6272 (yy_c_buf_p) = (yytext_ptr) + offset;
6278 c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */
6279 *(yy_c_buf_p) = '\0'; /* preserve surf_parse_text */
6280 (yy_hold_char) = *++(yy_c_buf_p);
6284 surf_parse_lineno++;
6289 #endif /* ifndef YY_NO_INPUT */
6291 /** Immediately switch to a different input stream.
6292 * @param input_file A readable stream.
6294 * @note This function does not reset the start condition to @c INITIAL .
6296 void surf_parse_restart (FILE * input_file )
6299 if ( ! YY_CURRENT_BUFFER ){
6300 surf_parse_ensure_buffer_stack ();
6301 YY_CURRENT_BUFFER_LVALUE =
6302 surf_parse__create_buffer(surf_parse_in,YY_BUF_SIZE );
6305 surf_parse__init_buffer(YY_CURRENT_BUFFER,input_file );
6306 surf_parse__load_buffer_state( );
6309 /** Switch to a different input buffer.
6310 * @param new_buffer The new input buffer.
6313 void surf_parse__switch_to_buffer (YY_BUFFER_STATE new_buffer )
6316 /* TODO. We should be able to replace this entire function body
6318 * surf_parse_pop_buffer_state();
6319 * surf_parse_push_buffer_state(new_buffer);
6321 surf_parse_ensure_buffer_stack ();
6322 if ( YY_CURRENT_BUFFER == new_buffer )
6325 if ( YY_CURRENT_BUFFER )
6327 /* Flush out information for old buffer. */
6328 *(yy_c_buf_p) = (yy_hold_char);
6329 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
6330 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
6333 YY_CURRENT_BUFFER_LVALUE = new_buffer;
6334 surf_parse__load_buffer_state( );
6336 /* We don't actually know whether we did this switch during
6337 * EOF (surf_parse_wrap()) processing, but the only time this flag
6338 * is looked at is after surf_parse_wrap() is called, so it's safe
6339 * to go ahead and always set it.
6341 (yy_did_buffer_switch_on_eof) = 1;
6344 static void surf_parse__load_buffer_state (void)
6346 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
6347 (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
6348 surf_parse_in = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
6349 (yy_hold_char) = *(yy_c_buf_p);
6352 /** Allocate and initialize an input buffer state.
6353 * @param file A readable stream.
6354 * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
6356 * @return the allocated buffer state.
6358 YY_BUFFER_STATE surf_parse__create_buffer (FILE * file, int size )
6362 b = (YY_BUFFER_STATE) surf_parse_alloc(sizeof( struct yy_buffer_state ) );
6364 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__create_buffer()" );
6366 b->yy_buf_size = size;
6368 /* yy_ch_buf has to be 2 characters longer than the size given because
6369 * we need to put in 2 end-of-buffer characters.
6371 b->yy_ch_buf = (char *) surf_parse_alloc(b->yy_buf_size + 2 );
6372 if ( ! b->yy_ch_buf )
6373 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__create_buffer()" );
6375 b->yy_is_our_buffer = 1;
6377 surf_parse__init_buffer(b,file );
6382 /** Destroy the buffer.
6383 * @param b a buffer created with surf_parse__create_buffer()
6386 void surf_parse__delete_buffer (YY_BUFFER_STATE b )
6392 if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
6393 YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
6395 if ( b->yy_is_our_buffer )
6396 surf_parse_free((void *) b->yy_ch_buf );
6398 surf_parse_free((void *) b );
6402 extern int isatty (int );
6403 #endif /* __cplusplus */
6405 /* Initializes or reinitializes a buffer.
6406 * This function is sometimes called more than once on the same buffer,
6407 * such as during a surf_parse_restart() or at EOF.
6409 static void surf_parse__init_buffer (YY_BUFFER_STATE b, FILE * file )
6414 surf_parse__flush_buffer(b );
6416 b->yy_input_file = file;
6417 b->yy_fill_buffer = 1;
6419 /* If b is the current buffer, then surf_parse__init_buffer was _probably_
6420 * called from surf_parse_restart() or through yy_get_next_buffer.
6421 * In that case, we don't want to reset the lineno or column.
6423 if (b != YY_CURRENT_BUFFER){
6424 b->yy_bs_lineno = 1;
6425 b->yy_bs_column = 0;
6428 b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
6433 /** Discard all buffered characters. On the next scan, YY_INPUT will be called.
6434 * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
6437 void surf_parse__flush_buffer (YY_BUFFER_STATE b )
6444 /* We always need two end-of-buffer characters. The first causes
6445 * a transition to the end-of-buffer state. The second causes
6446 * a jam in that state.
6448 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
6449 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
6451 b->yy_buf_pos = &b->yy_ch_buf[0];
6454 b->yy_buffer_status = YY_BUFFER_NEW;
6456 if ( b == YY_CURRENT_BUFFER )
6457 surf_parse__load_buffer_state( );
6460 /** Pushes the new state onto the stack. The new state becomes
6461 * the current state. This function will allocate the stack
6463 * @param new_buffer The new state.
6466 void surf_parse_push_buffer_state (YY_BUFFER_STATE new_buffer )
6468 if (new_buffer == NULL)
6471 surf_parse_ensure_buffer_stack();
6473 /* This block is copied from surf_parse__switch_to_buffer. */
6474 if ( YY_CURRENT_BUFFER )
6476 /* Flush out information for old buffer. */
6477 *(yy_c_buf_p) = (yy_hold_char);
6478 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
6479 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
6482 /* Only push if top exists. Otherwise, replace top. */
6483 if (YY_CURRENT_BUFFER)
6484 (yy_buffer_stack_top)++;
6485 YY_CURRENT_BUFFER_LVALUE = new_buffer;
6487 /* copied from surf_parse__switch_to_buffer. */
6488 surf_parse__load_buffer_state( );
6489 (yy_did_buffer_switch_on_eof) = 1;
6492 /** Removes and deletes the top of the stack, if present.
6493 * The next element becomes the new top.
6496 void surf_parse_pop_buffer_state (void)
6498 if (!YY_CURRENT_BUFFER)
6501 surf_parse__delete_buffer(YY_CURRENT_BUFFER );
6502 YY_CURRENT_BUFFER_LVALUE = NULL;
6503 if ((yy_buffer_stack_top) > 0)
6504 --(yy_buffer_stack_top);
6506 if (YY_CURRENT_BUFFER) {
6507 surf_parse__load_buffer_state( );
6508 (yy_did_buffer_switch_on_eof) = 1;
6512 /* Allocates the stack if it does not exist.
6513 * Guarantees space for at least one push.
6515 static void surf_parse_ensure_buffer_stack (void)
6519 if (!(yy_buffer_stack)) {
6521 /* First allocation is just for 2 elements, since we don't know if this
6522 * scanner will even need a stack. We use 2 instead of 1 to avoid an
6523 * immediate realloc on the next call.
6526 (yy_buffer_stack) = (struct yy_buffer_state**)surf_parse_alloc
6527 (num_to_alloc * sizeof(struct yy_buffer_state*)
6529 if ( ! (yy_buffer_stack) )
6530 YY_FATAL_ERROR( "out of dynamic memory in surf_parse_ensure_buffer_stack()" );
6532 memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
6534 (yy_buffer_stack_max) = num_to_alloc;
6535 (yy_buffer_stack_top) = 0;
6539 if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
6541 /* Increase the buffer to prepare for a possible push. */
6542 int grow_size = 8 /* arbitrary grow size */;
6544 num_to_alloc = (yy_buffer_stack_max) + grow_size;
6545 (yy_buffer_stack) = (struct yy_buffer_state**)surf_parse_realloc
6547 num_to_alloc * sizeof(struct yy_buffer_state*)
6549 if ( ! (yy_buffer_stack) )
6550 YY_FATAL_ERROR( "out of dynamic memory in surf_parse_ensure_buffer_stack()" );
6552 /* zero only the new slots.*/
6553 memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
6554 (yy_buffer_stack_max) = num_to_alloc;
6558 /** Setup the input buffer state to scan directly from a user-specified character buffer.
6559 * @param base the character buffer
6560 * @param size the size in bytes of the character buffer
6562 * @return the newly allocated buffer state object.
6564 YY_BUFFER_STATE surf_parse__scan_buffer (char * base, yy_size_t size )
6569 base[size-2] != YY_END_OF_BUFFER_CHAR ||
6570 base[size-1] != YY_END_OF_BUFFER_CHAR )
6571 /* They forgot to leave room for the EOB's. */
6574 b = (YY_BUFFER_STATE) surf_parse_alloc(sizeof( struct yy_buffer_state ) );
6576 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__scan_buffer()" );
6578 b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
6579 b->yy_buf_pos = b->yy_ch_buf = base;
6580 b->yy_is_our_buffer = 0;
6581 b->yy_input_file = 0;
6582 b->yy_n_chars = b->yy_buf_size;
6583 b->yy_is_interactive = 0;
6585 b->yy_fill_buffer = 0;
6586 b->yy_buffer_status = YY_BUFFER_NEW;
6588 surf_parse__switch_to_buffer(b );
6593 /** Setup the input buffer state to scan a string. The next call to surf_parse_lex() will
6594 * scan from a @e copy of @a str.
6595 * @param yystr a NUL-terminated string to scan
6597 * @return the newly allocated buffer state object.
6598 * @note If you want to scan bytes that may contain NUL values, then use
6599 * surf_parse__scan_bytes() instead.
6601 YY_BUFFER_STATE surf_parse__scan_string (yyconst char * yystr )
6604 return surf_parse__scan_bytes(yystr,strlen(yystr) );
6607 /** Setup the input buffer state to scan the given bytes. The next call to surf_parse_lex() will
6608 * scan from a @e copy of @a bytes.
6609 * @param yybytes the byte buffer to scan
6610 * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
6612 * @return the newly allocated buffer state object.
6614 YY_BUFFER_STATE surf_parse__scan_bytes (yyconst char * yybytes, int _yybytes_len )
6621 /* Get memory for full buffer, including space for trailing EOB's. */
6622 n = _yybytes_len + 2;
6623 buf = (char *) surf_parse_alloc(n );
6625 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__scan_bytes()" );
6627 for ( i = 0; i < _yybytes_len; ++i )
6628 buf[i] = yybytes[i];
6630 buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
6632 b = surf_parse__scan_buffer(buf,n );
6634 YY_FATAL_ERROR( "bad buffer in surf_parse__scan_bytes()" );
6636 /* It's okay to grow etc. this buffer, and we should throw it
6637 * away when we're done.
6639 b->yy_is_our_buffer = 1;
6644 static void yy_push_state (int new_state )
6646 if ( (yy_start_stack_ptr) >= (yy_start_stack_depth) )
6650 (yy_start_stack_depth) += YY_START_STACK_INCR;
6651 new_size = (yy_start_stack_depth) * sizeof( int );
6653 if ( ! (yy_start_stack) )
6654 (yy_start_stack) = (int *) surf_parse_alloc(new_size );
6657 (yy_start_stack) = (int *) surf_parse_realloc((void *) (yy_start_stack),new_size );
6659 if ( ! (yy_start_stack) )
6660 YY_FATAL_ERROR( "out of memory expanding start-condition stack" );
6663 (yy_start_stack)[(yy_start_stack_ptr)++] = YY_START;
6668 static void yy_pop_state (void)
6670 if ( --(yy_start_stack_ptr) < 0 )
6671 YY_FATAL_ERROR( "start-condition stack underflow" );
6673 BEGIN((yy_start_stack)[(yy_start_stack_ptr)]);
6676 #ifndef YY_EXIT_FAILURE
6677 #define YY_EXIT_FAILURE 2
6680 static void yy_fatal_error (yyconst char* msg )
6682 (void) fprintf( stderr, "%s\n", msg );
6683 exit( YY_EXIT_FAILURE );
6686 /* Redefine yyless() so it works in section 3 code. */
6692 /* Undo effects of setting up surf_parse_text. */ \
6693 int yyless_macro_arg = (n); \
6694 YY_LESS_LINENO(yyless_macro_arg);\
6695 surf_parse_text[surf_parse_leng] = (yy_hold_char); \
6696 (yy_c_buf_p) = surf_parse_text + yyless_macro_arg; \
6697 (yy_hold_char) = *(yy_c_buf_p); \
6698 *(yy_c_buf_p) = '\0'; \
6699 surf_parse_leng = yyless_macro_arg; \
6703 /* Accessor methods (get/set functions) to struct members. */
6705 /** Get the current line number.
6708 int surf_parse_get_lineno (void)
6711 return surf_parse_lineno;
6714 /** Get the input stream.
6717 FILE *surf_parse_get_in (void)
6719 return surf_parse_in;
6722 /** Get the output stream.
6725 FILE *surf_parse_get_out (void)
6727 return surf_parse_out;
6730 /** Get the length of the current token.
6733 int surf_parse_get_leng (void)
6735 return surf_parse_leng;
6738 /** Get the current token.
6742 char *surf_parse_get_text (void)
6744 return surf_parse_text;
6747 /** Set the current line number.
6748 * @param line_number
6751 void surf_parse_set_lineno (int line_number )
6754 surf_parse_lineno = line_number;
6757 /** Set the input stream. This does not discard the current
6759 * @param in_str A readable stream.
6761 * @see surf_parse__switch_to_buffer
6763 void surf_parse_set_in (FILE * in_str )
6765 surf_parse_in = in_str ;
6768 void surf_parse_set_out (FILE * out_str )
6770 surf_parse_out = out_str ;
6773 int surf_parse_get_debug (void)
6775 return surf_parse__flex_debug;
6778 void surf_parse_set_debug (int bdebug )
6780 surf_parse__flex_debug = bdebug ;
6783 static int yy_init_globals (void)
6785 /* Initialization is the same as for the non-reentrant scanner.
6786 * This function is called from surf_parse_lex_destroy(), so don't allocate here.
6789 /* We do not touch surf_parse_lineno unless the option is enabled. */
6790 surf_parse_lineno = 1;
6792 (yy_buffer_stack) = 0;
6793 (yy_buffer_stack_top) = 0;
6794 (yy_buffer_stack_max) = 0;
6795 (yy_c_buf_p) = (char *) 0;
6799 (yy_start_stack_ptr) = 0;
6800 (yy_start_stack_depth) = 0;
6801 (yy_start_stack) = NULL;
6803 /* Defined in main.c */
6805 surf_parse_in = stdin;
6806 surf_parse_out = stdout;
6808 surf_parse_in = (FILE *) 0;
6809 surf_parse_out = (FILE *) 0;
6812 /* For future reference: Set errno on error, since we are called by
6813 * surf_parse_lex_init()
6818 /* surf_parse_lex_destroy is for both reentrant and non-reentrant scanners. */
6819 int surf_parse_lex_destroy (void)
6822 /* Pop the buffer stack, destroying each element. */
6823 while(YY_CURRENT_BUFFER){
6824 surf_parse__delete_buffer(YY_CURRENT_BUFFER );
6825 YY_CURRENT_BUFFER_LVALUE = NULL;
6826 surf_parse_pop_buffer_state();
6829 /* Destroy the stack itself. */
6830 surf_parse_free((yy_buffer_stack) );
6831 (yy_buffer_stack) = NULL;
6833 /* Destroy the start condition stack. */
6834 surf_parse_free((yy_start_stack) );
6835 (yy_start_stack) = NULL;
6837 /* Reset the globals. This is important in a non-reentrant scanner so the next time
6838 * surf_parse_lex() is called, initialization will occur. */
6845 * Internal utility routines.
6849 static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
6852 for ( i = 0; i < n; ++i )
6857 #ifdef YY_NEED_STRLEN
6858 static int yy_flex_strlen (yyconst char * s )
6861 for ( n = 0; s[n]; ++n )
6868 void *surf_parse_alloc (yy_size_t size )
6870 return (void *) malloc( size );
6873 void *surf_parse_realloc (void * ptr, yy_size_t size )
6875 /* The cast to (char *) in the following accommodates both
6876 * implementations that use char* generic pointers, and those
6877 * that use void* generic pointers. It works with the latter
6878 * because both ANSI C and C++ allow castless assignment from
6879 * any pointer type to void*, and deal with argument conversions
6880 * as though doing an assignment.
6882 return (void *) realloc( (char *) ptr, size );
6885 void surf_parse_free (void * ptr )
6887 free( (char *) ptr ); /* see surf_parse_realloc() for (char *) cast */
6890 #define YYTABLES_NAME "yytables"
6892 /* Element context stack lookup. */
6893 int surfxml_element_context(int i)
6895 return (0<i && i<yy_start_stack_depth
6896 ? yy_start_stack[yy_start_stack_ptr - i]
6901 void print_yy_stack(char* fmt, ...)
6903 int i = 0; va_list ap; va_start(ap, fmt);
6904 vfprintf(stderr, fmt, ap);
6905 if (surfxml_statenames) {
6906 for (i=1; i<yy_start_stack_ptr; i++) {
6907 fprintf(stderr, "%s/", surfxml_statenames[yy_start_stack[i] ]);
6909 fprintf(stderr,"%s\n", surfxml_statenames[YY_START]);
6914 void print_surfxml_bufferstack()
6917 fputs("Buffer: ", stderr);
6918 for (i = 0; i < blimit; i++) {
6919 if ( surfxml_bufferstack[i] == '\377' ) break;
6920 putc(surfxml_bufferstack[i], stderr);
6925 static void debug_enter(int state, const char* statename) {
6926 yy_push_state(state);
6927 if (surf_parse__flex_debug) {
6928 print_yy_stack("--ENTER(%s) : ",statename);
6929 print_surfxml_bufferstack();
6933 static void debug_leave(void) {
6934 if (surf_parse__flex_debug) {
6935 print_yy_stack("--LEAVE : ");
6936 print_surfxml_bufferstack();
6941 static void debug_set(int state, const char* statename) {
6943 if (surf_parse__flex_debug) print_yy_stack("--SET(%s) : ",statename);
6947 static void cleanup(void)
6949 if (surfxml_statenames) {
6950 free(surfxml_statenames);
6951 surfxml_statenames = NULL;
6953 free(surfxml_bufferstack);
6954 surfxml_bufferstack = NULL;
6960 static int fail(const char* fmt, ...)
6962 int chars_left, used;
6963 va_list ap; va_start(ap, fmt);
6964 #ifdef FLEXML_yylineno
6965 used = sprintf(flexml_err_msg,
6966 "Invalid XML (XML input line %d, state %d): ",
6967 surf_parse_lineno, YY_START);
6969 used = sprintf(flexml_err_msg,
6970 "Invalid XML (state %d): ",
6973 chars_left = flexml_max_err_msg_size - used - 1;
6974 vsnprintf(flexml_err_msg + used, chars_left, fmt, ap);
6977 #ifndef FLEXML_quiet_parser
6978 /* print directly to sdterr */
6979 fprintf(stderr, "%s\n", flexml_err_msg);
6980 flexml_err_msg[0] = '\0';