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. */
45 /* end standard C headers. */
47 /* flex integer type definitions */
52 /* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
54 #if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
56 /* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
57 * if you want the limit (max/min) macros for int types.
59 #ifndef __STDC_LIMIT_MACROS
60 #define __STDC_LIMIT_MACROS 1
64 typedef int8_t flex_int8_t;
65 typedef uint8_t flex_uint8_t;
66 typedef int16_t flex_int16_t;
67 typedef uint16_t flex_uint16_t;
68 typedef int32_t flex_int32_t;
69 typedef uint32_t flex_uint32_t;
71 typedef signed char flex_int8_t;
72 typedef short int flex_int16_t;
73 typedef int flex_int32_t;
74 typedef unsigned char flex_uint8_t;
75 typedef unsigned short int flex_uint16_t;
76 typedef unsigned int flex_uint32_t;
78 /* Limits of integral types. */
80 #define INT8_MIN (-128)
83 #define INT16_MIN (-32767-1)
86 #define INT32_MIN (-2147483647-1)
89 #define INT8_MAX (127)
92 #define INT16_MAX (32767)
95 #define INT32_MAX (2147483647)
98 #define UINT8_MAX (255U)
101 #define UINT16_MAX (65535U)
104 #define UINT32_MAX (4294967295U)
109 #endif /* ! FLEXINT_H */
113 /* The "const" storage-class-modifier is valid. */
116 #else /* ! __cplusplus */
118 /* C99 requires __STDC__ to be defined as 1. */
119 #if defined (__STDC__)
123 #endif /* defined (__STDC__) */
124 #endif /* ! __cplusplus */
127 #define yyconst const
132 /* Returned upon end-of-file. */
135 /* Promotes a possibly negative, possibly signed char to an unsigned
136 * integer for use as an array index. If the signed char is negative,
137 * we want to instead treat it as an 8-bit unsigned char, hence the
140 #define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
142 /* Enter a start condition. This macro really ought to take a parameter,
143 * but we do it the disgusting crufty way forced on us by the ()-less
144 * definition of BEGIN.
146 #define BEGIN (yy_start) = 1 + 2 *
148 /* Translate the current start state into a value that can be later handed
149 * to BEGIN to return to the state. The YYSTATE alias is for lex
152 #define YY_START (((yy_start) - 1) / 2)
153 #define YYSTATE YY_START
155 /* Action number for EOF rule of a given start state. */
156 #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
158 /* Special action meaning "start processing a new file". */
159 #define YY_NEW_FILE surf_parse_restart(surf_parse_in )
161 #define YY_END_OF_BUFFER_CHAR 0
163 /* Size of default input buffer. */
165 #define YY_BUF_SIZE 16384
168 /* The state buf must be large enough to hold one state per character in the main buffer.
170 #define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
172 #ifndef YY_TYPEDEF_YY_BUFFER_STATE
173 #define YY_TYPEDEF_YY_BUFFER_STATE
174 typedef struct yy_buffer_state *YY_BUFFER_STATE;
177 extern int surf_parse_leng;
179 extern FILE *surf_parse_in, *surf_parse_out;
181 #define EOB_ACT_CONTINUE_SCAN 0
182 #define EOB_ACT_END_OF_FILE 1
183 #define EOB_ACT_LAST_MATCH 2
185 /* Note: We specifically omit the test for yy_rule_can_match_eol because it requires
186 * access to the local variable yy_act. Since yyless() is a macro, it would break
187 * existing scanners that call yyless() from OUTSIDE surf_parse_lex.
188 * One obvious solution it to make yy_act a global. I tried that, and saw
189 * a 5% performance hit in a non-surf_parse_lineno scanner, because yy_act is
190 * normally declared as a register variable-- so it is not worth it.
192 #define YY_LESS_LINENO(n) \
195 for ( yyl = n; yyl < surf_parse_leng; ++yyl )\
196 if ( surf_parse_text[yyl] == '\n' )\
197 --surf_parse_lineno;\
200 /* Return all but the first "n" matched characters back to the input stream. */
204 /* Undo effects of setting up surf_parse_text. */ \
205 int yyless_macro_arg = (n); \
206 YY_LESS_LINENO(yyless_macro_arg);\
207 *yy_cp = (yy_hold_char); \
208 YY_RESTORE_YY_MORE_OFFSET \
209 (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
210 YY_DO_BEFORE_ACTION; /* set up surf_parse_text again */ \
214 #define unput(c) yyunput( c, (yytext_ptr) )
216 #ifndef YY_TYPEDEF_YY_SIZE_T
217 #define YY_TYPEDEF_YY_SIZE_T
218 typedef size_t yy_size_t;
221 #ifndef YY_STRUCT_YY_BUFFER_STATE
222 #define YY_STRUCT_YY_BUFFER_STATE
223 struct yy_buffer_state
227 char *yy_ch_buf; /* input buffer */
228 char *yy_buf_pos; /* current position in input buffer */
230 /* Size of input buffer in bytes, not including room for EOB
233 yy_size_t yy_buf_size;
235 /* Number of characters read into yy_ch_buf, not including EOB
240 /* Whether we "own" the buffer - i.e., we know we created it,
241 * and can realloc() it to grow it, and should free() it to
244 int yy_is_our_buffer;
246 /* Whether this is an "interactive" input source; if so, and
247 * if we're using stdio for input, then we want to use getc()
248 * instead of fread(), to make sure we stop fetching input after
251 int yy_is_interactive;
253 /* Whether we're considered to be at the beginning of a line.
254 * If so, '^' rules will be active on the next match, otherwise
259 int yy_bs_lineno; /**< The line count. */
260 int yy_bs_column; /**< The column count. */
262 /* Whether to try to fill the input buffer when we reach the
267 int yy_buffer_status;
269 #define YY_BUFFER_NEW 0
270 #define YY_BUFFER_NORMAL 1
271 /* When an EOF's been seen but there's still some text to process
272 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
273 * shouldn't try reading from the input source any more. We might
274 * still have a bunch of tokens to match, though, because of
275 * possible backing-up.
277 * When we actually see the EOF, we change the status to "new"
278 * (via surf_parse_restart()), so that the user can continue scanning by
279 * just pointing surf_parse_in at a new input file.
281 #define YY_BUFFER_EOF_PENDING 2
284 #endif /* !YY_STRUCT_YY_BUFFER_STATE */
286 /* Stack of input buffers. */
287 static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
288 static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
289 static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */
291 /* We provide macros for accessing buffer states in case in the
292 * future we want to put the buffer states in a more general
295 * Returns the top of the stack, or NULL.
297 #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
298 ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
301 /* Same as previous macro, but useful when we know that the buffer stack is not
302 * NULL or when we need an lvalue. For internal use only.
304 #define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
306 /* yy_hold_char holds the character lost when surf_parse_text is formed. */
307 static char yy_hold_char;
308 static int yy_n_chars; /* number of characters read into yy_ch_buf */
311 /* Points to current character in buffer. */
312 static char *yy_c_buf_p = (char *) 0;
313 static int yy_init = 0; /* whether we need to initialize */
314 static int yy_start = 0; /* start state number */
316 /* Flag which is used to allow surf_parse_wrap()'s to do buffer switches
317 * instead of setting up a fresh surf_parse_in. A bit of a hack ...
319 static int yy_did_buffer_switch_on_eof;
321 void surf_parse_restart (FILE *input_file );
322 void surf_parse__switch_to_buffer (YY_BUFFER_STATE new_buffer );
323 YY_BUFFER_STATE surf_parse__create_buffer (FILE *file,int size );
324 void surf_parse__delete_buffer (YY_BUFFER_STATE b );
325 void surf_parse__flush_buffer (YY_BUFFER_STATE b );
326 void surf_parse_push_buffer_state (YY_BUFFER_STATE new_buffer );
327 void surf_parse_pop_buffer_state (void );
329 static void surf_parse_ensure_buffer_stack (void );
330 static void surf_parse__load_buffer_state (void );
331 static void surf_parse__init_buffer (YY_BUFFER_STATE b,FILE *file );
333 #define YY_FLUSH_BUFFER surf_parse__flush_buffer(YY_CURRENT_BUFFER )
335 YY_BUFFER_STATE surf_parse__scan_buffer (char *base,yy_size_t size );
336 YY_BUFFER_STATE surf_parse__scan_string (yyconst char *yy_str );
337 YY_BUFFER_STATE surf_parse__scan_bytes (yyconst char *bytes,int len );
339 void *surf_parse_alloc (yy_size_t );
340 void *surf_parse_realloc (void *,yy_size_t );
341 void surf_parse_free (void * );
343 #define yy_new_buffer surf_parse__create_buffer
345 #define yy_set_interactive(is_interactive) \
347 if ( ! YY_CURRENT_BUFFER ){ \
348 surf_parse_ensure_buffer_stack (); \
349 YY_CURRENT_BUFFER_LVALUE = \
350 surf_parse__create_buffer(surf_parse_in,YY_BUF_SIZE ); \
352 YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
355 #define yy_set_bol(at_bol) \
357 if ( ! YY_CURRENT_BUFFER ){\
358 surf_parse_ensure_buffer_stack (); \
359 YY_CURRENT_BUFFER_LVALUE = \
360 surf_parse__create_buffer(surf_parse_in,YY_BUF_SIZE ); \
362 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
365 #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
367 /* Begin user sect3 */
369 #define surf_parse_wrap(n) 1
370 #define YY_SKIP_YYWRAP
372 typedef unsigned char YY_CHAR;
374 FILE *surf_parse_in = (FILE *) 0, *surf_parse_out = (FILE *) 0;
376 typedef int yy_state_type;
378 extern int surf_parse_lineno;
380 int surf_parse_lineno = 1;
382 extern char *surf_parse_text;
383 #define yytext_ptr surf_parse_text
385 static yy_state_type yy_get_previous_state (void );
386 static yy_state_type yy_try_NUL_trans (yy_state_type current_state );
387 static int yy_get_next_buffer (void );
388 static void yy_fatal_error (yyconst char msg[] );
390 /* Done after the current pattern has been matched and before the
391 * corresponding action - sets up surf_parse_text.
393 #define YY_DO_BEFORE_ACTION \
394 (yytext_ptr) = yy_bp; \
395 surf_parse_leng = (size_t) (yy_cp - yy_bp); \
396 (yy_hold_char) = *yy_cp; \
398 (yy_c_buf_p) = yy_cp;
400 #define YY_NUM_RULES 351
401 #define YY_END_OF_BUFFER 352
402 /* This struct is not used in this scanner,
403 but its presence is necessary. */
406 flex_int32_t yy_verify;
409 static yyconst flex_int16_t yy_accept[2023] =
411 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
412 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
413 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
414 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
415 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
416 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
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,
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, 352, 350, 15, 10, 10, 15, 15, 330,
427 10, 330, 5, 6, 5, 8, 9, 8, 346, 338,
428 339, 347, 344, 347, 345, 349, 338, 339, 349, 350,
429 26, 10, 26, 26, 26, 24, 26, 26, 30, 10,
430 30, 30, 350, 350, 30, 37, 10, 37, 37, 37,
431 35, 37, 41, 10, 41, 52, 10, 52, 52, 52,
433 50, 52, 52, 52, 347, 346, 74, 10, 74, 74,
434 74, 72, 74, 74, 74, 74, 78, 10, 78, 350,
435 78, 97, 10, 97, 97, 97, 95, 97, 97, 97,
436 101, 10, 101, 114, 10, 114, 114, 114, 112, 114,
437 114, 114, 114, 118, 10, 118, 125, 10, 125, 125,
438 125, 123, 125, 350, 350, 129, 10, 129, 156, 10,
439 156, 156, 156, 154, 156, 156, 156, 156, 156, 160,
440 10, 160, 160, 169, 10, 169, 169, 169, 167, 169,
441 169, 173, 10, 173, 196, 10, 196, 196, 196, 194,
442 196, 196, 196, 196, 196, 196, 200, 10, 200, 207,
444 10, 207, 207, 207, 205, 207, 211, 10, 211, 236,
445 10, 236, 236, 236, 234, 236, 236, 236, 236, 240,
446 10, 240, 240, 259, 10, 259, 259, 259, 257, 259,
447 259, 259, 350, 263, 10, 263, 263, 286, 10, 286,
448 286, 286, 284, 286, 286, 286, 286, 290, 10, 290,
449 290, 297, 10, 297, 297, 297, 295, 297, 301, 10,
450 301, 314, 10, 314, 314, 314, 312, 314, 314, 314,
451 314, 318, 10, 318, 350, 318, 325, 10, 325, 325,
452 325, 323, 325, 329, 10, 329, 10, 0, 2, 2,
453 0, 4, 7, 341, 340, 0, 0, 0, 0, 0,
455 0, 0, 25, 27, 27, 27, 0, 0, 0, 0,
456 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
457 0, 0, 0, 0, 0, 0, 0, 0, 0, 36,
458 38, 38, 0, 51, 53, 53, 53, 53, 0, 0,
459 0, 73, 75, 75, 75, 75, 75, 75, 75, 0,
460 0, 96, 98, 98, 98, 98, 0, 113, 115, 115,
461 115, 115, 115, 0, 124, 126, 126, 0, 155, 157,
462 157, 157, 157, 157, 157, 157, 0, 168, 170, 170,
463 170, 0, 195, 197, 197, 197, 197, 197, 197, 197,
464 197, 197, 0, 206, 208, 208, 0, 235, 237, 237,
466 237, 237, 237, 237, 0, 258, 260, 260, 260, 260,
467 260, 0, 0, 285, 287, 287, 287, 287, 287, 0,
468 296, 298, 298, 0, 313, 315, 315, 315, 315, 315,
469 0, 0, 324, 326, 326, 0, 0, 0, 0, 0,
470 3, 0, 0, 0, 0, 0, 0, 0, 348, 0,
471 27, 27, 0, 0, 0, 0, 0, 0, 0, 0,
472 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
473 0, 0, 0, 0, 0, 0, 0, 0, 0, 38,
474 0, 0, 53, 0, 0, 53, 0, 0, 0, 343,
475 75, 0, 0, 75, 75, 75, 75, 0, 0, 0,
477 98, 98, 98, 0, 0, 0, 0, 115, 115, 115,
478 0, 0, 126, 0, 0, 157, 0, 0, 157, 157,
479 157, 157, 0, 0, 0, 0, 170, 0, 0, 197,
480 0, 0, 0, 0, 197, 197, 197, 197, 197, 0,
481 0, 0, 0, 0, 0, 237, 0, 0, 237, 237,
482 237, 0, 0, 260, 260, 260, 260, 0, 0, 0,
483 287, 287, 287, 287, 0, 0, 0, 0, 0, 0,
484 315, 315, 315, 315, 0, 0, 0, 326, 0, 0,
485 0, 14, 1, 0, 0, 336, 0, 0, 0, 333,
486 332, 0, 0, 27, 27, 0, 0, 29, 0, 0,
488 0, 0, 0, 0, 0, 0, 0, 0, 0, 103,
489 0, 0, 0, 0, 0, 0, 0, 102, 0, 0,
490 0, 0, 0, 0, 38, 0, 0, 40, 0, 53,
491 0, 45, 44, 53, 0, 0, 0, 55, 0, 75,
492 0, 59, 58, 0, 0, 75, 0, 0, 75, 0,
493 0, 77, 0, 0, 98, 98, 98, 0, 0, 100,
494 0, 0, 105, 104, 115, 115, 115, 0, 0, 117,
495 0, 126, 0, 0, 128, 0, 157, 0, 133, 132,
496 157, 157, 157, 157, 0, 0, 159, 0, 0, 164,
497 163, 170, 0, 0, 172, 0, 197, 197, 0, 187,
499 186, 0, 177, 176, 0, 0, 197, 197, 197, 197,
500 0, 0, 199, 0, 0, 204, 203, 0, 0, 210,
501 0, 237, 0, 215, 214, 237, 237, 237, 0, 0,
502 239, 0, 260, 0, 0, 0, 0, 260, 0, 0,
503 0, 262, 0, 287, 0, 0, 287, 0, 0, 0,
504 0, 289, 0, 0, 294, 293, 0, 0, 300, 0,
505 315, 315, 315, 315, 0, 0, 317, 0, 0, 326,
506 0, 0, 328, 0, 0, 0, 337, 331, 0, 0,
507 0, 27, 27, 0, 0, 0, 0, 131, 0, 213,
508 0, 0, 161, 0, 0, 103, 0, 0, 0, 130,
510 212, 0, 0, 102, 0, 0, 0, 0, 0, 0,
511 0, 0, 0, 0, 0, 53, 0, 0, 75, 0,
512 63, 62, 0, 0, 0, 61, 60, 75, 0, 162,
513 98, 0, 0, 98, 0, 115, 115, 115, 0, 126,
514 0, 157, 157, 157, 157, 157, 0, 170, 0, 197,
515 197, 0, 189, 188, 197, 197, 197, 197, 0, 0,
516 237, 237, 237, 237, 0, 260, 0, 246, 245, 0,
517 244, 243, 260, 212, 0, 287, 0, 269, 268, 287,
518 0, 267, 266, 0, 0, 315, 0, 0, 315, 315,
519 0, 0, 326, 0, 0, 0, 0, 12, 0, 334,
521 335, 0, 27, 27, 0, 0, 0, 0, 131, 0,
522 213, 0, 0, 0, 161, 0, 265, 43, 0, 0,
523 130, 212, 0, 265, 42, 0, 264, 0, 264, 42,
524 0, 34, 33, 0, 0, 47, 46, 53, 0, 0,
525 75, 0, 65, 64, 75, 0, 162, 98, 0, 0,
526 0, 0, 0, 0, 115, 115, 115, 0, 116, 126,
527 0, 157, 157, 157, 0, 0, 0, 0, 157, 0,
528 0, 0, 0, 0, 0, 197, 0, 0, 197, 197,
529 197, 0, 0, 237, 237, 237, 0, 0, 237, 0,
530 260, 260, 0, 0, 287, 287, 0, 0, 315, 0,
532 305, 304, 315, 315, 0, 0, 0, 0, 0, 0,
533 0, 0, 11, 0, 27, 27, 27, 0, 0, 0,
534 0, 0, 0, 0, 0, 57, 265, 0, 202, 43,
535 0, 0, 0, 56, 201, 42, 0, 264, 0, 0,
536 0, 0, 53, 0, 0, 75, 75, 0, 98, 0,
537 0, 0, 0, 0, 0, 0, 0, 0, 92, 91,
538 0, 0, 0, 115, 0, 0, 0, 0, 0, 157,
539 157, 157, 0, 135, 134, 0, 0, 0, 157, 0,
540 158, 0, 166, 165, 0, 171, 0, 191, 190, 0,
541 0, 0, 185, 184, 0, 0, 197, 0, 0, 0,
543 0, 237, 237, 237, 0, 0, 0, 237, 0, 238,
544 0, 0, 260, 0, 0, 0, 0, 287, 0, 0,
545 315, 315, 315, 0, 0, 0, 322, 321, 0, 0,
546 0, 0, 0, 0, 0, 27, 27, 0, 0, 175,
547 120, 32, 0, 0, 303, 57, 0, 202, 0, 174,
548 119, 56, 201, 302, 0, 31, 0, 0, 53, 0,
549 0, 54, 75, 75, 0, 0, 0, 0, 0, 0,
550 0, 0, 0, 0, 0, 0, 0, 0, 0, 107,
551 106, 0, 0, 0, 109, 108, 0, 122, 121, 0,
552 157, 157, 157, 0, 0, 157, 0, 193, 192, 0,
554 179, 178, 0, 0, 0, 181, 180, 0, 0, 237,
555 0, 0, 237, 237, 0, 0, 237, 0, 0, 0,
556 260, 0, 0, 0, 0, 0, 287, 0, 288, 0,
557 315, 315, 315, 0, 0, 0, 0, 0, 0, 17,
558 0, 19, 18, 27, 27, 0, 319, 175, 120, 32,
559 291, 16, 303, 0, 0, 174, 119, 302, 0, 31,
560 0, 0, 53, 342, 75, 75, 0, 76, 0, 94,
561 93, 0, 0, 0, 0, 0, 0, 0, 0, 0,
562 0, 0, 0, 111, 110, 0, 157, 157, 157, 0,
563 0, 0, 0, 157, 0, 183, 182, 0, 0, 209,
565 237, 0, 221, 220, 237, 237, 0, 0, 0, 0,
566 237, 0, 0, 0, 0, 260, 292, 0, 0, 0,
567 0, 0, 287, 0, 0, 0, 315, 315, 0, 320,
568 0, 0, 0, 0, 17, 27, 27, 0, 319, 291,
569 16, 0, 0, 0, 0, 0, 39, 53, 0, 0,
570 75, 0, 0, 0, 0, 0, 0, 0, 0, 0,
571 0, 0, 0, 127, 157, 157, 157, 0, 141, 0,
572 140, 157, 0, 198, 0, 0, 237, 237, 237, 0,
573 225, 0, 224, 237, 0, 0, 0, 0, 0, 0,
574 0, 0, 292, 0, 0, 0, 0, 0, 0, 0,
576 287, 0, 0, 307, 306, 0, 0, 315, 0, 316,
577 320, 0, 0, 0, 0, 0, 0, 27, 0, 28,
578 0, 0, 0, 0, 53, 0, 0, 0, 75, 0,
579 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
580 157, 157, 157, 143, 142, 0, 0, 0, 217, 216,
581 237, 237, 237, 227, 226, 0, 0, 0, 0, 0,
582 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
583 0, 0, 0, 287, 287, 0, 299, 0, 311, 310,
584 0, 0, 0, 327, 0, 0, 0, 0, 21, 20,
585 0, 0, 242, 0, 241, 0, 0, 0, 0, 0,
587 0, 0, 75, 0, 0, 0, 0, 84, 0, 0,
588 0, 0, 83, 0, 157, 157, 157, 0, 145, 144,
589 237, 237, 237, 0, 229, 228, 0, 0, 0, 0,
590 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
591 0, 0, 0, 287, 287, 0, 309, 308, 0, 0,
592 0, 0, 23, 22, 242, 0, 241, 0, 0, 49,
593 48, 0, 0, 0, 0, 75, 0, 0, 0, 0,
594 0, 0, 0, 0, 0, 0, 0, 157, 157, 157,
595 237, 0, 0, 237, 0, 0, 0, 0, 0, 0,
596 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
598 0, 287, 287, 0, 0, 0, 0, 80, 79, 0,
599 0, 0, 0, 0, 0, 0, 0, 90, 0, 0,
600 0, 89, 0, 0, 0, 137, 136, 157, 157, 157,
601 157, 237, 0, 223, 222, 237, 0, 0, 0, 0,
602 0, 0, 256, 0, 255, 0, 0, 261, 0, 0,
603 0, 0, 0, 0, 0, 0, 287, 0, 0, 287,
604 0, 0, 0, 0, 0, 0, 80, 79, 0, 0,
605 0, 0, 0, 67, 66, 0, 0, 0, 0, 0,
606 0, 0, 157, 157, 157, 157, 0, 0, 0, 0,
607 0, 0, 0, 0, 0, 0, 254, 253, 0, 0,
609 0, 0, 0, 0, 0, 273, 272, 287, 0, 271,
610 270, 287, 0, 0, 0, 0, 0, 0, 0, 71,
611 0, 70, 88, 0, 0, 87, 0, 0, 0, 99,
612 157, 157, 157, 157, 0, 219, 218, 0, 0, 0,
613 0, 0, 250, 0, 0, 249, 0, 0, 281, 0,
614 0, 280, 287, 287, 0, 0, 0, 12, 0, 12,
615 0, 0, 0, 82, 86, 81, 85, 157, 157, 157,
616 157, 0, 0, 0, 0, 252, 248, 251, 247, 283,
617 279, 282, 278, 287, 287, 0, 0, 0, 0, 0,
618 0, 0, 0, 0, 0, 0, 0, 0, 157, 0,
620 0, 0, 0, 0, 0, 287, 287, 0, 0, 69,
621 68, 0, 139, 138, 0, 149, 148, 0, 147, 146,
622 157, 0, 153, 152, 0, 0, 0, 0, 287, 287,
623 0, 11, 157, 0, 0, 0, 0, 287, 287, 0,
624 157, 0, 0, 0, 0, 287, 287, 0, 157, 0,
625 0, 0, 0, 287, 287, 0, 0, 0, 0, 231,
626 0, 230, 287, 287, 0, 0, 151, 150, 233, 232,
627 287, 287, 0, 287, 287, 0, 287, 287, 0, 0,
628 287, 287, 0, 0, 287, 287, 0, 0, 287, 287,
629 0, 0, 0, 0, 0, 0, 0, 0, 0, 277,
631 276, 0, 275, 274, 0, 0, 0, 0, 0, 0,
632 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
636 static yyconst flex_int32_t yy_ec[256] =
638 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
639 1, 2, 4, 1, 1, 1, 1, 1, 1, 1,
640 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
641 1, 2, 5, 6, 7, 1, 1, 8, 9, 1,
642 1, 1, 1, 1, 10, 11, 12, 13, 13, 13,
643 13, 14, 13, 13, 13, 15, 13, 16, 17, 18,
644 19, 20, 21, 1, 22, 23, 24, 25, 26, 27,
645 28, 29, 30, 28, 31, 32, 33, 34, 35, 36,
646 28, 37, 38, 39, 28, 40, 41, 28, 42, 28,
647 43, 1, 44, 1, 45, 1, 46, 47, 48, 49,
649 50, 51, 52, 53, 54, 28, 55, 56, 57, 58,
650 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
651 69, 28, 1, 1, 1, 1, 1, 1, 1, 1,
652 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
653 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
654 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
655 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
656 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
657 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
658 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,
668 static yyconst flex_int32_t yy_meta[70] =
670 1, 2, 2, 2, 1, 1, 1, 1, 1, 3,
671 3, 1, 4, 4, 4, 5, 6, 1, 7, 8,
672 1, 9, 9, 9, 9, 9, 9, 5, 5, 5,
673 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
674 5, 5, 1, 1, 5, 9, 9, 9, 9, 9,
675 9, 5, 5, 5, 5, 5, 5, 5, 5, 5,
676 5, 5, 5, 5, 5, 5, 5, 5, 5
679 static yyconst flex_int16_t yy_base[2256] =
681 0, 0, 0, 3, 6, 9, 12, 29, 16, 19,
682 14, 17, 33, 36, 49, 55, 45, 61, 66, 72,
683 105, 173, 75, 78, 83, 125, 128, 132, 135, 138,
684 193, 196, 200, 203, 206, 224, 242, 293, 262, 265,
685 344, 404, 271, 273, 464, 527, 269, 316, 320, 323,
686 364, 367, 371, 374, 590, 654, 424, 427, 718, 781,
687 431, 434, 844, 907, 484, 487, 491, 494, 497, 547,
688 970, 1033, 550, 554, 557, 560, 610, 613, 617, 620,
689 1096, 1162, 623, 674, 1228, 0, 677, 681, 1297, 1351,
690 684, 687, 1405, 1468, 738, 741, 745, 748, 751, 801,
692 804, 808, 1531, 1594, 811, 814, 864, 867, 871, 874,
693 877, 927, 1657, 1720, 930, 934, 937, 940, 990, 993,
694 997, 1000, 1783, 1837, 1003, 1053, 1891, 1954, 1056, 1060,
695 1063, 1066, 1116, 1119, 1123, 1126, 2017, 2083, 1129, 1182,
696 0, 0, 5066, 7094, 7094, 95, 100, 29, 41, 7094,
697 155, 51, 7094, 7094, 5055, 7094, 7094, 5043, 7094, 5058,
698 5042, 1141, 7094, 7094, 7094, 7094, 5036, 5032, 4990, 210,
699 7094, 158, 5012, 0, 142, 7094, 4977, 4969, 7094, 162,
700 2145, 2205, 160, 5007, 176, 7094, 165, 4998, 0, 149,
701 7094, 4961, 7094, 230, 378, 7094, 326, 4994, 0, 208,
703 7094, 4958, 4949, 4947, 379, 4950, 7094, 329, 4972, 0,
704 214, 7094, 4938, 4937, 238, 4915, 7094, 377, 11, 31,
705 4965, 7094, 399, 4948, 0, 435, 7094, 4907, 4905, 4888,
706 7094, 457, 441, 7094, 520, 4922, 0, 436, 7094, 4892,
707 4870, 4871, 4851, 7094, 583, 498, 7094, 640, 4894, 0,
708 499, 7094, 4862, 513, 4840, 7094, 644, 4879, 7094, 647,
709 4870, 0, 562, 7094, 4802, 34, 4821, 4797, 4788, 7094,
710 704, 177, 4838, 7094, 708, 4827, 0, 568, 7094, 4793,
711 4783, 7094, 711, 752, 7094, 772, 4808, 0, 631, 7094,
712 211, 4777, 4775, 93, 4773, 4753, 7094, 834, 818, 7094,
714 894, 4796, 0, 632, 7094, 4753, 7094, 897, 881, 7094,
715 901, 4781, 0, 695, 7094, 4739, 4735, 4736, 80, 7094,
716 957, 360, 4765, 7094, 960, 4755, 0, 696, 7094, 4726,
717 4709, 26, 304, 7094, 963, 330, 4746, 7094, 1149, 4726,
718 0, 885, 7094, 4694, 4675, 4679, 4673, 7094, 1152, 499,
719 4721, 7094, 1155, 4705, 0, 948, 7094, 4672, 7094, 1186,
720 1005, 7094, 1192, 4696, 0, 1004, 7094, 4650, 4654, 4655,
721 4643, 7094, 1205, 1100, 4694, 4691, 7094, 1208, 4678, 0,
722 1007, 7094, 4650, 7094, 1211, 1068, 1215, 429, 4627, 7094,
723 4683, 4665, 7094, 7094, 7094, 1306, 283, 4614, 4612, 4607,
725 4647, 4609, 7094, 0, 4598, 4601, 4586, 4583, 4584, 4580,
726 4574, 4570, 4573, 4, 166, 4567, 4554, 4558, 4546, 4545,
727 4541, 404, 4544, 4530, 38, 467, 4530, 712, 4523, 7094,
728 0, 4526, 4527, 7094, 0, 4523, 1320, 4516, 533, 4512,
729 4555, 7094, 0, 4514, 1323, 4486, 4507, 4493, 4497, 4477,
730 89, 7094, 0, 4488, 4462, 4473, 4453, 7094, 0, 1326,
731 4459, 4459, 4455, 4435, 7094, 0, 4429, 4441, 7094, 0,
732 4444, 1329, 4422, 4400, 4400, 4419, 4407, 7094, 0, 1373,
733 4398, 4393, 7094, 0, 4406, 1377, 1380, 4375, 4371, 4386,
734 4372, 4366, 4367, 7094, 0, 1383, 4348, 7094, 0, 4351,
736 1425, 4340, 4357, 4355, 4340, 7094, 0, 4327, 4326, 4340,
737 4326, 4323, 4308, 7094, 0, 4305, 4289, 4291, 4298, 4283,
738 7094, 0, 1428, 4287, 7094, 0, 4277, 4271, 4272, 4280,
739 4264, 4261, 7094, 0, 4265, 4267, 4286, 4295, 807, 4246,
740 7094, 1207, 0, 4229, 4229, 4269, 4268, 4224, 7094, 4231,
741 4213, 4213, 1431, 1434, 4218, 4203, 4205, 4201, 4215, 4194,
742 4202, 4187, 4187, 4178, 4170, 4186, 4165, 4167, 4164, 4155,
743 4154, 4145, 4145, 4157, 4143, 4135, 4141, 4122, 4139, 4128,
744 1437, 1489, 4127, 1494, 1497, 4108, 4137, 1551, 1556, 7094,
745 4106, 1559, 1514, 1562, 4097, 1565, 4108, 1619, 1627, 4090,
747 4091, 4097, 4083, 1622, 1630, 1677, 1583, 4079, 4065, 4067,
748 1682, 1695, 4068, 1685, 1740, 4058, 1691, 1642, 4059, 4062,
749 4056, 4037, 1745, 1748, 1751, 1710, 4035, 1755, 1808, 583,
750 1811, 1814, 1857, 1860, 1869, 4032, 4030, 4025, 4021, 1911,
751 1920, 1914, 1880, 1917, 1923, 4022, 1926, 1975, 4014, 3994,
752 3987, 1983, 1986, 3996, 1989, 1992, 3981, 3977, 2039, 2046,
753 3979, 1997, 3983, 2043, 2049, 2052, 2061, 2072, 2104, 2110,
754 3976, 3952, 3959, 3943, 2113, 2116, 3952, 3927, 2119, 2138,
755 3970, 7094, 7094, 315, 3922, 7094, 3934, 3933, 3878, 7094,
756 7094, 3872, 3870, 3879, 3868, 2141, 2149, 7094, 2168, 3865,
758 3859, 3871, 3849, 3854, 3849, 3830, 261, 3839, 3819, 1223,
759 3834, 3802, 3814, 3798, 3796, 3801, 3784, 1332, 3795, 384,
760 3777, 3784, 3774, 3788, 2144, 2172, 2177, 7094, 2182, 2209,
761 2216, 7094, 7094, 2229, 3810, 2232, 2235, 7094, 2240, 3756,
762 2268, 7094, 7094, 2243, 2276, 2287, 2290, 2293, 3767, 2301,
763 2308, 7094, 2311, 432, 3761, 2314, 3760, 2320, 2323, 7094,
764 2332, 2335, 7094, 7094, 3754, 3751, 3743, 2343, 2346, 7094,
765 2351, 3739, 2354, 2357, 7094, 2377, 3735, 2380, 7094, 7094,
766 3728, 3721, 3717, 3727, 2388, 2391, 7094, 2396, 2400, 7094,
767 7094, 3722, 2410, 2415, 7094, 2418, 3702, 3717, 2422, 7094,
769 7094, 2438, 7094, 7094, 2430, 2448, 3700, 3698, 3703, 3695,
770 2458, 2461, 7094, 2464, 2467, 7094, 7094, 2483, 2486, 7094,
771 2489, 3673, 2492, 7094, 7094, 3679, 3672, 3662, 2508, 2511,
772 7094, 2514, 3611, 2517, 2521, 2536, 2539, 3618, 3612, 2547,
773 2554, 7094, 2557, 3602, 2560, 2567, 3607, 2578, 2581, 2589,
774 2592, 7094, 2596, 2599, 7094, 7094, 2611, 2615, 7094, 2621,
775 3590, 2624, 3607, 3576, 2630, 2634, 7094, 2642, 3573, 3586,
776 2645, 2649, 7094, 2653, 726, 2656, 7094, 7094, 3618, 3616,
777 3569, 3560, 3587, 2664, 3545, 3528, 3544, 1386, 3520, 2152,
778 3533, 3532, 1460, 3512, 3519, 1463, 3518, 3502, 3518, 1523,
780 2678, 3504, 3511, 1526, 3497, 3496, 3494, 3478, 3491, 3490,
781 2668, 2686, 2694, 2700, 2704, 3489, 3504, 2713, 3479, 2718,
782 7094, 7094, 2727, 2732, 2745, 7094, 7094, 3473, 2740, 1650,
783 3457, 2753, 2760, 2771, 2774, 3446, 3466, 3439, 2777, 3457,
784 2780, 3458, 3452, 3436, 2783, 2789, 2801, 2807, 2811, 2814,
785 2821, 2833, 7094, 7094, 2825, 2843, 2847, 2850, 2853, 2856,
786 3442, 3447, 3431, 2876, 2879, 3430, 2885, 7094, 7094, 2894,
787 7094, 7094, 3418, 2903, 2906, 3419, 2921, 7094, 7094, 3412,
788 2929, 7094, 7094, 2937, 2940, 3420, 2910, 2943, 3401, 3418,
789 2951, 3402, 2959, 2962, 181, 3437, 2965, 7094, 3436, 7094,
791 7094, 3395, 3388, 518, 2970, 3395, 3393, 3394, 1705, 3391,
792 1769, 3387, 3375, 3365, 1774, 3370, 2973, 2977, 3375, 3365,
793 1777, 1829, 3354, 2984, 2994, 3347, 3000, 3358, 3003, 3009,
794 3020, 7094, 7094, 3030, 3034, 7094, 7094, 3351, 3362, 3049,
795 3328, 3052, 7094, 7094, 3325, 3064, 1832, 3325, 3068, 1059,
796 1113, 3045, 3076, 3084, 3087, 3090, 3094, 3098, 7094, 3108,
797 3112, 3337, 3333, 3317, 3117, 3122, 3135, 3138, 3328, 3146,
798 3149, 3153, 3161, 3167, 3170, 3180, 3185, 3188, 3198, 3203,
799 3206, 3209, 3212, 3328, 3307, 3321, 3216, 3224, 3321, 3234,
800 3237, 3241, 3322, 3244, 3247, 3265, 3268, 3273, 3310, 3276,
802 7094, 7094, 3313, 3302, 3288, 3306, 3293, 3296, 3311, 1422,
803 612, 568, 7094, 3279, 3317, 3320, 3323, 3326, 3282, 3275,
804 3282, 3267, 3252, 3249, 3246, 1875, 1945, 3250, 1948, 2010,
805 3258, 3242, 3248, 3330, 3341, 3345, 3224, 3348, 3229, 3233,
806 3233, 3351, 3226, 3243, 3355, 3204, 3207, 3358, 3361, 3236,
807 3222, 260, 3220, 3231, 3217, 421, 3207, 3384, 7094, 7094,
808 3392, 3395, 3400, 3414, 3417, 3420, 3428, 3435, 3446, 3180,
809 3169, 3172, 3449, 7094, 7094, 3458, 3188, 3186, 3149, 3466,
810 7094, 3469, 7094, 7094, 3477, 7094, 3481, 7094, 7094, 3489,
811 3496, 3507, 7094, 7094, 3515, 3518, 3526, 3529, 3533, 3547,
813 3550, 3134, 3553, 3151, 3556, 3160, 3158, 3131, 3571, 7094,
814 3574, 3577, 3585, 3116, 3597, 3592, 3612, 3603, 3606, 3621,
815 3120, 3120, 3121, 3625, 3109, 3628, 7094, 7094, 3640, 808,
816 1330, 747, 3104, 3644, 3647, 3655, 3662, 3669, 3096, 3673,
817 3676, 3680, 3087, 3086, 3683, 3689, 3070, 3692, 3074, 3695,
818 3698, 3701, 3704, 3707, 3065, 3712, 3070, 3715, 3068, 3074,
819 3718, 7094, 3046, 3061, 3721, 3726, 3730, 3071, 3065, 3044,
820 3047, 3035, 3041, 3035, 3024, 3026, 3018, 3740, 3744, 7094,
821 7094, 3752, 3755, 3764, 7094, 7094, 3772, 7094, 7094, 3780,
822 3001, 2995, 2985, 669, 743, 2986, 3783, 7094, 7094, 3792,
824 7094, 7094, 3800, 3803, 3811, 7094, 7094, 3819, 3822, 2988,
825 3825, 3828, 2988, 2970, 806, 857, 2972, 3843, 358, 361,
826 3851, 2962, 3854, 3857, 658, 785, 3865, 3869, 7094, 3873,
827 3876, 2968, 2960, 3883, 2950, 3894, 3888, 927, 1009, 3898,
828 3903, 7094, 7094, 3913, 3916, 3922, 3925, 3936, 3941, 3945,
829 3951, 3954, 3957, 2953, 2950, 3960, 3963, 3967, 2938, 3970,
830 2934, 3973, 2927, 7094, 3979, 2920, 3982, 7094, 3985, 7094,
831 7094, 2958, 2920, 2932, 2925, 2925, 2925, 2909, 2911, 2905,
832 2902, 3993, 3997, 7094, 7094, 4005, 2868, 2859, 2848, 2865,
833 2878, 2850, 2865, 2818, 4008, 7094, 7094, 4016, 4019, 7094,
835 4024, 4028, 7094, 7094, 2810, 2784, 2761, 2746, 2713, 2723,
836 2624, 81, 919, 466, 985, 4038, 4042, 4045, 474, 1048,
837 477, 1057, 4051, 4056, 4059, 4071, 4064, 527, 4082, 4085,
838 4088, 4091, 748, 840, 4095, 4101, 4113, 4119, 4122, 4125,
839 4131, 518, 548, 565, 624, 4134, 7094, 665, 4138, 4141,
840 706, 738, 786, 838, 838, 886, 894, 901, 915, 912,
841 931, 4156, 4162, 7094, 934, 971, 965, 1025, 7094, 1023,
842 7094, 4165, 4168, 7094, 4171, 4177, 998, 1005, 1019, 1080,
843 7094, 1115, 7094, 4189, 1109, 1100, 1117, 1135, 1140, 1165,
844 4192, 4195, 4203, 4213, 1166, 1160, 1173, 1175, 1165, 1178,
846 4216, 4219, 4222, 7094, 7094, 4234, 4238, 4247, 4252, 7094,
847 4255, 4258, 1293, 1347, 1384, 4271, 4278, 4289, 4292, 7094,
848 1169, 1287, 1284, 1293, 4295, 4298, 1366, 1470, 1285, 1316,
849 1325, 1349, 1371, 1391, 1368, 1378, 1397, 1423, 1437, 4307,
850 1381, 1403, 1403, 7094, 7094, 4313, 4316, 4327, 7094, 7094,
851 1402, 1410, 1430, 7094, 7094, 4335, 4338, 1457, 1463, 1468,
852 1468, 1469, 1474, 4346, 1548, 1549, 4354, 1477, 1480, 1485,
853 1519, 1518, 1534, 4357, 4360, 4364, 7094, 4369, 7094, 7094,
854 4378, 4383, 4391, 7094, 1573, 1552, 1559, 4396, 7094, 7094,
855 4404, 4410, 4422, 1525, 4425, 1540, 4428, 4431, 1579, 1598,
857 1590, 1606, 1577, 1611, 1601, 1607, 1615, 7094, 1631, 1642,
858 1641, 1650, 7094, 4439, 4442, 1646, 1659, 4446, 7094, 7094,
859 1661, 4454, 1670, 4460, 7094, 7094, 1699, 1710, 1730, 1724,
860 1726, 1741, 1747, 1779, 1771, 1782, 4468, 1772, 1783, 1795,
861 1785, 1788, 1799, 4472, 4475, 4493, 7094, 7094, 1916, 1833,
862 4481, 4501, 7094, 7094, 4478, 1765, 4509, 1801, 4512, 7094,
863 7094, 1845, 1834, 1852, 1841, 4522, 1848, 1868, 1901, 1910,
864 1899, 1917, 1932, 1931, 4525, 4528, 4531, 1919, 1995, 1921,
865 1952, 4540, 4546, 1935, 1980, 1989, 1999, 2009, 2018, 2033,
866 2062, 2032, 2062, 2035, 4554, 2047, 2053, 2048, 2069, 2083,
868 2076, 4558, 4561, 2108, 4564, 4567, 4587, 4595, 4598, 2091,
869 2104, 2097, 2107, 4606, 4609, 2105, 2105, 7094, 2107, 2109,
870 2130, 7094, 2132, 4617, 4620, 7094, 7094, 2111, 2117, 2123,
871 2131, 4628, 4632, 7094, 7094, 4640, 2157, 2149, 2162, 2164,
872 2156, 2169, 7094, 2189, 7094, 2194, 4646, 7094, 2179, 2172,
873 2190, 2191, 2187, 2198, 4649, 4652, 4660, 4667, 4671, 4680,
874 2204, 4685, 4688, 4708, 4747, 4791, 4698, 4716, 2202, 2223,
875 2215, 2232, 4720, 7094, 7094, 2243, 2218, 2222, 2248, 2232,
876 2234, 4737, 2217, 2227, 2218, 2217, 4741, 4728, 4759, 4767,
877 2257, 2259, 2281, 2272, 2275, 2292, 7094, 7094, 2281, 2283,
879 2313, 2294, 2304, 2321, 4777, 7094, 7094, 4785, 4811, 7094,
880 7094, 4803, 2345, 4821, 2356, 2355, 4857, 4901, 2318, 7094,
881 2328, 7094, 7094, 2345, 2361, 7094, 2359, 2361, 4829, 7094,
882 2322, 2307, 2336, 2337, 4834, 7094, 7094, 4842, 2410, 2418,
883 2382, 2390, 7094, 2392, 2396, 7094, 2404, 2417, 7094, 2418,
884 2420, 7094, 4851, 4869, 2423, 2452, 2454, 2430, 2488, 2437,
885 4877, 2438, 2440, 7094, 7094, 7094, 7094, 4880, 4892, 4921,
886 4924, 2457, 2453, 2461, 2470, 7094, 7094, 7094, 7094, 7094,
887 7094, 7094, 7094, 4927, 4932, 4935, 2494, 2481, 2495, 4945,
888 2499, 2498, 4950, 4883, 4954, 4958, 4968, 4972, 2460, 4980,
890 4987, 2487, 2510, 2494, 2513, 4998, 5001, 5004, 2517, 7094,
891 7094, 5007, 7094, 7094, 5019, 7094, 7094, 5027, 7094, 7094,
892 2494, 5035, 7094, 7094, 2510, 2510, 2516, 2516, 5045, 5048,
893 2546, 7094, 2517, 2538, 2549, 2548, 2560, 5051, 5054, 2569,
894 2538, 2570, 2585, 2575, 2595, 5057, 5075, 2601, 5078, 2603,
895 2624, 2613, 2633, 5081, 5084, 2665, 5087, 5110, 2657, 7094,
896 2655, 7094, 5118, 5121, 2666, 5139, 7094, 7094, 7094, 7094,
897 5147, 5150, 5153, 5156, 5159, 5168, 5182, 5187, 2655, 2663,
898 5194, 5201, 2658, 2691, 5205, 5208, 2680, 2738, 5212, 5226,
899 2673, 2719, 5231, 5237, 5253, 5256, 2703, 2739, 5264, 7094,
901 7094, 5273, 7094, 7094, 2778, 2787, 2747, 2750, 2850, 2852,
902 2799, 2818, 2689, 2748, 2855, 2866, 2800, 2881, 5281, 5284,
903 7094, 7094, 5304, 5313, 5322, 5331, 5340, 5349, 5358, 5367,
904 5376, 5385, 5394, 5403, 5412, 5421, 5430, 5439, 5448, 5457,
905 5466, 5475, 5484, 5493, 5502, 5511, 5520, 5529, 5538, 5547,
906 5556, 5565, 5574, 5583, 5592, 5601, 5610, 5619, 5628, 5637,
907 5646, 5653, 5660, 5667, 5674, 5681, 5688, 5695, 5702, 5709,
908 5716, 5723, 5730, 5737, 5744, 5751, 5758, 5765, 5774, 5779,
909 5784, 5789, 5794, 5799, 5804, 5809, 5814, 5819, 5826, 5831,
910 5838, 5843, 5850, 5855, 5862, 5867, 5874, 5879, 5886, 5891,
912 5898, 5903, 5910, 5915, 5924, 5930, 5937, 5945, 5952, 5960,
913 5967, 5975, 5982, 5990, 5997, 6005, 6012, 6020, 6027, 6035,
914 6042, 6050, 6057, 6065, 6072, 6080, 6088, 6095, 6103, 6110,
915 6118, 6125, 6133, 6141, 6148, 6156, 6163, 6171, 6180, 6186,
916 6193, 6201, 6209, 6217, 6225, 6233, 6240, 6248, 6255, 6263,
917 6270, 6278, 6285, 6293, 6300, 6308, 6315, 6323, 6330, 6338,
918 6346, 6353, 6361, 6368, 6376, 6383, 6391, 6399, 6406, 6414,
919 6421, 6429, 6438, 6447, 6454, 6462, 6470, 6477, 6485, 6492,
920 6500, 6507, 6515, 6522, 6530, 6537, 6545, 6552, 6560, 6568,
921 6576, 6584, 6592, 6600, 6607, 6615, 6622, 6630, 6637, 6645,
923 6653, 6660, 6668, 6676, 6684, 6693, 6702, 6709, 6717, 6725,
924 6732, 6740, 6747, 6755, 6762, 6770, 6778, 6786, 6794, 6801,
925 6809, 6817, 6825, 6833, 6841, 6848, 6856, 6864, 6872, 6880,
926 6888, 6896, 6903, 6911, 6919, 6928, 6937, 6945, 6953, 6961,
927 6968, 6976, 6983, 6991, 6999, 7007, 7015, 7023, 7030, 7039,
928 7048, 7057, 7066, 7075, 7084
931 static yyconst flex_int16_t yy_def[2256] =
933 2023, 2023, 2024, 2024, 2024, 2024, 2025, 2025, 2026, 2026,
934 2027, 2027, 2028, 2028, 2028, 2028, 2029, 2029, 2023, 2023,
935 2030, 2030, 2031, 2031, 2031, 2031, 2023, 2023, 2031, 2031,
936 2023, 2023, 2031, 2031, 2031, 2031, 2032, 2032, 2033, 2033,
937 2034, 2034, 2028, 2028, 2035, 2035, 2036, 2036, 2023, 2023,
938 2036, 2036, 2036, 2036, 2037, 2037, 2038, 2038, 2039, 2039,
939 2040, 2040, 2041, 2041, 2023, 2023, 2023, 2023, 2042, 2042,
940 2043, 2043, 2044, 2044, 2023, 2023, 2044, 2044, 2044, 2044,
941 2045, 2045, 2046, 2046, 2022, 85, 2047, 2047, 2048, 2048,
942 2049, 2049, 2050, 2050, 2051, 2051, 2023, 2023, 2051, 2051,
944 2051, 2051, 2052, 2052, 2023, 2023, 2023, 2023, 2053, 2053,
945 2053, 2053, 2054, 2054, 2055, 2055, 2023, 2023, 2055, 2055,
946 2055, 2055, 2056, 2056, 2057, 2057, 2058, 2058, 2059, 2059,
947 2023, 2023, 2059, 2059, 2059, 2059, 2060, 2060, 2061, 2061,
948 2023, 2023, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
949 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
950 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
951 2022, 2022, 2022, 2062, 2022, 2022, 2062, 2062, 2022, 2022,
952 2022, 2022, 181, 182, 182, 2022, 2022, 2022, 2063, 2022,
953 2022, 2063, 2022, 2022, 2022, 2022, 2022, 2022, 2064, 2022,
955 2022, 2064, 2064, 2064, 2022, 2022, 2022, 2022, 2022, 2065,
956 2022, 2022, 2065, 2065, 2065, 2065, 2022, 2022, 185, 185,
957 185, 2022, 2022, 2022, 2066, 2022, 2022, 2066, 2066, 2066,
958 2022, 2022, 2022, 2022, 2022, 2022, 2067, 2022, 2022, 2067,
959 2067, 2067, 2067, 2022, 2022, 2022, 2022, 2022, 2022, 2068,
960 2022, 2022, 2068, 185, 254, 2022, 2022, 185, 2022, 2022,
961 2022, 2069, 2022, 2022, 2069, 2069, 2069, 2069, 2069, 2022,
962 2022, 185, 185, 2022, 2022, 2022, 2070, 2022, 2022, 2070,
963 2070, 2022, 2022, 2022, 2022, 2022, 2022, 2071, 2022, 2022,
964 2071, 2071, 2071, 2071, 2071, 2071, 2022, 2022, 2022, 2022,
966 2022, 2022, 2072, 2022, 2022, 2072, 2022, 2022, 2022, 2022,
967 2022, 2022, 2073, 2022, 2022, 2073, 2073, 2073, 2073, 2022,
968 2022, 185, 185, 2022, 2022, 2022, 2074, 2022, 2022, 2074,
969 2074, 2074, 185, 2022, 2022, 185, 185, 2022, 2022, 2022,
970 2075, 2022, 2022, 2075, 2075, 2075, 2075, 2022, 2022, 185,
971 185, 2022, 2022, 2022, 2076, 2022, 2022, 2076, 2022, 2022,
972 2022, 2022, 2022, 2022, 2077, 2022, 2022, 2077, 2077, 2077,
973 2077, 2022, 2022, 185, 374, 185, 2022, 2022, 2022, 2078,
974 2022, 2022, 2078, 2022, 2022, 2022, 2022, 2079, 2022, 2022,
975 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
977 2022, 2022, 2022, 2062, 2062, 2062, 2080, 2022, 2022, 2022,
978 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
979 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
980 2063, 2063, 2081, 2022, 2064, 2064, 2064, 2064, 2022, 2082,
981 2022, 2022, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2083,
982 2022, 2022, 2066, 2066, 2066, 2066, 2084, 2022, 2067, 2067,
983 2067, 2067, 2067, 2085, 2022, 2068, 2068, 2086, 2022, 2069,
984 2069, 2069, 2069, 2069, 2069, 2069, 2087, 2022, 2070, 2070,
985 2070, 2088, 2022, 2089, 2089, 2089, 2089, 2089, 2089, 2089,
986 2089, 2089, 2090, 2022, 2091, 2091, 2092, 2022, 2093, 2093,
988 2093, 2093, 2093, 2093, 2094, 2022, 2095, 2095, 2095, 2095,
989 2095, 2022, 2096, 2022, 2097, 2097, 2097, 2097, 2097, 2098,
990 2022, 2099, 2099, 2100, 2022, 2101, 2101, 2101, 2101, 2101,
991 2102, 2022, 2022, 2103, 2103, 2104, 2105, 2022, 2105, 2022,
992 2022, 2022, 2106, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
993 2107, 2107, 2108, 2108, 2022, 2022, 2022, 2022, 2022, 2022,
994 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
995 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2109,
996 2110, 2110, 2111, 2022, 2022, 2111, 2022, 2112, 2112, 2022,
997 2113, 2022, 2022, 2113, 2113, 2113, 2113, 2114, 2114, 2022,
999 2115, 2115, 2115, 2116, 2116, 2022, 2022, 2117, 2117, 2117,
1000 2118, 2118, 2119, 2120, 2120, 2121, 2022, 2022, 2121, 2121,
1001 2121, 2121, 2122, 2122, 2022, 2022, 2123, 2124, 2124, 2125,
1002 2022, 2022, 2022, 2022, 2125, 2125, 2125, 2125, 2125, 2126,
1003 2126, 2022, 2022, 2127, 2127, 2128, 2022, 2022, 2128, 2128,
1004 2128, 2129, 2129, 2130, 2130, 2130, 2130, 2022, 2131, 2131,
1005 2132, 2132, 2132, 2132, 2133, 2133, 2022, 2022, 2134, 2134,
1006 2135, 2135, 2135, 2135, 2136, 2136, 2022, 2137, 2138, 2138,
1007 2139, 2022, 2022, 2139, 2022, 2022, 2140, 2022, 2022, 2022,
1008 2022, 2022, 2022, 2141, 2141, 2022, 2142, 2022, 2142, 2022,
1010 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1011 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1012 2022, 2022, 2022, 2022, 2143, 2022, 2144, 2022, 2144, 2145,
1013 2022, 2022, 2022, 2145, 2022, 2022, 2146, 2022, 2146, 2147,
1014 2022, 2022, 2022, 2022, 2022, 2147, 2022, 2022, 2147, 2022,
1015 2148, 2022, 2148, 2022, 2149, 2149, 2149, 2022, 2150, 2022,
1016 2150, 2022, 2022, 2022, 2151, 2151, 2151, 2022, 2152, 2022,
1017 2152, 2153, 2022, 2154, 2022, 2154, 2155, 2022, 2022, 2022,
1018 2155, 2155, 2155, 2155, 2022, 2156, 2022, 2156, 2022, 2022,
1019 2022, 2157, 2022, 2158, 2022, 2158, 2159, 2159, 2022, 2022,
1021 2022, 2022, 2022, 2022, 2022, 2022, 2159, 2159, 2159, 2159,
1022 2022, 2160, 2022, 2160, 2022, 2022, 2022, 2022, 2161, 2022,
1023 2161, 2162, 2022, 2022, 2022, 2162, 2162, 2162, 2022, 2163,
1024 2022, 2163, 2164, 2022, 2022, 2022, 2022, 2164, 2022, 2022,
1025 2165, 2022, 2165, 2166, 2022, 2022, 2166, 2022, 2022, 2022,
1026 2167, 2022, 2167, 2022, 2022, 2022, 2022, 2168, 2022, 2168,
1027 2169, 2169, 2169, 2169, 2022, 2170, 2022, 2170, 2022, 2171,
1028 2022, 2172, 2022, 2172, 2173, 2174, 2022, 2022, 2022, 2022,
1029 2022, 2175, 2175, 2176, 2022, 2022, 2022, 2022, 2022, 2022,
1030 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1032 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1033 2022, 2022, 2177, 2022, 2022, 2178, 2022, 2179, 2180, 2022,
1034 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2180, 2181, 2022,
1035 2182, 2022, 2022, 2182, 2183, 2184, 2184, 2184, 2185, 2186,
1036 2187, 2188, 2188, 2188, 2188, 2188, 2189, 2190, 2191, 2192,
1037 2192, 2022, 2022, 2022, 2192, 2192, 2192, 2192, 2193, 2194,
1038 2195, 2195, 2195, 2195, 2196, 2197, 2022, 2022, 2022, 2022,
1039 2022, 2022, 2197, 2022, 2198, 2199, 2022, 2022, 2022, 2199,
1040 2022, 2022, 2022, 2200, 2201, 2202, 2022, 2022, 2202, 2202,
1041 2203, 2022, 2204, 2205, 2206, 2207, 2207, 2022, 2207, 2022,
1043 2022, 2022, 2208, 2208, 2209, 2022, 2022, 2022, 2022, 2022,
1044 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1045 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1046 2022, 2022, 2022, 2210, 2022, 2022, 2022, 2211, 2022, 2212,
1047 2213, 2022, 2022, 2022, 2213, 2214, 2022, 2215, 2022, 2022,
1048 2022, 2022, 2022, 2216, 2217, 2217, 2217, 2022, 2022, 2218,
1049 2219, 2220, 2220, 2220, 2022, 2022, 2022, 2022, 2220, 2221,
1050 2022, 2022, 2222, 2022, 2022, 2223, 2022, 2022, 2223, 2223,
1051 2223, 2224, 2225, 2226, 2226, 2226, 2022, 2022, 2226, 2227,
1052 2228, 2228, 2022, 2229, 2230, 2230, 2231, 2232, 2233, 2022,
1054 2022, 2022, 2233, 2233, 2234, 2022, 2022, 2022, 2235, 2236,
1055 2237, 2237, 2022, 2022, 2238, 2238, 2238, 2239, 2022, 2022,
1056 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1057 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1058 2022, 2240, 2241, 2022, 2242, 2243, 2243, 2244, 2245, 2022,
1059 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1060 2246, 2022, 2022, 2247, 2022, 2022, 2022, 2022, 2248, 2249,
1061 2249, 2249, 2022, 2022, 2022, 2022, 2022, 2022, 2249, 2022,
1062 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1063 2022, 2022, 2022, 2022, 2022, 2022, 2223, 2022, 2022, 2224,
1065 2225, 2226, 2226, 2226, 2022, 2022, 2022, 2226, 2022, 2022,
1066 2022, 2022, 2228, 2022, 2229, 2022, 2022, 2230, 2231, 2232,
1067 2233, 2233, 2233, 2234, 2022, 2022, 2022, 2022, 2235, 2236,
1068 2237, 2237, 2022, 2022, 2022, 2238, 2238, 2239, 2022, 2022,
1069 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1070 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2240, 2241, 2022,
1071 2022, 2022, 2243, 2243, 2244, 2022, 2022, 2022, 2022, 2022,
1072 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2246, 2022, 2022,
1073 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2248,
1074 2249, 2249, 2249, 2022, 2022, 2249, 2022, 2022, 2022, 2022,
1076 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2224, 2225, 2226,
1077 2022, 2022, 2226, 2226, 2022, 2022, 2226, 2022, 2022, 2022,
1078 2228, 2022, 2229, 2022, 2022, 2022, 2230, 2022, 2022, 2232,
1079 2233, 2233, 2233, 2234, 2022, 2235, 2236, 2237, 2237, 2022,
1080 2022, 2022, 2022, 2238, 2238, 2239, 2022, 2022, 2022, 2022,
1081 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1082 2022, 2240, 2241, 2022, 2243, 2243, 2022, 2022, 2022, 2022,
1083 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1084 2022, 2246, 2022, 2022, 2022, 2248, 2249, 2249, 2249, 2022,
1085 2022, 2022, 2022, 2249, 2022, 2022, 2022, 2224, 2022, 2022,
1087 2226, 2022, 2022, 2022, 2226, 2226, 2022, 2022, 2022, 2022,
1088 2226, 2022, 2022, 2022, 2022, 2228, 2022, 2229, 2022, 2022,
1089 2022, 2022, 2230, 2232, 2022, 2022, 2233, 2233, 2234, 2022,
1090 2235, 2236, 2237, 2237, 2022, 2238, 2238, 2239, 2022, 2022,
1091 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2241, 2022, 2022,
1092 2243, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1093 2022, 2246, 2022, 2022, 2249, 2249, 2249, 2022, 2022, 2022,
1094 2022, 2249, 2022, 2022, 2022, 2022, 2226, 2226, 2226, 2022,
1095 2022, 2022, 2022, 2226, 2022, 2022, 2022, 2022, 2022, 2022,
1096 2022, 2022, 2022, 2229, 2022, 2022, 2022, 2022, 2022, 2022,
1098 2230, 2232, 2022, 2022, 2022, 2022, 2022, 2233, 2022, 2022,
1099 2022, 2235, 2236, 2237, 2237, 2022, 2022, 2238, 2022, 2022,
1100 2022, 2022, 2022, 2022, 2241, 2022, 2022, 2022, 2243, 2022,
1101 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2246,
1102 2249, 2249, 2249, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1103 2226, 2226, 2226, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1104 2022, 2022, 2022, 2022, 2022, 2022, 2229, 2022, 2022, 2022,
1105 2022, 2022, 2022, 2230, 2230, 2022, 2022, 2022, 2022, 2022,
1106 2022, 2022, 2022, 2022, 2236, 2237, 2237, 2022, 2022, 2022,
1107 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1109 2022, 2022, 2243, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1110 2022, 2022, 2022, 2246, 2249, 2249, 2249, 2022, 2022, 2022,
1111 2226, 2226, 2226, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1112 2022, 2022, 2022, 2022, 2022, 2022, 2229, 2022, 2022, 2022,
1113 2022, 2022, 2022, 2230, 2230, 2022, 2022, 2022, 2236, 2237,
1114 2237, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1115 2022, 2022, 2022, 2022, 2022, 2243, 2022, 2022, 2022, 2022,
1116 2022, 2022, 2022, 2022, 2246, 2022, 2022, 2249, 2249, 2249,
1117 2226, 2022, 2022, 2226, 2022, 2022, 2022, 2022, 2022, 2022,
1118 2022, 2022, 2022, 2022, 2229, 2022, 2022, 2022, 2022, 2022,
1120 2022, 2230, 2230, 2236, 2237, 2237, 2237, 2022, 2022, 2022,
1121 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1122 2022, 2022, 2022, 2246, 2022, 2022, 2022, 2249, 2249, 2249,
1123 2249, 2226, 2022, 2022, 2022, 2226, 2022, 2022, 2022, 2022,
1124 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1125 2022, 2022, 2022, 2022, 2022, 2022, 2230, 2022, 2022, 2230,
1126 2236, 2237, 2237, 2237, 2250, 2251, 2022, 2022, 2022, 2022,
1127 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1128 2022, 2246, 2249, 2249, 2249, 2249, 2022, 2022, 2022, 2022,
1129 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1131 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2230, 2022, 2022,
1132 2022, 2230, 2236, 2237, 2252, 2253, 2250, 2251, 2022, 2022,
1133 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1134 2249, 2249, 2249, 2249, 2022, 2022, 2022, 2022, 2022, 2022,
1135 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1136 2022, 2022, 2230, 2230, 2236, 2252, 2237, 2254, 2253, 2255,
1137 2237, 2022, 2022, 2022, 2022, 2022, 2022, 2249, 2249, 2249,
1138 2249, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1139 2022, 2022, 2022, 2230, 2230, 2236, 2254, 2022, 2255, 2237,
1140 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2249, 2022,
1142 2022, 2022, 2022, 2022, 2022, 2230, 2230, 2236, 2022, 2022,
1143 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1144 2249, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2230, 2230,
1145 2236, 2022, 2249, 2022, 2022, 2022, 2022, 2230, 2230, 2236,
1146 2249, 2022, 2022, 2022, 2022, 2230, 2230, 2236, 2249, 2022,
1147 2022, 2022, 2022, 2230, 2230, 2236, 2022, 2022, 2022, 2022,
1148 2022, 2022, 2230, 2230, 2236, 2022, 2022, 2022, 2022, 2022,
1149 2230, 2230, 2236, 2230, 2230, 2236, 2230, 2230, 2236, 2236,
1150 2230, 2230, 2236, 2236, 2230, 2230, 2236, 2236, 2230, 2230,
1151 2236, 2236, 2022, 2022, 2022, 2022, 2236, 2236, 2022, 2022,
1153 2022, 2022, 2022, 2022, 2236, 2236, 2236, 2236, 2236, 2236,
1154 2236, 2236, 2236, 2236, 2236, 2236, 2236, 2236, 2236, 2236,
1155 2022, 0, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1156 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1157 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1158 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1159 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1160 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1161 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1162 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,
1169 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,
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,
1180 2022, 2022, 2022, 2022, 2022
1183 static yyconst flex_int16_t yy_nxt[7164] =
1185 2022, 146, 147, 146, 146, 147, 146, 146, 147, 146,
1186 146, 147, 146, 151, 147, 151, 157, 148, 154, 157,
1187 148, 154, 450, 149, 2022, 155, 149, 2022, 155, 152,
1188 151, 147, 151, 388, 158, 160, 161, 158, 160, 161,
1189 162, 163, 2022, 162, 163, 388, 152, 167, 168, 389,
1190 164, 160, 161, 164, 165, 391, 162, 160, 161, 561,
1191 165, 390, 162, 167, 168, 562, 164, 147, 147, 147,
1192 451, 390, 164, 147, 147, 147, 180, 147, 180, 180,
1193 147, 180, 472, 170, 180, 147, 180, 510, 169, 170,
1194 451, 473, 181, 561, 511, 181, 387, 387, 387, 575,
1196 182, 387, 387, 387, 169, 171, 172, 147, 172, 171,
1197 171, 171, 171, 171, 171, 171, 173, 171, 171, 171,
1198 1485, 171, 175, 171, 176, 171, 180, 147, 180, 147,
1199 147, 147, 503, 147, 147, 147, 180, 147, 180, 180,
1200 147, 180, 182, 504, 561, 183, 391, 171, 171, 183,
1201 600, 489, 181, 391, 490, 181, 387, 387, 387, 387,
1202 387, 387, 390, 387, 387, 387, 387, 387, 387, 390,
1203 177, 2022, 178, 171, 172, 147, 172, 171, 171, 171,
1204 171, 171, 171, 171, 173, 171, 171, 171, 477, 171,
1205 175, 171, 176, 171, 147, 147, 147, 147, 147, 147,
1207 682, 180, 147, 180, 180, 147, 180, 180, 147, 180,
1208 184, 563, 391, 184, 391, 171, 171, 182, 391, 425,
1209 182, 426, 1110, 185, 564, 180, 147, 180, 390, 427,
1210 390, 387, 387, 387, 390, 425, 451, 428, 177, 429,
1211 178, 185, 186, 187, 147, 187, 186, 186, 186, 186,
1212 186, 186, 186, 188, 186, 186, 186, 485, 186, 190,
1213 186, 191, 186, 194, 147, 194, 194, 147, 194, 402,
1214 218, 147, 218, 160, 161, 160, 161, 486, 162, 195,
1215 162, 1270, 195, 446, 186, 186, 219, 447, 205, 1271,
1216 205, 448, 192, 186, 187, 147, 187, 186, 186, 186,
1218 186, 186, 186, 186, 188, 186, 186, 186, 892, 186,
1219 190, 186, 191, 186, 206, 2022, 206, 218, 147, 218,
1220 893, 147, 147, 147, 147, 147, 147, 387, 387, 387,
1221 387, 387, 387, 219, 682, 186, 186, 220, 875, 544,
1222 220, 513, 545, 192, 196, 197, 147, 197, 196, 196,
1223 196, 196, 196, 196, 196, 198, 196, 196, 196, 512,
1224 196, 200, 196, 201, 196, 218, 147, 218, 218, 147,
1225 218, 505, 218, 147, 218, 218, 147, 218, 387, 387,
1226 387, 219, 391, 439, 219, 512, 196, 196, 221, 433,
1227 440, 221, 1412, 1413, 202, 1414, 1415, 203, 390, 390,
1229 387, 387, 387, 204, 196, 197, 147, 197, 196, 196,
1230 196, 196, 196, 196, 196, 198, 196, 196, 196, 451,
1231 196, 200, 196, 201, 196, 232, 147, 232, 232, 147,
1232 232, 906, 245, 147, 245, 245, 147, 245, 538, 391,
1233 391, 233, 1275, 893, 233, 391, 196, 196, 246, 571,
1234 1276, 246, 457, 539, 202, 390, 390, 203, 387, 387,
1235 387, 390, 572, 204, 207, 208, 147, 208, 207, 207,
1236 207, 207, 207, 207, 207, 209, 207, 207, 207, 906,
1237 207, 211, 207, 212, 207, 147, 147, 147, 147, 147,
1238 147, 930, 147, 147, 147, 147, 147, 147, 257, 147,
1240 257, 254, 391, 391, 254, 1488, 207, 207, 255, 464,
1241 520, 255, 563, 1495, 258, 213, 1498, 214, 390, 390,
1242 215, 387, 387, 387, 2022, 576, 216, 207, 208, 147,
1243 208, 207, 207, 207, 207, 207, 207, 207, 209, 207,
1244 207, 207, 538, 207, 211, 207, 212, 207, 257, 147,
1245 257, 271, 147, 271, 512, 271, 147, 271, 147, 147,
1246 147, 147, 147, 147, 258, 411, 391, 272, 413, 207,
1247 207, 272, 391, 1116, 220, 587, 1508, 220, 213, 1117,
1248 214, 1521, 390, 215, 387, 387, 387, 998, 390, 216,
1249 222, 223, 147, 223, 222, 222, 222, 222, 222, 222,
1251 222, 224, 222, 222, 222, 1522, 222, 226, 222, 227,
1252 222, 271, 147, 271, 271, 147, 271, 1232, 271, 147,
1253 271, 271, 147, 271, 283, 147, 283, 272, 1523, 797,
1254 272, 998, 222, 222, 273, 391, 391, 273, 798, 228,
1255 284, 387, 387, 387, 229, 387, 387, 387, 387, 387,
1256 387, 390, 390, 230, 222, 223, 147, 223, 222, 222,
1257 222, 222, 222, 222, 222, 224, 222, 222, 222, 1231,
1258 222, 226, 222, 227, 222, 283, 147, 283, 298, 147,
1259 298, 1524, 298, 147, 298, 308, 147, 308, 308, 147,
1260 308, 284, 1419, 1420, 299, 1390, 222, 222, 299, 391,
1262 391, 309, 1391, 228, 309, 387, 387, 387, 229, 387,
1263 387, 387, 387, 387, 387, 390, 390, 230, 234, 235,
1264 147, 235, 234, 234, 234, 234, 234, 234, 234, 236,
1265 234, 234, 234, 1525, 234, 238, 234, 239, 234, 321,
1266 147, 321, 321, 147, 321, 682, 147, 147, 147, 147,
1267 147, 147, 321, 147, 321, 322, 391, 571, 322, 1529,
1268 234, 234, 220, 482, 995, 220, 998, 998, 322, 1392,
1269 578, 240, 390, 387, 387, 387, 1393, 241, 1530, 242,
1270 243, 234, 235, 147, 235, 234, 234, 234, 234, 234,
1271 234, 234, 236, 234, 234, 234, 1514, 234, 238, 234,
1273 239, 234, 321, 147, 321, 321, 147, 321, 1339, 321,
1274 147, 321, 147, 147, 147, 147, 147, 147, 322, 1421,
1275 1422, 323, 391, 234, 234, 323, 682, 682, 333, 493,
1276 1531, 333, 1407, 1337, 240, 387, 387, 387, 390, 1408,
1277 241, 684, 242, 243, 247, 248, 147, 248, 247, 247,
1278 247, 247, 247, 247, 247, 249, 247, 247, 247, 998,
1279 247, 251, 247, 252, 247, 147, 147, 147, 147, 147,
1280 147, 1532, 335, 147, 335, 335, 147, 335, 335, 147,
1281 335, 333, 1533, 1409, 333, 391, 247, 247, 336, 391,
1282 1410, 336, 497, 1515, 337, 387, 387, 387, 387, 387,
1284 387, 390, 387, 387, 387, 390, 253, 247, 248, 147,
1285 248, 247, 247, 247, 247, 247, 247, 247, 249, 247,
1286 247, 247, 1534, 247, 251, 247, 252, 247, 335, 147,
1287 335, 349, 147, 349, 1535, 349, 147, 349, 147, 147,
1288 147, 147, 147, 147, 337, 1536, 998, 350, 1537, 247,
1289 247, 350, 391, 1486, 333, 1487, 1538, 333, 387, 387,
1290 387, 387, 387, 387, 387, 387, 387, 1539, 390, 253,
1291 259, 260, 147, 260, 259, 259, 259, 259, 259, 259,
1292 259, 261, 259, 259, 259, 1433, 259, 263, 259, 264,
1293 259, 349, 147, 349, 349, 147, 349, 1541, 349, 147,
1295 349, 349, 147, 349, 360, 147, 360, 350, 391, 391,
1296 350, 391, 259, 259, 351, 265, 524, 351, 1542, 1489,
1297 361, 1490, 1543, 266, 390, 390, 267, 390, 998, 268,
1298 1544, 1545, 269, 259, 260, 147, 260, 259, 259, 259,
1299 259, 259, 259, 259, 261, 259, 259, 259, 1551, 259,
1300 263, 259, 264, 259, 360, 147, 360, 373, 147, 373,
1301 1552, 373, 147, 373, 147, 147, 147, 147, 147, 147,
1302 361, 1434, 391, 374, 1553, 259, 259, 374, 265, 536,
1303 375, 1150, 1496, 375, 1497, 1554, 266, 1151, 390, 267,
1304 1152, 1499, 268, 1500, 1153, 269, 274, 275, 147, 275,
1306 274, 274, 274, 274, 274, 274, 274, 276, 274, 274,
1307 274, 531, 274, 278, 274, 279, 274, 373, 147, 373,
1308 373, 147, 373, 1555, 373, 147, 373, 373, 147, 373,
1309 385, 147, 385, 374, 1558, 1154, 374, 1559, 274, 274,
1310 376, 1155, 1560, 376, 1156, 532, 386, 396, 1157, 280,
1311 387, 387, 387, 387, 387, 387, 387, 387, 387, 451,
1312 1561, 281, 274, 275, 147, 275, 274, 274, 274, 274,
1313 274, 274, 274, 276, 274, 274, 274, 1562, 274, 278,
1314 274, 279, 274, 385, 147, 385, 397, 387, 387, 387,
1315 1563, 1568, 398, 387, 387, 387, 399, 1569, 1570, 386,
1317 1571, 400, 1572, 1573, 274, 274, 387, 387, 387, 387,
1318 387, 387, 387, 387, 387, 280, 387, 387, 387, 542,
1319 542, 542, 1593, 686, 896, 896, 896, 281, 285, 286,
1320 147, 286, 285, 285, 285, 285, 285, 285, 285, 287,
1321 285, 285, 285, 288, 285, 289, 285, 290, 285, 288,
1322 288, 288, 288, 288, 288, 288, 288, 288, 288, 288,
1323 288, 288, 288, 288, 288, 288, 288, 288, 288, 288,
1324 285, 285, 288, 288, 291, 288, 288, 288, 288, 288,
1325 288, 292, 288, 293, 288, 288, 288, 294, 288, 295,
1326 296, 288, 288, 288, 288, 288, 288, 300, 301, 147,
1328 301, 300, 300, 300, 300, 300, 300, 300, 302, 300,
1329 300, 300, 682, 300, 304, 300, 305, 300, 542, 542,
1330 542, 584, 584, 584, 592, 592, 592, 606, 606, 606,
1331 617, 617, 617, 904, 904, 904, 1594, 1595, 585, 300,
1332 300, 593, 1596, 1603, 607, 1604, 1605, 618, 1585, 998,
1333 306, 300, 301, 147, 301, 300, 300, 300, 300, 300,
1334 300, 300, 302, 300, 300, 300, 998, 300, 304, 300,
1335 305, 300, 1606, 543, 625, 625, 625, 1338, 631, 631,
1336 631, 633, 633, 633, 642, 642, 642, 1009, 1009, 1009,
1337 1599, 626, 1607, 300, 300, 632, 1608, 1609, 634, 1610,
1339 1586, 643, 1600, 998, 306, 310, 311, 147, 311, 310,
1340 310, 310, 310, 310, 310, 310, 312, 310, 310, 310,
1341 1611, 310, 314, 310, 315, 310, 647, 647, 647, 667,
1342 667, 667, 696, 696, 696, 696, 696, 696, 726, 726,
1343 726, 682, 1587, 648, 1612, 1613, 668, 310, 310, 1615,
1344 698, 316, 1616, 698, 1617, 1621, 728, 1230, 317, 1622,
1345 318, 1015, 1015, 1015, 896, 896, 896, 319, 310, 311,
1346 147, 311, 310, 310, 310, 310, 310, 310, 310, 312,
1347 310, 310, 310, 1623, 310, 314, 310, 315, 310, 699,
1348 726, 726, 726, 1627, 1601, 584, 584, 584, 731, 731,
1350 731, 1628, 732, 1629, 1630, 733, 1602, 1631, 728, 1632,
1351 310, 310, 585, 1638, 316, 741, 741, 741, 1639, 742,
1352 1640, 317, 743, 318, 1021, 1021, 1021, 904, 904, 904,
1353 319, 324, 325, 147, 325, 324, 324, 324, 324, 324,
1354 324, 324, 326, 324, 324, 324, 729, 324, 328, 324,
1355 329, 324, 736, 736, 736, 1641, 1642, 736, 736, 736,
1356 592, 592, 592, 744, 744, 744, 747, 747, 747, 1643,
1357 738, 998, 1656, 324, 324, 738, 330, 593, 998, 331,
1358 745, 1633, 1635, 748, 762, 762, 762, 1658, 763, 1634,
1359 1636, 764, 682, 332, 324, 325, 147, 325, 324, 324,
1361 324, 324, 324, 324, 324, 326, 324, 324, 324, 1650,
1362 324, 328, 324, 329, 324, 1662, 1651, 739, 1649, 1663,
1363 750, 750, 750, 758, 758, 758, 1664, 1665, 750, 750,
1364 750, 758, 758, 758, 1666, 1667, 324, 324, 752, 330,
1365 1668, 760, 331, 778, 778, 778, 752, 779, 1669, 760,
1366 780, 1047, 1047, 1047, 1670, 1671, 332, 338, 339, 147,
1367 339, 338, 338, 338, 338, 338, 338, 338, 340, 338,
1368 338, 338, 753, 338, 342, 338, 343, 338, 606, 606,
1369 606, 1672, 1673, 768, 768, 768, 773, 773, 773, 1674,
1370 1679, 761, 617, 617, 617, 607, 768, 768, 768, 338,
1372 338, 770, 344, 1680, 775, 345, 1009, 1009, 1009, 618,
1373 346, 789, 789, 789, 770, 790, 1681, 1684, 791, 347,
1374 338, 339, 147, 339, 338, 338, 338, 338, 338, 338,
1375 338, 340, 338, 338, 338, 1685, 338, 342, 338, 343,
1376 338, 773, 773, 773, 771, 1686, 785, 785, 785, 785,
1377 785, 785, 625, 625, 625, 1687, 793, 793, 793, 775,
1378 1688, 1689, 338, 338, 787, 344, 1690, 787, 345, 626,
1379 1011, 1011, 1011, 346, 795, 1015, 1015, 1015, 1021, 1021,
1380 1021, 1691, 347, 352, 353, 147, 353, 352, 352, 352,
1381 352, 352, 352, 352, 354, 352, 352, 352, 776, 352,
1383 356, 352, 357, 352, 1692, 1693, 788, 1694, 1696, 793,
1384 793, 793, 631, 631, 631, 799, 799, 799, 1697, 800,
1385 1698, 1699, 801, 1700, 1701, 352, 352, 795, 1708, 632,
1386 1022, 1022, 1022, 1047, 1047, 1047, 358, 352, 353, 147,
1387 353, 352, 352, 352, 352, 352, 352, 352, 354, 352,
1388 352, 352, 998, 352, 356, 352, 357, 352, 633, 633,
1389 633, 802, 802, 802, 1709, 803, 1710, 1711, 804, 796,
1390 805, 805, 805, 1712, 1713, 634, 1246, 1246, 1246, 352,
1391 352, 815, 815, 815, 1705, 816, 1716, 806, 817, 1717,
1392 358, 362, 363, 147, 363, 362, 362, 362, 362, 362,
1394 362, 362, 364, 362, 362, 362, 1718, 362, 366, 362,
1395 367, 362, 811, 811, 811, 642, 642, 642, 818, 818,
1396 818, 811, 811, 811, 818, 818, 818, 647, 647, 647,
1397 813, 1719, 643, 362, 362, 682, 820, 1720, 1721, 813,
1398 1722, 368, 820, 369, 648, 370, 1127, 1127, 1127, 1248,
1399 1248, 1248, 1723, 371, 362, 363, 147, 363, 362, 362,
1400 362, 362, 362, 362, 362, 364, 362, 362, 362, 1728,
1401 362, 366, 362, 367, 362, 814, 823, 823, 823, 1704,
1402 824, 821, 1731, 825, 829, 829, 829, 829, 829, 829,
1403 834, 834, 834, 836, 836, 836, 362, 362, 845, 845,
1405 845, 1732, 831, 1736, 368, 831, 369, 835, 370, 1737,
1406 837, 1130, 1130, 1130, 1738, 846, 371, 377, 378, 147,
1407 378, 377, 377, 377, 377, 377, 377, 377, 379, 377,
1408 377, 377, 1739, 377, 381, 377, 382, 377, 1740, 832,
1409 840, 840, 840, 1741, 848, 848, 848, 840, 840, 840,
1410 850, 850, 850, 850, 850, 850, 1729, 1730, 842, 377,
1411 377, 849, 667, 667, 667, 842, 1742, 1743, 852, 1744,
1412 1745, 852, 1746, 854, 854, 854, 1749, 855, 1750, 668,
1413 856, 1751, 383, 377, 378, 147, 378, 377, 377, 377,
1414 377, 377, 377, 377, 379, 377, 377, 377, 1752, 377,
1416 381, 377, 382, 377, 843, 857, 857, 857, 1753, 1754,
1417 853, 857, 857, 857, 865, 865, 865, 865, 865, 865,
1418 871, 871, 871, 859, 1769, 377, 377, 682, 1770, 859,
1419 1771, 1772, 867, 1776, 1777, 867, 1778, 1779, 873, 871,
1420 871, 871, 696, 696, 696, 911, 911, 911, 383, 391,
1421 696, 696, 696, 1011, 1011, 1011, 407, 873, 1761, 1780,
1422 698, 1781, 912, 860, 1783, 390, 1784, 1012, 698, 696,
1423 696, 696, 1785, 726, 726, 726, 1786, 868, 726, 726,
1424 726, 1791, 1792, 726, 726, 726, 1793, 698, 1794, 1795,
1425 408, 728, 409, 1796, 1797, 410, 728, 411, 412, 874,
1427 413, 728, 1798, 1799, 414, 1800, 415, 416, 417, 391,
1428 914, 914, 914, 884, 1801, 1802, 407, 731, 731, 731,
1429 1803, 732, 1804, 682, 733, 390, 1819, 915, 1820, 913,
1430 2022, 2022, 2022, 736, 736, 736, 736, 736, 736, 1821,
1431 1822, 736, 736, 736, 744, 744, 744, 2022, 1823, 1824,
1432 408, 738, 418, 1825, 738, 419, 1826, 420, 412, 738,
1433 421, 745, 1813, 1827, 414, 1828, 422, 423, 424, 741,
1434 741, 741, 1831, 742, 1832, 1833, 743, 920, 920, 920,
1435 1834, 921, 1841, 1842, 922, 918, 1843, 916, 923, 923,
1436 923, 747, 747, 747, 925, 925, 925, 1844, 926, 1845,
1438 1846, 927, 750, 750, 750, 924, 1847, 1848, 748, 750,
1439 750, 750, 750, 750, 750, 932, 932, 932, 1849, 1850,
1440 752, 758, 758, 758, 758, 758, 758, 752, 1851, 1852,
1441 752, 1862, 933, 758, 758, 758, 762, 762, 762, 760,
1442 763, 1863, 760, 764, 768, 768, 768, 768, 768, 768,
1443 1864, 760, 768, 768, 768, 773, 773, 773, 773, 773,
1444 773, 1857, 770, 1857, 682, 770, 1865, 1866, 929, 1867,
1445 770, 1868, 1869, 775, 1860, 1858, 775, 935, 773, 773,
1446 773, 778, 778, 778, 1870, 779, 1871, 1876, 780, 785,
1447 785, 785, 785, 785, 785, 1877, 775, 785, 785, 785,
1449 1878, 789, 789, 789, 1879, 790, 1855, 787, 791, 1880,
1450 787, 793, 793, 793, 939, 787, 793, 793, 793, 793,
1451 793, 793, 1881, 799, 799, 799, 1882, 800, 1883, 795,
1452 801, 805, 805, 805, 795, 1888, 1872, 795, 941, 802,
1453 802, 802, 682, 803, 1874, 1888, 804, 1873, 806, 952,
1454 952, 952, 1891, 953, 1892, 1875, 954, 1857, 947, 811,
1455 811, 811, 811, 811, 811, 811, 811, 811, 815, 815,
1456 815, 1858, 816, 998, 999, 817, 949, 813, 1902, 1886,
1457 813, 1903, 1904, 813, 818, 818, 818, 818, 818, 818,
1458 818, 818, 818, 823, 823, 823, 1857, 824, 1905, 1888,
1460 825, 1909, 820, 1888, 1910, 820, 1911, 1860, 820, 829,
1461 829, 829, 829, 829, 829, 829, 829, 829, 834, 834,
1462 834, 1921, 967, 967, 967, 1925, 968, 831, 959, 969,
1463 831, 1926, 1927, 831, 1928, 835, 1932, 836, 836, 836,
1464 970, 970, 970, 1933, 971, 1934, 1935, 972, 840, 840,
1465 840, 1936, 1937, 960, 837, 840, 840, 840, 840, 840,
1466 840, 845, 845, 845, 1941, 682, 842, 1942, 977, 977,
1467 977, 965, 978, 842, 1943, 979, 842, 1944, 846, 848,
1468 848, 848, 981, 981, 981, 1945, 982, 1940, 682, 983,
1469 850, 850, 850, 850, 850, 850, 849, 850, 850, 850,
1471 854, 854, 854, 1949, 855, 1950, 1948, 856, 852, 1951,
1472 1952, 852, 857, 857, 857, 852, 857, 857, 857, 1953,
1473 682, 975, 857, 857, 857, 987, 987, 987, 1959, 1960,
1474 859, 865, 865, 865, 859, 865, 865, 865, 1961, 1956,
1475 859, 1962, 988, 865, 865, 865, 871, 871, 871, 867,
1476 871, 871, 871, 867, 871, 871, 871, 997, 997, 997,
1477 984, 867, 1969, 1970, 873, 696, 696, 696, 873, 911,
1478 911, 911, 873, 1484, 682, 998, 999, 682, 985, 1022,
1479 1022, 1022, 682, 698, 682, 682, 912, 1031, 1031, 1031,
1480 1965, 1032, 682, 1012, 1033, 726, 726, 726, 1973, 682,
1482 991, 914, 914, 914, 994, 1035, 1035, 1035, 682, 1036,
1483 682, 1987, 1037, 728, 736, 736, 736, 1983, 915, 920,
1484 920, 920, 682, 921, 1997, 1984, 922, 1005, 923, 923,
1485 923, 1483, 738, 1042, 1042, 1042, 1991, 1043, 682, 1482,
1486 1044, 750, 750, 750, 1988, 924, 925, 925, 925, 1034,
1487 926, 1481, 2015, 927, 932, 932, 932, 682, 682, 752,
1488 1040, 1049, 1049, 1049, 2005, 1050, 682, 682, 1051, 682,
1489 1998, 933, 1052, 1052, 1052, 758, 758, 758, 1058, 1058,
1490 1058, 773, 773, 773, 1065, 1065, 1065, 1480, 1046, 1053,
1491 1067, 1067, 1067, 760, 1992, 2009, 1059, 682, 2010, 775,
1493 2006, 1066, 785, 785, 785, 2019, 682, 1068, 1071, 1071,
1494 1071, 2016, 793, 793, 793, 1074, 1074, 1074, 682, 682,
1495 787, 1054, 2022, 2022, 2022, 1072, 1077, 1077, 1077, 1061,
1496 795, 2007, 1075, 1069, 952, 952, 952, 682, 953, 2022,
1497 2008, 954, 1479, 1078, 2022, 2022, 2022, 2013, 2022, 2022,
1498 2022, 2022, 2022, 2022, 811, 811, 811, 818, 818, 818,
1499 2011, 2022, 2012, 1478, 1070, 2022, 2014, 1472, 2022, 682,
1500 1073, 682, 813, 1471, 682, 820, 1470, 1087, 1087, 1087,
1501 829, 829, 829, 1469, 1076, 682, 967, 967, 967, 2019,
1502 968, 1468, 1080, 969, 1088, 970, 970, 970, 831, 971,
1504 682, 1467, 972, 2017, 1022, 1022, 1022, 840, 840, 840,
1505 1079, 987, 987, 987, 2018, 1082, 1466, 1081, 1093, 1083,
1506 1089, 1465, 977, 977, 977, 842, 978, 1461, 988, 979,
1507 981, 981, 981, 1090, 982, 1460, 1459, 983, 850, 850,
1508 850, 857, 857, 857, 1100, 1100, 1100, 1458, 1101, 1457,
1509 1456, 1102, 865, 865, 865, 1455, 852, 1454, 1453, 859,
1510 1107, 1107, 1107, 871, 871, 871, 997, 997, 997, 1094,
1511 867, 696, 696, 696, 1127, 1127, 1127, 1108, 1130, 1130,
1512 1130, 873, 1452, 1451, 998, 1127, 1127, 1127, 1128, 698,
1513 1448, 1445, 1131, 1444, 1098, 1136, 1136, 1136, 1105, 1128,
1515 1097, 1138, 1138, 1138, 1138, 1138, 1138, 1443, 1442, 1131,
1516 1136, 1136, 1136, 1430, 1111, 1139, 1428, 1427, 1139, 1417,
1517 1118, 1031, 1031, 1031, 1141, 1032, 1109, 1411, 1033, 1406,
1518 1112, 726, 726, 726, 1129, 1035, 1035, 1035, 1405, 1036,
1519 1401, 1394, 1037, 1389, 1388, 1135, 1052, 1052, 1052, 728,
1520 736, 736, 736, 1042, 1042, 1042, 1387, 1043, 1381, 1380,
1521 1044, 1129, 1379, 1053, 1135, 750, 750, 750, 738, 1049,
1522 1049, 1049, 1378, 1050, 1377, 1376, 1051, 1158, 1158, 1158,
1523 1375, 1159, 1374, 752, 1160, 758, 758, 758, 1162, 1162,
1524 1162, 2022, 2022, 2022, 1142, 1165, 1165, 1165, 1145, 1058,
1526 1058, 1058, 1373, 760, 1372, 1163, 1366, 1365, 2022, 1167,
1527 1167, 1167, 1166, 773, 773, 773, 1364, 1059, 1065, 1065,
1528 1065, 1363, 1148, 1173, 1173, 1173, 1168, 1174, 1361, 1359,
1529 1175, 775, 1355, 1161, 1354, 1066, 1067, 1067, 1067, 1176,
1530 1176, 1176, 1352, 1177, 1351, 1164, 1178, 1180, 1180, 1180,
1531 1071, 1071, 1071, 1068, 1182, 1182, 1182, 1169, 1183, 1347,
1532 1340, 1184, 1185, 1185, 1185, 1181, 1335, 1072, 1074, 1074,
1533 1074, 1187, 1187, 1187, 1333, 1188, 1332, 1331, 1189, 1322,
1534 1186, 1190, 1190, 1190, 1317, 1075, 1077, 1077, 1077, 1192,
1535 1192, 1192, 1316, 1193, 1315, 1314, 1194, 1310, 1191, 1195,
1537 1195, 1195, 1296, 1078, 2022, 2022, 2022, 1198, 1198, 1198,
1538 811, 811, 811, 818, 818, 818, 1196, 1087, 1087, 1087,
1539 1295, 2022, 1294, 1293, 1199, 1205, 1205, 1205, 813, 1206,
1540 1292, 820, 1207, 1291, 1088, 1209, 1209, 1209, 1211, 1211,
1541 1211, 1277, 2022, 2022, 2022, 840, 840, 840, 1216, 1216,
1542 1216, 1274, 1273, 1210, 1272, 1212, 1269, 1268, 1197, 2022,
1543 1264, 1201, 1263, 842, 1260, 1217, 2022, 2022, 2022, 850,
1544 850, 850, 1200, 1259, 857, 857, 857, 1100, 1100, 1100,
1545 1257, 1101, 1256, 2022, 1102, 1255, 1254, 852, 1220, 865,
1546 865, 865, 859, 1215, 1107, 1107, 1107, 1226, 1226, 1226,
1548 1251, 1227, 1213, 1250, 1228, 1249, 1247, 867, 1245, 1218,
1549 1244, 1108, 871, 871, 871, 1243, 1242, 1219, 1234, 1234,
1550 1234, 2022, 2022, 2022, 2022, 2022, 2022, 696, 696, 696,
1551 873, 1252, 1252, 1252, 1241, 1235, 1240, 1224, 2022, 1239,
1552 1233, 2022, 1253, 1253, 1253, 698, 1136, 1136, 1136, 1138,
1553 1138, 1138, 726, 726, 726, 1225, 1261, 1261, 1261, 750,
1554 750, 750, 1266, 1266, 1266, 1223, 1222, 1229, 1221, 1214,
1555 728, 1208, 1204, 1236, 1262, 1203, 1202, 752, 1179, 1267,
1556 1172, 1237, 1171, 1170, 1238, 1158, 1158, 1158, 1149, 1159,
1557 1147, 1146, 1160, 758, 758, 758, 1162, 1162, 1162, 1258,
1559 1144, 1279, 1279, 1279, 1143, 1280, 1140, 1278, 1281, 1137,
1560 1134, 760, 1133, 1163, 1265, 1282, 1282, 1282, 1165, 1165,
1561 1165, 1284, 1284, 1284, 1132, 1285, 1126, 1125, 1286, 1167,
1562 1167, 1167, 1283, 1124, 1123, 1166, 1287, 1287, 1287, 1122,
1563 1288, 1121, 1120, 1289, 1119, 1115, 1168, 773, 773, 773,
1564 1173, 1173, 1173, 1114, 1174, 1113, 998, 1175, 1106, 1176,
1565 1176, 1176, 1104, 1177, 1103, 775, 1178, 1180, 1180, 1180,
1566 1182, 1182, 1182, 1099, 1183, 1096, 1095, 1184, 1185, 1185,
1567 1185, 1092, 1187, 1187, 1187, 1181, 1188, 1091, 1086, 1189,
1568 1190, 1190, 1190, 1290, 1085, 1084, 1186, 1297, 1297, 1297,
1570 1064, 1298, 1063, 1062, 1299, 1060, 1057, 1191, 1192, 1192,
1571 1192, 1056, 1193, 1055, 1048, 1194, 1195, 1195, 1195, 1300,
1572 1300, 1300, 1045, 1301, 1041, 1039, 1302, 1303, 1303, 1303,
1573 1198, 1198, 1198, 1196, 1305, 1305, 1305, 1038, 1306, 1030,
1574 1029, 1307, 1028, 1027, 1304, 1026, 1025, 1199, 811, 811,
1575 811, 818, 818, 818, 1311, 1311, 1311, 1205, 1205, 1205,
1576 1024, 1206, 1023, 1020, 1207, 1019, 813, 1018, 1017, 820,
1577 1016, 1312, 1209, 1209, 1209, 1211, 1211, 1211, 1318, 1318,
1578 1318, 1014, 1319, 1013, 1010, 1320, 2022, 2022, 2022, 1008,
1579 1210, 1007, 1212, 1216, 1216, 1216, 1308, 1313, 840, 840,
1581 840, 1006, 1004, 2022, 2022, 2022, 2022, 1328, 1328, 1328,
1582 1217, 1309, 1323, 1324, 1324, 1324, 842, 1325, 1003, 1002,
1583 1326, 2022, 857, 857, 857, 1329, 865, 865, 865, 1226,
1584 1226, 1226, 1001, 1227, 1000, 993, 1228, 992, 1321, 990,
1585 859, 871, 871, 871, 867, 1234, 1234, 1234, 1341, 1341,
1586 1341, 989, 1342, 986, 980, 1343, 2022, 2022, 2022, 873,
1587 976, 1327, 1235, 2022, 2022, 2022, 974, 973, 1330, 966,
1588 696, 696, 696, 2022, 1348, 1348, 1348, 1349, 1349, 1349,
1589 2022, 1350, 1350, 1350, 1353, 1353, 1353, 1334, 698, 1336,
1590 1246, 1246, 1246, 1248, 1248, 1248, 1356, 1356, 1356, 1357,
1592 1357, 1357, 1252, 1252, 1252, 1253, 1253, 1253, 1358, 1358,
1593 1358, 964, 1344, 1360, 1360, 1360, 726, 726, 726, 1261,
1594 1261, 1261, 1367, 1367, 1367, 963, 1345, 1266, 1266, 1266,
1595 1346, 1369, 1369, 1369, 728, 1370, 962, 1262, 1371, 961,
1596 1368, 758, 758, 758, 1267, 1279, 1279, 1279, 958, 1280,
1597 957, 956, 1281, 1282, 1282, 1282, 1383, 1383, 1383, 760,
1598 1384, 955, 951, 1385, 1362, 1284, 1284, 1284, 950, 1285,
1599 1283, 948, 1286, 1287, 1287, 1287, 946, 1288, 945, 944,
1600 1289, 773, 773, 773, 1297, 1297, 1297, 1382, 1298, 943,
1601 942, 1299, 940, 1300, 1300, 1300, 938, 1301, 937, 775,
1603 1302, 1303, 1303, 1303, 1395, 1395, 1395, 936, 1396, 934,
1604 931, 1397, 1305, 1305, 1305, 928, 1306, 919, 1304, 1307,
1605 811, 811, 811, 1399, 1399, 1399, 1311, 1311, 1311, 1402,
1606 1402, 1402, 1386, 1403, 917, 910, 1404, 909, 813, 908,
1607 907, 1400, 905, 1312, 1318, 1318, 1318, 903, 1319, 902,
1608 901, 1320, 2022, 2022, 2022, 840, 840, 840, 1324, 1324,
1609 1324, 900, 1325, 899, 898, 1326, 2022, 2022, 2022, 2022,
1610 1328, 1328, 1328, 842, 857, 857, 857, 1425, 1425, 1425,
1611 1398, 897, 895, 2022, 865, 865, 865, 894, 1329, 1432,
1612 1432, 1432, 859, 891, 1426, 871, 871, 871, 1416, 1435,
1614 1435, 1435, 867, 890, 1341, 1341, 1341, 682, 1342, 889,
1615 1418, 1343, 888, 873, 2022, 2022, 2022, 2022, 2022, 2022,
1616 887, 886, 1423, 696, 696, 696, 1439, 1439, 1439, 885,
1617 883, 2022, 882, 881, 2022, 880, 1424, 1348, 1348, 1348,
1618 879, 698, 1349, 1349, 1349, 1429, 1350, 1350, 1350, 878,
1619 877, 1431, 1440, 1440, 1440, 1441, 1441, 1441, 1353, 1353,
1620 1353, 1356, 1356, 1356, 1357, 1357, 1357, 1436, 1358, 1358,
1621 1358, 1360, 1360, 1360, 1446, 1446, 1446, 876, 1438, 1437,
1622 1449, 1449, 1449, 1367, 1367, 1367, 1369, 1369, 1369, 682,
1623 1370, 870, 1447, 1371, 758, 758, 758, 1450, 1383, 1383,
1625 1383, 1368, 1384, 869, 864, 1385, 1463, 1463, 1463, 1395,
1626 1395, 1395, 760, 1396, 863, 862, 1397, 1473, 1473, 1473,
1627 1399, 1399, 1399, 861, 1464, 1475, 1475, 1475, 847, 1402,
1628 1402, 1402, 844, 1403, 839, 1474, 1404, 838, 1400, 1491,
1629 1491, 1491, 1476, 1493, 1493, 1493, 840, 840, 840, 833,
1630 828, 1462, 2022, 2022, 2022, 827, 1492, 857, 857, 857,
1631 1425, 1425, 1425, 826, 842, 1506, 1506, 1506, 1477, 2022,
1632 822, 810, 1503, 1503, 1503, 859, 1504, 1426, 809, 1505,
1633 808, 807, 1507, 1509, 1509, 1509, 1511, 1511, 1511, 871,
1634 871, 871, 1432, 1432, 1432, 1501, 1435, 1435, 1435, 792,
1636 784, 1510, 1516, 1516, 1516, 783, 782, 873, 781, 1494,
1637 682, 777, 772, 1502, 2022, 2022, 2022, 767, 766, 1517,
1638 1519, 1519, 1519, 1439, 1439, 1439, 1440, 1440, 1440, 765,
1639 757, 2022, 1441, 1441, 1441, 1446, 1446, 1446, 1520, 1449,
1640 1449, 1449, 1526, 1526, 1526, 756, 1527, 755, 754, 1528,
1641 1513, 1512, 749, 1447, 746, 740, 1450, 758, 758, 758,
1642 735, 734, 1518, 1463, 1463, 1463, 1546, 1546, 1546, 1473,
1643 1473, 1473, 1475, 1475, 1475, 760, 730, 725, 1548, 1548,
1644 1548, 1464, 1549, 1547, 724, 1550, 723, 1474, 722, 1476,
1645 1556, 1556, 1556, 1491, 1491, 1491, 1564, 1564, 1564, 721,
1647 1565, 720, 719, 1566, 1493, 1493, 1493, 1557, 718, 717,
1648 1492, 716, 715, 1540, 840, 840, 840, 2022, 2022, 2022,
1649 1576, 1576, 1576, 1503, 1503, 1503, 714, 1504, 713, 712,
1650 1505, 711, 842, 710, 2022, 1506, 1506, 1506, 1577, 1578,
1651 1578, 1578, 709, 1579, 708, 707, 1580, 706, 1581, 1581,
1652 1581, 705, 1507, 1509, 1509, 1509, 1511, 1511, 1511, 1583,
1653 1583, 1583, 704, 703, 1574, 1582, 702, 701, 1567, 700,
1654 695, 1510, 1516, 1516, 1516, 694, 693, 1584, 1575, 1588,
1655 1588, 1588, 692, 1589, 691, 690, 1590, 689, 688, 1517,
1656 1591, 1591, 1591, 1519, 1519, 1519, 1597, 1597, 1597, 1526,
1658 1526, 1526, 685, 1527, 683, 682, 1528, 1592, 758, 758,
1659 758, 1520, 680, 1598, 1546, 1546, 1546, 1618, 1618, 1618,
1660 678, 1619, 677, 676, 1620, 674, 760, 673, 1548, 1548,
1661 1548, 1547, 1549, 672, 671, 1550, 1556, 1556, 1556, 1624,
1662 1624, 1624, 670, 1625, 666, 664, 1626, 1564, 1564, 1564,
1663 663, 1565, 662, 1557, 1566, 840, 840, 840, 2022, 2022,
1664 2022, 2022, 2022, 2022, 1614, 1576, 1576, 1576, 661, 660,
1665 1578, 1578, 1578, 842, 1579, 2022, 658, 1580, 2022, 1581,
1666 1581, 1581, 657, 1577, 1646, 1646, 1646, 656, 1647, 655,
1667 654, 1648, 1583, 1583, 1583, 653, 1582, 1588, 1588, 1588,
1669 651, 1589, 650, 649, 1590, 1591, 1591, 1591, 646, 645,
1670 1584, 1652, 1652, 1652, 641, 1653, 639, 1637, 1654, 1644,
1671 638, 1645, 1592, 1655, 1655, 1655, 1657, 1657, 1657, 1597,
1672 1597, 1597, 1659, 1659, 1659, 637, 1660, 636, 635, 1661,
1673 758, 758, 758, 1676, 1676, 1676, 1598, 1618, 1618, 1618,
1674 630, 1619, 629, 627, 1620, 1682, 1682, 1682, 760, 624,
1675 1677, 1624, 1624, 1624, 622, 1625, 621, 620, 1626, 840,
1676 840, 840, 1683, 2022, 2022, 2022, 2022, 2022, 2022, 1655,
1677 1655, 1655, 1706, 1706, 1706, 619, 1678, 842, 1675, 616,
1678 2022, 615, 613, 2022, 1646, 1646, 1646, 612, 1647, 1707,
1680 998, 1648, 1652, 1652, 1652, 610, 1653, 609, 608, 1654,
1681 1657, 1657, 1657, 1659, 1659, 1659, 605, 1660, 603, 602,
1682 1661, 1695, 1703, 1714, 1714, 1714, 758, 758, 758, 1676,
1683 1676, 1676, 1725, 1725, 1725, 1702, 1726, 601, 599, 1727,
1684 1715, 1682, 1682, 1682, 760, 597, 1677, 1733, 1733, 1733,
1685 596, 1734, 595, 594, 1735, 1747, 1747, 1747, 1683, 1755,
1686 1755, 1755, 1758, 1758, 1758, 1762, 1762, 1762, 1706, 1706,
1687 1706, 591, 1724, 1748, 590, 589, 1756, 586, 583, 1759,
1688 582, 580, 1763, 998, 579, 1707, 998, 577, 1764, 1764,
1689 1764, 574, 1765, 573, 570, 1766, 1767, 1767, 1767, 1768,
1691 1768, 1768, 1757, 569, 568, 1760, 998, 1714, 1714, 1714,
1692 1773, 1773, 1773, 567, 1774, 566, 565, 1775, 758, 758,
1693 758, 1725, 1725, 1725, 1715, 1726, 560, 559, 1727, 1787,
1694 1787, 1787, 558, 1733, 1733, 1733, 760, 1734, 557, 556,
1695 1735, 1789, 1789, 1789, 555, 554, 1788, 1747, 1747, 1747,
1696 1755, 1755, 1755, 1805, 1805, 1805, 552, 1806, 1790, 551,
1697 1807, 2022, 2022, 2022, 550, 1748, 549, 1756, 1758, 1758,
1698 1758, 548, 1809, 1809, 1809, 547, 1810, 546, 2022, 1811,
1699 1782, 2022, 2022, 2022, 541, 1759, 1762, 1762, 1762, 1814,
1700 1814, 1814, 538, 1815, 540, 535, 1816, 533, 2022, 1767,
1702 1767, 1767, 531, 1763, 998, 2022, 530, 998, 529, 1764,
1703 1764, 1764, 528, 1765, 527, 525, 1766, 1768, 1768, 1768,
1704 523, 1773, 1773, 1773, 521, 1774, 1808, 998, 1775, 1835,
1705 1835, 1835, 520, 1836, 519, 518, 1837, 517, 1829, 1829,
1706 1829, 516, 1787, 1787, 1787, 514, 1812, 996, 996, 996,
1707 996, 996, 996, 996, 996, 996, 1830, 513, 996, 1788,
1708 1789, 1789, 1789, 996, 996, 996, 998, 996, 1838, 1838,
1709 1838, 509, 1839, 508, 506, 1840, 505, 1790, 1805, 1805,
1710 1805, 502, 1806, 501, 500, 1807, 2022, 2022, 2022, 996,
1711 996, 996, 996, 996, 996, 996, 996, 996, 996, 996,
1713 498, 496, 996, 2022, 2022, 2022, 2022, 996, 996, 996,
1714 998, 996, 1809, 1809, 1809, 494, 1810, 492, 491, 1811,
1715 488, 2022, 1814, 1814, 1814, 487, 1815, 483, 481, 1816,
1716 1829, 1829, 1829, 996, 996, 1835, 1835, 1835, 1853, 1836,
1717 998, 480, 1837, 1838, 1838, 1838, 478, 1839, 1830, 477,
1718 1840, 476, 2022, 2022, 2022, 475, 1854, 996, 996, 996,
1719 996, 996, 1861, 996, 996, 996, 474, 471, 996, 2022,
1720 2022, 2022, 2022, 996, 996, 996, 998, 996, 1890, 1890,
1721 1890, 1893, 1893, 1893, 1912, 1912, 1912, 2022, 1913, 469,
1722 468, 1914, 420, 1895, 1895, 1895, 998, 999, 1894, 996,
1724 996, 996, 996, 996, 996, 996, 996, 996, 996, 1861,
1725 1896, 467, 996, 465, 1884, 463, 462, 996, 996, 996,
1726 998, 996, 1897, 1897, 1897, 1900, 1900, 1900, 2022, 2022,
1727 2022, 461, 1885, 2022, 2022, 2022, 1908, 1908, 1908, 1898,
1728 460, 458, 1901, 996, 996, 2022, 1890, 1890, 1890, 456,
1729 2022, 1893, 1893, 1893, 682, 1895, 1895, 1895, 455, 1915,
1730 1915, 1915, 454, 1916, 998, 1899, 1917, 452, 1894, 1897,
1731 1897, 1897, 1896, 1918, 1918, 1918, 450, 1919, 449, 1906,
1732 1920, 1900, 1900, 1900, 1907, 445, 1898, 444, 1922, 1922,
1733 1922, 442, 1923, 441, 1111, 1924, 438, 437, 1901, 2022,
1735 2022, 2022, 2022, 2022, 2022, 1908, 1908, 1908, 1912, 1912,
1736 1912, 436, 1913, 434, 432, 1914, 2022, 430, 2022, 2022,
1737 1915, 1915, 1915, 682, 1916, 406, 405, 1917, 1918, 1918,
1738 1918, 403, 1919, 401, 395, 1920, 1922, 1922, 1922, 394,
1739 1923, 1931, 1929, 1924, 395, 1930, 2022, 2022, 2022, 2022,
1740 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1741 2022, 394, 393, 2022, 392, 2022, 2022, 2022, 2022, 2022,
1742 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 1957,
1743 1957, 1957, 2022, 2022, 2022, 2022, 2022, 2022, 1957, 1957,
1744 1957, 2022, 2022, 2022, 2022, 2022, 1958, 2022, 2022, 2022,
1746 2022, 2022, 2022, 1938, 2022, 1958, 1939, 2022, 2022, 1954,
1747 2022, 1966, 1966, 1966, 1946, 1967, 2022, 1947, 1968, 2022,
1748 2022, 2022, 2022, 2022, 2022, 2022, 2022, 1955, 2022, 2022,
1749 1963, 2022, 2022, 1964, 2022, 2022, 2022, 2022, 2022, 2022,
1750 1966, 1966, 1966, 2022, 1967, 2022, 2022, 1968, 2022, 2022,
1751 2022, 2022, 2022, 2022, 1976, 1976, 1976, 2022, 2022, 2022,
1752 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 1976,
1753 1976, 1976, 682, 1979, 2022, 2022, 1980, 2022, 2022, 1971,
1754 2022, 2022, 1972, 2022, 2022, 2022, 2022, 682, 2022, 2022,
1755 2022, 1974, 2022, 2022, 1975, 2022, 2022, 2022, 2022, 2022,
1757 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1758 2022, 2022, 2022, 1993, 1993, 1993, 2022, 2022, 1977, 2022,
1759 1978, 2022, 2022, 2022, 2022, 2022, 2022, 1995, 1995, 1995,
1760 1994, 1981, 1993, 1993, 1993, 2022, 1982, 2022, 1999, 1999,
1761 1999, 2022, 2000, 2022, 1996, 2001, 2022, 2022, 1986, 1994,
1762 2022, 1985, 2022, 1989, 1995, 1995, 1995, 2002, 2002, 2002,
1763 2022, 2003, 2022, 2022, 2004, 1999, 1999, 1999, 2022, 2000,
1764 2022, 1996, 2001, 1990, 2002, 2002, 2002, 2022, 2003, 2022,
1765 2022, 2004, 2020, 2020, 2020, 2020, 2020, 2020, 2022, 2022,
1766 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1768 2021, 2022, 2022, 2021, 144, 144, 144, 144, 144, 144,
1769 144, 144, 144, 145, 145, 145, 145, 145, 145, 145,
1770 145, 145, 150, 150, 150, 150, 150, 150, 150, 150,
1771 150, 153, 153, 153, 153, 153, 153, 153, 153, 153,
1772 156, 156, 156, 156, 156, 156, 156, 156, 156, 159,
1773 159, 159, 159, 159, 159, 159, 159, 159, 166, 166,
1774 166, 166, 166, 166, 166, 166, 166, 174, 174, 174,
1775 174, 174, 174, 174, 174, 174, 179, 179, 179, 179,
1776 179, 179, 179, 179, 179, 189, 189, 189, 189, 189,
1777 189, 189, 189, 189, 193, 193, 193, 193, 193, 193,
1779 193, 193, 193, 199, 199, 199, 199, 199, 199, 199,
1780 199, 199, 210, 210, 210, 210, 210, 210, 210, 210,
1781 210, 217, 217, 217, 217, 217, 217, 217, 217, 217,
1782 225, 225, 225, 225, 225, 225, 225, 225, 225, 231,
1783 231, 231, 231, 231, 231, 231, 231, 231, 237, 237,
1784 237, 237, 237, 237, 237, 237, 237, 244, 244, 244,
1785 244, 244, 244, 244, 244, 244, 250, 250, 250, 250,
1786 250, 250, 250, 250, 250, 256, 256, 256, 256, 256,
1787 256, 256, 256, 256, 262, 262, 262, 262, 262, 262,
1788 262, 262, 262, 270, 270, 270, 270, 270, 270, 270,
1790 270, 270, 277, 277, 277, 277, 277, 277, 277, 277,
1791 277, 282, 282, 282, 282, 282, 282, 282, 282, 282,
1792 297, 297, 297, 297, 297, 297, 297, 297, 297, 303,
1793 303, 303, 303, 303, 303, 303, 303, 303, 307, 307,
1794 307, 307, 307, 307, 307, 307, 307, 313, 313, 313,
1795 313, 313, 313, 313, 313, 313, 320, 320, 320, 320,
1796 320, 320, 320, 320, 320, 327, 327, 327, 327, 327,
1797 327, 327, 327, 327, 334, 334, 334, 334, 334, 334,
1798 334, 334, 334, 341, 341, 341, 341, 341, 341, 341,
1799 341, 341, 348, 348, 348, 348, 348, 348, 348, 348,
1801 348, 355, 355, 355, 355, 355, 355, 355, 355, 355,
1802 359, 359, 359, 359, 359, 359, 359, 359, 359, 365,
1803 365, 365, 365, 365, 365, 365, 365, 365, 372, 372,
1804 372, 372, 372, 372, 372, 372, 372, 380, 380, 380,
1805 380, 380, 380, 380, 380, 380, 384, 384, 384, 384,
1806 384, 384, 384, 384, 384, 404, 404, 404, 2022, 2022,
1807 2022, 404, 431, 431, 431, 2022, 2022, 2022, 431, 435,
1808 435, 435, 2022, 2022, 2022, 435, 443, 443, 443, 2022,
1809 2022, 2022, 443, 453, 453, 453, 2022, 2022, 2022, 453,
1810 459, 459, 459, 2022, 2022, 2022, 459, 466, 466, 466,
1812 2022, 2022, 2022, 466, 470, 470, 470, 2022, 2022, 2022,
1813 470, 479, 479, 479, 2022, 2022, 2022, 479, 484, 484,
1814 484, 2022, 2022, 2022, 484, 495, 495, 495, 2022, 2022,
1815 2022, 495, 499, 499, 499, 2022, 2022, 2022, 499, 507,
1816 507, 507, 2022, 2022, 2022, 507, 515, 515, 515, 2022,
1817 2022, 2022, 515, 522, 522, 522, 2022, 2022, 2022, 522,
1818 526, 526, 526, 2022, 2022, 2022, 526, 534, 534, 534,
1819 2022, 2022, 2022, 534, 537, 537, 537, 537, 537, 537,
1820 537, 2022, 537, 553, 2022, 2022, 2022, 553, 581, 2022,
1821 2022, 2022, 581, 588, 2022, 2022, 2022, 588, 598, 2022,
1823 2022, 2022, 598, 604, 2022, 2022, 2022, 604, 611, 2022,
1824 2022, 2022, 611, 614, 2022, 2022, 2022, 614, 623, 2022,
1825 2022, 2022, 623, 628, 2022, 2022, 2022, 628, 484, 484,
1826 484, 2022, 2022, 2022, 484, 640, 2022, 2022, 2022, 640,
1827 495, 495, 495, 2022, 2022, 2022, 495, 644, 2022, 2022,
1828 2022, 644, 499, 499, 499, 2022, 2022, 2022, 499, 652,
1829 2022, 2022, 2022, 652, 507, 507, 507, 2022, 2022, 2022,
1830 507, 659, 2022, 2022, 2022, 659, 515, 515, 515, 2022,
1831 2022, 2022, 515, 665, 2022, 2022, 2022, 665, 522, 522,
1832 522, 2022, 2022, 2022, 522, 669, 2022, 2022, 2022, 669,
1834 526, 526, 526, 2022, 2022, 2022, 526, 675, 2022, 2022,
1835 2022, 675, 534, 534, 534, 2022, 2022, 2022, 534, 679,
1836 2022, 2022, 2022, 679, 681, 681, 681, 681, 681, 681,
1837 681, 681, 681, 687, 2022, 2022, 2022, 2022, 687, 404,
1838 404, 404, 2022, 2022, 2022, 404, 697, 697, 697, 697,
1839 2022, 2022, 697, 697, 431, 431, 431, 2022, 2022, 2022,
1840 431, 727, 727, 727, 727, 2022, 2022, 727, 727, 435,
1841 435, 435, 2022, 2022, 2022, 435, 737, 737, 737, 737,
1842 2022, 2022, 737, 737, 443, 443, 443, 2022, 2022, 2022,
1843 443, 751, 751, 751, 751, 2022, 2022, 751, 751, 453,
1845 453, 453, 2022, 2022, 2022, 453, 759, 759, 759, 759,
1846 2022, 2022, 759, 759, 459, 459, 459, 2022, 2022, 2022,
1847 459, 769, 769, 769, 769, 2022, 2022, 769, 769, 466,
1848 466, 466, 2022, 2022, 2022, 466, 774, 774, 774, 774,
1849 2022, 2022, 774, 774, 470, 470, 470, 2022, 2022, 2022,
1850 470, 786, 786, 786, 786, 2022, 2022, 786, 786, 479,
1851 479, 479, 2022, 2022, 2022, 479, 794, 794, 794, 794,
1852 2022, 2022, 794, 794, 484, 484, 484, 2022, 2022, 2022,
1853 484, 812, 812, 812, 812, 2022, 2022, 812, 812, 819,
1854 819, 819, 819, 2022, 2022, 819, 819, 499, 499, 499,
1856 2022, 2022, 2022, 499, 830, 830, 830, 830, 2022, 2022,
1857 830, 830, 507, 507, 507, 2022, 2022, 2022, 507, 841,
1858 841, 841, 841, 2022, 2022, 841, 841, 515, 515, 515,
1859 2022, 2022, 2022, 515, 851, 851, 851, 851, 2022, 2022,
1860 851, 851, 858, 858, 858, 858, 2022, 2022, 858, 858,
1861 526, 526, 526, 2022, 2022, 2022, 526, 866, 866, 866,
1862 866, 2022, 2022, 866, 866, 534, 534, 534, 2022, 2022,
1863 2022, 534, 872, 872, 872, 872, 2022, 2022, 872, 872,
1864 681, 681, 681, 681, 681, 681, 681, 681, 681, 687,
1865 2022, 687, 2022, 2022, 687, 404, 404, 404, 2022, 2022,
1867 2022, 404, 697, 697, 697, 697, 2022, 2022, 697, 697,
1868 431, 431, 431, 431, 2022, 431, 2022, 431, 727, 727,
1869 727, 727, 2022, 2022, 727, 727, 435, 435, 435, 435,
1870 2022, 435, 2022, 435, 737, 737, 737, 737, 2022, 2022,
1871 737, 737, 443, 443, 443, 2022, 2022, 2022, 443, 751,
1872 751, 751, 751, 2022, 2022, 751, 751, 453, 453, 453,
1873 2022, 2022, 2022, 453, 759, 759, 759, 759, 2022, 2022,
1874 759, 759, 459, 459, 459, 2022, 2022, 2022, 459, 769,
1875 769, 769, 769, 2022, 2022, 769, 769, 466, 466, 466,
1876 2022, 2022, 2022, 466, 774, 774, 774, 774, 2022, 2022,
1878 774, 774, 470, 470, 470, 2022, 2022, 2022, 470, 786,
1879 786, 786, 786, 2022, 2022, 786, 786, 479, 479, 479,
1880 2022, 2022, 2022, 479, 794, 794, 794, 794, 2022, 2022,
1881 794, 794, 484, 484, 484, 2022, 2022, 2022, 484, 812,
1882 812, 812, 812, 2022, 2022, 812, 812, 819, 819, 819,
1883 819, 2022, 2022, 819, 819, 499, 499, 499, 2022, 2022,
1884 2022, 499, 830, 830, 830, 830, 2022, 2022, 830, 830,
1885 507, 507, 507, 2022, 2022, 2022, 507, 841, 841, 841,
1886 841, 2022, 2022, 841, 841, 515, 515, 515, 2022, 2022,
1887 2022, 515, 851, 851, 851, 851, 2022, 2022, 851, 851,
1889 858, 858, 858, 858, 2022, 2022, 858, 858, 526, 526,
1890 526, 2022, 2022, 2022, 526, 866, 866, 866, 866, 2022,
1891 2022, 866, 866, 534, 534, 534, 2022, 2022, 2022, 534,
1892 872, 872, 872, 872, 2022, 2022, 872, 872, 681, 681,
1893 681, 681, 681, 681, 681, 681, 681, 996, 996, 996,
1894 996, 996, 996, 996, 996, 996, 404, 404, 404, 2022,
1895 2022, 2022, 404, 697, 697, 697, 697, 2022, 2022, 697,
1896 697, 727, 727, 727, 727, 2022, 2022, 727, 727, 435,
1897 435, 435, 2022, 2022, 2022, 435, 737, 737, 737, 737,
1898 2022, 2022, 737, 737, 443, 443, 443, 2022, 2022, 2022,
1900 443, 751, 751, 751, 751, 2022, 2022, 751, 751, 453,
1901 453, 453, 2022, 2022, 2022, 453, 759, 759, 759, 759,
1902 2022, 2022, 759, 759, 459, 459, 459, 2022, 2022, 2022,
1903 459, 769, 769, 769, 769, 2022, 2022, 769, 769, 466,
1904 466, 466, 2022, 2022, 2022, 466, 774, 774, 774, 774,
1905 2022, 2022, 774, 774, 470, 470, 470, 2022, 2022, 2022,
1906 470, 786, 786, 786, 786, 2022, 2022, 786, 786, 479,
1907 479, 479, 479, 2022, 479, 2022, 479, 794, 794, 794,
1908 794, 2022, 2022, 794, 794, 484, 484, 484, 484, 2022,
1909 484, 2022, 484, 812, 812, 812, 812, 2022, 2022, 812,
1911 812, 819, 819, 819, 819, 2022, 2022, 819, 819, 499,
1912 499, 499, 2022, 2022, 2022, 499, 830, 830, 830, 830,
1913 2022, 2022, 830, 830, 507, 507, 507, 2022, 2022, 2022,
1914 507, 841, 841, 841, 841, 2022, 2022, 841, 841, 515,
1915 515, 515, 2022, 2022, 2022, 515, 851, 851, 851, 851,
1916 2022, 2022, 851, 851, 858, 858, 858, 858, 2022, 2022,
1917 858, 858, 526, 526, 526, 2022, 2022, 2022, 526, 866,
1918 866, 866, 866, 2022, 2022, 866, 866, 534, 534, 534,
1919 534, 2022, 534, 2022, 534, 872, 872, 872, 872, 2022,
1920 2022, 872, 872, 681, 681, 681, 681, 681, 681, 681,
1922 681, 681, 996, 996, 996, 996, 996, 996, 996, 996,
1923 996, 404, 404, 404, 2022, 2022, 2022, 404, 697, 697,
1924 697, 697, 2022, 2022, 697, 697, 727, 727, 727, 727,
1925 2022, 2022, 727, 727, 435, 435, 435, 2022, 2022, 2022,
1926 435, 737, 737, 737, 737, 2022, 2022, 737, 737, 443,
1927 443, 443, 2022, 2022, 2022, 443, 751, 751, 751, 751,
1928 2022, 2022, 751, 751, 453, 453, 453, 2022, 2022, 2022,
1929 453, 759, 759, 759, 759, 2022, 2022, 759, 759, 459,
1930 459, 459, 459, 2022, 459, 2022, 459, 466, 466, 466,
1931 466, 2022, 466, 2022, 466, 774, 774, 774, 774, 2022,
1933 2022, 774, 774, 470, 470, 470, 2022, 2022, 2022, 470,
1934 786, 786, 786, 786, 2022, 2022, 786, 786, 794, 794,
1935 794, 794, 2022, 2022, 794, 794, 484, 484, 484, 484,
1936 2022, 484, 2022, 484, 812, 812, 812, 812, 2022, 2022,
1937 812, 812, 819, 819, 819, 819, 2022, 2022, 819, 819,
1938 499, 499, 499, 2022, 2022, 2022, 499, 830, 830, 830,
1939 830, 2022, 2022, 830, 830, 507, 507, 507, 507, 2022,
1940 507, 2022, 507, 841, 841, 841, 841, 2022, 2022, 841,
1941 841, 515, 515, 515, 515, 2022, 515, 2022, 515, 851,
1942 851, 851, 851, 2022, 2022, 851, 851, 858, 858, 858,
1944 858, 2022, 2022, 858, 858, 526, 526, 526, 2022, 2022,
1945 2022, 526, 866, 866, 866, 866, 2022, 2022, 866, 866,
1946 872, 872, 872, 872, 2022, 2022, 872, 872, 681, 681,
1947 681, 681, 681, 681, 681, 681, 681, 996, 996, 996,
1948 996, 996, 996, 996, 996, 996, 404, 404, 404, 404,
1949 2022, 404, 2022, 404, 697, 697, 697, 697, 2022, 2022,
1950 697, 697, 727, 727, 727, 727, 2022, 2022, 727, 727,
1951 435, 435, 435, 2022, 2022, 2022, 435, 737, 737, 737,
1952 737, 2022, 2022, 737, 737, 443, 443, 443, 2022, 2022,
1953 2022, 443, 751, 751, 751, 751, 2022, 2022, 751, 751,
1955 453, 453, 453, 453, 2022, 453, 2022, 453, 759, 759,
1956 759, 759, 2022, 2022, 759, 759, 459, 459, 459, 459,
1957 2022, 459, 2022, 459, 774, 774, 774, 774, 2022, 2022,
1958 774, 774, 470, 470, 470, 2022, 2022, 2022, 470, 1817,
1959 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1818, 1818,
1960 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1856, 1856, 1856,
1961 1856, 1856, 1856, 1856, 1856, 1856, 1859, 1859, 1859, 1859,
1962 1859, 1859, 1859, 1859, 1859, 1887, 1887, 1887, 1887, 1887,
1963 1887, 1887, 1887, 1887, 1889, 1889, 1889, 1889, 1889, 1889,
1964 1889, 1889, 1889, 143, 2022, 2022, 2022, 2022, 2022, 2022,
1966 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1967 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1968 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1969 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1970 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1971 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1975 static yyconst flex_int16_t yy_chk[7164] =
1977 0, 3, 3, 3, 4, 4, 4, 5, 5, 5,
1978 6, 6, 6, 7, 7, 7, 11, 3, 9, 12,
1979 4, 10, 219, 5, 0, 9, 6, 0, 10, 7,
1980 8, 8, 8, 148, 11, 13, 13, 12, 14, 14,
1981 13, 13, 220, 14, 14, 149, 8, 17, 17, 148,
1982 13, 15, 15, 14, 15, 152, 15, 16, 16, 414,
1983 16, 149, 16, 18, 18, 414, 15, 19, 19, 19,
1984 219, 152, 16, 20, 20, 20, 23, 23, 23, 24,
1985 24, 24, 266, 19, 25, 25, 25, 332, 17, 20,
1986 220, 266, 23, 425, 332, 24, 146, 146, 146, 425,
1988 25, 147, 147, 147, 18, 21, 21, 21, 21, 21,
1989 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
1990 1412, 21, 21, 21, 21, 21, 26, 26, 26, 27,
1991 27, 27, 319, 28, 28, 28, 29, 29, 29, 30,
1992 30, 30, 26, 319, 451, 27, 175, 21, 21, 28,
1993 451, 294, 29, 190, 294, 30, 151, 151, 151, 172,
1994 172, 172, 175, 180, 180, 180, 187, 187, 187, 190,
1995 21, 183, 21, 22, 22, 22, 22, 22, 22, 22,
1996 22, 22, 22, 22, 22, 22, 22, 22, 272, 22,
1997 22, 22, 22, 22, 31, 31, 31, 32, 32, 32,
1999 995, 33, 33, 33, 34, 34, 34, 35, 35, 35,
2000 31, 415, 200, 32, 170, 22, 22, 33, 211, 183,
2001 34, 183, 995, 35, 415, 36, 36, 36, 200, 185,
2002 170, 194, 194, 194, 211, 185, 272, 185, 22, 185,
2003 22, 36, 37, 37, 37, 37, 37, 37, 37, 37,
2004 37, 37, 37, 37, 37, 37, 37, 291, 37, 37,
2005 37, 37, 37, 39, 39, 39, 40, 40, 40, 170,
2006 47, 47, 47, 43, 43, 44, 44, 291, 43, 39,
2007 44, 1152, 40, 215, 37, 37, 47, 215, 43, 1152,
2008 44, 215, 37, 38, 38, 38, 38, 38, 38, 38,
2010 38, 38, 38, 38, 38, 38, 38, 38, 707, 38,
2011 38, 38, 38, 38, 43, 333, 44, 48, 48, 48,
2012 707, 49, 49, 49, 50, 50, 50, 197, 197, 197,
2013 208, 208, 208, 48, 684, 38, 38, 49, 684, 397,
2014 50, 336, 397, 38, 41, 41, 41, 41, 41, 41,
2015 41, 41, 41, 41, 41, 41, 41, 41, 41, 333,
2016 41, 41, 41, 41, 41, 51, 51, 51, 52, 52,
2017 52, 322, 53, 53, 53, 54, 54, 54, 218, 218,
2018 218, 51, 195, 205, 52, 336, 41, 41, 53, 195,
2019 205, 54, 1319, 1319, 41, 1320, 1320, 41, 195, 205,
2021 223, 223, 223, 41, 42, 42, 42, 42, 42, 42,
2022 42, 42, 42, 42, 42, 42, 42, 42, 42, 322,
2023 42, 42, 42, 42, 42, 57, 57, 57, 58, 58,
2024 58, 720, 61, 61, 61, 62, 62, 62, 388, 226,
2025 238, 57, 1156, 720, 58, 233, 42, 42, 61, 422,
2026 1156, 62, 233, 388, 42, 226, 238, 42, 232, 232,
2027 232, 233, 422, 42, 45, 45, 45, 45, 45, 45,
2028 45, 45, 45, 45, 45, 45, 45, 45, 45, 754,
2029 45, 45, 45, 45, 45, 65, 65, 65, 66, 66,
2030 66, 754, 67, 67, 67, 68, 68, 68, 69, 69,
2032 69, 65, 246, 251, 66, 1414, 45, 45, 67, 246,
2033 350, 68, 426, 1419, 69, 45, 1421, 45, 246, 251,
2034 45, 235, 235, 235, 254, 426, 45, 46, 46, 46,
2035 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
2036 46, 46, 439, 46, 46, 46, 46, 46, 70, 70,
2037 70, 73, 73, 73, 350, 74, 74, 74, 75, 75,
2038 75, 76, 76, 76, 70, 254, 263, 73, 254, 46,
2039 46, 74, 278, 1004, 75, 439, 1428, 76, 46, 1004,
2040 46, 1442, 263, 46, 245, 245, 245, 1112, 278, 46,
2041 55, 55, 55, 55, 55, 55, 55, 55, 55, 55,
2043 55, 55, 55, 55, 55, 1443, 55, 55, 55, 55,
2044 55, 77, 77, 77, 78, 78, 78, 1112, 79, 79,
2045 79, 80, 80, 80, 83, 83, 83, 77, 1444, 630,
2046 78, 1111, 55, 55, 79, 289, 304, 80, 630, 55,
2047 83, 248, 248, 248, 55, 257, 257, 257, 260, 260,
2048 260, 289, 304, 55, 56, 56, 56, 56, 56, 56,
2049 56, 56, 56, 56, 56, 56, 56, 56, 56, 1111,
2050 56, 56, 56, 56, 56, 84, 84, 84, 87, 87,
2051 87, 1445, 88, 88, 88, 91, 91, 91, 92, 92,
2052 92, 84, 1325, 1325, 87, 1294, 56, 56, 88, 314,
2054 328, 91, 1294, 56, 92, 271, 271, 271, 56, 275,
2055 275, 275, 283, 283, 283, 314, 328, 56, 59, 59,
2056 59, 59, 59, 59, 59, 59, 59, 59, 59, 59,
2057 59, 59, 59, 1448, 59, 59, 59, 59, 59, 95,
2058 95, 95, 96, 96, 96, 875, 97, 97, 97, 98,
2059 98, 98, 99, 99, 99, 95, 284, 428, 96, 1451,
2060 59, 59, 97, 284, 875, 98, 1232, 1433, 99, 1295,
2061 428, 59, 284, 286, 286, 286, 1295, 59, 1452, 59,
2062 59, 60, 60, 60, 60, 60, 60, 60, 60, 60,
2063 60, 60, 60, 60, 60, 60, 1433, 60, 60, 60,
2065 60, 60, 100, 100, 100, 101, 101, 101, 1232, 102,
2066 102, 102, 105, 105, 105, 106, 106, 106, 100, 1326,
2067 1326, 101, 299, 60, 60, 102, 539, 1230, 105, 299,
2068 1453, 106, 1315, 1230, 60, 298, 298, 298, 299, 1315,
2069 60, 539, 60, 60, 63, 63, 63, 63, 63, 63,
2070 63, 63, 63, 63, 63, 63, 63, 63, 63, 1434,
2071 63, 63, 63, 63, 63, 107, 107, 107, 108, 108,
2072 108, 1454, 109, 109, 109, 110, 110, 110, 111, 111,
2073 111, 107, 1455, 1316, 108, 309, 63, 63, 109, 342,
2074 1316, 110, 309, 1434, 111, 301, 301, 301, 308, 308,
2076 308, 309, 311, 311, 311, 342, 63, 64, 64, 64,
2077 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
2078 64, 64, 1456, 64, 64, 64, 64, 64, 112, 112,
2079 112, 115, 115, 115, 1457, 116, 116, 116, 117, 117,
2080 117, 118, 118, 118, 112, 1458, 1338, 115, 1459, 64,
2081 64, 116, 356, 1413, 117, 1413, 1460, 118, 321, 321,
2082 321, 325, 325, 325, 335, 335, 335, 1461, 356, 64,
2083 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
2084 71, 71, 71, 71, 71, 1338, 71, 71, 71, 71,
2085 71, 119, 119, 119, 120, 120, 120, 1465, 121, 121,
2087 121, 122, 122, 122, 125, 125, 125, 119, 366, 361,
2088 120, 381, 71, 71, 121, 71, 361, 122, 1466, 1415,
2089 125, 1415, 1467, 71, 366, 361, 71, 381, 1339, 71,
2090 1468, 1470, 71, 72, 72, 72, 72, 72, 72, 72,
2091 72, 72, 72, 72, 72, 72, 72, 72, 1477, 72,
2092 72, 72, 72, 72, 126, 126, 126, 129, 129, 129,
2093 1478, 130, 130, 130, 131, 131, 131, 132, 132, 132,
2094 126, 1339, 386, 129, 1479, 72, 72, 130, 72, 386,
2095 131, 1050, 1420, 132, 1420, 1480, 72, 1050, 386, 72,
2096 1050, 1422, 72, 1422, 1050, 72, 81, 81, 81, 81,
2098 81, 81, 81, 81, 81, 81, 81, 81, 81, 81,
2099 81, 374, 81, 81, 81, 81, 81, 133, 133, 133,
2100 134, 134, 134, 1482, 135, 135, 135, 136, 136, 136,
2101 139, 139, 139, 133, 1485, 1051, 134, 1486, 81, 81,
2102 135, 1051, 1487, 136, 1051, 374, 139, 162, 1051, 81,
2103 339, 339, 339, 349, 349, 349, 353, 353, 353, 374,
2104 1488, 81, 82, 82, 82, 82, 82, 82, 82, 82,
2105 82, 82, 82, 82, 82, 82, 82, 1489, 82, 82,
2106 82, 82, 82, 140, 140, 140, 162, 360, 360, 360,
2107 1490, 1495, 162, 363, 363, 363, 162, 1496, 1497, 140,
2109 1498, 162, 1499, 1500, 82, 82, 373, 373, 373, 378,
2110 378, 378, 385, 385, 385, 82, 387, 387, 387, 542,
2111 542, 542, 1521, 542, 710, 710, 710, 82, 85, 85,
2112 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
2113 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
2114 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
2115 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
2116 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
2117 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
2118 85, 85, 85, 85, 85, 85, 85, 89, 89, 89,
2120 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
2121 89, 89, 1513, 89, 89, 89, 89, 89, 396, 396,
2122 396, 437, 437, 437, 445, 445, 445, 460, 460, 460,
2123 472, 472, 472, 718, 718, 718, 1522, 1523, 437, 89,
2124 89, 445, 1524, 1529, 460, 1530, 1531, 472, 1513, 1231,
2125 89, 90, 90, 90, 90, 90, 90, 90, 90, 90,
2126 90, 90, 90, 90, 90, 90, 1514, 90, 90, 90,
2127 90, 90, 1532, 396, 480, 480, 480, 1231, 486, 486,
2128 486, 487, 487, 487, 496, 496, 496, 888, 888, 888,
2129 1527, 480, 1533, 90, 90, 486, 1534, 1535, 487, 1536,
2131 1514, 496, 1527, 1515, 90, 93, 93, 93, 93, 93,
2132 93, 93, 93, 93, 93, 93, 93, 93, 93, 93,
2133 1537, 93, 93, 93, 93, 93, 501, 501, 501, 523,
2134 523, 523, 553, 553, 553, 554, 554, 554, 581, 581,
2135 581, 1110, 1515, 501, 1538, 1539, 523, 93, 93, 1541,
2136 553, 93, 1542, 554, 1543, 1551, 581, 1110, 93, 1552,
2137 93, 893, 893, 893, 896, 896, 896, 93, 94, 94,
2138 94, 94, 94, 94, 94, 94, 94, 94, 94, 94,
2139 94, 94, 94, 1553, 94, 94, 94, 94, 94, 554,
2140 582, 582, 582, 1558, 1528, 584, 584, 584, 585, 585,
2142 585, 1559, 585, 1560, 1561, 585, 1528, 1562, 582, 1563,
2143 94, 94, 584, 1568, 94, 593, 593, 593, 1569, 593,
2144 1570, 94, 593, 94, 900, 900, 900, 904, 904, 904,
2145 94, 103, 103, 103, 103, 103, 103, 103, 103, 103,
2146 103, 103, 103, 103, 103, 103, 582, 103, 103, 103,
2147 103, 103, 588, 588, 588, 1571, 1572, 589, 589, 589,
2148 592, 592, 592, 594, 594, 594, 596, 596, 596, 1573,
2149 588, 1586, 1594, 103, 103, 589, 103, 592, 1587, 103,
2150 594, 1565, 1566, 596, 607, 607, 607, 1596, 607, 1565,
2151 1566, 607, 1585, 103, 104, 104, 104, 104, 104, 104,
2153 104, 104, 104, 104, 104, 104, 104, 104, 104, 1586,
2154 104, 104, 104, 104, 104, 1599, 1587, 589, 1585, 1600,
2155 598, 598, 598, 604, 604, 604, 1601, 1602, 599, 599,
2156 599, 605, 605, 605, 1603, 1604, 104, 104, 598, 104,
2157 1605, 604, 104, 618, 618, 618, 599, 618, 1606, 605,
2158 618, 930, 930, 930, 1607, 1609, 104, 113, 113, 113,
2159 113, 113, 113, 113, 113, 113, 113, 113, 113, 113,
2160 113, 113, 599, 113, 113, 113, 113, 113, 606, 606,
2161 606, 1610, 1611, 611, 611, 611, 614, 614, 614, 1612,
2162 1616, 605, 617, 617, 617, 606, 612, 612, 612, 113,
2164 113, 611, 113, 1617, 614, 113, 1009, 1009, 1009, 617,
2165 113, 626, 626, 626, 612, 626, 1621, 1623, 626, 113,
2166 114, 114, 114, 114, 114, 114, 114, 114, 114, 114,
2167 114, 114, 114, 114, 114, 1627, 114, 114, 114, 114,
2168 114, 615, 615, 615, 612, 1628, 623, 623, 623, 624,
2169 624, 624, 625, 625, 625, 1629, 628, 628, 628, 615,
2170 1630, 1631, 114, 114, 623, 114, 1632, 624, 114, 625,
2171 1011, 1011, 1011, 114, 628, 1015, 1015, 1015, 1021, 1021,
2172 1021, 1633, 114, 123, 123, 123, 123, 123, 123, 123,
2173 123, 123, 123, 123, 123, 123, 123, 123, 615, 123,
2175 123, 123, 123, 123, 1634, 1635, 624, 1636, 1638, 629,
2176 629, 629, 631, 631, 631, 632, 632, 632, 1639, 632,
2177 1640, 1641, 632, 1642, 1643, 123, 123, 629, 1656, 631,
2178 1022, 1022, 1022, 1047, 1047, 1047, 123, 124, 124, 124,
2179 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
2180 124, 124, 1650, 124, 124, 124, 124, 124, 633, 633,
2181 633, 634, 634, 634, 1658, 634, 1662, 1663, 634, 629,
2182 635, 635, 635, 1664, 1665, 633, 1126, 1126, 1126, 124,
2183 124, 643, 643, 643, 1650, 643, 1667, 635, 643, 1668,
2184 124, 127, 127, 127, 127, 127, 127, 127, 127, 127,
2186 127, 127, 127, 127, 127, 127, 1669, 127, 127, 127,
2187 127, 127, 640, 640, 640, 642, 642, 642, 644, 644,
2188 644, 641, 641, 641, 645, 645, 645, 647, 647, 647,
2189 640, 1670, 642, 127, 127, 1649, 644, 1671, 1672, 641,
2190 1673, 127, 645, 127, 647, 127, 1127, 1127, 1127, 1129,
2191 1129, 1129, 1674, 127, 128, 128, 128, 128, 128, 128,
2192 128, 128, 128, 128, 128, 128, 128, 128, 128, 1678,
2193 128, 128, 128, 128, 128, 641, 648, 648, 648, 1649,
2194 648, 645, 1680, 648, 652, 652, 652, 653, 653, 653,
2195 655, 655, 655, 656, 656, 656, 128, 128, 662, 662,
2197 662, 1681, 652, 1684, 128, 653, 128, 655, 128, 1685,
2198 656, 1130, 1130, 1130, 1686, 662, 128, 137, 137, 137,
2199 137, 137, 137, 137, 137, 137, 137, 137, 137, 137,
2200 137, 137, 1687, 137, 137, 137, 137, 137, 1688, 653,
2201 659, 659, 659, 1689, 664, 664, 664, 660, 660, 660,
2202 665, 665, 665, 666, 666, 666, 1679, 1679, 659, 137,
2203 137, 664, 667, 667, 667, 660, 1690, 1691, 665, 1692,
2204 1693, 666, 1694, 668, 668, 668, 1696, 668, 1697, 667,
2205 668, 1698, 137, 138, 138, 138, 138, 138, 138, 138,
2206 138, 138, 138, 138, 138, 138, 138, 138, 1699, 138,
2208 138, 138, 138, 138, 660, 669, 669, 669, 1700, 1701,
2209 666, 670, 670, 670, 675, 675, 675, 676, 676, 676,
2210 679, 679, 679, 669, 1710, 138, 138, 1704, 1711, 670,
2211 1712, 1713, 675, 1716, 1717, 676, 1719, 1720, 679, 680,
2212 680, 680, 696, 696, 696, 725, 725, 725, 138, 181,
2213 697, 697, 697, 890, 890, 890, 181, 680, 1704, 1721,
2214 696, 1723, 725, 670, 1728, 181, 1729, 890, 697, 699,
2215 699, 699, 1730, 726, 726, 726, 1731, 676, 727, 727,
2216 727, 1737, 1738, 729, 729, 729, 1739, 699, 1740, 1741,
2217 181, 726, 181, 1742, 1744, 181, 727, 181, 181, 680,
2219 181, 729, 1746, 1749, 181, 1750, 181, 181, 181, 182,
2220 730, 730, 730, 699, 1751, 1752, 182, 731, 731, 731,
2221 1753, 731, 1754, 1761, 731, 182, 1769, 730, 1770, 729,
2222 734, 734, 734, 736, 736, 736, 737, 737, 737, 1771,
2223 1772, 739, 739, 739, 744, 744, 744, 734, 1776, 1777,
2224 182, 736, 182, 1778, 737, 182, 1779, 182, 182, 739,
2225 182, 744, 1761, 1780, 182, 1781, 182, 182, 182, 741,
2226 741, 741, 1783, 741, 1784, 1785, 741, 745, 745, 745,
2227 1786, 745, 1791, 1792, 745, 739, 1793, 734, 746, 746,
2228 746, 747, 747, 747, 748, 748, 748, 1794, 748, 1795,
2230 1796, 748, 750, 750, 750, 746, 1799, 1800, 747, 751,
2231 751, 751, 753, 753, 753, 756, 756, 756, 1801, 1802,
2232 750, 758, 758, 758, 759, 759, 759, 751, 1803, 1804,
2233 753, 1819, 756, 761, 761, 761, 762, 762, 762, 758,
2234 762, 1821, 759, 762, 768, 768, 768, 769, 769, 769,
2235 1824, 761, 771, 771, 771, 773, 773, 773, 774, 774,
2236 774, 1815, 768, 1816, 1813, 769, 1825, 1827, 753, 1828,
2237 771, 1831, 1832, 773, 1816, 1815, 774, 761, 776, 776,
2238 776, 778, 778, 778, 1833, 778, 1834, 1841, 778, 785,
2239 785, 785, 786, 786, 786, 1842, 776, 788, 788, 788,
2241 1844, 789, 789, 789, 1845, 789, 1813, 785, 789, 1847,
2242 786, 793, 793, 793, 771, 788, 794, 794, 794, 796,
2243 796, 796, 1848, 799, 799, 799, 1850, 799, 1851, 793,
2244 799, 805, 805, 805, 794, 1858, 1839, 796, 776, 802,
2245 802, 802, 1855, 802, 1840, 1860, 802, 1839, 805, 806,
2246 806, 806, 1862, 806, 1863, 1840, 806, 1856, 788, 811,
2247 811, 811, 812, 812, 812, 814, 814, 814, 815, 815,
2248 815, 1856, 815, 1857, 1857, 815, 796, 811, 1872, 1855,
2249 812, 1873, 1874, 814, 818, 818, 818, 819, 819, 819,
2250 821, 821, 821, 823, 823, 823, 1859, 823, 1875, 1887,
2252 823, 1888, 818, 1889, 1891, 819, 1892, 1859, 821, 829,
2253 829, 829, 830, 830, 830, 832, 832, 832, 834, 834,
2254 834, 1899, 835, 835, 835, 1902, 835, 829, 814, 835,
2255 830, 1903, 1904, 832, 1905, 834, 1909, 836, 836, 836,
2256 837, 837, 837, 1921, 837, 1925, 1926, 837, 840, 840,
2257 840, 1927, 1928, 821, 836, 841, 841, 841, 843, 843,
2258 843, 845, 845, 845, 1933, 1931, 840, 1934, 846, 846,
2259 846, 832, 846, 841, 1935, 846, 843, 1936, 845, 848,
2260 848, 848, 849, 849, 849, 1937, 849, 1931, 1940, 849,
2261 850, 850, 850, 851, 851, 851, 848, 853, 853, 853,
2263 854, 854, 854, 1941, 854, 1942, 1940, 854, 850, 1943,
2264 1944, 851, 857, 857, 857, 853, 858, 858, 858, 1945,
2265 1948, 843, 860, 860, 860, 862, 862, 862, 1950, 1951,
2266 857, 865, 865, 865, 858, 866, 866, 866, 1952, 1948,
2267 860, 1953, 862, 868, 868, 868, 871, 871, 871, 865,
2268 872, 872, 872, 866, 874, 874, 874, 876, 876, 876,
2269 853, 868, 1959, 1961, 871, 884, 884, 884, 872, 911,
2270 911, 911, 874, 1411, 1979, 876, 876, 1983, 860, 901,
2271 901, 901, 1980, 884, 1956, 1965, 911, 912, 912, 912,
2272 1956, 912, 1991, 901, 912, 913, 913, 913, 1965, 1987,
2274 868, 914, 914, 914, 874, 915, 915, 915, 2013, 915,
2275 1984, 1983, 915, 913, 918, 918, 918, 1979, 914, 920,
2276 920, 920, 1997, 920, 1991, 1980, 920, 884, 923, 923,
2277 923, 1410, 918, 924, 924, 924, 1987, 924, 1992, 1409,
2278 924, 929, 929, 929, 1984, 923, 925, 925, 925, 913,
2279 925, 1408, 2013, 925, 932, 932, 932, 1988, 1998, 929,
2280 918, 933, 933, 933, 1997, 933, 2007, 2014, 933, 2008,
2281 1992, 932, 934, 934, 934, 935, 935, 935, 939, 939,
2282 939, 941, 941, 941, 945, 945, 945, 1407, 929, 934,
2283 946, 946, 946, 935, 1988, 2007, 939, 2005, 2008, 941,
2285 1998, 945, 947, 947, 947, 2017, 2006, 946, 948, 948,
2286 948, 2014, 949, 949, 949, 950, 950, 950, 2011, 2017,
2287 947, 935, 951, 951, 951, 948, 955, 955, 955, 941,
2288 949, 2005, 950, 946, 952, 952, 952, 2012, 952, 951,
2289 2006, 952, 1406, 955, 956, 956, 956, 2011, 957, 957,
2290 957, 958, 958, 958, 959, 959, 959, 960, 960, 960,
2291 2009, 956, 2010, 1405, 947, 957, 2012, 1394, 958, 2009,
2292 949, 2010, 959, 1393, 2015, 960, 1392, 964, 964, 964,
2293 965, 965, 965, 1391, 951, 2016, 967, 967, 967, 2018,
2294 967, 1390, 957, 967, 964, 970, 970, 970, 965, 970,
2296 2018, 1389, 970, 2015, 974, 974, 974, 975, 975, 975,
2297 956, 987, 987, 987, 2016, 959, 1388, 958, 974, 960,
2298 964, 1387, 977, 977, 977, 975, 977, 1381, 987, 977,
2299 981, 981, 981, 965, 981, 1380, 1379, 981, 984, 984,
2300 984, 985, 985, 985, 988, 988, 988, 1378, 988, 1377,
2301 1376, 988, 991, 991, 991, 1375, 984, 1374, 1373, 985,
2302 993, 993, 993, 994, 994, 994, 997, 997, 997, 975,
2303 991, 1005, 1005, 1005, 1017, 1017, 1017, 993, 1018, 1018,
2304 1018, 994, 1372, 1366, 997, 1024, 1024, 1024, 1017, 1005,
2305 1363, 1361, 1018, 1359, 985, 1025, 1025, 1025, 991, 1024,
2307 984, 1027, 1027, 1027, 1029, 1029, 1029, 1355, 1354, 1025,
2308 1030, 1030, 1030, 1335, 997, 1027, 1333, 1332, 1029, 1322,
2309 1005, 1031, 1031, 1031, 1030, 1031, 994, 1317, 1031, 1314,
2310 997, 1034, 1034, 1034, 1017, 1035, 1035, 1035, 1313, 1035,
2311 1310, 1296, 1035, 1293, 1292, 1024, 1052, 1052, 1052, 1034,
2312 1040, 1040, 1040, 1042, 1042, 1042, 1291, 1042, 1277, 1276,
2313 1042, 1027, 1275, 1052, 1029, 1046, 1046, 1046, 1040, 1049,
2314 1049, 1049, 1274, 1049, 1273, 1272, 1049, 1053, 1053, 1053,
2315 1271, 1053, 1270, 1046, 1053, 1054, 1054, 1054, 1055, 1055,
2316 1055, 1056, 1056, 1056, 1034, 1057, 1057, 1057, 1040, 1058,
2318 1058, 1058, 1269, 1054, 1268, 1055, 1264, 1263, 1056, 1060,
2319 1060, 1060, 1057, 1061, 1061, 1061, 1260, 1058, 1065, 1065,
2320 1065, 1259, 1046, 1066, 1066, 1066, 1060, 1066, 1257, 1255,
2321 1066, 1061, 1249, 1054, 1247, 1065, 1067, 1067, 1067, 1068,
2322 1068, 1068, 1244, 1068, 1243, 1056, 1068, 1070, 1070, 1070,
2323 1071, 1071, 1071, 1067, 1072, 1072, 1072, 1061, 1072, 1239,
2324 1233, 1072, 1073, 1073, 1073, 1070, 1225, 1071, 1074, 1074,
2325 1074, 1075, 1075, 1075, 1223, 1075, 1222, 1221, 1075, 1214,
2326 1073, 1076, 1076, 1076, 1208, 1074, 1077, 1077, 1077, 1078,
2327 1078, 1078, 1207, 1078, 1206, 1204, 1078, 1202, 1076, 1079,
2329 1079, 1079, 1179, 1077, 1080, 1080, 1080, 1081, 1081, 1081,
2330 1082, 1082, 1082, 1083, 1083, 1083, 1079, 1087, 1087, 1087,
2331 1178, 1080, 1177, 1172, 1081, 1088, 1088, 1088, 1082, 1088,
2332 1171, 1083, 1088, 1170, 1087, 1090, 1090, 1090, 1091, 1091,
2333 1091, 1157, 1092, 1092, 1092, 1094, 1094, 1094, 1095, 1095,
2334 1095, 1155, 1154, 1090, 1153, 1091, 1151, 1150, 1080, 1092,
2335 1147, 1083, 1146, 1094, 1144, 1095, 1096, 1096, 1096, 1097,
2336 1097, 1097, 1082, 1143, 1098, 1098, 1098, 1100, 1100, 1100,
2337 1141, 1100, 1140, 1096, 1100, 1139, 1137, 1097, 1098, 1105,
2338 1105, 1105, 1098, 1094, 1107, 1107, 1107, 1108, 1108, 1108,
2340 1133, 1108, 1092, 1132, 1108, 1131, 1128, 1105, 1125, 1096,
2341 1124, 1107, 1109, 1109, 1109, 1123, 1122, 1097, 1115, 1115,
2342 1115, 1116, 1116, 1116, 1117, 1117, 1117, 1118, 1118, 1118,
2343 1109, 1134, 1134, 1134, 1121, 1115, 1120, 1105, 1116, 1119,
2344 1114, 1117, 1135, 1135, 1135, 1118, 1136, 1136, 1136, 1138,
2345 1138, 1138, 1142, 1142, 1142, 1106, 1145, 1145, 1145, 1148,
2346 1148, 1148, 1149, 1149, 1149, 1104, 1103, 1109, 1099, 1093,
2347 1142, 1089, 1086, 1116, 1145, 1085, 1084, 1148, 1069, 1149,
2348 1064, 1117, 1063, 1062, 1118, 1158, 1158, 1158, 1048, 1158,
2349 1045, 1041, 1158, 1161, 1161, 1161, 1162, 1162, 1162, 1142,
2351 1039, 1163, 1163, 1163, 1038, 1163, 1028, 1161, 1163, 1026,
2352 1023, 1161, 1020, 1162, 1148, 1164, 1164, 1164, 1165, 1165,
2353 1165, 1166, 1166, 1166, 1019, 1166, 1016, 1014, 1166, 1167,
2354 1167, 1167, 1164, 1013, 1012, 1165, 1168, 1168, 1168, 1010,
2355 1168, 1008, 1007, 1168, 1006, 1003, 1167, 1169, 1169, 1169,
2356 1173, 1173, 1173, 1002, 1173, 999, 996, 1173, 992, 1176,
2357 1176, 1176, 990, 1176, 989, 1169, 1176, 1180, 1180, 1180,
2358 1182, 1182, 1182, 986, 1182, 980, 976, 1182, 1185, 1185,
2359 1185, 973, 1187, 1187, 1187, 1180, 1187, 966, 963, 1187,
2360 1190, 1190, 1190, 1169, 962, 961, 1185, 1191, 1191, 1191,
2362 944, 1191, 943, 942, 1191, 940, 938, 1190, 1192, 1192,
2363 1192, 937, 1192, 936, 931, 1192, 1195, 1195, 1195, 1196,
2364 1196, 1196, 928, 1196, 919, 917, 1196, 1197, 1197, 1197,
2365 1198, 1198, 1198, 1195, 1199, 1199, 1199, 916, 1199, 910,
2366 909, 1199, 908, 907, 1197, 906, 905, 1198, 1200, 1200,
2367 1200, 1201, 1201, 1201, 1203, 1203, 1203, 1205, 1205, 1205,
2368 903, 1205, 902, 899, 1205, 898, 1200, 897, 895, 1201,
2369 894, 1203, 1209, 1209, 1209, 1211, 1211, 1211, 1212, 1212,
2370 1212, 892, 1212, 891, 889, 1212, 1213, 1213, 1213, 887,
2371 1209, 886, 1211, 1216, 1216, 1216, 1200, 1203, 1215, 1215,
2373 1215, 885, 883, 1213, 1218, 1218, 1218, 1219, 1219, 1219,
2374 1216, 1201, 1215, 1217, 1217, 1217, 1215, 1217, 882, 881,
2375 1217, 1218, 1220, 1220, 1220, 1219, 1224, 1224, 1224, 1226,
2376 1226, 1226, 880, 1226, 879, 870, 1226, 869, 1213, 864,
2377 1220, 1229, 1229, 1229, 1224, 1234, 1234, 1234, 1235, 1235,
2378 1235, 863, 1235, 861, 847, 1235, 1236, 1236, 1236, 1229,
2379 844, 1218, 1234, 1237, 1237, 1237, 839, 838, 1220, 833,
2380 1238, 1238, 1238, 1236, 1240, 1240, 1240, 1241, 1241, 1241,
2381 1237, 1242, 1242, 1242, 1245, 1245, 1245, 1224, 1238, 1229,
2382 1246, 1246, 1246, 1248, 1248, 1248, 1250, 1250, 1250, 1251,
2384 1251, 1251, 1252, 1252, 1252, 1253, 1253, 1253, 1254, 1254,
2385 1254, 828, 1236, 1256, 1256, 1256, 1258, 1258, 1258, 1261,
2386 1261, 1261, 1265, 1265, 1265, 827, 1237, 1266, 1266, 1266,
2387 1238, 1267, 1267, 1267, 1258, 1267, 826, 1261, 1267, 822,
2388 1265, 1278, 1278, 1278, 1266, 1279, 1279, 1279, 810, 1279,
2389 809, 808, 1279, 1282, 1282, 1282, 1283, 1283, 1283, 1278,
2390 1283, 807, 798, 1283, 1258, 1284, 1284, 1284, 797, 1284,
2391 1282, 792, 1284, 1287, 1287, 1287, 784, 1287, 783, 782,
2392 1287, 1290, 1290, 1290, 1297, 1297, 1297, 1278, 1297, 781,
2393 777, 1297, 772, 1300, 1300, 1300, 767, 1300, 766, 1290,
2395 1300, 1303, 1303, 1303, 1304, 1304, 1304, 765, 1304, 757,
2396 755, 1304, 1305, 1305, 1305, 749, 1305, 740, 1303, 1305,
2397 1308, 1308, 1308, 1309, 1309, 1309, 1311, 1311, 1311, 1312,
2398 1312, 1312, 1290, 1312, 735, 724, 1312, 723, 1308, 722,
2399 721, 1309, 719, 1311, 1318, 1318, 1318, 717, 1318, 716,
2400 715, 1318, 1321, 1321, 1321, 1323, 1323, 1323, 1324, 1324,
2401 1324, 714, 1324, 713, 712, 1324, 1327, 1327, 1327, 1321,
2402 1328, 1328, 1328, 1323, 1330, 1330, 1330, 1331, 1331, 1331,
2403 1308, 711, 709, 1327, 1334, 1334, 1334, 708, 1328, 1337,
2404 1337, 1337, 1330, 706, 1331, 1336, 1336, 1336, 1321, 1340,
2406 1340, 1340, 1334, 705, 1341, 1341, 1341, 1337, 1341, 704,
2407 1323, 1341, 703, 1336, 1344, 1344, 1344, 1345, 1345, 1345,
2408 702, 701, 1327, 1346, 1346, 1346, 1347, 1347, 1347, 700,
2409 695, 1344, 694, 693, 1345, 692, 1330, 1348, 1348, 1348,
2410 689, 1346, 1349, 1349, 1349, 1334, 1350, 1350, 1350, 688,
2411 687, 1336, 1351, 1351, 1351, 1352, 1352, 1352, 1353, 1353,
2412 1353, 1356, 1356, 1356, 1357, 1357, 1357, 1344, 1358, 1358,
2413 1358, 1360, 1360, 1360, 1362, 1362, 1362, 685, 1346, 1345,
2414 1365, 1365, 1365, 1367, 1367, 1367, 1369, 1369, 1369, 681,
2415 1369, 678, 1362, 1369, 1382, 1382, 1382, 1365, 1383, 1383,
2417 1383, 1367, 1383, 677, 674, 1383, 1386, 1386, 1386, 1395,
2418 1395, 1395, 1382, 1395, 673, 672, 1395, 1398, 1398, 1398,
2419 1399, 1399, 1399, 671, 1386, 1401, 1401, 1401, 663, 1402,
2420 1402, 1402, 661, 1402, 658, 1398, 1402, 657, 1399, 1416,
2421 1416, 1416, 1401, 1417, 1417, 1417, 1418, 1418, 1418, 654,
2422 651, 1382, 1423, 1423, 1423, 650, 1416, 1424, 1424, 1424,
2423 1425, 1425, 1425, 649, 1418, 1427, 1427, 1427, 1401, 1423,
2424 646, 639, 1426, 1426, 1426, 1424, 1426, 1425, 638, 1426,
2425 637, 636, 1427, 1429, 1429, 1429, 1430, 1430, 1430, 1431,
2426 1431, 1431, 1432, 1432, 1432, 1423, 1435, 1435, 1435, 627,
2428 622, 1429, 1436, 1436, 1436, 621, 620, 1431, 619, 1418,
2429 1432, 616, 613, 1424, 1437, 1437, 1437, 610, 609, 1436,
2430 1438, 1438, 1438, 1439, 1439, 1439, 1440, 1440, 1440, 608,
2431 603, 1437, 1441, 1441, 1441, 1446, 1446, 1446, 1438, 1449,
2432 1449, 1449, 1450, 1450, 1450, 602, 1450, 601, 600, 1450,
2433 1432, 1431, 597, 1446, 595, 591, 1449, 1462, 1462, 1462,
2434 587, 586, 1437, 1463, 1463, 1463, 1472, 1472, 1472, 1473,
2435 1473, 1473, 1475, 1475, 1475, 1462, 583, 580, 1476, 1476,
2436 1476, 1463, 1476, 1472, 579, 1476, 578, 1473, 577, 1475,
2437 1484, 1484, 1484, 1491, 1491, 1491, 1492, 1492, 1492, 576,
2439 1492, 575, 574, 1492, 1493, 1493, 1493, 1484, 573, 572,
2440 1491, 571, 570, 1462, 1494, 1494, 1494, 1501, 1501, 1501,
2441 1502, 1502, 1502, 1503, 1503, 1503, 569, 1503, 568, 567,
2442 1503, 566, 1494, 565, 1501, 1506, 1506, 1506, 1502, 1507,
2443 1507, 1507, 564, 1507, 563, 562, 1507, 561, 1508, 1508,
2444 1508, 560, 1506, 1509, 1509, 1509, 1511, 1511, 1511, 1512,
2445 1512, 1512, 559, 558, 1501, 1508, 557, 556, 1494, 555,
2446 552, 1509, 1516, 1516, 1516, 551, 550, 1512, 1501, 1517,
2447 1517, 1517, 548, 1517, 547, 546, 1517, 545, 544, 1516,
2448 1518, 1518, 1518, 1519, 1519, 1519, 1525, 1525, 1525, 1526,
2450 1526, 1526, 540, 1526, 538, 537, 1526, 1518, 1540, 1540,
2451 1540, 1519, 536, 1525, 1546, 1546, 1546, 1547, 1547, 1547,
2452 535, 1547, 532, 531, 1547, 530, 1540, 529, 1548, 1548,
2453 1548, 1546, 1548, 528, 527, 1548, 1556, 1556, 1556, 1557,
2454 1557, 1557, 524, 1557, 520, 519, 1557, 1564, 1564, 1564,
2455 518, 1564, 517, 1556, 1564, 1567, 1567, 1567, 1574, 1574,
2456 1574, 1575, 1575, 1575, 1540, 1576, 1576, 1576, 516, 513,
2457 1578, 1578, 1578, 1567, 1578, 1574, 512, 1578, 1575, 1581,
2458 1581, 1581, 511, 1576, 1582, 1582, 1582, 510, 1582, 509,
2459 508, 1582, 1583, 1583, 1583, 505, 1581, 1588, 1588, 1588,
2461 504, 1588, 503, 502, 1588, 1591, 1591, 1591, 500, 497,
2462 1583, 1592, 1592, 1592, 493, 1592, 492, 1567, 1592, 1574,
2463 491, 1575, 1591, 1593, 1593, 1593, 1595, 1595, 1595, 1597,
2464 1597, 1597, 1598, 1598, 1598, 490, 1598, 489, 488, 1598,
2465 1614, 1614, 1614, 1615, 1615, 1615, 1597, 1618, 1618, 1618,
2466 485, 1618, 482, 481, 1618, 1622, 1622, 1622, 1614, 477,
2467 1615, 1624, 1624, 1624, 476, 1624, 475, 474, 1624, 1637,
2468 1637, 1637, 1622, 1644, 1644, 1644, 1645, 1645, 1645, 1655,
2469 1655, 1655, 1651, 1651, 1651, 473, 1615, 1637, 1614, 471,
2470 1644, 468, 467, 1645, 1646, 1646, 1646, 464, 1646, 1651,
2472 1651, 1646, 1652, 1652, 1652, 463, 1652, 462, 461, 1652,
2473 1657, 1657, 1657, 1659, 1659, 1659, 457, 1659, 456, 455,
2474 1659, 1637, 1645, 1666, 1666, 1666, 1675, 1675, 1675, 1676,
2475 1676, 1676, 1677, 1677, 1677, 1644, 1677, 454, 450, 1677,
2476 1666, 1682, 1682, 1682, 1675, 449, 1676, 1683, 1683, 1683,
2477 448, 1683, 447, 446, 1683, 1695, 1695, 1695, 1682, 1702,
2478 1702, 1702, 1703, 1703, 1703, 1705, 1705, 1705, 1706, 1706,
2479 1706, 444, 1675, 1695, 441, 440, 1702, 438, 436, 1703,
2480 433, 432, 1705, 1705, 429, 1706, 1706, 427, 1707, 1707,
2481 1707, 424, 1707, 423, 421, 1707, 1708, 1708, 1708, 1709,
2483 1709, 1709, 1702, 420, 419, 1703, 1707, 1714, 1714, 1714,
2484 1715, 1715, 1715, 418, 1715, 417, 416, 1715, 1724, 1724,
2485 1724, 1725, 1725, 1725, 1714, 1725, 413, 412, 1725, 1732,
2486 1732, 1732, 411, 1733, 1733, 1733, 1724, 1733, 410, 409,
2487 1733, 1736, 1736, 1736, 408, 407, 1732, 1747, 1747, 1747,
2488 1755, 1755, 1755, 1756, 1756, 1756, 406, 1756, 1736, 405,
2489 1756, 1757, 1757, 1757, 402, 1747, 401, 1755, 1758, 1758,
2490 1758, 400, 1759, 1759, 1759, 399, 1759, 398, 1757, 1759,
2491 1724, 1760, 1760, 1760, 392, 1758, 1762, 1762, 1762, 1763,
2492 1763, 1763, 391, 1763, 389, 383, 1763, 379, 1760, 1767,
2494 1767, 1767, 376, 1762, 1762, 375, 371, 1763, 370, 1764,
2495 1764, 1764, 369, 1764, 368, 364, 1764, 1768, 1768, 1768,
2496 358, 1773, 1773, 1773, 354, 1773, 1757, 1764, 1773, 1788,
2497 1788, 1788, 351, 1788, 347, 346, 1788, 345, 1782, 1782,
2498 1782, 344, 1787, 1787, 1787, 340, 1760, 1765, 1765, 1765,
2499 1765, 1765, 1765, 1765, 1765, 1765, 1782, 337, 1765, 1787,
2500 1789, 1789, 1789, 1765, 1765, 1765, 1765, 1765, 1790, 1790,
2501 1790, 331, 1790, 330, 326, 1790, 323, 1789, 1805, 1805,
2502 1805, 318, 1805, 317, 316, 1805, 1808, 1808, 1808, 1765,
2503 1765, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766,
2505 312, 306, 1766, 1808, 1812, 1812, 1812, 1766, 1766, 1766,
2506 1766, 1766, 1809, 1809, 1809, 302, 1809, 296, 295, 1809,
2507 293, 1812, 1814, 1814, 1814, 292, 1814, 287, 281, 1814,
2508 1829, 1829, 1829, 1766, 1766, 1835, 1835, 1835, 1808, 1835,
2509 1814, 280, 1835, 1838, 1838, 1838, 276, 1838, 1829, 273,
2510 1838, 269, 1853, 1853, 1853, 268, 1812, 1817, 1817, 1817,
2511 1817, 1817, 1817, 1817, 1817, 1817, 267, 265, 1817, 1853,
2512 1854, 1854, 1854, 1817, 1817, 1817, 1817, 1817, 1861, 1861,
2513 1861, 1868, 1868, 1868, 1894, 1894, 1894, 1854, 1894, 261,
2514 258, 1894, 255, 1869, 1869, 1869, 1861, 1861, 1868, 1817,
2516 1817, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818,
2517 1869, 253, 1818, 249, 1853, 243, 242, 1818, 1818, 1818,
2518 1818, 1818, 1870, 1870, 1870, 1871, 1871, 1871, 1884, 1884,
2519 1884, 241, 1854, 1885, 1885, 1885, 1886, 1886, 1886, 1870,
2520 240, 236, 1871, 1818, 1818, 1884, 1890, 1890, 1890, 230,
2521 1885, 1893, 1893, 1893, 1886, 1895, 1895, 1895, 229, 1896,
2522 1896, 1896, 228, 1896, 1890, 1870, 1896, 224, 1893, 1897,
2523 1897, 1897, 1895, 1898, 1898, 1898, 221, 1898, 216, 1884,
2524 1898, 1900, 1900, 1900, 1885, 214, 1897, 213, 1901, 1901,
2525 1901, 209, 1901, 206, 1890, 1901, 204, 203, 1900, 1906,
2527 1906, 1906, 1907, 1907, 1907, 1908, 1908, 1908, 1912, 1912,
2528 1912, 202, 1912, 198, 192, 1912, 1906, 188, 184, 1907,
2529 1915, 1915, 1915, 1908, 1915, 178, 177, 1915, 1918, 1918,
2530 1918, 173, 1918, 169, 168, 1918, 1922, 1922, 1922, 167,
2531 1922, 1908, 1906, 1922, 161, 1907, 1929, 1929, 1929, 1930,
2532 1930, 1930, 1938, 1938, 1938, 1939, 1939, 1939, 1946, 1946,
2533 1946, 160, 158, 1929, 155, 143, 1930, 0, 0, 1938,
2534 0, 0, 1939, 0, 0, 1946, 1947, 1947, 1947, 1949,
2535 1949, 1949, 1954, 1954, 1954, 1955, 1955, 1955, 1957, 1957,
2536 1957, 0, 0, 1947, 0, 0, 1949, 0, 0, 1954,
2538 0, 0, 1955, 1929, 0, 1957, 1930, 0, 0, 1946,
2539 0, 1958, 1958, 1958, 1938, 1958, 0, 1939, 1958, 1963,
2540 1963, 1963, 1964, 1964, 1964, 0, 0, 1947, 0, 0,
2541 1954, 0, 0, 1955, 0, 0, 1963, 0, 0, 1964,
2542 1966, 1966, 1966, 0, 1966, 0, 0, 1966, 1971, 1971,
2543 1971, 1972, 1972, 1972, 1973, 1973, 1973, 1974, 1974, 1974,
2544 1975, 1975, 1975, 0, 0, 1971, 0, 0, 1972, 1976,
2545 1976, 1976, 1973, 1976, 1974, 0, 1976, 1975, 0, 1963,
2546 0, 0, 1964, 1977, 1977, 1977, 0, 1976, 1978, 1978,
2547 1978, 1971, 0, 0, 1972, 1981, 1981, 1981, 0, 0,
2549 1977, 0, 1982, 1982, 1982, 1978, 1985, 1985, 1985, 1986,
2550 1986, 1986, 1981, 1989, 1989, 1989, 0, 0, 1974, 1982,
2551 1975, 0, 0, 1985, 0, 0, 1986, 1990, 1990, 1990,
2552 1989, 1977, 1993, 1993, 1993, 0, 1978, 0, 1994, 1994,
2553 1994, 0, 1994, 0, 1990, 1994, 0, 0, 1982, 1993,
2554 0, 1981, 0, 1985, 1995, 1995, 1995, 1996, 1996, 1996,
2555 0, 1996, 0, 0, 1996, 1999, 1999, 1999, 0, 1999,
2556 0, 1995, 1999, 1986, 2002, 2002, 2002, 0, 2002, 0,
2557 0, 2002, 2019, 2019, 2019, 2020, 2020, 2020, 0, 0,
2558 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2560 2019, 0, 0, 2020, 2023, 2023, 2023, 2023, 2023, 2023,
2561 2023, 2023, 2023, 2024, 2024, 2024, 2024, 2024, 2024, 2024,
2562 2024, 2024, 2025, 2025, 2025, 2025, 2025, 2025, 2025, 2025,
2563 2025, 2026, 2026, 2026, 2026, 2026, 2026, 2026, 2026, 2026,
2564 2027, 2027, 2027, 2027, 2027, 2027, 2027, 2027, 2027, 2028,
2565 2028, 2028, 2028, 2028, 2028, 2028, 2028, 2028, 2029, 2029,
2566 2029, 2029, 2029, 2029, 2029, 2029, 2029, 2030, 2030, 2030,
2567 2030, 2030, 2030, 2030, 2030, 2030, 2031, 2031, 2031, 2031,
2568 2031, 2031, 2031, 2031, 2031, 2032, 2032, 2032, 2032, 2032,
2569 2032, 2032, 2032, 2032, 2033, 2033, 2033, 2033, 2033, 2033,
2571 2033, 2033, 2033, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
2572 2034, 2034, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035,
2573 2035, 2036, 2036, 2036, 2036, 2036, 2036, 2036, 2036, 2036,
2574 2037, 2037, 2037, 2037, 2037, 2037, 2037, 2037, 2037, 2038,
2575 2038, 2038, 2038, 2038, 2038, 2038, 2038, 2038, 2039, 2039,
2576 2039, 2039, 2039, 2039, 2039, 2039, 2039, 2040, 2040, 2040,
2577 2040, 2040, 2040, 2040, 2040, 2040, 2041, 2041, 2041, 2041,
2578 2041, 2041, 2041, 2041, 2041, 2042, 2042, 2042, 2042, 2042,
2579 2042, 2042, 2042, 2042, 2043, 2043, 2043, 2043, 2043, 2043,
2580 2043, 2043, 2043, 2044, 2044, 2044, 2044, 2044, 2044, 2044,
2582 2044, 2044, 2045, 2045, 2045, 2045, 2045, 2045, 2045, 2045,
2583 2045, 2046, 2046, 2046, 2046, 2046, 2046, 2046, 2046, 2046,
2584 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2048,
2585 2048, 2048, 2048, 2048, 2048, 2048, 2048, 2048, 2049, 2049,
2586 2049, 2049, 2049, 2049, 2049, 2049, 2049, 2050, 2050, 2050,
2587 2050, 2050, 2050, 2050, 2050, 2050, 2051, 2051, 2051, 2051,
2588 2051, 2051, 2051, 2051, 2051, 2052, 2052, 2052, 2052, 2052,
2589 2052, 2052, 2052, 2052, 2053, 2053, 2053, 2053, 2053, 2053,
2590 2053, 2053, 2053, 2054, 2054, 2054, 2054, 2054, 2054, 2054,
2591 2054, 2054, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055,
2593 2055, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056,
2594 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2058,
2595 2058, 2058, 2058, 2058, 2058, 2058, 2058, 2058, 2059, 2059,
2596 2059, 2059, 2059, 2059, 2059, 2059, 2059, 2060, 2060, 2060,
2597 2060, 2060, 2060, 2060, 2060, 2060, 2061, 2061, 2061, 2061,
2598 2061, 2061, 2061, 2061, 2061, 2062, 2062, 2062, 0, 0,
2599 0, 2062, 2063, 2063, 2063, 0, 0, 0, 2063, 2064,
2600 2064, 2064, 0, 0, 0, 2064, 2065, 2065, 2065, 0,
2601 0, 0, 2065, 2066, 2066, 2066, 0, 0, 0, 2066,
2602 2067, 2067, 2067, 0, 0, 0, 2067, 2068, 2068, 2068,
2604 0, 0, 0, 2068, 2069, 2069, 2069, 0, 0, 0,
2605 2069, 2070, 2070, 2070, 0, 0, 0, 2070, 2071, 2071,
2606 2071, 0, 0, 0, 2071, 2072, 2072, 2072, 0, 0,
2607 0, 2072, 2073, 2073, 2073, 0, 0, 0, 2073, 2074,
2608 2074, 2074, 0, 0, 0, 2074, 2075, 2075, 2075, 0,
2609 0, 0, 2075, 2076, 2076, 2076, 0, 0, 0, 2076,
2610 2077, 2077, 2077, 0, 0, 0, 2077, 2078, 2078, 2078,
2611 0, 0, 0, 2078, 2079, 2079, 2079, 2079, 2079, 2079,
2612 2079, 0, 2079, 2080, 0, 0, 0, 2080, 2081, 0,
2613 0, 0, 2081, 2082, 0, 0, 0, 2082, 2083, 0,
2615 0, 0, 2083, 2084, 0, 0, 0, 2084, 2085, 0,
2616 0, 0, 2085, 2086, 0, 0, 0, 2086, 2087, 0,
2617 0, 0, 2087, 2088, 0, 0, 0, 2088, 2089, 2089,
2618 2089, 0, 0, 0, 2089, 2090, 0, 0, 0, 2090,
2619 2091, 2091, 2091, 0, 0, 0, 2091, 2092, 0, 0,
2620 0, 2092, 2093, 2093, 2093, 0, 0, 0, 2093, 2094,
2621 0, 0, 0, 2094, 2095, 2095, 2095, 0, 0, 0,
2622 2095, 2096, 0, 0, 0, 2096, 2097, 2097, 2097, 0,
2623 0, 0, 2097, 2098, 0, 0, 0, 2098, 2099, 2099,
2624 2099, 0, 0, 0, 2099, 2100, 0, 0, 0, 2100,
2626 2101, 2101, 2101, 0, 0, 0, 2101, 2102, 0, 0,
2627 0, 2102, 2103, 2103, 2103, 0, 0, 0, 2103, 2104,
2628 0, 0, 0, 2104, 2105, 2105, 2105, 2105, 2105, 2105,
2629 2105, 2105, 2105, 2106, 0, 0, 0, 0, 2106, 2107,
2630 2107, 2107, 0, 0, 0, 2107, 2108, 2108, 2108, 2108,
2631 0, 0, 2108, 2108, 2109, 2109, 2109, 0, 0, 0,
2632 2109, 2110, 2110, 2110, 2110, 0, 0, 2110, 2110, 2111,
2633 2111, 2111, 0, 0, 0, 2111, 2112, 2112, 2112, 2112,
2634 0, 0, 2112, 2112, 2113, 2113, 2113, 0, 0, 0,
2635 2113, 2114, 2114, 2114, 2114, 0, 0, 2114, 2114, 2115,
2637 2115, 2115, 0, 0, 0, 2115, 2116, 2116, 2116, 2116,
2638 0, 0, 2116, 2116, 2117, 2117, 2117, 0, 0, 0,
2639 2117, 2118, 2118, 2118, 2118, 0, 0, 2118, 2118, 2119,
2640 2119, 2119, 0, 0, 0, 2119, 2120, 2120, 2120, 2120,
2641 0, 0, 2120, 2120, 2121, 2121, 2121, 0, 0, 0,
2642 2121, 2122, 2122, 2122, 2122, 0, 0, 2122, 2122, 2123,
2643 2123, 2123, 0, 0, 0, 2123, 2124, 2124, 2124, 2124,
2644 0, 0, 2124, 2124, 2125, 2125, 2125, 0, 0, 0,
2645 2125, 2126, 2126, 2126, 2126, 0, 0, 2126, 2126, 2127,
2646 2127, 2127, 2127, 0, 0, 2127, 2127, 2128, 2128, 2128,
2648 0, 0, 0, 2128, 2129, 2129, 2129, 2129, 0, 0,
2649 2129, 2129, 2130, 2130, 2130, 0, 0, 0, 2130, 2131,
2650 2131, 2131, 2131, 0, 0, 2131, 2131, 2132, 2132, 2132,
2651 0, 0, 0, 2132, 2133, 2133, 2133, 2133, 0, 0,
2652 2133, 2133, 2134, 2134, 2134, 2134, 0, 0, 2134, 2134,
2653 2135, 2135, 2135, 0, 0, 0, 2135, 2136, 2136, 2136,
2654 2136, 0, 0, 2136, 2136, 2137, 2137, 2137, 0, 0,
2655 0, 2137, 2138, 2138, 2138, 2138, 0, 0, 2138, 2138,
2656 2139, 2139, 2139, 2139, 2139, 2139, 2139, 2139, 2139, 2140,
2657 0, 2140, 0, 0, 2140, 2141, 2141, 2141, 0, 0,
2659 0, 2141, 2142, 2142, 2142, 2142, 0, 0, 2142, 2142,
2660 2143, 2143, 2143, 2143, 0, 2143, 0, 2143, 2144, 2144,
2661 2144, 2144, 0, 0, 2144, 2144, 2145, 2145, 2145, 2145,
2662 0, 2145, 0, 2145, 2146, 2146, 2146, 2146, 0, 0,
2663 2146, 2146, 2147, 2147, 2147, 0, 0, 0, 2147, 2148,
2664 2148, 2148, 2148, 0, 0, 2148, 2148, 2149, 2149, 2149,
2665 0, 0, 0, 2149, 2150, 2150, 2150, 2150, 0, 0,
2666 2150, 2150, 2151, 2151, 2151, 0, 0, 0, 2151, 2152,
2667 2152, 2152, 2152, 0, 0, 2152, 2152, 2153, 2153, 2153,
2668 0, 0, 0, 2153, 2154, 2154, 2154, 2154, 0, 0,
2670 2154, 2154, 2155, 2155, 2155, 0, 0, 0, 2155, 2156,
2671 2156, 2156, 2156, 0, 0, 2156, 2156, 2157, 2157, 2157,
2672 0, 0, 0, 2157, 2158, 2158, 2158, 2158, 0, 0,
2673 2158, 2158, 2159, 2159, 2159, 0, 0, 0, 2159, 2160,
2674 2160, 2160, 2160, 0, 0, 2160, 2160, 2161, 2161, 2161,
2675 2161, 0, 0, 2161, 2161, 2162, 2162, 2162, 0, 0,
2676 0, 2162, 2163, 2163, 2163, 2163, 0, 0, 2163, 2163,
2677 2164, 2164, 2164, 0, 0, 0, 2164, 2165, 2165, 2165,
2678 2165, 0, 0, 2165, 2165, 2166, 2166, 2166, 0, 0,
2679 0, 2166, 2167, 2167, 2167, 2167, 0, 0, 2167, 2167,
2681 2168, 2168, 2168, 2168, 0, 0, 2168, 2168, 2169, 2169,
2682 2169, 0, 0, 0, 2169, 2170, 2170, 2170, 2170, 0,
2683 0, 2170, 2170, 2171, 2171, 2171, 0, 0, 0, 2171,
2684 2172, 2172, 2172, 2172, 0, 0, 2172, 2172, 2173, 2173,
2685 2173, 2173, 2173, 2173, 2173, 2173, 2173, 2174, 2174, 2174,
2686 2174, 2174, 2174, 2174, 2174, 2174, 2175, 2175, 2175, 0,
2687 0, 0, 2175, 2176, 2176, 2176, 2176, 0, 0, 2176,
2688 2176, 2177, 2177, 2177, 2177, 0, 0, 2177, 2177, 2178,
2689 2178, 2178, 0, 0, 0, 2178, 2179, 2179, 2179, 2179,
2690 0, 0, 2179, 2179, 2180, 2180, 2180, 0, 0, 0,
2692 2180, 2181, 2181, 2181, 2181, 0, 0, 2181, 2181, 2182,
2693 2182, 2182, 0, 0, 0, 2182, 2183, 2183, 2183, 2183,
2694 0, 0, 2183, 2183, 2184, 2184, 2184, 0, 0, 0,
2695 2184, 2185, 2185, 2185, 2185, 0, 0, 2185, 2185, 2186,
2696 2186, 2186, 0, 0, 0, 2186, 2187, 2187, 2187, 2187,
2697 0, 0, 2187, 2187, 2188, 2188, 2188, 0, 0, 0,
2698 2188, 2189, 2189, 2189, 2189, 0, 0, 2189, 2189, 2190,
2699 2190, 2190, 2190, 0, 2190, 0, 2190, 2191, 2191, 2191,
2700 2191, 0, 0, 2191, 2191, 2192, 2192, 2192, 2192, 0,
2701 2192, 0, 2192, 2193, 2193, 2193, 2193, 0, 0, 2193,
2703 2193, 2194, 2194, 2194, 2194, 0, 0, 2194, 2194, 2195,
2704 2195, 2195, 0, 0, 0, 2195, 2196, 2196, 2196, 2196,
2705 0, 0, 2196, 2196, 2197, 2197, 2197, 0, 0, 0,
2706 2197, 2198, 2198, 2198, 2198, 0, 0, 2198, 2198, 2199,
2707 2199, 2199, 0, 0, 0, 2199, 2200, 2200, 2200, 2200,
2708 0, 0, 2200, 2200, 2201, 2201, 2201, 2201, 0, 0,
2709 2201, 2201, 2202, 2202, 2202, 0, 0, 0, 2202, 2203,
2710 2203, 2203, 2203, 0, 0, 2203, 2203, 2204, 2204, 2204,
2711 2204, 0, 2204, 0, 2204, 2205, 2205, 2205, 2205, 0,
2712 0, 2205, 2205, 2206, 2206, 2206, 2206, 2206, 2206, 2206,
2714 2206, 2206, 2207, 2207, 2207, 2207, 2207, 2207, 2207, 2207,
2715 2207, 2208, 2208, 2208, 0, 0, 0, 2208, 2209, 2209,
2716 2209, 2209, 0, 0, 2209, 2209, 2210, 2210, 2210, 2210,
2717 0, 0, 2210, 2210, 2211, 2211, 2211, 0, 0, 0,
2718 2211, 2212, 2212, 2212, 2212, 0, 0, 2212, 2212, 2213,
2719 2213, 2213, 0, 0, 0, 2213, 2214, 2214, 2214, 2214,
2720 0, 0, 2214, 2214, 2215, 2215, 2215, 0, 0, 0,
2721 2215, 2216, 2216, 2216, 2216, 0, 0, 2216, 2216, 2217,
2722 2217, 2217, 2217, 0, 2217, 0, 2217, 2218, 2218, 2218,
2723 2218, 0, 2218, 0, 2218, 2219, 2219, 2219, 2219, 0,
2725 0, 2219, 2219, 2220, 2220, 2220, 0, 0, 0, 2220,
2726 2221, 2221, 2221, 2221, 0, 0, 2221, 2221, 2222, 2222,
2727 2222, 2222, 0, 0, 2222, 2222, 2223, 2223, 2223, 2223,
2728 0, 2223, 0, 2223, 2224, 2224, 2224, 2224, 0, 0,
2729 2224, 2224, 2225, 2225, 2225, 2225, 0, 0, 2225, 2225,
2730 2226, 2226, 2226, 0, 0, 0, 2226, 2227, 2227, 2227,
2731 2227, 0, 0, 2227, 2227, 2228, 2228, 2228, 2228, 0,
2732 2228, 0, 2228, 2229, 2229, 2229, 2229, 0, 0, 2229,
2733 2229, 2230, 2230, 2230, 2230, 0, 2230, 0, 2230, 2231,
2734 2231, 2231, 2231, 0, 0, 2231, 2231, 2232, 2232, 2232,
2736 2232, 0, 0, 2232, 2232, 2233, 2233, 2233, 0, 0,
2737 0, 2233, 2234, 2234, 2234, 2234, 0, 0, 2234, 2234,
2738 2235, 2235, 2235, 2235, 0, 0, 2235, 2235, 2236, 2236,
2739 2236, 2236, 2236, 2236, 2236, 2236, 2236, 2237, 2237, 2237,
2740 2237, 2237, 2237, 2237, 2237, 2237, 2238, 2238, 2238, 2238,
2741 0, 2238, 0, 2238, 2239, 2239, 2239, 2239, 0, 0,
2742 2239, 2239, 2240, 2240, 2240, 2240, 0, 0, 2240, 2240,
2743 2241, 2241, 2241, 0, 0, 0, 2241, 2242, 2242, 2242,
2744 2242, 0, 0, 2242, 2242, 2243, 2243, 2243, 0, 0,
2745 0, 2243, 2244, 2244, 2244, 2244, 0, 0, 2244, 2244,
2747 2245, 2245, 2245, 2245, 0, 2245, 0, 2245, 2246, 2246,
2748 2246, 2246, 0, 0, 2246, 2246, 2247, 2247, 2247, 2247,
2749 0, 2247, 0, 2247, 2248, 2248, 2248, 2248, 0, 0,
2750 2248, 2248, 2249, 2249, 2249, 0, 0, 0, 2249, 2250,
2751 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2251, 2251,
2752 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2252, 2252, 2252,
2753 2252, 2252, 2252, 2252, 2252, 2252, 2253, 2253, 2253, 2253,
2754 2253, 2253, 2253, 2253, 2253, 2254, 2254, 2254, 2254, 2254,
2755 2254, 2254, 2254, 2254, 2255, 2255, 2255, 2255, 2255, 2255,
2756 2255, 2255, 2255, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
2758 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
2759 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
2760 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
2761 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
2762 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
2763 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
2767 /* Table of booleans, true if rule could match eol. */
2768 static yyconst flex_int32_t yy_rule_can_match_eol[352] =
2770 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1,
2771 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1,
2772 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1,
2773 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1,
2774 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1,
2775 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1,
2776 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2777 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1,
2778 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1,
2779 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1,
2780 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1,
2781 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1,
2782 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0,
2783 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2784 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1,
2785 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1,
2786 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
2787 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, };
2789 static yy_state_type yy_last_accepting_state;
2790 static char *yy_last_accepting_cpos;
2792 extern int surf_parse__flex_debug;
2793 int surf_parse__flex_debug = 0;
2795 /* The intent behind this definition is that it'll catch
2796 * any uses of REJECT which flex missed.
2798 #define REJECT reject_used_but_not_detected
2799 #define yymore() yymore_used_but_not_detected
2800 #define YY_MORE_ADJ 0
2801 #define YY_RESTORE_YY_MORE_OFFSET
2802 char *surf_parse_text;
2803 /* Validating XML processor for surf/simgrid.dtd.
2804 * Generated 2008/02/03 11:50:45.
2806 * This program was generated with the FleXML XML processor generator.
2807 * FleXML is Copyright (C) 1999-2005 Kristoffer Rose. All rights reserved.
2808 * FleXML is Copyright (C) 2003-2006 Martin Quinson. All rights reserved.
2809 * (Id: flexml.pl,v 1.63 2007/10/11 14:46:08 mquinson Exp).
2811 * There are two, intertwined parts to this program, part A and part B.
2816 * Some parts, here collectively called "Part A", are found in the
2817 * FleXML package. They are Copyright (C) 1999-2005 Kristoffer Rose
2818 * and Copyright (C) 2003-2006 Martin Quinson. All rights reserved.
2820 * You can redistribute, use, perform, display and/or modify "Part A"
2821 * provided the following two conditions hold:
2823 * 1. The program is distributed WITHOUT ANY WARRANTY from the author of
2824 * FleXML; without even the implied warranty of MERCHANTABILITY or
2825 * FITNESS FOR A PARTICULAR PURPOSE.
2827 * 2. The program distribution conditions do not in any way affect the
2828 * distribution conditions of the FleXML system used to generate this
2829 * file or any version of FleXML derived from that system.
2831 * Notice that these are explicit rights granted to you for files
2832 * generated by the FleXML system. For your rights in connection with
2833 * the FleXML system itself please consult the GNU General Public License.
2838 * The other parts, here collectively called "Part B", and which came
2839 * from the DTD used by FleXML to generate this program, can be
2840 * distributed (or not, as the case may be) under the terms of whoever
2841 * wrote them, provided these terms respect and obey the two conditions
2842 * above under the heading "Part A".
2844 * The author of and contributors to FleXML specifically disclaim
2845 * any copyright interest in "Part B", unless "Part B" was written
2846 * by the author of or contributors to FleXML.
2850 /* Version strings. */
2851 const char rcs_surfxml_flexml_skeleton[] =
2852 "$" "Id: skel,v 1.40 2007/10/11 09:57:24 mquinson Exp $";
2853 const char rcs_surfxml_flexml[] =
2854 "$" "Id: flexml.pl,v 1.63 2007/10/11 14:46:08 mquinson Exp $";
2857 #include <stdlib.h> /* for realloc() -- needed here when using flex 2.5.4 */
2864 #if defined(_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__TOS_WIN__)
2865 # ifndef __STRICT_ANSI__
2867 # include <process.h>
2870 # include <unistd.h>
2873 #ifndef FLEXML_INDEXSTACKSIZE
2874 #define FLEXML_INDEXSTACKSIZE 1000
2877 /* Generated definitions. */
2878 #define FLEXML_yylineno
2879 #ifndef FLEXML_BUFFERSTACKSIZE
2880 #define FLEXML_BUFFERSTACKSIZE 1000000
2882 #define FLEXML_NEED_BUFFERLIT
2884 /* XML processor api. */
2885 /* FleXML-provided data. */
2886 int surfxml_pcdata_ix;
2887 extern char *surfxml_bufferstack;
2888 #define surfxml_pcdata (surfxml_bufferstack + surfxml_pcdata_ix)
2889 AT_surfxml_random_generator AX_surfxml_random_generator;
2890 #define A_surfxml_random_generator AX_surfxml_random_generator
2891 AT_surfxml_prop_id AX_surfxml_prop_id;
2892 #define A_surfxml_prop_id (surfxml_bufferstack + AX_surfxml_prop_id)
2893 AT_surfxml_host_interference_recv AX_surfxml_host_interference_recv;
2894 #define A_surfxml_host_interference_recv (surfxml_bufferstack + AX_surfxml_host_interference_recv)
2895 AT_surfxml_host_id AX_surfxml_host_id;
2896 #define A_surfxml_host_id (surfxml_bufferstack + AX_surfxml_host_id)
2897 AT_surfxml_set_id AX_surfxml_set_id;
2898 #define A_surfxml_set_id (surfxml_bufferstack + AX_surfxml_set_id)
2899 AT_surfxml_link_latency_file AX_surfxml_link_latency_file;
2900 #define A_surfxml_link_latency_file (surfxml_bufferstack + AX_surfxml_link_latency_file)
2901 AT_surfxml_host_state AX_surfxml_host_state;
2902 #define A_surfxml_host_state AX_surfxml_host_state
2903 AT_surfxml_host_interference_send_recv AX_surfxml_host_interference_send_recv;
2904 #define A_surfxml_host_interference_send_recv (surfxml_bufferstack + AX_surfxml_host_interference_send_recv)
2905 AT_surfxml_host_interference_send AX_surfxml_host_interference_send;
2906 #define A_surfxml_host_interference_send (surfxml_bufferstack + AX_surfxml_host_interference_send)
2907 AT_surfxml_set_suffix AX_surfxml_set_suffix;
2908 #define A_surfxml_set_suffix (surfxml_bufferstack + AX_surfxml_set_suffix)
2909 AT_surfxml_route_impact_on_dst AX_surfxml_route_impact_on_dst;
2910 #define A_surfxml_route_impact_on_dst (surfxml_bufferstack + AX_surfxml_route_impact_on_dst)
2911 AT_surfxml_host_power AX_surfxml_host_power;
2912 #define A_surfxml_host_power (surfxml_bufferstack + AX_surfxml_host_power)
2913 AT_surfxml_router_id AX_surfxml_router_id;
2914 #define A_surfxml_router_id (surfxml_bufferstack + AX_surfxml_router_id)
2915 AT_surfxml_process_start_time AX_surfxml_process_start_time;
2916 #define A_surfxml_process_start_time (surfxml_bufferstack + AX_surfxml_process_start_time)
2917 AT_surfxml_cluster_suffix AX_surfxml_cluster_suffix;
2918 #define A_surfxml_cluster_suffix (surfxml_bufferstack + AX_surfxml_cluster_suffix)
2919 AT_surfxml_platform_xmlns_c_route AX_surfxml_platform_xmlns_c_route;
2920 #define A_surfxml_platform_xmlns_c_route (surfxml_bufferstack + AX_surfxml_platform_xmlns_c_route)
2921 AT_surfxml_cluster_prefix AX_surfxml_cluster_prefix;
2922 #define A_surfxml_cluster_prefix (surfxml_bufferstack + AX_surfxml_cluster_prefix)
2923 AT_surfxml_trace_file AX_surfxml_trace_file;
2924 #define A_surfxml_trace_file (surfxml_bufferstack + AX_surfxml_trace_file)
2925 AT_surfxml_route_action AX_surfxml_route_action;
2926 #define A_surfxml_route_action AX_surfxml_route_action
2927 AT_surfxml_link_sharing_policy AX_surfxml_link_sharing_policy;
2928 #define A_surfxml_link_sharing_policy AX_surfxml_link_sharing_policy
2929 AT_surfxml_random_min AX_surfxml_random_min;
2930 #define A_surfxml_random_min (surfxml_bufferstack + AX_surfxml_random_min)
2931 AT_surfxml_process_kill_time AX_surfxml_process_kill_time;
2932 #define A_surfxml_process_kill_time (surfxml_bufferstack + AX_surfxml_process_kill_time)
2933 AT_surfxml_cluster_bb_bw AX_surfxml_cluster_bb_bw;
2934 #define A_surfxml_cluster_bb_bw (surfxml_bufferstack + AX_surfxml_cluster_bb_bw)
2935 AT_surfxml_trace_c_connect_element AX_surfxml_trace_c_connect_element;
2936 #define A_surfxml_trace_c_connect_element (surfxml_bufferstack + AX_surfxml_trace_c_connect_element)
2937 AT_surfxml_argument_value AX_surfxml_argument_value;
2938 #define A_surfxml_argument_value (surfxml_bufferstack + AX_surfxml_argument_value)
2939 AT_surfxml_link_state AX_surfxml_link_state;
2940 #define A_surfxml_link_state AX_surfxml_link_state
2941 AT_surfxml_route_impact_on_src AX_surfxml_route_impact_on_src;
2942 #define A_surfxml_route_impact_on_src (surfxml_bufferstack + AX_surfxml_route_impact_on_src)
2943 AT_surfxml_link_bandwidth AX_surfxml_link_bandwidth;
2944 #define A_surfxml_link_bandwidth (surfxml_bufferstack + AX_surfxml_link_bandwidth)
2945 AT_surfxml_cluster_id AX_surfxml_cluster_id;
2946 #define A_surfxml_cluster_id (surfxml_bufferstack + AX_surfxml_cluster_id)
2947 AT_surfxml_random_mean AX_surfxml_random_mean;
2948 #define A_surfxml_random_mean (surfxml_bufferstack + AX_surfxml_random_mean)
2949 AT_surfxml_cluster_bb_lat AX_surfxml_cluster_bb_lat;
2950 #define A_surfxml_cluster_bb_lat (surfxml_bufferstack + AX_surfxml_cluster_bb_lat)
2951 AT_surfxml_link_latency AX_surfxml_link_latency;
2952 #define A_surfxml_link_latency (surfxml_bufferstack + AX_surfxml_link_latency)
2953 AT_surfxml_platform_xmlns_c_link AX_surfxml_platform_xmlns_c_link;
2954 #define A_surfxml_platform_xmlns_c_link (surfxml_bufferstack + AX_surfxml_platform_xmlns_c_link)
2955 AT_surfxml_link_bandwidth_file AX_surfxml_link_bandwidth_file;
2956 #define A_surfxml_link_bandwidth_file (surfxml_bufferstack + AX_surfxml_link_bandwidth_file)
2957 AT_surfxml_random_id AX_surfxml_random_id;
2958 #define A_surfxml_random_id (surfxml_bufferstack + AX_surfxml_random_id)
2959 AT_surfxml_set_radical AX_surfxml_set_radical;
2960 #define A_surfxml_set_radical (surfxml_bufferstack + AX_surfxml_set_radical)
2961 AT_surfxml_random_max AX_surfxml_random_max;
2962 #define A_surfxml_random_max (surfxml_bufferstack + AX_surfxml_random_max)
2963 AT_surfxml_link_id AX_surfxml_link_id;
2964 #define A_surfxml_link_id (surfxml_bufferstack + AX_surfxml_link_id)
2965 AT_surfxml_process_host AX_surfxml_process_host;
2966 #define A_surfxml_process_host (surfxml_bufferstack + AX_surfxml_process_host)
2967 AT_surfxml_host_availability_file AX_surfxml_host_availability_file;
2968 #define A_surfxml_host_availability_file (surfxml_bufferstack + AX_surfxml_host_availability_file)
2969 AT_surfxml_cluster_lat AX_surfxml_cluster_lat;
2970 #define A_surfxml_cluster_lat (surfxml_bufferstack + AX_surfxml_cluster_lat)
2971 AT_surfxml_trace_periodicity AX_surfxml_trace_periodicity;
2972 #define A_surfxml_trace_periodicity (surfxml_bufferstack + AX_surfxml_trace_periodicity)
2973 AT_surfxml_foreach_set_id AX_surfxml_foreach_set_id;
2974 #define A_surfxml_foreach_set_id (surfxml_bufferstack + AX_surfxml_foreach_set_id)
2975 AT_surfxml_route_impact_on_dst_with_other_send AX_surfxml_route_impact_on_dst_with_other_send;
2976 #define A_surfxml_route_impact_on_dst_with_other_send (surfxml_bufferstack + AX_surfxml_route_impact_on_dst_with_other_send)
2977 AT_surfxml_prop_value AX_surfxml_prop_value;
2978 #define A_surfxml_prop_value (surfxml_bufferstack + AX_surfxml_prop_value)
2979 AT_surfxml_route_impact_on_src_with_other_recv AX_surfxml_route_impact_on_src_with_other_recv;
2980 #define A_surfxml_route_impact_on_src_with_other_recv (surfxml_bufferstack + AX_surfxml_route_impact_on_src_with_other_recv)
2981 AT_surfxml_link_state_file AX_surfxml_link_state_file;
2982 #define A_surfxml_link_state_file (surfxml_bufferstack + AX_surfxml_link_state_file)
2983 AT_surfxml_set_prefix AX_surfxml_set_prefix;
2984 #define A_surfxml_set_prefix (surfxml_bufferstack + AX_surfxml_set_prefix)
2985 AT_surfxml_cluster_power AX_surfxml_cluster_power;
2986 #define A_surfxml_cluster_power (surfxml_bufferstack + AX_surfxml_cluster_power)
2987 AT_surfxml_process_function AX_surfxml_process_function;
2988 #define A_surfxml_process_function (surfxml_bufferstack + AX_surfxml_process_function)
2989 AT_surfxml_host_max_outgoing_rate AX_surfxml_host_max_outgoing_rate;
2990 #define A_surfxml_host_max_outgoing_rate (surfxml_bufferstack + AX_surfxml_host_max_outgoing_rate)
2991 AT_surfxml_link_c_ctn_id AX_surfxml_link_c_ctn_id;
2992 #define A_surfxml_link_c_ctn_id (surfxml_bufferstack + AX_surfxml_link_c_ctn_id)
2993 AT_surfxml_host_availability AX_surfxml_host_availability;
2994 #define A_surfxml_host_availability (surfxml_bufferstack + AX_surfxml_host_availability)
2995 AT_surfxml_route_src AX_surfxml_route_src;
2996 #define A_surfxml_route_src (surfxml_bufferstack + AX_surfxml_route_src)
2997 AT_surfxml_route_c_multi_src AX_surfxml_route_c_multi_src;
2998 #define A_surfxml_route_c_multi_src (surfxml_bufferstack + AX_surfxml_route_c_multi_src)
2999 AT_surfxml_route_c_multi_action AX_surfxml_route_c_multi_action;
3000 #define A_surfxml_route_c_multi_action AX_surfxml_route_c_multi_action
3001 AT_surfxml_trace_c_connect_trace AX_surfxml_trace_c_connect_trace;
3002 #define A_surfxml_trace_c_connect_trace (surfxml_bufferstack + AX_surfxml_trace_c_connect_trace)
3003 AT_surfxml_trace_id AX_surfxml_trace_id;
3004 #define A_surfxml_trace_id (surfxml_bufferstack + AX_surfxml_trace_id)
3005 AT_surfxml_cluster_radical AX_surfxml_cluster_radical;
3006 #define A_surfxml_cluster_radical (surfxml_bufferstack + AX_surfxml_cluster_radical)
3007 AT_surfxml_include_file AX_surfxml_include_file;
3008 #define A_surfxml_include_file (surfxml_bufferstack + AX_surfxml_include_file)
3009 AT_surfxml_random_std_deviation AX_surfxml_random_std_deviation;
3010 #define A_surfxml_random_std_deviation (surfxml_bufferstack + AX_surfxml_random_std_deviation)
3011 AT_surfxml_trace_c_connect_kind AX_surfxml_trace_c_connect_kind;
3012 #define A_surfxml_trace_c_connect_kind AX_surfxml_trace_c_connect_kind
3013 AT_surfxml_route_c_multi_dst AX_surfxml_route_c_multi_dst;
3014 #define A_surfxml_route_c_multi_dst (surfxml_bufferstack + AX_surfxml_route_c_multi_dst)
3015 AT_surfxml_host_state_file AX_surfxml_host_state_file;
3016 #define A_surfxml_host_state_file (surfxml_bufferstack + AX_surfxml_host_state_file)
3017 AT_surfxml_route_c_multi_symmetric AX_surfxml_route_c_multi_symmetric;
3018 #define A_surfxml_route_c_multi_symmetric AX_surfxml_route_c_multi_symmetric
3019 AT_surfxml_route_dst AX_surfxml_route_dst;
3020 #define A_surfxml_route_dst (surfxml_bufferstack + AX_surfxml_route_dst)
3021 AT_surfxml_cluster_bw AX_surfxml_cluster_bw;
3022 #define A_surfxml_cluster_bw (surfxml_bufferstack + AX_surfxml_cluster_bw)
3023 AT_surfxml_platform_version AX_surfxml_platform_version;
3024 #define A_surfxml_platform_version (surfxml_bufferstack + AX_surfxml_platform_version)
3028 # define ENTER(state) debug_enter(state,#state)
3029 # define LEAVE debug_leave()
3030 # define SET(state) debug_set(state,#state)
3031 static void debug_enter(int, const char*);
3032 static void debug_leave(void);
3033 static void debug_set(int, const char*);
3035 # define ENTER(state) (yy_push_state(state))
3036 # define LEAVE (yy_pop_state())
3037 # define SET(state) BEGIN(state)
3040 /* Generic actions. */
3041 #define SKIP /*skip*/
3042 #define SUCCEED CLEANUP; return 0
3044 #define FAIL return fail
3045 static int fail(const char*, ...);
3047 enum {flexml_max_err_msg_size = 512};
3048 static char flexml_err_msg[flexml_max_err_msg_size];
3049 const char * surfxml_parse_err_msg()
3051 return flexml_err_msg;
3053 static void reset_surfxml_parse_err_msg()
3055 flexml_err_msg[0] = '\0';
3059 static void cleanup(void);
3060 #define CLEANUP cleanup()
3062 /* Text buffer stack handling. */
3063 char *surfxml_bufferstack = NULL;
3064 static int blimit = FLEXML_BUFFERSTACKSIZE;
3065 static int bnext = 1;
3067 static int *indexstack = NULL;
3068 static int ilimit = FLEXML_INDEXSTACKSIZE;
3069 static int inext = 1;
3071 #define BUFFERSET(P) (P = bnext)
3072 #define BUFFERPUTC(C) (ck_blimit(), surfxml_bufferstack[bnext++] = (C))
3073 #define BUFFERDONE (BUFFERPUTC('\0'))
3075 #define BUFFERLITERAL(C, P) surfxml_bufferliteral(C, &(P), surf_parse_text)
3077 /* after this is called, there are at least 2 slots left in the stack */
3078 static int ck_blimit()
3080 if (bnext >= blimit) {
3081 blimit += FLEXML_BUFFERSTACKSIZE + 2;
3083 char *temp = (char *) realloc(surfxml_bufferstack, blimit);
3085 surfxml_bufferstack = temp;
3091 /* after this is called, there are at least 2 slots left in the stack */
3092 static int ck_ilimit()
3094 if (inext >= ilimit) {
3095 ilimit += FLEXML_INDEXSTACKSIZE + 2;
3097 int *temp = (int *) realloc(indexstack, ilimit);
3105 #ifdef FLEXML_NEED_BUFFERLIT
3106 static void surfxml_bufferliteral(char c, int* pp, const char* text)
3108 const char *s = (c ? strchr(text,c) : text-1), *e = strrchr(text,c);
3109 assert(s <= e); BUFFERSET(*pp);
3111 if (isspace(*s) && c) { BUFFERPUTC(' '); while (isspace(*s)) ++s; }
3112 else BUFFERPUTC(*s);
3118 static void pushbuffer(int p)
3121 indexstack[inext++] = p;
3122 indexstack[inext++] = bnext;
3125 static int popbuffer(void)
3128 bnext = indexstack[--inext];
3129 return indexstack[--inext];
3132 /* General internal entities are `unput' back onto the input stream... */
3133 #define ENTITYTEXT(T) \
3134 { char *s = (T), *e = s+strlen(s);\
3135 while (--e >= s) { unput(*e); }}
3137 /* Flex standard options. */
3138 #define YY_NO_INPUT 1
3139 /* Flex user-requested options. */
3140 /* XML character classes (currently restricted to ASCII). */
3141 /* "Common syntactic structures." */
3142 /* "Names and Tokens." */
3143 /* Miscellaneous. */
3144 /* Parser states (flex `exclusive start conditions'):
3146 * PROLOG the XML prolog of the document before <?xml...>
3147 * DOCTYPE the XML prolog of the document after <?xml...>
3148 * EPILOG after the root element
3149 * INCOMMENT inside an XML comment <!--....-->
3150 * INPI inside an XML PI <?...?>
3151 * VALUE1 inside a '...'-delimited literal
3152 * VALUE2 inside a "..."-delimited literal
3153 * CDATA inside a <![CDATA[...] ]> section.
3154 * ROOT_<tag> expect root element <tag>
3155 * AL_<tag> inside the attribute list for <tag>
3156 * IN_<tag> inside a <tag> with element contents (ready for end tag)
3157 * IMPOSSIBLE dummy to permit disabling rules; must be last
3161 const char* *surfxml_statenames=NULL;
3172 #define ROOT_surfxml_platform 9
3173 #define AL_surfxml_platform 10
3174 #define S_surfxml_platform 11
3175 #define S_surfxml_platform_1 12
3176 #define S_surfxml_platform_2 13
3177 #define S_surfxml_platform_3 14
3178 #define S_surfxml_platform_4 15
3179 #define S_surfxml_platform_5 16
3180 #define E_surfxml_platform 17
3181 #define AL_surfxml_include 18
3182 #define E_surfxml_include 19
3183 #define AL_surfxml_trace 20
3185 #define AL_surfxml_random 22
3186 #define S_surfxml_random 23
3187 #define S_surfxml_random_1 24
3188 #define S_surfxml_random_2 25
3189 #define E_surfxml_random 26
3190 #define AL_surfxml_trace_c_connect 27
3191 #define E_surfxml_trace_c_connect 28
3192 #define AL_surfxml_set 29
3193 #define E_surfxml_set 30
3194 #define AL_surfxml_foreach 31
3195 #define S_surfxml_foreach 32
3196 #define S_surfxml_foreach_1 33
3197 #define E_surfxml_foreach 34
3198 #define AL_surfxml_host 35
3199 #define S_surfxml_host 36
3200 #define S_surfxml_host_1 37
3201 #define S_surfxml_host_2 38
3202 #define E_surfxml_host 39
3203 #define AL_surfxml_prop 40
3204 #define E_surfxml_prop 41
3205 #define AL_surfxml_cluster 42
3206 #define E_surfxml_cluster 43
3207 #define AL_surfxml_router 44
3208 #define E_surfxml_router 45
3209 #define AL_surfxml_link 46
3210 #define S_surfxml_link 47
3211 #define S_surfxml_link_1 48
3212 #define S_surfxml_link_2 49
3213 #define E_surfxml_link 50
3214 #define AL_surfxml_route_c_multi 51
3215 #define S_surfxml_route_c_multi 52
3216 #define S_surfxml_route_c_multi_1 53
3217 #define S_surfxml_route_c_multi_2 54
3218 #define E_surfxml_route_c_multi 55
3219 #define AL_surfxml_route 56
3220 #define S_surfxml_route 57
3221 #define S_surfxml_route_1 58
3222 #define S_surfxml_route_2 59
3223 #define E_surfxml_route 60
3224 #define AL_surfxml_link_c_ctn 61
3225 #define E_surfxml_link_c_ctn 62
3226 #define AL_surfxml_process 63
3227 #define S_surfxml_process 64
3228 #define S_surfxml_process_1 65
3229 #define S_surfxml_process_2 66
3230 #define E_surfxml_process 67
3231 #define AL_surfxml_argument 68
3232 #define E_surfxml_argument 69
3233 #define IMPOSSIBLE 70
3235 #ifndef YY_NO_UNISTD_H
3236 /* Special case for "unistd.h", since it is non-ANSI. We include it way
3237 * down here because we want the user's section 1 to have been scanned first.
3238 * The user has a chance to override it with an option.
3240 #if defined(_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__TOS_WIN__)
3241 # ifndef __STRICT_ANSI__
3243 # include <process.h>
3246 # include <unistd.h>
3250 #ifndef YY_EXTRA_TYPE
3251 #define YY_EXTRA_TYPE void *
3254 static int yy_init_globals (void );
3256 /* Accessor methods to globals.
3257 These are made visible to non-reentrant scanners for convenience. */
3259 int surf_parse_lex_destroy (void );
3261 int surf_parse_get_debug (void );
3263 void surf_parse_set_debug (int debug_flag );
3265 YY_EXTRA_TYPE surf_parse_get_extra (void );
3267 void surf_parse_set_extra (YY_EXTRA_TYPE user_defined );
3269 FILE *surf_parse_get_in (void );
3271 void surf_parse_set_in (FILE * in_str );
3273 FILE *surf_parse_get_out (void );
3275 void surf_parse_set_out (FILE * out_str );
3277 int surf_parse_get_leng (void );
3279 char *surf_parse_get_text (void );
3281 int surf_parse_get_lineno (void );
3283 void surf_parse_set_lineno (int line_number );
3285 /* Macros after this point can all be overridden by user definitions in
3289 #ifndef YY_SKIP_YYWRAP
3291 extern "C" int surf_parse_wrap (void );
3293 extern int surf_parse_wrap (void );
3298 static void yy_flex_strncpy (char *,yyconst char *,int );
3301 #ifdef YY_NEED_STRLEN
3302 static int yy_flex_strlen (yyconst char * );
3308 static int yyinput (void );
3310 static int input (void );
3315 static int yy_start_stack_ptr = 0;
3316 static int yy_start_stack_depth = 0;
3317 static int *yy_start_stack = NULL;
3319 static void yy_push_state (int new_state );
3321 static void yy_pop_state (void );
3323 /* Amount of stuff to slurp up with each read. */
3324 #ifndef YY_READ_BUF_SIZE
3325 #define YY_READ_BUF_SIZE 8192
3328 /* Copy whatever the last rule matched to the standard output. */
3330 /* This used to be an fputs(), but since the string might contain NUL's,
3331 * we now use fwrite().
3333 #define ECHO do { if (fwrite( surf_parse_text, surf_parse_leng, 1, surf_parse_out )) {} } while (0)
3336 /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
3337 * is returned in "result".
3340 #define YY_INPUT(buf,result,max_size) \
3341 if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
3345 for ( n = 0; n < max_size && \
3346 (c = getc( surf_parse_in )) != EOF && c != '\n'; ++n ) \
3347 buf[n] = (char) c; \
3349 buf[n++] = (char) c; \
3350 if ( c == EOF && ferror( surf_parse_in ) ) \
3351 YY_FATAL_ERROR( "input in flex scanner failed" ); \
3357 while ( (result = fread(buf, 1, max_size, surf_parse_in))==0 && ferror(surf_parse_in)) \
3359 if( errno != EINTR) \
3361 YY_FATAL_ERROR( "input in flex scanner failed" ); \
3365 clearerr(surf_parse_in); \
3372 /* No semi-colon after return; correct usage is to write "yyterminate();" -
3373 * we don't want an extra ';' after the "return" because that will cause
3374 * some compilers to complain about unreachable statements.
3377 #define yyterminate() return YY_NULL
3380 /* Number of entries by which start-condition stack grows. */
3381 #ifndef YY_START_STACK_INCR
3382 #define YY_START_STACK_INCR 25
3385 /* Report a fatal error. */
3386 #ifndef YY_FATAL_ERROR
3387 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
3390 /* end tables serialization structures and prototypes */
3392 /* Default declaration of generated scanner - a define so the user can
3393 * easily add parameters.
3396 #define YY_DECL_IS_OURS 1
3398 extern int surf_parse_lex (void);
3400 #define YY_DECL int surf_parse_lex (void)
3401 #endif /* !YY_DECL */
3403 /* Code executed at the beginning of each rule, after surf_parse_text and surf_parse_leng
3406 #ifndef YY_USER_ACTION
3407 #define YY_USER_ACTION
3410 /* Code executed at the end of each rule. */
3412 #define YY_BREAK break;
3415 #define YY_RULE_SETUP \
3418 /** The main scanner function which does all the work.
3422 register yy_state_type yy_current_state;
3423 register char *yy_cp, *yy_bp;
3424 register int yy_act;
3426 /* Bypass Flex's default INITIAL state and begin by parsing the XML prolog. */
3428 reset_surfxml_parse_err_msg();
3429 surfxml_bufferstack = (char *) malloc(FLEXML_BUFFERSTACKSIZE);
3430 assert(surfxml_bufferstack);
3434 for (i = 0; i < blimit; i++) {
3435 surfxml_bufferstack[i] = '\377';
3439 surfxml_bufferstack[0] = '\0';
3440 indexstack = (int *) malloc(FLEXML_INDEXSTACKSIZE * sizeof(int));
3446 surfxml_bufferliteral('\0', &bnext, "0.0");
3447 surfxml_bufferliteral('\0', &bnext, "http://simgrid.gforge.inria.fr/");
3448 surfxml_bufferliteral('\0', &bnext, "http://simgrid.gforge.inria.fr/");
3449 surfxml_bufferliteral('\0', &bnext, "1.0");
3450 surfxml_bufferliteral('\0', &bnext, "1.0");
3451 surfxml_bufferliteral('\0', &bnext, "1.0");
3452 surfxml_bufferliteral('\0', &bnext, "1.0");
3453 surfxml_bufferliteral('\0', &bnext, "-1.0");
3454 surfxml_bufferliteral('\0', &bnext, "0.0");
3455 surfxml_bufferliteral('\0', &bnext, "0.0");
3456 surfxml_bufferliteral('\0', &bnext, "0.0");
3457 surfxml_bufferliteral('\0', &bnext, "0.0");
3458 surfxml_bufferliteral('\0', &bnext, "0.0");
3459 surfxml_bufferliteral('\0', &bnext, "-1.0");
3460 surfxml_bufferliteral('\0', &bnext, "-1.0");
3461 if(!surfxml_statenames) {surfxml_statenames= (const char **)calloc(IMPOSSIBLE,sizeof(char*));
3462 surfxml_statenames[PROLOG] = NULL;
3463 surfxml_statenames[DOCTYPE] = NULL;
3464 surfxml_statenames[EPILOG] = NULL;
3465 surfxml_statenames[INCOMMENT] = NULL;
3466 surfxml_statenames[INPI] = NULL;
3467 surfxml_statenames[VALUE1] = NULL;
3468 surfxml_statenames[VALUE2] = NULL;
3469 surfxml_statenames[CDATA] = NULL;
3470 surfxml_statenames[ROOT_surfxml_platform] = NULL;
3471 surfxml_statenames[AL_surfxml_platform] = NULL;
3472 surfxml_statenames[S_surfxml_platform] = "platform";
3473 surfxml_statenames[S_surfxml_platform_1] = "platform";
3474 surfxml_statenames[S_surfxml_platform_2] = "platform";
3475 surfxml_statenames[S_surfxml_platform_3] = "platform";
3476 surfxml_statenames[S_surfxml_platform_4] = "platform";
3477 surfxml_statenames[S_surfxml_platform_5] = "platform";
3478 surfxml_statenames[E_surfxml_platform] = "platform";
3479 surfxml_statenames[AL_surfxml_include] = NULL;
3480 surfxml_statenames[E_surfxml_include] = "include";
3481 surfxml_statenames[AL_surfxml_trace] = NULL;
3482 surfxml_statenames[IN_trace] = "trace";
3483 surfxml_statenames[AL_surfxml_random] = NULL;
3484 surfxml_statenames[S_surfxml_random] = "random";
3485 surfxml_statenames[S_surfxml_random_1] = "random";
3486 surfxml_statenames[S_surfxml_random_2] = "random";
3487 surfxml_statenames[E_surfxml_random] = "random";
3488 surfxml_statenames[AL_surfxml_trace_c_connect] = NULL;
3489 surfxml_statenames[E_surfxml_trace_c_connect] = "trace:connect";
3490 surfxml_statenames[AL_surfxml_set] = NULL;
3491 surfxml_statenames[E_surfxml_set] = "set";
3492 surfxml_statenames[AL_surfxml_foreach] = NULL;
3493 surfxml_statenames[S_surfxml_foreach] = "foreach";
3494 surfxml_statenames[S_surfxml_foreach_1] = "foreach";
3495 surfxml_statenames[E_surfxml_foreach] = "foreach";
3496 surfxml_statenames[AL_surfxml_host] = NULL;
3497 surfxml_statenames[S_surfxml_host] = "host";
3498 surfxml_statenames[S_surfxml_host_1] = "host";
3499 surfxml_statenames[S_surfxml_host_2] = "host";
3500 surfxml_statenames[E_surfxml_host] = "host";
3501 surfxml_statenames[AL_surfxml_prop] = NULL;
3502 surfxml_statenames[E_surfxml_prop] = "prop";
3503 surfxml_statenames[AL_surfxml_cluster] = NULL;
3504 surfxml_statenames[E_surfxml_cluster] = "cluster";
3505 surfxml_statenames[AL_surfxml_router] = NULL;
3506 surfxml_statenames[E_surfxml_router] = "router";
3507 surfxml_statenames[AL_surfxml_link] = NULL;
3508 surfxml_statenames[S_surfxml_link] = "link";
3509 surfxml_statenames[S_surfxml_link_1] = "link";
3510 surfxml_statenames[S_surfxml_link_2] = "link";
3511 surfxml_statenames[E_surfxml_link] = "link";
3512 surfxml_statenames[AL_surfxml_route_c_multi] = NULL;
3513 surfxml_statenames[S_surfxml_route_c_multi] = "route:multi";
3514 surfxml_statenames[S_surfxml_route_c_multi_1] = "route:multi";
3515 surfxml_statenames[S_surfxml_route_c_multi_2] = "route:multi";
3516 surfxml_statenames[E_surfxml_route_c_multi] = "route:multi";
3517 surfxml_statenames[AL_surfxml_route] = NULL;
3518 surfxml_statenames[S_surfxml_route] = "route";
3519 surfxml_statenames[S_surfxml_route_1] = "route";
3520 surfxml_statenames[S_surfxml_route_2] = "route";
3521 surfxml_statenames[E_surfxml_route] = "route";
3522 surfxml_statenames[AL_surfxml_link_c_ctn] = NULL;
3523 surfxml_statenames[E_surfxml_link_c_ctn] = "link:ctn";
3524 surfxml_statenames[AL_surfxml_process] = NULL;
3525 surfxml_statenames[S_surfxml_process] = "process";
3526 surfxml_statenames[S_surfxml_process_1] = "process";
3527 surfxml_statenames[S_surfxml_process_2] = "process";
3528 surfxml_statenames[E_surfxml_process] = "process";
3529 surfxml_statenames[AL_surfxml_argument] = NULL;
3530 surfxml_statenames[E_surfxml_argument] = "argument";
3533 /* COMMENTS and PIs: handled uniformly for efficiency. */
3544 (yy_start) = 1; /* first start state */
3546 if ( ! surf_parse_in )
3547 surf_parse_in = stdin;
3549 if ( ! surf_parse_out )
3550 surf_parse_out = stdout;
3552 if ( ! YY_CURRENT_BUFFER ) {
3553 surf_parse_ensure_buffer_stack ();
3554 YY_CURRENT_BUFFER_LVALUE =
3555 surf_parse__create_buffer(surf_parse_in,YY_BUF_SIZE );
3558 surf_parse__load_buffer_state( );
3561 while ( 1 ) /* loops until end-of-file is reached */
3563 yy_cp = (yy_c_buf_p);
3565 /* Support of surf_parse_text. */
3566 *yy_cp = (yy_hold_char);
3568 /* yy_bp points to the position in yy_ch_buf of the start of
3573 yy_current_state = (yy_start);
3577 register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
3578 if ( yy_accept[yy_current_state] )
3580 (yy_last_accepting_state) = yy_current_state;
3581 (yy_last_accepting_cpos) = yy_cp;
3583 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3585 yy_current_state = (int) yy_def[yy_current_state];
3586 if ( yy_current_state >= 2023 )
3587 yy_c = yy_meta[(unsigned int) yy_c];
3589 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
3592 while ( yy_base[yy_current_state] != 7094 );
3595 yy_act = yy_accept[yy_current_state];
3597 { /* have to back up */
3598 yy_cp = (yy_last_accepting_cpos);
3599 yy_current_state = (yy_last_accepting_state);
3600 yy_act = yy_accept[yy_current_state];
3603 YY_DO_BEFORE_ACTION;
3605 if ( yy_act != YY_END_OF_BUFFER && yy_rule_can_match_eol[yy_act] )
3608 for ( yyl = 0; yyl < surf_parse_leng; ++yyl )
3609 if ( surf_parse_text[yyl] == '\n' )
3611 surf_parse_lineno++;
3615 do_action: /* This label is used only to access EOF actions. */
3618 { /* beginning of action switch */
3619 case 0: /* must back up */
3620 /* undo the effects of YY_DO_BEFORE_ACTION */
3621 *yy_cp = (yy_hold_char);
3622 yy_cp = (yy_last_accepting_cpos);
3623 yy_current_state = (yy_last_accepting_state);
3624 goto yy_find_action;
3642 /* rule 6 can match eol */
3646 case YY_STATE_EOF(INCOMMENT):
3647 FAIL("EOF in comment.");
3656 /* rule 9 can match eol */
3660 case YY_STATE_EOF(INPI):
3661 FAIL("EOF in PI (processing instruction).");
3664 /* SPACES: skipped uniformly */
3666 /* rule 10 can match eol */
3670 /* PROLOG: determine root element and process it. */
3673 /* rule 11 can match eol */
3678 /* rule 12 can match eol */
3680 FAIL("Bad declaration %s.",surf_parse_text);
3684 /* rule 13 can match eol */
3686 SET(ROOT_surfxml_platform);
3689 /* rule 14 can match eol */
3691 FAIL("Bad declaration %s.",surf_parse_text);
3695 FAIL("Unexpected character `%c' in prolog.", surf_parse_text[0]);
3697 case YY_STATE_EOF(PROLOG):
3698 case YY_STATE_EOF(DOCTYPE):
3699 FAIL("EOF in prolog.");
3702 /* RULES DERIVED FROM DTD. */
3703 /* <!-- Small DTD for SURF based tools. --> */
3705 /* rule 16 can match eol */
3707 FAIL("Starting tag <platform> is not allowed here.");
3710 /* rule 17 can match eol */
3713 AX_surfxml_platform_version = 1;
3714 AX_surfxml_platform_xmlns_c_link = 5;
3715 AX_surfxml_platform_xmlns_c_route = 37;
3716 ENTER(AL_surfxml_platform); pushbuffer(0);
3721 /* rule 18 can match eol */
3723 ENTER(VALUE1); BUFFERSET(AX_surfxml_platform_version);
3726 /* rule 19 can match eol */
3728 ENTER(VALUE2); BUFFERSET(AX_surfxml_platform_version);
3731 /* rule 20 can match eol */
3733 ENTER(VALUE1); BUFFERSET(AX_surfxml_platform_xmlns_c_link);
3736 /* rule 21 can match eol */
3738 ENTER(VALUE2); BUFFERSET(AX_surfxml_platform_xmlns_c_link);
3741 /* rule 22 can match eol */
3743 ENTER(VALUE1); BUFFERSET(AX_surfxml_platform_xmlns_c_route);
3746 /* rule 23 can match eol */
3748 ENTER(VALUE2); BUFFERSET(AX_surfxml_platform_xmlns_c_route);
3753 LEAVE; STag_surfxml_platform();surfxml_pcdata_ix = 0; ENTER(S_surfxml_platform);
3759 LEAVE; STag_surfxml_platform(); surfxml_pcdata_ix = 0; ETag_surfxml_platform(); popbuffer(); /* attribute */
3761 case ROOT_surfxml_platform: SET(EPILOG); break;
3767 FAIL("Unexpected character `%c' in attribute list of platform element.", surf_parse_text[0]);
3771 FAIL("Bad attribute `%s' in `platform' element start tag.",surf_parse_text);
3773 case YY_STATE_EOF(AL_surfxml_platform):
3774 FAIL("EOF in attribute list of `platform' element.");
3778 /* rule 28 can match eol */
3782 ETag_surfxml_platform();
3783 popbuffer(); /* attribute */
3785 case ROOT_surfxml_platform: SET(EPILOG); break;
3790 /* rule 29 can match eol */
3792 FAIL("Unexpected end-tag `%s': `</platform>' expected.",surf_parse_text);
3796 FAIL("Unexpected character `%c': `</platform>' expected.",surf_parse_text[0]);
3798 case YY_STATE_EOF(S_surfxml_platform_5):
3799 case YY_STATE_EOF(S_surfxml_platform_1):
3800 case YY_STATE_EOF(S_surfxml_platform_3):
3801 case YY_STATE_EOF(S_surfxml_platform):
3802 case YY_STATE_EOF(E_surfxml_platform):
3803 FAIL("Premature EOF: `</platform>' expected.");
3807 /* rule 31 can match eol */
3809 FAIL("Starting tag <include> is not allowed here.");
3812 /* rule 32 can match eol */
3815 AX_surfxml_include_file = 0;
3816 ENTER(AL_surfxml_include); pushbuffer(0);
3821 /* rule 33 can match eol */
3823 ENTER(VALUE1); BUFFERSET(AX_surfxml_include_file);
3826 /* rule 34 can match eol */
3828 ENTER(VALUE2); BUFFERSET(AX_surfxml_include_file);
3833 if (!AX_surfxml_include_file) FAIL("Required attribute `file' not set for `include' element.");
3834 LEAVE; STag_surfxml_include();surfxml_pcdata_ix = 0; ENTER(E_surfxml_include);
3840 if (!AX_surfxml_include_file) FAIL("Required attribute `file' not set for `include' element.");
3841 LEAVE; STag_surfxml_include(); surfxml_pcdata_ix = 0; ETag_surfxml_include(); popbuffer(); /* attribute */
3843 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;
3844 case S_surfxml_platform_2: SET(S_surfxml_platform_3); break;
3850 FAIL("Unexpected character `%c' in attribute list of include element.", surf_parse_text[0]);
3854 FAIL("Bad attribute `%s' in `include' element start tag.",surf_parse_text);
3856 case YY_STATE_EOF(AL_surfxml_include):
3857 FAIL("EOF in attribute list of `include' element.");
3861 /* rule 39 can match eol */
3865 ETag_surfxml_include();
3866 popbuffer(); /* attribute */
3868 case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform_3: case S_surfxml_platform: case S_surfxml_platform_4: SET(S_surfxml_platform_5); break;
3869 case S_surfxml_platform_2: SET(S_surfxml_platform_3); break;
3874 /* rule 40 can match eol */
3876 FAIL("Unexpected end-tag `%s': `</include>' expected.",surf_parse_text);
3880 FAIL("Unexpected character `%c': `</include>' expected.",surf_parse_text[0]);
3882 case YY_STATE_EOF(E_surfxml_include):
3883 FAIL("Premature EOF: `</include>' expected.");
3887 /* rule 42 can match eol */
3889 FAIL("Starting tag <trace> is not allowed here.");
3892 /* rule 43 can match eol */
3895 AX_surfxml_trace_id = 0;
3896 AX_surfxml_trace_file = 0;
3897 AX_surfxml_trace_periodicity = 0;
3898 ENTER(AL_surfxml_trace); pushbuffer(0);
3903 /* rule 44 can match eol */
3905 ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_id);
3908 /* rule 45 can match eol */
3910 ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_id);
3913 /* rule 46 can match eol */
3915 ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_file);
3918 /* rule 47 can match eol */
3920 ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_file);
3923 /* rule 48 can match eol */
3925 ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_periodicity);
3928 /* rule 49 can match eol */
3930 ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_periodicity);
3935 if (!AX_surfxml_trace_id) FAIL("Required attribute `id' not set for `trace' element.");
3936 if (!AX_surfxml_trace_periodicity) FAIL("Required attribute `periodicity' not set for `trace' element.");
3937 LEAVE; STag_surfxml_trace();pushbuffer(surfxml_pcdata_ix); BUFFERSET(surfxml_pcdata_ix);; ENTER(IN_trace);
3943 if (!AX_surfxml_trace_id) FAIL("Required attribute `id' not set for `trace' element.");
3944 if (!AX_surfxml_trace_periodicity) FAIL("Required attribute `periodicity' not set for `trace' element.");
3945 LEAVE; STag_surfxml_trace(); surfxml_pcdata_ix = 0; ETag_surfxml_trace(); popbuffer(); /* attribute */
3947 case S_surfxml_platform_2: case S_surfxml_platform_3: case S_surfxml_platform: SET(S_surfxml_platform_3); break;
3953 FAIL("Unexpected character `%c' in attribute list of trace element.", surf_parse_text[0]);
3957 FAIL("Bad attribute `%s' in `trace' element start tag.",surf_parse_text);
3959 case YY_STATE_EOF(AL_surfxml_trace):
3960 FAIL("EOF in attribute list of `trace' element.");
3964 /* rule 54 can match eol */
3969 ETag_surfxml_trace();
3970 surfxml_pcdata_ix = popbuffer();
3971 popbuffer(); /* attribute */
3973 case S_surfxml_platform_2: case S_surfxml_platform_3: case S_surfxml_platform: SET(S_surfxml_platform_3); break;
3978 /* rule 55 can match eol */
3980 FAIL("Unexpected end-tag `%s': `</trace>' expected.",surf_parse_text);
3982 case YY_STATE_EOF(IN_trace):
3983 FAIL("Premature EOF: `</trace>' expected.");
3987 /* rule 56 can match eol */
3989 FAIL("Starting tag <random> is not allowed here.");
3992 /* rule 57 can match eol */
3995 AX_surfxml_random_id = 0;
3996 AX_surfxml_random_min = 0;
3997 AX_surfxml_random_max = 0;
3998 AX_surfxml_random_mean = 0;
3999 AX_surfxml_random_std_deviation = 0;
4000 AX_surfxml_random_generator = A_surfxml_random_generator_DRAND48;
4001 ENTER(AL_surfxml_random); pushbuffer(0);
4006 /* rule 58 can match eol */
4008 ENTER(VALUE1); BUFFERSET(AX_surfxml_random_id);
4011 /* rule 59 can match eol */
4013 ENTER(VALUE2); BUFFERSET(AX_surfxml_random_id);
4016 /* rule 60 can match eol */
4018 ENTER(VALUE1); BUFFERSET(AX_surfxml_random_min);
4021 /* rule 61 can match eol */
4023 ENTER(VALUE2); BUFFERSET(AX_surfxml_random_min);
4026 /* rule 62 can match eol */
4028 ENTER(VALUE1); BUFFERSET(AX_surfxml_random_max);
4031 /* rule 63 can match eol */
4033 ENTER(VALUE2); BUFFERSET(AX_surfxml_random_max);
4036 /* rule 64 can match eol */
4038 ENTER(VALUE1); BUFFERSET(AX_surfxml_random_mean);
4041 /* rule 65 can match eol */
4043 ENTER(VALUE2); BUFFERSET(AX_surfxml_random_mean);
4046 /* rule 66 can match eol */
4048 ENTER(VALUE1); BUFFERSET(AX_surfxml_random_std_deviation);
4051 /* rule 67 can match eol */
4053 ENTER(VALUE2); BUFFERSET(AX_surfxml_random_std_deviation);
4056 /* rule 68 can match eol */
4058 /* rule 69 can match eol */
4060 A_surfxml_random_generator = A_surfxml_random_generator_DRAND48;
4063 /* rule 70 can match eol */
4065 /* rule 71 can match eol */
4067 A_surfxml_random_generator = A_surfxml_random_generator_RAND;
4072 if (!AX_surfxml_random_id) FAIL("Required attribute `id' not set for `random' element.");
4073 if (!AX_surfxml_random_min) FAIL("Required attribute `min' not set for `random' element.");
4074 if (!AX_surfxml_random_max) FAIL("Required attribute `max' not set for `random' element.");
4075 if (!AX_surfxml_random_mean) FAIL("Required attribute `mean' not set for `random' element.");
4076 if (!AX_surfxml_random_std_deviation) FAIL("Required attribute `std_deviation' not set for `random' element.");
4077 LEAVE; STag_surfxml_random();surfxml_pcdata_ix = 0; ENTER(S_surfxml_random);
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; ETag_surfxml_random(); popbuffer(); /* attribute */
4090 case S_surfxml_platform_2: case S_surfxml_platform_3: case S_surfxml_platform: SET(S_surfxml_platform_3); break;
4096 FAIL("Unexpected character `%c' in attribute list of random element.", surf_parse_text[0]);
4100 FAIL("Bad attribute `%s' in `random' element start tag.",surf_parse_text);
4102 case YY_STATE_EOF(AL_surfxml_random):
4103 FAIL("EOF in attribute list of `random' element.");
4107 /* rule 76 can match eol */
4111 ETag_surfxml_random();
4112 popbuffer(); /* attribute */
4114 case S_surfxml_platform_2: case S_surfxml_platform_3: case S_surfxml_platform: SET(S_surfxml_platform_3); break;
4119 /* rule 77 can match eol */
4121 FAIL("Unexpected end-tag `%s': `</random>' expected.",surf_parse_text);
4125 FAIL("Unexpected character `%c': `</random>' expected.",surf_parse_text[0]);
4127 case YY_STATE_EOF(S_surfxml_random_2):
4128 case YY_STATE_EOF(S_surfxml_random):
4129 case YY_STATE_EOF(E_surfxml_random):
4130 FAIL("Premature EOF: `</random>' expected.");
4134 /* rule 79 can match eol */
4136 FAIL("Starting tag <trace:connect> is not allowed here.");
4139 /* rule 80 can match eol */
4142 AX_surfxml_trace_c_connect_kind = A_surfxml_trace_c_connect_kind_HOST_AVAIL;
4143 AX_surfxml_trace_c_connect_trace = 0;
4144 AX_surfxml_trace_c_connect_element = 0;
4145 ENTER(AL_surfxml_trace_c_connect); pushbuffer(0);
4150 /* rule 81 can match eol */
4152 /* rule 82 can match eol */
4154 A_surfxml_trace_c_connect_kind = A_surfxml_trace_c_connect_kind_HOST_AVAIL;
4157 /* rule 83 can match eol */
4159 /* rule 84 can match eol */
4161 A_surfxml_trace_c_connect_kind = A_surfxml_trace_c_connect_kind_POWER;
4164 /* rule 85 can match eol */
4166 /* rule 86 can match eol */
4168 A_surfxml_trace_c_connect_kind = A_surfxml_trace_c_connect_kind_LINK_AVAIL;
4171 /* rule 87 can match eol */
4173 /* rule 88 can match eol */
4175 A_surfxml_trace_c_connect_kind = A_surfxml_trace_c_connect_kind_BANDWIDTH;
4178 /* rule 89 can match eol */
4180 /* rule 90 can match eol */
4182 A_surfxml_trace_c_connect_kind = A_surfxml_trace_c_connect_kind_LATENCY;
4185 /* rule 91 can match eol */
4187 ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_c_connect_trace);
4190 /* rule 92 can match eol */
4192 ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_c_connect_trace);
4195 /* rule 93 can match eol */
4197 ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_c_connect_element);
4200 /* rule 94 can match eol */
4202 ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_c_connect_element);
4207 if (!AX_surfxml_trace_c_connect_trace) FAIL("Required attribute `trace' not set for `trace:connect' element.");
4208 if (!AX_surfxml_trace_c_connect_element) FAIL("Required attribute `element' not set for `trace:connect' element.");
4209 LEAVE; STag_surfxml_trace_c_connect();surfxml_pcdata_ix = 0; ENTER(E_surfxml_trace_c_connect);
4215 if (!AX_surfxml_trace_c_connect_trace) FAIL("Required attribute `trace' not set for `trace:connect' element.");
4216 if (!AX_surfxml_trace_c_connect_element) FAIL("Required attribute `element' not set for `trace:connect' element.");
4217 LEAVE; STag_surfxml_trace_c_connect(); surfxml_pcdata_ix = 0; ETag_surfxml_trace_c_connect(); popbuffer(); /* attribute */
4219 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;
4220 case S_surfxml_platform_2: SET(S_surfxml_platform_3); break;
4226 FAIL("Unexpected character `%c' in attribute list of trace:connect element.", surf_parse_text[0]);
4230 FAIL("Bad attribute `%s' in `trace:connect' element start tag.",surf_parse_text);
4232 case YY_STATE_EOF(AL_surfxml_trace_c_connect):
4233 FAIL("EOF in attribute list of `trace:connect' element.");
4237 /* rule 99 can match eol */
4241 ETag_surfxml_trace_c_connect();
4242 popbuffer(); /* attribute */
4244 case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform_3: case S_surfxml_platform: case S_surfxml_platform_4: SET(S_surfxml_platform_5); break;
4245 case S_surfxml_platform_2: SET(S_surfxml_platform_3); break;
4250 /* rule 100 can match eol */
4252 FAIL("Unexpected end-tag `%s': `</trace:connect>' expected.",surf_parse_text);
4256 FAIL("Unexpected character `%c': `</trace:connect>' expected.",surf_parse_text[0]);
4258 case YY_STATE_EOF(E_surfxml_trace_c_connect):
4259 FAIL("Premature EOF: `</trace:connect>' expected.");
4263 /* rule 102 can match eol */
4265 FAIL("Starting tag <set> is not allowed here.");
4268 /* rule 103 can match eol */
4271 AX_surfxml_set_id = 0;
4272 AX_surfxml_set_prefix = 0;
4273 AX_surfxml_set_suffix = 0;
4274 AX_surfxml_set_radical = 0;
4275 ENTER(AL_surfxml_set); pushbuffer(0);
4280 /* rule 104 can match eol */
4282 ENTER(VALUE1); BUFFERSET(AX_surfxml_set_id);
4285 /* rule 105 can match eol */
4287 ENTER(VALUE2); BUFFERSET(AX_surfxml_set_id);
4290 /* rule 106 can match eol */
4292 ENTER(VALUE1); BUFFERSET(AX_surfxml_set_prefix);
4295 /* rule 107 can match eol */
4297 ENTER(VALUE2); BUFFERSET(AX_surfxml_set_prefix);
4300 /* rule 108 can match eol */
4302 ENTER(VALUE1); BUFFERSET(AX_surfxml_set_suffix);
4305 /* rule 109 can match eol */
4307 ENTER(VALUE2); BUFFERSET(AX_surfxml_set_suffix);
4310 /* rule 110 can match eol */
4312 ENTER(VALUE1); BUFFERSET(AX_surfxml_set_radical);
4315 /* rule 111 can match eol */
4317 ENTER(VALUE2); BUFFERSET(AX_surfxml_set_radical);
4322 if (!AX_surfxml_set_id) FAIL("Required attribute `id' not set for `set' element.");
4323 if (!AX_surfxml_set_prefix) FAIL("Required attribute `prefix' not set for `set' element.");
4324 if (!AX_surfxml_set_suffix) FAIL("Required attribute `suffix' not set for `set' element.");
4325 if (!AX_surfxml_set_radical) FAIL("Required attribute `radical' not set for `set' element.");
4326 LEAVE; STag_surfxml_set();surfxml_pcdata_ix = 0; ENTER(E_surfxml_set);
4332 if (!AX_surfxml_set_id) FAIL("Required attribute `id' not set for `set' element.");
4333 if (!AX_surfxml_set_prefix) FAIL("Required attribute `prefix' not set for `set' element.");
4334 if (!AX_surfxml_set_suffix) FAIL("Required attribute `suffix' not set for `set' element.");
4335 if (!AX_surfxml_set_radical) FAIL("Required attribute `radical' not set for `set' element.");
4336 LEAVE; STag_surfxml_set(); surfxml_pcdata_ix = 0; ETag_surfxml_set(); popbuffer(); /* attribute */
4338 case S_surfxml_platform_2: case S_surfxml_platform_3: case S_surfxml_platform: SET(S_surfxml_platform_3); break;
4344 FAIL("Unexpected character `%c' in attribute list of set element.", surf_parse_text[0]);
4348 FAIL("Bad attribute `%s' in `set' element start tag.",surf_parse_text);
4350 case YY_STATE_EOF(AL_surfxml_set):
4351 FAIL("EOF in attribute list of `set' element.");
4355 /* rule 116 can match eol */
4360 popbuffer(); /* attribute */
4362 case S_surfxml_platform_2: case S_surfxml_platform_3: case S_surfxml_platform: SET(S_surfxml_platform_3); break;
4367 /* rule 117 can match eol */
4369 FAIL("Unexpected end-tag `%s': `</set>' expected.",surf_parse_text);
4373 FAIL("Unexpected character `%c': `</set>' expected.",surf_parse_text[0]);
4375 case YY_STATE_EOF(E_surfxml_set):
4376 FAIL("Premature EOF: `</set>' expected.");
4380 /* rule 119 can match eol */
4382 FAIL("Starting tag <foreach> is not allowed here.");
4385 /* rule 120 can match eol */
4388 AX_surfxml_foreach_set_id = 0;
4389 ENTER(AL_surfxml_foreach); pushbuffer(0);
4394 /* rule 121 can match eol */
4396 ENTER(VALUE1); BUFFERSET(AX_surfxml_foreach_set_id);
4399 /* rule 122 can match eol */
4401 ENTER(VALUE2); BUFFERSET(AX_surfxml_foreach_set_id);
4406 if (!AX_surfxml_foreach_set_id) FAIL("Required attribute `set_id' not set for `foreach' element.");
4407 LEAVE; STag_surfxml_foreach();surfxml_pcdata_ix = 0; ENTER(S_surfxml_foreach);
4412 FAIL("`foreach' element cannot be empty.");
4416 FAIL("Unexpected character `%c' in attribute list of foreach element.", surf_parse_text[0]);
4420 FAIL("Bad attribute `%s' in `foreach' element start tag.",surf_parse_text);
4422 case YY_STATE_EOF(AL_surfxml_foreach):
4423 FAIL("EOF in attribute list of `foreach' element.");
4427 /* rule 127 can match eol */
4431 ETag_surfxml_foreach();
4432 popbuffer(); /* attribute */
4434 case S_surfxml_platform_2: case S_surfxml_platform_3: case S_surfxml_platform: SET(S_surfxml_platform_3); break;
4439 /* rule 128 can match eol */
4441 FAIL("Unexpected end-tag `%s': `</foreach>' expected.",surf_parse_text);
4445 FAIL("Unexpected character `%c': `</foreach>' expected.",surf_parse_text[0]);
4447 case YY_STATE_EOF(E_surfxml_foreach):
4448 FAIL("Premature EOF: `</foreach>' expected.");
4452 /* rule 130 can match eol */
4454 FAIL("Starting tag <host> is not allowed here.");
4457 /* rule 131 can match eol */
4460 AX_surfxml_host_id = 0;
4461 AX_surfxml_host_power = 0;
4462 AX_surfxml_host_availability = 69;
4463 AX_surfxml_host_availability_file = 0;
4464 AX_surfxml_host_state = A_surfxml_host_state_ON;
4465 AX_surfxml_host_state_file = 0;
4466 AX_surfxml_host_interference_send = 73;
4467 AX_surfxml_host_interference_recv = 77;
4468 AX_surfxml_host_interference_send_recv = 81;
4469 AX_surfxml_host_max_outgoing_rate = 85;
4470 ENTER(AL_surfxml_host); pushbuffer(0);
4475 /* rule 132 can match eol */
4477 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_id);
4480 /* rule 133 can match eol */
4482 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_id);
4485 /* rule 134 can match eol */
4487 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_power);
4490 /* rule 135 can match eol */
4492 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_power);
4495 /* rule 136 can match eol */
4497 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_availability);
4500 /* rule 137 can match eol */
4502 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_availability);
4505 /* rule 138 can match eol */
4507 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_availability_file);
4510 /* rule 139 can match eol */
4512 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_availability_file);
4515 /* rule 140 can match eol */
4517 /* rule 141 can match eol */
4519 A_surfxml_host_state = A_surfxml_host_state_ON;
4522 /* rule 142 can match eol */
4524 /* rule 143 can match eol */
4526 A_surfxml_host_state = A_surfxml_host_state_OFF;
4529 /* rule 144 can match eol */
4531 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_state_file);
4534 /* rule 145 can match eol */
4536 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_state_file);
4539 /* rule 146 can match eol */
4541 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_interference_send);
4544 /* rule 147 can match eol */
4546 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_interference_send);
4549 /* rule 148 can match eol */
4551 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_interference_recv);
4554 /* rule 149 can match eol */
4556 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_interference_recv);
4559 /* rule 150 can match eol */
4561 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_interference_send_recv);
4564 /* rule 151 can match eol */
4566 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_interference_send_recv);
4569 /* rule 152 can match eol */
4571 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_max_outgoing_rate);
4574 /* rule 153 can match eol */
4576 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_max_outgoing_rate);
4581 if (!AX_surfxml_host_id) FAIL("Required attribute `id' not set for `host' element.");
4582 if (!AX_surfxml_host_power) FAIL("Required attribute `power' not set for `host' element.");
4583 LEAVE; STag_surfxml_host();surfxml_pcdata_ix = 0; ENTER(S_surfxml_host);
4589 if (!AX_surfxml_host_id) FAIL("Required attribute `id' not set for `host' element.");
4590 if (!AX_surfxml_host_power) FAIL("Required attribute `power' not set for `host' element.");
4591 LEAVE; STag_surfxml_host(); surfxml_pcdata_ix = 0; ETag_surfxml_host(); popbuffer(); /* attribute */
4593 case S_surfxml_platform_2: case S_surfxml_platform_3: case S_surfxml_platform: SET(S_surfxml_platform_3); break;
4594 case S_surfxml_foreach: SET(S_surfxml_foreach_1); break;
4600 FAIL("Unexpected character `%c' in attribute list of host element.", surf_parse_text[0]);
4604 FAIL("Bad attribute `%s' in `host' element start tag.",surf_parse_text);
4606 case YY_STATE_EOF(AL_surfxml_host):
4607 FAIL("EOF in attribute list of `host' element.");
4611 /* rule 158 can match eol */
4615 ETag_surfxml_host();
4616 popbuffer(); /* attribute */
4618 case S_surfxml_platform_2: case S_surfxml_platform_3: case S_surfxml_platform: SET(S_surfxml_platform_3); break;
4619 case S_surfxml_foreach: SET(S_surfxml_foreach_1); break;
4624 /* rule 159 can match eol */
4626 FAIL("Unexpected end-tag `%s': `</host>' expected.",surf_parse_text);
4630 FAIL("Unexpected character `%c': `</host>' expected.",surf_parse_text[0]);
4632 case YY_STATE_EOF(S_surfxml_host):
4633 case YY_STATE_EOF(E_surfxml_host):
4634 case YY_STATE_EOF(S_surfxml_host_2):
4635 FAIL("Premature EOF: `</host>' expected.");
4639 /* rule 161 can match eol */
4641 FAIL("Starting tag <prop> is not allowed here.");
4644 /* rule 162 can match eol */
4647 AX_surfxml_prop_id = 0;
4648 AX_surfxml_prop_value = 0;
4649 ENTER(AL_surfxml_prop); pushbuffer(0);
4654 /* rule 163 can match eol */
4656 ENTER(VALUE1); BUFFERSET(AX_surfxml_prop_id);
4659 /* rule 164 can match eol */
4661 ENTER(VALUE2); BUFFERSET(AX_surfxml_prop_id);
4664 /* rule 165 can match eol */
4666 ENTER(VALUE1); BUFFERSET(AX_surfxml_prop_value);
4669 /* rule 166 can match eol */
4671 ENTER(VALUE2); BUFFERSET(AX_surfxml_prop_value);
4676 if (!AX_surfxml_prop_id) FAIL("Required attribute `id' not set for `prop' element.");
4677 if (!AX_surfxml_prop_value) FAIL("Required attribute `value' not set for `prop' element.");
4678 LEAVE; STag_surfxml_prop();surfxml_pcdata_ix = 0; ENTER(E_surfxml_prop);
4684 if (!AX_surfxml_prop_id) FAIL("Required attribute `id' not set for `prop' element.");
4685 if (!AX_surfxml_prop_value) FAIL("Required attribute `value' not set for `prop' element.");
4686 LEAVE; STag_surfxml_prop(); surfxml_pcdata_ix = 0; ETag_surfxml_prop(); popbuffer(); /* attribute */
4688 case S_surfxml_random: case S_surfxml_random_2: case S_surfxml_random_1: SET(S_surfxml_random_2); break;
4689 case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
4690 case S_surfxml_host: case S_surfxml_host_1: case S_surfxml_host_2: SET(S_surfxml_host_2); break;
4691 case S_surfxml_link_1: case S_surfxml_link_2: case S_surfxml_link: SET(S_surfxml_link_2); break;
4697 FAIL("Unexpected character `%c' in attribute list of prop element.", surf_parse_text[0]);
4701 FAIL("Bad attribute `%s' in `prop' element start tag.",surf_parse_text);
4703 case YY_STATE_EOF(AL_surfxml_prop):
4704 FAIL("EOF in attribute list of `prop' element.");
4708 /* rule 171 can match eol */
4712 ETag_surfxml_prop();
4713 popbuffer(); /* attribute */
4715 case S_surfxml_random: case S_surfxml_random_2: case S_surfxml_random_1: SET(S_surfxml_random_2); break;
4716 case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
4717 case S_surfxml_host: case S_surfxml_host_1: case S_surfxml_host_2: SET(S_surfxml_host_2); break;
4718 case S_surfxml_link_1: case S_surfxml_link_2: case S_surfxml_link: SET(S_surfxml_link_2); break;
4723 /* rule 172 can match eol */
4725 FAIL("Unexpected end-tag `%s': `</prop>' expected.",surf_parse_text);
4729 FAIL("Unexpected character `%c': `</prop>' expected.",surf_parse_text[0]);
4731 case YY_STATE_EOF(E_surfxml_prop):
4732 FAIL("Premature EOF: `</prop>' expected.");
4736 /* rule 174 can match eol */
4738 FAIL("Starting tag <cluster> is not allowed here.");
4741 /* rule 175 can match eol */
4744 AX_surfxml_cluster_id = 0;
4745 AX_surfxml_cluster_prefix = 0;
4746 AX_surfxml_cluster_suffix = 0;
4747 AX_surfxml_cluster_radical = 0;
4748 AX_surfxml_cluster_power = 0;
4749 AX_surfxml_cluster_bw = 0;
4750 AX_surfxml_cluster_lat = 0;
4751 AX_surfxml_cluster_bb_bw = 0;
4752 AX_surfxml_cluster_bb_lat = 0;
4753 ENTER(AL_surfxml_cluster); pushbuffer(0);
4758 /* rule 176 can match eol */
4760 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_id);
4763 /* rule 177 can match eol */
4765 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_id);
4768 /* rule 178 can match eol */
4770 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_prefix);
4773 /* rule 179 can match eol */
4775 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_prefix);
4778 /* rule 180 can match eol */
4780 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_suffix);
4783 /* rule 181 can match eol */
4785 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_suffix);
4788 /* rule 182 can match eol */
4790 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_radical);
4793 /* rule 183 can match eol */
4795 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_radical);
4798 /* rule 184 can match eol */
4800 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_power);
4803 /* rule 185 can match eol */
4805 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_power);
4808 /* rule 186 can match eol */
4810 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_bw);
4813 /* rule 187 can match eol */
4815 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_bw);
4818 /* rule 188 can match eol */
4820 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_lat);
4823 /* rule 189 can match eol */
4825 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_lat);
4828 /* rule 190 can match eol */
4830 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_bb_bw);
4833 /* rule 191 can match eol */
4835 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_bb_bw);
4838 /* rule 192 can match eol */
4840 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_bb_lat);
4843 /* rule 193 can match eol */
4845 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_bb_lat);
4850 if (!AX_surfxml_cluster_id) FAIL("Required attribute `id' not set for `cluster' element.");
4851 if (!AX_surfxml_cluster_prefix) FAIL("Required attribute `prefix' not set for `cluster' element.");
4852 if (!AX_surfxml_cluster_suffix) FAIL("Required attribute `suffix' not set for `cluster' element.");
4853 if (!AX_surfxml_cluster_radical) FAIL("Required attribute `radical' not set for `cluster' element.");
4854 if (!AX_surfxml_cluster_power) FAIL("Required attribute `power' not set for `cluster' element.");
4855 if (!AX_surfxml_cluster_bw) FAIL("Required attribute `bw' not set for `cluster' element.");
4856 if (!AX_surfxml_cluster_lat) FAIL("Required attribute `lat' not set for `cluster' element.");
4857 if (!AX_surfxml_cluster_bb_bw) FAIL("Required attribute `bb_bw' not set for `cluster' element.");
4858 if (!AX_surfxml_cluster_bb_lat) FAIL("Required attribute `bb_lat' not set for `cluster' element.");
4859 LEAVE; STag_surfxml_cluster();surfxml_pcdata_ix = 0; ENTER(E_surfxml_cluster);
4865 if (!AX_surfxml_cluster_id) FAIL("Required attribute `id' not set for `cluster' element.");
4866 if (!AX_surfxml_cluster_prefix) FAIL("Required attribute `prefix' not set for `cluster' element.");
4867 if (!AX_surfxml_cluster_suffix) FAIL("Required attribute `suffix' not set for `cluster' element.");
4868 if (!AX_surfxml_cluster_radical) FAIL("Required attribute `radical' not set for `cluster' element.");
4869 if (!AX_surfxml_cluster_power) FAIL("Required attribute `power' not set for `cluster' element.");
4870 if (!AX_surfxml_cluster_bw) FAIL("Required attribute `bw' not set for `cluster' element.");
4871 if (!AX_surfxml_cluster_lat) FAIL("Required attribute `lat' not set for `cluster' element.");
4872 if (!AX_surfxml_cluster_bb_bw) FAIL("Required attribute `bb_bw' not set for `cluster' element.");
4873 if (!AX_surfxml_cluster_bb_lat) FAIL("Required attribute `bb_lat' not set for `cluster' element.");
4874 LEAVE; STag_surfxml_cluster(); surfxml_pcdata_ix = 0; ETag_surfxml_cluster(); popbuffer(); /* attribute */
4876 case S_surfxml_platform_2: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_3); break;
4882 FAIL("Unexpected character `%c' in attribute list of cluster element.", surf_parse_text[0]);
4886 FAIL("Bad attribute `%s' in `cluster' element start tag.",surf_parse_text);
4888 case YY_STATE_EOF(AL_surfxml_cluster):
4889 FAIL("EOF in attribute list of `cluster' element.");
4893 /* rule 198 can match eol */
4897 ETag_surfxml_cluster();
4898 popbuffer(); /* attribute */
4900 case S_surfxml_platform_2: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_3); break;
4905 /* rule 199 can match eol */
4907 FAIL("Unexpected end-tag `%s': `</cluster>' expected.",surf_parse_text);
4911 FAIL("Unexpected character `%c': `</cluster>' expected.",surf_parse_text[0]);
4913 case YY_STATE_EOF(E_surfxml_cluster):
4914 FAIL("Premature EOF: `</cluster>' expected.");
4918 /* rule 201 can match eol */
4920 FAIL("Starting tag <router> is not allowed here.");
4923 /* rule 202 can match eol */
4926 AX_surfxml_router_id = 0;
4927 ENTER(AL_surfxml_router); pushbuffer(0);
4932 /* rule 203 can match eol */
4934 ENTER(VALUE1); BUFFERSET(AX_surfxml_router_id);
4937 /* rule 204 can match eol */
4939 ENTER(VALUE2); BUFFERSET(AX_surfxml_router_id);
4944 if (!AX_surfxml_router_id) FAIL("Required attribute `id' not set for `router' element.");
4945 LEAVE; STag_surfxml_router();surfxml_pcdata_ix = 0; ENTER(E_surfxml_router);
4951 if (!AX_surfxml_router_id) FAIL("Required attribute `id' not set for `router' element.");
4952 LEAVE; STag_surfxml_router(); surfxml_pcdata_ix = 0; ETag_surfxml_router(); popbuffer(); /* attribute */
4954 case S_surfxml_platform_2: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_3); break;
4960 FAIL("Unexpected character `%c' in attribute list of router element.", surf_parse_text[0]);
4964 FAIL("Bad attribute `%s' in `router' element start tag.",surf_parse_text);
4966 case YY_STATE_EOF(AL_surfxml_router):
4967 FAIL("EOF in attribute list of `router' element.");
4971 /* rule 209 can match eol */
4975 ETag_surfxml_router();
4976 popbuffer(); /* attribute */
4978 case S_surfxml_platform_2: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_3); break;
4983 /* rule 210 can match eol */
4985 FAIL("Unexpected end-tag `%s': `</router>' expected.",surf_parse_text);
4989 FAIL("Unexpected character `%c': `</router>' expected.",surf_parse_text[0]);
4991 case YY_STATE_EOF(E_surfxml_router):
4992 FAIL("Premature EOF: `</router>' expected.");
4996 /* rule 212 can match eol */
4998 FAIL("Starting tag <link> is not allowed here.");
5001 /* rule 213 can match eol */
5004 AX_surfxml_link_id = 0;
5005 AX_surfxml_link_bandwidth = 0;
5006 AX_surfxml_link_bandwidth_file = 0;
5007 AX_surfxml_link_latency = 90;
5008 AX_surfxml_link_latency_file = 0;
5009 AX_surfxml_link_state = A_surfxml_link_state_ON;
5010 AX_surfxml_link_state_file = 0;
5011 AX_surfxml_link_sharing_policy = A_surfxml_link_sharing_policy_SHARED;
5012 ENTER(AL_surfxml_link); pushbuffer(0);
5017 /* rule 214 can match eol */
5019 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_id);
5022 /* rule 215 can match eol */
5024 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_id);
5027 /* rule 216 can match eol */
5029 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_bandwidth);
5032 /* rule 217 can match eol */
5034 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_bandwidth);
5037 /* rule 218 can match eol */
5039 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_bandwidth_file);
5042 /* rule 219 can match eol */
5044 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_bandwidth_file);
5047 /* rule 220 can match eol */
5049 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_latency);
5052 /* rule 221 can match eol */
5054 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_latency);
5057 /* rule 222 can match eol */
5059 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_latency_file);
5062 /* rule 223 can match eol */
5064 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_latency_file);
5067 /* rule 224 can match eol */
5069 /* rule 225 can match eol */
5071 A_surfxml_link_state = A_surfxml_link_state_ON;
5074 /* rule 226 can match eol */
5076 /* rule 227 can match eol */
5078 A_surfxml_link_state = A_surfxml_link_state_OFF;
5081 /* rule 228 can match eol */
5083 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_state_file);
5086 /* rule 229 can match eol */
5088 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_state_file);
5091 /* rule 230 can match eol */
5093 /* rule 231 can match eol */
5095 A_surfxml_link_sharing_policy = A_surfxml_link_sharing_policy_SHARED;
5098 /* rule 232 can match eol */
5100 /* rule 233 can match eol */
5102 A_surfxml_link_sharing_policy = A_surfxml_link_sharing_policy_FATPIPE;
5107 if (!AX_surfxml_link_id) FAIL("Required attribute `id' not set for `link' element.");
5108 if (!AX_surfxml_link_bandwidth) FAIL("Required attribute `bandwidth' not set for `link' element.");
5109 LEAVE; STag_surfxml_link();surfxml_pcdata_ix = 0; ENTER(S_surfxml_link);
5115 if (!AX_surfxml_link_id) FAIL("Required attribute `id' not set for `link' element.");
5116 if (!AX_surfxml_link_bandwidth) FAIL("Required attribute `bandwidth' not set for `link' element.");
5117 LEAVE; STag_surfxml_link(); surfxml_pcdata_ix = 0; ETag_surfxml_link(); popbuffer(); /* attribute */
5119 case S_surfxml_foreach: case S_surfxml_foreach_1: SET(E_surfxml_foreach); break;
5120 case S_surfxml_platform_2: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_3); break;
5126 FAIL("Unexpected character `%c' in attribute list of link element.", surf_parse_text[0]);
5130 FAIL("Bad attribute `%s' in `link' element start tag.",surf_parse_text);
5132 case YY_STATE_EOF(AL_surfxml_link):
5133 FAIL("EOF in attribute list of `link' element.");
5137 /* rule 238 can match eol */
5141 ETag_surfxml_link();
5142 popbuffer(); /* attribute */
5144 case S_surfxml_foreach: case S_surfxml_foreach_1: SET(E_surfxml_foreach); break;
5145 case S_surfxml_platform_2: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_3); break;
5150 /* rule 239 can match eol */
5152 FAIL("Unexpected end-tag `%s': `</link>' expected.",surf_parse_text);
5156 FAIL("Unexpected character `%c': `</link>' expected.",surf_parse_text[0]);
5158 case YY_STATE_EOF(S_surfxml_link_2):
5159 case YY_STATE_EOF(E_surfxml_link):
5160 case YY_STATE_EOF(S_surfxml_link):
5161 FAIL("Premature EOF: `</link>' expected.");
5165 /* rule 241 can match eol */
5167 FAIL("Starting tag <route:multi> is not allowed here.");
5170 /* rule 242 can match eol */
5173 AX_surfxml_route_c_multi_src = 0;
5174 AX_surfxml_route_c_multi_dst = 0;
5175 AX_surfxml_route_c_multi_action = A_surfxml_route_c_multi_action_POSTPEND;
5176 AX_surfxml_route_c_multi_symmetric = A_surfxml_route_c_multi_symmetric_YES;
5177 ENTER(AL_surfxml_route_c_multi); pushbuffer(0);
5182 /* rule 243 can match eol */
5184 ENTER(VALUE1); BUFFERSET(AX_surfxml_route_c_multi_src);
5187 /* rule 244 can match eol */
5189 ENTER(VALUE2); BUFFERSET(AX_surfxml_route_c_multi_src);
5192 /* rule 245 can match eol */
5194 ENTER(VALUE1); BUFFERSET(AX_surfxml_route_c_multi_dst);
5197 /* rule 246 can match eol */
5199 ENTER(VALUE2); BUFFERSET(AX_surfxml_route_c_multi_dst);
5202 /* rule 247 can match eol */
5204 /* rule 248 can match eol */
5206 A_surfxml_route_c_multi_action = A_surfxml_route_c_multi_action_POSTPEND;
5209 /* rule 249 can match eol */
5211 /* rule 250 can match eol */
5213 A_surfxml_route_c_multi_action = A_surfxml_route_c_multi_action_PREPEND;
5216 /* rule 251 can match eol */
5218 /* rule 252 can match eol */
5220 A_surfxml_route_c_multi_action = A_surfxml_route_c_multi_action_OVERRIDE;
5223 /* rule 253 can match eol */
5225 /* rule 254 can match eol */
5227 A_surfxml_route_c_multi_symmetric = A_surfxml_route_c_multi_symmetric_YES;
5230 /* rule 255 can match eol */
5232 /* rule 256 can match eol */
5234 A_surfxml_route_c_multi_symmetric = A_surfxml_route_c_multi_symmetric_NO;
5239 if (!AX_surfxml_route_c_multi_src) FAIL("Required attribute `src' not set for `route:multi' element.");
5240 if (!AX_surfxml_route_c_multi_dst) FAIL("Required attribute `dst' not set for `route:multi' element.");
5241 LEAVE; STag_surfxml_route_c_multi();surfxml_pcdata_ix = 0; ENTER(S_surfxml_route_c_multi);
5246 FAIL("`route:multi' element cannot be empty.");
5250 FAIL("Unexpected character `%c' in attribute list of route:multi element.", surf_parse_text[0]);
5254 FAIL("Bad attribute `%s' in `route:multi' element start tag.",surf_parse_text);
5256 case YY_STATE_EOF(AL_surfxml_route_c_multi):
5257 FAIL("EOF in attribute list of `route:multi' element.");
5261 /* rule 261 can match eol */
5265 ETag_surfxml_route_c_multi();
5266 popbuffer(); /* attribute */
5268 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;
5273 /* rule 262 can match eol */
5275 FAIL("Unexpected end-tag `%s': `</route:multi>' expected.",surf_parse_text);
5279 FAIL("Unexpected character `%c': `</route:multi>' expected.",surf_parse_text[0]);
5281 case YY_STATE_EOF(S_surfxml_route_c_multi_2):
5282 case YY_STATE_EOF(E_surfxml_route_c_multi):
5283 FAIL("Premature EOF: `</route:multi>' expected.");
5287 /* rule 264 can match eol */
5289 FAIL("Starting tag <route> is not allowed here.");
5292 /* rule 265 can match eol */
5295 AX_surfxml_route_src = 0;
5296 AX_surfxml_route_dst = 0;
5297 AX_surfxml_route_impact_on_src = 94;
5298 AX_surfxml_route_impact_on_dst = 98;
5299 AX_surfxml_route_impact_on_src_with_other_recv = 102;
5300 AX_surfxml_route_impact_on_dst_with_other_send = 106;
5301 AX_surfxml_route_action = A_surfxml_route_action_POSTPEND;
5302 ENTER(AL_surfxml_route); pushbuffer(0);
5307 /* rule 266 can match eol */
5309 ENTER(VALUE1); BUFFERSET(AX_surfxml_route_src);
5312 /* rule 267 can match eol */
5314 ENTER(VALUE2); BUFFERSET(AX_surfxml_route_src);
5317 /* rule 268 can match eol */
5319 ENTER(VALUE1); BUFFERSET(AX_surfxml_route_dst);
5322 /* rule 269 can match eol */
5324 ENTER(VALUE2); BUFFERSET(AX_surfxml_route_dst);
5327 /* rule 270 can match eol */
5329 ENTER(VALUE1); BUFFERSET(AX_surfxml_route_impact_on_src);
5332 /* rule 271 can match eol */
5334 ENTER(VALUE2); BUFFERSET(AX_surfxml_route_impact_on_src);
5337 /* rule 272 can match eol */
5339 ENTER(VALUE1); BUFFERSET(AX_surfxml_route_impact_on_dst);
5342 /* rule 273 can match eol */
5344 ENTER(VALUE2); BUFFERSET(AX_surfxml_route_impact_on_dst);
5347 /* rule 274 can match eol */
5349 ENTER(VALUE1); BUFFERSET(AX_surfxml_route_impact_on_src_with_other_recv);
5352 /* rule 275 can match eol */
5354 ENTER(VALUE2); BUFFERSET(AX_surfxml_route_impact_on_src_with_other_recv);
5357 /* rule 276 can match eol */
5359 ENTER(VALUE1); BUFFERSET(AX_surfxml_route_impact_on_dst_with_other_send);
5362 /* rule 277 can match eol */
5364 ENTER(VALUE2); BUFFERSET(AX_surfxml_route_impact_on_dst_with_other_send);
5367 /* rule 278 can match eol */
5369 /* rule 279 can match eol */
5371 A_surfxml_route_action = A_surfxml_route_action_POSTPEND;
5374 /* rule 280 can match eol */
5376 /* rule 281 can match eol */
5378 A_surfxml_route_action = A_surfxml_route_action_PREPEND;
5381 /* rule 282 can match eol */
5383 /* rule 283 can match eol */
5385 A_surfxml_route_action = A_surfxml_route_action_OVERRIDE;
5390 if (!AX_surfxml_route_src) FAIL("Required attribute `src' not set for `route' element.");
5391 if (!AX_surfxml_route_dst) FAIL("Required attribute `dst' not set for `route' element.");
5392 LEAVE; STag_surfxml_route();surfxml_pcdata_ix = 0; ENTER(S_surfxml_route);
5398 if (!AX_surfxml_route_src) FAIL("Required attribute `src' not set for `route' element.");
5399 if (!AX_surfxml_route_dst) FAIL("Required attribute `dst' not set for `route' element.");
5400 LEAVE; STag_surfxml_route(); surfxml_pcdata_ix = 0; ETag_surfxml_route(); popbuffer(); /* attribute */
5402 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;
5408 FAIL("Unexpected character `%c' in attribute list of route element.", surf_parse_text[0]);
5412 FAIL("Bad attribute `%s' in `route' element start tag.",surf_parse_text);
5414 case YY_STATE_EOF(AL_surfxml_route):
5415 FAIL("EOF in attribute list of `route' element.");
5419 /* rule 288 can match eol */
5423 ETag_surfxml_route();
5424 popbuffer(); /* attribute */
5426 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;
5431 /* rule 289 can match eol */
5433 FAIL("Unexpected end-tag `%s': `</route>' expected.",surf_parse_text);
5437 FAIL("Unexpected character `%c': `</route>' expected.",surf_parse_text[0]);
5439 case YY_STATE_EOF(S_surfxml_route):
5440 case YY_STATE_EOF(S_surfxml_route_2):
5441 case YY_STATE_EOF(E_surfxml_route):
5442 FAIL("Premature EOF: `</route>' expected.");
5446 /* rule 291 can match eol */
5448 FAIL("Starting tag <link:ctn> is not allowed here.");
5451 /* rule 292 can match eol */
5454 AX_surfxml_link_c_ctn_id = 0;
5455 ENTER(AL_surfxml_link_c_ctn); pushbuffer(0);
5460 /* rule 293 can match eol */
5462 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_c_ctn_id);
5465 /* rule 294 can match eol */
5467 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_c_ctn_id);
5472 if (!AX_surfxml_link_c_ctn_id) FAIL("Required attribute `id' not set for `link:ctn' element.");
5473 LEAVE; STag_surfxml_link_c_ctn();surfxml_pcdata_ix = 0; ENTER(E_surfxml_link_c_ctn);
5479 if (!AX_surfxml_link_c_ctn_id) FAIL("Required attribute `id' not set for `link:ctn' element.");
5480 LEAVE; STag_surfxml_link_c_ctn(); surfxml_pcdata_ix = 0; ETag_surfxml_link_c_ctn(); popbuffer(); /* attribute */
5482 case S_surfxml_route_1: case S_surfxml_route: case S_surfxml_route_2: SET(S_surfxml_route_2); break;
5483 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;
5489 FAIL("Unexpected character `%c' in attribute list of link:ctn element.", surf_parse_text[0]);
5493 FAIL("Bad attribute `%s' in `link:ctn' element start tag.",surf_parse_text);
5495 case YY_STATE_EOF(AL_surfxml_link_c_ctn):
5496 FAIL("EOF in attribute list of `link:ctn' element.");
5500 /* rule 299 can match eol */
5504 ETag_surfxml_link_c_ctn();
5505 popbuffer(); /* attribute */
5507 case S_surfxml_route_1: case S_surfxml_route: case S_surfxml_route_2: SET(S_surfxml_route_2); break;
5508 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;
5513 /* rule 300 can match eol */
5515 FAIL("Unexpected end-tag `%s': `</link:ctn>' expected.",surf_parse_text);
5519 FAIL("Unexpected character `%c': `</link:ctn>' expected.",surf_parse_text[0]);
5521 case YY_STATE_EOF(E_surfxml_link_c_ctn):
5522 FAIL("Premature EOF: `</link:ctn>' expected.");
5526 /* rule 302 can match eol */
5528 FAIL("Starting tag <process> is not allowed here.");
5531 /* rule 303 can match eol */
5534 AX_surfxml_process_host = 0;
5535 AX_surfxml_process_function = 0;
5536 AX_surfxml_process_start_time = 110;
5537 AX_surfxml_process_kill_time = 115;
5538 ENTER(AL_surfxml_process); pushbuffer(0);
5543 /* rule 304 can match eol */
5545 ENTER(VALUE1); BUFFERSET(AX_surfxml_process_host);
5548 /* rule 305 can match eol */
5550 ENTER(VALUE2); BUFFERSET(AX_surfxml_process_host);
5553 /* rule 306 can match eol */
5555 ENTER(VALUE1); BUFFERSET(AX_surfxml_process_function);
5558 /* rule 307 can match eol */
5560 ENTER(VALUE2); BUFFERSET(AX_surfxml_process_function);
5563 /* rule 308 can match eol */
5565 ENTER(VALUE1); BUFFERSET(AX_surfxml_process_start_time);
5568 /* rule 309 can match eol */
5570 ENTER(VALUE2); BUFFERSET(AX_surfxml_process_start_time);
5573 /* rule 310 can match eol */
5575 ENTER(VALUE1); BUFFERSET(AX_surfxml_process_kill_time);
5578 /* rule 311 can match eol */
5580 ENTER(VALUE2); BUFFERSET(AX_surfxml_process_kill_time);
5585 if (!AX_surfxml_process_host) FAIL("Required attribute `host' not set for `process' element.");
5586 if (!AX_surfxml_process_function) FAIL("Required attribute `function' not set for `process' element.");
5587 LEAVE; STag_surfxml_process();surfxml_pcdata_ix = 0; ENTER(S_surfxml_process);
5593 if (!AX_surfxml_process_host) FAIL("Required attribute `host' not set for `process' element.");
5594 if (!AX_surfxml_process_function) FAIL("Required attribute `function' not set for `process' element.");
5595 LEAVE; STag_surfxml_process(); surfxml_pcdata_ix = 0; ETag_surfxml_process(); popbuffer(); /* attribute */
5597 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;
5603 FAIL("Unexpected character `%c' in attribute list of process element.", surf_parse_text[0]);
5607 FAIL("Bad attribute `%s' in `process' element start tag.",surf_parse_text);
5609 case YY_STATE_EOF(AL_surfxml_process):
5610 FAIL("EOF in attribute list of `process' element.");
5614 /* rule 316 can match eol */
5618 ETag_surfxml_process();
5619 popbuffer(); /* attribute */
5621 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;
5626 /* rule 317 can match eol */
5628 FAIL("Unexpected end-tag `%s': `</process>' expected.",surf_parse_text);
5632 FAIL("Unexpected character `%c': `</process>' expected.",surf_parse_text[0]);
5634 case YY_STATE_EOF(S_surfxml_process):
5635 case YY_STATE_EOF(E_surfxml_process):
5636 case YY_STATE_EOF(S_surfxml_process_2):
5637 FAIL("Premature EOF: `</process>' expected.");
5641 /* rule 319 can match eol */
5643 FAIL("Starting tag <argument> is not allowed here.");
5646 /* rule 320 can match eol */
5649 AX_surfxml_argument_value = 0;
5650 ENTER(AL_surfxml_argument); pushbuffer(0);
5655 /* rule 321 can match eol */
5657 ENTER(VALUE1); BUFFERSET(AX_surfxml_argument_value);
5660 /* rule 322 can match eol */
5662 ENTER(VALUE2); BUFFERSET(AX_surfxml_argument_value);
5667 if (!AX_surfxml_argument_value) FAIL("Required attribute `value' not set for `argument' element.");
5668 LEAVE; STag_surfxml_argument();surfxml_pcdata_ix = 0; ENTER(E_surfxml_argument);
5674 if (!AX_surfxml_argument_value) FAIL("Required attribute `value' not set for `argument' element.");
5675 LEAVE; STag_surfxml_argument(); surfxml_pcdata_ix = 0; ETag_surfxml_argument(); popbuffer(); /* attribute */
5677 case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
5683 FAIL("Unexpected character `%c' in attribute list of argument element.", surf_parse_text[0]);
5687 FAIL("Bad attribute `%s' in `argument' element start tag.",surf_parse_text);
5689 case YY_STATE_EOF(AL_surfxml_argument):
5690 FAIL("EOF in attribute list of `argument' element.");
5694 /* rule 327 can match eol */
5698 ETag_surfxml_argument();
5699 popbuffer(); /* attribute */
5701 case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
5706 /* rule 328 can match eol */
5708 FAIL("Unexpected end-tag `%s': `</argument>' expected.",surf_parse_text);
5712 FAIL("Unexpected character `%c': `</argument>' expected.",surf_parse_text[0]);
5714 case YY_STATE_EOF(E_surfxml_argument):
5715 FAIL("Premature EOF: `</argument>' expected.");
5718 /* EPILOG: after the root element. */
5722 {SET(PROLOG); yyless(0); CLEANUP; return -1;}
5724 case YY_STATE_EOF(EPILOG):
5728 /* CHARACTER DATA. */
5730 /* Non-defined standard entities... */
5751 /* Character entities. */
5754 BUFFERPUTC((unsigned char)atoi(surf_parse_text+2));
5758 BUFFERPUTC((unsigned char)strtol(surf_parse_text+3,NULL,16));
5762 /* rule 338 can match eol */
5764 /* rule 339 can match eol */
5766 /* rule 340 can match eol */
5768 /* rule 341 can match eol */
5779 FAIL("Unexpected `]""]>' in character data.");
5786 case YY_STATE_EOF(VALUE1):
5787 FAIL("EOF in literal (\"'\" expected).");
5794 case YY_STATE_EOF(VALUE2):
5795 FAIL("EOF in literal (`\"' expected).");
5799 /* rule 346 can match eol */
5801 BUFFERPUTC(surf_parse_text[0]);
5805 FAIL("Spurious `%c' in character data.",surf_parse_text[0]);
5812 /* "]""]" BUFFERPUTC(surf_parse_text[0]); BUFFERPUTC(surf_parse_text[1]); */
5815 BUFFERPUTC(surf_parse_text[0]);
5817 case YY_STATE_EOF(CDATA):
5818 FAIL("EOF in CDATA section.");
5821 /* Impossible rules to avoid warnings from flex(1). */
5822 /* Ideally, this should be replaced by code in flexml.pl that
5823 generates just the states not covered by other rules. */
5826 /* rule 350 can match eol */
5828 FAIL("Syntax error on character `%c'.", surf_parse_text[0]);
5835 case YY_STATE_EOF(INITIAL):
5836 case YY_STATE_EOF(ROOT_surfxml_platform):
5837 case YY_STATE_EOF(S_surfxml_platform_2):
5838 case YY_STATE_EOF(S_surfxml_platform_4):
5839 case YY_STATE_EOF(S_surfxml_random_1):
5840 case YY_STATE_EOF(S_surfxml_foreach):
5841 case YY_STATE_EOF(S_surfxml_foreach_1):
5842 case YY_STATE_EOF(S_surfxml_host_1):
5843 case YY_STATE_EOF(S_surfxml_link_1):
5844 case YY_STATE_EOF(S_surfxml_route_c_multi):
5845 case YY_STATE_EOF(S_surfxml_route_c_multi_1):
5846 case YY_STATE_EOF(S_surfxml_route_1):
5847 case YY_STATE_EOF(S_surfxml_process_1):
5848 case YY_STATE_EOF(IMPOSSIBLE):
5851 case YY_END_OF_BUFFER:
5853 /* Amount of text matched not including the EOB char. */
5854 int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
5856 /* Undo the effects of YY_DO_BEFORE_ACTION. */
5857 *yy_cp = (yy_hold_char);
5858 YY_RESTORE_YY_MORE_OFFSET
5860 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
5862 /* We're scanning a new file or input source. It's
5863 * possible that this happened because the user
5864 * just pointed surf_parse_in at a new source and called
5865 * surf_parse_lex(). If so, then we have to assure
5866 * consistency between YY_CURRENT_BUFFER and our
5867 * globals. Here is the right place to do so, because
5868 * this is the first action (other than possibly a
5869 * back-up) that will match for the new input source.
5871 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
5872 YY_CURRENT_BUFFER_LVALUE->yy_input_file = surf_parse_in;
5873 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
5876 /* Note that here we test for yy_c_buf_p "<=" to the position
5877 * of the first EOB in the buffer, since yy_c_buf_p will
5878 * already have been incremented past the NUL character
5879 * (since all states make transitions on EOB to the
5880 * end-of-buffer state). Contrast this with the test
5883 if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
5884 { /* This was really a NUL. */
5885 yy_state_type yy_next_state;
5887 (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
5889 yy_current_state = yy_get_previous_state( );
5891 /* Okay, we're now positioned to make the NUL
5892 * transition. We couldn't have
5893 * yy_get_previous_state() go ahead and do it
5894 * for us because it doesn't know how to deal
5895 * with the possibility of jamming (and we don't
5896 * want to build jamming into it because then it
5897 * will run more slowly).
5900 yy_next_state = yy_try_NUL_trans( yy_current_state );
5902 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
5904 if ( yy_next_state )
5906 /* Consume the NUL. */
5907 yy_cp = ++(yy_c_buf_p);
5908 yy_current_state = yy_next_state;
5914 yy_cp = (yy_c_buf_p);
5915 goto yy_find_action;
5919 else switch ( yy_get_next_buffer( ) )
5921 case EOB_ACT_END_OF_FILE:
5923 (yy_did_buffer_switch_on_eof) = 0;
5925 if ( surf_parse_wrap( ) )
5927 /* Note: because we've taken care in
5928 * yy_get_next_buffer() to have set up
5929 * surf_parse_text, we can now set up
5930 * yy_c_buf_p so that if some total
5931 * hoser (like flex itself) wants to
5932 * call the scanner after we return the
5933 * YY_NULL, it'll still work - another
5934 * YY_NULL will get returned.
5936 (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
5938 yy_act = YY_STATE_EOF(YY_START);
5944 if ( ! (yy_did_buffer_switch_on_eof) )
5950 case EOB_ACT_CONTINUE_SCAN:
5952 (yytext_ptr) + yy_amount_of_matched_text;
5954 yy_current_state = yy_get_previous_state( );
5956 yy_cp = (yy_c_buf_p);
5957 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
5960 case EOB_ACT_LAST_MATCH:
5962 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
5964 yy_current_state = yy_get_previous_state( );
5966 yy_cp = (yy_c_buf_p);
5967 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
5968 goto yy_find_action;
5975 "fatal flex scanner internal error--no action found" );
5976 } /* end of action switch */
5977 } /* end of scanning one token */
5978 } /* end of surf_parse_lex */
5980 /* yy_get_next_buffer - try to read in a new buffer
5982 * Returns a code representing an action:
5983 * EOB_ACT_LAST_MATCH -
5984 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
5985 * EOB_ACT_END_OF_FILE - end of file
5987 static int yy_get_next_buffer (void)
5989 register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
5990 register char *source = (yytext_ptr);
5991 register int number_to_move, i;
5994 if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
5996 "fatal flex scanner internal error--end of buffer missed" );
5998 if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
5999 { /* Don't try to fill the buffer, so this is an EOF. */
6000 if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
6002 /* We matched a single character, the EOB, so
6003 * treat this as a final EOF.
6005 return EOB_ACT_END_OF_FILE;
6010 /* We matched some text prior to the EOB, first
6013 return EOB_ACT_LAST_MATCH;
6017 /* Try to read more data. */
6019 /* First move last chars to start of buffer. */
6020 number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
6022 for ( i = 0; i < number_to_move; ++i )
6023 *(dest++) = *(source++);
6025 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
6026 /* don't do the read, it's not guaranteed to return an EOF,
6029 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
6034 YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
6036 while ( num_to_read <= 0 )
6037 { /* Not enough room in the buffer - grow it. */
6039 /* just a shorter name for the current buffer */
6040 YY_BUFFER_STATE b = YY_CURRENT_BUFFER;
6042 int yy_c_buf_p_offset =
6043 (int) ((yy_c_buf_p) - b->yy_ch_buf);
6045 if ( b->yy_is_our_buffer )
6047 int new_size = b->yy_buf_size * 2;
6049 if ( new_size <= 0 )
6050 b->yy_buf_size += b->yy_buf_size / 8;
6052 b->yy_buf_size *= 2;
6054 b->yy_ch_buf = (char *)
6055 /* Include room in for 2 EOB chars. */
6056 surf_parse_realloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 );
6059 /* Can't grow it, we don't own it. */
6062 if ( ! b->yy_ch_buf )
6064 "fatal error - scanner input buffer overflow" );
6066 (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
6068 num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
6073 if ( num_to_read > YY_READ_BUF_SIZE )
6074 num_to_read = YY_READ_BUF_SIZE;
6076 /* Read in more data. */
6077 YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
6078 (yy_n_chars), (size_t) num_to_read );
6080 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
6083 if ( (yy_n_chars) == 0 )
6085 if ( number_to_move == YY_MORE_ADJ )
6087 ret_val = EOB_ACT_END_OF_FILE;
6088 surf_parse_restart(surf_parse_in );
6093 ret_val = EOB_ACT_LAST_MATCH;
6094 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
6095 YY_BUFFER_EOF_PENDING;
6100 ret_val = EOB_ACT_CONTINUE_SCAN;
6102 if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
6103 /* Extend the array by 50%, plus the number we really need. */
6104 yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
6105 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) surf_parse_realloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size );
6106 if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
6107 YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
6110 (yy_n_chars) += number_to_move;
6111 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
6112 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
6114 (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
6119 /* yy_get_previous_state - get the state just before the EOB char was reached */
6121 static yy_state_type yy_get_previous_state (void)
6123 register yy_state_type yy_current_state;
6124 register char *yy_cp;
6126 yy_current_state = (yy_start);
6128 for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
6130 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
6131 if ( yy_accept[yy_current_state] )
6133 (yy_last_accepting_state) = yy_current_state;
6134 (yy_last_accepting_cpos) = yy_cp;
6136 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
6138 yy_current_state = (int) yy_def[yy_current_state];
6139 if ( yy_current_state >= 2023 )
6140 yy_c = yy_meta[(unsigned int) yy_c];
6142 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
6145 return yy_current_state;
6148 /* yy_try_NUL_trans - try to make a transition on the NUL character
6151 * next_state = yy_try_NUL_trans( current_state );
6153 static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state )
6155 register int yy_is_jam;
6156 register char *yy_cp = (yy_c_buf_p);
6158 register YY_CHAR yy_c = 1;
6159 if ( yy_accept[yy_current_state] )
6161 (yy_last_accepting_state) = yy_current_state;
6162 (yy_last_accepting_cpos) = yy_cp;
6164 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
6166 yy_current_state = (int) yy_def[yy_current_state];
6167 if ( yy_current_state >= 2023 )
6168 yy_c = yy_meta[(unsigned int) yy_c];
6170 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
6171 yy_is_jam = (yy_current_state == 2022);
6173 return yy_is_jam ? 0 : yy_current_state;
6178 static int yyinput (void)
6180 static int input (void)
6186 *(yy_c_buf_p) = (yy_hold_char);
6188 if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
6190 /* yy_c_buf_p now points to the character we want to return.
6191 * If this occurs *before* the EOB characters, then it's a
6192 * valid NUL; if not, then we've hit the end of the buffer.
6194 if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
6195 /* This was really a NUL. */
6196 *(yy_c_buf_p) = '\0';
6199 { /* need more input */
6200 int offset = (yy_c_buf_p) - (yytext_ptr);
6203 switch ( yy_get_next_buffer( ) )
6205 case EOB_ACT_LAST_MATCH:
6206 /* This happens because yy_g_n_b()
6207 * sees that we've accumulated a
6208 * token and flags that we need to
6209 * try matching the token before
6210 * proceeding. But for input(),
6211 * there's no matching to consider.
6212 * So convert the EOB_ACT_LAST_MATCH
6213 * to EOB_ACT_END_OF_FILE.
6216 /* Reset buffer status. */
6217 surf_parse_restart(surf_parse_in );
6221 case EOB_ACT_END_OF_FILE:
6223 if ( surf_parse_wrap( ) )
6226 if ( ! (yy_did_buffer_switch_on_eof) )
6235 case EOB_ACT_CONTINUE_SCAN:
6236 (yy_c_buf_p) = (yytext_ptr) + offset;
6242 c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */
6243 *(yy_c_buf_p) = '\0'; /* preserve surf_parse_text */
6244 (yy_hold_char) = *++(yy_c_buf_p);
6248 surf_parse_lineno++;
6253 #endif /* ifndef YY_NO_INPUT */
6255 /** Immediately switch to a different input stream.
6256 * @param input_file A readable stream.
6258 * @note This function does not reset the start condition to @c INITIAL .
6260 void surf_parse_restart (FILE * input_file )
6263 if ( ! YY_CURRENT_BUFFER ){
6264 surf_parse_ensure_buffer_stack ();
6265 YY_CURRENT_BUFFER_LVALUE =
6266 surf_parse__create_buffer(surf_parse_in,YY_BUF_SIZE );
6269 surf_parse__init_buffer(YY_CURRENT_BUFFER,input_file );
6270 surf_parse__load_buffer_state( );
6273 /** Switch to a different input buffer.
6274 * @param new_buffer The new input buffer.
6277 void surf_parse__switch_to_buffer (YY_BUFFER_STATE new_buffer )
6280 /* TODO. We should be able to replace this entire function body
6282 * surf_parse_pop_buffer_state();
6283 * surf_parse_push_buffer_state(new_buffer);
6285 surf_parse_ensure_buffer_stack ();
6286 if ( YY_CURRENT_BUFFER == new_buffer )
6289 if ( YY_CURRENT_BUFFER )
6291 /* Flush out information for old buffer. */
6292 *(yy_c_buf_p) = (yy_hold_char);
6293 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
6294 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
6297 YY_CURRENT_BUFFER_LVALUE = new_buffer;
6298 surf_parse__load_buffer_state( );
6300 /* We don't actually know whether we did this switch during
6301 * EOF (surf_parse_wrap()) processing, but the only time this flag
6302 * is looked at is after surf_parse_wrap() is called, so it's safe
6303 * to go ahead and always set it.
6305 (yy_did_buffer_switch_on_eof) = 1;
6308 static void surf_parse__load_buffer_state (void)
6310 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
6311 (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
6312 surf_parse_in = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
6313 (yy_hold_char) = *(yy_c_buf_p);
6316 /** Allocate and initialize an input buffer state.
6317 * @param file A readable stream.
6318 * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
6320 * @return the allocated buffer state.
6322 YY_BUFFER_STATE surf_parse__create_buffer (FILE * file, int size )
6326 b = (YY_BUFFER_STATE) surf_parse_alloc(sizeof( struct yy_buffer_state ) );
6328 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__create_buffer()" );
6330 b->yy_buf_size = size;
6332 /* yy_ch_buf has to be 2 characters longer than the size given because
6333 * we need to put in 2 end-of-buffer characters.
6335 b->yy_ch_buf = (char *) surf_parse_alloc(b->yy_buf_size + 2 );
6336 if ( ! b->yy_ch_buf )
6337 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__create_buffer()" );
6339 b->yy_is_our_buffer = 1;
6341 surf_parse__init_buffer(b,file );
6346 /** Destroy the buffer.
6347 * @param b a buffer created with surf_parse__create_buffer()
6350 void surf_parse__delete_buffer (YY_BUFFER_STATE b )
6356 if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
6357 YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
6359 if ( b->yy_is_our_buffer )
6360 surf_parse_free((void *) b->yy_ch_buf );
6362 surf_parse_free((void *) b );
6367 extern int isatty (int );
6369 #endif /* __cplusplus */
6371 /* Initializes or reinitializes a buffer.
6372 * This function is sometimes called more than once on the same buffer,
6373 * such as during a surf_parse_restart() or at EOF.
6375 static void surf_parse__init_buffer (YY_BUFFER_STATE b, FILE * file )
6380 surf_parse__flush_buffer(b );
6382 b->yy_input_file = file;
6383 b->yy_fill_buffer = 1;
6385 /* If b is the current buffer, then surf_parse__init_buffer was _probably_
6386 * called from surf_parse_restart() or through yy_get_next_buffer.
6387 * In that case, we don't want to reset the lineno or column.
6389 if (b != YY_CURRENT_BUFFER){
6390 b->yy_bs_lineno = 1;
6391 b->yy_bs_column = 0;
6394 b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
6399 /** Discard all buffered characters. On the next scan, YY_INPUT will be called.
6400 * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
6403 void surf_parse__flush_buffer (YY_BUFFER_STATE b )
6410 /* We always need two end-of-buffer characters. The first causes
6411 * a transition to the end-of-buffer state. The second causes
6412 * a jam in that state.
6414 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
6415 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
6417 b->yy_buf_pos = &b->yy_ch_buf[0];
6420 b->yy_buffer_status = YY_BUFFER_NEW;
6422 if ( b == YY_CURRENT_BUFFER )
6423 surf_parse__load_buffer_state( );
6426 /** Pushes the new state onto the stack. The new state becomes
6427 * the current state. This function will allocate the stack
6429 * @param new_buffer The new state.
6432 void surf_parse_push_buffer_state (YY_BUFFER_STATE new_buffer )
6434 if (new_buffer == NULL)
6437 surf_parse_ensure_buffer_stack();
6439 /* This block is copied from surf_parse__switch_to_buffer. */
6440 if ( YY_CURRENT_BUFFER )
6442 /* Flush out information for old buffer. */
6443 *(yy_c_buf_p) = (yy_hold_char);
6444 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
6445 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
6448 /* Only push if top exists. Otherwise, replace top. */
6449 if (YY_CURRENT_BUFFER)
6450 (yy_buffer_stack_top)++;
6451 YY_CURRENT_BUFFER_LVALUE = new_buffer;
6453 /* copied from surf_parse__switch_to_buffer. */
6454 surf_parse__load_buffer_state( );
6455 (yy_did_buffer_switch_on_eof) = 1;
6458 /** Removes and deletes the top of the stack, if present.
6459 * The next element becomes the new top.
6462 void surf_parse_pop_buffer_state (void)
6464 if (!YY_CURRENT_BUFFER)
6467 surf_parse__delete_buffer(YY_CURRENT_BUFFER );
6468 YY_CURRENT_BUFFER_LVALUE = NULL;
6469 if ((yy_buffer_stack_top) > 0)
6470 --(yy_buffer_stack_top);
6472 if (YY_CURRENT_BUFFER) {
6473 surf_parse__load_buffer_state( );
6474 (yy_did_buffer_switch_on_eof) = 1;
6478 /* Allocates the stack if it does not exist.
6479 * Guarantees space for at least one push.
6481 static void surf_parse_ensure_buffer_stack (void)
6485 if (!(yy_buffer_stack)) {
6487 /* First allocation is just for 2 elements, since we don't know if this
6488 * scanner will even need a stack. We use 2 instead of 1 to avoid an
6489 * immediate realloc on the next call.
6492 (yy_buffer_stack) = (struct yy_buffer_state**)surf_parse_alloc
6493 (num_to_alloc * sizeof(struct yy_buffer_state*)
6495 if ( ! (yy_buffer_stack) )
6496 YY_FATAL_ERROR( "out of dynamic memory in surf_parse_ensure_buffer_stack()" );
6498 memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
6500 (yy_buffer_stack_max) = num_to_alloc;
6501 (yy_buffer_stack_top) = 0;
6505 if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
6507 /* Increase the buffer to prepare for a possible push. */
6508 int grow_size = 8 /* arbitrary grow size */;
6510 num_to_alloc = (yy_buffer_stack_max) + grow_size;
6511 (yy_buffer_stack) = (struct yy_buffer_state**)surf_parse_realloc
6513 num_to_alloc * sizeof(struct yy_buffer_state*)
6515 if ( ! (yy_buffer_stack) )
6516 YY_FATAL_ERROR( "out of dynamic memory in surf_parse_ensure_buffer_stack()" );
6518 /* zero only the new slots.*/
6519 memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
6520 (yy_buffer_stack_max) = num_to_alloc;
6524 /** Setup the input buffer state to scan directly from a user-specified character buffer.
6525 * @param base the character buffer
6526 * @param size the size in bytes of the character buffer
6528 * @return the newly allocated buffer state object.
6530 YY_BUFFER_STATE surf_parse__scan_buffer (char * base, yy_size_t size )
6535 base[size-2] != YY_END_OF_BUFFER_CHAR ||
6536 base[size-1] != YY_END_OF_BUFFER_CHAR )
6537 /* They forgot to leave room for the EOB's. */
6540 b = (YY_BUFFER_STATE) surf_parse_alloc(sizeof( struct yy_buffer_state ) );
6542 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__scan_buffer()" );
6544 b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
6545 b->yy_buf_pos = b->yy_ch_buf = base;
6546 b->yy_is_our_buffer = 0;
6547 b->yy_input_file = 0;
6548 b->yy_n_chars = b->yy_buf_size;
6549 b->yy_is_interactive = 0;
6551 b->yy_fill_buffer = 0;
6552 b->yy_buffer_status = YY_BUFFER_NEW;
6554 surf_parse__switch_to_buffer(b );
6559 /** Setup the input buffer state to scan a string. The next call to surf_parse_lex() will
6560 * scan from a @e copy of @a str.
6561 * @param yystr a NUL-terminated string to scan
6563 * @return the newly allocated buffer state object.
6564 * @note If you want to scan bytes that may contain NUL values, then use
6565 * surf_parse__scan_bytes() instead.
6567 YY_BUFFER_STATE surf_parse__scan_string (yyconst char * yystr )
6570 return surf_parse__scan_bytes(yystr,strlen(yystr) );
6573 /** Setup the input buffer state to scan the given bytes. The next call to surf_parse_lex() will
6574 * scan from a @e copy of @a bytes.
6575 * @param bytes the byte buffer to scan
6576 * @param len the number of bytes in the buffer pointed to by @a bytes.
6578 * @return the newly allocated buffer state object.
6580 YY_BUFFER_STATE surf_parse__scan_bytes (yyconst char * yybytes, int _yybytes_len )
6587 /* Get memory for full buffer, including space for trailing EOB's. */
6588 n = _yybytes_len + 2;
6589 buf = (char *) surf_parse_alloc(n );
6591 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__scan_bytes()" );
6593 for ( i = 0; i < _yybytes_len; ++i )
6594 buf[i] = yybytes[i];
6596 buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
6598 b = surf_parse__scan_buffer(buf,n );
6600 YY_FATAL_ERROR( "bad buffer in surf_parse__scan_bytes()" );
6602 /* It's okay to grow etc. this buffer, and we should throw it
6603 * away when we're done.
6605 b->yy_is_our_buffer = 1;
6610 static void yy_push_state (int new_state )
6612 if ( (yy_start_stack_ptr) >= (yy_start_stack_depth) )
6616 (yy_start_stack_depth) += YY_START_STACK_INCR;
6617 new_size = (yy_start_stack_depth) * sizeof( int );
6619 if ( ! (yy_start_stack) )
6620 (yy_start_stack) = (int *) surf_parse_alloc(new_size );
6623 (yy_start_stack) = (int *) surf_parse_realloc((void *) (yy_start_stack),new_size );
6625 if ( ! (yy_start_stack) )
6626 YY_FATAL_ERROR( "out of memory expanding start-condition stack" );
6629 (yy_start_stack)[(yy_start_stack_ptr)++] = YY_START;
6634 static void yy_pop_state (void)
6636 if ( --(yy_start_stack_ptr) < 0 )
6637 YY_FATAL_ERROR( "start-condition stack underflow" );
6639 BEGIN((yy_start_stack)[(yy_start_stack_ptr)]);
6642 #ifndef YY_EXIT_FAILURE
6643 #define YY_EXIT_FAILURE 2
6646 static void yy_fatal_error (yyconst char* msg )
6648 (void) fprintf( stderr, "%s\n", msg );
6649 exit( YY_EXIT_FAILURE );
6652 /* Redefine yyless() so it works in section 3 code. */
6658 /* Undo effects of setting up surf_parse_text. */ \
6659 int yyless_macro_arg = (n); \
6660 YY_LESS_LINENO(yyless_macro_arg);\
6661 surf_parse_text[surf_parse_leng] = (yy_hold_char); \
6662 (yy_c_buf_p) = surf_parse_text + yyless_macro_arg; \
6663 (yy_hold_char) = *(yy_c_buf_p); \
6664 *(yy_c_buf_p) = '\0'; \
6665 surf_parse_leng = yyless_macro_arg; \
6669 /* Accessor methods (get/set functions) to struct members. */
6671 /** Get the current line number.
6674 int surf_parse_get_lineno (void)
6677 return surf_parse_lineno;
6680 /** Get the input stream.
6683 FILE *surf_parse_get_in (void)
6685 return surf_parse_in;
6688 /** Get the output stream.
6691 FILE *surf_parse_get_out (void)
6693 return surf_parse_out;
6696 /** Get the length of the current token.
6699 int surf_parse_get_leng (void)
6701 return surf_parse_leng;
6704 /** Get the current token.
6708 char *surf_parse_get_text (void)
6710 return surf_parse_text;
6713 /** Set the current line number.
6714 * @param line_number
6717 void surf_parse_set_lineno (int line_number )
6720 surf_parse_lineno = line_number;
6723 /** Set the input stream. This does not discard the current
6725 * @param in_str A readable stream.
6727 * @see surf_parse__switch_to_buffer
6729 void surf_parse_set_in (FILE * in_str )
6731 surf_parse_in = in_str ;
6734 void surf_parse_set_out (FILE * out_str )
6736 surf_parse_out = out_str ;
6739 int surf_parse_get_debug (void)
6741 return surf_parse__flex_debug;
6744 void surf_parse_set_debug (int bdebug )
6746 surf_parse__flex_debug = bdebug ;
6749 static int yy_init_globals (void)
6751 /* Initialization is the same as for the non-reentrant scanner.
6752 * This function is called from surf_parse_lex_destroy(), so don't allocate here.
6755 /* We do not touch surf_parse_lineno unless the option is enabled. */
6756 surf_parse_lineno = 1;
6758 (yy_buffer_stack) = 0;
6759 (yy_buffer_stack_top) = 0;
6760 (yy_buffer_stack_max) = 0;
6761 (yy_c_buf_p) = (char *) 0;
6765 (yy_start_stack_ptr) = 0;
6766 (yy_start_stack_depth) = 0;
6767 (yy_start_stack) = NULL;
6769 /* Defined in main.c */
6771 surf_parse_in = stdin;
6772 surf_parse_out = stdout;
6774 surf_parse_in = (FILE *) 0;
6775 surf_parse_out = (FILE *) 0;
6778 /* For future reference: Set errno on error, since we are called by
6779 * surf_parse_lex_init()
6784 /* surf_parse_lex_destroy is for both reentrant and non-reentrant scanners. */
6785 int surf_parse_lex_destroy (void)
6788 /* Pop the buffer stack, destroying each element. */
6789 while(YY_CURRENT_BUFFER){
6790 surf_parse__delete_buffer(YY_CURRENT_BUFFER );
6791 YY_CURRENT_BUFFER_LVALUE = NULL;
6792 surf_parse_pop_buffer_state();
6795 /* Destroy the stack itself. */
6796 surf_parse_free((yy_buffer_stack) );
6797 (yy_buffer_stack) = NULL;
6799 /* Destroy the start condition stack. */
6800 surf_parse_free((yy_start_stack) );
6801 (yy_start_stack) = NULL;
6803 /* Reset the globals. This is important in a non-reentrant scanner so the next time
6804 * surf_parse_lex() is called, initialization will occur. */
6811 * Internal utility routines.
6815 static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
6818 for ( i = 0; i < n; ++i )
6823 #ifdef YY_NEED_STRLEN
6824 static int yy_flex_strlen (yyconst char * s )
6827 for ( n = 0; s[n]; ++n )
6834 void *surf_parse_alloc (yy_size_t size )
6836 return (void *) malloc( size );
6839 void *surf_parse_realloc (void * ptr, yy_size_t size )
6841 /* The cast to (char *) in the following accommodates both
6842 * implementations that use char* generic pointers, and those
6843 * that use void* generic pointers. It works with the latter
6844 * because both ANSI C and C++ allow castless assignment from
6845 * any pointer type to void*, and deal with argument conversions
6846 * as though doing an assignment.
6848 return (void *) realloc( (char *) ptr, size );
6851 void surf_parse_free (void * ptr )
6853 free( (char *) ptr ); /* see surf_parse_realloc() for (char *) cast */
6856 #define YYTABLES_NAME "yytables"
6858 /* Element context stack lookup. */
6859 int surfxml_element_context(int i)
6861 return (0<i && i<yy_start_stack_depth
6862 ? yy_start_stack[yy_start_stack_ptr - i]
6867 void print_yy_stack(char* fmt, ...)
6869 int i = 0; va_list ap; va_start(ap, fmt);
6870 vfprintf(stderr, fmt, ap);
6871 if (surfxml_statenames) {
6872 for (i=1; i<yy_start_stack_ptr; i++) {
6873 fprintf(stderr, "%s/", surfxml_statenames[yy_start_stack[i] ]);
6875 fprintf(stderr,"%s\n", surfxml_statenames[YY_START]);
6880 void print_surfxml_bufferstack()
6883 fputs("Buffer: ", stderr);
6884 for (i = 0; i < blimit; i++) {
6885 if ( surfxml_bufferstack[i] == '\377' ) break;
6886 putc(surfxml_bufferstack[i], stderr);
6891 static void debug_enter(int state, const char* statename) {
6892 yy_push_state(state);
6893 if (surf_parse__flex_debug) {
6894 print_yy_stack("--ENTER(%s) : ",statename);
6895 print_surfxml_bufferstack();
6899 static void debug_leave(void) {
6900 if (surf_parse__flex_debug) {
6901 print_yy_stack("--LEAVE : ");
6902 print_surfxml_bufferstack();
6907 static void debug_set(int state, const char* statename) {
6909 if (surf_parse__flex_debug) print_yy_stack("--SET(%s) : ",statename);
6913 static void cleanup(void)
6915 if (surfxml_statenames) {
6916 free(surfxml_statenames);
6917 surfxml_statenames = NULL;
6919 free(surfxml_bufferstack);
6920 surfxml_bufferstack = NULL;
6926 static int fail(const char* fmt, ...)
6928 int chars_left, used;
6929 va_list ap; va_start(ap, fmt);
6930 #ifdef FLEXML_yylineno
6931 used = sprintf(flexml_err_msg,
6932 "Invalid XML (XML input line %d, state %d): ",
6933 surf_parse_lineno, YY_START);
6935 used = sprintf(flexml_err_msg,
6936 "Invalid XML (state %d): ",
6939 chars_left = flexml_max_err_msg_size - used - 1;
6940 vsnprintf(flexml_err_msg + used, chars_left, fmt, ap);
6943 #ifndef FLEXML_quiet_parser
6944 /* print directly to sdterr */
6945 fprintf(stderr, "%s\n", flexml_err_msg);
6946 flexml_err_msg[0] = '\0';