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 351
407 #define YY_END_OF_BUFFER 352
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[2023] =
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, 352, 350, 15, 10, 10, 15, 15, 330,
433 10, 330, 5, 6, 5, 8, 9, 8, 346, 338,
434 339, 347, 344, 347, 345, 349, 338, 339, 349, 350,
435 26, 10, 26, 26, 26, 24, 26, 26, 30, 10,
436 30, 30, 350, 350, 30, 37, 10, 37, 37, 37,
437 35, 37, 41, 10, 41, 52, 10, 52, 52, 52,
439 50, 52, 52, 52, 347, 346, 74, 10, 74, 74,
440 74, 72, 74, 74, 74, 74, 78, 10, 78, 350,
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, 350, 350, 129, 10, 129, 156, 10,
445 156, 156, 156, 154, 156, 156, 156, 156, 156, 160,
446 10, 160, 160, 169, 10, 169, 169, 169, 167, 169,
447 169, 173, 10, 173, 196, 10, 196, 196, 196, 194,
448 196, 196, 196, 196, 196, 196, 200, 10, 200, 207,
450 10, 207, 207, 207, 205, 207, 211, 10, 211, 236,
451 10, 236, 236, 236, 234, 236, 236, 236, 236, 240,
452 10, 240, 240, 259, 10, 259, 259, 259, 257, 259,
453 259, 259, 350, 263, 10, 263, 263, 286, 10, 286,
454 286, 286, 284, 286, 286, 286, 286, 290, 10, 290,
455 290, 297, 10, 297, 297, 297, 295, 297, 301, 10,
456 301, 314, 10, 314, 314, 314, 312, 314, 314, 314,
457 314, 318, 10, 318, 350, 318, 325, 10, 325, 325,
458 325, 323, 325, 329, 10, 329, 10, 0, 2, 2,
459 0, 4, 7, 341, 340, 0, 0, 0, 0, 0,
461 0, 0, 25, 27, 27, 27, 0, 0, 0, 0,
462 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
463 0, 0, 0, 0, 0, 0, 0, 0, 0, 36,
464 38, 38, 0, 51, 53, 53, 53, 53, 0, 0,
465 0, 73, 75, 75, 75, 75, 75, 75, 75, 0,
466 0, 96, 98, 98, 98, 98, 0, 113, 115, 115,
467 115, 115, 115, 0, 124, 126, 126, 0, 155, 157,
468 157, 157, 157, 157, 157, 157, 0, 168, 170, 170,
469 170, 0, 195, 197, 197, 197, 197, 197, 197, 197,
470 197, 197, 0, 206, 208, 208, 0, 235, 237, 237,
472 237, 237, 237, 237, 0, 258, 260, 260, 260, 260,
473 260, 0, 0, 285, 287, 287, 287, 287, 287, 0,
474 296, 298, 298, 0, 313, 315, 315, 315, 315, 315,
475 0, 0, 324, 326, 326, 0, 0, 0, 0, 0,
476 3, 0, 0, 0, 0, 0, 0, 0, 348, 0,
477 27, 27, 0, 0, 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, 38,
480 0, 0, 53, 0, 0, 53, 0, 0, 0, 343,
481 75, 0, 0, 75, 75, 75, 75, 0, 0, 0,
483 98, 98, 98, 0, 0, 0, 0, 115, 115, 115,
484 0, 0, 126, 0, 0, 157, 0, 0, 157, 157,
485 157, 157, 0, 0, 0, 0, 170, 0, 0, 197,
486 0, 0, 0, 0, 197, 197, 197, 197, 197, 0,
487 0, 0, 0, 0, 0, 237, 0, 0, 237, 237,
488 237, 0, 0, 260, 260, 260, 260, 0, 0, 0,
489 287, 287, 287, 287, 0, 0, 0, 0, 0, 0,
490 315, 315, 315, 315, 0, 0, 0, 326, 0, 0,
491 0, 14, 1, 0, 0, 336, 0, 0, 0, 333,
492 332, 0, 0, 27, 27, 0, 0, 29, 0, 0,
494 0, 0, 0, 0, 0, 0, 0, 0, 0, 103,
495 0, 0, 0, 0, 0, 0, 0, 102, 0, 0,
496 0, 0, 0, 0, 38, 0, 0, 40, 0, 53,
497 0, 45, 44, 53, 0, 0, 0, 55, 0, 75,
498 0, 59, 58, 0, 0, 75, 0, 0, 75, 0,
499 0, 77, 0, 0, 98, 98, 98, 0, 0, 100,
500 0, 0, 105, 104, 115, 115, 115, 0, 0, 117,
501 0, 126, 0, 0, 128, 0, 157, 0, 133, 132,
502 157, 157, 157, 157, 0, 0, 159, 0, 0, 164,
503 163, 170, 0, 0, 172, 0, 197, 197, 0, 187,
505 186, 0, 177, 176, 0, 0, 197, 197, 197, 197,
506 0, 0, 199, 0, 0, 204, 203, 0, 0, 210,
507 0, 237, 0, 215, 214, 237, 237, 237, 0, 0,
508 239, 0, 260, 0, 0, 0, 0, 260, 0, 0,
509 0, 262, 0, 287, 0, 0, 287, 0, 0, 0,
510 0, 289, 0, 0, 294, 293, 0, 0, 300, 0,
511 315, 315, 315, 315, 0, 0, 317, 0, 0, 326,
512 0, 0, 328, 0, 0, 0, 337, 331, 0, 0,
513 0, 27, 27, 0, 0, 0, 0, 131, 0, 213,
514 0, 0, 161, 0, 0, 103, 0, 0, 0, 130,
516 212, 0, 0, 102, 0, 0, 0, 0, 0, 0,
517 0, 0, 0, 0, 0, 53, 0, 0, 75, 0,
518 63, 62, 0, 0, 0, 61, 60, 75, 0, 162,
519 98, 0, 0, 98, 0, 115, 115, 115, 0, 126,
520 0, 157, 157, 157, 157, 157, 0, 170, 0, 197,
521 197, 0, 189, 188, 197, 197, 197, 197, 0, 0,
522 237, 237, 237, 237, 0, 260, 0, 246, 245, 0,
523 244, 243, 260, 212, 0, 287, 0, 269, 268, 287,
524 0, 267, 266, 0, 0, 315, 0, 0, 315, 315,
525 0, 0, 326, 0, 0, 0, 0, 12, 0, 334,
527 335, 0, 27, 27, 0, 0, 0, 0, 131, 0,
528 213, 0, 0, 0, 161, 0, 265, 43, 0, 0,
529 130, 212, 0, 265, 42, 0, 264, 0, 264, 42,
530 0, 34, 33, 0, 0, 47, 46, 53, 0, 0,
531 75, 0, 65, 64, 75, 0, 162, 98, 0, 0,
532 0, 0, 0, 0, 115, 115, 115, 0, 116, 126,
533 0, 157, 157, 157, 0, 0, 0, 0, 157, 0,
534 0, 0, 0, 0, 0, 197, 0, 0, 197, 197,
535 197, 0, 0, 237, 237, 237, 0, 0, 237, 0,
536 260, 260, 0, 0, 287, 287, 0, 0, 315, 0,
538 305, 304, 315, 315, 0, 0, 0, 0, 0, 0,
539 0, 0, 11, 0, 27, 27, 27, 0, 0, 0,
540 0, 0, 0, 0, 0, 57, 265, 0, 202, 43,
541 0, 0, 0, 56, 201, 42, 0, 264, 0, 0,
542 0, 0, 53, 0, 0, 75, 75, 0, 98, 0,
543 0, 0, 0, 0, 0, 0, 0, 0, 92, 91,
544 0, 0, 0, 115, 0, 0, 0, 0, 0, 157,
545 157, 157, 0, 135, 134, 0, 0, 0, 157, 0,
546 158, 0, 166, 165, 0, 171, 0, 191, 190, 0,
547 0, 0, 185, 184, 0, 0, 197, 0, 0, 0,
549 0, 237, 237, 237, 0, 0, 0, 237, 0, 238,
550 0, 0, 260, 0, 0, 0, 0, 287, 0, 0,
551 315, 315, 315, 0, 0, 0, 322, 321, 0, 0,
552 0, 0, 0, 0, 0, 27, 27, 0, 0, 175,
553 120, 32, 0, 0, 303, 57, 0, 202, 0, 174,
554 119, 56, 201, 302, 0, 31, 0, 0, 53, 0,
555 0, 54, 75, 75, 0, 0, 0, 0, 0, 0,
556 0, 0, 0, 0, 0, 0, 0, 0, 0, 107,
557 106, 0, 0, 0, 109, 108, 0, 122, 121, 0,
558 157, 157, 157, 0, 0, 157, 0, 193, 192, 0,
560 179, 178, 0, 0, 0, 181, 180, 0, 0, 237,
561 0, 0, 237, 237, 0, 0, 237, 0, 0, 0,
562 260, 0, 0, 0, 0, 0, 287, 0, 288, 0,
563 315, 315, 315, 0, 0, 0, 0, 0, 0, 17,
564 0, 19, 18, 27, 27, 0, 319, 175, 120, 32,
565 291, 16, 303, 0, 0, 174, 119, 302, 0, 31,
566 0, 0, 53, 342, 75, 75, 0, 76, 0, 94,
567 93, 0, 0, 0, 0, 0, 0, 0, 0, 0,
568 0, 0, 0, 111, 110, 0, 157, 157, 157, 0,
569 0, 0, 0, 157, 0, 183, 182, 0, 0, 209,
571 237, 0, 221, 220, 237, 237, 0, 0, 0, 0,
572 237, 0, 0, 0, 0, 260, 292, 0, 0, 0,
573 0, 0, 287, 0, 0, 0, 315, 315, 0, 320,
574 0, 0, 0, 0, 17, 27, 27, 0, 319, 291,
575 16, 0, 0, 0, 0, 0, 39, 53, 0, 0,
576 75, 0, 0, 0, 0, 0, 0, 0, 0, 0,
577 0, 0, 0, 127, 157, 157, 157, 0, 141, 0,
578 140, 157, 0, 198, 0, 0, 237, 237, 237, 0,
579 225, 0, 224, 237, 0, 0, 0, 0, 0, 0,
580 0, 0, 292, 0, 0, 0, 0, 0, 0, 0,
582 287, 0, 0, 307, 306, 0, 0, 315, 0, 316,
583 320, 0, 0, 0, 0, 0, 0, 27, 0, 28,
584 0, 0, 0, 0, 53, 0, 0, 0, 75, 0,
585 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
586 157, 157, 157, 143, 142, 0, 0, 0, 217, 216,
587 237, 237, 237, 227, 226, 0, 0, 0, 0, 0,
588 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
589 0, 0, 0, 287, 287, 0, 299, 0, 311, 310,
590 0, 0, 0, 327, 0, 0, 0, 0, 21, 20,
591 0, 0, 242, 0, 241, 0, 0, 0, 0, 0,
593 0, 0, 75, 0, 0, 0, 0, 84, 0, 0,
594 0, 0, 83, 0, 157, 157, 157, 0, 145, 144,
595 237, 237, 237, 0, 229, 228, 0, 0, 0, 0,
596 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
597 0, 0, 0, 287, 287, 0, 309, 308, 0, 0,
598 0, 0, 23, 22, 242, 0, 241, 0, 0, 49,
599 48, 0, 0, 0, 0, 75, 0, 0, 0, 0,
600 0, 0, 0, 0, 0, 0, 0, 157, 157, 157,
601 237, 0, 0, 237, 0, 0, 0, 0, 0, 0,
602 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
604 0, 287, 287, 0, 0, 0, 0, 80, 79, 0,
605 0, 0, 0, 0, 0, 0, 0, 90, 0, 0,
606 0, 89, 0, 0, 0, 137, 136, 157, 157, 157,
607 157, 237, 0, 223, 222, 237, 0, 0, 0, 0,
608 0, 0, 256, 0, 255, 0, 0, 261, 0, 0,
609 0, 0, 0, 0, 0, 0, 287, 0, 0, 287,
610 0, 0, 0, 0, 0, 0, 80, 79, 0, 0,
611 0, 0, 0, 67, 66, 0, 0, 0, 0, 0,
612 0, 0, 157, 157, 157, 157, 0, 0, 0, 0,
613 0, 0, 0, 0, 0, 0, 254, 253, 0, 0,
615 0, 0, 0, 0, 0, 273, 272, 287, 0, 271,
616 270, 287, 0, 0, 0, 0, 0, 0, 0, 71,
617 0, 70, 88, 0, 0, 87, 0, 0, 0, 99,
618 157, 157, 157, 157, 0, 219, 218, 0, 0, 0,
619 0, 0, 250, 0, 0, 249, 0, 0, 281, 0,
620 0, 280, 287, 287, 0, 0, 0, 12, 0, 12,
621 0, 0, 0, 82, 86, 81, 85, 157, 157, 157,
622 157, 0, 0, 0, 0, 252, 248, 251, 247, 283,
623 279, 282, 278, 287, 287, 0, 0, 0, 0, 0,
624 0, 0, 0, 0, 0, 0, 0, 0, 157, 0,
626 0, 0, 0, 0, 0, 287, 287, 0, 0, 69,
627 68, 0, 139, 138, 0, 149, 148, 0, 147, 146,
628 157, 0, 153, 152, 0, 0, 0, 0, 287, 287,
629 0, 11, 157, 0, 0, 0, 0, 287, 287, 0,
630 157, 0, 0, 0, 0, 287, 287, 0, 157, 0,
631 0, 0, 0, 287, 287, 0, 0, 0, 0, 231,
632 0, 230, 287, 287, 0, 0, 151, 150, 233, 232,
633 287, 287, 0, 287, 287, 0, 287, 287, 0, 0,
634 287, 287, 0, 0, 287, 287, 0, 0, 287, 287,
635 0, 0, 0, 0, 0, 0, 0, 0, 0, 277,
637 276, 0, 275, 274, 0, 0, 0, 0, 0, 0,
638 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
642 static yyconst flex_int32_t yy_ec[256] =
644 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
645 1, 2, 4, 1, 1, 1, 1, 1, 1, 1,
646 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
647 1, 2, 5, 6, 7, 1, 1, 8, 9, 1,
648 1, 1, 1, 1, 10, 11, 12, 13, 13, 13,
649 13, 14, 13, 13, 13, 15, 13, 16, 17, 18,
650 19, 20, 21, 1, 22, 23, 24, 25, 26, 27,
651 28, 29, 30, 28, 31, 32, 33, 34, 35, 36,
652 28, 37, 38, 39, 28, 40, 41, 28, 42, 28,
653 43, 1, 44, 1, 45, 1, 46, 47, 48, 49,
655 50, 51, 52, 53, 54, 28, 55, 56, 57, 58,
656 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
657 69, 28, 1, 1, 1, 1, 1, 1, 1, 1,
658 1, 1, 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,
666 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,
674 static yyconst flex_int32_t yy_meta[70] =
676 1, 2, 2, 2, 1, 1, 1, 1, 1, 3,
677 3, 1, 4, 4, 4, 5, 6, 1, 7, 8,
678 1, 9, 9, 9, 9, 9, 9, 5, 5, 5,
679 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
680 5, 5, 1, 1, 5, 9, 9, 9, 9, 9,
681 9, 5, 5, 5, 5, 5, 5, 5, 5, 5,
682 5, 5, 5, 5, 5, 5, 5, 5, 5
685 static yyconst flex_int16_t yy_base[2256] =
687 0, 0, 0, 3, 6, 9, 12, 29, 16, 19,
688 14, 17, 33, 36, 49, 55, 45, 61, 66, 72,
689 105, 173, 75, 78, 83, 125, 128, 132, 135, 138,
690 193, 196, 200, 203, 206, 224, 242, 293, 262, 265,
691 344, 404, 271, 273, 464, 527, 269, 316, 320, 323,
692 364, 367, 371, 374, 590, 654, 424, 427, 718, 781,
693 431, 434, 844, 907, 484, 487, 491, 494, 497, 547,
694 970, 1033, 550, 554, 557, 560, 610, 613, 617, 620,
695 1096, 1162, 623, 674, 1228, 0, 677, 681, 1297, 1351,
696 684, 687, 1405, 1468, 738, 741, 745, 748, 751, 801,
698 804, 808, 1531, 1594, 811, 814, 864, 867, 871, 874,
699 877, 927, 1657, 1720, 930, 934, 937, 940, 990, 993,
700 997, 1000, 1783, 1837, 1003, 1053, 1891, 1954, 1056, 1060,
701 1063, 1066, 1116, 1119, 1123, 1126, 2017, 2083, 1129, 1182,
702 0, 0, 5066, 7094, 7094, 95, 100, 29, 41, 7094,
703 155, 51, 7094, 7094, 5055, 7094, 7094, 5043, 7094, 5058,
704 5042, 1141, 7094, 7094, 7094, 7094, 5036, 5032, 4990, 210,
705 7094, 158, 5012, 0, 142, 7094, 4977, 4969, 7094, 162,
706 2145, 2205, 160, 5007, 176, 7094, 165, 4998, 0, 149,
707 7094, 4961, 7094, 230, 378, 7094, 326, 4994, 0, 208,
709 7094, 4958, 4949, 4947, 379, 4950, 7094, 329, 4972, 0,
710 214, 7094, 4938, 4937, 238, 4915, 7094, 377, 11, 31,
711 4965, 7094, 399, 4948, 0, 435, 7094, 4907, 4905, 4888,
712 7094, 457, 441, 7094, 520, 4922, 0, 436, 7094, 4892,
713 4870, 4871, 4851, 7094, 583, 498, 7094, 640, 4894, 0,
714 499, 7094, 4862, 513, 4840, 7094, 644, 4879, 7094, 647,
715 4870, 0, 562, 7094, 4802, 34, 4821, 4797, 4788, 7094,
716 704, 177, 4838, 7094, 708, 4827, 0, 568, 7094, 4793,
717 4783, 7094, 711, 752, 7094, 772, 4808, 0, 631, 7094,
718 211, 4777, 4775, 93, 4773, 4753, 7094, 834, 818, 7094,
720 894, 4796, 0, 632, 7094, 4753, 7094, 897, 881, 7094,
721 901, 4781, 0, 695, 7094, 4739, 4735, 4736, 80, 7094,
722 957, 360, 4765, 7094, 960, 4755, 0, 696, 7094, 4726,
723 4709, 26, 304, 7094, 963, 330, 4746, 7094, 1149, 4726,
724 0, 885, 7094, 4694, 4675, 4679, 4673, 7094, 1152, 499,
725 4721, 7094, 1155, 4705, 0, 948, 7094, 4672, 7094, 1186,
726 1005, 7094, 1192, 4696, 0, 1004, 7094, 4650, 4654, 4655,
727 4643, 7094, 1205, 1100, 4694, 4691, 7094, 1208, 4678, 0,
728 1007, 7094, 4650, 7094, 1211, 1068, 1215, 429, 4627, 7094,
729 4683, 4665, 7094, 7094, 7094, 1306, 283, 4614, 4612, 4607,
731 4647, 4609, 7094, 0, 4598, 4601, 4586, 4583, 4584, 4580,
732 4574, 4570, 4573, 4, 166, 4567, 4554, 4558, 4546, 4545,
733 4541, 404, 4544, 4530, 38, 467, 4530, 712, 4523, 7094,
734 0, 4526, 4527, 7094, 0, 4523, 1320, 4516, 533, 4512,
735 4555, 7094, 0, 4514, 1323, 4486, 4507, 4493, 4497, 4477,
736 89, 7094, 0, 4488, 4462, 4473, 4453, 7094, 0, 1326,
737 4459, 4459, 4455, 4435, 7094, 0, 4429, 4441, 7094, 0,
738 4444, 1329, 4422, 4400, 4400, 4419, 4407, 7094, 0, 1373,
739 4398, 4393, 7094, 0, 4406, 1377, 1380, 4375, 4371, 4386,
740 4372, 4366, 4367, 7094, 0, 1383, 4348, 7094, 0, 4351,
742 1425, 4340, 4357, 4355, 4340, 7094, 0, 4327, 4326, 4340,
743 4326, 4323, 4308, 7094, 0, 4305, 4289, 4291, 4298, 4283,
744 7094, 0, 1428, 4287, 7094, 0, 4277, 4271, 4272, 4280,
745 4264, 4261, 7094, 0, 4265, 4267, 4286, 4295, 807, 4246,
746 7094, 1207, 0, 4229, 4229, 4269, 4268, 4224, 7094, 4231,
747 4213, 4213, 1431, 1434, 4218, 4203, 4205, 4201, 4215, 4194,
748 4202, 4187, 4187, 4178, 4170, 4186, 4165, 4167, 4164, 4155,
749 4154, 4145, 4145, 4157, 4143, 4135, 4141, 4122, 4139, 4128,
750 1437, 1489, 4127, 1494, 1497, 4108, 4137, 1551, 1556, 7094,
751 4106, 1559, 1514, 1562, 4097, 1565, 4108, 1619, 1627, 4090,
753 4091, 4097, 4083, 1622, 1630, 1677, 1583, 4079, 4065, 4067,
754 1682, 1695, 4068, 1685, 1740, 4058, 1691, 1642, 4059, 4062,
755 4056, 4037, 1745, 1748, 1751, 1710, 4035, 1755, 1808, 583,
756 1811, 1814, 1857, 1860, 1869, 4032, 4030, 4025, 4021, 1911,
757 1920, 1914, 1880, 1917, 1923, 4022, 1926, 1975, 4014, 3994,
758 3987, 1983, 1986, 3996, 1989, 1992, 3981, 3977, 2039, 2046,
759 3979, 1997, 3983, 2043, 2049, 2052, 2061, 2072, 2104, 2110,
760 3976, 3952, 3959, 3943, 2113, 2116, 3952, 3927, 2119, 2138,
761 3970, 7094, 7094, 315, 3922, 7094, 3934, 3933, 3878, 7094,
762 7094, 3872, 3870, 3879, 3868, 2141, 2149, 7094, 2168, 3865,
764 3859, 3871, 3849, 3854, 3849, 3830, 261, 3839, 3819, 1223,
765 3834, 3802, 3814, 3798, 3796, 3801, 3784, 1332, 3795, 384,
766 3777, 3784, 3774, 3788, 2144, 2172, 2177, 7094, 2182, 2209,
767 2216, 7094, 7094, 2229, 3810, 2232, 2235, 7094, 2240, 3756,
768 2268, 7094, 7094, 2243, 2276, 2287, 2290, 2293, 3767, 2301,
769 2308, 7094, 2311, 432, 3761, 2314, 3760, 2320, 2323, 7094,
770 2332, 2335, 7094, 7094, 3754, 3751, 3743, 2343, 2346, 7094,
771 2351, 3739, 2354, 2357, 7094, 2377, 3735, 2380, 7094, 7094,
772 3728, 3721, 3717, 3727, 2388, 2391, 7094, 2396, 2400, 7094,
773 7094, 3722, 2410, 2415, 7094, 2418, 3702, 3717, 2422, 7094,
775 7094, 2438, 7094, 7094, 2430, 2448, 3700, 3698, 3703, 3695,
776 2458, 2461, 7094, 2464, 2467, 7094, 7094, 2483, 2486, 7094,
777 2489, 3673, 2492, 7094, 7094, 3679, 3672, 3662, 2508, 2511,
778 7094, 2514, 3611, 2517, 2521, 2536, 2539, 3618, 3612, 2547,
779 2554, 7094, 2557, 3602, 2560, 2567, 3607, 2578, 2581, 2589,
780 2592, 7094, 2596, 2599, 7094, 7094, 2611, 2615, 7094, 2621,
781 3590, 2624, 3607, 3576, 2630, 2634, 7094, 2642, 3573, 3586,
782 2645, 2649, 7094, 2653, 726, 2656, 7094, 7094, 3618, 3616,
783 3569, 3560, 3587, 2664, 3545, 3528, 3544, 1386, 3520, 2152,
784 3533, 3532, 1460, 3512, 3519, 1463, 3518, 3502, 3518, 1523,
786 2678, 3504, 3511, 1526, 3497, 3496, 3494, 3478, 3491, 3490,
787 2668, 2686, 2694, 2700, 2704, 3489, 3504, 2713, 3479, 2718,
788 7094, 7094, 2727, 2732, 2745, 7094, 7094, 3473, 2740, 1650,
789 3457, 2753, 2760, 2771, 2774, 3446, 3466, 3439, 2777, 3457,
790 2780, 3458, 3452, 3436, 2783, 2789, 2801, 2807, 2811, 2814,
791 2821, 2833, 7094, 7094, 2825, 2843, 2847, 2850, 2853, 2856,
792 3442, 3447, 3431, 2876, 2879, 3430, 2885, 7094, 7094, 2894,
793 7094, 7094, 3418, 2903, 2906, 3419, 2921, 7094, 7094, 3412,
794 2929, 7094, 7094, 2937, 2940, 3420, 2910, 2943, 3401, 3418,
795 2951, 3402, 2959, 2962, 181, 3437, 2965, 7094, 3436, 7094,
797 7094, 3395, 3388, 518, 2970, 3395, 3393, 3394, 1705, 3391,
798 1769, 3387, 3375, 3365, 1774, 3370, 2973, 2977, 3375, 3365,
799 1777, 1829, 3354, 2984, 2994, 3347, 3000, 3358, 3003, 3009,
800 3020, 7094, 7094, 3030, 3034, 7094, 7094, 3351, 3362, 3049,
801 3328, 3052, 7094, 7094, 3325, 3064, 1832, 3325, 3068, 1059,
802 1113, 3045, 3076, 3084, 3087, 3090, 3094, 3098, 7094, 3108,
803 3112, 3337, 3333, 3317, 3117, 3122, 3135, 3138, 3328, 3146,
804 3149, 3153, 3161, 3167, 3170, 3180, 3185, 3188, 3198, 3203,
805 3206, 3209, 3212, 3328, 3307, 3321, 3216, 3224, 3321, 3234,
806 3237, 3241, 3322, 3244, 3247, 3265, 3268, 3273, 3310, 3276,
808 7094, 7094, 3313, 3302, 3288, 3306, 3293, 3296, 3311, 1422,
809 612, 568, 7094, 3279, 3317, 3320, 3323, 3326, 3282, 3275,
810 3282, 3267, 3252, 3249, 3246, 1875, 1945, 3250, 1948, 2010,
811 3258, 3242, 3248, 3330, 3341, 3345, 3224, 3348, 3229, 3233,
812 3233, 3351, 3226, 3243, 3355, 3204, 3207, 3358, 3361, 3236,
813 3222, 260, 3220, 3231, 3217, 421, 3207, 3384, 7094, 7094,
814 3392, 3395, 3400, 3414, 3417, 3420, 3428, 3435, 3446, 3180,
815 3169, 3172, 3449, 7094, 7094, 3458, 3188, 3186, 3149, 3466,
816 7094, 3469, 7094, 7094, 3477, 7094, 3481, 7094, 7094, 3489,
817 3496, 3507, 7094, 7094, 3515, 3518, 3526, 3529, 3533, 3547,
819 3550, 3134, 3553, 3151, 3556, 3160, 3158, 3131, 3571, 7094,
820 3574, 3577, 3585, 3116, 3597, 3592, 3612, 3603, 3606, 3621,
821 3120, 3120, 3121, 3625, 3109, 3628, 7094, 7094, 3640, 808,
822 1330, 747, 3104, 3644, 3647, 3655, 3662, 3669, 3096, 3673,
823 3676, 3680, 3087, 3086, 3683, 3689, 3070, 3692, 3074, 3695,
824 3698, 3701, 3704, 3707, 3065, 3712, 3070, 3715, 3068, 3074,
825 3718, 7094, 3046, 3061, 3721, 3726, 3730, 3071, 3065, 3044,
826 3047, 3035, 3041, 3035, 3024, 3026, 3018, 3740, 3744, 7094,
827 7094, 3752, 3755, 3764, 7094, 7094, 3772, 7094, 7094, 3780,
828 3001, 2995, 2985, 669, 743, 2986, 3783, 7094, 7094, 3792,
830 7094, 7094, 3800, 3803, 3811, 7094, 7094, 3819, 3822, 2988,
831 3825, 3828, 2988, 2970, 806, 857, 2972, 3843, 358, 361,
832 3851, 2962, 3854, 3857, 658, 785, 3865, 3869, 7094, 3873,
833 3876, 2968, 2960, 3883, 2950, 3894, 3888, 927, 1009, 3898,
834 3903, 7094, 7094, 3913, 3916, 3922, 3925, 3936, 3941, 3945,
835 3951, 3954, 3957, 2953, 2950, 3960, 3963, 3967, 2938, 3970,
836 2934, 3973, 2927, 7094, 3979, 2920, 3982, 7094, 3985, 7094,
837 7094, 2958, 2920, 2932, 2925, 2925, 2925, 2909, 2911, 2905,
838 2902, 3993, 3997, 7094, 7094, 4005, 2868, 2859, 2848, 2865,
839 2878, 2850, 2865, 2818, 4008, 7094, 7094, 4016, 4019, 7094,
841 4024, 4028, 7094, 7094, 2810, 2784, 2761, 2746, 2713, 2723,
842 2624, 81, 919, 466, 985, 4038, 4042, 4045, 474, 1048,
843 477, 1057, 4051, 4056, 4059, 4071, 4064, 527, 4082, 4085,
844 4088, 4091, 748, 840, 4095, 4101, 4113, 4119, 4122, 4125,
845 4131, 518, 548, 565, 624, 4134, 7094, 665, 4138, 4141,
846 706, 738, 786, 838, 838, 886, 894, 901, 915, 912,
847 931, 4156, 4162, 7094, 934, 971, 965, 1025, 7094, 1023,
848 7094, 4165, 4168, 7094, 4171, 4177, 998, 1005, 1019, 1080,
849 7094, 1115, 7094, 4189, 1109, 1100, 1117, 1135, 1140, 1165,
850 4192, 4195, 4203, 4213, 1166, 1160, 1173, 1175, 1165, 1178,
852 4216, 4219, 4222, 7094, 7094, 4234, 4238, 4247, 4252, 7094,
853 4255, 4258, 1293, 1347, 1384, 4271, 4278, 4289, 4292, 7094,
854 1169, 1287, 1284, 1293, 4295, 4298, 1366, 1470, 1285, 1316,
855 1325, 1349, 1371, 1391, 1368, 1378, 1397, 1423, 1437, 4307,
856 1381, 1403, 1403, 7094, 7094, 4313, 4316, 4327, 7094, 7094,
857 1402, 1410, 1430, 7094, 7094, 4335, 4338, 1457, 1463, 1468,
858 1468, 1469, 1474, 4346, 1548, 1549, 4354, 1477, 1480, 1485,
859 1519, 1518, 1534, 4357, 4360, 4364, 7094, 4369, 7094, 7094,
860 4378, 4383, 4391, 7094, 1573, 1552, 1559, 4396, 7094, 7094,
861 4404, 4410, 4422, 1525, 4425, 1540, 4428, 4431, 1579, 1598,
863 1590, 1606, 1577, 1611, 1601, 1607, 1615, 7094, 1631, 1642,
864 1641, 1650, 7094, 4439, 4442, 1646, 1659, 4446, 7094, 7094,
865 1661, 4454, 1670, 4460, 7094, 7094, 1699, 1710, 1730, 1724,
866 1726, 1741, 1747, 1779, 1771, 1782, 4468, 1772, 1783, 1795,
867 1785, 1788, 1799, 4472, 4475, 4493, 7094, 7094, 1916, 1833,
868 4481, 4501, 7094, 7094, 4478, 1765, 4509, 1801, 4512, 7094,
869 7094, 1845, 1834, 1852, 1841, 4522, 1848, 1868, 1901, 1910,
870 1899, 1917, 1932, 1931, 4525, 4528, 4531, 1919, 1995, 1921,
871 1952, 4540, 4546, 1935, 1980, 1989, 1999, 2009, 2018, 2033,
872 2062, 2032, 2062, 2035, 4554, 2047, 2053, 2048, 2069, 2083,
874 2076, 4558, 4561, 2108, 4564, 4567, 4587, 4595, 4598, 2091,
875 2104, 2097, 2107, 4606, 4609, 2105, 2105, 7094, 2107, 2109,
876 2130, 7094, 2132, 4617, 4620, 7094, 7094, 2111, 2117, 2123,
877 2131, 4628, 4632, 7094, 7094, 4640, 2157, 2149, 2162, 2164,
878 2156, 2169, 7094, 2189, 7094, 2194, 4646, 7094, 2179, 2172,
879 2190, 2191, 2187, 2198, 4649, 4652, 4660, 4667, 4671, 4680,
880 2204, 4685, 4688, 4708, 4747, 4791, 4698, 4716, 2202, 2223,
881 2215, 2232, 4720, 7094, 7094, 2243, 2218, 2222, 2248, 2232,
882 2234, 4737, 2217, 2227, 2218, 2217, 4741, 4728, 4759, 4767,
883 2257, 2259, 2281, 2272, 2275, 2292, 7094, 7094, 2281, 2283,
885 2313, 2294, 2304, 2321, 4777, 7094, 7094, 4785, 4811, 7094,
886 7094, 4803, 2345, 4821, 2356, 2355, 4857, 4901, 2318, 7094,
887 2328, 7094, 7094, 2345, 2361, 7094, 2359, 2361, 4829, 7094,
888 2322, 2307, 2336, 2337, 4834, 7094, 7094, 4842, 2410, 2418,
889 2382, 2390, 7094, 2392, 2396, 7094, 2404, 2417, 7094, 2418,
890 2420, 7094, 4851, 4869, 2423, 2452, 2454, 2430, 2488, 2437,
891 4877, 2438, 2440, 7094, 7094, 7094, 7094, 4880, 4892, 4921,
892 4924, 2457, 2453, 2461, 2470, 7094, 7094, 7094, 7094, 7094,
893 7094, 7094, 7094, 4927, 4932, 4935, 2494, 2481, 2495, 4945,
894 2499, 2498, 4950, 4883, 4954, 4958, 4968, 4972, 2460, 4980,
896 4987, 2487, 2510, 2494, 2513, 4998, 5001, 5004, 2517, 7094,
897 7094, 5007, 7094, 7094, 5019, 7094, 7094, 5027, 7094, 7094,
898 2494, 5035, 7094, 7094, 2510, 2510, 2516, 2516, 5045, 5048,
899 2546, 7094, 2517, 2538, 2549, 2548, 2560, 5051, 5054, 2569,
900 2538, 2570, 2585, 2575, 2595, 5057, 5075, 2601, 5078, 2603,
901 2624, 2613, 2633, 5081, 5084, 2665, 5087, 5110, 2657, 7094,
902 2655, 7094, 5118, 5121, 2666, 5139, 7094, 7094, 7094, 7094,
903 5147, 5150, 5153, 5156, 5159, 5168, 5182, 5187, 2655, 2663,
904 5194, 5201, 2658, 2691, 5205, 5208, 2680, 2738, 5212, 5226,
905 2673, 2719, 5231, 5237, 5253, 5256, 2703, 2739, 5264, 7094,
907 7094, 5273, 7094, 7094, 2778, 2787, 2747, 2750, 2850, 2852,
908 2799, 2818, 2689, 2748, 2855, 2866, 2800, 2881, 5281, 5284,
909 7094, 7094, 5304, 5313, 5322, 5331, 5340, 5349, 5358, 5367,
910 5376, 5385, 5394, 5403, 5412, 5421, 5430, 5439, 5448, 5457,
911 5466, 5475, 5484, 5493, 5502, 5511, 5520, 5529, 5538, 5547,
912 5556, 5565, 5574, 5583, 5592, 5601, 5610, 5619, 5628, 5637,
913 5646, 5653, 5660, 5667, 5674, 5681, 5688, 5695, 5702, 5709,
914 5716, 5723, 5730, 5737, 5744, 5751, 5758, 5765, 5774, 5779,
915 5784, 5789, 5794, 5799, 5804, 5809, 5814, 5819, 5826, 5831,
916 5838, 5843, 5850, 5855, 5862, 5867, 5874, 5879, 5886, 5891,
918 5898, 5903, 5910, 5915, 5924, 5930, 5937, 5945, 5952, 5960,
919 5967, 5975, 5982, 5990, 5997, 6005, 6012, 6020, 6027, 6035,
920 6042, 6050, 6057, 6065, 6072, 6080, 6088, 6095, 6103, 6110,
921 6118, 6125, 6133, 6141, 6148, 6156, 6163, 6171, 6180, 6186,
922 6193, 6201, 6209, 6217, 6225, 6233, 6240, 6248, 6255, 6263,
923 6270, 6278, 6285, 6293, 6300, 6308, 6315, 6323, 6330, 6338,
924 6346, 6353, 6361, 6368, 6376, 6383, 6391, 6399, 6406, 6414,
925 6421, 6429, 6438, 6447, 6454, 6462, 6470, 6477, 6485, 6492,
926 6500, 6507, 6515, 6522, 6530, 6537, 6545, 6552, 6560, 6568,
927 6576, 6584, 6592, 6600, 6607, 6615, 6622, 6630, 6637, 6645,
929 6653, 6660, 6668, 6676, 6684, 6693, 6702, 6709, 6717, 6725,
930 6732, 6740, 6747, 6755, 6762, 6770, 6778, 6786, 6794, 6801,
931 6809, 6817, 6825, 6833, 6841, 6848, 6856, 6864, 6872, 6880,
932 6888, 6896, 6903, 6911, 6919, 6928, 6937, 6945, 6953, 6961,
933 6968, 6976, 6983, 6991, 6999, 7007, 7015, 7023, 7030, 7039,
934 7048, 7057, 7066, 7075, 7084
937 static yyconst flex_int16_t yy_def[2256] =
939 2023, 2023, 2024, 2024, 2024, 2024, 2025, 2025, 2026, 2026,
940 2027, 2027, 2028, 2028, 2028, 2028, 2029, 2029, 2023, 2023,
941 2030, 2030, 2031, 2031, 2031, 2031, 2023, 2023, 2031, 2031,
942 2023, 2023, 2031, 2031, 2031, 2031, 2032, 2032, 2033, 2033,
943 2034, 2034, 2028, 2028, 2035, 2035, 2036, 2036, 2023, 2023,
944 2036, 2036, 2036, 2036, 2037, 2037, 2038, 2038, 2039, 2039,
945 2040, 2040, 2041, 2041, 2023, 2023, 2023, 2023, 2042, 2042,
946 2043, 2043, 2044, 2044, 2023, 2023, 2044, 2044, 2044, 2044,
947 2045, 2045, 2046, 2046, 2022, 85, 2047, 2047, 2048, 2048,
948 2049, 2049, 2050, 2050, 2051, 2051, 2023, 2023, 2051, 2051,
950 2051, 2051, 2052, 2052, 2023, 2023, 2023, 2023, 2053, 2053,
951 2053, 2053, 2054, 2054, 2055, 2055, 2023, 2023, 2055, 2055,
952 2055, 2055, 2056, 2056, 2057, 2057, 2058, 2058, 2059, 2059,
953 2023, 2023, 2059, 2059, 2059, 2059, 2060, 2060, 2061, 2061,
954 2023, 2023, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
955 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
956 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
957 2022, 2022, 2022, 2062, 2022, 2022, 2062, 2062, 2022, 2022,
958 2022, 2022, 181, 182, 182, 2022, 2022, 2022, 2063, 2022,
959 2022, 2063, 2022, 2022, 2022, 2022, 2022, 2022, 2064, 2022,
961 2022, 2064, 2064, 2064, 2022, 2022, 2022, 2022, 2022, 2065,
962 2022, 2022, 2065, 2065, 2065, 2065, 2022, 2022, 185, 185,
963 185, 2022, 2022, 2022, 2066, 2022, 2022, 2066, 2066, 2066,
964 2022, 2022, 2022, 2022, 2022, 2022, 2067, 2022, 2022, 2067,
965 2067, 2067, 2067, 2022, 2022, 2022, 2022, 2022, 2022, 2068,
966 2022, 2022, 2068, 185, 254, 2022, 2022, 185, 2022, 2022,
967 2022, 2069, 2022, 2022, 2069, 2069, 2069, 2069, 2069, 2022,
968 2022, 185, 185, 2022, 2022, 2022, 2070, 2022, 2022, 2070,
969 2070, 2022, 2022, 2022, 2022, 2022, 2022, 2071, 2022, 2022,
970 2071, 2071, 2071, 2071, 2071, 2071, 2022, 2022, 2022, 2022,
972 2022, 2022, 2072, 2022, 2022, 2072, 2022, 2022, 2022, 2022,
973 2022, 2022, 2073, 2022, 2022, 2073, 2073, 2073, 2073, 2022,
974 2022, 185, 185, 2022, 2022, 2022, 2074, 2022, 2022, 2074,
975 2074, 2074, 185, 2022, 2022, 185, 185, 2022, 2022, 2022,
976 2075, 2022, 2022, 2075, 2075, 2075, 2075, 2022, 2022, 185,
977 185, 2022, 2022, 2022, 2076, 2022, 2022, 2076, 2022, 2022,
978 2022, 2022, 2022, 2022, 2077, 2022, 2022, 2077, 2077, 2077,
979 2077, 2022, 2022, 185, 374, 185, 2022, 2022, 2022, 2078,
980 2022, 2022, 2078, 2022, 2022, 2022, 2022, 2079, 2022, 2022,
981 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
983 2022, 2022, 2022, 2062, 2062, 2062, 2080, 2022, 2022, 2022,
984 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
985 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
986 2063, 2063, 2081, 2022, 2064, 2064, 2064, 2064, 2022, 2082,
987 2022, 2022, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2083,
988 2022, 2022, 2066, 2066, 2066, 2066, 2084, 2022, 2067, 2067,
989 2067, 2067, 2067, 2085, 2022, 2068, 2068, 2086, 2022, 2069,
990 2069, 2069, 2069, 2069, 2069, 2069, 2087, 2022, 2070, 2070,
991 2070, 2088, 2022, 2089, 2089, 2089, 2089, 2089, 2089, 2089,
992 2089, 2089, 2090, 2022, 2091, 2091, 2092, 2022, 2093, 2093,
994 2093, 2093, 2093, 2093, 2094, 2022, 2095, 2095, 2095, 2095,
995 2095, 2022, 2096, 2022, 2097, 2097, 2097, 2097, 2097, 2098,
996 2022, 2099, 2099, 2100, 2022, 2101, 2101, 2101, 2101, 2101,
997 2102, 2022, 2022, 2103, 2103, 2104, 2105, 2022, 2105, 2022,
998 2022, 2022, 2106, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
999 2107, 2107, 2108, 2108, 2022, 2022, 2022, 2022, 2022, 2022,
1000 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1001 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2109,
1002 2110, 2110, 2111, 2022, 2022, 2111, 2022, 2112, 2112, 2022,
1003 2113, 2022, 2022, 2113, 2113, 2113, 2113, 2114, 2114, 2022,
1005 2115, 2115, 2115, 2116, 2116, 2022, 2022, 2117, 2117, 2117,
1006 2118, 2118, 2119, 2120, 2120, 2121, 2022, 2022, 2121, 2121,
1007 2121, 2121, 2122, 2122, 2022, 2022, 2123, 2124, 2124, 2125,
1008 2022, 2022, 2022, 2022, 2125, 2125, 2125, 2125, 2125, 2126,
1009 2126, 2022, 2022, 2127, 2127, 2128, 2022, 2022, 2128, 2128,
1010 2128, 2129, 2129, 2130, 2130, 2130, 2130, 2022, 2131, 2131,
1011 2132, 2132, 2132, 2132, 2133, 2133, 2022, 2022, 2134, 2134,
1012 2135, 2135, 2135, 2135, 2136, 2136, 2022, 2137, 2138, 2138,
1013 2139, 2022, 2022, 2139, 2022, 2022, 2140, 2022, 2022, 2022,
1014 2022, 2022, 2022, 2141, 2141, 2022, 2142, 2022, 2142, 2022,
1016 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1017 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1018 2022, 2022, 2022, 2022, 2143, 2022, 2144, 2022, 2144, 2145,
1019 2022, 2022, 2022, 2145, 2022, 2022, 2146, 2022, 2146, 2147,
1020 2022, 2022, 2022, 2022, 2022, 2147, 2022, 2022, 2147, 2022,
1021 2148, 2022, 2148, 2022, 2149, 2149, 2149, 2022, 2150, 2022,
1022 2150, 2022, 2022, 2022, 2151, 2151, 2151, 2022, 2152, 2022,
1023 2152, 2153, 2022, 2154, 2022, 2154, 2155, 2022, 2022, 2022,
1024 2155, 2155, 2155, 2155, 2022, 2156, 2022, 2156, 2022, 2022,
1025 2022, 2157, 2022, 2158, 2022, 2158, 2159, 2159, 2022, 2022,
1027 2022, 2022, 2022, 2022, 2022, 2022, 2159, 2159, 2159, 2159,
1028 2022, 2160, 2022, 2160, 2022, 2022, 2022, 2022, 2161, 2022,
1029 2161, 2162, 2022, 2022, 2022, 2162, 2162, 2162, 2022, 2163,
1030 2022, 2163, 2164, 2022, 2022, 2022, 2022, 2164, 2022, 2022,
1031 2165, 2022, 2165, 2166, 2022, 2022, 2166, 2022, 2022, 2022,
1032 2167, 2022, 2167, 2022, 2022, 2022, 2022, 2168, 2022, 2168,
1033 2169, 2169, 2169, 2169, 2022, 2170, 2022, 2170, 2022, 2171,
1034 2022, 2172, 2022, 2172, 2173, 2174, 2022, 2022, 2022, 2022,
1035 2022, 2175, 2175, 2176, 2022, 2022, 2022, 2022, 2022, 2022,
1036 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1038 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1039 2022, 2022, 2177, 2022, 2022, 2178, 2022, 2179, 2180, 2022,
1040 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2180, 2181, 2022,
1041 2182, 2022, 2022, 2182, 2183, 2184, 2184, 2184, 2185, 2186,
1042 2187, 2188, 2188, 2188, 2188, 2188, 2189, 2190, 2191, 2192,
1043 2192, 2022, 2022, 2022, 2192, 2192, 2192, 2192, 2193, 2194,
1044 2195, 2195, 2195, 2195, 2196, 2197, 2022, 2022, 2022, 2022,
1045 2022, 2022, 2197, 2022, 2198, 2199, 2022, 2022, 2022, 2199,
1046 2022, 2022, 2022, 2200, 2201, 2202, 2022, 2022, 2202, 2202,
1047 2203, 2022, 2204, 2205, 2206, 2207, 2207, 2022, 2207, 2022,
1049 2022, 2022, 2208, 2208, 2209, 2022, 2022, 2022, 2022, 2022,
1050 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1051 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1052 2022, 2022, 2022, 2210, 2022, 2022, 2022, 2211, 2022, 2212,
1053 2213, 2022, 2022, 2022, 2213, 2214, 2022, 2215, 2022, 2022,
1054 2022, 2022, 2022, 2216, 2217, 2217, 2217, 2022, 2022, 2218,
1055 2219, 2220, 2220, 2220, 2022, 2022, 2022, 2022, 2220, 2221,
1056 2022, 2022, 2222, 2022, 2022, 2223, 2022, 2022, 2223, 2223,
1057 2223, 2224, 2225, 2226, 2226, 2226, 2022, 2022, 2226, 2227,
1058 2228, 2228, 2022, 2229, 2230, 2230, 2231, 2232, 2233, 2022,
1060 2022, 2022, 2233, 2233, 2234, 2022, 2022, 2022, 2235, 2236,
1061 2237, 2237, 2022, 2022, 2238, 2238, 2238, 2239, 2022, 2022,
1062 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1063 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1064 2022, 2240, 2241, 2022, 2242, 2243, 2243, 2244, 2245, 2022,
1065 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1066 2246, 2022, 2022, 2247, 2022, 2022, 2022, 2022, 2248, 2249,
1067 2249, 2249, 2022, 2022, 2022, 2022, 2022, 2022, 2249, 2022,
1068 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1069 2022, 2022, 2022, 2022, 2022, 2022, 2223, 2022, 2022, 2224,
1071 2225, 2226, 2226, 2226, 2022, 2022, 2022, 2226, 2022, 2022,
1072 2022, 2022, 2228, 2022, 2229, 2022, 2022, 2230, 2231, 2232,
1073 2233, 2233, 2233, 2234, 2022, 2022, 2022, 2022, 2235, 2236,
1074 2237, 2237, 2022, 2022, 2022, 2238, 2238, 2239, 2022, 2022,
1075 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1076 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2240, 2241, 2022,
1077 2022, 2022, 2243, 2243, 2244, 2022, 2022, 2022, 2022, 2022,
1078 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2246, 2022, 2022,
1079 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2248,
1080 2249, 2249, 2249, 2022, 2022, 2249, 2022, 2022, 2022, 2022,
1082 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2224, 2225, 2226,
1083 2022, 2022, 2226, 2226, 2022, 2022, 2226, 2022, 2022, 2022,
1084 2228, 2022, 2229, 2022, 2022, 2022, 2230, 2022, 2022, 2232,
1085 2233, 2233, 2233, 2234, 2022, 2235, 2236, 2237, 2237, 2022,
1086 2022, 2022, 2022, 2238, 2238, 2239, 2022, 2022, 2022, 2022,
1087 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1088 2022, 2240, 2241, 2022, 2243, 2243, 2022, 2022, 2022, 2022,
1089 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1090 2022, 2246, 2022, 2022, 2022, 2248, 2249, 2249, 2249, 2022,
1091 2022, 2022, 2022, 2249, 2022, 2022, 2022, 2224, 2022, 2022,
1093 2226, 2022, 2022, 2022, 2226, 2226, 2022, 2022, 2022, 2022,
1094 2226, 2022, 2022, 2022, 2022, 2228, 2022, 2229, 2022, 2022,
1095 2022, 2022, 2230, 2232, 2022, 2022, 2233, 2233, 2234, 2022,
1096 2235, 2236, 2237, 2237, 2022, 2238, 2238, 2239, 2022, 2022,
1097 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2241, 2022, 2022,
1098 2243, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1099 2022, 2246, 2022, 2022, 2249, 2249, 2249, 2022, 2022, 2022,
1100 2022, 2249, 2022, 2022, 2022, 2022, 2226, 2226, 2226, 2022,
1101 2022, 2022, 2022, 2226, 2022, 2022, 2022, 2022, 2022, 2022,
1102 2022, 2022, 2022, 2229, 2022, 2022, 2022, 2022, 2022, 2022,
1104 2230, 2232, 2022, 2022, 2022, 2022, 2022, 2233, 2022, 2022,
1105 2022, 2235, 2236, 2237, 2237, 2022, 2022, 2238, 2022, 2022,
1106 2022, 2022, 2022, 2022, 2241, 2022, 2022, 2022, 2243, 2022,
1107 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2246,
1108 2249, 2249, 2249, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1109 2226, 2226, 2226, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1110 2022, 2022, 2022, 2022, 2022, 2022, 2229, 2022, 2022, 2022,
1111 2022, 2022, 2022, 2230, 2230, 2022, 2022, 2022, 2022, 2022,
1112 2022, 2022, 2022, 2022, 2236, 2237, 2237, 2022, 2022, 2022,
1113 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1115 2022, 2022, 2243, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1116 2022, 2022, 2022, 2246, 2249, 2249, 2249, 2022, 2022, 2022,
1117 2226, 2226, 2226, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1118 2022, 2022, 2022, 2022, 2022, 2022, 2229, 2022, 2022, 2022,
1119 2022, 2022, 2022, 2230, 2230, 2022, 2022, 2022, 2236, 2237,
1120 2237, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1121 2022, 2022, 2022, 2022, 2022, 2243, 2022, 2022, 2022, 2022,
1122 2022, 2022, 2022, 2022, 2246, 2022, 2022, 2249, 2249, 2249,
1123 2226, 2022, 2022, 2226, 2022, 2022, 2022, 2022, 2022, 2022,
1124 2022, 2022, 2022, 2022, 2229, 2022, 2022, 2022, 2022, 2022,
1126 2022, 2230, 2230, 2236, 2237, 2237, 2237, 2022, 2022, 2022,
1127 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1128 2022, 2022, 2022, 2246, 2022, 2022, 2022, 2249, 2249, 2249,
1129 2249, 2226, 2022, 2022, 2022, 2226, 2022, 2022, 2022, 2022,
1130 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1131 2022, 2022, 2022, 2022, 2022, 2022, 2230, 2022, 2022, 2230,
1132 2236, 2237, 2237, 2237, 2250, 2251, 2022, 2022, 2022, 2022,
1133 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1134 2022, 2246, 2249, 2249, 2249, 2249, 2022, 2022, 2022, 2022,
1135 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1137 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2230, 2022, 2022,
1138 2022, 2230, 2236, 2237, 2252, 2253, 2250, 2251, 2022, 2022,
1139 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1140 2249, 2249, 2249, 2249, 2022, 2022, 2022, 2022, 2022, 2022,
1141 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1142 2022, 2022, 2230, 2230, 2236, 2252, 2237, 2254, 2253, 2255,
1143 2237, 2022, 2022, 2022, 2022, 2022, 2022, 2249, 2249, 2249,
1144 2249, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1145 2022, 2022, 2022, 2230, 2230, 2236, 2254, 2022, 2255, 2237,
1146 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2249, 2022,
1148 2022, 2022, 2022, 2022, 2022, 2230, 2230, 2236, 2022, 2022,
1149 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1150 2249, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2230, 2230,
1151 2236, 2022, 2249, 2022, 2022, 2022, 2022, 2230, 2230, 2236,
1152 2249, 2022, 2022, 2022, 2022, 2230, 2230, 2236, 2249, 2022,
1153 2022, 2022, 2022, 2230, 2230, 2236, 2022, 2022, 2022, 2022,
1154 2022, 2022, 2230, 2230, 2236, 2022, 2022, 2022, 2022, 2022,
1155 2230, 2230, 2236, 2230, 2230, 2236, 2230, 2230, 2236, 2236,
1156 2230, 2230, 2236, 2236, 2230, 2230, 2236, 2236, 2230, 2230,
1157 2236, 2236, 2022, 2022, 2022, 2022, 2236, 2236, 2022, 2022,
1159 2022, 2022, 2022, 2022, 2236, 2236, 2236, 2236, 2236, 2236,
1160 2236, 2236, 2236, 2236, 2236, 2236, 2236, 2236, 2236, 2236,
1161 2022, 0, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1162 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1163 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1164 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1165 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1166 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1167 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1168 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1170 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1171 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1172 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1173 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1174 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1175 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1176 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1177 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1178 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1179 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1181 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1182 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1183 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1184 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1185 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1186 2022, 2022, 2022, 2022, 2022
1189 static yyconst flex_int16_t yy_nxt[7164] =
1191 2022, 146, 147, 146, 146, 147, 146, 146, 147, 146,
1192 146, 147, 146, 151, 147, 151, 157, 148, 154, 157,
1193 148, 154, 450, 149, 2022, 155, 149, 2022, 155, 152,
1194 151, 147, 151, 388, 158, 160, 161, 158, 160, 161,
1195 162, 163, 2022, 162, 163, 388, 152, 167, 168, 389,
1196 164, 160, 161, 164, 165, 391, 162, 160, 161, 561,
1197 165, 390, 162, 167, 168, 562, 164, 147, 147, 147,
1198 451, 390, 164, 147, 147, 147, 180, 147, 180, 180,
1199 147, 180, 472, 170, 180, 147, 180, 510, 169, 170,
1200 451, 473, 181, 561, 511, 181, 387, 387, 387, 575,
1202 182, 387, 387, 387, 169, 171, 172, 147, 172, 171,
1203 171, 171, 171, 171, 171, 171, 173, 171, 171, 171,
1204 1485, 171, 175, 171, 176, 171, 180, 147, 180, 147,
1205 147, 147, 503, 147, 147, 147, 180, 147, 180, 180,
1206 147, 180, 182, 504, 561, 183, 391, 171, 171, 183,
1207 600, 489, 181, 391, 490, 181, 387, 387, 387, 387,
1208 387, 387, 390, 387, 387, 387, 387, 387, 387, 390,
1209 177, 2022, 178, 171, 172, 147, 172, 171, 171, 171,
1210 171, 171, 171, 171, 173, 171, 171, 171, 477, 171,
1211 175, 171, 176, 171, 147, 147, 147, 147, 147, 147,
1213 682, 180, 147, 180, 180, 147, 180, 180, 147, 180,
1214 184, 563, 391, 184, 391, 171, 171, 182, 391, 425,
1215 182, 426, 1110, 185, 564, 180, 147, 180, 390, 427,
1216 390, 387, 387, 387, 390, 425, 451, 428, 177, 429,
1217 178, 185, 186, 187, 147, 187, 186, 186, 186, 186,
1218 186, 186, 186, 188, 186, 186, 186, 485, 186, 190,
1219 186, 191, 186, 194, 147, 194, 194, 147, 194, 402,
1220 218, 147, 218, 160, 161, 160, 161, 486, 162, 195,
1221 162, 1270, 195, 446, 186, 186, 219, 447, 205, 1271,
1222 205, 448, 192, 186, 187, 147, 187, 186, 186, 186,
1224 186, 186, 186, 186, 188, 186, 186, 186, 892, 186,
1225 190, 186, 191, 186, 206, 2022, 206, 218, 147, 218,
1226 893, 147, 147, 147, 147, 147, 147, 387, 387, 387,
1227 387, 387, 387, 219, 682, 186, 186, 220, 875, 544,
1228 220, 513, 545, 192, 196, 197, 147, 197, 196, 196,
1229 196, 196, 196, 196, 196, 198, 196, 196, 196, 512,
1230 196, 200, 196, 201, 196, 218, 147, 218, 218, 147,
1231 218, 505, 218, 147, 218, 218, 147, 218, 387, 387,
1232 387, 219, 391, 439, 219, 512, 196, 196, 221, 433,
1233 440, 221, 1412, 1413, 202, 1414, 1415, 203, 390, 390,
1235 387, 387, 387, 204, 196, 197, 147, 197, 196, 196,
1236 196, 196, 196, 196, 196, 198, 196, 196, 196, 451,
1237 196, 200, 196, 201, 196, 232, 147, 232, 232, 147,
1238 232, 906, 245, 147, 245, 245, 147, 245, 538, 391,
1239 391, 233, 1275, 893, 233, 391, 196, 196, 246, 571,
1240 1276, 246, 457, 539, 202, 390, 390, 203, 387, 387,
1241 387, 390, 572, 204, 207, 208, 147, 208, 207, 207,
1242 207, 207, 207, 207, 207, 209, 207, 207, 207, 906,
1243 207, 211, 207, 212, 207, 147, 147, 147, 147, 147,
1244 147, 930, 147, 147, 147, 147, 147, 147, 257, 147,
1246 257, 254, 391, 391, 254, 1488, 207, 207, 255, 464,
1247 520, 255, 563, 1495, 258, 213, 1498, 214, 390, 390,
1248 215, 387, 387, 387, 2022, 576, 216, 207, 208, 147,
1249 208, 207, 207, 207, 207, 207, 207, 207, 209, 207,
1250 207, 207, 538, 207, 211, 207, 212, 207, 257, 147,
1251 257, 271, 147, 271, 512, 271, 147, 271, 147, 147,
1252 147, 147, 147, 147, 258, 411, 391, 272, 413, 207,
1253 207, 272, 391, 1116, 220, 587, 1508, 220, 213, 1117,
1254 214, 1521, 390, 215, 387, 387, 387, 998, 390, 216,
1255 222, 223, 147, 223, 222, 222, 222, 222, 222, 222,
1257 222, 224, 222, 222, 222, 1522, 222, 226, 222, 227,
1258 222, 271, 147, 271, 271, 147, 271, 1232, 271, 147,
1259 271, 271, 147, 271, 283, 147, 283, 272, 1523, 797,
1260 272, 998, 222, 222, 273, 391, 391, 273, 798, 228,
1261 284, 387, 387, 387, 229, 387, 387, 387, 387, 387,
1262 387, 390, 390, 230, 222, 223, 147, 223, 222, 222,
1263 222, 222, 222, 222, 222, 224, 222, 222, 222, 1231,
1264 222, 226, 222, 227, 222, 283, 147, 283, 298, 147,
1265 298, 1524, 298, 147, 298, 308, 147, 308, 308, 147,
1266 308, 284, 1419, 1420, 299, 1390, 222, 222, 299, 391,
1268 391, 309, 1391, 228, 309, 387, 387, 387, 229, 387,
1269 387, 387, 387, 387, 387, 390, 390, 230, 234, 235,
1270 147, 235, 234, 234, 234, 234, 234, 234, 234, 236,
1271 234, 234, 234, 1525, 234, 238, 234, 239, 234, 321,
1272 147, 321, 321, 147, 321, 682, 147, 147, 147, 147,
1273 147, 147, 321, 147, 321, 322, 391, 571, 322, 1529,
1274 234, 234, 220, 482, 995, 220, 998, 998, 322, 1392,
1275 578, 240, 390, 387, 387, 387, 1393, 241, 1530, 242,
1276 243, 234, 235, 147, 235, 234, 234, 234, 234, 234,
1277 234, 234, 236, 234, 234, 234, 1514, 234, 238, 234,
1279 239, 234, 321, 147, 321, 321, 147, 321, 1339, 321,
1280 147, 321, 147, 147, 147, 147, 147, 147, 322, 1421,
1281 1422, 323, 391, 234, 234, 323, 682, 682, 333, 493,
1282 1531, 333, 1407, 1337, 240, 387, 387, 387, 390, 1408,
1283 241, 684, 242, 243, 247, 248, 147, 248, 247, 247,
1284 247, 247, 247, 247, 247, 249, 247, 247, 247, 998,
1285 247, 251, 247, 252, 247, 147, 147, 147, 147, 147,
1286 147, 1532, 335, 147, 335, 335, 147, 335, 335, 147,
1287 335, 333, 1533, 1409, 333, 391, 247, 247, 336, 391,
1288 1410, 336, 497, 1515, 337, 387, 387, 387, 387, 387,
1290 387, 390, 387, 387, 387, 390, 253, 247, 248, 147,
1291 248, 247, 247, 247, 247, 247, 247, 247, 249, 247,
1292 247, 247, 1534, 247, 251, 247, 252, 247, 335, 147,
1293 335, 349, 147, 349, 1535, 349, 147, 349, 147, 147,
1294 147, 147, 147, 147, 337, 1536, 998, 350, 1537, 247,
1295 247, 350, 391, 1486, 333, 1487, 1538, 333, 387, 387,
1296 387, 387, 387, 387, 387, 387, 387, 1539, 390, 253,
1297 259, 260, 147, 260, 259, 259, 259, 259, 259, 259,
1298 259, 261, 259, 259, 259, 1433, 259, 263, 259, 264,
1299 259, 349, 147, 349, 349, 147, 349, 1541, 349, 147,
1301 349, 349, 147, 349, 360, 147, 360, 350, 391, 391,
1302 350, 391, 259, 259, 351, 265, 524, 351, 1542, 1489,
1303 361, 1490, 1543, 266, 390, 390, 267, 390, 998, 268,
1304 1544, 1545, 269, 259, 260, 147, 260, 259, 259, 259,
1305 259, 259, 259, 259, 261, 259, 259, 259, 1551, 259,
1306 263, 259, 264, 259, 360, 147, 360, 373, 147, 373,
1307 1552, 373, 147, 373, 147, 147, 147, 147, 147, 147,
1308 361, 1434, 391, 374, 1553, 259, 259, 374, 265, 536,
1309 375, 1150, 1496, 375, 1497, 1554, 266, 1151, 390, 267,
1310 1152, 1499, 268, 1500, 1153, 269, 274, 275, 147, 275,
1312 274, 274, 274, 274, 274, 274, 274, 276, 274, 274,
1313 274, 531, 274, 278, 274, 279, 274, 373, 147, 373,
1314 373, 147, 373, 1555, 373, 147, 373, 373, 147, 373,
1315 385, 147, 385, 374, 1558, 1154, 374, 1559, 274, 274,
1316 376, 1155, 1560, 376, 1156, 532, 386, 396, 1157, 280,
1317 387, 387, 387, 387, 387, 387, 387, 387, 387, 451,
1318 1561, 281, 274, 275, 147, 275, 274, 274, 274, 274,
1319 274, 274, 274, 276, 274, 274, 274, 1562, 274, 278,
1320 274, 279, 274, 385, 147, 385, 397, 387, 387, 387,
1321 1563, 1568, 398, 387, 387, 387, 399, 1569, 1570, 386,
1323 1571, 400, 1572, 1573, 274, 274, 387, 387, 387, 387,
1324 387, 387, 387, 387, 387, 280, 387, 387, 387, 542,
1325 542, 542, 1593, 686, 896, 896, 896, 281, 285, 286,
1326 147, 286, 285, 285, 285, 285, 285, 285, 285, 287,
1327 285, 285, 285, 288, 285, 289, 285, 290, 285, 288,
1328 288, 288, 288, 288, 288, 288, 288, 288, 288, 288,
1329 288, 288, 288, 288, 288, 288, 288, 288, 288, 288,
1330 285, 285, 288, 288, 291, 288, 288, 288, 288, 288,
1331 288, 292, 288, 293, 288, 288, 288, 294, 288, 295,
1332 296, 288, 288, 288, 288, 288, 288, 300, 301, 147,
1334 301, 300, 300, 300, 300, 300, 300, 300, 302, 300,
1335 300, 300, 682, 300, 304, 300, 305, 300, 542, 542,
1336 542, 584, 584, 584, 592, 592, 592, 606, 606, 606,
1337 617, 617, 617, 904, 904, 904, 1594, 1595, 585, 300,
1338 300, 593, 1596, 1603, 607, 1604, 1605, 618, 1585, 998,
1339 306, 300, 301, 147, 301, 300, 300, 300, 300, 300,
1340 300, 300, 302, 300, 300, 300, 998, 300, 304, 300,
1341 305, 300, 1606, 543, 625, 625, 625, 1338, 631, 631,
1342 631, 633, 633, 633, 642, 642, 642, 1009, 1009, 1009,
1343 1599, 626, 1607, 300, 300, 632, 1608, 1609, 634, 1610,
1345 1586, 643, 1600, 998, 306, 310, 311, 147, 311, 310,
1346 310, 310, 310, 310, 310, 310, 312, 310, 310, 310,
1347 1611, 310, 314, 310, 315, 310, 647, 647, 647, 667,
1348 667, 667, 696, 696, 696, 696, 696, 696, 726, 726,
1349 726, 682, 1587, 648, 1612, 1613, 668, 310, 310, 1615,
1350 698, 316, 1616, 698, 1617, 1621, 728, 1230, 317, 1622,
1351 318, 1015, 1015, 1015, 896, 896, 896, 319, 310, 311,
1352 147, 311, 310, 310, 310, 310, 310, 310, 310, 312,
1353 310, 310, 310, 1623, 310, 314, 310, 315, 310, 699,
1354 726, 726, 726, 1627, 1601, 584, 584, 584, 731, 731,
1356 731, 1628, 732, 1629, 1630, 733, 1602, 1631, 728, 1632,
1357 310, 310, 585, 1638, 316, 741, 741, 741, 1639, 742,
1358 1640, 317, 743, 318, 1021, 1021, 1021, 904, 904, 904,
1359 319, 324, 325, 147, 325, 324, 324, 324, 324, 324,
1360 324, 324, 326, 324, 324, 324, 729, 324, 328, 324,
1361 329, 324, 736, 736, 736, 1641, 1642, 736, 736, 736,
1362 592, 592, 592, 744, 744, 744, 747, 747, 747, 1643,
1363 738, 998, 1656, 324, 324, 738, 330, 593, 998, 331,
1364 745, 1633, 1635, 748, 762, 762, 762, 1658, 763, 1634,
1365 1636, 764, 682, 332, 324, 325, 147, 325, 324, 324,
1367 324, 324, 324, 324, 324, 326, 324, 324, 324, 1650,
1368 324, 328, 324, 329, 324, 1662, 1651, 739, 1649, 1663,
1369 750, 750, 750, 758, 758, 758, 1664, 1665, 750, 750,
1370 750, 758, 758, 758, 1666, 1667, 324, 324, 752, 330,
1371 1668, 760, 331, 778, 778, 778, 752, 779, 1669, 760,
1372 780, 1047, 1047, 1047, 1670, 1671, 332, 338, 339, 147,
1373 339, 338, 338, 338, 338, 338, 338, 338, 340, 338,
1374 338, 338, 753, 338, 342, 338, 343, 338, 606, 606,
1375 606, 1672, 1673, 768, 768, 768, 773, 773, 773, 1674,
1376 1679, 761, 617, 617, 617, 607, 768, 768, 768, 338,
1378 338, 770, 344, 1680, 775, 345, 1009, 1009, 1009, 618,
1379 346, 789, 789, 789, 770, 790, 1681, 1684, 791, 347,
1380 338, 339, 147, 339, 338, 338, 338, 338, 338, 338,
1381 338, 340, 338, 338, 338, 1685, 338, 342, 338, 343,
1382 338, 773, 773, 773, 771, 1686, 785, 785, 785, 785,
1383 785, 785, 625, 625, 625, 1687, 793, 793, 793, 775,
1384 1688, 1689, 338, 338, 787, 344, 1690, 787, 345, 626,
1385 1011, 1011, 1011, 346, 795, 1015, 1015, 1015, 1021, 1021,
1386 1021, 1691, 347, 352, 353, 147, 353, 352, 352, 352,
1387 352, 352, 352, 352, 354, 352, 352, 352, 776, 352,
1389 356, 352, 357, 352, 1692, 1693, 788, 1694, 1696, 793,
1390 793, 793, 631, 631, 631, 799, 799, 799, 1697, 800,
1391 1698, 1699, 801, 1700, 1701, 352, 352, 795, 1708, 632,
1392 1022, 1022, 1022, 1047, 1047, 1047, 358, 352, 353, 147,
1393 353, 352, 352, 352, 352, 352, 352, 352, 354, 352,
1394 352, 352, 998, 352, 356, 352, 357, 352, 633, 633,
1395 633, 802, 802, 802, 1709, 803, 1710, 1711, 804, 796,
1396 805, 805, 805, 1712, 1713, 634, 1246, 1246, 1246, 352,
1397 352, 815, 815, 815, 1705, 816, 1716, 806, 817, 1717,
1398 358, 362, 363, 147, 363, 362, 362, 362, 362, 362,
1400 362, 362, 364, 362, 362, 362, 1718, 362, 366, 362,
1401 367, 362, 811, 811, 811, 642, 642, 642, 818, 818,
1402 818, 811, 811, 811, 818, 818, 818, 647, 647, 647,
1403 813, 1719, 643, 362, 362, 682, 820, 1720, 1721, 813,
1404 1722, 368, 820, 369, 648, 370, 1127, 1127, 1127, 1248,
1405 1248, 1248, 1723, 371, 362, 363, 147, 363, 362, 362,
1406 362, 362, 362, 362, 362, 364, 362, 362, 362, 1728,
1407 362, 366, 362, 367, 362, 814, 823, 823, 823, 1704,
1408 824, 821, 1731, 825, 829, 829, 829, 829, 829, 829,
1409 834, 834, 834, 836, 836, 836, 362, 362, 845, 845,
1411 845, 1732, 831, 1736, 368, 831, 369, 835, 370, 1737,
1412 837, 1130, 1130, 1130, 1738, 846, 371, 377, 378, 147,
1413 378, 377, 377, 377, 377, 377, 377, 377, 379, 377,
1414 377, 377, 1739, 377, 381, 377, 382, 377, 1740, 832,
1415 840, 840, 840, 1741, 848, 848, 848, 840, 840, 840,
1416 850, 850, 850, 850, 850, 850, 1729, 1730, 842, 377,
1417 377, 849, 667, 667, 667, 842, 1742, 1743, 852, 1744,
1418 1745, 852, 1746, 854, 854, 854, 1749, 855, 1750, 668,
1419 856, 1751, 383, 377, 378, 147, 378, 377, 377, 377,
1420 377, 377, 377, 377, 379, 377, 377, 377, 1752, 377,
1422 381, 377, 382, 377, 843, 857, 857, 857, 1753, 1754,
1423 853, 857, 857, 857, 865, 865, 865, 865, 865, 865,
1424 871, 871, 871, 859, 1769, 377, 377, 682, 1770, 859,
1425 1771, 1772, 867, 1776, 1777, 867, 1778, 1779, 873, 871,
1426 871, 871, 696, 696, 696, 911, 911, 911, 383, 391,
1427 696, 696, 696, 1011, 1011, 1011, 407, 873, 1761, 1780,
1428 698, 1781, 912, 860, 1783, 390, 1784, 1012, 698, 696,
1429 696, 696, 1785, 726, 726, 726, 1786, 868, 726, 726,
1430 726, 1791, 1792, 726, 726, 726, 1793, 698, 1794, 1795,
1431 408, 728, 409, 1796, 1797, 410, 728, 411, 412, 874,
1433 413, 728, 1798, 1799, 414, 1800, 415, 416, 417, 391,
1434 914, 914, 914, 884, 1801, 1802, 407, 731, 731, 731,
1435 1803, 732, 1804, 682, 733, 390, 1819, 915, 1820, 913,
1436 2022, 2022, 2022, 736, 736, 736, 736, 736, 736, 1821,
1437 1822, 736, 736, 736, 744, 744, 744, 2022, 1823, 1824,
1438 408, 738, 418, 1825, 738, 419, 1826, 420, 412, 738,
1439 421, 745, 1813, 1827, 414, 1828, 422, 423, 424, 741,
1440 741, 741, 1831, 742, 1832, 1833, 743, 920, 920, 920,
1441 1834, 921, 1841, 1842, 922, 918, 1843, 916, 923, 923,
1442 923, 747, 747, 747, 925, 925, 925, 1844, 926, 1845,
1444 1846, 927, 750, 750, 750, 924, 1847, 1848, 748, 750,
1445 750, 750, 750, 750, 750, 932, 932, 932, 1849, 1850,
1446 752, 758, 758, 758, 758, 758, 758, 752, 1851, 1852,
1447 752, 1862, 933, 758, 758, 758, 762, 762, 762, 760,
1448 763, 1863, 760, 764, 768, 768, 768, 768, 768, 768,
1449 1864, 760, 768, 768, 768, 773, 773, 773, 773, 773,
1450 773, 1857, 770, 1857, 682, 770, 1865, 1866, 929, 1867,
1451 770, 1868, 1869, 775, 1860, 1858, 775, 935, 773, 773,
1452 773, 778, 778, 778, 1870, 779, 1871, 1876, 780, 785,
1453 785, 785, 785, 785, 785, 1877, 775, 785, 785, 785,
1455 1878, 789, 789, 789, 1879, 790, 1855, 787, 791, 1880,
1456 787, 793, 793, 793, 939, 787, 793, 793, 793, 793,
1457 793, 793, 1881, 799, 799, 799, 1882, 800, 1883, 795,
1458 801, 805, 805, 805, 795, 1888, 1872, 795, 941, 802,
1459 802, 802, 682, 803, 1874, 1888, 804, 1873, 806, 952,
1460 952, 952, 1891, 953, 1892, 1875, 954, 1857, 947, 811,
1461 811, 811, 811, 811, 811, 811, 811, 811, 815, 815,
1462 815, 1858, 816, 998, 999, 817, 949, 813, 1902, 1886,
1463 813, 1903, 1904, 813, 818, 818, 818, 818, 818, 818,
1464 818, 818, 818, 823, 823, 823, 1857, 824, 1905, 1888,
1466 825, 1909, 820, 1888, 1910, 820, 1911, 1860, 820, 829,
1467 829, 829, 829, 829, 829, 829, 829, 829, 834, 834,
1468 834, 1921, 967, 967, 967, 1925, 968, 831, 959, 969,
1469 831, 1926, 1927, 831, 1928, 835, 1932, 836, 836, 836,
1470 970, 970, 970, 1933, 971, 1934, 1935, 972, 840, 840,
1471 840, 1936, 1937, 960, 837, 840, 840, 840, 840, 840,
1472 840, 845, 845, 845, 1941, 682, 842, 1942, 977, 977,
1473 977, 965, 978, 842, 1943, 979, 842, 1944, 846, 848,
1474 848, 848, 981, 981, 981, 1945, 982, 1940, 682, 983,
1475 850, 850, 850, 850, 850, 850, 849, 850, 850, 850,
1477 854, 854, 854, 1949, 855, 1950, 1948, 856, 852, 1951,
1478 1952, 852, 857, 857, 857, 852, 857, 857, 857, 1953,
1479 682, 975, 857, 857, 857, 987, 987, 987, 1959, 1960,
1480 859, 865, 865, 865, 859, 865, 865, 865, 1961, 1956,
1481 859, 1962, 988, 865, 865, 865, 871, 871, 871, 867,
1482 871, 871, 871, 867, 871, 871, 871, 997, 997, 997,
1483 984, 867, 1969, 1970, 873, 696, 696, 696, 873, 911,
1484 911, 911, 873, 1484, 682, 998, 999, 682, 985, 1022,
1485 1022, 1022, 682, 698, 682, 682, 912, 1031, 1031, 1031,
1486 1965, 1032, 682, 1012, 1033, 726, 726, 726, 1973, 682,
1488 991, 914, 914, 914, 994, 1035, 1035, 1035, 682, 1036,
1489 682, 1987, 1037, 728, 736, 736, 736, 1983, 915, 920,
1490 920, 920, 682, 921, 1997, 1984, 922, 1005, 923, 923,
1491 923, 1483, 738, 1042, 1042, 1042, 1991, 1043, 682, 1482,
1492 1044, 750, 750, 750, 1988, 924, 925, 925, 925, 1034,
1493 926, 1481, 2015, 927, 932, 932, 932, 682, 682, 752,
1494 1040, 1049, 1049, 1049, 2005, 1050, 682, 682, 1051, 682,
1495 1998, 933, 1052, 1052, 1052, 758, 758, 758, 1058, 1058,
1496 1058, 773, 773, 773, 1065, 1065, 1065, 1480, 1046, 1053,
1497 1067, 1067, 1067, 760, 1992, 2009, 1059, 682, 2010, 775,
1499 2006, 1066, 785, 785, 785, 2019, 682, 1068, 1071, 1071,
1500 1071, 2016, 793, 793, 793, 1074, 1074, 1074, 682, 682,
1501 787, 1054, 2022, 2022, 2022, 1072, 1077, 1077, 1077, 1061,
1502 795, 2007, 1075, 1069, 952, 952, 952, 682, 953, 2022,
1503 2008, 954, 1479, 1078, 2022, 2022, 2022, 2013, 2022, 2022,
1504 2022, 2022, 2022, 2022, 811, 811, 811, 818, 818, 818,
1505 2011, 2022, 2012, 1478, 1070, 2022, 2014, 1472, 2022, 682,
1506 1073, 682, 813, 1471, 682, 820, 1470, 1087, 1087, 1087,
1507 829, 829, 829, 1469, 1076, 682, 967, 967, 967, 2019,
1508 968, 1468, 1080, 969, 1088, 970, 970, 970, 831, 971,
1510 682, 1467, 972, 2017, 1022, 1022, 1022, 840, 840, 840,
1511 1079, 987, 987, 987, 2018, 1082, 1466, 1081, 1093, 1083,
1512 1089, 1465, 977, 977, 977, 842, 978, 1461, 988, 979,
1513 981, 981, 981, 1090, 982, 1460, 1459, 983, 850, 850,
1514 850, 857, 857, 857, 1100, 1100, 1100, 1458, 1101, 1457,
1515 1456, 1102, 865, 865, 865, 1455, 852, 1454, 1453, 859,
1516 1107, 1107, 1107, 871, 871, 871, 997, 997, 997, 1094,
1517 867, 696, 696, 696, 1127, 1127, 1127, 1108, 1130, 1130,
1518 1130, 873, 1452, 1451, 998, 1127, 1127, 1127, 1128, 698,
1519 1448, 1445, 1131, 1444, 1098, 1136, 1136, 1136, 1105, 1128,
1521 1097, 1138, 1138, 1138, 1138, 1138, 1138, 1443, 1442, 1131,
1522 1136, 1136, 1136, 1430, 1111, 1139, 1428, 1427, 1139, 1417,
1523 1118, 1031, 1031, 1031, 1141, 1032, 1109, 1411, 1033, 1406,
1524 1112, 726, 726, 726, 1129, 1035, 1035, 1035, 1405, 1036,
1525 1401, 1394, 1037, 1389, 1388, 1135, 1052, 1052, 1052, 728,
1526 736, 736, 736, 1042, 1042, 1042, 1387, 1043, 1381, 1380,
1527 1044, 1129, 1379, 1053, 1135, 750, 750, 750, 738, 1049,
1528 1049, 1049, 1378, 1050, 1377, 1376, 1051, 1158, 1158, 1158,
1529 1375, 1159, 1374, 752, 1160, 758, 758, 758, 1162, 1162,
1530 1162, 2022, 2022, 2022, 1142, 1165, 1165, 1165, 1145, 1058,
1532 1058, 1058, 1373, 760, 1372, 1163, 1366, 1365, 2022, 1167,
1533 1167, 1167, 1166, 773, 773, 773, 1364, 1059, 1065, 1065,
1534 1065, 1363, 1148, 1173, 1173, 1173, 1168, 1174, 1361, 1359,
1535 1175, 775, 1355, 1161, 1354, 1066, 1067, 1067, 1067, 1176,
1536 1176, 1176, 1352, 1177, 1351, 1164, 1178, 1180, 1180, 1180,
1537 1071, 1071, 1071, 1068, 1182, 1182, 1182, 1169, 1183, 1347,
1538 1340, 1184, 1185, 1185, 1185, 1181, 1335, 1072, 1074, 1074,
1539 1074, 1187, 1187, 1187, 1333, 1188, 1332, 1331, 1189, 1322,
1540 1186, 1190, 1190, 1190, 1317, 1075, 1077, 1077, 1077, 1192,
1541 1192, 1192, 1316, 1193, 1315, 1314, 1194, 1310, 1191, 1195,
1543 1195, 1195, 1296, 1078, 2022, 2022, 2022, 1198, 1198, 1198,
1544 811, 811, 811, 818, 818, 818, 1196, 1087, 1087, 1087,
1545 1295, 2022, 1294, 1293, 1199, 1205, 1205, 1205, 813, 1206,
1546 1292, 820, 1207, 1291, 1088, 1209, 1209, 1209, 1211, 1211,
1547 1211, 1277, 2022, 2022, 2022, 840, 840, 840, 1216, 1216,
1548 1216, 1274, 1273, 1210, 1272, 1212, 1269, 1268, 1197, 2022,
1549 1264, 1201, 1263, 842, 1260, 1217, 2022, 2022, 2022, 850,
1550 850, 850, 1200, 1259, 857, 857, 857, 1100, 1100, 1100,
1551 1257, 1101, 1256, 2022, 1102, 1255, 1254, 852, 1220, 865,
1552 865, 865, 859, 1215, 1107, 1107, 1107, 1226, 1226, 1226,
1554 1251, 1227, 1213, 1250, 1228, 1249, 1247, 867, 1245, 1218,
1555 1244, 1108, 871, 871, 871, 1243, 1242, 1219, 1234, 1234,
1556 1234, 2022, 2022, 2022, 2022, 2022, 2022, 696, 696, 696,
1557 873, 1252, 1252, 1252, 1241, 1235, 1240, 1224, 2022, 1239,
1558 1233, 2022, 1253, 1253, 1253, 698, 1136, 1136, 1136, 1138,
1559 1138, 1138, 726, 726, 726, 1225, 1261, 1261, 1261, 750,
1560 750, 750, 1266, 1266, 1266, 1223, 1222, 1229, 1221, 1214,
1561 728, 1208, 1204, 1236, 1262, 1203, 1202, 752, 1179, 1267,
1562 1172, 1237, 1171, 1170, 1238, 1158, 1158, 1158, 1149, 1159,
1563 1147, 1146, 1160, 758, 758, 758, 1162, 1162, 1162, 1258,
1565 1144, 1279, 1279, 1279, 1143, 1280, 1140, 1278, 1281, 1137,
1566 1134, 760, 1133, 1163, 1265, 1282, 1282, 1282, 1165, 1165,
1567 1165, 1284, 1284, 1284, 1132, 1285, 1126, 1125, 1286, 1167,
1568 1167, 1167, 1283, 1124, 1123, 1166, 1287, 1287, 1287, 1122,
1569 1288, 1121, 1120, 1289, 1119, 1115, 1168, 773, 773, 773,
1570 1173, 1173, 1173, 1114, 1174, 1113, 998, 1175, 1106, 1176,
1571 1176, 1176, 1104, 1177, 1103, 775, 1178, 1180, 1180, 1180,
1572 1182, 1182, 1182, 1099, 1183, 1096, 1095, 1184, 1185, 1185,
1573 1185, 1092, 1187, 1187, 1187, 1181, 1188, 1091, 1086, 1189,
1574 1190, 1190, 1190, 1290, 1085, 1084, 1186, 1297, 1297, 1297,
1576 1064, 1298, 1063, 1062, 1299, 1060, 1057, 1191, 1192, 1192,
1577 1192, 1056, 1193, 1055, 1048, 1194, 1195, 1195, 1195, 1300,
1578 1300, 1300, 1045, 1301, 1041, 1039, 1302, 1303, 1303, 1303,
1579 1198, 1198, 1198, 1196, 1305, 1305, 1305, 1038, 1306, 1030,
1580 1029, 1307, 1028, 1027, 1304, 1026, 1025, 1199, 811, 811,
1581 811, 818, 818, 818, 1311, 1311, 1311, 1205, 1205, 1205,
1582 1024, 1206, 1023, 1020, 1207, 1019, 813, 1018, 1017, 820,
1583 1016, 1312, 1209, 1209, 1209, 1211, 1211, 1211, 1318, 1318,
1584 1318, 1014, 1319, 1013, 1010, 1320, 2022, 2022, 2022, 1008,
1585 1210, 1007, 1212, 1216, 1216, 1216, 1308, 1313, 840, 840,
1587 840, 1006, 1004, 2022, 2022, 2022, 2022, 1328, 1328, 1328,
1588 1217, 1309, 1323, 1324, 1324, 1324, 842, 1325, 1003, 1002,
1589 1326, 2022, 857, 857, 857, 1329, 865, 865, 865, 1226,
1590 1226, 1226, 1001, 1227, 1000, 993, 1228, 992, 1321, 990,
1591 859, 871, 871, 871, 867, 1234, 1234, 1234, 1341, 1341,
1592 1341, 989, 1342, 986, 980, 1343, 2022, 2022, 2022, 873,
1593 976, 1327, 1235, 2022, 2022, 2022, 974, 973, 1330, 966,
1594 696, 696, 696, 2022, 1348, 1348, 1348, 1349, 1349, 1349,
1595 2022, 1350, 1350, 1350, 1353, 1353, 1353, 1334, 698, 1336,
1596 1246, 1246, 1246, 1248, 1248, 1248, 1356, 1356, 1356, 1357,
1598 1357, 1357, 1252, 1252, 1252, 1253, 1253, 1253, 1358, 1358,
1599 1358, 964, 1344, 1360, 1360, 1360, 726, 726, 726, 1261,
1600 1261, 1261, 1367, 1367, 1367, 963, 1345, 1266, 1266, 1266,
1601 1346, 1369, 1369, 1369, 728, 1370, 962, 1262, 1371, 961,
1602 1368, 758, 758, 758, 1267, 1279, 1279, 1279, 958, 1280,
1603 957, 956, 1281, 1282, 1282, 1282, 1383, 1383, 1383, 760,
1604 1384, 955, 951, 1385, 1362, 1284, 1284, 1284, 950, 1285,
1605 1283, 948, 1286, 1287, 1287, 1287, 946, 1288, 945, 944,
1606 1289, 773, 773, 773, 1297, 1297, 1297, 1382, 1298, 943,
1607 942, 1299, 940, 1300, 1300, 1300, 938, 1301, 937, 775,
1609 1302, 1303, 1303, 1303, 1395, 1395, 1395, 936, 1396, 934,
1610 931, 1397, 1305, 1305, 1305, 928, 1306, 919, 1304, 1307,
1611 811, 811, 811, 1399, 1399, 1399, 1311, 1311, 1311, 1402,
1612 1402, 1402, 1386, 1403, 917, 910, 1404, 909, 813, 908,
1613 907, 1400, 905, 1312, 1318, 1318, 1318, 903, 1319, 902,
1614 901, 1320, 2022, 2022, 2022, 840, 840, 840, 1324, 1324,
1615 1324, 900, 1325, 899, 898, 1326, 2022, 2022, 2022, 2022,
1616 1328, 1328, 1328, 842, 857, 857, 857, 1425, 1425, 1425,
1617 1398, 897, 895, 2022, 865, 865, 865, 894, 1329, 1432,
1618 1432, 1432, 859, 891, 1426, 871, 871, 871, 1416, 1435,
1620 1435, 1435, 867, 890, 1341, 1341, 1341, 682, 1342, 889,
1621 1418, 1343, 888, 873, 2022, 2022, 2022, 2022, 2022, 2022,
1622 887, 886, 1423, 696, 696, 696, 1439, 1439, 1439, 885,
1623 883, 2022, 882, 881, 2022, 880, 1424, 1348, 1348, 1348,
1624 879, 698, 1349, 1349, 1349, 1429, 1350, 1350, 1350, 878,
1625 877, 1431, 1440, 1440, 1440, 1441, 1441, 1441, 1353, 1353,
1626 1353, 1356, 1356, 1356, 1357, 1357, 1357, 1436, 1358, 1358,
1627 1358, 1360, 1360, 1360, 1446, 1446, 1446, 876, 1438, 1437,
1628 1449, 1449, 1449, 1367, 1367, 1367, 1369, 1369, 1369, 682,
1629 1370, 870, 1447, 1371, 758, 758, 758, 1450, 1383, 1383,
1631 1383, 1368, 1384, 869, 864, 1385, 1463, 1463, 1463, 1395,
1632 1395, 1395, 760, 1396, 863, 862, 1397, 1473, 1473, 1473,
1633 1399, 1399, 1399, 861, 1464, 1475, 1475, 1475, 847, 1402,
1634 1402, 1402, 844, 1403, 839, 1474, 1404, 838, 1400, 1491,
1635 1491, 1491, 1476, 1493, 1493, 1493, 840, 840, 840, 833,
1636 828, 1462, 2022, 2022, 2022, 827, 1492, 857, 857, 857,
1637 1425, 1425, 1425, 826, 842, 1506, 1506, 1506, 1477, 2022,
1638 822, 810, 1503, 1503, 1503, 859, 1504, 1426, 809, 1505,
1639 808, 807, 1507, 1509, 1509, 1509, 1511, 1511, 1511, 871,
1640 871, 871, 1432, 1432, 1432, 1501, 1435, 1435, 1435, 792,
1642 784, 1510, 1516, 1516, 1516, 783, 782, 873, 781, 1494,
1643 682, 777, 772, 1502, 2022, 2022, 2022, 767, 766, 1517,
1644 1519, 1519, 1519, 1439, 1439, 1439, 1440, 1440, 1440, 765,
1645 757, 2022, 1441, 1441, 1441, 1446, 1446, 1446, 1520, 1449,
1646 1449, 1449, 1526, 1526, 1526, 756, 1527, 755, 754, 1528,
1647 1513, 1512, 749, 1447, 746, 740, 1450, 758, 758, 758,
1648 735, 734, 1518, 1463, 1463, 1463, 1546, 1546, 1546, 1473,
1649 1473, 1473, 1475, 1475, 1475, 760, 730, 725, 1548, 1548,
1650 1548, 1464, 1549, 1547, 724, 1550, 723, 1474, 722, 1476,
1651 1556, 1556, 1556, 1491, 1491, 1491, 1564, 1564, 1564, 721,
1653 1565, 720, 719, 1566, 1493, 1493, 1493, 1557, 718, 717,
1654 1492, 716, 715, 1540, 840, 840, 840, 2022, 2022, 2022,
1655 1576, 1576, 1576, 1503, 1503, 1503, 714, 1504, 713, 712,
1656 1505, 711, 842, 710, 2022, 1506, 1506, 1506, 1577, 1578,
1657 1578, 1578, 709, 1579, 708, 707, 1580, 706, 1581, 1581,
1658 1581, 705, 1507, 1509, 1509, 1509, 1511, 1511, 1511, 1583,
1659 1583, 1583, 704, 703, 1574, 1582, 702, 701, 1567, 700,
1660 695, 1510, 1516, 1516, 1516, 694, 693, 1584, 1575, 1588,
1661 1588, 1588, 692, 1589, 691, 690, 1590, 689, 688, 1517,
1662 1591, 1591, 1591, 1519, 1519, 1519, 1597, 1597, 1597, 1526,
1664 1526, 1526, 685, 1527, 683, 682, 1528, 1592, 758, 758,
1665 758, 1520, 680, 1598, 1546, 1546, 1546, 1618, 1618, 1618,
1666 678, 1619, 677, 676, 1620, 674, 760, 673, 1548, 1548,
1667 1548, 1547, 1549, 672, 671, 1550, 1556, 1556, 1556, 1624,
1668 1624, 1624, 670, 1625, 666, 664, 1626, 1564, 1564, 1564,
1669 663, 1565, 662, 1557, 1566, 840, 840, 840, 2022, 2022,
1670 2022, 2022, 2022, 2022, 1614, 1576, 1576, 1576, 661, 660,
1671 1578, 1578, 1578, 842, 1579, 2022, 658, 1580, 2022, 1581,
1672 1581, 1581, 657, 1577, 1646, 1646, 1646, 656, 1647, 655,
1673 654, 1648, 1583, 1583, 1583, 653, 1582, 1588, 1588, 1588,
1675 651, 1589, 650, 649, 1590, 1591, 1591, 1591, 646, 645,
1676 1584, 1652, 1652, 1652, 641, 1653, 639, 1637, 1654, 1644,
1677 638, 1645, 1592, 1655, 1655, 1655, 1657, 1657, 1657, 1597,
1678 1597, 1597, 1659, 1659, 1659, 637, 1660, 636, 635, 1661,
1679 758, 758, 758, 1676, 1676, 1676, 1598, 1618, 1618, 1618,
1680 630, 1619, 629, 627, 1620, 1682, 1682, 1682, 760, 624,
1681 1677, 1624, 1624, 1624, 622, 1625, 621, 620, 1626, 840,
1682 840, 840, 1683, 2022, 2022, 2022, 2022, 2022, 2022, 1655,
1683 1655, 1655, 1706, 1706, 1706, 619, 1678, 842, 1675, 616,
1684 2022, 615, 613, 2022, 1646, 1646, 1646, 612, 1647, 1707,
1686 998, 1648, 1652, 1652, 1652, 610, 1653, 609, 608, 1654,
1687 1657, 1657, 1657, 1659, 1659, 1659, 605, 1660, 603, 602,
1688 1661, 1695, 1703, 1714, 1714, 1714, 758, 758, 758, 1676,
1689 1676, 1676, 1725, 1725, 1725, 1702, 1726, 601, 599, 1727,
1690 1715, 1682, 1682, 1682, 760, 597, 1677, 1733, 1733, 1733,
1691 596, 1734, 595, 594, 1735, 1747, 1747, 1747, 1683, 1755,
1692 1755, 1755, 1758, 1758, 1758, 1762, 1762, 1762, 1706, 1706,
1693 1706, 591, 1724, 1748, 590, 589, 1756, 586, 583, 1759,
1694 582, 580, 1763, 998, 579, 1707, 998, 577, 1764, 1764,
1695 1764, 574, 1765, 573, 570, 1766, 1767, 1767, 1767, 1768,
1697 1768, 1768, 1757, 569, 568, 1760, 998, 1714, 1714, 1714,
1698 1773, 1773, 1773, 567, 1774, 566, 565, 1775, 758, 758,
1699 758, 1725, 1725, 1725, 1715, 1726, 560, 559, 1727, 1787,
1700 1787, 1787, 558, 1733, 1733, 1733, 760, 1734, 557, 556,
1701 1735, 1789, 1789, 1789, 555, 554, 1788, 1747, 1747, 1747,
1702 1755, 1755, 1755, 1805, 1805, 1805, 552, 1806, 1790, 551,
1703 1807, 2022, 2022, 2022, 550, 1748, 549, 1756, 1758, 1758,
1704 1758, 548, 1809, 1809, 1809, 547, 1810, 546, 2022, 1811,
1705 1782, 2022, 2022, 2022, 541, 1759, 1762, 1762, 1762, 1814,
1706 1814, 1814, 538, 1815, 540, 535, 1816, 533, 2022, 1767,
1708 1767, 1767, 531, 1763, 998, 2022, 530, 998, 529, 1764,
1709 1764, 1764, 528, 1765, 527, 525, 1766, 1768, 1768, 1768,
1710 523, 1773, 1773, 1773, 521, 1774, 1808, 998, 1775, 1835,
1711 1835, 1835, 520, 1836, 519, 518, 1837, 517, 1829, 1829,
1712 1829, 516, 1787, 1787, 1787, 514, 1812, 996, 996, 996,
1713 996, 996, 996, 996, 996, 996, 1830, 513, 996, 1788,
1714 1789, 1789, 1789, 996, 996, 996, 998, 996, 1838, 1838,
1715 1838, 509, 1839, 508, 506, 1840, 505, 1790, 1805, 1805,
1716 1805, 502, 1806, 501, 500, 1807, 2022, 2022, 2022, 996,
1717 996, 996, 996, 996, 996, 996, 996, 996, 996, 996,
1719 498, 496, 996, 2022, 2022, 2022, 2022, 996, 996, 996,
1720 998, 996, 1809, 1809, 1809, 494, 1810, 492, 491, 1811,
1721 488, 2022, 1814, 1814, 1814, 487, 1815, 483, 481, 1816,
1722 1829, 1829, 1829, 996, 996, 1835, 1835, 1835, 1853, 1836,
1723 998, 480, 1837, 1838, 1838, 1838, 478, 1839, 1830, 477,
1724 1840, 476, 2022, 2022, 2022, 475, 1854, 996, 996, 996,
1725 996, 996, 1861, 996, 996, 996, 474, 471, 996, 2022,
1726 2022, 2022, 2022, 996, 996, 996, 998, 996, 1890, 1890,
1727 1890, 1893, 1893, 1893, 1912, 1912, 1912, 2022, 1913, 469,
1728 468, 1914, 420, 1895, 1895, 1895, 998, 999, 1894, 996,
1730 996, 996, 996, 996, 996, 996, 996, 996, 996, 1861,
1731 1896, 467, 996, 465, 1884, 463, 462, 996, 996, 996,
1732 998, 996, 1897, 1897, 1897, 1900, 1900, 1900, 2022, 2022,
1733 2022, 461, 1885, 2022, 2022, 2022, 1908, 1908, 1908, 1898,
1734 460, 458, 1901, 996, 996, 2022, 1890, 1890, 1890, 456,
1735 2022, 1893, 1893, 1893, 682, 1895, 1895, 1895, 455, 1915,
1736 1915, 1915, 454, 1916, 998, 1899, 1917, 452, 1894, 1897,
1737 1897, 1897, 1896, 1918, 1918, 1918, 450, 1919, 449, 1906,
1738 1920, 1900, 1900, 1900, 1907, 445, 1898, 444, 1922, 1922,
1739 1922, 442, 1923, 441, 1111, 1924, 438, 437, 1901, 2022,
1741 2022, 2022, 2022, 2022, 2022, 1908, 1908, 1908, 1912, 1912,
1742 1912, 436, 1913, 434, 432, 1914, 2022, 430, 2022, 2022,
1743 1915, 1915, 1915, 682, 1916, 406, 405, 1917, 1918, 1918,
1744 1918, 403, 1919, 401, 395, 1920, 1922, 1922, 1922, 394,
1745 1923, 1931, 1929, 1924, 395, 1930, 2022, 2022, 2022, 2022,
1746 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1747 2022, 394, 393, 2022, 392, 2022, 2022, 2022, 2022, 2022,
1748 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 1957,
1749 1957, 1957, 2022, 2022, 2022, 2022, 2022, 2022, 1957, 1957,
1750 1957, 2022, 2022, 2022, 2022, 2022, 1958, 2022, 2022, 2022,
1752 2022, 2022, 2022, 1938, 2022, 1958, 1939, 2022, 2022, 1954,
1753 2022, 1966, 1966, 1966, 1946, 1967, 2022, 1947, 1968, 2022,
1754 2022, 2022, 2022, 2022, 2022, 2022, 2022, 1955, 2022, 2022,
1755 1963, 2022, 2022, 1964, 2022, 2022, 2022, 2022, 2022, 2022,
1756 1966, 1966, 1966, 2022, 1967, 2022, 2022, 1968, 2022, 2022,
1757 2022, 2022, 2022, 2022, 1976, 1976, 1976, 2022, 2022, 2022,
1758 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 1976,
1759 1976, 1976, 682, 1979, 2022, 2022, 1980, 2022, 2022, 1971,
1760 2022, 2022, 1972, 2022, 2022, 2022, 2022, 682, 2022, 2022,
1761 2022, 1974, 2022, 2022, 1975, 2022, 2022, 2022, 2022, 2022,
1763 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1764 2022, 2022, 2022, 1993, 1993, 1993, 2022, 2022, 1977, 2022,
1765 1978, 2022, 2022, 2022, 2022, 2022, 2022, 1995, 1995, 1995,
1766 1994, 1981, 1993, 1993, 1993, 2022, 1982, 2022, 1999, 1999,
1767 1999, 2022, 2000, 2022, 1996, 2001, 2022, 2022, 1986, 1994,
1768 2022, 1985, 2022, 1989, 1995, 1995, 1995, 2002, 2002, 2002,
1769 2022, 2003, 2022, 2022, 2004, 1999, 1999, 1999, 2022, 2000,
1770 2022, 1996, 2001, 1990, 2002, 2002, 2002, 2022, 2003, 2022,
1771 2022, 2004, 2020, 2020, 2020, 2020, 2020, 2020, 2022, 2022,
1772 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1774 2021, 2022, 2022, 2021, 144, 144, 144, 144, 144, 144,
1775 144, 144, 144, 145, 145, 145, 145, 145, 145, 145,
1776 145, 145, 150, 150, 150, 150, 150, 150, 150, 150,
1777 150, 153, 153, 153, 153, 153, 153, 153, 153, 153,
1778 156, 156, 156, 156, 156, 156, 156, 156, 156, 159,
1779 159, 159, 159, 159, 159, 159, 159, 159, 166, 166,
1780 166, 166, 166, 166, 166, 166, 166, 174, 174, 174,
1781 174, 174, 174, 174, 174, 174, 179, 179, 179, 179,
1782 179, 179, 179, 179, 179, 189, 189, 189, 189, 189,
1783 189, 189, 189, 189, 193, 193, 193, 193, 193, 193,
1785 193, 193, 193, 199, 199, 199, 199, 199, 199, 199,
1786 199, 199, 210, 210, 210, 210, 210, 210, 210, 210,
1787 210, 217, 217, 217, 217, 217, 217, 217, 217, 217,
1788 225, 225, 225, 225, 225, 225, 225, 225, 225, 231,
1789 231, 231, 231, 231, 231, 231, 231, 231, 237, 237,
1790 237, 237, 237, 237, 237, 237, 237, 244, 244, 244,
1791 244, 244, 244, 244, 244, 244, 250, 250, 250, 250,
1792 250, 250, 250, 250, 250, 256, 256, 256, 256, 256,
1793 256, 256, 256, 256, 262, 262, 262, 262, 262, 262,
1794 262, 262, 262, 270, 270, 270, 270, 270, 270, 270,
1796 270, 270, 277, 277, 277, 277, 277, 277, 277, 277,
1797 277, 282, 282, 282, 282, 282, 282, 282, 282, 282,
1798 297, 297, 297, 297, 297, 297, 297, 297, 297, 303,
1799 303, 303, 303, 303, 303, 303, 303, 303, 307, 307,
1800 307, 307, 307, 307, 307, 307, 307, 313, 313, 313,
1801 313, 313, 313, 313, 313, 313, 320, 320, 320, 320,
1802 320, 320, 320, 320, 320, 327, 327, 327, 327, 327,
1803 327, 327, 327, 327, 334, 334, 334, 334, 334, 334,
1804 334, 334, 334, 341, 341, 341, 341, 341, 341, 341,
1805 341, 341, 348, 348, 348, 348, 348, 348, 348, 348,
1807 348, 355, 355, 355, 355, 355, 355, 355, 355, 355,
1808 359, 359, 359, 359, 359, 359, 359, 359, 359, 365,
1809 365, 365, 365, 365, 365, 365, 365, 365, 372, 372,
1810 372, 372, 372, 372, 372, 372, 372, 380, 380, 380,
1811 380, 380, 380, 380, 380, 380, 384, 384, 384, 384,
1812 384, 384, 384, 384, 384, 404, 404, 404, 2022, 2022,
1813 2022, 404, 431, 431, 431, 2022, 2022, 2022, 431, 435,
1814 435, 435, 2022, 2022, 2022, 435, 443, 443, 443, 2022,
1815 2022, 2022, 443, 453, 453, 453, 2022, 2022, 2022, 453,
1816 459, 459, 459, 2022, 2022, 2022, 459, 466, 466, 466,
1818 2022, 2022, 2022, 466, 470, 470, 470, 2022, 2022, 2022,
1819 470, 479, 479, 479, 2022, 2022, 2022, 479, 484, 484,
1820 484, 2022, 2022, 2022, 484, 495, 495, 495, 2022, 2022,
1821 2022, 495, 499, 499, 499, 2022, 2022, 2022, 499, 507,
1822 507, 507, 2022, 2022, 2022, 507, 515, 515, 515, 2022,
1823 2022, 2022, 515, 522, 522, 522, 2022, 2022, 2022, 522,
1824 526, 526, 526, 2022, 2022, 2022, 526, 534, 534, 534,
1825 2022, 2022, 2022, 534, 537, 537, 537, 537, 537, 537,
1826 537, 2022, 537, 553, 2022, 2022, 2022, 553, 581, 2022,
1827 2022, 2022, 581, 588, 2022, 2022, 2022, 588, 598, 2022,
1829 2022, 2022, 598, 604, 2022, 2022, 2022, 604, 611, 2022,
1830 2022, 2022, 611, 614, 2022, 2022, 2022, 614, 623, 2022,
1831 2022, 2022, 623, 628, 2022, 2022, 2022, 628, 484, 484,
1832 484, 2022, 2022, 2022, 484, 640, 2022, 2022, 2022, 640,
1833 495, 495, 495, 2022, 2022, 2022, 495, 644, 2022, 2022,
1834 2022, 644, 499, 499, 499, 2022, 2022, 2022, 499, 652,
1835 2022, 2022, 2022, 652, 507, 507, 507, 2022, 2022, 2022,
1836 507, 659, 2022, 2022, 2022, 659, 515, 515, 515, 2022,
1837 2022, 2022, 515, 665, 2022, 2022, 2022, 665, 522, 522,
1838 522, 2022, 2022, 2022, 522, 669, 2022, 2022, 2022, 669,
1840 526, 526, 526, 2022, 2022, 2022, 526, 675, 2022, 2022,
1841 2022, 675, 534, 534, 534, 2022, 2022, 2022, 534, 679,
1842 2022, 2022, 2022, 679, 681, 681, 681, 681, 681, 681,
1843 681, 681, 681, 687, 2022, 2022, 2022, 2022, 687, 404,
1844 404, 404, 2022, 2022, 2022, 404, 697, 697, 697, 697,
1845 2022, 2022, 697, 697, 431, 431, 431, 2022, 2022, 2022,
1846 431, 727, 727, 727, 727, 2022, 2022, 727, 727, 435,
1847 435, 435, 2022, 2022, 2022, 435, 737, 737, 737, 737,
1848 2022, 2022, 737, 737, 443, 443, 443, 2022, 2022, 2022,
1849 443, 751, 751, 751, 751, 2022, 2022, 751, 751, 453,
1851 453, 453, 2022, 2022, 2022, 453, 759, 759, 759, 759,
1852 2022, 2022, 759, 759, 459, 459, 459, 2022, 2022, 2022,
1853 459, 769, 769, 769, 769, 2022, 2022, 769, 769, 466,
1854 466, 466, 2022, 2022, 2022, 466, 774, 774, 774, 774,
1855 2022, 2022, 774, 774, 470, 470, 470, 2022, 2022, 2022,
1856 470, 786, 786, 786, 786, 2022, 2022, 786, 786, 479,
1857 479, 479, 2022, 2022, 2022, 479, 794, 794, 794, 794,
1858 2022, 2022, 794, 794, 484, 484, 484, 2022, 2022, 2022,
1859 484, 812, 812, 812, 812, 2022, 2022, 812, 812, 819,
1860 819, 819, 819, 2022, 2022, 819, 819, 499, 499, 499,
1862 2022, 2022, 2022, 499, 830, 830, 830, 830, 2022, 2022,
1863 830, 830, 507, 507, 507, 2022, 2022, 2022, 507, 841,
1864 841, 841, 841, 2022, 2022, 841, 841, 515, 515, 515,
1865 2022, 2022, 2022, 515, 851, 851, 851, 851, 2022, 2022,
1866 851, 851, 858, 858, 858, 858, 2022, 2022, 858, 858,
1867 526, 526, 526, 2022, 2022, 2022, 526, 866, 866, 866,
1868 866, 2022, 2022, 866, 866, 534, 534, 534, 2022, 2022,
1869 2022, 534, 872, 872, 872, 872, 2022, 2022, 872, 872,
1870 681, 681, 681, 681, 681, 681, 681, 681, 681, 687,
1871 2022, 687, 2022, 2022, 687, 404, 404, 404, 2022, 2022,
1873 2022, 404, 697, 697, 697, 697, 2022, 2022, 697, 697,
1874 431, 431, 431, 431, 2022, 431, 2022, 431, 727, 727,
1875 727, 727, 2022, 2022, 727, 727, 435, 435, 435, 435,
1876 2022, 435, 2022, 435, 737, 737, 737, 737, 2022, 2022,
1877 737, 737, 443, 443, 443, 2022, 2022, 2022, 443, 751,
1878 751, 751, 751, 2022, 2022, 751, 751, 453, 453, 453,
1879 2022, 2022, 2022, 453, 759, 759, 759, 759, 2022, 2022,
1880 759, 759, 459, 459, 459, 2022, 2022, 2022, 459, 769,
1881 769, 769, 769, 2022, 2022, 769, 769, 466, 466, 466,
1882 2022, 2022, 2022, 466, 774, 774, 774, 774, 2022, 2022,
1884 774, 774, 470, 470, 470, 2022, 2022, 2022, 470, 786,
1885 786, 786, 786, 2022, 2022, 786, 786, 479, 479, 479,
1886 2022, 2022, 2022, 479, 794, 794, 794, 794, 2022, 2022,
1887 794, 794, 484, 484, 484, 2022, 2022, 2022, 484, 812,
1888 812, 812, 812, 2022, 2022, 812, 812, 819, 819, 819,
1889 819, 2022, 2022, 819, 819, 499, 499, 499, 2022, 2022,
1890 2022, 499, 830, 830, 830, 830, 2022, 2022, 830, 830,
1891 507, 507, 507, 2022, 2022, 2022, 507, 841, 841, 841,
1892 841, 2022, 2022, 841, 841, 515, 515, 515, 2022, 2022,
1893 2022, 515, 851, 851, 851, 851, 2022, 2022, 851, 851,
1895 858, 858, 858, 858, 2022, 2022, 858, 858, 526, 526,
1896 526, 2022, 2022, 2022, 526, 866, 866, 866, 866, 2022,
1897 2022, 866, 866, 534, 534, 534, 2022, 2022, 2022, 534,
1898 872, 872, 872, 872, 2022, 2022, 872, 872, 681, 681,
1899 681, 681, 681, 681, 681, 681, 681, 996, 996, 996,
1900 996, 996, 996, 996, 996, 996, 404, 404, 404, 2022,
1901 2022, 2022, 404, 697, 697, 697, 697, 2022, 2022, 697,
1902 697, 727, 727, 727, 727, 2022, 2022, 727, 727, 435,
1903 435, 435, 2022, 2022, 2022, 435, 737, 737, 737, 737,
1904 2022, 2022, 737, 737, 443, 443, 443, 2022, 2022, 2022,
1906 443, 751, 751, 751, 751, 2022, 2022, 751, 751, 453,
1907 453, 453, 2022, 2022, 2022, 453, 759, 759, 759, 759,
1908 2022, 2022, 759, 759, 459, 459, 459, 2022, 2022, 2022,
1909 459, 769, 769, 769, 769, 2022, 2022, 769, 769, 466,
1910 466, 466, 2022, 2022, 2022, 466, 774, 774, 774, 774,
1911 2022, 2022, 774, 774, 470, 470, 470, 2022, 2022, 2022,
1912 470, 786, 786, 786, 786, 2022, 2022, 786, 786, 479,
1913 479, 479, 479, 2022, 479, 2022, 479, 794, 794, 794,
1914 794, 2022, 2022, 794, 794, 484, 484, 484, 484, 2022,
1915 484, 2022, 484, 812, 812, 812, 812, 2022, 2022, 812,
1917 812, 819, 819, 819, 819, 2022, 2022, 819, 819, 499,
1918 499, 499, 2022, 2022, 2022, 499, 830, 830, 830, 830,
1919 2022, 2022, 830, 830, 507, 507, 507, 2022, 2022, 2022,
1920 507, 841, 841, 841, 841, 2022, 2022, 841, 841, 515,
1921 515, 515, 2022, 2022, 2022, 515, 851, 851, 851, 851,
1922 2022, 2022, 851, 851, 858, 858, 858, 858, 2022, 2022,
1923 858, 858, 526, 526, 526, 2022, 2022, 2022, 526, 866,
1924 866, 866, 866, 2022, 2022, 866, 866, 534, 534, 534,
1925 534, 2022, 534, 2022, 534, 872, 872, 872, 872, 2022,
1926 2022, 872, 872, 681, 681, 681, 681, 681, 681, 681,
1928 681, 681, 996, 996, 996, 996, 996, 996, 996, 996,
1929 996, 404, 404, 404, 2022, 2022, 2022, 404, 697, 697,
1930 697, 697, 2022, 2022, 697, 697, 727, 727, 727, 727,
1931 2022, 2022, 727, 727, 435, 435, 435, 2022, 2022, 2022,
1932 435, 737, 737, 737, 737, 2022, 2022, 737, 737, 443,
1933 443, 443, 2022, 2022, 2022, 443, 751, 751, 751, 751,
1934 2022, 2022, 751, 751, 453, 453, 453, 2022, 2022, 2022,
1935 453, 759, 759, 759, 759, 2022, 2022, 759, 759, 459,
1936 459, 459, 459, 2022, 459, 2022, 459, 466, 466, 466,
1937 466, 2022, 466, 2022, 466, 774, 774, 774, 774, 2022,
1939 2022, 774, 774, 470, 470, 470, 2022, 2022, 2022, 470,
1940 786, 786, 786, 786, 2022, 2022, 786, 786, 794, 794,
1941 794, 794, 2022, 2022, 794, 794, 484, 484, 484, 484,
1942 2022, 484, 2022, 484, 812, 812, 812, 812, 2022, 2022,
1943 812, 812, 819, 819, 819, 819, 2022, 2022, 819, 819,
1944 499, 499, 499, 2022, 2022, 2022, 499, 830, 830, 830,
1945 830, 2022, 2022, 830, 830, 507, 507, 507, 507, 2022,
1946 507, 2022, 507, 841, 841, 841, 841, 2022, 2022, 841,
1947 841, 515, 515, 515, 515, 2022, 515, 2022, 515, 851,
1948 851, 851, 851, 2022, 2022, 851, 851, 858, 858, 858,
1950 858, 2022, 2022, 858, 858, 526, 526, 526, 2022, 2022,
1951 2022, 526, 866, 866, 866, 866, 2022, 2022, 866, 866,
1952 872, 872, 872, 872, 2022, 2022, 872, 872, 681, 681,
1953 681, 681, 681, 681, 681, 681, 681, 996, 996, 996,
1954 996, 996, 996, 996, 996, 996, 404, 404, 404, 404,
1955 2022, 404, 2022, 404, 697, 697, 697, 697, 2022, 2022,
1956 697, 697, 727, 727, 727, 727, 2022, 2022, 727, 727,
1957 435, 435, 435, 2022, 2022, 2022, 435, 737, 737, 737,
1958 737, 2022, 2022, 737, 737, 443, 443, 443, 2022, 2022,
1959 2022, 443, 751, 751, 751, 751, 2022, 2022, 751, 751,
1961 453, 453, 453, 453, 2022, 453, 2022, 453, 759, 759,
1962 759, 759, 2022, 2022, 759, 759, 459, 459, 459, 459,
1963 2022, 459, 2022, 459, 774, 774, 774, 774, 2022, 2022,
1964 774, 774, 470, 470, 470, 2022, 2022, 2022, 470, 1817,
1965 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1818, 1818,
1966 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1856, 1856, 1856,
1967 1856, 1856, 1856, 1856, 1856, 1856, 1859, 1859, 1859, 1859,
1968 1859, 1859, 1859, 1859, 1859, 1887, 1887, 1887, 1887, 1887,
1969 1887, 1887, 1887, 1887, 1889, 1889, 1889, 1889, 1889, 1889,
1970 1889, 1889, 1889, 143, 2022, 2022, 2022, 2022, 2022, 2022,
1972 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1973 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1974 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1975 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1976 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1977 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1981 static yyconst flex_int16_t yy_chk[7164] =
1983 0, 3, 3, 3, 4, 4, 4, 5, 5, 5,
1984 6, 6, 6, 7, 7, 7, 11, 3, 9, 12,
1985 4, 10, 219, 5, 0, 9, 6, 0, 10, 7,
1986 8, 8, 8, 148, 11, 13, 13, 12, 14, 14,
1987 13, 13, 220, 14, 14, 149, 8, 17, 17, 148,
1988 13, 15, 15, 14, 15, 152, 15, 16, 16, 414,
1989 16, 149, 16, 18, 18, 414, 15, 19, 19, 19,
1990 219, 152, 16, 20, 20, 20, 23, 23, 23, 24,
1991 24, 24, 266, 19, 25, 25, 25, 332, 17, 20,
1992 220, 266, 23, 425, 332, 24, 146, 146, 146, 425,
1994 25, 147, 147, 147, 18, 21, 21, 21, 21, 21,
1995 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
1996 1412, 21, 21, 21, 21, 21, 26, 26, 26, 27,
1997 27, 27, 319, 28, 28, 28, 29, 29, 29, 30,
1998 30, 30, 26, 319, 451, 27, 175, 21, 21, 28,
1999 451, 294, 29, 190, 294, 30, 151, 151, 151, 172,
2000 172, 172, 175, 180, 180, 180, 187, 187, 187, 190,
2001 21, 183, 21, 22, 22, 22, 22, 22, 22, 22,
2002 22, 22, 22, 22, 22, 22, 22, 22, 272, 22,
2003 22, 22, 22, 22, 31, 31, 31, 32, 32, 32,
2005 995, 33, 33, 33, 34, 34, 34, 35, 35, 35,
2006 31, 415, 200, 32, 170, 22, 22, 33, 211, 183,
2007 34, 183, 995, 35, 415, 36, 36, 36, 200, 185,
2008 170, 194, 194, 194, 211, 185, 272, 185, 22, 185,
2009 22, 36, 37, 37, 37, 37, 37, 37, 37, 37,
2010 37, 37, 37, 37, 37, 37, 37, 291, 37, 37,
2011 37, 37, 37, 39, 39, 39, 40, 40, 40, 170,
2012 47, 47, 47, 43, 43, 44, 44, 291, 43, 39,
2013 44, 1152, 40, 215, 37, 37, 47, 215, 43, 1152,
2014 44, 215, 37, 38, 38, 38, 38, 38, 38, 38,
2016 38, 38, 38, 38, 38, 38, 38, 38, 707, 38,
2017 38, 38, 38, 38, 43, 333, 44, 48, 48, 48,
2018 707, 49, 49, 49, 50, 50, 50, 197, 197, 197,
2019 208, 208, 208, 48, 684, 38, 38, 49, 684, 397,
2020 50, 336, 397, 38, 41, 41, 41, 41, 41, 41,
2021 41, 41, 41, 41, 41, 41, 41, 41, 41, 333,
2022 41, 41, 41, 41, 41, 51, 51, 51, 52, 52,
2023 52, 322, 53, 53, 53, 54, 54, 54, 218, 218,
2024 218, 51, 195, 205, 52, 336, 41, 41, 53, 195,
2025 205, 54, 1319, 1319, 41, 1320, 1320, 41, 195, 205,
2027 223, 223, 223, 41, 42, 42, 42, 42, 42, 42,
2028 42, 42, 42, 42, 42, 42, 42, 42, 42, 322,
2029 42, 42, 42, 42, 42, 57, 57, 57, 58, 58,
2030 58, 720, 61, 61, 61, 62, 62, 62, 388, 226,
2031 238, 57, 1156, 720, 58, 233, 42, 42, 61, 422,
2032 1156, 62, 233, 388, 42, 226, 238, 42, 232, 232,
2033 232, 233, 422, 42, 45, 45, 45, 45, 45, 45,
2034 45, 45, 45, 45, 45, 45, 45, 45, 45, 754,
2035 45, 45, 45, 45, 45, 65, 65, 65, 66, 66,
2036 66, 754, 67, 67, 67, 68, 68, 68, 69, 69,
2038 69, 65, 246, 251, 66, 1414, 45, 45, 67, 246,
2039 350, 68, 426, 1419, 69, 45, 1421, 45, 246, 251,
2040 45, 235, 235, 235, 254, 426, 45, 46, 46, 46,
2041 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
2042 46, 46, 439, 46, 46, 46, 46, 46, 70, 70,
2043 70, 73, 73, 73, 350, 74, 74, 74, 75, 75,
2044 75, 76, 76, 76, 70, 254, 263, 73, 254, 46,
2045 46, 74, 278, 1004, 75, 439, 1428, 76, 46, 1004,
2046 46, 1442, 263, 46, 245, 245, 245, 1112, 278, 46,
2047 55, 55, 55, 55, 55, 55, 55, 55, 55, 55,
2049 55, 55, 55, 55, 55, 1443, 55, 55, 55, 55,
2050 55, 77, 77, 77, 78, 78, 78, 1112, 79, 79,
2051 79, 80, 80, 80, 83, 83, 83, 77, 1444, 630,
2052 78, 1111, 55, 55, 79, 289, 304, 80, 630, 55,
2053 83, 248, 248, 248, 55, 257, 257, 257, 260, 260,
2054 260, 289, 304, 55, 56, 56, 56, 56, 56, 56,
2055 56, 56, 56, 56, 56, 56, 56, 56, 56, 1111,
2056 56, 56, 56, 56, 56, 84, 84, 84, 87, 87,
2057 87, 1445, 88, 88, 88, 91, 91, 91, 92, 92,
2058 92, 84, 1325, 1325, 87, 1294, 56, 56, 88, 314,
2060 328, 91, 1294, 56, 92, 271, 271, 271, 56, 275,
2061 275, 275, 283, 283, 283, 314, 328, 56, 59, 59,
2062 59, 59, 59, 59, 59, 59, 59, 59, 59, 59,
2063 59, 59, 59, 1448, 59, 59, 59, 59, 59, 95,
2064 95, 95, 96, 96, 96, 875, 97, 97, 97, 98,
2065 98, 98, 99, 99, 99, 95, 284, 428, 96, 1451,
2066 59, 59, 97, 284, 875, 98, 1232, 1433, 99, 1295,
2067 428, 59, 284, 286, 286, 286, 1295, 59, 1452, 59,
2068 59, 60, 60, 60, 60, 60, 60, 60, 60, 60,
2069 60, 60, 60, 60, 60, 60, 1433, 60, 60, 60,
2071 60, 60, 100, 100, 100, 101, 101, 101, 1232, 102,
2072 102, 102, 105, 105, 105, 106, 106, 106, 100, 1326,
2073 1326, 101, 299, 60, 60, 102, 539, 1230, 105, 299,
2074 1453, 106, 1315, 1230, 60, 298, 298, 298, 299, 1315,
2075 60, 539, 60, 60, 63, 63, 63, 63, 63, 63,
2076 63, 63, 63, 63, 63, 63, 63, 63, 63, 1434,
2077 63, 63, 63, 63, 63, 107, 107, 107, 108, 108,
2078 108, 1454, 109, 109, 109, 110, 110, 110, 111, 111,
2079 111, 107, 1455, 1316, 108, 309, 63, 63, 109, 342,
2080 1316, 110, 309, 1434, 111, 301, 301, 301, 308, 308,
2082 308, 309, 311, 311, 311, 342, 63, 64, 64, 64,
2083 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
2084 64, 64, 1456, 64, 64, 64, 64, 64, 112, 112,
2085 112, 115, 115, 115, 1457, 116, 116, 116, 117, 117,
2086 117, 118, 118, 118, 112, 1458, 1338, 115, 1459, 64,
2087 64, 116, 356, 1413, 117, 1413, 1460, 118, 321, 321,
2088 321, 325, 325, 325, 335, 335, 335, 1461, 356, 64,
2089 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
2090 71, 71, 71, 71, 71, 1338, 71, 71, 71, 71,
2091 71, 119, 119, 119, 120, 120, 120, 1465, 121, 121,
2093 121, 122, 122, 122, 125, 125, 125, 119, 366, 361,
2094 120, 381, 71, 71, 121, 71, 361, 122, 1466, 1415,
2095 125, 1415, 1467, 71, 366, 361, 71, 381, 1339, 71,
2096 1468, 1470, 71, 72, 72, 72, 72, 72, 72, 72,
2097 72, 72, 72, 72, 72, 72, 72, 72, 1477, 72,
2098 72, 72, 72, 72, 126, 126, 126, 129, 129, 129,
2099 1478, 130, 130, 130, 131, 131, 131, 132, 132, 132,
2100 126, 1339, 386, 129, 1479, 72, 72, 130, 72, 386,
2101 131, 1050, 1420, 132, 1420, 1480, 72, 1050, 386, 72,
2102 1050, 1422, 72, 1422, 1050, 72, 81, 81, 81, 81,
2104 81, 81, 81, 81, 81, 81, 81, 81, 81, 81,
2105 81, 374, 81, 81, 81, 81, 81, 133, 133, 133,
2106 134, 134, 134, 1482, 135, 135, 135, 136, 136, 136,
2107 139, 139, 139, 133, 1485, 1051, 134, 1486, 81, 81,
2108 135, 1051, 1487, 136, 1051, 374, 139, 162, 1051, 81,
2109 339, 339, 339, 349, 349, 349, 353, 353, 353, 374,
2110 1488, 81, 82, 82, 82, 82, 82, 82, 82, 82,
2111 82, 82, 82, 82, 82, 82, 82, 1489, 82, 82,
2112 82, 82, 82, 140, 140, 140, 162, 360, 360, 360,
2113 1490, 1495, 162, 363, 363, 363, 162, 1496, 1497, 140,
2115 1498, 162, 1499, 1500, 82, 82, 373, 373, 373, 378,
2116 378, 378, 385, 385, 385, 82, 387, 387, 387, 542,
2117 542, 542, 1521, 542, 710, 710, 710, 82, 85, 85,
2118 85, 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,
2121 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, 89, 89, 89,
2126 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
2127 89, 89, 1513, 89, 89, 89, 89, 89, 396, 396,
2128 396, 437, 437, 437, 445, 445, 445, 460, 460, 460,
2129 472, 472, 472, 718, 718, 718, 1522, 1523, 437, 89,
2130 89, 445, 1524, 1529, 460, 1530, 1531, 472, 1513, 1231,
2131 89, 90, 90, 90, 90, 90, 90, 90, 90, 90,
2132 90, 90, 90, 90, 90, 90, 1514, 90, 90, 90,
2133 90, 90, 1532, 396, 480, 480, 480, 1231, 486, 486,
2134 486, 487, 487, 487, 496, 496, 496, 888, 888, 888,
2135 1527, 480, 1533, 90, 90, 486, 1534, 1535, 487, 1536,
2137 1514, 496, 1527, 1515, 90, 93, 93, 93, 93, 93,
2138 93, 93, 93, 93, 93, 93, 93, 93, 93, 93,
2139 1537, 93, 93, 93, 93, 93, 501, 501, 501, 523,
2140 523, 523, 553, 553, 553, 554, 554, 554, 581, 581,
2141 581, 1110, 1515, 501, 1538, 1539, 523, 93, 93, 1541,
2142 553, 93, 1542, 554, 1543, 1551, 581, 1110, 93, 1552,
2143 93, 893, 893, 893, 896, 896, 896, 93, 94, 94,
2144 94, 94, 94, 94, 94, 94, 94, 94, 94, 94,
2145 94, 94, 94, 1553, 94, 94, 94, 94, 94, 554,
2146 582, 582, 582, 1558, 1528, 584, 584, 584, 585, 585,
2148 585, 1559, 585, 1560, 1561, 585, 1528, 1562, 582, 1563,
2149 94, 94, 584, 1568, 94, 593, 593, 593, 1569, 593,
2150 1570, 94, 593, 94, 900, 900, 900, 904, 904, 904,
2151 94, 103, 103, 103, 103, 103, 103, 103, 103, 103,
2152 103, 103, 103, 103, 103, 103, 582, 103, 103, 103,
2153 103, 103, 588, 588, 588, 1571, 1572, 589, 589, 589,
2154 592, 592, 592, 594, 594, 594, 596, 596, 596, 1573,
2155 588, 1586, 1594, 103, 103, 589, 103, 592, 1587, 103,
2156 594, 1565, 1566, 596, 607, 607, 607, 1596, 607, 1565,
2157 1566, 607, 1585, 103, 104, 104, 104, 104, 104, 104,
2159 104, 104, 104, 104, 104, 104, 104, 104, 104, 1586,
2160 104, 104, 104, 104, 104, 1599, 1587, 589, 1585, 1600,
2161 598, 598, 598, 604, 604, 604, 1601, 1602, 599, 599,
2162 599, 605, 605, 605, 1603, 1604, 104, 104, 598, 104,
2163 1605, 604, 104, 618, 618, 618, 599, 618, 1606, 605,
2164 618, 930, 930, 930, 1607, 1609, 104, 113, 113, 113,
2165 113, 113, 113, 113, 113, 113, 113, 113, 113, 113,
2166 113, 113, 599, 113, 113, 113, 113, 113, 606, 606,
2167 606, 1610, 1611, 611, 611, 611, 614, 614, 614, 1612,
2168 1616, 605, 617, 617, 617, 606, 612, 612, 612, 113,
2170 113, 611, 113, 1617, 614, 113, 1009, 1009, 1009, 617,
2171 113, 626, 626, 626, 612, 626, 1621, 1623, 626, 113,
2172 114, 114, 114, 114, 114, 114, 114, 114, 114, 114,
2173 114, 114, 114, 114, 114, 1627, 114, 114, 114, 114,
2174 114, 615, 615, 615, 612, 1628, 623, 623, 623, 624,
2175 624, 624, 625, 625, 625, 1629, 628, 628, 628, 615,
2176 1630, 1631, 114, 114, 623, 114, 1632, 624, 114, 625,
2177 1011, 1011, 1011, 114, 628, 1015, 1015, 1015, 1021, 1021,
2178 1021, 1633, 114, 123, 123, 123, 123, 123, 123, 123,
2179 123, 123, 123, 123, 123, 123, 123, 123, 615, 123,
2181 123, 123, 123, 123, 1634, 1635, 624, 1636, 1638, 629,
2182 629, 629, 631, 631, 631, 632, 632, 632, 1639, 632,
2183 1640, 1641, 632, 1642, 1643, 123, 123, 629, 1656, 631,
2184 1022, 1022, 1022, 1047, 1047, 1047, 123, 124, 124, 124,
2185 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
2186 124, 124, 1650, 124, 124, 124, 124, 124, 633, 633,
2187 633, 634, 634, 634, 1658, 634, 1662, 1663, 634, 629,
2188 635, 635, 635, 1664, 1665, 633, 1126, 1126, 1126, 124,
2189 124, 643, 643, 643, 1650, 643, 1667, 635, 643, 1668,
2190 124, 127, 127, 127, 127, 127, 127, 127, 127, 127,
2192 127, 127, 127, 127, 127, 127, 1669, 127, 127, 127,
2193 127, 127, 640, 640, 640, 642, 642, 642, 644, 644,
2194 644, 641, 641, 641, 645, 645, 645, 647, 647, 647,
2195 640, 1670, 642, 127, 127, 1649, 644, 1671, 1672, 641,
2196 1673, 127, 645, 127, 647, 127, 1127, 1127, 1127, 1129,
2197 1129, 1129, 1674, 127, 128, 128, 128, 128, 128, 128,
2198 128, 128, 128, 128, 128, 128, 128, 128, 128, 1678,
2199 128, 128, 128, 128, 128, 641, 648, 648, 648, 1649,
2200 648, 645, 1680, 648, 652, 652, 652, 653, 653, 653,
2201 655, 655, 655, 656, 656, 656, 128, 128, 662, 662,
2203 662, 1681, 652, 1684, 128, 653, 128, 655, 128, 1685,
2204 656, 1130, 1130, 1130, 1686, 662, 128, 137, 137, 137,
2205 137, 137, 137, 137, 137, 137, 137, 137, 137, 137,
2206 137, 137, 1687, 137, 137, 137, 137, 137, 1688, 653,
2207 659, 659, 659, 1689, 664, 664, 664, 660, 660, 660,
2208 665, 665, 665, 666, 666, 666, 1679, 1679, 659, 137,
2209 137, 664, 667, 667, 667, 660, 1690, 1691, 665, 1692,
2210 1693, 666, 1694, 668, 668, 668, 1696, 668, 1697, 667,
2211 668, 1698, 137, 138, 138, 138, 138, 138, 138, 138,
2212 138, 138, 138, 138, 138, 138, 138, 138, 1699, 138,
2214 138, 138, 138, 138, 660, 669, 669, 669, 1700, 1701,
2215 666, 670, 670, 670, 675, 675, 675, 676, 676, 676,
2216 679, 679, 679, 669, 1710, 138, 138, 1704, 1711, 670,
2217 1712, 1713, 675, 1716, 1717, 676, 1719, 1720, 679, 680,
2218 680, 680, 696, 696, 696, 725, 725, 725, 138, 181,
2219 697, 697, 697, 890, 890, 890, 181, 680, 1704, 1721,
2220 696, 1723, 725, 670, 1728, 181, 1729, 890, 697, 699,
2221 699, 699, 1730, 726, 726, 726, 1731, 676, 727, 727,
2222 727, 1737, 1738, 729, 729, 729, 1739, 699, 1740, 1741,
2223 181, 726, 181, 1742, 1744, 181, 727, 181, 181, 680,
2225 181, 729, 1746, 1749, 181, 1750, 181, 181, 181, 182,
2226 730, 730, 730, 699, 1751, 1752, 182, 731, 731, 731,
2227 1753, 731, 1754, 1761, 731, 182, 1769, 730, 1770, 729,
2228 734, 734, 734, 736, 736, 736, 737, 737, 737, 1771,
2229 1772, 739, 739, 739, 744, 744, 744, 734, 1776, 1777,
2230 182, 736, 182, 1778, 737, 182, 1779, 182, 182, 739,
2231 182, 744, 1761, 1780, 182, 1781, 182, 182, 182, 741,
2232 741, 741, 1783, 741, 1784, 1785, 741, 745, 745, 745,
2233 1786, 745, 1791, 1792, 745, 739, 1793, 734, 746, 746,
2234 746, 747, 747, 747, 748, 748, 748, 1794, 748, 1795,
2236 1796, 748, 750, 750, 750, 746, 1799, 1800, 747, 751,
2237 751, 751, 753, 753, 753, 756, 756, 756, 1801, 1802,
2238 750, 758, 758, 758, 759, 759, 759, 751, 1803, 1804,
2239 753, 1819, 756, 761, 761, 761, 762, 762, 762, 758,
2240 762, 1821, 759, 762, 768, 768, 768, 769, 769, 769,
2241 1824, 761, 771, 771, 771, 773, 773, 773, 774, 774,
2242 774, 1815, 768, 1816, 1813, 769, 1825, 1827, 753, 1828,
2243 771, 1831, 1832, 773, 1816, 1815, 774, 761, 776, 776,
2244 776, 778, 778, 778, 1833, 778, 1834, 1841, 778, 785,
2245 785, 785, 786, 786, 786, 1842, 776, 788, 788, 788,
2247 1844, 789, 789, 789, 1845, 789, 1813, 785, 789, 1847,
2248 786, 793, 793, 793, 771, 788, 794, 794, 794, 796,
2249 796, 796, 1848, 799, 799, 799, 1850, 799, 1851, 793,
2250 799, 805, 805, 805, 794, 1858, 1839, 796, 776, 802,
2251 802, 802, 1855, 802, 1840, 1860, 802, 1839, 805, 806,
2252 806, 806, 1862, 806, 1863, 1840, 806, 1856, 788, 811,
2253 811, 811, 812, 812, 812, 814, 814, 814, 815, 815,
2254 815, 1856, 815, 1857, 1857, 815, 796, 811, 1872, 1855,
2255 812, 1873, 1874, 814, 818, 818, 818, 819, 819, 819,
2256 821, 821, 821, 823, 823, 823, 1859, 823, 1875, 1887,
2258 823, 1888, 818, 1889, 1891, 819, 1892, 1859, 821, 829,
2259 829, 829, 830, 830, 830, 832, 832, 832, 834, 834,
2260 834, 1899, 835, 835, 835, 1902, 835, 829, 814, 835,
2261 830, 1903, 1904, 832, 1905, 834, 1909, 836, 836, 836,
2262 837, 837, 837, 1921, 837, 1925, 1926, 837, 840, 840,
2263 840, 1927, 1928, 821, 836, 841, 841, 841, 843, 843,
2264 843, 845, 845, 845, 1933, 1931, 840, 1934, 846, 846,
2265 846, 832, 846, 841, 1935, 846, 843, 1936, 845, 848,
2266 848, 848, 849, 849, 849, 1937, 849, 1931, 1940, 849,
2267 850, 850, 850, 851, 851, 851, 848, 853, 853, 853,
2269 854, 854, 854, 1941, 854, 1942, 1940, 854, 850, 1943,
2270 1944, 851, 857, 857, 857, 853, 858, 858, 858, 1945,
2271 1948, 843, 860, 860, 860, 862, 862, 862, 1950, 1951,
2272 857, 865, 865, 865, 858, 866, 866, 866, 1952, 1948,
2273 860, 1953, 862, 868, 868, 868, 871, 871, 871, 865,
2274 872, 872, 872, 866, 874, 874, 874, 876, 876, 876,
2275 853, 868, 1959, 1961, 871, 884, 884, 884, 872, 911,
2276 911, 911, 874, 1411, 1979, 876, 876, 1983, 860, 901,
2277 901, 901, 1980, 884, 1956, 1965, 911, 912, 912, 912,
2278 1956, 912, 1991, 901, 912, 913, 913, 913, 1965, 1987,
2280 868, 914, 914, 914, 874, 915, 915, 915, 2013, 915,
2281 1984, 1983, 915, 913, 918, 918, 918, 1979, 914, 920,
2282 920, 920, 1997, 920, 1991, 1980, 920, 884, 923, 923,
2283 923, 1410, 918, 924, 924, 924, 1987, 924, 1992, 1409,
2284 924, 929, 929, 929, 1984, 923, 925, 925, 925, 913,
2285 925, 1408, 2013, 925, 932, 932, 932, 1988, 1998, 929,
2286 918, 933, 933, 933, 1997, 933, 2007, 2014, 933, 2008,
2287 1992, 932, 934, 934, 934, 935, 935, 935, 939, 939,
2288 939, 941, 941, 941, 945, 945, 945, 1407, 929, 934,
2289 946, 946, 946, 935, 1988, 2007, 939, 2005, 2008, 941,
2291 1998, 945, 947, 947, 947, 2017, 2006, 946, 948, 948,
2292 948, 2014, 949, 949, 949, 950, 950, 950, 2011, 2017,
2293 947, 935, 951, 951, 951, 948, 955, 955, 955, 941,
2294 949, 2005, 950, 946, 952, 952, 952, 2012, 952, 951,
2295 2006, 952, 1406, 955, 956, 956, 956, 2011, 957, 957,
2296 957, 958, 958, 958, 959, 959, 959, 960, 960, 960,
2297 2009, 956, 2010, 1405, 947, 957, 2012, 1394, 958, 2009,
2298 949, 2010, 959, 1393, 2015, 960, 1392, 964, 964, 964,
2299 965, 965, 965, 1391, 951, 2016, 967, 967, 967, 2018,
2300 967, 1390, 957, 967, 964, 970, 970, 970, 965, 970,
2302 2018, 1389, 970, 2015, 974, 974, 974, 975, 975, 975,
2303 956, 987, 987, 987, 2016, 959, 1388, 958, 974, 960,
2304 964, 1387, 977, 977, 977, 975, 977, 1381, 987, 977,
2305 981, 981, 981, 965, 981, 1380, 1379, 981, 984, 984,
2306 984, 985, 985, 985, 988, 988, 988, 1378, 988, 1377,
2307 1376, 988, 991, 991, 991, 1375, 984, 1374, 1373, 985,
2308 993, 993, 993, 994, 994, 994, 997, 997, 997, 975,
2309 991, 1005, 1005, 1005, 1017, 1017, 1017, 993, 1018, 1018,
2310 1018, 994, 1372, 1366, 997, 1024, 1024, 1024, 1017, 1005,
2311 1363, 1361, 1018, 1359, 985, 1025, 1025, 1025, 991, 1024,
2313 984, 1027, 1027, 1027, 1029, 1029, 1029, 1355, 1354, 1025,
2314 1030, 1030, 1030, 1335, 997, 1027, 1333, 1332, 1029, 1322,
2315 1005, 1031, 1031, 1031, 1030, 1031, 994, 1317, 1031, 1314,
2316 997, 1034, 1034, 1034, 1017, 1035, 1035, 1035, 1313, 1035,
2317 1310, 1296, 1035, 1293, 1292, 1024, 1052, 1052, 1052, 1034,
2318 1040, 1040, 1040, 1042, 1042, 1042, 1291, 1042, 1277, 1276,
2319 1042, 1027, 1275, 1052, 1029, 1046, 1046, 1046, 1040, 1049,
2320 1049, 1049, 1274, 1049, 1273, 1272, 1049, 1053, 1053, 1053,
2321 1271, 1053, 1270, 1046, 1053, 1054, 1054, 1054, 1055, 1055,
2322 1055, 1056, 1056, 1056, 1034, 1057, 1057, 1057, 1040, 1058,
2324 1058, 1058, 1269, 1054, 1268, 1055, 1264, 1263, 1056, 1060,
2325 1060, 1060, 1057, 1061, 1061, 1061, 1260, 1058, 1065, 1065,
2326 1065, 1259, 1046, 1066, 1066, 1066, 1060, 1066, 1257, 1255,
2327 1066, 1061, 1249, 1054, 1247, 1065, 1067, 1067, 1067, 1068,
2328 1068, 1068, 1244, 1068, 1243, 1056, 1068, 1070, 1070, 1070,
2329 1071, 1071, 1071, 1067, 1072, 1072, 1072, 1061, 1072, 1239,
2330 1233, 1072, 1073, 1073, 1073, 1070, 1225, 1071, 1074, 1074,
2331 1074, 1075, 1075, 1075, 1223, 1075, 1222, 1221, 1075, 1214,
2332 1073, 1076, 1076, 1076, 1208, 1074, 1077, 1077, 1077, 1078,
2333 1078, 1078, 1207, 1078, 1206, 1204, 1078, 1202, 1076, 1079,
2335 1079, 1079, 1179, 1077, 1080, 1080, 1080, 1081, 1081, 1081,
2336 1082, 1082, 1082, 1083, 1083, 1083, 1079, 1087, 1087, 1087,
2337 1178, 1080, 1177, 1172, 1081, 1088, 1088, 1088, 1082, 1088,
2338 1171, 1083, 1088, 1170, 1087, 1090, 1090, 1090, 1091, 1091,
2339 1091, 1157, 1092, 1092, 1092, 1094, 1094, 1094, 1095, 1095,
2340 1095, 1155, 1154, 1090, 1153, 1091, 1151, 1150, 1080, 1092,
2341 1147, 1083, 1146, 1094, 1144, 1095, 1096, 1096, 1096, 1097,
2342 1097, 1097, 1082, 1143, 1098, 1098, 1098, 1100, 1100, 1100,
2343 1141, 1100, 1140, 1096, 1100, 1139, 1137, 1097, 1098, 1105,
2344 1105, 1105, 1098, 1094, 1107, 1107, 1107, 1108, 1108, 1108,
2346 1133, 1108, 1092, 1132, 1108, 1131, 1128, 1105, 1125, 1096,
2347 1124, 1107, 1109, 1109, 1109, 1123, 1122, 1097, 1115, 1115,
2348 1115, 1116, 1116, 1116, 1117, 1117, 1117, 1118, 1118, 1118,
2349 1109, 1134, 1134, 1134, 1121, 1115, 1120, 1105, 1116, 1119,
2350 1114, 1117, 1135, 1135, 1135, 1118, 1136, 1136, 1136, 1138,
2351 1138, 1138, 1142, 1142, 1142, 1106, 1145, 1145, 1145, 1148,
2352 1148, 1148, 1149, 1149, 1149, 1104, 1103, 1109, 1099, 1093,
2353 1142, 1089, 1086, 1116, 1145, 1085, 1084, 1148, 1069, 1149,
2354 1064, 1117, 1063, 1062, 1118, 1158, 1158, 1158, 1048, 1158,
2355 1045, 1041, 1158, 1161, 1161, 1161, 1162, 1162, 1162, 1142,
2357 1039, 1163, 1163, 1163, 1038, 1163, 1028, 1161, 1163, 1026,
2358 1023, 1161, 1020, 1162, 1148, 1164, 1164, 1164, 1165, 1165,
2359 1165, 1166, 1166, 1166, 1019, 1166, 1016, 1014, 1166, 1167,
2360 1167, 1167, 1164, 1013, 1012, 1165, 1168, 1168, 1168, 1010,
2361 1168, 1008, 1007, 1168, 1006, 1003, 1167, 1169, 1169, 1169,
2362 1173, 1173, 1173, 1002, 1173, 999, 996, 1173, 992, 1176,
2363 1176, 1176, 990, 1176, 989, 1169, 1176, 1180, 1180, 1180,
2364 1182, 1182, 1182, 986, 1182, 980, 976, 1182, 1185, 1185,
2365 1185, 973, 1187, 1187, 1187, 1180, 1187, 966, 963, 1187,
2366 1190, 1190, 1190, 1169, 962, 961, 1185, 1191, 1191, 1191,
2368 944, 1191, 943, 942, 1191, 940, 938, 1190, 1192, 1192,
2369 1192, 937, 1192, 936, 931, 1192, 1195, 1195, 1195, 1196,
2370 1196, 1196, 928, 1196, 919, 917, 1196, 1197, 1197, 1197,
2371 1198, 1198, 1198, 1195, 1199, 1199, 1199, 916, 1199, 910,
2372 909, 1199, 908, 907, 1197, 906, 905, 1198, 1200, 1200,
2373 1200, 1201, 1201, 1201, 1203, 1203, 1203, 1205, 1205, 1205,
2374 903, 1205, 902, 899, 1205, 898, 1200, 897, 895, 1201,
2375 894, 1203, 1209, 1209, 1209, 1211, 1211, 1211, 1212, 1212,
2376 1212, 892, 1212, 891, 889, 1212, 1213, 1213, 1213, 887,
2377 1209, 886, 1211, 1216, 1216, 1216, 1200, 1203, 1215, 1215,
2379 1215, 885, 883, 1213, 1218, 1218, 1218, 1219, 1219, 1219,
2380 1216, 1201, 1215, 1217, 1217, 1217, 1215, 1217, 882, 881,
2381 1217, 1218, 1220, 1220, 1220, 1219, 1224, 1224, 1224, 1226,
2382 1226, 1226, 880, 1226, 879, 870, 1226, 869, 1213, 864,
2383 1220, 1229, 1229, 1229, 1224, 1234, 1234, 1234, 1235, 1235,
2384 1235, 863, 1235, 861, 847, 1235, 1236, 1236, 1236, 1229,
2385 844, 1218, 1234, 1237, 1237, 1237, 839, 838, 1220, 833,
2386 1238, 1238, 1238, 1236, 1240, 1240, 1240, 1241, 1241, 1241,
2387 1237, 1242, 1242, 1242, 1245, 1245, 1245, 1224, 1238, 1229,
2388 1246, 1246, 1246, 1248, 1248, 1248, 1250, 1250, 1250, 1251,
2390 1251, 1251, 1252, 1252, 1252, 1253, 1253, 1253, 1254, 1254,
2391 1254, 828, 1236, 1256, 1256, 1256, 1258, 1258, 1258, 1261,
2392 1261, 1261, 1265, 1265, 1265, 827, 1237, 1266, 1266, 1266,
2393 1238, 1267, 1267, 1267, 1258, 1267, 826, 1261, 1267, 822,
2394 1265, 1278, 1278, 1278, 1266, 1279, 1279, 1279, 810, 1279,
2395 809, 808, 1279, 1282, 1282, 1282, 1283, 1283, 1283, 1278,
2396 1283, 807, 798, 1283, 1258, 1284, 1284, 1284, 797, 1284,
2397 1282, 792, 1284, 1287, 1287, 1287, 784, 1287, 783, 782,
2398 1287, 1290, 1290, 1290, 1297, 1297, 1297, 1278, 1297, 781,
2399 777, 1297, 772, 1300, 1300, 1300, 767, 1300, 766, 1290,
2401 1300, 1303, 1303, 1303, 1304, 1304, 1304, 765, 1304, 757,
2402 755, 1304, 1305, 1305, 1305, 749, 1305, 740, 1303, 1305,
2403 1308, 1308, 1308, 1309, 1309, 1309, 1311, 1311, 1311, 1312,
2404 1312, 1312, 1290, 1312, 735, 724, 1312, 723, 1308, 722,
2405 721, 1309, 719, 1311, 1318, 1318, 1318, 717, 1318, 716,
2406 715, 1318, 1321, 1321, 1321, 1323, 1323, 1323, 1324, 1324,
2407 1324, 714, 1324, 713, 712, 1324, 1327, 1327, 1327, 1321,
2408 1328, 1328, 1328, 1323, 1330, 1330, 1330, 1331, 1331, 1331,
2409 1308, 711, 709, 1327, 1334, 1334, 1334, 708, 1328, 1337,
2410 1337, 1337, 1330, 706, 1331, 1336, 1336, 1336, 1321, 1340,
2412 1340, 1340, 1334, 705, 1341, 1341, 1341, 1337, 1341, 704,
2413 1323, 1341, 703, 1336, 1344, 1344, 1344, 1345, 1345, 1345,
2414 702, 701, 1327, 1346, 1346, 1346, 1347, 1347, 1347, 700,
2415 695, 1344, 694, 693, 1345, 692, 1330, 1348, 1348, 1348,
2416 689, 1346, 1349, 1349, 1349, 1334, 1350, 1350, 1350, 688,
2417 687, 1336, 1351, 1351, 1351, 1352, 1352, 1352, 1353, 1353,
2418 1353, 1356, 1356, 1356, 1357, 1357, 1357, 1344, 1358, 1358,
2419 1358, 1360, 1360, 1360, 1362, 1362, 1362, 685, 1346, 1345,
2420 1365, 1365, 1365, 1367, 1367, 1367, 1369, 1369, 1369, 681,
2421 1369, 678, 1362, 1369, 1382, 1382, 1382, 1365, 1383, 1383,
2423 1383, 1367, 1383, 677, 674, 1383, 1386, 1386, 1386, 1395,
2424 1395, 1395, 1382, 1395, 673, 672, 1395, 1398, 1398, 1398,
2425 1399, 1399, 1399, 671, 1386, 1401, 1401, 1401, 663, 1402,
2426 1402, 1402, 661, 1402, 658, 1398, 1402, 657, 1399, 1416,
2427 1416, 1416, 1401, 1417, 1417, 1417, 1418, 1418, 1418, 654,
2428 651, 1382, 1423, 1423, 1423, 650, 1416, 1424, 1424, 1424,
2429 1425, 1425, 1425, 649, 1418, 1427, 1427, 1427, 1401, 1423,
2430 646, 639, 1426, 1426, 1426, 1424, 1426, 1425, 638, 1426,
2431 637, 636, 1427, 1429, 1429, 1429, 1430, 1430, 1430, 1431,
2432 1431, 1431, 1432, 1432, 1432, 1423, 1435, 1435, 1435, 627,
2434 622, 1429, 1436, 1436, 1436, 621, 620, 1431, 619, 1418,
2435 1432, 616, 613, 1424, 1437, 1437, 1437, 610, 609, 1436,
2436 1438, 1438, 1438, 1439, 1439, 1439, 1440, 1440, 1440, 608,
2437 603, 1437, 1441, 1441, 1441, 1446, 1446, 1446, 1438, 1449,
2438 1449, 1449, 1450, 1450, 1450, 602, 1450, 601, 600, 1450,
2439 1432, 1431, 597, 1446, 595, 591, 1449, 1462, 1462, 1462,
2440 587, 586, 1437, 1463, 1463, 1463, 1472, 1472, 1472, 1473,
2441 1473, 1473, 1475, 1475, 1475, 1462, 583, 580, 1476, 1476,
2442 1476, 1463, 1476, 1472, 579, 1476, 578, 1473, 577, 1475,
2443 1484, 1484, 1484, 1491, 1491, 1491, 1492, 1492, 1492, 576,
2445 1492, 575, 574, 1492, 1493, 1493, 1493, 1484, 573, 572,
2446 1491, 571, 570, 1462, 1494, 1494, 1494, 1501, 1501, 1501,
2447 1502, 1502, 1502, 1503, 1503, 1503, 569, 1503, 568, 567,
2448 1503, 566, 1494, 565, 1501, 1506, 1506, 1506, 1502, 1507,
2449 1507, 1507, 564, 1507, 563, 562, 1507, 561, 1508, 1508,
2450 1508, 560, 1506, 1509, 1509, 1509, 1511, 1511, 1511, 1512,
2451 1512, 1512, 559, 558, 1501, 1508, 557, 556, 1494, 555,
2452 552, 1509, 1516, 1516, 1516, 551, 550, 1512, 1501, 1517,
2453 1517, 1517, 548, 1517, 547, 546, 1517, 545, 544, 1516,
2454 1518, 1518, 1518, 1519, 1519, 1519, 1525, 1525, 1525, 1526,
2456 1526, 1526, 540, 1526, 538, 537, 1526, 1518, 1540, 1540,
2457 1540, 1519, 536, 1525, 1546, 1546, 1546, 1547, 1547, 1547,
2458 535, 1547, 532, 531, 1547, 530, 1540, 529, 1548, 1548,
2459 1548, 1546, 1548, 528, 527, 1548, 1556, 1556, 1556, 1557,
2460 1557, 1557, 524, 1557, 520, 519, 1557, 1564, 1564, 1564,
2461 518, 1564, 517, 1556, 1564, 1567, 1567, 1567, 1574, 1574,
2462 1574, 1575, 1575, 1575, 1540, 1576, 1576, 1576, 516, 513,
2463 1578, 1578, 1578, 1567, 1578, 1574, 512, 1578, 1575, 1581,
2464 1581, 1581, 511, 1576, 1582, 1582, 1582, 510, 1582, 509,
2465 508, 1582, 1583, 1583, 1583, 505, 1581, 1588, 1588, 1588,
2467 504, 1588, 503, 502, 1588, 1591, 1591, 1591, 500, 497,
2468 1583, 1592, 1592, 1592, 493, 1592, 492, 1567, 1592, 1574,
2469 491, 1575, 1591, 1593, 1593, 1593, 1595, 1595, 1595, 1597,
2470 1597, 1597, 1598, 1598, 1598, 490, 1598, 489, 488, 1598,
2471 1614, 1614, 1614, 1615, 1615, 1615, 1597, 1618, 1618, 1618,
2472 485, 1618, 482, 481, 1618, 1622, 1622, 1622, 1614, 477,
2473 1615, 1624, 1624, 1624, 476, 1624, 475, 474, 1624, 1637,
2474 1637, 1637, 1622, 1644, 1644, 1644, 1645, 1645, 1645, 1655,
2475 1655, 1655, 1651, 1651, 1651, 473, 1615, 1637, 1614, 471,
2476 1644, 468, 467, 1645, 1646, 1646, 1646, 464, 1646, 1651,
2478 1651, 1646, 1652, 1652, 1652, 463, 1652, 462, 461, 1652,
2479 1657, 1657, 1657, 1659, 1659, 1659, 457, 1659, 456, 455,
2480 1659, 1637, 1645, 1666, 1666, 1666, 1675, 1675, 1675, 1676,
2481 1676, 1676, 1677, 1677, 1677, 1644, 1677, 454, 450, 1677,
2482 1666, 1682, 1682, 1682, 1675, 449, 1676, 1683, 1683, 1683,
2483 448, 1683, 447, 446, 1683, 1695, 1695, 1695, 1682, 1702,
2484 1702, 1702, 1703, 1703, 1703, 1705, 1705, 1705, 1706, 1706,
2485 1706, 444, 1675, 1695, 441, 440, 1702, 438, 436, 1703,
2486 433, 432, 1705, 1705, 429, 1706, 1706, 427, 1707, 1707,
2487 1707, 424, 1707, 423, 421, 1707, 1708, 1708, 1708, 1709,
2489 1709, 1709, 1702, 420, 419, 1703, 1707, 1714, 1714, 1714,
2490 1715, 1715, 1715, 418, 1715, 417, 416, 1715, 1724, 1724,
2491 1724, 1725, 1725, 1725, 1714, 1725, 413, 412, 1725, 1732,
2492 1732, 1732, 411, 1733, 1733, 1733, 1724, 1733, 410, 409,
2493 1733, 1736, 1736, 1736, 408, 407, 1732, 1747, 1747, 1747,
2494 1755, 1755, 1755, 1756, 1756, 1756, 406, 1756, 1736, 405,
2495 1756, 1757, 1757, 1757, 402, 1747, 401, 1755, 1758, 1758,
2496 1758, 400, 1759, 1759, 1759, 399, 1759, 398, 1757, 1759,
2497 1724, 1760, 1760, 1760, 392, 1758, 1762, 1762, 1762, 1763,
2498 1763, 1763, 391, 1763, 389, 383, 1763, 379, 1760, 1767,
2500 1767, 1767, 376, 1762, 1762, 375, 371, 1763, 370, 1764,
2501 1764, 1764, 369, 1764, 368, 364, 1764, 1768, 1768, 1768,
2502 358, 1773, 1773, 1773, 354, 1773, 1757, 1764, 1773, 1788,
2503 1788, 1788, 351, 1788, 347, 346, 1788, 345, 1782, 1782,
2504 1782, 344, 1787, 1787, 1787, 340, 1760, 1765, 1765, 1765,
2505 1765, 1765, 1765, 1765, 1765, 1765, 1782, 337, 1765, 1787,
2506 1789, 1789, 1789, 1765, 1765, 1765, 1765, 1765, 1790, 1790,
2507 1790, 331, 1790, 330, 326, 1790, 323, 1789, 1805, 1805,
2508 1805, 318, 1805, 317, 316, 1805, 1808, 1808, 1808, 1765,
2509 1765, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766,
2511 312, 306, 1766, 1808, 1812, 1812, 1812, 1766, 1766, 1766,
2512 1766, 1766, 1809, 1809, 1809, 302, 1809, 296, 295, 1809,
2513 293, 1812, 1814, 1814, 1814, 292, 1814, 287, 281, 1814,
2514 1829, 1829, 1829, 1766, 1766, 1835, 1835, 1835, 1808, 1835,
2515 1814, 280, 1835, 1838, 1838, 1838, 276, 1838, 1829, 273,
2516 1838, 269, 1853, 1853, 1853, 268, 1812, 1817, 1817, 1817,
2517 1817, 1817, 1817, 1817, 1817, 1817, 267, 265, 1817, 1853,
2518 1854, 1854, 1854, 1817, 1817, 1817, 1817, 1817, 1861, 1861,
2519 1861, 1868, 1868, 1868, 1894, 1894, 1894, 1854, 1894, 261,
2520 258, 1894, 255, 1869, 1869, 1869, 1861, 1861, 1868, 1817,
2522 1817, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818,
2523 1869, 253, 1818, 249, 1853, 243, 242, 1818, 1818, 1818,
2524 1818, 1818, 1870, 1870, 1870, 1871, 1871, 1871, 1884, 1884,
2525 1884, 241, 1854, 1885, 1885, 1885, 1886, 1886, 1886, 1870,
2526 240, 236, 1871, 1818, 1818, 1884, 1890, 1890, 1890, 230,
2527 1885, 1893, 1893, 1893, 1886, 1895, 1895, 1895, 229, 1896,
2528 1896, 1896, 228, 1896, 1890, 1870, 1896, 224, 1893, 1897,
2529 1897, 1897, 1895, 1898, 1898, 1898, 221, 1898, 216, 1884,
2530 1898, 1900, 1900, 1900, 1885, 214, 1897, 213, 1901, 1901,
2531 1901, 209, 1901, 206, 1890, 1901, 204, 203, 1900, 1906,
2533 1906, 1906, 1907, 1907, 1907, 1908, 1908, 1908, 1912, 1912,
2534 1912, 202, 1912, 198, 192, 1912, 1906, 188, 184, 1907,
2535 1915, 1915, 1915, 1908, 1915, 178, 177, 1915, 1918, 1918,
2536 1918, 173, 1918, 169, 168, 1918, 1922, 1922, 1922, 167,
2537 1922, 1908, 1906, 1922, 161, 1907, 1929, 1929, 1929, 1930,
2538 1930, 1930, 1938, 1938, 1938, 1939, 1939, 1939, 1946, 1946,
2539 1946, 160, 158, 1929, 155, 143, 1930, 0, 0, 1938,
2540 0, 0, 1939, 0, 0, 1946, 1947, 1947, 1947, 1949,
2541 1949, 1949, 1954, 1954, 1954, 1955, 1955, 1955, 1957, 1957,
2542 1957, 0, 0, 1947, 0, 0, 1949, 0, 0, 1954,
2544 0, 0, 1955, 1929, 0, 1957, 1930, 0, 0, 1946,
2545 0, 1958, 1958, 1958, 1938, 1958, 0, 1939, 1958, 1963,
2546 1963, 1963, 1964, 1964, 1964, 0, 0, 1947, 0, 0,
2547 1954, 0, 0, 1955, 0, 0, 1963, 0, 0, 1964,
2548 1966, 1966, 1966, 0, 1966, 0, 0, 1966, 1971, 1971,
2549 1971, 1972, 1972, 1972, 1973, 1973, 1973, 1974, 1974, 1974,
2550 1975, 1975, 1975, 0, 0, 1971, 0, 0, 1972, 1976,
2551 1976, 1976, 1973, 1976, 1974, 0, 1976, 1975, 0, 1963,
2552 0, 0, 1964, 1977, 1977, 1977, 0, 1976, 1978, 1978,
2553 1978, 1971, 0, 0, 1972, 1981, 1981, 1981, 0, 0,
2555 1977, 0, 1982, 1982, 1982, 1978, 1985, 1985, 1985, 1986,
2556 1986, 1986, 1981, 1989, 1989, 1989, 0, 0, 1974, 1982,
2557 1975, 0, 0, 1985, 0, 0, 1986, 1990, 1990, 1990,
2558 1989, 1977, 1993, 1993, 1993, 0, 1978, 0, 1994, 1994,
2559 1994, 0, 1994, 0, 1990, 1994, 0, 0, 1982, 1993,
2560 0, 1981, 0, 1985, 1995, 1995, 1995, 1996, 1996, 1996,
2561 0, 1996, 0, 0, 1996, 1999, 1999, 1999, 0, 1999,
2562 0, 1995, 1999, 1986, 2002, 2002, 2002, 0, 2002, 0,
2563 0, 2002, 2019, 2019, 2019, 2020, 2020, 2020, 0, 0,
2564 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2566 2019, 0, 0, 2020, 2023, 2023, 2023, 2023, 2023, 2023,
2567 2023, 2023, 2023, 2024, 2024, 2024, 2024, 2024, 2024, 2024,
2568 2024, 2024, 2025, 2025, 2025, 2025, 2025, 2025, 2025, 2025,
2569 2025, 2026, 2026, 2026, 2026, 2026, 2026, 2026, 2026, 2026,
2570 2027, 2027, 2027, 2027, 2027, 2027, 2027, 2027, 2027, 2028,
2571 2028, 2028, 2028, 2028, 2028, 2028, 2028, 2028, 2029, 2029,
2572 2029, 2029, 2029, 2029, 2029, 2029, 2029, 2030, 2030, 2030,
2573 2030, 2030, 2030, 2030, 2030, 2030, 2031, 2031, 2031, 2031,
2574 2031, 2031, 2031, 2031, 2031, 2032, 2032, 2032, 2032, 2032,
2575 2032, 2032, 2032, 2032, 2033, 2033, 2033, 2033, 2033, 2033,
2577 2033, 2033, 2033, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
2578 2034, 2034, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035,
2579 2035, 2036, 2036, 2036, 2036, 2036, 2036, 2036, 2036, 2036,
2580 2037, 2037, 2037, 2037, 2037, 2037, 2037, 2037, 2037, 2038,
2581 2038, 2038, 2038, 2038, 2038, 2038, 2038, 2038, 2039, 2039,
2582 2039, 2039, 2039, 2039, 2039, 2039, 2039, 2040, 2040, 2040,
2583 2040, 2040, 2040, 2040, 2040, 2040, 2041, 2041, 2041, 2041,
2584 2041, 2041, 2041, 2041, 2041, 2042, 2042, 2042, 2042, 2042,
2585 2042, 2042, 2042, 2042, 2043, 2043, 2043, 2043, 2043, 2043,
2586 2043, 2043, 2043, 2044, 2044, 2044, 2044, 2044, 2044, 2044,
2588 2044, 2044, 2045, 2045, 2045, 2045, 2045, 2045, 2045, 2045,
2589 2045, 2046, 2046, 2046, 2046, 2046, 2046, 2046, 2046, 2046,
2590 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2048,
2591 2048, 2048, 2048, 2048, 2048, 2048, 2048, 2048, 2049, 2049,
2592 2049, 2049, 2049, 2049, 2049, 2049, 2049, 2050, 2050, 2050,
2593 2050, 2050, 2050, 2050, 2050, 2050, 2051, 2051, 2051, 2051,
2594 2051, 2051, 2051, 2051, 2051, 2052, 2052, 2052, 2052, 2052,
2595 2052, 2052, 2052, 2052, 2053, 2053, 2053, 2053, 2053, 2053,
2596 2053, 2053, 2053, 2054, 2054, 2054, 2054, 2054, 2054, 2054,
2597 2054, 2054, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055,
2599 2055, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056,
2600 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2058,
2601 2058, 2058, 2058, 2058, 2058, 2058, 2058, 2058, 2059, 2059,
2602 2059, 2059, 2059, 2059, 2059, 2059, 2059, 2060, 2060, 2060,
2603 2060, 2060, 2060, 2060, 2060, 2060, 2061, 2061, 2061, 2061,
2604 2061, 2061, 2061, 2061, 2061, 2062, 2062, 2062, 0, 0,
2605 0, 2062, 2063, 2063, 2063, 0, 0, 0, 2063, 2064,
2606 2064, 2064, 0, 0, 0, 2064, 2065, 2065, 2065, 0,
2607 0, 0, 2065, 2066, 2066, 2066, 0, 0, 0, 2066,
2608 2067, 2067, 2067, 0, 0, 0, 2067, 2068, 2068, 2068,
2610 0, 0, 0, 2068, 2069, 2069, 2069, 0, 0, 0,
2611 2069, 2070, 2070, 2070, 0, 0, 0, 2070, 2071, 2071,
2612 2071, 0, 0, 0, 2071, 2072, 2072, 2072, 0, 0,
2613 0, 2072, 2073, 2073, 2073, 0, 0, 0, 2073, 2074,
2614 2074, 2074, 0, 0, 0, 2074, 2075, 2075, 2075, 0,
2615 0, 0, 2075, 2076, 2076, 2076, 0, 0, 0, 2076,
2616 2077, 2077, 2077, 0, 0, 0, 2077, 2078, 2078, 2078,
2617 0, 0, 0, 2078, 2079, 2079, 2079, 2079, 2079, 2079,
2618 2079, 0, 2079, 2080, 0, 0, 0, 2080, 2081, 0,
2619 0, 0, 2081, 2082, 0, 0, 0, 2082, 2083, 0,
2621 0, 0, 2083, 2084, 0, 0, 0, 2084, 2085, 0,
2622 0, 0, 2085, 2086, 0, 0, 0, 2086, 2087, 0,
2623 0, 0, 2087, 2088, 0, 0, 0, 2088, 2089, 2089,
2624 2089, 0, 0, 0, 2089, 2090, 0, 0, 0, 2090,
2625 2091, 2091, 2091, 0, 0, 0, 2091, 2092, 0, 0,
2626 0, 2092, 2093, 2093, 2093, 0, 0, 0, 2093, 2094,
2627 0, 0, 0, 2094, 2095, 2095, 2095, 0, 0, 0,
2628 2095, 2096, 0, 0, 0, 2096, 2097, 2097, 2097, 0,
2629 0, 0, 2097, 2098, 0, 0, 0, 2098, 2099, 2099,
2630 2099, 0, 0, 0, 2099, 2100, 0, 0, 0, 2100,
2632 2101, 2101, 2101, 0, 0, 0, 2101, 2102, 0, 0,
2633 0, 2102, 2103, 2103, 2103, 0, 0, 0, 2103, 2104,
2634 0, 0, 0, 2104, 2105, 2105, 2105, 2105, 2105, 2105,
2635 2105, 2105, 2105, 2106, 0, 0, 0, 0, 2106, 2107,
2636 2107, 2107, 0, 0, 0, 2107, 2108, 2108, 2108, 2108,
2637 0, 0, 2108, 2108, 2109, 2109, 2109, 0, 0, 0,
2638 2109, 2110, 2110, 2110, 2110, 0, 0, 2110, 2110, 2111,
2639 2111, 2111, 0, 0, 0, 2111, 2112, 2112, 2112, 2112,
2640 0, 0, 2112, 2112, 2113, 2113, 2113, 0, 0, 0,
2641 2113, 2114, 2114, 2114, 2114, 0, 0, 2114, 2114, 2115,
2643 2115, 2115, 0, 0, 0, 2115, 2116, 2116, 2116, 2116,
2644 0, 0, 2116, 2116, 2117, 2117, 2117, 0, 0, 0,
2645 2117, 2118, 2118, 2118, 2118, 0, 0, 2118, 2118, 2119,
2646 2119, 2119, 0, 0, 0, 2119, 2120, 2120, 2120, 2120,
2647 0, 0, 2120, 2120, 2121, 2121, 2121, 0, 0, 0,
2648 2121, 2122, 2122, 2122, 2122, 0, 0, 2122, 2122, 2123,
2649 2123, 2123, 0, 0, 0, 2123, 2124, 2124, 2124, 2124,
2650 0, 0, 2124, 2124, 2125, 2125, 2125, 0, 0, 0,
2651 2125, 2126, 2126, 2126, 2126, 0, 0, 2126, 2126, 2127,
2652 2127, 2127, 2127, 0, 0, 2127, 2127, 2128, 2128, 2128,
2654 0, 0, 0, 2128, 2129, 2129, 2129, 2129, 0, 0,
2655 2129, 2129, 2130, 2130, 2130, 0, 0, 0, 2130, 2131,
2656 2131, 2131, 2131, 0, 0, 2131, 2131, 2132, 2132, 2132,
2657 0, 0, 0, 2132, 2133, 2133, 2133, 2133, 0, 0,
2658 2133, 2133, 2134, 2134, 2134, 2134, 0, 0, 2134, 2134,
2659 2135, 2135, 2135, 0, 0, 0, 2135, 2136, 2136, 2136,
2660 2136, 0, 0, 2136, 2136, 2137, 2137, 2137, 0, 0,
2661 0, 2137, 2138, 2138, 2138, 2138, 0, 0, 2138, 2138,
2662 2139, 2139, 2139, 2139, 2139, 2139, 2139, 2139, 2139, 2140,
2663 0, 2140, 0, 0, 2140, 2141, 2141, 2141, 0, 0,
2665 0, 2141, 2142, 2142, 2142, 2142, 0, 0, 2142, 2142,
2666 2143, 2143, 2143, 2143, 0, 2143, 0, 2143, 2144, 2144,
2667 2144, 2144, 0, 0, 2144, 2144, 2145, 2145, 2145, 2145,
2668 0, 2145, 0, 2145, 2146, 2146, 2146, 2146, 0, 0,
2669 2146, 2146, 2147, 2147, 2147, 0, 0, 0, 2147, 2148,
2670 2148, 2148, 2148, 0, 0, 2148, 2148, 2149, 2149, 2149,
2671 0, 0, 0, 2149, 2150, 2150, 2150, 2150, 0, 0,
2672 2150, 2150, 2151, 2151, 2151, 0, 0, 0, 2151, 2152,
2673 2152, 2152, 2152, 0, 0, 2152, 2152, 2153, 2153, 2153,
2674 0, 0, 0, 2153, 2154, 2154, 2154, 2154, 0, 0,
2676 2154, 2154, 2155, 2155, 2155, 0, 0, 0, 2155, 2156,
2677 2156, 2156, 2156, 0, 0, 2156, 2156, 2157, 2157, 2157,
2678 0, 0, 0, 2157, 2158, 2158, 2158, 2158, 0, 0,
2679 2158, 2158, 2159, 2159, 2159, 0, 0, 0, 2159, 2160,
2680 2160, 2160, 2160, 0, 0, 2160, 2160, 2161, 2161, 2161,
2681 2161, 0, 0, 2161, 2161, 2162, 2162, 2162, 0, 0,
2682 0, 2162, 2163, 2163, 2163, 2163, 0, 0, 2163, 2163,
2683 2164, 2164, 2164, 0, 0, 0, 2164, 2165, 2165, 2165,
2684 2165, 0, 0, 2165, 2165, 2166, 2166, 2166, 0, 0,
2685 0, 2166, 2167, 2167, 2167, 2167, 0, 0, 2167, 2167,
2687 2168, 2168, 2168, 2168, 0, 0, 2168, 2168, 2169, 2169,
2688 2169, 0, 0, 0, 2169, 2170, 2170, 2170, 2170, 0,
2689 0, 2170, 2170, 2171, 2171, 2171, 0, 0, 0, 2171,
2690 2172, 2172, 2172, 2172, 0, 0, 2172, 2172, 2173, 2173,
2691 2173, 2173, 2173, 2173, 2173, 2173, 2173, 2174, 2174, 2174,
2692 2174, 2174, 2174, 2174, 2174, 2174, 2175, 2175, 2175, 0,
2693 0, 0, 2175, 2176, 2176, 2176, 2176, 0, 0, 2176,
2694 2176, 2177, 2177, 2177, 2177, 0, 0, 2177, 2177, 2178,
2695 2178, 2178, 0, 0, 0, 2178, 2179, 2179, 2179, 2179,
2696 0, 0, 2179, 2179, 2180, 2180, 2180, 0, 0, 0,
2698 2180, 2181, 2181, 2181, 2181, 0, 0, 2181, 2181, 2182,
2699 2182, 2182, 0, 0, 0, 2182, 2183, 2183, 2183, 2183,
2700 0, 0, 2183, 2183, 2184, 2184, 2184, 0, 0, 0,
2701 2184, 2185, 2185, 2185, 2185, 0, 0, 2185, 2185, 2186,
2702 2186, 2186, 0, 0, 0, 2186, 2187, 2187, 2187, 2187,
2703 0, 0, 2187, 2187, 2188, 2188, 2188, 0, 0, 0,
2704 2188, 2189, 2189, 2189, 2189, 0, 0, 2189, 2189, 2190,
2705 2190, 2190, 2190, 0, 2190, 0, 2190, 2191, 2191, 2191,
2706 2191, 0, 0, 2191, 2191, 2192, 2192, 2192, 2192, 0,
2707 2192, 0, 2192, 2193, 2193, 2193, 2193, 0, 0, 2193,
2709 2193, 2194, 2194, 2194, 2194, 0, 0, 2194, 2194, 2195,
2710 2195, 2195, 0, 0, 0, 2195, 2196, 2196, 2196, 2196,
2711 0, 0, 2196, 2196, 2197, 2197, 2197, 0, 0, 0,
2712 2197, 2198, 2198, 2198, 2198, 0, 0, 2198, 2198, 2199,
2713 2199, 2199, 0, 0, 0, 2199, 2200, 2200, 2200, 2200,
2714 0, 0, 2200, 2200, 2201, 2201, 2201, 2201, 0, 0,
2715 2201, 2201, 2202, 2202, 2202, 0, 0, 0, 2202, 2203,
2716 2203, 2203, 2203, 0, 0, 2203, 2203, 2204, 2204, 2204,
2717 2204, 0, 2204, 0, 2204, 2205, 2205, 2205, 2205, 0,
2718 0, 2205, 2205, 2206, 2206, 2206, 2206, 2206, 2206, 2206,
2720 2206, 2206, 2207, 2207, 2207, 2207, 2207, 2207, 2207, 2207,
2721 2207, 2208, 2208, 2208, 0, 0, 0, 2208, 2209, 2209,
2722 2209, 2209, 0, 0, 2209, 2209, 2210, 2210, 2210, 2210,
2723 0, 0, 2210, 2210, 2211, 2211, 2211, 0, 0, 0,
2724 2211, 2212, 2212, 2212, 2212, 0, 0, 2212, 2212, 2213,
2725 2213, 2213, 0, 0, 0, 2213, 2214, 2214, 2214, 2214,
2726 0, 0, 2214, 2214, 2215, 2215, 2215, 0, 0, 0,
2727 2215, 2216, 2216, 2216, 2216, 0, 0, 2216, 2216, 2217,
2728 2217, 2217, 2217, 0, 2217, 0, 2217, 2218, 2218, 2218,
2729 2218, 0, 2218, 0, 2218, 2219, 2219, 2219, 2219, 0,
2731 0, 2219, 2219, 2220, 2220, 2220, 0, 0, 0, 2220,
2732 2221, 2221, 2221, 2221, 0, 0, 2221, 2221, 2222, 2222,
2733 2222, 2222, 0, 0, 2222, 2222, 2223, 2223, 2223, 2223,
2734 0, 2223, 0, 2223, 2224, 2224, 2224, 2224, 0, 0,
2735 2224, 2224, 2225, 2225, 2225, 2225, 0, 0, 2225, 2225,
2736 2226, 2226, 2226, 0, 0, 0, 2226, 2227, 2227, 2227,
2737 2227, 0, 0, 2227, 2227, 2228, 2228, 2228, 2228, 0,
2738 2228, 0, 2228, 2229, 2229, 2229, 2229, 0, 0, 2229,
2739 2229, 2230, 2230, 2230, 2230, 0, 2230, 0, 2230, 2231,
2740 2231, 2231, 2231, 0, 0, 2231, 2231, 2232, 2232, 2232,
2742 2232, 0, 0, 2232, 2232, 2233, 2233, 2233, 0, 0,
2743 0, 2233, 2234, 2234, 2234, 2234, 0, 0, 2234, 2234,
2744 2235, 2235, 2235, 2235, 0, 0, 2235, 2235, 2236, 2236,
2745 2236, 2236, 2236, 2236, 2236, 2236, 2236, 2237, 2237, 2237,
2746 2237, 2237, 2237, 2237, 2237, 2237, 2238, 2238, 2238, 2238,
2747 0, 2238, 0, 2238, 2239, 2239, 2239, 2239, 0, 0,
2748 2239, 2239, 2240, 2240, 2240, 2240, 0, 0, 2240, 2240,
2749 2241, 2241, 2241, 0, 0, 0, 2241, 2242, 2242, 2242,
2750 2242, 0, 0, 2242, 2242, 2243, 2243, 2243, 0, 0,
2751 0, 2243, 2244, 2244, 2244, 2244, 0, 0, 2244, 2244,
2753 2245, 2245, 2245, 2245, 0, 2245, 0, 2245, 2246, 2246,
2754 2246, 2246, 0, 0, 2246, 2246, 2247, 2247, 2247, 2247,
2755 0, 2247, 0, 2247, 2248, 2248, 2248, 2248, 0, 0,
2756 2248, 2248, 2249, 2249, 2249, 0, 0, 0, 2249, 2250,
2757 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2251, 2251,
2758 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2252, 2252, 2252,
2759 2252, 2252, 2252, 2252, 2252, 2252, 2253, 2253, 2253, 2253,
2760 2253, 2253, 2253, 2253, 2253, 2254, 2254, 2254, 2254, 2254,
2761 2254, 2254, 2254, 2254, 2255, 2255, 2255, 2255, 2255, 2255,
2762 2255, 2255, 2255, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
2764 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
2765 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
2766 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
2767 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
2768 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
2769 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
2773 /* Table of booleans, true if rule could match eol. */
2774 static yyconst flex_int32_t yy_rule_can_match_eol[352] =
2776 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1,
2777 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1,
2778 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1,
2779 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1,
2780 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1,
2781 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1,
2782 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2783 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1,
2784 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1,
2785 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1,
2786 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1,
2787 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1,
2788 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0,
2789 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2790 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1,
2791 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1,
2792 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
2793 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, };
2795 static yy_state_type yy_last_accepting_state;
2796 static char *yy_last_accepting_cpos;
2798 extern int surf_parse__flex_debug;
2799 int surf_parse__flex_debug = 0;
2801 /* The intent behind this definition is that it'll catch
2802 * any uses of REJECT which flex missed.
2804 #define REJECT reject_used_but_not_detected
2805 #define yymore() yymore_used_but_not_detected
2806 #define YY_MORE_ADJ 0
2807 #define YY_RESTORE_YY_MORE_OFFSET
2808 char *surf_parse_text;
2809 /* Validating XML processor for /home/mquinson/Code/simgrid/src/surf/simgrid.dtd.
2810 * Generated 2010/04/06 12:44:25.
2812 * This program was generated with the FleXML XML processor generator.
2813 * FleXML is Copyright (C) 1999-2005 Kristoffer Rose. All rights reserved.
2814 * FleXML is Copyright (C) 2003-2006 Martin Quinson. All rights reserved.
2815 * (Id: flexml.pl,v 1.62 2007/10/11 10:00:14 mquinson Exp).
2817 * There are two, intertwined parts to this program, part A and part B.
2822 * Some parts, here collectively called "Part A", are found in the
2823 * FleXML package. They are Copyright (C) 1999-2005 Kristoffer Rose
2824 * and Copyright (C) 2003-2006 Martin Quinson. All rights reserved.
2826 * You can redistribute, use, perform, display and/or modify "Part A"
2827 * provided the following two conditions hold:
2829 * 1. The program is distributed WITHOUT ANY WARRANTY from the author of
2830 * FleXML; without even the implied warranty of MERCHANTABILITY or
2831 * FITNESS FOR A PARTICULAR PURPOSE.
2833 * 2. The program distribution conditions do not in any way affect the
2834 * distribution conditions of the FleXML system used to generate this
2835 * file or any version of FleXML derived from that system.
2837 * Notice that these are explicit rights granted to you for files
2838 * generated by the FleXML system. For your rights in connection with
2839 * the FleXML system itself please consult the GNU General Public License.
2844 * The other parts, here collectively called "Part B", and which came
2845 * from the DTD used by FleXML to generate this program, can be
2846 * distributed (or not, as the case may be) under the terms of whoever
2847 * wrote them, provided these terms respect and obey the two conditions
2848 * above under the heading "Part A".
2850 * The author of and contributors to FleXML specifically disclaim
2851 * any copyright interest in "Part B", unless "Part B" was written
2852 * by the author of or contributors to FleXML.
2856 /* Version strings. */
2857 const char rcs_surfxml_flexml_skeleton[] =
2858 "$" "Id: skel,v 1.40 2007/10/11 09:57:24 mquinson Exp $";
2859 const char rcs_surfxml_flexml[] =
2860 "$" "Id: flexml.pl,v 1.62 2007/10/11 10:00:14 mquinson Exp $";
2863 #include <stdlib.h> /* for realloc() -- needed here when using flex 2.5.4 */
2870 #if defined(_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__TOS_WIN__)
2871 # ifndef __STRICT_ANSI__
2873 # include <process.h>
2876 # include <unistd.h>
2879 #ifndef FLEXML_INDEXSTACKSIZE
2880 #define FLEXML_INDEXSTACKSIZE 1000
2883 /* Generated definitions. */
2884 #define FLEXML_yylineno
2885 #ifndef FLEXML_BUFFERSTACKSIZE
2886 #define FLEXML_BUFFERSTACKSIZE 1000000
2888 #define FLEXML_NEED_BUFFERLIT
2890 /* XML processor api. */
2891 /* FleXML-provided data. */
2892 int surfxml_pcdata_ix;
2893 extern char *surfxml_bufferstack;
2894 #define surfxml_pcdata (surfxml_bufferstack + surfxml_pcdata_ix)
2895 AT_surfxml_random_generator AX_surfxml_random_generator;
2896 #define A_surfxml_random_generator AX_surfxml_random_generator
2897 AT_surfxml_prop_id AX_surfxml_prop_id;
2898 #define A_surfxml_prop_id (surfxml_bufferstack + AX_surfxml_prop_id)
2899 AT_surfxml_host_interference_recv AX_surfxml_host_interference_recv;
2900 #define A_surfxml_host_interference_recv (surfxml_bufferstack + AX_surfxml_host_interference_recv)
2901 AT_surfxml_host_id AX_surfxml_host_id;
2902 #define A_surfxml_host_id (surfxml_bufferstack + AX_surfxml_host_id)
2903 AT_surfxml_set_id AX_surfxml_set_id;
2904 #define A_surfxml_set_id (surfxml_bufferstack + AX_surfxml_set_id)
2905 AT_surfxml_link_latency_file AX_surfxml_link_latency_file;
2906 #define A_surfxml_link_latency_file (surfxml_bufferstack + AX_surfxml_link_latency_file)
2907 AT_surfxml_host_state AX_surfxml_host_state;
2908 #define A_surfxml_host_state AX_surfxml_host_state
2909 AT_surfxml_host_interference_send_recv AX_surfxml_host_interference_send_recv;
2910 #define A_surfxml_host_interference_send_recv (surfxml_bufferstack + AX_surfxml_host_interference_send_recv)
2911 AT_surfxml_host_interference_send AX_surfxml_host_interference_send;
2912 #define A_surfxml_host_interference_send (surfxml_bufferstack + AX_surfxml_host_interference_send)
2913 AT_surfxml_set_suffix AX_surfxml_set_suffix;
2914 #define A_surfxml_set_suffix (surfxml_bufferstack + AX_surfxml_set_suffix)
2915 AT_surfxml_route_impact_on_dst AX_surfxml_route_impact_on_dst;
2916 #define A_surfxml_route_impact_on_dst (surfxml_bufferstack + AX_surfxml_route_impact_on_dst)
2917 AT_surfxml_host_power AX_surfxml_host_power;
2918 #define A_surfxml_host_power (surfxml_bufferstack + AX_surfxml_host_power)
2919 AT_surfxml_router_id AX_surfxml_router_id;
2920 #define A_surfxml_router_id (surfxml_bufferstack + AX_surfxml_router_id)
2921 AT_surfxml_process_start_time AX_surfxml_process_start_time;
2922 #define A_surfxml_process_start_time (surfxml_bufferstack + AX_surfxml_process_start_time)
2923 AT_surfxml_cluster_suffix AX_surfxml_cluster_suffix;
2924 #define A_surfxml_cluster_suffix (surfxml_bufferstack + AX_surfxml_cluster_suffix)
2925 AT_surfxml_platform_xmlns_c_route AX_surfxml_platform_xmlns_c_route;
2926 #define A_surfxml_platform_xmlns_c_route (surfxml_bufferstack + AX_surfxml_platform_xmlns_c_route)
2927 AT_surfxml_cluster_prefix AX_surfxml_cluster_prefix;
2928 #define A_surfxml_cluster_prefix (surfxml_bufferstack + AX_surfxml_cluster_prefix)
2929 AT_surfxml_trace_file AX_surfxml_trace_file;
2930 #define A_surfxml_trace_file (surfxml_bufferstack + AX_surfxml_trace_file)
2931 AT_surfxml_route_action AX_surfxml_route_action;
2932 #define A_surfxml_route_action AX_surfxml_route_action
2933 AT_surfxml_link_sharing_policy AX_surfxml_link_sharing_policy;
2934 #define A_surfxml_link_sharing_policy AX_surfxml_link_sharing_policy
2935 AT_surfxml_random_min AX_surfxml_random_min;
2936 #define A_surfxml_random_min (surfxml_bufferstack + AX_surfxml_random_min)
2937 AT_surfxml_process_kill_time AX_surfxml_process_kill_time;
2938 #define A_surfxml_process_kill_time (surfxml_bufferstack + AX_surfxml_process_kill_time)
2939 AT_surfxml_cluster_bb_bw AX_surfxml_cluster_bb_bw;
2940 #define A_surfxml_cluster_bb_bw (surfxml_bufferstack + AX_surfxml_cluster_bb_bw)
2941 AT_surfxml_trace_c_connect_element AX_surfxml_trace_c_connect_element;
2942 #define A_surfxml_trace_c_connect_element (surfxml_bufferstack + AX_surfxml_trace_c_connect_element)
2943 AT_surfxml_argument_value AX_surfxml_argument_value;
2944 #define A_surfxml_argument_value (surfxml_bufferstack + AX_surfxml_argument_value)
2945 AT_surfxml_link_state AX_surfxml_link_state;
2946 #define A_surfxml_link_state AX_surfxml_link_state
2947 AT_surfxml_route_impact_on_src AX_surfxml_route_impact_on_src;
2948 #define A_surfxml_route_impact_on_src (surfxml_bufferstack + AX_surfxml_route_impact_on_src)
2949 AT_surfxml_link_bandwidth AX_surfxml_link_bandwidth;
2950 #define A_surfxml_link_bandwidth (surfxml_bufferstack + AX_surfxml_link_bandwidth)
2951 AT_surfxml_cluster_id AX_surfxml_cluster_id;
2952 #define A_surfxml_cluster_id (surfxml_bufferstack + AX_surfxml_cluster_id)
2953 AT_surfxml_random_mean AX_surfxml_random_mean;
2954 #define A_surfxml_random_mean (surfxml_bufferstack + AX_surfxml_random_mean)
2955 AT_surfxml_cluster_bb_lat AX_surfxml_cluster_bb_lat;
2956 #define A_surfxml_cluster_bb_lat (surfxml_bufferstack + AX_surfxml_cluster_bb_lat)
2957 AT_surfxml_link_latency AX_surfxml_link_latency;
2958 #define A_surfxml_link_latency (surfxml_bufferstack + AX_surfxml_link_latency)
2959 AT_surfxml_platform_xmlns_c_link AX_surfxml_platform_xmlns_c_link;
2960 #define A_surfxml_platform_xmlns_c_link (surfxml_bufferstack + AX_surfxml_platform_xmlns_c_link)
2961 AT_surfxml_link_bandwidth_file AX_surfxml_link_bandwidth_file;
2962 #define A_surfxml_link_bandwidth_file (surfxml_bufferstack + AX_surfxml_link_bandwidth_file)
2963 AT_surfxml_random_id AX_surfxml_random_id;
2964 #define A_surfxml_random_id (surfxml_bufferstack + AX_surfxml_random_id)
2965 AT_surfxml_set_radical AX_surfxml_set_radical;
2966 #define A_surfxml_set_radical (surfxml_bufferstack + AX_surfxml_set_radical)
2967 AT_surfxml_random_max AX_surfxml_random_max;
2968 #define A_surfxml_random_max (surfxml_bufferstack + AX_surfxml_random_max)
2969 AT_surfxml_link_id AX_surfxml_link_id;
2970 #define A_surfxml_link_id (surfxml_bufferstack + AX_surfxml_link_id)
2971 AT_surfxml_process_host AX_surfxml_process_host;
2972 #define A_surfxml_process_host (surfxml_bufferstack + AX_surfxml_process_host)
2973 AT_surfxml_host_availability_file AX_surfxml_host_availability_file;
2974 #define A_surfxml_host_availability_file (surfxml_bufferstack + AX_surfxml_host_availability_file)
2975 AT_surfxml_cluster_lat AX_surfxml_cluster_lat;
2976 #define A_surfxml_cluster_lat (surfxml_bufferstack + AX_surfxml_cluster_lat)
2977 AT_surfxml_trace_periodicity AX_surfxml_trace_periodicity;
2978 #define A_surfxml_trace_periodicity (surfxml_bufferstack + AX_surfxml_trace_periodicity)
2979 AT_surfxml_foreach_set_id AX_surfxml_foreach_set_id;
2980 #define A_surfxml_foreach_set_id (surfxml_bufferstack + AX_surfxml_foreach_set_id)
2981 AT_surfxml_route_impact_on_dst_with_other_send AX_surfxml_route_impact_on_dst_with_other_send;
2982 #define A_surfxml_route_impact_on_dst_with_other_send (surfxml_bufferstack + AX_surfxml_route_impact_on_dst_with_other_send)
2983 AT_surfxml_prop_value AX_surfxml_prop_value;
2984 #define A_surfxml_prop_value (surfxml_bufferstack + AX_surfxml_prop_value)
2985 AT_surfxml_route_impact_on_src_with_other_recv AX_surfxml_route_impact_on_src_with_other_recv;
2986 #define A_surfxml_route_impact_on_src_with_other_recv (surfxml_bufferstack + AX_surfxml_route_impact_on_src_with_other_recv)
2987 AT_surfxml_link_state_file AX_surfxml_link_state_file;
2988 #define A_surfxml_link_state_file (surfxml_bufferstack + AX_surfxml_link_state_file)
2989 AT_surfxml_set_prefix AX_surfxml_set_prefix;
2990 #define A_surfxml_set_prefix (surfxml_bufferstack + AX_surfxml_set_prefix)
2991 AT_surfxml_cluster_power AX_surfxml_cluster_power;
2992 #define A_surfxml_cluster_power (surfxml_bufferstack + AX_surfxml_cluster_power)
2993 AT_surfxml_process_function AX_surfxml_process_function;
2994 #define A_surfxml_process_function (surfxml_bufferstack + AX_surfxml_process_function)
2995 AT_surfxml_host_max_outgoing_rate AX_surfxml_host_max_outgoing_rate;
2996 #define A_surfxml_host_max_outgoing_rate (surfxml_bufferstack + AX_surfxml_host_max_outgoing_rate)
2997 AT_surfxml_link_c_ctn_id AX_surfxml_link_c_ctn_id;
2998 #define A_surfxml_link_c_ctn_id (surfxml_bufferstack + AX_surfxml_link_c_ctn_id)
2999 AT_surfxml_host_availability AX_surfxml_host_availability;
3000 #define A_surfxml_host_availability (surfxml_bufferstack + AX_surfxml_host_availability)
3001 AT_surfxml_route_src AX_surfxml_route_src;
3002 #define A_surfxml_route_src (surfxml_bufferstack + AX_surfxml_route_src)
3003 AT_surfxml_route_c_multi_src AX_surfxml_route_c_multi_src;
3004 #define A_surfxml_route_c_multi_src (surfxml_bufferstack + AX_surfxml_route_c_multi_src)
3005 AT_surfxml_route_c_multi_action AX_surfxml_route_c_multi_action;
3006 #define A_surfxml_route_c_multi_action AX_surfxml_route_c_multi_action
3007 AT_surfxml_trace_c_connect_trace AX_surfxml_trace_c_connect_trace;
3008 #define A_surfxml_trace_c_connect_trace (surfxml_bufferstack + AX_surfxml_trace_c_connect_trace)
3009 AT_surfxml_trace_id AX_surfxml_trace_id;
3010 #define A_surfxml_trace_id (surfxml_bufferstack + AX_surfxml_trace_id)
3011 AT_surfxml_cluster_radical AX_surfxml_cluster_radical;
3012 #define A_surfxml_cluster_radical (surfxml_bufferstack + AX_surfxml_cluster_radical)
3013 AT_surfxml_include_file AX_surfxml_include_file;
3014 #define A_surfxml_include_file (surfxml_bufferstack + AX_surfxml_include_file)
3015 AT_surfxml_random_std_deviation AX_surfxml_random_std_deviation;
3016 #define A_surfxml_random_std_deviation (surfxml_bufferstack + AX_surfxml_random_std_deviation)
3017 AT_surfxml_trace_c_connect_kind AX_surfxml_trace_c_connect_kind;
3018 #define A_surfxml_trace_c_connect_kind AX_surfxml_trace_c_connect_kind
3019 AT_surfxml_route_c_multi_dst AX_surfxml_route_c_multi_dst;
3020 #define A_surfxml_route_c_multi_dst (surfxml_bufferstack + AX_surfxml_route_c_multi_dst)
3021 AT_surfxml_host_state_file AX_surfxml_host_state_file;
3022 #define A_surfxml_host_state_file (surfxml_bufferstack + AX_surfxml_host_state_file)
3023 AT_surfxml_route_c_multi_symmetric AX_surfxml_route_c_multi_symmetric;
3024 #define A_surfxml_route_c_multi_symmetric AX_surfxml_route_c_multi_symmetric
3025 AT_surfxml_route_dst AX_surfxml_route_dst;
3026 #define A_surfxml_route_dst (surfxml_bufferstack + AX_surfxml_route_dst)
3027 AT_surfxml_cluster_bw AX_surfxml_cluster_bw;
3028 #define A_surfxml_cluster_bw (surfxml_bufferstack + AX_surfxml_cluster_bw)
3029 AT_surfxml_platform_version AX_surfxml_platform_version;
3030 #define A_surfxml_platform_version (surfxml_bufferstack + AX_surfxml_platform_version)
3034 # define ENTER(state) debug_enter(state,#state)
3035 # define LEAVE debug_leave()
3036 # define SET(state) debug_set(state,#state)
3037 static void debug_enter(int, const char*);
3038 static void debug_leave(void);
3039 static void debug_set(int, const char*);
3041 # define ENTER(state) (yy_push_state(state))
3042 # define LEAVE (yy_pop_state())
3043 # define SET(state) BEGIN(state)
3046 /* Generic actions. */
3047 #define SKIP /*skip*/
3048 #define SUCCEED CLEANUP; return 0
3050 #define FAIL return fail
3051 static int fail(const char*, ...);
3053 enum {flexml_max_err_msg_size = 512};
3054 static char flexml_err_msg[flexml_max_err_msg_size];
3055 const char * surfxml_parse_err_msg()
3057 return flexml_err_msg;
3059 static void reset_surfxml_parse_err_msg()
3061 flexml_err_msg[0] = '\0';
3065 static void cleanup(void);
3066 #define CLEANUP cleanup()
3068 /* Text buffer stack handling. */
3069 char *surfxml_bufferstack = NULL;
3070 static int blimit = FLEXML_BUFFERSTACKSIZE;
3071 static int bnext = 1;
3073 static int *indexstack = NULL;
3074 static int ilimit = FLEXML_INDEXSTACKSIZE;
3075 static int inext = 1;
3077 #define BUFFERSET(P) (P = bnext)
3078 #define BUFFERPUTC(C) (ck_blimit(), surfxml_bufferstack[bnext++] = (C))
3079 #define BUFFERDONE (BUFFERPUTC('\0'))
3081 #define BUFFERLITERAL(C, P) surfxml_bufferliteral(C, &(P), surf_parse_text)
3083 /* after this is called, there are at least 2 slots left in the stack */
3084 static int ck_blimit()
3086 if (bnext >= blimit) {
3087 blimit += FLEXML_BUFFERSTACKSIZE + 2;
3089 char *temp = (char *) realloc(surfxml_bufferstack, blimit);
3091 surfxml_bufferstack = temp;
3097 /* after this is called, there are at least 2 slots left in the stack */
3098 static int ck_ilimit()
3100 if (inext >= ilimit) {
3101 ilimit += FLEXML_INDEXSTACKSIZE + 2;
3103 int *temp = (int *) realloc(indexstack, ilimit);
3111 #ifdef FLEXML_NEED_BUFFERLIT
3112 static void surfxml_bufferliteral(char c, int* pp, const char* text)
3114 const char *s = (c ? strchr(text,c) : text-1), *e = strrchr(text,c);
3115 assert(s <= e); BUFFERSET(*pp);
3117 if (isspace(*s) && c) { BUFFERPUTC(' '); while (isspace(*s)) ++s; }
3118 else BUFFERPUTC(*s);
3124 static void pushbuffer(int p)
3127 indexstack[inext++] = p;
3128 indexstack[inext++] = bnext;
3131 static int popbuffer(void)
3134 bnext = indexstack[--inext];
3135 return indexstack[--inext];
3138 /* General internal entities are `unput' back onto the input stream... */
3139 #define ENTITYTEXT(T) \
3140 { char *s = (T), *e = s+strlen(s);\
3141 while (--e >= s) { unput(*e); }}
3143 /* Flex standard options. */
3144 #define YY_NO_INPUT 1
3145 /* Flex user-requested options. */
3146 /* XML character classes (currently restricted to ASCII). */
3147 /* "Common syntactic structures." */
3148 /* "Names and Tokens." */
3149 /* Miscellaneous. */
3150 /* Parser states (flex `exclusive start conditions'):
3152 * PROLOG the XML prolog of the document before <?xml...>
3153 * DOCTYPE the XML prolog of the document after <?xml...>
3154 * EPILOG after the root element
3155 * INCOMMENT inside an XML comment <!--....-->
3156 * INPI inside an XML PI <?...?>
3157 * VALUE1 inside a '...'-delimited literal
3158 * VALUE2 inside a "..."-delimited literal
3159 * CDATA inside a <![CDATA[...] ]> section.
3160 * ROOT_<tag> expect root element <tag>
3161 * AL_<tag> inside the attribute list for <tag>
3162 * IN_<tag> inside a <tag> with element contents (ready for end tag)
3163 * IMPOSSIBLE dummy to permit disabling rules; must be last
3167 const char* *surfxml_statenames=NULL;
3178 #define ROOT_surfxml_platform 9
3179 #define AL_surfxml_platform 10
3180 #define S_surfxml_platform 11
3181 #define S_surfxml_platform_1 12
3182 #define S_surfxml_platform_2 13
3183 #define S_surfxml_platform_3 14
3184 #define S_surfxml_platform_4 15
3185 #define S_surfxml_platform_5 16
3186 #define E_surfxml_platform 17
3187 #define AL_surfxml_include 18
3188 #define E_surfxml_include 19
3189 #define AL_surfxml_trace 20
3191 #define AL_surfxml_random 22
3192 #define S_surfxml_random 23
3193 #define S_surfxml_random_1 24
3194 #define S_surfxml_random_2 25
3195 #define E_surfxml_random 26
3196 #define AL_surfxml_trace_c_connect 27
3197 #define E_surfxml_trace_c_connect 28
3198 #define AL_surfxml_set 29
3199 #define E_surfxml_set 30
3200 #define AL_surfxml_foreach 31
3201 #define S_surfxml_foreach 32
3202 #define S_surfxml_foreach_1 33
3203 #define E_surfxml_foreach 34
3204 #define AL_surfxml_host 35
3205 #define S_surfxml_host 36
3206 #define S_surfxml_host_1 37
3207 #define S_surfxml_host_2 38
3208 #define E_surfxml_host 39
3209 #define AL_surfxml_prop 40
3210 #define E_surfxml_prop 41
3211 #define AL_surfxml_cluster 42
3212 #define E_surfxml_cluster 43
3213 #define AL_surfxml_router 44
3214 #define E_surfxml_router 45
3215 #define AL_surfxml_link 46
3216 #define S_surfxml_link 47
3217 #define S_surfxml_link_1 48
3218 #define S_surfxml_link_2 49
3219 #define E_surfxml_link 50
3220 #define AL_surfxml_route_c_multi 51
3221 #define S_surfxml_route_c_multi 52
3222 #define S_surfxml_route_c_multi_1 53
3223 #define S_surfxml_route_c_multi_2 54
3224 #define E_surfxml_route_c_multi 55
3225 #define AL_surfxml_route 56
3226 #define S_surfxml_route 57
3227 #define S_surfxml_route_1 58
3228 #define S_surfxml_route_2 59
3229 #define E_surfxml_route 60
3230 #define AL_surfxml_link_c_ctn 61
3231 #define E_surfxml_link_c_ctn 62
3232 #define AL_surfxml_process 63
3233 #define S_surfxml_process 64
3234 #define S_surfxml_process_1 65
3235 #define S_surfxml_process_2 66
3236 #define E_surfxml_process 67
3237 #define AL_surfxml_argument 68
3238 #define E_surfxml_argument 69
3239 #define IMPOSSIBLE 70
3241 #ifndef YY_NO_UNISTD_H
3242 /* Special case for "unistd.h", since it is non-ANSI. We include it way
3243 * down here because we want the user's section 1 to have been scanned first.
3244 * The user has a chance to override it with an option.
3246 #if defined(_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__TOS_WIN__)
3247 # ifndef __STRICT_ANSI__
3249 # include <process.h>
3252 # include <unistd.h>
3256 #ifndef YY_EXTRA_TYPE
3257 #define YY_EXTRA_TYPE void *
3260 static int yy_init_globals (void );
3262 /* Accessor methods to globals.
3263 These are made visible to non-reentrant scanners for convenience. */
3265 int surf_parse_lex_destroy (void );
3267 int surf_parse_get_debug (void );
3269 void surf_parse_set_debug (int debug_flag );
3271 YY_EXTRA_TYPE surf_parse_get_extra (void );
3273 void surf_parse_set_extra (YY_EXTRA_TYPE user_defined );
3275 FILE *surf_parse_get_in (void );
3277 void surf_parse_set_in (FILE * in_str );
3279 FILE *surf_parse_get_out (void );
3281 void surf_parse_set_out (FILE * out_str );
3283 int surf_parse_get_leng (void );
3285 char *surf_parse_get_text (void );
3287 int surf_parse_get_lineno (void );
3289 void surf_parse_set_lineno (int line_number );
3291 /* Macros after this point can all be overridden by user definitions in
3295 #ifndef YY_SKIP_YYWRAP
3297 extern "C" int surf_parse_wrap (void );
3299 extern int surf_parse_wrap (void );
3304 static void yy_flex_strncpy (char *,yyconst char *,int );
3307 #ifdef YY_NEED_STRLEN
3308 static int yy_flex_strlen (yyconst char * );
3314 static int yyinput (void );
3316 static int input (void );
3321 static int yy_start_stack_ptr = 0;
3322 static int yy_start_stack_depth = 0;
3323 static int *yy_start_stack = NULL;
3325 static void yy_push_state (int new_state );
3327 static void yy_pop_state (void );
3329 /* Amount of stuff to slurp up with each read. */
3330 #ifndef YY_READ_BUF_SIZE
3332 /* On IA-64, the buffer size is 16k, not 8k */
3333 #define YY_READ_BUF_SIZE 16384
3335 #define YY_READ_BUF_SIZE 8192
3336 #endif /* __ia64__ */
3339 /* Copy whatever the last rule matched to the standard output. */
3341 /* This used to be an fputs(), but since the string might contain NUL's,
3342 * we now use fwrite().
3344 #define ECHO do { if (fwrite( surf_parse_text, surf_parse_leng, 1, surf_parse_out )) {} } while (0)
3347 /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
3348 * is returned in "result".
3351 #define YY_INPUT(buf,result,max_size) \
3352 if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
3356 for ( n = 0; n < max_size && \
3357 (c = getc( surf_parse_in )) != EOF && c != '\n'; ++n ) \
3358 buf[n] = (char) c; \
3360 buf[n++] = (char) c; \
3361 if ( c == EOF && ferror( surf_parse_in ) ) \
3362 YY_FATAL_ERROR( "input in flex scanner failed" ); \
3368 while ( (result = fread(buf, 1, max_size, surf_parse_in))==0 && ferror(surf_parse_in)) \
3370 if( errno != EINTR) \
3372 YY_FATAL_ERROR( "input in flex scanner failed" ); \
3376 clearerr(surf_parse_in); \
3383 /* No semi-colon after return; correct usage is to write "yyterminate();" -
3384 * we don't want an extra ';' after the "return" because that will cause
3385 * some compilers to complain about unreachable statements.
3388 #define yyterminate() return YY_NULL
3391 /* Number of entries by which start-condition stack grows. */
3392 #ifndef YY_START_STACK_INCR
3393 #define YY_START_STACK_INCR 25
3396 /* Report a fatal error. */
3397 #ifndef YY_FATAL_ERROR
3398 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
3401 /* end tables serialization structures and prototypes */
3403 /* Default declaration of generated scanner - a define so the user can
3404 * easily add parameters.
3407 #define YY_DECL_IS_OURS 1
3409 extern int surf_parse_lex (void);
3411 #define YY_DECL int surf_parse_lex (void)
3412 #endif /* !YY_DECL */
3414 /* Code executed at the beginning of each rule, after surf_parse_text and surf_parse_leng
3417 #ifndef YY_USER_ACTION
3418 #define YY_USER_ACTION
3421 /* Code executed at the end of each rule. */
3423 #define YY_BREAK break;
3426 #define YY_RULE_SETUP \
3429 /** The main scanner function which does all the work.
3433 register yy_state_type yy_current_state;
3434 register char *yy_cp, *yy_bp;
3435 register int yy_act;
3437 /* Bypass Flex's default INITIAL state and begin by parsing the XML prolog. */
3439 reset_surfxml_parse_err_msg();
3440 surfxml_bufferstack = (char *) malloc(FLEXML_BUFFERSTACKSIZE);
3441 assert(surfxml_bufferstack);
3445 for (i = 0; i < blimit; i++) {
3446 surfxml_bufferstack[i] = '\377';
3450 surfxml_bufferstack[0] = '\0';
3451 indexstack = (int *) malloc(FLEXML_INDEXSTACKSIZE * sizeof(int));
3457 surfxml_bufferliteral('\0', &bnext, "0.0");
3458 surfxml_bufferliteral('\0', &bnext, "http://simgrid.gforge.inria.fr/");
3459 surfxml_bufferliteral('\0', &bnext, "http://simgrid.gforge.inria.fr/");
3460 surfxml_bufferliteral('\0', &bnext, "1.0");
3461 surfxml_bufferliteral('\0', &bnext, "1.0");
3462 surfxml_bufferliteral('\0', &bnext, "1.0");
3463 surfxml_bufferliteral('\0', &bnext, "1.0");
3464 surfxml_bufferliteral('\0', &bnext, "-1.0");
3465 surfxml_bufferliteral('\0', &bnext, "0.0");
3466 surfxml_bufferliteral('\0', &bnext, "0.0");
3467 surfxml_bufferliteral('\0', &bnext, "0.0");
3468 surfxml_bufferliteral('\0', &bnext, "0.0");
3469 surfxml_bufferliteral('\0', &bnext, "0.0");
3470 surfxml_bufferliteral('\0', &bnext, "-1.0");
3471 surfxml_bufferliteral('\0', &bnext, "-1.0");
3472 if(!surfxml_statenames) {surfxml_statenames= (const char **)calloc(IMPOSSIBLE,sizeof(char*));
3473 surfxml_statenames[PROLOG] = NULL;
3474 surfxml_statenames[DOCTYPE] = NULL;
3475 surfxml_statenames[EPILOG] = NULL;
3476 surfxml_statenames[INCOMMENT] = NULL;
3477 surfxml_statenames[INPI] = NULL;
3478 surfxml_statenames[VALUE1] = NULL;
3479 surfxml_statenames[VALUE2] = NULL;
3480 surfxml_statenames[CDATA] = NULL;
3481 surfxml_statenames[ROOT_surfxml_platform] = NULL;
3482 surfxml_statenames[AL_surfxml_platform] = NULL;
3483 surfxml_statenames[S_surfxml_platform] = "platform";
3484 surfxml_statenames[S_surfxml_platform_1] = "platform";
3485 surfxml_statenames[S_surfxml_platform_2] = "platform";
3486 surfxml_statenames[S_surfxml_platform_3] = "platform";
3487 surfxml_statenames[S_surfxml_platform_4] = "platform";
3488 surfxml_statenames[S_surfxml_platform_5] = "platform";
3489 surfxml_statenames[E_surfxml_platform] = "platform";
3490 surfxml_statenames[AL_surfxml_include] = NULL;
3491 surfxml_statenames[E_surfxml_include] = "include";
3492 surfxml_statenames[AL_surfxml_trace] = NULL;
3493 surfxml_statenames[IN_trace] = "trace";
3494 surfxml_statenames[AL_surfxml_random] = NULL;
3495 surfxml_statenames[S_surfxml_random] = "random";
3496 surfxml_statenames[S_surfxml_random_1] = "random";
3497 surfxml_statenames[S_surfxml_random_2] = "random";
3498 surfxml_statenames[E_surfxml_random] = "random";
3499 surfxml_statenames[AL_surfxml_trace_c_connect] = NULL;
3500 surfxml_statenames[E_surfxml_trace_c_connect] = "trace:connect";
3501 surfxml_statenames[AL_surfxml_set] = NULL;
3502 surfxml_statenames[E_surfxml_set] = "set";
3503 surfxml_statenames[AL_surfxml_foreach] = NULL;
3504 surfxml_statenames[S_surfxml_foreach] = "foreach";
3505 surfxml_statenames[S_surfxml_foreach_1] = "foreach";
3506 surfxml_statenames[E_surfxml_foreach] = "foreach";
3507 surfxml_statenames[AL_surfxml_host] = NULL;
3508 surfxml_statenames[S_surfxml_host] = "host";
3509 surfxml_statenames[S_surfxml_host_1] = "host";
3510 surfxml_statenames[S_surfxml_host_2] = "host";
3511 surfxml_statenames[E_surfxml_host] = "host";
3512 surfxml_statenames[AL_surfxml_prop] = NULL;
3513 surfxml_statenames[E_surfxml_prop] = "prop";
3514 surfxml_statenames[AL_surfxml_cluster] = NULL;
3515 surfxml_statenames[E_surfxml_cluster] = "cluster";
3516 surfxml_statenames[AL_surfxml_router] = NULL;
3517 surfxml_statenames[E_surfxml_router] = "router";
3518 surfxml_statenames[AL_surfxml_link] = NULL;
3519 surfxml_statenames[S_surfxml_link] = "link";
3520 surfxml_statenames[S_surfxml_link_1] = "link";
3521 surfxml_statenames[S_surfxml_link_2] = "link";
3522 surfxml_statenames[E_surfxml_link] = "link";
3523 surfxml_statenames[AL_surfxml_route_c_multi] = NULL;
3524 surfxml_statenames[S_surfxml_route_c_multi] = "route:multi";
3525 surfxml_statenames[S_surfxml_route_c_multi_1] = "route:multi";
3526 surfxml_statenames[S_surfxml_route_c_multi_2] = "route:multi";
3527 surfxml_statenames[E_surfxml_route_c_multi] = "route:multi";
3528 surfxml_statenames[AL_surfxml_route] = NULL;
3529 surfxml_statenames[S_surfxml_route] = "route";
3530 surfxml_statenames[S_surfxml_route_1] = "route";
3531 surfxml_statenames[S_surfxml_route_2] = "route";
3532 surfxml_statenames[E_surfxml_route] = "route";
3533 surfxml_statenames[AL_surfxml_link_c_ctn] = NULL;
3534 surfxml_statenames[E_surfxml_link_c_ctn] = "link:ctn";
3535 surfxml_statenames[AL_surfxml_process] = NULL;
3536 surfxml_statenames[S_surfxml_process] = "process";
3537 surfxml_statenames[S_surfxml_process_1] = "process";
3538 surfxml_statenames[S_surfxml_process_2] = "process";
3539 surfxml_statenames[E_surfxml_process] = "process";
3540 surfxml_statenames[AL_surfxml_argument] = NULL;
3541 surfxml_statenames[E_surfxml_argument] = "argument";
3544 /* COMMENTS and PIs: handled uniformly for efficiency. */
3555 (yy_start) = 1; /* first start state */
3557 if ( ! surf_parse_in )
3558 surf_parse_in = stdin;
3560 if ( ! surf_parse_out )
3561 surf_parse_out = stdout;
3563 if ( ! YY_CURRENT_BUFFER ) {
3564 surf_parse_ensure_buffer_stack ();
3565 YY_CURRENT_BUFFER_LVALUE =
3566 surf_parse__create_buffer(surf_parse_in,YY_BUF_SIZE );
3569 surf_parse__load_buffer_state( );
3572 while ( 1 ) /* loops until end-of-file is reached */
3574 yy_cp = (yy_c_buf_p);
3576 /* Support of surf_parse_text. */
3577 *yy_cp = (yy_hold_char);
3579 /* yy_bp points to the position in yy_ch_buf of the start of
3584 yy_current_state = (yy_start);
3588 register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
3589 if ( yy_accept[yy_current_state] )
3591 (yy_last_accepting_state) = yy_current_state;
3592 (yy_last_accepting_cpos) = yy_cp;
3594 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3596 yy_current_state = (int) yy_def[yy_current_state];
3597 if ( yy_current_state >= 2023 )
3598 yy_c = yy_meta[(unsigned int) yy_c];
3600 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
3603 while ( yy_base[yy_current_state] != 7094 );
3606 yy_act = yy_accept[yy_current_state];
3608 { /* have to back up */
3609 yy_cp = (yy_last_accepting_cpos);
3610 yy_current_state = (yy_last_accepting_state);
3611 yy_act = yy_accept[yy_current_state];
3614 YY_DO_BEFORE_ACTION;
3616 if ( yy_act != YY_END_OF_BUFFER && yy_rule_can_match_eol[yy_act] )
3619 for ( yyl = 0; yyl < surf_parse_leng; ++yyl )
3620 if ( surf_parse_text[yyl] == '\n' )
3622 surf_parse_lineno++;
3626 do_action: /* This label is used only to access EOF actions. */
3629 { /* beginning of action switch */
3630 case 0: /* must back up */
3631 /* undo the effects of YY_DO_BEFORE_ACTION */
3632 *yy_cp = (yy_hold_char);
3633 yy_cp = (yy_last_accepting_cpos);
3634 yy_current_state = (yy_last_accepting_state);
3635 goto yy_find_action;
3653 /* rule 6 can match eol */
3657 case YY_STATE_EOF(INCOMMENT):
3658 FAIL("EOF in comment.");
3667 /* rule 9 can match eol */
3671 case YY_STATE_EOF(INPI):
3672 FAIL("EOF in PI (processing instruction).");
3675 /* SPACES: skipped uniformly */
3677 /* rule 10 can match eol */
3681 /* PROLOG: determine root element and process it. */
3684 /* rule 11 can match eol */
3689 /* rule 12 can match eol */
3691 FAIL("Bad declaration %s.",surf_parse_text);
3695 /* rule 13 can match eol */
3697 SET(ROOT_surfxml_platform);
3700 /* rule 14 can match eol */
3702 FAIL("Bad declaration %s.",surf_parse_text);
3706 FAIL("Unexpected character `%c' in prolog.", surf_parse_text[0]);
3708 case YY_STATE_EOF(PROLOG):
3709 case YY_STATE_EOF(DOCTYPE):
3710 FAIL("EOF in prolog.");
3713 /* RULES DERIVED FROM DTD. */
3714 /* <!-- Small DTD for SURF based tools. --> */
3716 /* rule 16 can match eol */
3718 FAIL("Starting tag <platform> is not allowed here.");
3721 /* rule 17 can match eol */
3724 AX_surfxml_platform_version = 1;
3725 AX_surfxml_platform_xmlns_c_link = 5;
3726 AX_surfxml_platform_xmlns_c_route = 37;
3727 ENTER(AL_surfxml_platform); pushbuffer(0);
3732 /* rule 18 can match eol */
3734 ENTER(VALUE1); BUFFERSET(AX_surfxml_platform_version);
3737 /* rule 19 can match eol */
3739 ENTER(VALUE2); BUFFERSET(AX_surfxml_platform_version);
3742 /* rule 20 can match eol */
3744 ENTER(VALUE1); BUFFERSET(AX_surfxml_platform_xmlns_c_link);
3747 /* rule 21 can match eol */
3749 ENTER(VALUE2); BUFFERSET(AX_surfxml_platform_xmlns_c_link);
3752 /* rule 22 can match eol */
3754 ENTER(VALUE1); BUFFERSET(AX_surfxml_platform_xmlns_c_route);
3757 /* rule 23 can match eol */
3759 ENTER(VALUE2); BUFFERSET(AX_surfxml_platform_xmlns_c_route);
3764 LEAVE; STag_surfxml_platform();surfxml_pcdata_ix = 0; ENTER(S_surfxml_platform);
3770 LEAVE; STag_surfxml_platform(); surfxml_pcdata_ix = 0; ETag_surfxml_platform(); popbuffer(); /* attribute */
3772 case ROOT_surfxml_platform: SET(EPILOG); break;
3778 FAIL("Unexpected character `%c' in attribute list of platform element.", surf_parse_text[0]);
3782 FAIL("Bad attribute `%s' in `platform' element start tag.",surf_parse_text);
3784 case YY_STATE_EOF(AL_surfxml_platform):
3785 FAIL("EOF in attribute list of `platform' element.");
3789 /* rule 28 can match eol */
3793 ETag_surfxml_platform();
3794 popbuffer(); /* attribute */
3796 case ROOT_surfxml_platform: SET(EPILOG); break;
3801 /* rule 29 can match eol */
3803 FAIL("Unexpected end-tag `%s': `</platform>' expected.",surf_parse_text);
3807 FAIL("Unexpected character `%c': `</platform>' expected.",surf_parse_text[0]);
3809 case YY_STATE_EOF(S_surfxml_platform_5):
3810 case YY_STATE_EOF(S_surfxml_platform_1):
3811 case YY_STATE_EOF(S_surfxml_platform_3):
3812 case YY_STATE_EOF(S_surfxml_platform):
3813 case YY_STATE_EOF(E_surfxml_platform):
3814 FAIL("Premature EOF: `</platform>' expected.");
3818 /* rule 31 can match eol */
3820 FAIL("Starting tag <include> is not allowed here.");
3823 /* rule 32 can match eol */
3826 AX_surfxml_include_file = 0;
3827 ENTER(AL_surfxml_include); pushbuffer(0);
3832 /* rule 33 can match eol */
3834 ENTER(VALUE1); BUFFERSET(AX_surfxml_include_file);
3837 /* rule 34 can match eol */
3839 ENTER(VALUE2); BUFFERSET(AX_surfxml_include_file);
3844 if (!AX_surfxml_include_file) FAIL("Required attribute `file' not set for `include' element.");
3845 LEAVE; STag_surfxml_include();surfxml_pcdata_ix = 0; ENTER(E_surfxml_include);
3851 if (!AX_surfxml_include_file) FAIL("Required attribute `file' not set for `include' element.");
3852 LEAVE; STag_surfxml_include(); surfxml_pcdata_ix = 0; ETag_surfxml_include(); popbuffer(); /* attribute */
3854 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;
3855 case S_surfxml_platform_2: SET(S_surfxml_platform_3); break;
3861 FAIL("Unexpected character `%c' in attribute list of include element.", surf_parse_text[0]);
3865 FAIL("Bad attribute `%s' in `include' element start tag.",surf_parse_text);
3867 case YY_STATE_EOF(AL_surfxml_include):
3868 FAIL("EOF in attribute list of `include' element.");
3872 /* rule 39 can match eol */
3876 ETag_surfxml_include();
3877 popbuffer(); /* attribute */
3879 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;
3880 case S_surfxml_platform_2: SET(S_surfxml_platform_3); break;
3885 /* rule 40 can match eol */
3887 FAIL("Unexpected end-tag `%s': `</include>' expected.",surf_parse_text);
3891 FAIL("Unexpected character `%c': `</include>' expected.",surf_parse_text[0]);
3893 case YY_STATE_EOF(E_surfxml_include):
3894 FAIL("Premature EOF: `</include>' expected.");
3898 /* rule 42 can match eol */
3900 FAIL("Starting tag <trace> is not allowed here.");
3903 /* rule 43 can match eol */
3906 AX_surfxml_trace_id = 0;
3907 AX_surfxml_trace_file = 0;
3908 AX_surfxml_trace_periodicity = 0;
3909 ENTER(AL_surfxml_trace); pushbuffer(0);
3914 /* rule 44 can match eol */
3916 ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_id);
3919 /* rule 45 can match eol */
3921 ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_id);
3924 /* rule 46 can match eol */
3926 ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_file);
3929 /* rule 47 can match eol */
3931 ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_file);
3934 /* rule 48 can match eol */
3936 ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_periodicity);
3939 /* rule 49 can match eol */
3941 ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_periodicity);
3946 if (!AX_surfxml_trace_id) FAIL("Required attribute `id' not set for `trace' element.");
3947 if (!AX_surfxml_trace_periodicity) FAIL("Required attribute `periodicity' not set for `trace' element.");
3948 LEAVE; STag_surfxml_trace();pushbuffer(surfxml_pcdata_ix); BUFFERSET(surfxml_pcdata_ix);; ENTER(IN_trace);
3954 if (!AX_surfxml_trace_id) FAIL("Required attribute `id' not set for `trace' element.");
3955 if (!AX_surfxml_trace_periodicity) FAIL("Required attribute `periodicity' not set for `trace' element.");
3956 LEAVE; STag_surfxml_trace(); surfxml_pcdata_ix = 0; ETag_surfxml_trace(); popbuffer(); /* attribute */
3958 case S_surfxml_platform_2: case S_surfxml_platform_3: case S_surfxml_platform: SET(S_surfxml_platform_3); break;
3964 FAIL("Unexpected character `%c' in attribute list of trace element.", surf_parse_text[0]);
3968 FAIL("Bad attribute `%s' in `trace' element start tag.",surf_parse_text);
3970 case YY_STATE_EOF(AL_surfxml_trace):
3971 FAIL("EOF in attribute list of `trace' element.");
3975 /* rule 54 can match eol */
3980 ETag_surfxml_trace();
3981 surfxml_pcdata_ix = popbuffer();
3982 popbuffer(); /* attribute */
3984 case S_surfxml_platform_2: case S_surfxml_platform_3: case S_surfxml_platform: SET(S_surfxml_platform_3); break;
3989 /* rule 55 can match eol */
3991 FAIL("Unexpected end-tag `%s': `</trace>' expected.",surf_parse_text);
3993 case YY_STATE_EOF(IN_trace):
3994 FAIL("Premature EOF: `</trace>' expected.");
3998 /* rule 56 can match eol */
4000 FAIL("Starting tag <random> is not allowed here.");
4003 /* rule 57 can match eol */
4006 AX_surfxml_random_id = 0;
4007 AX_surfxml_random_min = 0;
4008 AX_surfxml_random_max = 0;
4009 AX_surfxml_random_mean = 0;
4010 AX_surfxml_random_std_deviation = 0;
4011 AX_surfxml_random_generator = A_surfxml_random_generator_DRAND48;
4012 ENTER(AL_surfxml_random); pushbuffer(0);
4017 /* rule 58 can match eol */
4019 ENTER(VALUE1); BUFFERSET(AX_surfxml_random_id);
4022 /* rule 59 can match eol */
4024 ENTER(VALUE2); BUFFERSET(AX_surfxml_random_id);
4027 /* rule 60 can match eol */
4029 ENTER(VALUE1); BUFFERSET(AX_surfxml_random_min);
4032 /* rule 61 can match eol */
4034 ENTER(VALUE2); BUFFERSET(AX_surfxml_random_min);
4037 /* rule 62 can match eol */
4039 ENTER(VALUE1); BUFFERSET(AX_surfxml_random_max);
4042 /* rule 63 can match eol */
4044 ENTER(VALUE2); BUFFERSET(AX_surfxml_random_max);
4047 /* rule 64 can match eol */
4049 ENTER(VALUE1); BUFFERSET(AX_surfxml_random_mean);
4052 /* rule 65 can match eol */
4054 ENTER(VALUE2); BUFFERSET(AX_surfxml_random_mean);
4057 /* rule 66 can match eol */
4059 ENTER(VALUE1); BUFFERSET(AX_surfxml_random_std_deviation);
4062 /* rule 67 can match eol */
4064 ENTER(VALUE2); BUFFERSET(AX_surfxml_random_std_deviation);
4067 /* rule 68 can match eol */
4069 /* rule 69 can match eol */
4071 A_surfxml_random_generator = A_surfxml_random_generator_DRAND48;
4074 /* rule 70 can match eol */
4076 /* rule 71 can match eol */
4078 A_surfxml_random_generator = A_surfxml_random_generator_RAND;
4083 if (!AX_surfxml_random_id) FAIL("Required attribute `id' not set for `random' element.");
4084 if (!AX_surfxml_random_min) FAIL("Required attribute `min' not set for `random' element.");
4085 if (!AX_surfxml_random_max) FAIL("Required attribute `max' not set for `random' element.");
4086 if (!AX_surfxml_random_mean) FAIL("Required attribute `mean' not set for `random' element.");
4087 if (!AX_surfxml_random_std_deviation) FAIL("Required attribute `std_deviation' not set for `random' element.");
4088 LEAVE; STag_surfxml_random();surfxml_pcdata_ix = 0; ENTER(S_surfxml_random);
4094 if (!AX_surfxml_random_id) FAIL("Required attribute `id' not set for `random' element.");
4095 if (!AX_surfxml_random_min) FAIL("Required attribute `min' not set for `random' element.");
4096 if (!AX_surfxml_random_max) FAIL("Required attribute `max' not set for `random' element.");
4097 if (!AX_surfxml_random_mean) FAIL("Required attribute `mean' not set for `random' element.");
4098 if (!AX_surfxml_random_std_deviation) FAIL("Required attribute `std_deviation' not set for `random' element.");
4099 LEAVE; STag_surfxml_random(); surfxml_pcdata_ix = 0; ETag_surfxml_random(); popbuffer(); /* attribute */
4101 case S_surfxml_platform_2: case S_surfxml_platform_3: case S_surfxml_platform: SET(S_surfxml_platform_3); break;
4107 FAIL("Unexpected character `%c' in attribute list of random element.", surf_parse_text[0]);
4111 FAIL("Bad attribute `%s' in `random' element start tag.",surf_parse_text);
4113 case YY_STATE_EOF(AL_surfxml_random):
4114 FAIL("EOF in attribute list of `random' element.");
4118 /* rule 76 can match eol */
4122 ETag_surfxml_random();
4123 popbuffer(); /* attribute */
4125 case S_surfxml_platform_2: case S_surfxml_platform_3: case S_surfxml_platform: SET(S_surfxml_platform_3); break;
4130 /* rule 77 can match eol */
4132 FAIL("Unexpected end-tag `%s': `</random>' expected.",surf_parse_text);
4136 FAIL("Unexpected character `%c': `</random>' expected.",surf_parse_text[0]);
4138 case YY_STATE_EOF(S_surfxml_random_2):
4139 case YY_STATE_EOF(S_surfxml_random):
4140 case YY_STATE_EOF(E_surfxml_random):
4141 FAIL("Premature EOF: `</random>' expected.");
4145 /* rule 79 can match eol */
4147 FAIL("Starting tag <trace:connect> is not allowed here.");
4150 /* rule 80 can match eol */
4153 AX_surfxml_trace_c_connect_kind = A_surfxml_trace_c_connect_kind_HOST_AVAIL;
4154 AX_surfxml_trace_c_connect_trace = 0;
4155 AX_surfxml_trace_c_connect_element = 0;
4156 ENTER(AL_surfxml_trace_c_connect); pushbuffer(0);
4161 /* rule 81 can match eol */
4163 /* rule 82 can match eol */
4165 A_surfxml_trace_c_connect_kind = A_surfxml_trace_c_connect_kind_HOST_AVAIL;
4168 /* rule 83 can match eol */
4170 /* rule 84 can match eol */
4172 A_surfxml_trace_c_connect_kind = A_surfxml_trace_c_connect_kind_POWER;
4175 /* rule 85 can match eol */
4177 /* rule 86 can match eol */
4179 A_surfxml_trace_c_connect_kind = A_surfxml_trace_c_connect_kind_LINK_AVAIL;
4182 /* rule 87 can match eol */
4184 /* rule 88 can match eol */
4186 A_surfxml_trace_c_connect_kind = A_surfxml_trace_c_connect_kind_BANDWIDTH;
4189 /* rule 89 can match eol */
4191 /* rule 90 can match eol */
4193 A_surfxml_trace_c_connect_kind = A_surfxml_trace_c_connect_kind_LATENCY;
4196 /* rule 91 can match eol */
4198 ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_c_connect_trace);
4201 /* rule 92 can match eol */
4203 ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_c_connect_trace);
4206 /* rule 93 can match eol */
4208 ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_c_connect_element);
4211 /* rule 94 can match eol */
4213 ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_c_connect_element);
4218 if (!AX_surfxml_trace_c_connect_trace) FAIL("Required attribute `trace' not set for `trace:connect' element.");
4219 if (!AX_surfxml_trace_c_connect_element) FAIL("Required attribute `element' not set for `trace:connect' element.");
4220 LEAVE; STag_surfxml_trace_c_connect();surfxml_pcdata_ix = 0; ENTER(E_surfxml_trace_c_connect);
4226 if (!AX_surfxml_trace_c_connect_trace) FAIL("Required attribute `trace' not set for `trace:connect' element.");
4227 if (!AX_surfxml_trace_c_connect_element) FAIL("Required attribute `element' not set for `trace:connect' element.");
4228 LEAVE; STag_surfxml_trace_c_connect(); surfxml_pcdata_ix = 0; ETag_surfxml_trace_c_connect(); popbuffer(); /* attribute */
4230 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;
4231 case S_surfxml_platform_2: SET(S_surfxml_platform_3); break;
4237 FAIL("Unexpected character `%c' in attribute list of trace:connect element.", surf_parse_text[0]);
4241 FAIL("Bad attribute `%s' in `trace:connect' element start tag.",surf_parse_text);
4243 case YY_STATE_EOF(AL_surfxml_trace_c_connect):
4244 FAIL("EOF in attribute list of `trace:connect' element.");
4248 /* rule 99 can match eol */
4252 ETag_surfxml_trace_c_connect();
4253 popbuffer(); /* attribute */
4255 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;
4256 case S_surfxml_platform_2: SET(S_surfxml_platform_3); break;
4261 /* rule 100 can match eol */
4263 FAIL("Unexpected end-tag `%s': `</trace:connect>' expected.",surf_parse_text);
4267 FAIL("Unexpected character `%c': `</trace:connect>' expected.",surf_parse_text[0]);
4269 case YY_STATE_EOF(E_surfxml_trace_c_connect):
4270 FAIL("Premature EOF: `</trace:connect>' expected.");
4274 /* rule 102 can match eol */
4276 FAIL("Starting tag <set> is not allowed here.");
4279 /* rule 103 can match eol */
4282 AX_surfxml_set_id = 0;
4283 AX_surfxml_set_prefix = 0;
4284 AX_surfxml_set_suffix = 0;
4285 AX_surfxml_set_radical = 0;
4286 ENTER(AL_surfxml_set); pushbuffer(0);
4291 /* rule 104 can match eol */
4293 ENTER(VALUE1); BUFFERSET(AX_surfxml_set_id);
4296 /* rule 105 can match eol */
4298 ENTER(VALUE2); BUFFERSET(AX_surfxml_set_id);
4301 /* rule 106 can match eol */
4303 ENTER(VALUE1); BUFFERSET(AX_surfxml_set_prefix);
4306 /* rule 107 can match eol */
4308 ENTER(VALUE2); BUFFERSET(AX_surfxml_set_prefix);
4311 /* rule 108 can match eol */
4313 ENTER(VALUE1); BUFFERSET(AX_surfxml_set_suffix);
4316 /* rule 109 can match eol */
4318 ENTER(VALUE2); BUFFERSET(AX_surfxml_set_suffix);
4321 /* rule 110 can match eol */
4323 ENTER(VALUE1); BUFFERSET(AX_surfxml_set_radical);
4326 /* rule 111 can match eol */
4328 ENTER(VALUE2); BUFFERSET(AX_surfxml_set_radical);
4333 if (!AX_surfxml_set_id) FAIL("Required attribute `id' not set for `set' element.");
4334 if (!AX_surfxml_set_prefix) FAIL("Required attribute `prefix' not set for `set' element.");
4335 if (!AX_surfxml_set_suffix) FAIL("Required attribute `suffix' not set for `set' element.");
4336 if (!AX_surfxml_set_radical) FAIL("Required attribute `radical' not set for `set' element.");
4337 LEAVE; STag_surfxml_set();surfxml_pcdata_ix = 0; ENTER(E_surfxml_set);
4343 if (!AX_surfxml_set_id) FAIL("Required attribute `id' not set for `set' element.");
4344 if (!AX_surfxml_set_prefix) FAIL("Required attribute `prefix' not set for `set' element.");
4345 if (!AX_surfxml_set_suffix) FAIL("Required attribute `suffix' not set for `set' element.");
4346 if (!AX_surfxml_set_radical) FAIL("Required attribute `radical' not set for `set' element.");
4347 LEAVE; STag_surfxml_set(); surfxml_pcdata_ix = 0; ETag_surfxml_set(); popbuffer(); /* attribute */
4349 case S_surfxml_platform_2: case S_surfxml_platform_3: case S_surfxml_platform: SET(S_surfxml_platform_3); break;
4355 FAIL("Unexpected character `%c' in attribute list of set element.", surf_parse_text[0]);
4359 FAIL("Bad attribute `%s' in `set' element start tag.",surf_parse_text);
4361 case YY_STATE_EOF(AL_surfxml_set):
4362 FAIL("EOF in attribute list of `set' element.");
4366 /* rule 116 can match eol */
4371 popbuffer(); /* attribute */
4373 case S_surfxml_platform_2: case S_surfxml_platform_3: case S_surfxml_platform: SET(S_surfxml_platform_3); break;
4378 /* rule 117 can match eol */
4380 FAIL("Unexpected end-tag `%s': `</set>' expected.",surf_parse_text);
4384 FAIL("Unexpected character `%c': `</set>' expected.",surf_parse_text[0]);
4386 case YY_STATE_EOF(E_surfxml_set):
4387 FAIL("Premature EOF: `</set>' expected.");
4391 /* rule 119 can match eol */
4393 FAIL("Starting tag <foreach> is not allowed here.");
4396 /* rule 120 can match eol */
4399 AX_surfxml_foreach_set_id = 0;
4400 ENTER(AL_surfxml_foreach); pushbuffer(0);
4405 /* rule 121 can match eol */
4407 ENTER(VALUE1); BUFFERSET(AX_surfxml_foreach_set_id);
4410 /* rule 122 can match eol */
4412 ENTER(VALUE2); BUFFERSET(AX_surfxml_foreach_set_id);
4417 if (!AX_surfxml_foreach_set_id) FAIL("Required attribute `set_id' not set for `foreach' element.");
4418 LEAVE; STag_surfxml_foreach();surfxml_pcdata_ix = 0; ENTER(S_surfxml_foreach);
4423 FAIL("`foreach' element cannot be empty.");
4427 FAIL("Unexpected character `%c' in attribute list of foreach element.", surf_parse_text[0]);
4431 FAIL("Bad attribute `%s' in `foreach' element start tag.",surf_parse_text);
4433 case YY_STATE_EOF(AL_surfxml_foreach):
4434 FAIL("EOF in attribute list of `foreach' element.");
4438 /* rule 127 can match eol */
4442 ETag_surfxml_foreach();
4443 popbuffer(); /* attribute */
4445 case S_surfxml_platform_2: case S_surfxml_platform_3: case S_surfxml_platform: SET(S_surfxml_platform_3); break;
4450 /* rule 128 can match eol */
4452 FAIL("Unexpected end-tag `%s': `</foreach>' expected.",surf_parse_text);
4456 FAIL("Unexpected character `%c': `</foreach>' expected.",surf_parse_text[0]);
4458 case YY_STATE_EOF(E_surfxml_foreach):
4459 FAIL("Premature EOF: `</foreach>' expected.");
4463 /* rule 130 can match eol */
4465 FAIL("Starting tag <host> is not allowed here.");
4468 /* rule 131 can match eol */
4471 AX_surfxml_host_id = 0;
4472 AX_surfxml_host_power = 0;
4473 AX_surfxml_host_availability = 69;
4474 AX_surfxml_host_availability_file = 0;
4475 AX_surfxml_host_state = A_surfxml_host_state_ON;
4476 AX_surfxml_host_state_file = 0;
4477 AX_surfxml_host_interference_send = 73;
4478 AX_surfxml_host_interference_recv = 77;
4479 AX_surfxml_host_interference_send_recv = 81;
4480 AX_surfxml_host_max_outgoing_rate = 85;
4481 ENTER(AL_surfxml_host); pushbuffer(0);
4486 /* rule 132 can match eol */
4488 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_id);
4491 /* rule 133 can match eol */
4493 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_id);
4496 /* rule 134 can match eol */
4498 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_power);
4501 /* rule 135 can match eol */
4503 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_power);
4506 /* rule 136 can match eol */
4508 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_availability);
4511 /* rule 137 can match eol */
4513 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_availability);
4516 /* rule 138 can match eol */
4518 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_availability_file);
4521 /* rule 139 can match eol */
4523 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_availability_file);
4526 /* rule 140 can match eol */
4528 /* rule 141 can match eol */
4530 A_surfxml_host_state = A_surfxml_host_state_ON;
4533 /* rule 142 can match eol */
4535 /* rule 143 can match eol */
4537 A_surfxml_host_state = A_surfxml_host_state_OFF;
4540 /* rule 144 can match eol */
4542 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_state_file);
4545 /* rule 145 can match eol */
4547 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_state_file);
4550 /* rule 146 can match eol */
4552 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_interference_send);
4555 /* rule 147 can match eol */
4557 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_interference_send);
4560 /* rule 148 can match eol */
4562 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_interference_recv);
4565 /* rule 149 can match eol */
4567 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_interference_recv);
4570 /* rule 150 can match eol */
4572 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_interference_send_recv);
4575 /* rule 151 can match eol */
4577 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_interference_send_recv);
4580 /* rule 152 can match eol */
4582 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_max_outgoing_rate);
4585 /* rule 153 can match eol */
4587 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_max_outgoing_rate);
4592 if (!AX_surfxml_host_id) FAIL("Required attribute `id' not set for `host' element.");
4593 if (!AX_surfxml_host_power) FAIL("Required attribute `power' not set for `host' element.");
4594 LEAVE; STag_surfxml_host();surfxml_pcdata_ix = 0; ENTER(S_surfxml_host);
4600 if (!AX_surfxml_host_id) FAIL("Required attribute `id' not set for `host' element.");
4601 if (!AX_surfxml_host_power) FAIL("Required attribute `power' not set for `host' element.");
4602 LEAVE; STag_surfxml_host(); surfxml_pcdata_ix = 0; ETag_surfxml_host(); popbuffer(); /* attribute */
4604 case S_surfxml_platform_2: case S_surfxml_platform_3: case S_surfxml_platform: SET(S_surfxml_platform_3); break;
4605 case S_surfxml_foreach: SET(S_surfxml_foreach_1); break;
4611 FAIL("Unexpected character `%c' in attribute list of host element.", surf_parse_text[0]);
4615 FAIL("Bad attribute `%s' in `host' element start tag.",surf_parse_text);
4617 case YY_STATE_EOF(AL_surfxml_host):
4618 FAIL("EOF in attribute list of `host' element.");
4622 /* rule 158 can match eol */
4626 ETag_surfxml_host();
4627 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;
4635 /* rule 159 can match eol */
4637 FAIL("Unexpected end-tag `%s': `</host>' expected.",surf_parse_text);
4641 FAIL("Unexpected character `%c': `</host>' expected.",surf_parse_text[0]);
4643 case YY_STATE_EOF(S_surfxml_host):
4644 case YY_STATE_EOF(E_surfxml_host):
4645 case YY_STATE_EOF(S_surfxml_host_2):
4646 FAIL("Premature EOF: `</host>' expected.");
4650 /* rule 161 can match eol */
4652 FAIL("Starting tag <prop> is not allowed here.");
4655 /* rule 162 can match eol */
4658 AX_surfxml_prop_id = 0;
4659 AX_surfxml_prop_value = 0;
4660 ENTER(AL_surfxml_prop); pushbuffer(0);
4665 /* rule 163 can match eol */
4667 ENTER(VALUE1); BUFFERSET(AX_surfxml_prop_id);
4670 /* rule 164 can match eol */
4672 ENTER(VALUE2); BUFFERSET(AX_surfxml_prop_id);
4675 /* rule 165 can match eol */
4677 ENTER(VALUE1); BUFFERSET(AX_surfxml_prop_value);
4680 /* rule 166 can match eol */
4682 ENTER(VALUE2); BUFFERSET(AX_surfxml_prop_value);
4687 if (!AX_surfxml_prop_id) FAIL("Required attribute `id' not set for `prop' element.");
4688 if (!AX_surfxml_prop_value) FAIL("Required attribute `value' not set for `prop' element.");
4689 LEAVE; STag_surfxml_prop();surfxml_pcdata_ix = 0; ENTER(E_surfxml_prop);
4695 if (!AX_surfxml_prop_id) FAIL("Required attribute `id' not set for `prop' element.");
4696 if (!AX_surfxml_prop_value) FAIL("Required attribute `value' not set for `prop' element.");
4697 LEAVE; STag_surfxml_prop(); surfxml_pcdata_ix = 0; ETag_surfxml_prop(); popbuffer(); /* attribute */
4699 case S_surfxml_random: case S_surfxml_random_2: case S_surfxml_random_1: SET(S_surfxml_random_2); break;
4700 case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
4701 case S_surfxml_host: case S_surfxml_host_1: case S_surfxml_host_2: SET(S_surfxml_host_2); break;
4702 case S_surfxml_link_1: case S_surfxml_link_2: case S_surfxml_link: SET(S_surfxml_link_2); break;
4708 FAIL("Unexpected character `%c' in attribute list of prop element.", surf_parse_text[0]);
4712 FAIL("Bad attribute `%s' in `prop' element start tag.",surf_parse_text);
4714 case YY_STATE_EOF(AL_surfxml_prop):
4715 FAIL("EOF in attribute list of `prop' element.");
4719 /* rule 171 can match eol */
4723 ETag_surfxml_prop();
4724 popbuffer(); /* attribute */
4726 case S_surfxml_random: case S_surfxml_random_2: case S_surfxml_random_1: SET(S_surfxml_random_2); break;
4727 case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
4728 case S_surfxml_host: case S_surfxml_host_1: case S_surfxml_host_2: SET(S_surfxml_host_2); break;
4729 case S_surfxml_link_1: case S_surfxml_link_2: case S_surfxml_link: SET(S_surfxml_link_2); break;
4734 /* rule 172 can match eol */
4736 FAIL("Unexpected end-tag `%s': `</prop>' expected.",surf_parse_text);
4740 FAIL("Unexpected character `%c': `</prop>' expected.",surf_parse_text[0]);
4742 case YY_STATE_EOF(E_surfxml_prop):
4743 FAIL("Premature EOF: `</prop>' expected.");
4747 /* rule 174 can match eol */
4749 FAIL("Starting tag <cluster> is not allowed here.");
4752 /* rule 175 can match eol */
4755 AX_surfxml_cluster_id = 0;
4756 AX_surfxml_cluster_prefix = 0;
4757 AX_surfxml_cluster_suffix = 0;
4758 AX_surfxml_cluster_radical = 0;
4759 AX_surfxml_cluster_power = 0;
4760 AX_surfxml_cluster_bw = 0;
4761 AX_surfxml_cluster_lat = 0;
4762 AX_surfxml_cluster_bb_bw = 0;
4763 AX_surfxml_cluster_bb_lat = 0;
4764 ENTER(AL_surfxml_cluster); pushbuffer(0);
4769 /* rule 176 can match eol */
4771 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_id);
4774 /* rule 177 can match eol */
4776 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_id);
4779 /* rule 178 can match eol */
4781 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_prefix);
4784 /* rule 179 can match eol */
4786 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_prefix);
4789 /* rule 180 can match eol */
4791 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_suffix);
4794 /* rule 181 can match eol */
4796 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_suffix);
4799 /* rule 182 can match eol */
4801 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_radical);
4804 /* rule 183 can match eol */
4806 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_radical);
4809 /* rule 184 can match eol */
4811 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_power);
4814 /* rule 185 can match eol */
4816 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_power);
4819 /* rule 186 can match eol */
4821 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_bw);
4824 /* rule 187 can match eol */
4826 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_bw);
4829 /* rule 188 can match eol */
4831 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_lat);
4834 /* rule 189 can match eol */
4836 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_lat);
4839 /* rule 190 can match eol */
4841 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_bb_bw);
4844 /* rule 191 can match eol */
4846 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_bb_bw);
4849 /* rule 192 can match eol */
4851 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_bb_lat);
4854 /* rule 193 can match eol */
4856 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_bb_lat);
4861 if (!AX_surfxml_cluster_id) FAIL("Required attribute `id' not set for `cluster' element.");
4862 if (!AX_surfxml_cluster_prefix) FAIL("Required attribute `prefix' not set for `cluster' element.");
4863 if (!AX_surfxml_cluster_suffix) FAIL("Required attribute `suffix' not set for `cluster' element.");
4864 if (!AX_surfxml_cluster_radical) FAIL("Required attribute `radical' not set for `cluster' element.");
4865 if (!AX_surfxml_cluster_power) FAIL("Required attribute `power' not set for `cluster' element.");
4866 if (!AX_surfxml_cluster_bw) FAIL("Required attribute `bw' not set for `cluster' element.");
4867 if (!AX_surfxml_cluster_lat) FAIL("Required attribute `lat' not set for `cluster' element.");
4868 if (!AX_surfxml_cluster_bb_bw) FAIL("Required attribute `bb_bw' not set for `cluster' element.");
4869 if (!AX_surfxml_cluster_bb_lat) FAIL("Required attribute `bb_lat' not set for `cluster' element.");
4870 LEAVE; STag_surfxml_cluster();surfxml_pcdata_ix = 0; ENTER(E_surfxml_cluster);
4876 if (!AX_surfxml_cluster_id) FAIL("Required attribute `id' not set for `cluster' element.");
4877 if (!AX_surfxml_cluster_prefix) FAIL("Required attribute `prefix' not set for `cluster' element.");
4878 if (!AX_surfxml_cluster_suffix) FAIL("Required attribute `suffix' not set for `cluster' element.");
4879 if (!AX_surfxml_cluster_radical) FAIL("Required attribute `radical' not set for `cluster' element.");
4880 if (!AX_surfxml_cluster_power) FAIL("Required attribute `power' not set for `cluster' element.");
4881 if (!AX_surfxml_cluster_bw) FAIL("Required attribute `bw' not set for `cluster' element.");
4882 if (!AX_surfxml_cluster_lat) FAIL("Required attribute `lat' not set for `cluster' element.");
4883 if (!AX_surfxml_cluster_bb_bw) FAIL("Required attribute `bb_bw' not set for `cluster' element.");
4884 if (!AX_surfxml_cluster_bb_lat) FAIL("Required attribute `bb_lat' not set for `cluster' element.");
4885 LEAVE; STag_surfxml_cluster(); surfxml_pcdata_ix = 0; ETag_surfxml_cluster(); popbuffer(); /* attribute */
4887 case S_surfxml_platform_2: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_3); break;
4893 FAIL("Unexpected character `%c' in attribute list of cluster element.", surf_parse_text[0]);
4897 FAIL("Bad attribute `%s' in `cluster' element start tag.",surf_parse_text);
4899 case YY_STATE_EOF(AL_surfxml_cluster):
4900 FAIL("EOF in attribute list of `cluster' element.");
4904 /* rule 198 can match eol */
4908 ETag_surfxml_cluster();
4909 popbuffer(); /* attribute */
4911 case S_surfxml_platform_2: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_3); break;
4916 /* rule 199 can match eol */
4918 FAIL("Unexpected end-tag `%s': `</cluster>' expected.",surf_parse_text);
4922 FAIL("Unexpected character `%c': `</cluster>' expected.",surf_parse_text[0]);
4924 case YY_STATE_EOF(E_surfxml_cluster):
4925 FAIL("Premature EOF: `</cluster>' expected.");
4929 /* rule 201 can match eol */
4931 FAIL("Starting tag <router> is not allowed here.");
4934 /* rule 202 can match eol */
4937 AX_surfxml_router_id = 0;
4938 ENTER(AL_surfxml_router); pushbuffer(0);
4943 /* rule 203 can match eol */
4945 ENTER(VALUE1); BUFFERSET(AX_surfxml_router_id);
4948 /* rule 204 can match eol */
4950 ENTER(VALUE2); BUFFERSET(AX_surfxml_router_id);
4955 if (!AX_surfxml_router_id) FAIL("Required attribute `id' not set for `router' element.");
4956 LEAVE; STag_surfxml_router();surfxml_pcdata_ix = 0; ENTER(E_surfxml_router);
4962 if (!AX_surfxml_router_id) FAIL("Required attribute `id' not set for `router' element.");
4963 LEAVE; STag_surfxml_router(); surfxml_pcdata_ix = 0; ETag_surfxml_router(); popbuffer(); /* attribute */
4965 case S_surfxml_platform_2: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_3); break;
4971 FAIL("Unexpected character `%c' in attribute list of router element.", surf_parse_text[0]);
4975 FAIL("Bad attribute `%s' in `router' element start tag.",surf_parse_text);
4977 case YY_STATE_EOF(AL_surfxml_router):
4978 FAIL("EOF in attribute list of `router' element.");
4982 /* rule 209 can match eol */
4986 ETag_surfxml_router();
4987 popbuffer(); /* attribute */
4989 case S_surfxml_platform_2: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_3); break;
4994 /* rule 210 can match eol */
4996 FAIL("Unexpected end-tag `%s': `</router>' expected.",surf_parse_text);
5000 FAIL("Unexpected character `%c': `</router>' expected.",surf_parse_text[0]);
5002 case YY_STATE_EOF(E_surfxml_router):
5003 FAIL("Premature EOF: `</router>' expected.");
5007 /* rule 212 can match eol */
5009 FAIL("Starting tag <link> is not allowed here.");
5012 /* rule 213 can match eol */
5015 AX_surfxml_link_id = 0;
5016 AX_surfxml_link_bandwidth = 0;
5017 AX_surfxml_link_bandwidth_file = 0;
5018 AX_surfxml_link_latency = 90;
5019 AX_surfxml_link_latency_file = 0;
5020 AX_surfxml_link_state = A_surfxml_link_state_ON;
5021 AX_surfxml_link_state_file = 0;
5022 AX_surfxml_link_sharing_policy = A_surfxml_link_sharing_policy_SHARED;
5023 ENTER(AL_surfxml_link); pushbuffer(0);
5028 /* rule 214 can match eol */
5030 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_id);
5033 /* rule 215 can match eol */
5035 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_id);
5038 /* rule 216 can match eol */
5040 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_bandwidth);
5043 /* rule 217 can match eol */
5045 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_bandwidth);
5048 /* rule 218 can match eol */
5050 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_bandwidth_file);
5053 /* rule 219 can match eol */
5055 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_bandwidth_file);
5058 /* rule 220 can match eol */
5060 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_latency);
5063 /* rule 221 can match eol */
5065 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_latency);
5068 /* rule 222 can match eol */
5070 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_latency_file);
5073 /* rule 223 can match eol */
5075 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_latency_file);
5078 /* rule 224 can match eol */
5080 /* rule 225 can match eol */
5082 A_surfxml_link_state = A_surfxml_link_state_ON;
5085 /* rule 226 can match eol */
5087 /* rule 227 can match eol */
5089 A_surfxml_link_state = A_surfxml_link_state_OFF;
5092 /* rule 228 can match eol */
5094 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_state_file);
5097 /* rule 229 can match eol */
5099 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_state_file);
5102 /* rule 230 can match eol */
5104 /* rule 231 can match eol */
5106 A_surfxml_link_sharing_policy = A_surfxml_link_sharing_policy_SHARED;
5109 /* rule 232 can match eol */
5111 /* rule 233 can match eol */
5113 A_surfxml_link_sharing_policy = A_surfxml_link_sharing_policy_FATPIPE;
5118 if (!AX_surfxml_link_id) FAIL("Required attribute `id' not set for `link' element.");
5119 if (!AX_surfxml_link_bandwidth) FAIL("Required attribute `bandwidth' not set for `link' element.");
5120 LEAVE; STag_surfxml_link();surfxml_pcdata_ix = 0; ENTER(S_surfxml_link);
5126 if (!AX_surfxml_link_id) FAIL("Required attribute `id' not set for `link' element.");
5127 if (!AX_surfxml_link_bandwidth) FAIL("Required attribute `bandwidth' not set for `link' element.");
5128 LEAVE; STag_surfxml_link(); surfxml_pcdata_ix = 0; ETag_surfxml_link(); popbuffer(); /* attribute */
5130 case S_surfxml_foreach: case S_surfxml_foreach_1: SET(E_surfxml_foreach); break;
5131 case S_surfxml_platform_2: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_3); break;
5137 FAIL("Unexpected character `%c' in attribute list of link element.", surf_parse_text[0]);
5141 FAIL("Bad attribute `%s' in `link' element start tag.",surf_parse_text);
5143 case YY_STATE_EOF(AL_surfxml_link):
5144 FAIL("EOF in attribute list of `link' element.");
5148 /* rule 238 can match eol */
5152 ETag_surfxml_link();
5153 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;
5161 /* rule 239 can match eol */
5163 FAIL("Unexpected end-tag `%s': `</link>' expected.",surf_parse_text);
5167 FAIL("Unexpected character `%c': `</link>' expected.",surf_parse_text[0]);
5169 case YY_STATE_EOF(S_surfxml_link_2):
5170 case YY_STATE_EOF(E_surfxml_link):
5171 case YY_STATE_EOF(S_surfxml_link):
5172 FAIL("Premature EOF: `</link>' expected.");
5176 /* rule 241 can match eol */
5178 FAIL("Starting tag <route:multi> is not allowed here.");
5181 /* rule 242 can match eol */
5184 AX_surfxml_route_c_multi_src = 0;
5185 AX_surfxml_route_c_multi_dst = 0;
5186 AX_surfxml_route_c_multi_action = A_surfxml_route_c_multi_action_POSTPEND;
5187 AX_surfxml_route_c_multi_symmetric = A_surfxml_route_c_multi_symmetric_YES;
5188 ENTER(AL_surfxml_route_c_multi); pushbuffer(0);
5193 /* rule 243 can match eol */
5195 ENTER(VALUE1); BUFFERSET(AX_surfxml_route_c_multi_src);
5198 /* rule 244 can match eol */
5200 ENTER(VALUE2); BUFFERSET(AX_surfxml_route_c_multi_src);
5203 /* rule 245 can match eol */
5205 ENTER(VALUE1); BUFFERSET(AX_surfxml_route_c_multi_dst);
5208 /* rule 246 can match eol */
5210 ENTER(VALUE2); BUFFERSET(AX_surfxml_route_c_multi_dst);
5213 /* rule 247 can match eol */
5215 /* rule 248 can match eol */
5217 A_surfxml_route_c_multi_action = A_surfxml_route_c_multi_action_POSTPEND;
5220 /* rule 249 can match eol */
5222 /* rule 250 can match eol */
5224 A_surfxml_route_c_multi_action = A_surfxml_route_c_multi_action_PREPEND;
5227 /* rule 251 can match eol */
5229 /* rule 252 can match eol */
5231 A_surfxml_route_c_multi_action = A_surfxml_route_c_multi_action_OVERRIDE;
5234 /* rule 253 can match eol */
5236 /* rule 254 can match eol */
5238 A_surfxml_route_c_multi_symmetric = A_surfxml_route_c_multi_symmetric_YES;
5241 /* rule 255 can match eol */
5243 /* rule 256 can match eol */
5245 A_surfxml_route_c_multi_symmetric = A_surfxml_route_c_multi_symmetric_NO;
5250 if (!AX_surfxml_route_c_multi_src) FAIL("Required attribute `src' not set for `route:multi' element.");
5251 if (!AX_surfxml_route_c_multi_dst) FAIL("Required attribute `dst' not set for `route:multi' element.");
5252 LEAVE; STag_surfxml_route_c_multi();surfxml_pcdata_ix = 0; ENTER(S_surfxml_route_c_multi);
5257 FAIL("`route:multi' element cannot be empty.");
5261 FAIL("Unexpected character `%c' in attribute list of route:multi element.", surf_parse_text[0]);
5265 FAIL("Bad attribute `%s' in `route:multi' element start tag.",surf_parse_text);
5267 case YY_STATE_EOF(AL_surfxml_route_c_multi):
5268 FAIL("EOF in attribute list of `route:multi' element.");
5272 /* rule 261 can match eol */
5276 ETag_surfxml_route_c_multi();
5277 popbuffer(); /* attribute */
5279 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;
5284 /* rule 262 can match eol */
5286 FAIL("Unexpected end-tag `%s': `</route:multi>' expected.",surf_parse_text);
5290 FAIL("Unexpected character `%c': `</route:multi>' expected.",surf_parse_text[0]);
5292 case YY_STATE_EOF(S_surfxml_route_c_multi_2):
5293 case YY_STATE_EOF(E_surfxml_route_c_multi):
5294 FAIL("Premature EOF: `</route:multi>' expected.");
5298 /* rule 264 can match eol */
5300 FAIL("Starting tag <route> is not allowed here.");
5303 /* rule 265 can match eol */
5306 AX_surfxml_route_src = 0;
5307 AX_surfxml_route_dst = 0;
5308 AX_surfxml_route_impact_on_src = 94;
5309 AX_surfxml_route_impact_on_dst = 98;
5310 AX_surfxml_route_impact_on_src_with_other_recv = 102;
5311 AX_surfxml_route_impact_on_dst_with_other_send = 106;
5312 AX_surfxml_route_action = A_surfxml_route_action_POSTPEND;
5313 ENTER(AL_surfxml_route); pushbuffer(0);
5318 /* rule 266 can match eol */
5320 ENTER(VALUE1); BUFFERSET(AX_surfxml_route_src);
5323 /* rule 267 can match eol */
5325 ENTER(VALUE2); BUFFERSET(AX_surfxml_route_src);
5328 /* rule 268 can match eol */
5330 ENTER(VALUE1); BUFFERSET(AX_surfxml_route_dst);
5333 /* rule 269 can match eol */
5335 ENTER(VALUE2); BUFFERSET(AX_surfxml_route_dst);
5338 /* rule 270 can match eol */
5340 ENTER(VALUE1); BUFFERSET(AX_surfxml_route_impact_on_src);
5343 /* rule 271 can match eol */
5345 ENTER(VALUE2); BUFFERSET(AX_surfxml_route_impact_on_src);
5348 /* rule 272 can match eol */
5350 ENTER(VALUE1); BUFFERSET(AX_surfxml_route_impact_on_dst);
5353 /* rule 273 can match eol */
5355 ENTER(VALUE2); BUFFERSET(AX_surfxml_route_impact_on_dst);
5358 /* rule 274 can match eol */
5360 ENTER(VALUE1); BUFFERSET(AX_surfxml_route_impact_on_src_with_other_recv);
5363 /* rule 275 can match eol */
5365 ENTER(VALUE2); BUFFERSET(AX_surfxml_route_impact_on_src_with_other_recv);
5368 /* rule 276 can match eol */
5370 ENTER(VALUE1); BUFFERSET(AX_surfxml_route_impact_on_dst_with_other_send);
5373 /* rule 277 can match eol */
5375 ENTER(VALUE2); BUFFERSET(AX_surfxml_route_impact_on_dst_with_other_send);
5378 /* rule 278 can match eol */
5380 /* rule 279 can match eol */
5382 A_surfxml_route_action = A_surfxml_route_action_POSTPEND;
5385 /* rule 280 can match eol */
5387 /* rule 281 can match eol */
5389 A_surfxml_route_action = A_surfxml_route_action_PREPEND;
5392 /* rule 282 can match eol */
5394 /* rule 283 can match eol */
5396 A_surfxml_route_action = A_surfxml_route_action_OVERRIDE;
5401 if (!AX_surfxml_route_src) FAIL("Required attribute `src' not set for `route' element.");
5402 if (!AX_surfxml_route_dst) FAIL("Required attribute `dst' not set for `route' element.");
5403 LEAVE; STag_surfxml_route();surfxml_pcdata_ix = 0; ENTER(S_surfxml_route);
5409 if (!AX_surfxml_route_src) FAIL("Required attribute `src' not set for `route' element.");
5410 if (!AX_surfxml_route_dst) FAIL("Required attribute `dst' not set for `route' element.");
5411 LEAVE; STag_surfxml_route(); surfxml_pcdata_ix = 0; ETag_surfxml_route(); popbuffer(); /* attribute */
5413 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;
5419 FAIL("Unexpected character `%c' in attribute list of route element.", surf_parse_text[0]);
5423 FAIL("Bad attribute `%s' in `route' element start tag.",surf_parse_text);
5425 case YY_STATE_EOF(AL_surfxml_route):
5426 FAIL("EOF in attribute list of `route' element.");
5430 /* rule 288 can match eol */
5434 ETag_surfxml_route();
5435 popbuffer(); /* attribute */
5437 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;
5442 /* rule 289 can match eol */
5444 FAIL("Unexpected end-tag `%s': `</route>' expected.",surf_parse_text);
5448 FAIL("Unexpected character `%c': `</route>' expected.",surf_parse_text[0]);
5450 case YY_STATE_EOF(S_surfxml_route):
5451 case YY_STATE_EOF(S_surfxml_route_2):
5452 case YY_STATE_EOF(E_surfxml_route):
5453 FAIL("Premature EOF: `</route>' expected.");
5457 /* rule 291 can match eol */
5459 FAIL("Starting tag <link:ctn> is not allowed here.");
5462 /* rule 292 can match eol */
5465 AX_surfxml_link_c_ctn_id = 0;
5466 ENTER(AL_surfxml_link_c_ctn); pushbuffer(0);
5471 /* rule 293 can match eol */
5473 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_c_ctn_id);
5476 /* rule 294 can match eol */
5478 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_c_ctn_id);
5483 if (!AX_surfxml_link_c_ctn_id) FAIL("Required attribute `id' not set for `link:ctn' element.");
5484 LEAVE; STag_surfxml_link_c_ctn();surfxml_pcdata_ix = 0; ENTER(E_surfxml_link_c_ctn);
5490 if (!AX_surfxml_link_c_ctn_id) FAIL("Required attribute `id' not set for `link:ctn' element.");
5491 LEAVE; STag_surfxml_link_c_ctn(); surfxml_pcdata_ix = 0; ETag_surfxml_link_c_ctn(); popbuffer(); /* attribute */
5493 case S_surfxml_route_1: case S_surfxml_route: case S_surfxml_route_2: SET(S_surfxml_route_2); break;
5494 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;
5500 FAIL("Unexpected character `%c' in attribute list of link:ctn element.", surf_parse_text[0]);
5504 FAIL("Bad attribute `%s' in `link:ctn' element start tag.",surf_parse_text);
5506 case YY_STATE_EOF(AL_surfxml_link_c_ctn):
5507 FAIL("EOF in attribute list of `link:ctn' element.");
5511 /* rule 299 can match eol */
5515 ETag_surfxml_link_c_ctn();
5516 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;
5524 /* rule 300 can match eol */
5526 FAIL("Unexpected end-tag `%s': `</link:ctn>' expected.",surf_parse_text);
5530 FAIL("Unexpected character `%c': `</link:ctn>' expected.",surf_parse_text[0]);
5532 case YY_STATE_EOF(E_surfxml_link_c_ctn):
5533 FAIL("Premature EOF: `</link:ctn>' expected.");
5537 /* rule 302 can match eol */
5539 FAIL("Starting tag <process> is not allowed here.");
5542 /* rule 303 can match eol */
5545 AX_surfxml_process_host = 0;
5546 AX_surfxml_process_function = 0;
5547 AX_surfxml_process_start_time = 110;
5548 AX_surfxml_process_kill_time = 115;
5549 ENTER(AL_surfxml_process); pushbuffer(0);
5554 /* rule 304 can match eol */
5556 ENTER(VALUE1); BUFFERSET(AX_surfxml_process_host);
5559 /* rule 305 can match eol */
5561 ENTER(VALUE2); BUFFERSET(AX_surfxml_process_host);
5564 /* rule 306 can match eol */
5566 ENTER(VALUE1); BUFFERSET(AX_surfxml_process_function);
5569 /* rule 307 can match eol */
5571 ENTER(VALUE2); BUFFERSET(AX_surfxml_process_function);
5574 /* rule 308 can match eol */
5576 ENTER(VALUE1); BUFFERSET(AX_surfxml_process_start_time);
5579 /* rule 309 can match eol */
5581 ENTER(VALUE2); BUFFERSET(AX_surfxml_process_start_time);
5584 /* rule 310 can match eol */
5586 ENTER(VALUE1); BUFFERSET(AX_surfxml_process_kill_time);
5589 /* rule 311 can match eol */
5591 ENTER(VALUE2); BUFFERSET(AX_surfxml_process_kill_time);
5596 if (!AX_surfxml_process_host) FAIL("Required attribute `host' not set for `process' element.");
5597 if (!AX_surfxml_process_function) FAIL("Required attribute `function' not set for `process' element.");
5598 LEAVE; STag_surfxml_process();surfxml_pcdata_ix = 0; ENTER(S_surfxml_process);
5604 if (!AX_surfxml_process_host) FAIL("Required attribute `host' not set for `process' element.");
5605 if (!AX_surfxml_process_function) FAIL("Required attribute `function' not set for `process' element.");
5606 LEAVE; STag_surfxml_process(); surfxml_pcdata_ix = 0; ETag_surfxml_process(); popbuffer(); /* attribute */
5608 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;
5614 FAIL("Unexpected character `%c' in attribute list of process element.", surf_parse_text[0]);
5618 FAIL("Bad attribute `%s' in `process' element start tag.",surf_parse_text);
5620 case YY_STATE_EOF(AL_surfxml_process):
5621 FAIL("EOF in attribute list of `process' element.");
5625 /* rule 316 can match eol */
5629 ETag_surfxml_process();
5630 popbuffer(); /* attribute */
5632 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;
5637 /* rule 317 can match eol */
5639 FAIL("Unexpected end-tag `%s': `</process>' expected.",surf_parse_text);
5643 FAIL("Unexpected character `%c': `</process>' expected.",surf_parse_text[0]);
5645 case YY_STATE_EOF(S_surfxml_process):
5646 case YY_STATE_EOF(E_surfxml_process):
5647 case YY_STATE_EOF(S_surfxml_process_2):
5648 FAIL("Premature EOF: `</process>' expected.");
5652 /* rule 319 can match eol */
5654 FAIL("Starting tag <argument> is not allowed here.");
5657 /* rule 320 can match eol */
5660 AX_surfxml_argument_value = 0;
5661 ENTER(AL_surfxml_argument); pushbuffer(0);
5666 /* rule 321 can match eol */
5668 ENTER(VALUE1); BUFFERSET(AX_surfxml_argument_value);
5671 /* rule 322 can match eol */
5673 ENTER(VALUE2); BUFFERSET(AX_surfxml_argument_value);
5678 if (!AX_surfxml_argument_value) FAIL("Required attribute `value' not set for `argument' element.");
5679 LEAVE; STag_surfxml_argument();surfxml_pcdata_ix = 0; ENTER(E_surfxml_argument);
5685 if (!AX_surfxml_argument_value) FAIL("Required attribute `value' not set for `argument' element.");
5686 LEAVE; STag_surfxml_argument(); surfxml_pcdata_ix = 0; ETag_surfxml_argument(); popbuffer(); /* attribute */
5688 case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
5694 FAIL("Unexpected character `%c' in attribute list of argument element.", surf_parse_text[0]);
5698 FAIL("Bad attribute `%s' in `argument' element start tag.",surf_parse_text);
5700 case YY_STATE_EOF(AL_surfxml_argument):
5701 FAIL("EOF in attribute list of `argument' element.");
5705 /* rule 327 can match eol */
5709 ETag_surfxml_argument();
5710 popbuffer(); /* attribute */
5712 case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
5717 /* rule 328 can match eol */
5719 FAIL("Unexpected end-tag `%s': `</argument>' expected.",surf_parse_text);
5723 FAIL("Unexpected character `%c': `</argument>' expected.",surf_parse_text[0]);
5725 case YY_STATE_EOF(E_surfxml_argument):
5726 FAIL("Premature EOF: `</argument>' expected.");
5729 /* EPILOG: after the root element. */
5733 {SET(PROLOG); yyless(0); CLEANUP; return -1;}
5735 case YY_STATE_EOF(EPILOG):
5739 /* CHARACTER DATA. */
5741 /* Non-defined standard entities... */
5762 /* Character entities. */
5765 BUFFERPUTC((unsigned char)atoi(surf_parse_text+2));
5769 BUFFERPUTC((unsigned char)strtol(surf_parse_text+3,NULL,16));
5773 /* rule 338 can match eol */
5775 /* rule 339 can match eol */
5777 /* rule 340 can match eol */
5779 /* rule 341 can match eol */
5790 FAIL("Unexpected `]""]>' in character data.");
5797 case YY_STATE_EOF(VALUE1):
5798 FAIL("EOF in literal (\"'\" expected).");
5805 case YY_STATE_EOF(VALUE2):
5806 FAIL("EOF in literal (`\"' expected).");
5810 /* rule 346 can match eol */
5812 BUFFERPUTC(surf_parse_text[0]);
5816 FAIL("Spurious `%c' in character data.",surf_parse_text[0]);
5823 /* "]""]" BUFFERPUTC(surf_parse_text[0]); BUFFERPUTC(surf_parse_text[1]); */
5826 BUFFERPUTC(surf_parse_text[0]);
5828 case YY_STATE_EOF(CDATA):
5829 FAIL("EOF in CDATA section.");
5832 /* Impossible rules to avoid warnings from flex(1). */
5833 /* Ideally, this should be replaced by code in flexml.pl that
5834 generates just the states not covered by other rules. */
5837 /* rule 350 can match eol */
5839 FAIL("Syntax error on character `%c'.", surf_parse_text[0]);
5846 case YY_STATE_EOF(INITIAL):
5847 case YY_STATE_EOF(ROOT_surfxml_platform):
5848 case YY_STATE_EOF(S_surfxml_platform_2):
5849 case YY_STATE_EOF(S_surfxml_platform_4):
5850 case YY_STATE_EOF(S_surfxml_random_1):
5851 case YY_STATE_EOF(S_surfxml_foreach):
5852 case YY_STATE_EOF(S_surfxml_foreach_1):
5853 case YY_STATE_EOF(S_surfxml_host_1):
5854 case YY_STATE_EOF(S_surfxml_link_1):
5855 case YY_STATE_EOF(S_surfxml_route_c_multi):
5856 case YY_STATE_EOF(S_surfxml_route_c_multi_1):
5857 case YY_STATE_EOF(S_surfxml_route_1):
5858 case YY_STATE_EOF(S_surfxml_process_1):
5859 case YY_STATE_EOF(IMPOSSIBLE):
5862 case YY_END_OF_BUFFER:
5864 /* Amount of text matched not including the EOB char. */
5865 int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
5867 /* Undo the effects of YY_DO_BEFORE_ACTION. */
5868 *yy_cp = (yy_hold_char);
5869 YY_RESTORE_YY_MORE_OFFSET
5871 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
5873 /* We're scanning a new file or input source. It's
5874 * possible that this happened because the user
5875 * just pointed surf_parse_in at a new source and called
5876 * surf_parse_lex(). If so, then we have to assure
5877 * consistency between YY_CURRENT_BUFFER and our
5878 * globals. Here is the right place to do so, because
5879 * this is the first action (other than possibly a
5880 * back-up) that will match for the new input source.
5882 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
5883 YY_CURRENT_BUFFER_LVALUE->yy_input_file = surf_parse_in;
5884 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
5887 /* Note that here we test for yy_c_buf_p "<=" to the position
5888 * of the first EOB in the buffer, since yy_c_buf_p will
5889 * already have been incremented past the NUL character
5890 * (since all states make transitions on EOB to the
5891 * end-of-buffer state). Contrast this with the test
5894 if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
5895 { /* This was really a NUL. */
5896 yy_state_type yy_next_state;
5898 (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
5900 yy_current_state = yy_get_previous_state( );
5902 /* Okay, we're now positioned to make the NUL
5903 * transition. We couldn't have
5904 * yy_get_previous_state() go ahead and do it
5905 * for us because it doesn't know how to deal
5906 * with the possibility of jamming (and we don't
5907 * want to build jamming into it because then it
5908 * will run more slowly).
5911 yy_next_state = yy_try_NUL_trans( yy_current_state );
5913 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
5915 if ( yy_next_state )
5917 /* Consume the NUL. */
5918 yy_cp = ++(yy_c_buf_p);
5919 yy_current_state = yy_next_state;
5925 yy_cp = (yy_c_buf_p);
5926 goto yy_find_action;
5930 else switch ( yy_get_next_buffer( ) )
5932 case EOB_ACT_END_OF_FILE:
5934 (yy_did_buffer_switch_on_eof) = 0;
5936 if ( surf_parse_wrap( ) )
5938 /* Note: because we've taken care in
5939 * yy_get_next_buffer() to have set up
5940 * surf_parse_text, we can now set up
5941 * yy_c_buf_p so that if some total
5942 * hoser (like flex itself) wants to
5943 * call the scanner after we return the
5944 * YY_NULL, it'll still work - another
5945 * YY_NULL will get returned.
5947 (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
5949 yy_act = YY_STATE_EOF(YY_START);
5955 if ( ! (yy_did_buffer_switch_on_eof) )
5961 case EOB_ACT_CONTINUE_SCAN:
5963 (yytext_ptr) + yy_amount_of_matched_text;
5965 yy_current_state = yy_get_previous_state( );
5967 yy_cp = (yy_c_buf_p);
5968 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
5971 case EOB_ACT_LAST_MATCH:
5973 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
5975 yy_current_state = yy_get_previous_state( );
5977 yy_cp = (yy_c_buf_p);
5978 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
5979 goto yy_find_action;
5986 "fatal flex scanner internal error--no action found" );
5987 } /* end of action switch */
5988 } /* end of scanning one token */
5989 } /* end of surf_parse_lex */
5991 /* yy_get_next_buffer - try to read in a new buffer
5993 * Returns a code representing an action:
5994 * EOB_ACT_LAST_MATCH -
5995 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
5996 * EOB_ACT_END_OF_FILE - end of file
5998 static int yy_get_next_buffer (void)
6000 register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
6001 register char *source = (yytext_ptr);
6002 register int number_to_move, i;
6005 if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
6007 "fatal flex scanner internal error--end of buffer missed" );
6009 if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
6010 { /* Don't try to fill the buffer, so this is an EOF. */
6011 if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
6013 /* We matched a single character, the EOB, so
6014 * treat this as a final EOF.
6016 return EOB_ACT_END_OF_FILE;
6021 /* We matched some text prior to the EOB, first
6024 return EOB_ACT_LAST_MATCH;
6028 /* Try to read more data. */
6030 /* First move last chars to start of buffer. */
6031 number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
6033 for ( i = 0; i < number_to_move; ++i )
6034 *(dest++) = *(source++);
6036 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
6037 /* don't do the read, it's not guaranteed to return an EOF,
6040 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
6045 YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
6047 while ( num_to_read <= 0 )
6048 { /* Not enough room in the buffer - grow it. */
6050 /* just a shorter name for the current buffer */
6051 YY_BUFFER_STATE b = YY_CURRENT_BUFFER;
6053 int yy_c_buf_p_offset =
6054 (int) ((yy_c_buf_p) - b->yy_ch_buf);
6056 if ( b->yy_is_our_buffer )
6058 int new_size = b->yy_buf_size * 2;
6060 if ( new_size <= 0 )
6061 b->yy_buf_size += b->yy_buf_size / 8;
6063 b->yy_buf_size *= 2;
6065 b->yy_ch_buf = (char *)
6066 /* Include room in for 2 EOB chars. */
6067 surf_parse_realloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 );
6070 /* Can't grow it, we don't own it. */
6073 if ( ! b->yy_ch_buf )
6075 "fatal error - scanner input buffer overflow" );
6077 (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
6079 num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
6084 if ( num_to_read > YY_READ_BUF_SIZE )
6085 num_to_read = YY_READ_BUF_SIZE;
6087 /* Read in more data. */
6088 YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
6089 (yy_n_chars), (size_t) num_to_read );
6091 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
6094 if ( (yy_n_chars) == 0 )
6096 if ( number_to_move == YY_MORE_ADJ )
6098 ret_val = EOB_ACT_END_OF_FILE;
6099 surf_parse_restart(surf_parse_in );
6104 ret_val = EOB_ACT_LAST_MATCH;
6105 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
6106 YY_BUFFER_EOF_PENDING;
6111 ret_val = EOB_ACT_CONTINUE_SCAN;
6113 if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
6114 /* Extend the array by 50%, plus the number we really need. */
6115 yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
6116 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) surf_parse_realloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size );
6117 if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
6118 YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
6121 (yy_n_chars) += number_to_move;
6122 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
6123 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
6125 (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
6130 /* yy_get_previous_state - get the state just before the EOB char was reached */
6132 static yy_state_type yy_get_previous_state (void)
6134 register yy_state_type yy_current_state;
6135 register char *yy_cp;
6137 yy_current_state = (yy_start);
6139 for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
6141 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
6142 if ( yy_accept[yy_current_state] )
6144 (yy_last_accepting_state) = yy_current_state;
6145 (yy_last_accepting_cpos) = yy_cp;
6147 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
6149 yy_current_state = (int) yy_def[yy_current_state];
6150 if ( yy_current_state >= 2023 )
6151 yy_c = yy_meta[(unsigned int) yy_c];
6153 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
6156 return yy_current_state;
6159 /* yy_try_NUL_trans - try to make a transition on the NUL character
6162 * next_state = yy_try_NUL_trans( current_state );
6164 static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state )
6166 register int yy_is_jam;
6167 register char *yy_cp = (yy_c_buf_p);
6169 register YY_CHAR yy_c = 1;
6170 if ( yy_accept[yy_current_state] )
6172 (yy_last_accepting_state) = yy_current_state;
6173 (yy_last_accepting_cpos) = yy_cp;
6175 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
6177 yy_current_state = (int) yy_def[yy_current_state];
6178 if ( yy_current_state >= 2023 )
6179 yy_c = yy_meta[(unsigned int) yy_c];
6181 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
6182 yy_is_jam = (yy_current_state == 2022);
6184 return yy_is_jam ? 0 : yy_current_state;
6189 static int yyinput (void)
6191 static int input (void)
6197 *(yy_c_buf_p) = (yy_hold_char);
6199 if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
6201 /* yy_c_buf_p now points to the character we want to return.
6202 * If this occurs *before* the EOB characters, then it's a
6203 * valid NUL; if not, then we've hit the end of the buffer.
6205 if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
6206 /* This was really a NUL. */
6207 *(yy_c_buf_p) = '\0';
6210 { /* need more input */
6211 int offset = (yy_c_buf_p) - (yytext_ptr);
6214 switch ( yy_get_next_buffer( ) )
6216 case EOB_ACT_LAST_MATCH:
6217 /* This happens because yy_g_n_b()
6218 * sees that we've accumulated a
6219 * token and flags that we need to
6220 * try matching the token before
6221 * proceeding. But for input(),
6222 * there's no matching to consider.
6223 * So convert the EOB_ACT_LAST_MATCH
6224 * to EOB_ACT_END_OF_FILE.
6227 /* Reset buffer status. */
6228 surf_parse_restart(surf_parse_in );
6232 case EOB_ACT_END_OF_FILE:
6234 if ( surf_parse_wrap( ) )
6237 if ( ! (yy_did_buffer_switch_on_eof) )
6246 case EOB_ACT_CONTINUE_SCAN:
6247 (yy_c_buf_p) = (yytext_ptr) + offset;
6253 c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */
6254 *(yy_c_buf_p) = '\0'; /* preserve surf_parse_text */
6255 (yy_hold_char) = *++(yy_c_buf_p);
6259 surf_parse_lineno++;
6264 #endif /* ifndef YY_NO_INPUT */
6266 /** Immediately switch to a different input stream.
6267 * @param input_file A readable stream.
6269 * @note This function does not reset the start condition to @c INITIAL .
6271 void surf_parse_restart (FILE * input_file )
6274 if ( ! YY_CURRENT_BUFFER ){
6275 surf_parse_ensure_buffer_stack ();
6276 YY_CURRENT_BUFFER_LVALUE =
6277 surf_parse__create_buffer(surf_parse_in,YY_BUF_SIZE );
6280 surf_parse__init_buffer(YY_CURRENT_BUFFER,input_file );
6281 surf_parse__load_buffer_state( );
6284 /** Switch to a different input buffer.
6285 * @param new_buffer The new input buffer.
6288 void surf_parse__switch_to_buffer (YY_BUFFER_STATE new_buffer )
6291 /* TODO. We should be able to replace this entire function body
6293 * surf_parse_pop_buffer_state();
6294 * surf_parse_push_buffer_state(new_buffer);
6296 surf_parse_ensure_buffer_stack ();
6297 if ( YY_CURRENT_BUFFER == new_buffer )
6300 if ( YY_CURRENT_BUFFER )
6302 /* Flush out information for old buffer. */
6303 *(yy_c_buf_p) = (yy_hold_char);
6304 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
6305 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
6308 YY_CURRENT_BUFFER_LVALUE = new_buffer;
6309 surf_parse__load_buffer_state( );
6311 /* We don't actually know whether we did this switch during
6312 * EOF (surf_parse_wrap()) processing, but the only time this flag
6313 * is looked at is after surf_parse_wrap() is called, so it's safe
6314 * to go ahead and always set it.
6316 (yy_did_buffer_switch_on_eof) = 1;
6319 static void surf_parse__load_buffer_state (void)
6321 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
6322 (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
6323 surf_parse_in = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
6324 (yy_hold_char) = *(yy_c_buf_p);
6327 /** Allocate and initialize an input buffer state.
6328 * @param file A readable stream.
6329 * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
6331 * @return the allocated buffer state.
6333 YY_BUFFER_STATE surf_parse__create_buffer (FILE * file, int size )
6337 b = (YY_BUFFER_STATE) surf_parse_alloc(sizeof( struct yy_buffer_state ) );
6339 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__create_buffer()" );
6341 b->yy_buf_size = size;
6343 /* yy_ch_buf has to be 2 characters longer than the size given because
6344 * we need to put in 2 end-of-buffer characters.
6346 b->yy_ch_buf = (char *) surf_parse_alloc(b->yy_buf_size + 2 );
6347 if ( ! b->yy_ch_buf )
6348 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__create_buffer()" );
6350 b->yy_is_our_buffer = 1;
6352 surf_parse__init_buffer(b,file );
6357 /** Destroy the buffer.
6358 * @param b a buffer created with surf_parse__create_buffer()
6361 void surf_parse__delete_buffer (YY_BUFFER_STATE b )
6367 if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
6368 YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
6370 if ( b->yy_is_our_buffer )
6371 surf_parse_free((void *) b->yy_ch_buf );
6373 surf_parse_free((void *) b );
6377 extern int isatty (int );
6378 #endif /* __cplusplus */
6380 /* Initializes or reinitializes a buffer.
6381 * This function is sometimes called more than once on the same buffer,
6382 * such as during a surf_parse_restart() or at EOF.
6384 static void surf_parse__init_buffer (YY_BUFFER_STATE b, FILE * file )
6389 surf_parse__flush_buffer(b );
6391 b->yy_input_file = file;
6392 b->yy_fill_buffer = 1;
6394 /* If b is the current buffer, then surf_parse__init_buffer was _probably_
6395 * called from surf_parse_restart() or through yy_get_next_buffer.
6396 * In that case, we don't want to reset the lineno or column.
6398 if (b != YY_CURRENT_BUFFER){
6399 b->yy_bs_lineno = 1;
6400 b->yy_bs_column = 0;
6403 b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
6408 /** Discard all buffered characters. On the next scan, YY_INPUT will be called.
6409 * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
6412 void surf_parse__flush_buffer (YY_BUFFER_STATE b )
6419 /* We always need two end-of-buffer characters. The first causes
6420 * a transition to the end-of-buffer state. The second causes
6421 * a jam in that state.
6423 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
6424 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
6426 b->yy_buf_pos = &b->yy_ch_buf[0];
6429 b->yy_buffer_status = YY_BUFFER_NEW;
6431 if ( b == YY_CURRENT_BUFFER )
6432 surf_parse__load_buffer_state( );
6435 /** Pushes the new state onto the stack. The new state becomes
6436 * the current state. This function will allocate the stack
6438 * @param new_buffer The new state.
6441 void surf_parse_push_buffer_state (YY_BUFFER_STATE new_buffer )
6443 if (new_buffer == NULL)
6446 surf_parse_ensure_buffer_stack();
6448 /* This block is copied from surf_parse__switch_to_buffer. */
6449 if ( YY_CURRENT_BUFFER )
6451 /* Flush out information for old buffer. */
6452 *(yy_c_buf_p) = (yy_hold_char);
6453 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
6454 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
6457 /* Only push if top exists. Otherwise, replace top. */
6458 if (YY_CURRENT_BUFFER)
6459 (yy_buffer_stack_top)++;
6460 YY_CURRENT_BUFFER_LVALUE = new_buffer;
6462 /* copied from surf_parse__switch_to_buffer. */
6463 surf_parse__load_buffer_state( );
6464 (yy_did_buffer_switch_on_eof) = 1;
6467 /** Removes and deletes the top of the stack, if present.
6468 * The next element becomes the new top.
6471 void surf_parse_pop_buffer_state (void)
6473 if (!YY_CURRENT_BUFFER)
6476 surf_parse__delete_buffer(YY_CURRENT_BUFFER );
6477 YY_CURRENT_BUFFER_LVALUE = NULL;
6478 if ((yy_buffer_stack_top) > 0)
6479 --(yy_buffer_stack_top);
6481 if (YY_CURRENT_BUFFER) {
6482 surf_parse__load_buffer_state( );
6483 (yy_did_buffer_switch_on_eof) = 1;
6487 /* Allocates the stack if it does not exist.
6488 * Guarantees space for at least one push.
6490 static void surf_parse_ensure_buffer_stack (void)
6494 if (!(yy_buffer_stack)) {
6496 /* First allocation is just for 2 elements, since we don't know if this
6497 * scanner will even need a stack. We use 2 instead of 1 to avoid an
6498 * immediate realloc on the next call.
6501 (yy_buffer_stack) = (struct yy_buffer_state**)surf_parse_alloc
6502 (num_to_alloc * sizeof(struct yy_buffer_state*)
6504 if ( ! (yy_buffer_stack) )
6505 YY_FATAL_ERROR( "out of dynamic memory in surf_parse_ensure_buffer_stack()" );
6507 memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
6509 (yy_buffer_stack_max) = num_to_alloc;
6510 (yy_buffer_stack_top) = 0;
6514 if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
6516 /* Increase the buffer to prepare for a possible push. */
6517 int grow_size = 8 /* arbitrary grow size */;
6519 num_to_alloc = (yy_buffer_stack_max) + grow_size;
6520 (yy_buffer_stack) = (struct yy_buffer_state**)surf_parse_realloc
6522 num_to_alloc * sizeof(struct yy_buffer_state*)
6524 if ( ! (yy_buffer_stack) )
6525 YY_FATAL_ERROR( "out of dynamic memory in surf_parse_ensure_buffer_stack()" );
6527 /* zero only the new slots.*/
6528 memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
6529 (yy_buffer_stack_max) = num_to_alloc;
6533 /** Setup the input buffer state to scan directly from a user-specified character buffer.
6534 * @param base the character buffer
6535 * @param size the size in bytes of the character buffer
6537 * @return the newly allocated buffer state object.
6539 YY_BUFFER_STATE surf_parse__scan_buffer (char * base, yy_size_t size )
6544 base[size-2] != YY_END_OF_BUFFER_CHAR ||
6545 base[size-1] != YY_END_OF_BUFFER_CHAR )
6546 /* They forgot to leave room for the EOB's. */
6549 b = (YY_BUFFER_STATE) surf_parse_alloc(sizeof( struct yy_buffer_state ) );
6551 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__scan_buffer()" );
6553 b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
6554 b->yy_buf_pos = b->yy_ch_buf = base;
6555 b->yy_is_our_buffer = 0;
6556 b->yy_input_file = 0;
6557 b->yy_n_chars = b->yy_buf_size;
6558 b->yy_is_interactive = 0;
6560 b->yy_fill_buffer = 0;
6561 b->yy_buffer_status = YY_BUFFER_NEW;
6563 surf_parse__switch_to_buffer(b );
6568 /** Setup the input buffer state to scan a string. The next call to surf_parse_lex() will
6569 * scan from a @e copy of @a str.
6570 * @param yystr a NUL-terminated string to scan
6572 * @return the newly allocated buffer state object.
6573 * @note If you want to scan bytes that may contain NUL values, then use
6574 * surf_parse__scan_bytes() instead.
6576 YY_BUFFER_STATE surf_parse__scan_string (yyconst char * yystr )
6579 return surf_parse__scan_bytes(yystr,strlen(yystr) );
6582 /** Setup the input buffer state to scan the given bytes. The next call to surf_parse_lex() will
6583 * scan from a @e copy of @a bytes.
6584 * @param yybytes the byte buffer to scan
6585 * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
6587 * @return the newly allocated buffer state object.
6589 YY_BUFFER_STATE surf_parse__scan_bytes (yyconst char * yybytes, int _yybytes_len )
6596 /* Get memory for full buffer, including space for trailing EOB's. */
6597 n = _yybytes_len + 2;
6598 buf = (char *) surf_parse_alloc(n );
6600 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__scan_bytes()" );
6602 for ( i = 0; i < _yybytes_len; ++i )
6603 buf[i] = yybytes[i];
6605 buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
6607 b = surf_parse__scan_buffer(buf,n );
6609 YY_FATAL_ERROR( "bad buffer in surf_parse__scan_bytes()" );
6611 /* It's okay to grow etc. this buffer, and we should throw it
6612 * away when we're done.
6614 b->yy_is_our_buffer = 1;
6619 static void yy_push_state (int new_state )
6621 if ( (yy_start_stack_ptr) >= (yy_start_stack_depth) )
6625 (yy_start_stack_depth) += YY_START_STACK_INCR;
6626 new_size = (yy_start_stack_depth) * sizeof( int );
6628 if ( ! (yy_start_stack) )
6629 (yy_start_stack) = (int *) surf_parse_alloc(new_size );
6632 (yy_start_stack) = (int *) surf_parse_realloc((void *) (yy_start_stack),new_size );
6634 if ( ! (yy_start_stack) )
6635 YY_FATAL_ERROR( "out of memory expanding start-condition stack" );
6638 (yy_start_stack)[(yy_start_stack_ptr)++] = YY_START;
6643 static void yy_pop_state (void)
6645 if ( --(yy_start_stack_ptr) < 0 )
6646 YY_FATAL_ERROR( "start-condition stack underflow" );
6648 BEGIN((yy_start_stack)[(yy_start_stack_ptr)]);
6651 #ifndef YY_EXIT_FAILURE
6652 #define YY_EXIT_FAILURE 2
6655 static void yy_fatal_error (yyconst char* msg )
6657 (void) fprintf( stderr, "%s\n", msg );
6658 exit( YY_EXIT_FAILURE );
6661 /* Redefine yyless() so it works in section 3 code. */
6667 /* Undo effects of setting up surf_parse_text. */ \
6668 int yyless_macro_arg = (n); \
6669 YY_LESS_LINENO(yyless_macro_arg);\
6670 surf_parse_text[surf_parse_leng] = (yy_hold_char); \
6671 (yy_c_buf_p) = surf_parse_text + yyless_macro_arg; \
6672 (yy_hold_char) = *(yy_c_buf_p); \
6673 *(yy_c_buf_p) = '\0'; \
6674 surf_parse_leng = yyless_macro_arg; \
6678 /* Accessor methods (get/set functions) to struct members. */
6680 /** Get the current line number.
6683 int surf_parse_get_lineno (void)
6686 return surf_parse_lineno;
6689 /** Get the input stream.
6692 FILE *surf_parse_get_in (void)
6694 return surf_parse_in;
6697 /** Get the output stream.
6700 FILE *surf_parse_get_out (void)
6702 return surf_parse_out;
6705 /** Get the length of the current token.
6708 int surf_parse_get_leng (void)
6710 return surf_parse_leng;
6713 /** Get the current token.
6717 char *surf_parse_get_text (void)
6719 return surf_parse_text;
6722 /** Set the current line number.
6723 * @param line_number
6726 void surf_parse_set_lineno (int line_number )
6729 surf_parse_lineno = line_number;
6732 /** Set the input stream. This does not discard the current
6734 * @param in_str A readable stream.
6736 * @see surf_parse__switch_to_buffer
6738 void surf_parse_set_in (FILE * in_str )
6740 surf_parse_in = in_str ;
6743 void surf_parse_set_out (FILE * out_str )
6745 surf_parse_out = out_str ;
6748 int surf_parse_get_debug (void)
6750 return surf_parse__flex_debug;
6753 void surf_parse_set_debug (int bdebug )
6755 surf_parse__flex_debug = bdebug ;
6758 static int yy_init_globals (void)
6760 /* Initialization is the same as for the non-reentrant scanner.
6761 * This function is called from surf_parse_lex_destroy(), so don't allocate here.
6764 /* We do not touch surf_parse_lineno unless the option is enabled. */
6765 surf_parse_lineno = 1;
6767 (yy_buffer_stack) = 0;
6768 (yy_buffer_stack_top) = 0;
6769 (yy_buffer_stack_max) = 0;
6770 (yy_c_buf_p) = (char *) 0;
6774 (yy_start_stack_ptr) = 0;
6775 (yy_start_stack_depth) = 0;
6776 (yy_start_stack) = NULL;
6778 /* Defined in main.c */
6780 surf_parse_in = stdin;
6781 surf_parse_out = stdout;
6783 surf_parse_in = (FILE *) 0;
6784 surf_parse_out = (FILE *) 0;
6787 /* For future reference: Set errno on error, since we are called by
6788 * surf_parse_lex_init()
6793 /* surf_parse_lex_destroy is for both reentrant and non-reentrant scanners. */
6794 int surf_parse_lex_destroy (void)
6797 /* Pop the buffer stack, destroying each element. */
6798 while(YY_CURRENT_BUFFER){
6799 surf_parse__delete_buffer(YY_CURRENT_BUFFER );
6800 YY_CURRENT_BUFFER_LVALUE = NULL;
6801 surf_parse_pop_buffer_state();
6804 /* Destroy the stack itself. */
6805 surf_parse_free((yy_buffer_stack) );
6806 (yy_buffer_stack) = NULL;
6808 /* Destroy the start condition stack. */
6809 surf_parse_free((yy_start_stack) );
6810 (yy_start_stack) = NULL;
6812 /* Reset the globals. This is important in a non-reentrant scanner so the next time
6813 * surf_parse_lex() is called, initialization will occur. */
6820 * Internal utility routines.
6824 static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
6827 for ( i = 0; i < n; ++i )
6832 #ifdef YY_NEED_STRLEN
6833 static int yy_flex_strlen (yyconst char * s )
6836 for ( n = 0; s[n]; ++n )
6843 void *surf_parse_alloc (yy_size_t size )
6845 return (void *) malloc( size );
6848 void *surf_parse_realloc (void * ptr, yy_size_t size )
6850 /* The cast to (char *) in the following accommodates both
6851 * implementations that use char* generic pointers, and those
6852 * that use void* generic pointers. It works with the latter
6853 * because both ANSI C and C++ allow castless assignment from
6854 * any pointer type to void*, and deal with argument conversions
6855 * as though doing an assignment.
6857 return (void *) realloc( (char *) ptr, size );
6860 void surf_parse_free (void * ptr )
6862 free( (char *) ptr ); /* see surf_parse_realloc() for (char *) cast */
6865 #define YYTABLES_NAME "yytables"
6867 /* Element context stack lookup. */
6868 int surfxml_element_context(int i)
6870 return (0<i && i<yy_start_stack_depth
6871 ? yy_start_stack[yy_start_stack_ptr - i]
6876 void print_yy_stack(char* fmt, ...)
6878 int i = 0; va_list ap; va_start(ap, fmt);
6879 vfprintf(stderr, fmt, ap);
6880 if (surfxml_statenames) {
6881 for (i=1; i<yy_start_stack_ptr; i++) {
6882 fprintf(stderr, "%s/", surfxml_statenames[yy_start_stack[i] ]);
6884 fprintf(stderr,"%s\n", surfxml_statenames[YY_START]);
6889 void print_surfxml_bufferstack()
6892 fputs("Buffer: ", stderr);
6893 for (i = 0; i < blimit; i++) {
6894 if ( surfxml_bufferstack[i] == '\377' ) break;
6895 putc(surfxml_bufferstack[i], stderr);
6900 static void debug_enter(int state, const char* statename) {
6901 yy_push_state(state);
6902 if (surf_parse__flex_debug) {
6903 print_yy_stack("--ENTER(%s) : ",statename);
6904 print_surfxml_bufferstack();
6908 static void debug_leave(void) {
6909 if (surf_parse__flex_debug) {
6910 print_yy_stack("--LEAVE : ");
6911 print_surfxml_bufferstack();
6916 static void debug_set(int state, const char* statename) {
6918 if (surf_parse__flex_debug) print_yy_stack("--SET(%s) : ",statename);
6922 static void cleanup(void)
6924 if (surfxml_statenames) {
6925 free(surfxml_statenames);
6926 surfxml_statenames = NULL;
6928 free(surfxml_bufferstack);
6929 surfxml_bufferstack = NULL;
6935 static int fail(const char* fmt, ...)
6937 int chars_left, used;
6938 va_list ap; va_start(ap, fmt);
6939 #ifdef FLEXML_yylineno
6940 used = sprintf(flexml_err_msg,
6941 "Invalid XML (XML input line %d, state %d): ",
6942 surf_parse_lineno, YY_START);
6944 used = sprintf(flexml_err_msg,
6945 "Invalid XML (state %d): ",
6948 chars_left = flexml_max_err_msg_size - used - 1;
6949 vsnprintf(flexml_err_msg + used, chars_left, fmt, ap);
6952 #ifndef FLEXML_quiet_parser
6953 /* print directly to sdterr */
6954 fprintf(stderr, "%s\n", flexml_err_msg);
6955 flexml_err_msg[0] = '\0';