2 #line 3 "surf/simgrid_dtd.c"
4 #define YY_INT_ALIGNED short int
6 /* A lexical scanner generated by flex */
8 #define yy_create_buffer surf_parse__create_buffer
9 #define yy_delete_buffer surf_parse__delete_buffer
10 #define yy_flex_debug surf_parse__flex_debug
11 #define yy_init_buffer surf_parse__init_buffer
12 #define yy_flush_buffer surf_parse__flush_buffer
13 #define yy_load_buffer_state surf_parse__load_buffer_state
14 #define yy_switch_to_buffer surf_parse__switch_to_buffer
15 #define yyin surf_parse_in
16 #define yyleng surf_parse_leng
17 #define yylex surf_parse_lex
18 #define yylineno surf_parse_lineno
19 #define yyout surf_parse_out
20 #define yyrestart surf_parse_restart
21 #define yytext surf_parse_text
22 #define yywrap surf_parse_wrap
23 #define yyalloc surf_parse_alloc
24 #define yyrealloc surf_parse_realloc
25 #define yyfree surf_parse_free
28 #define YY_FLEX_MAJOR_VERSION 2
29 #define YY_FLEX_MINOR_VERSION 5
30 #define YY_FLEX_SUBMINOR_VERSION 35
31 #if YY_FLEX_SUBMINOR_VERSION > 0
35 /* First, we deal with platform-specific or compiler-specific issues. */
37 /* begin standard C headers. */
43 /* end standard C headers. */
45 /* flex integer type definitions */
50 /* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
52 #if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
54 /* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
55 * if you want the limit (max/min) macros for int types.
57 #ifndef __STDC_LIMIT_MACROS
58 #define __STDC_LIMIT_MACROS 1
62 typedef int8_t flex_int8_t;
63 typedef uint8_t flex_uint8_t;
64 typedef int16_t flex_int16_t;
65 typedef uint16_t flex_uint16_t;
66 typedef int32_t flex_int32_t;
67 typedef uint32_t flex_uint32_t;
69 typedef signed char flex_int8_t;
70 typedef short int flex_int16_t;
71 typedef int flex_int32_t;
72 typedef unsigned char flex_uint8_t;
73 typedef unsigned short int flex_uint16_t;
74 typedef unsigned int flex_uint32_t;
76 /* Limits of integral types. */
78 #define INT8_MIN (-128)
81 #define INT16_MIN (-32767-1)
84 #define INT32_MIN (-2147483647-1)
87 #define INT8_MAX (127)
90 #define INT16_MAX (32767)
93 #define INT32_MAX (2147483647)
96 #define UINT8_MAX (255U)
99 #define UINT16_MAX (65535U)
102 #define UINT32_MAX (4294967295U)
107 #endif /* ! FLEXINT_H */
111 /* The "const" storage-class-modifier is valid. */
114 #else /* ! __cplusplus */
116 /* C99 requires __STDC__ to be defined as 1. */
117 #if defined (__STDC__)
121 #endif /* defined (__STDC__) */
122 #endif /* ! __cplusplus */
125 #define yyconst const
130 /* Returned upon end-of-file. */
133 /* Promotes a possibly negative, possibly signed char to an unsigned
134 * integer for use as an array index. If the signed char is negative,
135 * we want to instead treat it as an 8-bit unsigned char, hence the
138 #define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
140 /* Enter a start condition. This macro really ought to take a parameter,
141 * but we do it the disgusting crufty way forced on us by the ()-less
142 * definition of BEGIN.
144 #define BEGIN (yy_start) = 1 + 2 *
146 /* Translate the current start state into a value that can be later handed
147 * to BEGIN to return to the state. The YYSTATE alias is for lex
150 #define YY_START (((yy_start) - 1) / 2)
151 #define YYSTATE YY_START
153 /* Action number for EOF rule of a given start state. */
154 #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
156 /* Special action meaning "start processing a new file". */
157 #define YY_NEW_FILE surf_parse_restart(surf_parse_in )
159 #define YY_END_OF_BUFFER_CHAR 0
161 /* Size of default input buffer. */
164 /* On IA-64, the buffer size is 16k, not 8k.
165 * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case.
166 * Ditto for the __ia64__ case accordingly.
168 #define YY_BUF_SIZE 32768
170 #define YY_BUF_SIZE 16384
171 #endif /* __ia64__ */
174 /* The state buf must be large enough to hold one state per character in the main buffer.
176 #define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
178 #ifndef YY_TYPEDEF_YY_BUFFER_STATE
179 #define YY_TYPEDEF_YY_BUFFER_STATE
180 typedef struct yy_buffer_state *YY_BUFFER_STATE;
183 extern int surf_parse_leng;
185 extern FILE *surf_parse_in, *surf_parse_out;
187 #define EOB_ACT_CONTINUE_SCAN 0
188 #define EOB_ACT_END_OF_FILE 1
189 #define EOB_ACT_LAST_MATCH 2
191 /* Note: We specifically omit the test for yy_rule_can_match_eol because it requires
192 * access to the local variable yy_act. Since yyless() is a macro, it would break
193 * existing scanners that call yyless() from OUTSIDE surf_parse_lex.
194 * One obvious solution it to make yy_act a global. I tried that, and saw
195 * a 5% performance hit in a non-surf_parse_lineno scanner, because yy_act is
196 * normally declared as a register variable-- so it is not worth it.
198 #define YY_LESS_LINENO(n) \
201 for ( yyl = n; yyl < surf_parse_leng; ++yyl )\
202 if ( surf_parse_text[yyl] == '\n' )\
203 --surf_parse_lineno;\
206 /* Return all but the first "n" matched characters back to the input stream. */
210 /* Undo effects of setting up surf_parse_text. */ \
211 int yyless_macro_arg = (n); \
212 YY_LESS_LINENO(yyless_macro_arg);\
213 *yy_cp = (yy_hold_char); \
214 YY_RESTORE_YY_MORE_OFFSET \
215 (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
216 YY_DO_BEFORE_ACTION; /* set up surf_parse_text again */ \
220 #define unput(c) yyunput( c, (yytext_ptr) )
222 #ifndef YY_TYPEDEF_YY_SIZE_T
223 #define YY_TYPEDEF_YY_SIZE_T
224 typedef size_t yy_size_t;
227 #ifndef YY_STRUCT_YY_BUFFER_STATE
228 #define YY_STRUCT_YY_BUFFER_STATE
229 struct yy_buffer_state {
232 char *yy_ch_buf; /* input buffer */
233 char *yy_buf_pos; /* current position in input buffer */
235 /* Size of input buffer in bytes, not including room for EOB
238 yy_size_t yy_buf_size;
240 /* Number of characters read into yy_ch_buf, not including EOB
245 /* Whether we "own" the buffer - i.e., we know we created it,
246 * and can realloc() it to grow it, and should free() it to
249 int yy_is_our_buffer;
251 /* Whether this is an "interactive" input source; if so, and
252 * if we're using stdio for input, then we want to use getc()
253 * instead of fread(), to make sure we stop fetching input after
256 int yy_is_interactive;
258 /* Whether we're considered to be at the beginning of a line.
259 * If so, '^' rules will be active on the next match, otherwise
264 int yy_bs_lineno; /**< The line count. */
265 int yy_bs_column; /**< The column count. */
267 /* Whether to try to fill the input buffer when we reach the
272 int yy_buffer_status;
274 #define YY_BUFFER_NEW 0
275 #define YY_BUFFER_NORMAL 1
276 /* When an EOF's been seen but there's still some text to process
277 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
278 * shouldn't try reading from the input source any more. We might
279 * still have a bunch of tokens to match, though, because of
280 * possible backing-up.
282 * When we actually see the EOF, we change the status to "new"
283 * (via surf_parse_restart()), so that the user can continue scanning by
284 * just pointing surf_parse_in at a new input file.
286 #define YY_BUFFER_EOF_PENDING 2
289 #endif /* !YY_STRUCT_YY_BUFFER_STATE */
291 /* Stack of input buffers. */
292 static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
293 static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
294 static YY_BUFFER_STATE *yy_buffer_stack = 0; /**< Stack as an array. */
296 /* We provide macros for accessing buffer states in case in the
297 * future we want to put the buffer states in a more general
300 * Returns the top of the stack, or NULL.
302 #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
303 ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
306 /* Same as previous macro, but useful when we know that the buffer stack is not
307 * NULL or when we need an lvalue. For internal use only.
309 #define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
311 /* yy_hold_char holds the character lost when surf_parse_text is formed. */
312 static char yy_hold_char;
313 static int yy_n_chars; /* number of characters read into yy_ch_buf */
316 /* Points to current character in buffer. */
317 static char *yy_c_buf_p = (char *) 0;
318 static int yy_init = 0; /* whether we need to initialize */
319 static int yy_start = 0; /* start state number */
321 /* Flag which is used to allow surf_parse_wrap()'s to do buffer switches
322 * instead of setting up a fresh surf_parse_in. A bit of a hack ...
324 static int yy_did_buffer_switch_on_eof;
326 void surf_parse_restart(FILE * input_file);
327 void surf_parse__switch_to_buffer(YY_BUFFER_STATE new_buffer);
328 YY_BUFFER_STATE surf_parse__create_buffer(FILE * file, int size);
329 void surf_parse__delete_buffer(YY_BUFFER_STATE b);
330 void surf_parse__flush_buffer(YY_BUFFER_STATE b);
331 void surf_parse_push_buffer_state(YY_BUFFER_STATE new_buffer);
332 void surf_parse_pop_buffer_state(void);
334 static void surf_parse_ensure_buffer_stack(void);
335 static void surf_parse__load_buffer_state(void);
336 static void surf_parse__init_buffer(YY_BUFFER_STATE b, FILE * file);
338 #define YY_FLUSH_BUFFER surf_parse__flush_buffer(YY_CURRENT_BUFFER )
340 YY_BUFFER_STATE surf_parse__scan_buffer(char *base, yy_size_t size);
341 YY_BUFFER_STATE surf_parse__scan_string(yyconst char *yy_str);
342 YY_BUFFER_STATE surf_parse__scan_bytes(yyconst char *bytes, int len);
344 void *surf_parse_alloc(yy_size_t);
345 void *surf_parse_realloc(void *, yy_size_t);
346 void surf_parse_free(void *);
348 #define yy_new_buffer surf_parse__create_buffer
350 #define yy_set_interactive(is_interactive) \
352 if ( ! YY_CURRENT_BUFFER ){ \
353 surf_parse_ensure_buffer_stack (); \
354 YY_CURRENT_BUFFER_LVALUE = \
355 surf_parse__create_buffer(surf_parse_in,YY_BUF_SIZE ); \
357 YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
360 #define yy_set_bol(at_bol) \
362 if ( ! YY_CURRENT_BUFFER ){\
363 surf_parse_ensure_buffer_stack (); \
364 YY_CURRENT_BUFFER_LVALUE = \
365 surf_parse__create_buffer(surf_parse_in,YY_BUF_SIZE ); \
367 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
370 #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
372 /* Begin user sect3 */
374 #define surf_parse_wrap(n) 1
375 #define YY_SKIP_YYWRAP
377 typedef unsigned char YY_CHAR;
379 FILE *surf_parse_in = (FILE *) 0, *surf_parse_out = (FILE *) 0;
381 typedef int yy_state_type;
383 extern int surf_parse_lineno;
385 int surf_parse_lineno = 1;
387 extern char *surf_parse_text;
388 #define yytext_ptr surf_parse_text
390 static yy_state_type yy_get_previous_state(void);
391 static yy_state_type yy_try_NUL_trans(yy_state_type current_state);
392 static int yy_get_next_buffer(void);
393 static void yy_fatal_error(yyconst char msg[]);
395 /* Done after the current pattern has been matched and before the
396 * corresponding action - sets up surf_parse_text.
398 #define YY_DO_BEFORE_ACTION \
399 (yytext_ptr) = yy_bp; \
400 surf_parse_leng = (size_t) (yy_cp - yy_bp); \
401 (yy_hold_char) = *yy_cp; \
403 (yy_c_buf_p) = yy_cp;
405 #define YY_NUM_RULES 351
406 #define YY_END_OF_BUFFER 352
407 /* This struct is not used in this scanner,
408 but its presence is necessary. */
409 struct yy_trans_info {
410 flex_int32_t yy_verify;
413 static yyconst flex_int16_t yy_accept[2023] = { 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,
421 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
422 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
423 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
425 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
426 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
427 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
428 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
429 0, 0, 352, 350, 15, 10, 10, 15, 15, 330,
430 10, 330, 5, 6, 5, 8, 9, 8, 346, 338,
431 339, 347, 344, 347, 345, 349, 338, 339, 349, 350,
432 26, 10, 26, 26, 26, 24, 26, 26, 30, 10,
433 30, 30, 350, 350, 30, 37, 10, 37, 37, 37,
434 35, 37, 41, 10, 41, 52, 10, 52, 52, 52,
436 50, 52, 52, 52, 347, 346, 74, 10, 74, 74,
437 74, 72, 74, 74, 74, 74, 78, 10, 78, 350,
438 78, 97, 10, 97, 97, 97, 95, 97, 97, 97,
439 101, 10, 101, 114, 10, 114, 114, 114, 112, 114,
440 114, 114, 114, 118, 10, 118, 125, 10, 125, 125,
441 125, 123, 125, 350, 350, 129, 10, 129, 156, 10,
442 156, 156, 156, 154, 156, 156, 156, 156, 156, 160,
443 10, 160, 160, 169, 10, 169, 169, 169, 167, 169,
444 169, 173, 10, 173, 196, 10, 196, 196, 196, 194,
445 196, 196, 196, 196, 196, 196, 200, 10, 200, 207,
447 10, 207, 207, 207, 205, 207, 211, 10, 211, 236,
448 10, 236, 236, 236, 234, 236, 236, 236, 236, 240,
449 10, 240, 240, 259, 10, 259, 259, 259, 257, 259,
450 259, 259, 350, 263, 10, 263, 263, 286, 10, 286,
451 286, 286, 284, 286, 286, 286, 286, 290, 10, 290,
452 290, 297, 10, 297, 297, 297, 295, 297, 301, 10,
453 301, 314, 10, 314, 314, 314, 312, 314, 314, 314,
454 314, 318, 10, 318, 350, 318, 325, 10, 325, 325,
455 325, 323, 325, 329, 10, 329, 10, 0, 2, 2,
456 0, 4, 7, 341, 340, 0, 0, 0, 0, 0,
458 0, 0, 25, 27, 27, 27, 0, 0, 0, 0,
459 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
460 0, 0, 0, 0, 0, 0, 0, 0, 0, 36,
461 38, 38, 0, 51, 53, 53, 53, 53, 0, 0,
462 0, 73, 75, 75, 75, 75, 75, 75, 75, 0,
463 0, 96, 98, 98, 98, 98, 0, 113, 115, 115,
464 115, 115, 115, 0, 124, 126, 126, 0, 155, 157,
465 157, 157, 157, 157, 157, 157, 0, 168, 170, 170,
466 170, 0, 195, 197, 197, 197, 197, 197, 197, 197,
467 197, 197, 0, 206, 208, 208, 0, 235, 237, 237,
469 237, 237, 237, 237, 0, 258, 260, 260, 260, 260,
470 260, 0, 0, 285, 287, 287, 287, 287, 287, 0,
471 296, 298, 298, 0, 313, 315, 315, 315, 315, 315,
472 0, 0, 324, 326, 326, 0, 0, 0, 0, 0,
473 3, 0, 0, 0, 0, 0, 0, 0, 348, 0,
474 27, 27, 0, 0, 0, 0, 0, 0, 0, 0,
475 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
476 0, 0, 0, 0, 0, 0, 0, 0, 0, 38,
477 0, 0, 53, 0, 0, 53, 0, 0, 0, 343,
478 75, 0, 0, 75, 75, 75, 75, 0, 0, 0,
480 98, 98, 98, 0, 0, 0, 0, 115, 115, 115,
481 0, 0, 126, 0, 0, 157, 0, 0, 157, 157,
482 157, 157, 0, 0, 0, 0, 170, 0, 0, 197,
483 0, 0, 0, 0, 197, 197, 197, 197, 197, 0,
484 0, 0, 0, 0, 0, 237, 0, 0, 237, 237,
485 237, 0, 0, 260, 260, 260, 260, 0, 0, 0,
486 287, 287, 287, 287, 0, 0, 0, 0, 0, 0,
487 315, 315, 315, 315, 0, 0, 0, 326, 0, 0,
488 0, 14, 1, 0, 0, 336, 0, 0, 0, 333,
489 332, 0, 0, 27, 27, 0, 0, 29, 0, 0,
491 0, 0, 0, 0, 0, 0, 0, 0, 0, 103,
492 0, 0, 0, 0, 0, 0, 0, 102, 0, 0,
493 0, 0, 0, 0, 38, 0, 0, 40, 0, 53,
494 0, 45, 44, 53, 0, 0, 0, 55, 0, 75,
495 0, 59, 58, 0, 0, 75, 0, 0, 75, 0,
496 0, 77, 0, 0, 98, 98, 98, 0, 0, 100,
497 0, 0, 105, 104, 115, 115, 115, 0, 0, 117,
498 0, 126, 0, 0, 128, 0, 157, 0, 133, 132,
499 157, 157, 157, 157, 0, 0, 159, 0, 0, 164,
500 163, 170, 0, 0, 172, 0, 197, 197, 0, 187,
502 186, 0, 177, 176, 0, 0, 197, 197, 197, 197,
503 0, 0, 199, 0, 0, 204, 203, 0, 0, 210,
504 0, 237, 0, 215, 214, 237, 237, 237, 0, 0,
505 239, 0, 260, 0, 0, 0, 0, 260, 0, 0,
506 0, 262, 0, 287, 0, 0, 287, 0, 0, 0,
507 0, 289, 0, 0, 294, 293, 0, 0, 300, 0,
508 315, 315, 315, 315, 0, 0, 317, 0, 0, 326,
509 0, 0, 328, 0, 0, 0, 337, 331, 0, 0,
510 0, 27, 27, 0, 0, 0, 0, 131, 0, 213,
511 0, 0, 161, 0, 0, 103, 0, 0, 0, 130,
513 212, 0, 0, 102, 0, 0, 0, 0, 0, 0,
514 0, 0, 0, 0, 0, 53, 0, 0, 75, 0,
515 63, 62, 0, 0, 0, 61, 60, 75, 0, 162,
516 98, 0, 0, 98, 0, 115, 115, 115, 0, 126,
517 0, 157, 157, 157, 157, 157, 0, 170, 0, 197,
518 197, 0, 189, 188, 197, 197, 197, 197, 0, 0,
519 237, 237, 237, 237, 0, 260, 0, 246, 245, 0,
520 244, 243, 260, 212, 0, 287, 0, 269, 268, 287,
521 0, 267, 266, 0, 0, 315, 0, 0, 315, 315,
522 0, 0, 326, 0, 0, 0, 0, 12, 0, 334,
524 335, 0, 27, 27, 0, 0, 0, 0, 131, 0,
525 213, 0, 0, 0, 161, 0, 265, 43, 0, 0,
526 130, 212, 0, 265, 42, 0, 264, 0, 264, 42,
527 0, 34, 33, 0, 0, 47, 46, 53, 0, 0,
528 75, 0, 65, 64, 75, 0, 162, 98, 0, 0,
529 0, 0, 0, 0, 115, 115, 115, 0, 116, 126,
530 0, 157, 157, 157, 0, 0, 0, 0, 157, 0,
531 0, 0, 0, 0, 0, 197, 0, 0, 197, 197,
532 197, 0, 0, 237, 237, 237, 0, 0, 237, 0,
533 260, 260, 0, 0, 287, 287, 0, 0, 315, 0,
535 305, 304, 315, 315, 0, 0, 0, 0, 0, 0,
536 0, 0, 11, 0, 27, 27, 27, 0, 0, 0,
537 0, 0, 0, 0, 0, 57, 265, 0, 202, 43,
538 0, 0, 0, 56, 201, 42, 0, 264, 0, 0,
539 0, 0, 53, 0, 0, 75, 75, 0, 98, 0,
540 0, 0, 0, 0, 0, 0, 0, 0, 92, 91,
541 0, 0, 0, 115, 0, 0, 0, 0, 0, 157,
542 157, 157, 0, 135, 134, 0, 0, 0, 157, 0,
543 158, 0, 166, 165, 0, 171, 0, 191, 190, 0,
544 0, 0, 185, 184, 0, 0, 197, 0, 0, 0,
546 0, 237, 237, 237, 0, 0, 0, 237, 0, 238,
547 0, 0, 260, 0, 0, 0, 0, 287, 0, 0,
548 315, 315, 315, 0, 0, 0, 322, 321, 0, 0,
549 0, 0, 0, 0, 0, 27, 27, 0, 0, 175,
550 120, 32, 0, 0, 303, 57, 0, 202, 0, 174,
551 119, 56, 201, 302, 0, 31, 0, 0, 53, 0,
552 0, 54, 75, 75, 0, 0, 0, 0, 0, 0,
553 0, 0, 0, 0, 0, 0, 0, 0, 0, 107,
554 106, 0, 0, 0, 109, 108, 0, 122, 121, 0,
555 157, 157, 157, 0, 0, 157, 0, 193, 192, 0,
557 179, 178, 0, 0, 0, 181, 180, 0, 0, 237,
558 0, 0, 237, 237, 0, 0, 237, 0, 0, 0,
559 260, 0, 0, 0, 0, 0, 287, 0, 288, 0,
560 315, 315, 315, 0, 0, 0, 0, 0, 0, 17,
561 0, 19, 18, 27, 27, 0, 319, 175, 120, 32,
562 291, 16, 303, 0, 0, 174, 119, 302, 0, 31,
563 0, 0, 53, 342, 75, 75, 0, 76, 0, 94,
564 93, 0, 0, 0, 0, 0, 0, 0, 0, 0,
565 0, 0, 0, 111, 110, 0, 157, 157, 157, 0,
566 0, 0, 0, 157, 0, 183, 182, 0, 0, 209,
568 237, 0, 221, 220, 237, 237, 0, 0, 0, 0,
569 237, 0, 0, 0, 0, 260, 292, 0, 0, 0,
570 0, 0, 287, 0, 0, 0, 315, 315, 0, 320,
571 0, 0, 0, 0, 17, 27, 27, 0, 319, 291,
572 16, 0, 0, 0, 0, 0, 39, 53, 0, 0,
573 75, 0, 0, 0, 0, 0, 0, 0, 0, 0,
574 0, 0, 0, 127, 157, 157, 157, 0, 141, 0,
575 140, 157, 0, 198, 0, 0, 237, 237, 237, 0,
576 225, 0, 224, 237, 0, 0, 0, 0, 0, 0,
577 0, 0, 292, 0, 0, 0, 0, 0, 0, 0,
579 287, 0, 0, 307, 306, 0, 0, 315, 0, 316,
580 320, 0, 0, 0, 0, 0, 0, 27, 0, 28,
581 0, 0, 0, 0, 53, 0, 0, 0, 75, 0,
582 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
583 157, 157, 157, 143, 142, 0, 0, 0, 217, 216,
584 237, 237, 237, 227, 226, 0, 0, 0, 0, 0,
585 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
586 0, 0, 0, 287, 287, 0, 299, 0, 311, 310,
587 0, 0, 0, 327, 0, 0, 0, 0, 21, 20,
588 0, 0, 242, 0, 241, 0, 0, 0, 0, 0,
590 0, 0, 75, 0, 0, 0, 0, 84, 0, 0,
591 0, 0, 83, 0, 157, 157, 157, 0, 145, 144,
592 237, 237, 237, 0, 229, 228, 0, 0, 0, 0,
593 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
594 0, 0, 0, 287, 287, 0, 309, 308, 0, 0,
595 0, 0, 23, 22, 242, 0, 241, 0, 0, 49,
596 48, 0, 0, 0, 0, 75, 0, 0, 0, 0,
597 0, 0, 0, 0, 0, 0, 0, 157, 157, 157,
598 237, 0, 0, 237, 0, 0, 0, 0, 0, 0,
599 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
601 0, 287, 287, 0, 0, 0, 0, 80, 79, 0,
602 0, 0, 0, 0, 0, 0, 0, 90, 0, 0,
603 0, 89, 0, 0, 0, 137, 136, 157, 157, 157,
604 157, 237, 0, 223, 222, 237, 0, 0, 0, 0,
605 0, 0, 256, 0, 255, 0, 0, 261, 0, 0,
606 0, 0, 0, 0, 0, 0, 287, 0, 0, 287,
607 0, 0, 0, 0, 0, 0, 80, 79, 0, 0,
608 0, 0, 0, 67, 66, 0, 0, 0, 0, 0,
609 0, 0, 157, 157, 157, 157, 0, 0, 0, 0,
610 0, 0, 0, 0, 0, 0, 254, 253, 0, 0,
612 0, 0, 0, 0, 0, 273, 272, 287, 0, 271,
613 270, 287, 0, 0, 0, 0, 0, 0, 0, 71,
614 0, 70, 88, 0, 0, 87, 0, 0, 0, 99,
615 157, 157, 157, 157, 0, 219, 218, 0, 0, 0,
616 0, 0, 250, 0, 0, 249, 0, 0, 281, 0,
617 0, 280, 287, 287, 0, 0, 0, 12, 0, 12,
618 0, 0, 0, 82, 86, 81, 85, 157, 157, 157,
619 157, 0, 0, 0, 0, 252, 248, 251, 247, 283,
620 279, 282, 278, 287, 287, 0, 0, 0, 0, 0,
621 0, 0, 0, 0, 0, 0, 0, 0, 157, 0,
623 0, 0, 0, 0, 0, 287, 287, 0, 0, 69,
624 68, 0, 139, 138, 0, 149, 148, 0, 147, 146,
625 157, 0, 153, 152, 0, 0, 0, 0, 287, 287,
626 0, 11, 157, 0, 0, 0, 0, 287, 287, 0,
627 157, 0, 0, 0, 0, 287, 287, 0, 157, 0,
628 0, 0, 0, 287, 287, 0, 0, 0, 0, 231,
629 0, 230, 287, 287, 0, 0, 151, 150, 233, 232,
630 287, 287, 0, 287, 287, 0, 287, 287, 0, 0,
631 287, 287, 0, 0, 287, 287, 0, 0, 287, 287,
632 0, 0, 0, 0, 0, 0, 0, 0, 0, 277,
634 276, 0, 275, 274, 0, 0, 0, 0, 0, 0,
635 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
639 static yyconst flex_int32_t yy_ec[256] = { 0,
640 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
641 1, 2, 4, 1, 1, 1, 1, 1, 1, 1,
642 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
643 1, 2, 5, 6, 7, 1, 1, 8, 9, 1,
644 1, 1, 1, 1, 10, 11, 12, 13, 13, 13,
645 13, 14, 13, 13, 13, 15, 13, 16, 17, 18,
646 19, 20, 21, 1, 22, 23, 24, 25, 26, 27,
647 28, 29, 30, 28, 31, 32, 33, 34, 35, 36,
648 28, 37, 38, 39, 28, 40, 41, 28, 42, 28,
649 43, 1, 44, 1, 45, 1, 46, 47, 48, 49,
651 50, 51, 52, 53, 54, 28, 55, 56, 57, 58,
652 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
653 69, 28, 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,
659 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
660 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
662 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
663 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
664 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
665 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
666 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
670 static yyconst flex_int32_t yy_meta[70] = { 0,
671 1, 2, 2, 2, 1, 1, 1, 1, 1, 3,
672 3, 1, 4, 4, 4, 5, 6, 1, 7, 8,
673 1, 9, 9, 9, 9, 9, 9, 5, 5, 5,
674 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
675 5, 5, 1, 1, 5, 9, 9, 9, 9, 9,
676 9, 5, 5, 5, 5, 5, 5, 5, 5, 5,
677 5, 5, 5, 5, 5, 5, 5, 5, 5
680 static yyconst flex_int16_t yy_base[2256] = { 0,
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] = { 0,
932 2023, 2023, 2024, 2024, 2024, 2024, 2025, 2025, 2026, 2026,
933 2027, 2027, 2028, 2028, 2028, 2028, 2029, 2029, 2023, 2023,
934 2030, 2030, 2031, 2031, 2031, 2031, 2023, 2023, 2031, 2031,
935 2023, 2023, 2031, 2031, 2031, 2031, 2032, 2032, 2033, 2033,
936 2034, 2034, 2028, 2028, 2035, 2035, 2036, 2036, 2023, 2023,
937 2036, 2036, 2036, 2036, 2037, 2037, 2038, 2038, 2039, 2039,
938 2040, 2040, 2041, 2041, 2023, 2023, 2023, 2023, 2042, 2042,
939 2043, 2043, 2044, 2044, 2023, 2023, 2044, 2044, 2044, 2044,
940 2045, 2045, 2046, 2046, 2022, 85, 2047, 2047, 2048, 2048,
941 2049, 2049, 2050, 2050, 2051, 2051, 2023, 2023, 2051, 2051,
943 2051, 2051, 2052, 2052, 2023, 2023, 2023, 2023, 2053, 2053,
944 2053, 2053, 2054, 2054, 2055, 2055, 2023, 2023, 2055, 2055,
945 2055, 2055, 2056, 2056, 2057, 2057, 2058, 2058, 2059, 2059,
946 2023, 2023, 2059, 2059, 2059, 2059, 2060, 2060, 2061, 2061,
947 2023, 2023, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
948 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
949 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
950 2022, 2022, 2022, 2062, 2022, 2022, 2062, 2062, 2022, 2022,
951 2022, 2022, 181, 182, 182, 2022, 2022, 2022, 2063, 2022,
952 2022, 2063, 2022, 2022, 2022, 2022, 2022, 2022, 2064, 2022,
954 2022, 2064, 2064, 2064, 2022, 2022, 2022, 2022, 2022, 2065,
955 2022, 2022, 2065, 2065, 2065, 2065, 2022, 2022, 185, 185,
956 185, 2022, 2022, 2022, 2066, 2022, 2022, 2066, 2066, 2066,
957 2022, 2022, 2022, 2022, 2022, 2022, 2067, 2022, 2022, 2067,
958 2067, 2067, 2067, 2022, 2022, 2022, 2022, 2022, 2022, 2068,
959 2022, 2022, 2068, 185, 254, 2022, 2022, 185, 2022, 2022,
960 2022, 2069, 2022, 2022, 2069, 2069, 2069, 2069, 2069, 2022,
961 2022, 185, 185, 2022, 2022, 2022, 2070, 2022, 2022, 2070,
962 2070, 2022, 2022, 2022, 2022, 2022, 2022, 2071, 2022, 2022,
963 2071, 2071, 2071, 2071, 2071, 2071, 2022, 2022, 2022, 2022,
965 2022, 2022, 2072, 2022, 2022, 2072, 2022, 2022, 2022, 2022,
966 2022, 2022, 2073, 2022, 2022, 2073, 2073, 2073, 2073, 2022,
967 2022, 185, 185, 2022, 2022, 2022, 2074, 2022, 2022, 2074,
968 2074, 2074, 185, 2022, 2022, 185, 185, 2022, 2022, 2022,
969 2075, 2022, 2022, 2075, 2075, 2075, 2075, 2022, 2022, 185,
970 185, 2022, 2022, 2022, 2076, 2022, 2022, 2076, 2022, 2022,
971 2022, 2022, 2022, 2022, 2077, 2022, 2022, 2077, 2077, 2077,
972 2077, 2022, 2022, 185, 374, 185, 2022, 2022, 2022, 2078,
973 2022, 2022, 2078, 2022, 2022, 2022, 2022, 2079, 2022, 2022,
974 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
976 2022, 2022, 2022, 2062, 2062, 2062, 2080, 2022, 2022, 2022,
977 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
978 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
979 2063, 2063, 2081, 2022, 2064, 2064, 2064, 2064, 2022, 2082,
980 2022, 2022, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2083,
981 2022, 2022, 2066, 2066, 2066, 2066, 2084, 2022, 2067, 2067,
982 2067, 2067, 2067, 2085, 2022, 2068, 2068, 2086, 2022, 2069,
983 2069, 2069, 2069, 2069, 2069, 2069, 2087, 2022, 2070, 2070,
984 2070, 2088, 2022, 2089, 2089, 2089, 2089, 2089, 2089, 2089,
985 2089, 2089, 2090, 2022, 2091, 2091, 2092, 2022, 2093, 2093,
987 2093, 2093, 2093, 2093, 2094, 2022, 2095, 2095, 2095, 2095,
988 2095, 2022, 2096, 2022, 2097, 2097, 2097, 2097, 2097, 2098,
989 2022, 2099, 2099, 2100, 2022, 2101, 2101, 2101, 2101, 2101,
990 2102, 2022, 2022, 2103, 2103, 2104, 2105, 2022, 2105, 2022,
991 2022, 2022, 2106, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
992 2107, 2107, 2108, 2108, 2022, 2022, 2022, 2022, 2022, 2022,
993 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
994 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2109,
995 2110, 2110, 2111, 2022, 2022, 2111, 2022, 2112, 2112, 2022,
996 2113, 2022, 2022, 2113, 2113, 2113, 2113, 2114, 2114, 2022,
998 2115, 2115, 2115, 2116, 2116, 2022, 2022, 2117, 2117, 2117,
999 2118, 2118, 2119, 2120, 2120, 2121, 2022, 2022, 2121, 2121,
1000 2121, 2121, 2122, 2122, 2022, 2022, 2123, 2124, 2124, 2125,
1001 2022, 2022, 2022, 2022, 2125, 2125, 2125, 2125, 2125, 2126,
1002 2126, 2022, 2022, 2127, 2127, 2128, 2022, 2022, 2128, 2128,
1003 2128, 2129, 2129, 2130, 2130, 2130, 2130, 2022, 2131, 2131,
1004 2132, 2132, 2132, 2132, 2133, 2133, 2022, 2022, 2134, 2134,
1005 2135, 2135, 2135, 2135, 2136, 2136, 2022, 2137, 2138, 2138,
1006 2139, 2022, 2022, 2139, 2022, 2022, 2140, 2022, 2022, 2022,
1007 2022, 2022, 2022, 2141, 2141, 2022, 2142, 2022, 2142, 2022,
1009 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1010 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1011 2022, 2022, 2022, 2022, 2143, 2022, 2144, 2022, 2144, 2145,
1012 2022, 2022, 2022, 2145, 2022, 2022, 2146, 2022, 2146, 2147,
1013 2022, 2022, 2022, 2022, 2022, 2147, 2022, 2022, 2147, 2022,
1014 2148, 2022, 2148, 2022, 2149, 2149, 2149, 2022, 2150, 2022,
1015 2150, 2022, 2022, 2022, 2151, 2151, 2151, 2022, 2152, 2022,
1016 2152, 2153, 2022, 2154, 2022, 2154, 2155, 2022, 2022, 2022,
1017 2155, 2155, 2155, 2155, 2022, 2156, 2022, 2156, 2022, 2022,
1018 2022, 2157, 2022, 2158, 2022, 2158, 2159, 2159, 2022, 2022,
1020 2022, 2022, 2022, 2022, 2022, 2022, 2159, 2159, 2159, 2159,
1021 2022, 2160, 2022, 2160, 2022, 2022, 2022, 2022, 2161, 2022,
1022 2161, 2162, 2022, 2022, 2022, 2162, 2162, 2162, 2022, 2163,
1023 2022, 2163, 2164, 2022, 2022, 2022, 2022, 2164, 2022, 2022,
1024 2165, 2022, 2165, 2166, 2022, 2022, 2166, 2022, 2022, 2022,
1025 2167, 2022, 2167, 2022, 2022, 2022, 2022, 2168, 2022, 2168,
1026 2169, 2169, 2169, 2169, 2022, 2170, 2022, 2170, 2022, 2171,
1027 2022, 2172, 2022, 2172, 2173, 2174, 2022, 2022, 2022, 2022,
1028 2022, 2175, 2175, 2176, 2022, 2022, 2022, 2022, 2022, 2022,
1029 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1031 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1032 2022, 2022, 2177, 2022, 2022, 2178, 2022, 2179, 2180, 2022,
1033 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2180, 2181, 2022,
1034 2182, 2022, 2022, 2182, 2183, 2184, 2184, 2184, 2185, 2186,
1035 2187, 2188, 2188, 2188, 2188, 2188, 2189, 2190, 2191, 2192,
1036 2192, 2022, 2022, 2022, 2192, 2192, 2192, 2192, 2193, 2194,
1037 2195, 2195, 2195, 2195, 2196, 2197, 2022, 2022, 2022, 2022,
1038 2022, 2022, 2197, 2022, 2198, 2199, 2022, 2022, 2022, 2199,
1039 2022, 2022, 2022, 2200, 2201, 2202, 2022, 2022, 2202, 2202,
1040 2203, 2022, 2204, 2205, 2206, 2207, 2207, 2022, 2207, 2022,
1042 2022, 2022, 2208, 2208, 2209, 2022, 2022, 2022, 2022, 2022,
1043 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1044 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1045 2022, 2022, 2022, 2210, 2022, 2022, 2022, 2211, 2022, 2212,
1046 2213, 2022, 2022, 2022, 2213, 2214, 2022, 2215, 2022, 2022,
1047 2022, 2022, 2022, 2216, 2217, 2217, 2217, 2022, 2022, 2218,
1048 2219, 2220, 2220, 2220, 2022, 2022, 2022, 2022, 2220, 2221,
1049 2022, 2022, 2222, 2022, 2022, 2223, 2022, 2022, 2223, 2223,
1050 2223, 2224, 2225, 2226, 2226, 2226, 2022, 2022, 2226, 2227,
1051 2228, 2228, 2022, 2229, 2230, 2230, 2231, 2232, 2233, 2022,
1053 2022, 2022, 2233, 2233, 2234, 2022, 2022, 2022, 2235, 2236,
1054 2237, 2237, 2022, 2022, 2238, 2238, 2238, 2239, 2022, 2022,
1055 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1056 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1057 2022, 2240, 2241, 2022, 2242, 2243, 2243, 2244, 2245, 2022,
1058 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1059 2246, 2022, 2022, 2247, 2022, 2022, 2022, 2022, 2248, 2249,
1060 2249, 2249, 2022, 2022, 2022, 2022, 2022, 2022, 2249, 2022,
1061 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1062 2022, 2022, 2022, 2022, 2022, 2022, 2223, 2022, 2022, 2224,
1064 2225, 2226, 2226, 2226, 2022, 2022, 2022, 2226, 2022, 2022,
1065 2022, 2022, 2228, 2022, 2229, 2022, 2022, 2230, 2231, 2232,
1066 2233, 2233, 2233, 2234, 2022, 2022, 2022, 2022, 2235, 2236,
1067 2237, 2237, 2022, 2022, 2022, 2238, 2238, 2239, 2022, 2022,
1068 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1069 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2240, 2241, 2022,
1070 2022, 2022, 2243, 2243, 2244, 2022, 2022, 2022, 2022, 2022,
1071 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2246, 2022, 2022,
1072 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2248,
1073 2249, 2249, 2249, 2022, 2022, 2249, 2022, 2022, 2022, 2022,
1075 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2224, 2225, 2226,
1076 2022, 2022, 2226, 2226, 2022, 2022, 2226, 2022, 2022, 2022,
1077 2228, 2022, 2229, 2022, 2022, 2022, 2230, 2022, 2022, 2232,
1078 2233, 2233, 2233, 2234, 2022, 2235, 2236, 2237, 2237, 2022,
1079 2022, 2022, 2022, 2238, 2238, 2239, 2022, 2022, 2022, 2022,
1080 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1081 2022, 2240, 2241, 2022, 2243, 2243, 2022, 2022, 2022, 2022,
1082 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1083 2022, 2246, 2022, 2022, 2022, 2248, 2249, 2249, 2249, 2022,
1084 2022, 2022, 2022, 2249, 2022, 2022, 2022, 2224, 2022, 2022,
1086 2226, 2022, 2022, 2022, 2226, 2226, 2022, 2022, 2022, 2022,
1087 2226, 2022, 2022, 2022, 2022, 2228, 2022, 2229, 2022, 2022,
1088 2022, 2022, 2230, 2232, 2022, 2022, 2233, 2233, 2234, 2022,
1089 2235, 2236, 2237, 2237, 2022, 2238, 2238, 2239, 2022, 2022,
1090 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2241, 2022, 2022,
1091 2243, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1092 2022, 2246, 2022, 2022, 2249, 2249, 2249, 2022, 2022, 2022,
1093 2022, 2249, 2022, 2022, 2022, 2022, 2226, 2226, 2226, 2022,
1094 2022, 2022, 2022, 2226, 2022, 2022, 2022, 2022, 2022, 2022,
1095 2022, 2022, 2022, 2229, 2022, 2022, 2022, 2022, 2022, 2022,
1097 2230, 2232, 2022, 2022, 2022, 2022, 2022, 2233, 2022, 2022,
1098 2022, 2235, 2236, 2237, 2237, 2022, 2022, 2238, 2022, 2022,
1099 2022, 2022, 2022, 2022, 2241, 2022, 2022, 2022, 2243, 2022,
1100 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2246,
1101 2249, 2249, 2249, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1102 2226, 2226, 2226, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1103 2022, 2022, 2022, 2022, 2022, 2022, 2229, 2022, 2022, 2022,
1104 2022, 2022, 2022, 2230, 2230, 2022, 2022, 2022, 2022, 2022,
1105 2022, 2022, 2022, 2022, 2236, 2237, 2237, 2022, 2022, 2022,
1106 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1108 2022, 2022, 2243, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1109 2022, 2022, 2022, 2246, 2249, 2249, 2249, 2022, 2022, 2022,
1110 2226, 2226, 2226, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1111 2022, 2022, 2022, 2022, 2022, 2022, 2229, 2022, 2022, 2022,
1112 2022, 2022, 2022, 2230, 2230, 2022, 2022, 2022, 2236, 2237,
1113 2237, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1114 2022, 2022, 2022, 2022, 2022, 2243, 2022, 2022, 2022, 2022,
1115 2022, 2022, 2022, 2022, 2246, 2022, 2022, 2249, 2249, 2249,
1116 2226, 2022, 2022, 2226, 2022, 2022, 2022, 2022, 2022, 2022,
1117 2022, 2022, 2022, 2022, 2229, 2022, 2022, 2022, 2022, 2022,
1119 2022, 2230, 2230, 2236, 2237, 2237, 2237, 2022, 2022, 2022,
1120 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1121 2022, 2022, 2022, 2246, 2022, 2022, 2022, 2249, 2249, 2249,
1122 2249, 2226, 2022, 2022, 2022, 2226, 2022, 2022, 2022, 2022,
1123 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1124 2022, 2022, 2022, 2022, 2022, 2022, 2230, 2022, 2022, 2230,
1125 2236, 2237, 2237, 2237, 2250, 2251, 2022, 2022, 2022, 2022,
1126 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1127 2022, 2246, 2249, 2249, 2249, 2249, 2022, 2022, 2022, 2022,
1128 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1130 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2230, 2022, 2022,
1131 2022, 2230, 2236, 2237, 2252, 2253, 2250, 2251, 2022, 2022,
1132 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1133 2249, 2249, 2249, 2249, 2022, 2022, 2022, 2022, 2022, 2022,
1134 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1135 2022, 2022, 2230, 2230, 2236, 2252, 2237, 2254, 2253, 2255,
1136 2237, 2022, 2022, 2022, 2022, 2022, 2022, 2249, 2249, 2249,
1137 2249, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1138 2022, 2022, 2022, 2230, 2230, 2236, 2254, 2022, 2255, 2237,
1139 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2249, 2022,
1141 2022, 2022, 2022, 2022, 2022, 2230, 2230, 2236, 2022, 2022,
1142 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1143 2249, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2230, 2230,
1144 2236, 2022, 2249, 2022, 2022, 2022, 2022, 2230, 2230, 2236,
1145 2249, 2022, 2022, 2022, 2022, 2230, 2230, 2236, 2249, 2022,
1146 2022, 2022, 2022, 2230, 2230, 2236, 2022, 2022, 2022, 2022,
1147 2022, 2022, 2230, 2230, 2236, 2022, 2022, 2022, 2022, 2022,
1148 2230, 2230, 2236, 2230, 2230, 2236, 2230, 2230, 2236, 2236,
1149 2230, 2230, 2236, 2236, 2230, 2230, 2236, 2236, 2230, 2230,
1150 2236, 2236, 2022, 2022, 2022, 2022, 2236, 2236, 2022, 2022,
1152 2022, 2022, 2022, 2022, 2236, 2236, 2236, 2236, 2236, 2236,
1153 2236, 2236, 2236, 2236, 2236, 2236, 2236, 2236, 2236, 2236,
1154 2022, 0, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1155 2022, 2022, 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,
1163 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1164 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1165 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1166 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1167 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1168 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
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,
1174 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1175 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1176 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1177 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1178 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1179 2022, 2022, 2022, 2022, 2022
1182 static yyconst flex_int16_t yy_nxt[7164] = { 0,
1183 2022, 146, 147, 146, 146, 147, 146, 146, 147, 146,
1184 146, 147, 146, 151, 147, 151, 157, 148, 154, 157,
1185 148, 154, 450, 149, 2022, 155, 149, 2022, 155, 152,
1186 151, 147, 151, 388, 158, 160, 161, 158, 160, 161,
1187 162, 163, 2022, 162, 163, 388, 152, 167, 168, 389,
1188 164, 160, 161, 164, 165, 391, 162, 160, 161, 561,
1189 165, 390, 162, 167, 168, 562, 164, 147, 147, 147,
1190 451, 390, 164, 147, 147, 147, 180, 147, 180, 180,
1191 147, 180, 472, 170, 180, 147, 180, 510, 169, 170,
1192 451, 473, 181, 561, 511, 181, 387, 387, 387, 575,
1194 182, 387, 387, 387, 169, 171, 172, 147, 172, 171,
1195 171, 171, 171, 171, 171, 171, 173, 171, 171, 171,
1196 1485, 171, 175, 171, 176, 171, 180, 147, 180, 147,
1197 147, 147, 503, 147, 147, 147, 180, 147, 180, 180,
1198 147, 180, 182, 504, 561, 183, 391, 171, 171, 183,
1199 600, 489, 181, 391, 490, 181, 387, 387, 387, 387,
1200 387, 387, 390, 387, 387, 387, 387, 387, 387, 390,
1201 177, 2022, 178, 171, 172, 147, 172, 171, 171, 171,
1202 171, 171, 171, 171, 173, 171, 171, 171, 477, 171,
1203 175, 171, 176, 171, 147, 147, 147, 147, 147, 147,
1205 682, 180, 147, 180, 180, 147, 180, 180, 147, 180,
1206 184, 563, 391, 184, 391, 171, 171, 182, 391, 425,
1207 182, 426, 1110, 185, 564, 180, 147, 180, 390, 427,
1208 390, 387, 387, 387, 390, 425, 451, 428, 177, 429,
1209 178, 185, 186, 187, 147, 187, 186, 186, 186, 186,
1210 186, 186, 186, 188, 186, 186, 186, 485, 186, 190,
1211 186, 191, 186, 194, 147, 194, 194, 147, 194, 402,
1212 218, 147, 218, 160, 161, 160, 161, 486, 162, 195,
1213 162, 1270, 195, 446, 186, 186, 219, 447, 205, 1271,
1214 205, 448, 192, 186, 187, 147, 187, 186, 186, 186,
1216 186, 186, 186, 186, 188, 186, 186, 186, 892, 186,
1217 190, 186, 191, 186, 206, 2022, 206, 218, 147, 218,
1218 893, 147, 147, 147, 147, 147, 147, 387, 387, 387,
1219 387, 387, 387, 219, 682, 186, 186, 220, 875, 544,
1220 220, 513, 545, 192, 196, 197, 147, 197, 196, 196,
1221 196, 196, 196, 196, 196, 198, 196, 196, 196, 512,
1222 196, 200, 196, 201, 196, 218, 147, 218, 218, 147,
1223 218, 505, 218, 147, 218, 218, 147, 218, 387, 387,
1224 387, 219, 391, 439, 219, 512, 196, 196, 221, 433,
1225 440, 221, 1412, 1413, 202, 1414, 1415, 203, 390, 390,
1227 387, 387, 387, 204, 196, 197, 147, 197, 196, 196,
1228 196, 196, 196, 196, 196, 198, 196, 196, 196, 451,
1229 196, 200, 196, 201, 196, 232, 147, 232, 232, 147,
1230 232, 906, 245, 147, 245, 245, 147, 245, 538, 391,
1231 391, 233, 1275, 893, 233, 391, 196, 196, 246, 571,
1232 1276, 246, 457, 539, 202, 390, 390, 203, 387, 387,
1233 387, 390, 572, 204, 207, 208, 147, 208, 207, 207,
1234 207, 207, 207, 207, 207, 209, 207, 207, 207, 906,
1235 207, 211, 207, 212, 207, 147, 147, 147, 147, 147,
1236 147, 930, 147, 147, 147, 147, 147, 147, 257, 147,
1238 257, 254, 391, 391, 254, 1488, 207, 207, 255, 464,
1239 520, 255, 563, 1495, 258, 213, 1498, 214, 390, 390,
1240 215, 387, 387, 387, 2022, 576, 216, 207, 208, 147,
1241 208, 207, 207, 207, 207, 207, 207, 207, 209, 207,
1242 207, 207, 538, 207, 211, 207, 212, 207, 257, 147,
1243 257, 271, 147, 271, 512, 271, 147, 271, 147, 147,
1244 147, 147, 147, 147, 258, 411, 391, 272, 413, 207,
1245 207, 272, 391, 1116, 220, 587, 1508, 220, 213, 1117,
1246 214, 1521, 390, 215, 387, 387, 387, 998, 390, 216,
1247 222, 223, 147, 223, 222, 222, 222, 222, 222, 222,
1249 222, 224, 222, 222, 222, 1522, 222, 226, 222, 227,
1250 222, 271, 147, 271, 271, 147, 271, 1232, 271, 147,
1251 271, 271, 147, 271, 283, 147, 283, 272, 1523, 797,
1252 272, 998, 222, 222, 273, 391, 391, 273, 798, 228,
1253 284, 387, 387, 387, 229, 387, 387, 387, 387, 387,
1254 387, 390, 390, 230, 222, 223, 147, 223, 222, 222,
1255 222, 222, 222, 222, 222, 224, 222, 222, 222, 1231,
1256 222, 226, 222, 227, 222, 283, 147, 283, 298, 147,
1257 298, 1524, 298, 147, 298, 308, 147, 308, 308, 147,
1258 308, 284, 1419, 1420, 299, 1390, 222, 222, 299, 391,
1260 391, 309, 1391, 228, 309, 387, 387, 387, 229, 387,
1261 387, 387, 387, 387, 387, 390, 390, 230, 234, 235,
1262 147, 235, 234, 234, 234, 234, 234, 234, 234, 236,
1263 234, 234, 234, 1525, 234, 238, 234, 239, 234, 321,
1264 147, 321, 321, 147, 321, 682, 147, 147, 147, 147,
1265 147, 147, 321, 147, 321, 322, 391, 571, 322, 1529,
1266 234, 234, 220, 482, 995, 220, 998, 998, 322, 1392,
1267 578, 240, 390, 387, 387, 387, 1393, 241, 1530, 242,
1268 243, 234, 235, 147, 235, 234, 234, 234, 234, 234,
1269 234, 234, 236, 234, 234, 234, 1514, 234, 238, 234,
1271 239, 234, 321, 147, 321, 321, 147, 321, 1339, 321,
1272 147, 321, 147, 147, 147, 147, 147, 147, 322, 1421,
1273 1422, 323, 391, 234, 234, 323, 682, 682, 333, 493,
1274 1531, 333, 1407, 1337, 240, 387, 387, 387, 390, 1408,
1275 241, 684, 242, 243, 247, 248, 147, 248, 247, 247,
1276 247, 247, 247, 247, 247, 249, 247, 247, 247, 998,
1277 247, 251, 247, 252, 247, 147, 147, 147, 147, 147,
1278 147, 1532, 335, 147, 335, 335, 147, 335, 335, 147,
1279 335, 333, 1533, 1409, 333, 391, 247, 247, 336, 391,
1280 1410, 336, 497, 1515, 337, 387, 387, 387, 387, 387,
1282 387, 390, 387, 387, 387, 390, 253, 247, 248, 147,
1283 248, 247, 247, 247, 247, 247, 247, 247, 249, 247,
1284 247, 247, 1534, 247, 251, 247, 252, 247, 335, 147,
1285 335, 349, 147, 349, 1535, 349, 147, 349, 147, 147,
1286 147, 147, 147, 147, 337, 1536, 998, 350, 1537, 247,
1287 247, 350, 391, 1486, 333, 1487, 1538, 333, 387, 387,
1288 387, 387, 387, 387, 387, 387, 387, 1539, 390, 253,
1289 259, 260, 147, 260, 259, 259, 259, 259, 259, 259,
1290 259, 261, 259, 259, 259, 1433, 259, 263, 259, 264,
1291 259, 349, 147, 349, 349, 147, 349, 1541, 349, 147,
1293 349, 349, 147, 349, 360, 147, 360, 350, 391, 391,
1294 350, 391, 259, 259, 351, 265, 524, 351, 1542, 1489,
1295 361, 1490, 1543, 266, 390, 390, 267, 390, 998, 268,
1296 1544, 1545, 269, 259, 260, 147, 260, 259, 259, 259,
1297 259, 259, 259, 259, 261, 259, 259, 259, 1551, 259,
1298 263, 259, 264, 259, 360, 147, 360, 373, 147, 373,
1299 1552, 373, 147, 373, 147, 147, 147, 147, 147, 147,
1300 361, 1434, 391, 374, 1553, 259, 259, 374, 265, 536,
1301 375, 1150, 1496, 375, 1497, 1554, 266, 1151, 390, 267,
1302 1152, 1499, 268, 1500, 1153, 269, 274, 275, 147, 275,
1304 274, 274, 274, 274, 274, 274, 274, 276, 274, 274,
1305 274, 531, 274, 278, 274, 279, 274, 373, 147, 373,
1306 373, 147, 373, 1555, 373, 147, 373, 373, 147, 373,
1307 385, 147, 385, 374, 1558, 1154, 374, 1559, 274, 274,
1308 376, 1155, 1560, 376, 1156, 532, 386, 396, 1157, 280,
1309 387, 387, 387, 387, 387, 387, 387, 387, 387, 451,
1310 1561, 281, 274, 275, 147, 275, 274, 274, 274, 274,
1311 274, 274, 274, 276, 274, 274, 274, 1562, 274, 278,
1312 274, 279, 274, 385, 147, 385, 397, 387, 387, 387,
1313 1563, 1568, 398, 387, 387, 387, 399, 1569, 1570, 386,
1315 1571, 400, 1572, 1573, 274, 274, 387, 387, 387, 387,
1316 387, 387, 387, 387, 387, 280, 387, 387, 387, 542,
1317 542, 542, 1593, 686, 896, 896, 896, 281, 285, 286,
1318 147, 286, 285, 285, 285, 285, 285, 285, 285, 287,
1319 285, 285, 285, 288, 285, 289, 285, 290, 285, 288,
1320 288, 288, 288, 288, 288, 288, 288, 288, 288, 288,
1321 288, 288, 288, 288, 288, 288, 288, 288, 288, 288,
1322 285, 285, 288, 288, 291, 288, 288, 288, 288, 288,
1323 288, 292, 288, 293, 288, 288, 288, 294, 288, 295,
1324 296, 288, 288, 288, 288, 288, 288, 300, 301, 147,
1326 301, 300, 300, 300, 300, 300, 300, 300, 302, 300,
1327 300, 300, 682, 300, 304, 300, 305, 300, 542, 542,
1328 542, 584, 584, 584, 592, 592, 592, 606, 606, 606,
1329 617, 617, 617, 904, 904, 904, 1594, 1595, 585, 300,
1330 300, 593, 1596, 1603, 607, 1604, 1605, 618, 1585, 998,
1331 306, 300, 301, 147, 301, 300, 300, 300, 300, 300,
1332 300, 300, 302, 300, 300, 300, 998, 300, 304, 300,
1333 305, 300, 1606, 543, 625, 625, 625, 1338, 631, 631,
1334 631, 633, 633, 633, 642, 642, 642, 1009, 1009, 1009,
1335 1599, 626, 1607, 300, 300, 632, 1608, 1609, 634, 1610,
1337 1586, 643, 1600, 998, 306, 310, 311, 147, 311, 310,
1338 310, 310, 310, 310, 310, 310, 312, 310, 310, 310,
1339 1611, 310, 314, 310, 315, 310, 647, 647, 647, 667,
1340 667, 667, 696, 696, 696, 696, 696, 696, 726, 726,
1341 726, 682, 1587, 648, 1612, 1613, 668, 310, 310, 1615,
1342 698, 316, 1616, 698, 1617, 1621, 728, 1230, 317, 1622,
1343 318, 1015, 1015, 1015, 896, 896, 896, 319, 310, 311,
1344 147, 311, 310, 310, 310, 310, 310, 310, 310, 312,
1345 310, 310, 310, 1623, 310, 314, 310, 315, 310, 699,
1346 726, 726, 726, 1627, 1601, 584, 584, 584, 731, 731,
1348 731, 1628, 732, 1629, 1630, 733, 1602, 1631, 728, 1632,
1349 310, 310, 585, 1638, 316, 741, 741, 741, 1639, 742,
1350 1640, 317, 743, 318, 1021, 1021, 1021, 904, 904, 904,
1351 319, 324, 325, 147, 325, 324, 324, 324, 324, 324,
1352 324, 324, 326, 324, 324, 324, 729, 324, 328, 324,
1353 329, 324, 736, 736, 736, 1641, 1642, 736, 736, 736,
1354 592, 592, 592, 744, 744, 744, 747, 747, 747, 1643,
1355 738, 998, 1656, 324, 324, 738, 330, 593, 998, 331,
1356 745, 1633, 1635, 748, 762, 762, 762, 1658, 763, 1634,
1357 1636, 764, 682, 332, 324, 325, 147, 325, 324, 324,
1359 324, 324, 324, 324, 324, 326, 324, 324, 324, 1650,
1360 324, 328, 324, 329, 324, 1662, 1651, 739, 1649, 1663,
1361 750, 750, 750, 758, 758, 758, 1664, 1665, 750, 750,
1362 750, 758, 758, 758, 1666, 1667, 324, 324, 752, 330,
1363 1668, 760, 331, 778, 778, 778, 752, 779, 1669, 760,
1364 780, 1047, 1047, 1047, 1670, 1671, 332, 338, 339, 147,
1365 339, 338, 338, 338, 338, 338, 338, 338, 340, 338,
1366 338, 338, 753, 338, 342, 338, 343, 338, 606, 606,
1367 606, 1672, 1673, 768, 768, 768, 773, 773, 773, 1674,
1368 1679, 761, 617, 617, 617, 607, 768, 768, 768, 338,
1370 338, 770, 344, 1680, 775, 345, 1009, 1009, 1009, 618,
1371 346, 789, 789, 789, 770, 790, 1681, 1684, 791, 347,
1372 338, 339, 147, 339, 338, 338, 338, 338, 338, 338,
1373 338, 340, 338, 338, 338, 1685, 338, 342, 338, 343,
1374 338, 773, 773, 773, 771, 1686, 785, 785, 785, 785,
1375 785, 785, 625, 625, 625, 1687, 793, 793, 793, 775,
1376 1688, 1689, 338, 338, 787, 344, 1690, 787, 345, 626,
1377 1011, 1011, 1011, 346, 795, 1015, 1015, 1015, 1021, 1021,
1378 1021, 1691, 347, 352, 353, 147, 353, 352, 352, 352,
1379 352, 352, 352, 352, 354, 352, 352, 352, 776, 352,
1381 356, 352, 357, 352, 1692, 1693, 788, 1694, 1696, 793,
1382 793, 793, 631, 631, 631, 799, 799, 799, 1697, 800,
1383 1698, 1699, 801, 1700, 1701, 352, 352, 795, 1708, 632,
1384 1022, 1022, 1022, 1047, 1047, 1047, 358, 352, 353, 147,
1385 353, 352, 352, 352, 352, 352, 352, 352, 354, 352,
1386 352, 352, 998, 352, 356, 352, 357, 352, 633, 633,
1387 633, 802, 802, 802, 1709, 803, 1710, 1711, 804, 796,
1388 805, 805, 805, 1712, 1713, 634, 1246, 1246, 1246, 352,
1389 352, 815, 815, 815, 1705, 816, 1716, 806, 817, 1717,
1390 358, 362, 363, 147, 363, 362, 362, 362, 362, 362,
1392 362, 362, 364, 362, 362, 362, 1718, 362, 366, 362,
1393 367, 362, 811, 811, 811, 642, 642, 642, 818, 818,
1394 818, 811, 811, 811, 818, 818, 818, 647, 647, 647,
1395 813, 1719, 643, 362, 362, 682, 820, 1720, 1721, 813,
1396 1722, 368, 820, 369, 648, 370, 1127, 1127, 1127, 1248,
1397 1248, 1248, 1723, 371, 362, 363, 147, 363, 362, 362,
1398 362, 362, 362, 362, 362, 364, 362, 362, 362, 1728,
1399 362, 366, 362, 367, 362, 814, 823, 823, 823, 1704,
1400 824, 821, 1731, 825, 829, 829, 829, 829, 829, 829,
1401 834, 834, 834, 836, 836, 836, 362, 362, 845, 845,
1403 845, 1732, 831, 1736, 368, 831, 369, 835, 370, 1737,
1404 837, 1130, 1130, 1130, 1738, 846, 371, 377, 378, 147,
1405 378, 377, 377, 377, 377, 377, 377, 377, 379, 377,
1406 377, 377, 1739, 377, 381, 377, 382, 377, 1740, 832,
1407 840, 840, 840, 1741, 848, 848, 848, 840, 840, 840,
1408 850, 850, 850, 850, 850, 850, 1729, 1730, 842, 377,
1409 377, 849, 667, 667, 667, 842, 1742, 1743, 852, 1744,
1410 1745, 852, 1746, 854, 854, 854, 1749, 855, 1750, 668,
1411 856, 1751, 383, 377, 378, 147, 378, 377, 377, 377,
1412 377, 377, 377, 377, 379, 377, 377, 377, 1752, 377,
1414 381, 377, 382, 377, 843, 857, 857, 857, 1753, 1754,
1415 853, 857, 857, 857, 865, 865, 865, 865, 865, 865,
1416 871, 871, 871, 859, 1769, 377, 377, 682, 1770, 859,
1417 1771, 1772, 867, 1776, 1777, 867, 1778, 1779, 873, 871,
1418 871, 871, 696, 696, 696, 911, 911, 911, 383, 391,
1419 696, 696, 696, 1011, 1011, 1011, 407, 873, 1761, 1780,
1420 698, 1781, 912, 860, 1783, 390, 1784, 1012, 698, 696,
1421 696, 696, 1785, 726, 726, 726, 1786, 868, 726, 726,
1422 726, 1791, 1792, 726, 726, 726, 1793, 698, 1794, 1795,
1423 408, 728, 409, 1796, 1797, 410, 728, 411, 412, 874,
1425 413, 728, 1798, 1799, 414, 1800, 415, 416, 417, 391,
1426 914, 914, 914, 884, 1801, 1802, 407, 731, 731, 731,
1427 1803, 732, 1804, 682, 733, 390, 1819, 915, 1820, 913,
1428 2022, 2022, 2022, 736, 736, 736, 736, 736, 736, 1821,
1429 1822, 736, 736, 736, 744, 744, 744, 2022, 1823, 1824,
1430 408, 738, 418, 1825, 738, 419, 1826, 420, 412, 738,
1431 421, 745, 1813, 1827, 414, 1828, 422, 423, 424, 741,
1432 741, 741, 1831, 742, 1832, 1833, 743, 920, 920, 920,
1433 1834, 921, 1841, 1842, 922, 918, 1843, 916, 923, 923,
1434 923, 747, 747, 747, 925, 925, 925, 1844, 926, 1845,
1436 1846, 927, 750, 750, 750, 924, 1847, 1848, 748, 750,
1437 750, 750, 750, 750, 750, 932, 932, 932, 1849, 1850,
1438 752, 758, 758, 758, 758, 758, 758, 752, 1851, 1852,
1439 752, 1862, 933, 758, 758, 758, 762, 762, 762, 760,
1440 763, 1863, 760, 764, 768, 768, 768, 768, 768, 768,
1441 1864, 760, 768, 768, 768, 773, 773, 773, 773, 773,
1442 773, 1857, 770, 1857, 682, 770, 1865, 1866, 929, 1867,
1443 770, 1868, 1869, 775, 1860, 1858, 775, 935, 773, 773,
1444 773, 778, 778, 778, 1870, 779, 1871, 1876, 780, 785,
1445 785, 785, 785, 785, 785, 1877, 775, 785, 785, 785,
1447 1878, 789, 789, 789, 1879, 790, 1855, 787, 791, 1880,
1448 787, 793, 793, 793, 939, 787, 793, 793, 793, 793,
1449 793, 793, 1881, 799, 799, 799, 1882, 800, 1883, 795,
1450 801, 805, 805, 805, 795, 1888, 1872, 795, 941, 802,
1451 802, 802, 682, 803, 1874, 1888, 804, 1873, 806, 952,
1452 952, 952, 1891, 953, 1892, 1875, 954, 1857, 947, 811,
1453 811, 811, 811, 811, 811, 811, 811, 811, 815, 815,
1454 815, 1858, 816, 998, 999, 817, 949, 813, 1902, 1886,
1455 813, 1903, 1904, 813, 818, 818, 818, 818, 818, 818,
1456 818, 818, 818, 823, 823, 823, 1857, 824, 1905, 1888,
1458 825, 1909, 820, 1888, 1910, 820, 1911, 1860, 820, 829,
1459 829, 829, 829, 829, 829, 829, 829, 829, 834, 834,
1460 834, 1921, 967, 967, 967, 1925, 968, 831, 959, 969,
1461 831, 1926, 1927, 831, 1928, 835, 1932, 836, 836, 836,
1462 970, 970, 970, 1933, 971, 1934, 1935, 972, 840, 840,
1463 840, 1936, 1937, 960, 837, 840, 840, 840, 840, 840,
1464 840, 845, 845, 845, 1941, 682, 842, 1942, 977, 977,
1465 977, 965, 978, 842, 1943, 979, 842, 1944, 846, 848,
1466 848, 848, 981, 981, 981, 1945, 982, 1940, 682, 983,
1467 850, 850, 850, 850, 850, 850, 849, 850, 850, 850,
1469 854, 854, 854, 1949, 855, 1950, 1948, 856, 852, 1951,
1470 1952, 852, 857, 857, 857, 852, 857, 857, 857, 1953,
1471 682, 975, 857, 857, 857, 987, 987, 987, 1959, 1960,
1472 859, 865, 865, 865, 859, 865, 865, 865, 1961, 1956,
1473 859, 1962, 988, 865, 865, 865, 871, 871, 871, 867,
1474 871, 871, 871, 867, 871, 871, 871, 997, 997, 997,
1475 984, 867, 1969, 1970, 873, 696, 696, 696, 873, 911,
1476 911, 911, 873, 1484, 682, 998, 999, 682, 985, 1022,
1477 1022, 1022, 682, 698, 682, 682, 912, 1031, 1031, 1031,
1478 1965, 1032, 682, 1012, 1033, 726, 726, 726, 1973, 682,
1480 991, 914, 914, 914, 994, 1035, 1035, 1035, 682, 1036,
1481 682, 1987, 1037, 728, 736, 736, 736, 1983, 915, 920,
1482 920, 920, 682, 921, 1997, 1984, 922, 1005, 923, 923,
1483 923, 1483, 738, 1042, 1042, 1042, 1991, 1043, 682, 1482,
1484 1044, 750, 750, 750, 1988, 924, 925, 925, 925, 1034,
1485 926, 1481, 2015, 927, 932, 932, 932, 682, 682, 752,
1486 1040, 1049, 1049, 1049, 2005, 1050, 682, 682, 1051, 682,
1487 1998, 933, 1052, 1052, 1052, 758, 758, 758, 1058, 1058,
1488 1058, 773, 773, 773, 1065, 1065, 1065, 1480, 1046, 1053,
1489 1067, 1067, 1067, 760, 1992, 2009, 1059, 682, 2010, 775,
1491 2006, 1066, 785, 785, 785, 2019, 682, 1068, 1071, 1071,
1492 1071, 2016, 793, 793, 793, 1074, 1074, 1074, 682, 682,
1493 787, 1054, 2022, 2022, 2022, 1072, 1077, 1077, 1077, 1061,
1494 795, 2007, 1075, 1069, 952, 952, 952, 682, 953, 2022,
1495 2008, 954, 1479, 1078, 2022, 2022, 2022, 2013, 2022, 2022,
1496 2022, 2022, 2022, 2022, 811, 811, 811, 818, 818, 818,
1497 2011, 2022, 2012, 1478, 1070, 2022, 2014, 1472, 2022, 682,
1498 1073, 682, 813, 1471, 682, 820, 1470, 1087, 1087, 1087,
1499 829, 829, 829, 1469, 1076, 682, 967, 967, 967, 2019,
1500 968, 1468, 1080, 969, 1088, 970, 970, 970, 831, 971,
1502 682, 1467, 972, 2017, 1022, 1022, 1022, 840, 840, 840,
1503 1079, 987, 987, 987, 2018, 1082, 1466, 1081, 1093, 1083,
1504 1089, 1465, 977, 977, 977, 842, 978, 1461, 988, 979,
1505 981, 981, 981, 1090, 982, 1460, 1459, 983, 850, 850,
1506 850, 857, 857, 857, 1100, 1100, 1100, 1458, 1101, 1457,
1507 1456, 1102, 865, 865, 865, 1455, 852, 1454, 1453, 859,
1508 1107, 1107, 1107, 871, 871, 871, 997, 997, 997, 1094,
1509 867, 696, 696, 696, 1127, 1127, 1127, 1108, 1130, 1130,
1510 1130, 873, 1452, 1451, 998, 1127, 1127, 1127, 1128, 698,
1511 1448, 1445, 1131, 1444, 1098, 1136, 1136, 1136, 1105, 1128,
1513 1097, 1138, 1138, 1138, 1138, 1138, 1138, 1443, 1442, 1131,
1514 1136, 1136, 1136, 1430, 1111, 1139, 1428, 1427, 1139, 1417,
1515 1118, 1031, 1031, 1031, 1141, 1032, 1109, 1411, 1033, 1406,
1516 1112, 726, 726, 726, 1129, 1035, 1035, 1035, 1405, 1036,
1517 1401, 1394, 1037, 1389, 1388, 1135, 1052, 1052, 1052, 728,
1518 736, 736, 736, 1042, 1042, 1042, 1387, 1043, 1381, 1380,
1519 1044, 1129, 1379, 1053, 1135, 750, 750, 750, 738, 1049,
1520 1049, 1049, 1378, 1050, 1377, 1376, 1051, 1158, 1158, 1158,
1521 1375, 1159, 1374, 752, 1160, 758, 758, 758, 1162, 1162,
1522 1162, 2022, 2022, 2022, 1142, 1165, 1165, 1165, 1145, 1058,
1524 1058, 1058, 1373, 760, 1372, 1163, 1366, 1365, 2022, 1167,
1525 1167, 1167, 1166, 773, 773, 773, 1364, 1059, 1065, 1065,
1526 1065, 1363, 1148, 1173, 1173, 1173, 1168, 1174, 1361, 1359,
1527 1175, 775, 1355, 1161, 1354, 1066, 1067, 1067, 1067, 1176,
1528 1176, 1176, 1352, 1177, 1351, 1164, 1178, 1180, 1180, 1180,
1529 1071, 1071, 1071, 1068, 1182, 1182, 1182, 1169, 1183, 1347,
1530 1340, 1184, 1185, 1185, 1185, 1181, 1335, 1072, 1074, 1074,
1531 1074, 1187, 1187, 1187, 1333, 1188, 1332, 1331, 1189, 1322,
1532 1186, 1190, 1190, 1190, 1317, 1075, 1077, 1077, 1077, 1192,
1533 1192, 1192, 1316, 1193, 1315, 1314, 1194, 1310, 1191, 1195,
1535 1195, 1195, 1296, 1078, 2022, 2022, 2022, 1198, 1198, 1198,
1536 811, 811, 811, 818, 818, 818, 1196, 1087, 1087, 1087,
1537 1295, 2022, 1294, 1293, 1199, 1205, 1205, 1205, 813, 1206,
1538 1292, 820, 1207, 1291, 1088, 1209, 1209, 1209, 1211, 1211,
1539 1211, 1277, 2022, 2022, 2022, 840, 840, 840, 1216, 1216,
1540 1216, 1274, 1273, 1210, 1272, 1212, 1269, 1268, 1197, 2022,
1541 1264, 1201, 1263, 842, 1260, 1217, 2022, 2022, 2022, 850,
1542 850, 850, 1200, 1259, 857, 857, 857, 1100, 1100, 1100,
1543 1257, 1101, 1256, 2022, 1102, 1255, 1254, 852, 1220, 865,
1544 865, 865, 859, 1215, 1107, 1107, 1107, 1226, 1226, 1226,
1546 1251, 1227, 1213, 1250, 1228, 1249, 1247, 867, 1245, 1218,
1547 1244, 1108, 871, 871, 871, 1243, 1242, 1219, 1234, 1234,
1548 1234, 2022, 2022, 2022, 2022, 2022, 2022, 696, 696, 696,
1549 873, 1252, 1252, 1252, 1241, 1235, 1240, 1224, 2022, 1239,
1550 1233, 2022, 1253, 1253, 1253, 698, 1136, 1136, 1136, 1138,
1551 1138, 1138, 726, 726, 726, 1225, 1261, 1261, 1261, 750,
1552 750, 750, 1266, 1266, 1266, 1223, 1222, 1229, 1221, 1214,
1553 728, 1208, 1204, 1236, 1262, 1203, 1202, 752, 1179, 1267,
1554 1172, 1237, 1171, 1170, 1238, 1158, 1158, 1158, 1149, 1159,
1555 1147, 1146, 1160, 758, 758, 758, 1162, 1162, 1162, 1258,
1557 1144, 1279, 1279, 1279, 1143, 1280, 1140, 1278, 1281, 1137,
1558 1134, 760, 1133, 1163, 1265, 1282, 1282, 1282, 1165, 1165,
1559 1165, 1284, 1284, 1284, 1132, 1285, 1126, 1125, 1286, 1167,
1560 1167, 1167, 1283, 1124, 1123, 1166, 1287, 1287, 1287, 1122,
1561 1288, 1121, 1120, 1289, 1119, 1115, 1168, 773, 773, 773,
1562 1173, 1173, 1173, 1114, 1174, 1113, 998, 1175, 1106, 1176,
1563 1176, 1176, 1104, 1177, 1103, 775, 1178, 1180, 1180, 1180,
1564 1182, 1182, 1182, 1099, 1183, 1096, 1095, 1184, 1185, 1185,
1565 1185, 1092, 1187, 1187, 1187, 1181, 1188, 1091, 1086, 1189,
1566 1190, 1190, 1190, 1290, 1085, 1084, 1186, 1297, 1297, 1297,
1568 1064, 1298, 1063, 1062, 1299, 1060, 1057, 1191, 1192, 1192,
1569 1192, 1056, 1193, 1055, 1048, 1194, 1195, 1195, 1195, 1300,
1570 1300, 1300, 1045, 1301, 1041, 1039, 1302, 1303, 1303, 1303,
1571 1198, 1198, 1198, 1196, 1305, 1305, 1305, 1038, 1306, 1030,
1572 1029, 1307, 1028, 1027, 1304, 1026, 1025, 1199, 811, 811,
1573 811, 818, 818, 818, 1311, 1311, 1311, 1205, 1205, 1205,
1574 1024, 1206, 1023, 1020, 1207, 1019, 813, 1018, 1017, 820,
1575 1016, 1312, 1209, 1209, 1209, 1211, 1211, 1211, 1318, 1318,
1576 1318, 1014, 1319, 1013, 1010, 1320, 2022, 2022, 2022, 1008,
1577 1210, 1007, 1212, 1216, 1216, 1216, 1308, 1313, 840, 840,
1579 840, 1006, 1004, 2022, 2022, 2022, 2022, 1328, 1328, 1328,
1580 1217, 1309, 1323, 1324, 1324, 1324, 842, 1325, 1003, 1002,
1581 1326, 2022, 857, 857, 857, 1329, 865, 865, 865, 1226,
1582 1226, 1226, 1001, 1227, 1000, 993, 1228, 992, 1321, 990,
1583 859, 871, 871, 871, 867, 1234, 1234, 1234, 1341, 1341,
1584 1341, 989, 1342, 986, 980, 1343, 2022, 2022, 2022, 873,
1585 976, 1327, 1235, 2022, 2022, 2022, 974, 973, 1330, 966,
1586 696, 696, 696, 2022, 1348, 1348, 1348, 1349, 1349, 1349,
1587 2022, 1350, 1350, 1350, 1353, 1353, 1353, 1334, 698, 1336,
1588 1246, 1246, 1246, 1248, 1248, 1248, 1356, 1356, 1356, 1357,
1590 1357, 1357, 1252, 1252, 1252, 1253, 1253, 1253, 1358, 1358,
1591 1358, 964, 1344, 1360, 1360, 1360, 726, 726, 726, 1261,
1592 1261, 1261, 1367, 1367, 1367, 963, 1345, 1266, 1266, 1266,
1593 1346, 1369, 1369, 1369, 728, 1370, 962, 1262, 1371, 961,
1594 1368, 758, 758, 758, 1267, 1279, 1279, 1279, 958, 1280,
1595 957, 956, 1281, 1282, 1282, 1282, 1383, 1383, 1383, 760,
1596 1384, 955, 951, 1385, 1362, 1284, 1284, 1284, 950, 1285,
1597 1283, 948, 1286, 1287, 1287, 1287, 946, 1288, 945, 944,
1598 1289, 773, 773, 773, 1297, 1297, 1297, 1382, 1298, 943,
1599 942, 1299, 940, 1300, 1300, 1300, 938, 1301, 937, 775,
1601 1302, 1303, 1303, 1303, 1395, 1395, 1395, 936, 1396, 934,
1602 931, 1397, 1305, 1305, 1305, 928, 1306, 919, 1304, 1307,
1603 811, 811, 811, 1399, 1399, 1399, 1311, 1311, 1311, 1402,
1604 1402, 1402, 1386, 1403, 917, 910, 1404, 909, 813, 908,
1605 907, 1400, 905, 1312, 1318, 1318, 1318, 903, 1319, 902,
1606 901, 1320, 2022, 2022, 2022, 840, 840, 840, 1324, 1324,
1607 1324, 900, 1325, 899, 898, 1326, 2022, 2022, 2022, 2022,
1608 1328, 1328, 1328, 842, 857, 857, 857, 1425, 1425, 1425,
1609 1398, 897, 895, 2022, 865, 865, 865, 894, 1329, 1432,
1610 1432, 1432, 859, 891, 1426, 871, 871, 871, 1416, 1435,
1612 1435, 1435, 867, 890, 1341, 1341, 1341, 682, 1342, 889,
1613 1418, 1343, 888, 873, 2022, 2022, 2022, 2022, 2022, 2022,
1614 887, 886, 1423, 696, 696, 696, 1439, 1439, 1439, 885,
1615 883, 2022, 882, 881, 2022, 880, 1424, 1348, 1348, 1348,
1616 879, 698, 1349, 1349, 1349, 1429, 1350, 1350, 1350, 878,
1617 877, 1431, 1440, 1440, 1440, 1441, 1441, 1441, 1353, 1353,
1618 1353, 1356, 1356, 1356, 1357, 1357, 1357, 1436, 1358, 1358,
1619 1358, 1360, 1360, 1360, 1446, 1446, 1446, 876, 1438, 1437,
1620 1449, 1449, 1449, 1367, 1367, 1367, 1369, 1369, 1369, 682,
1621 1370, 870, 1447, 1371, 758, 758, 758, 1450, 1383, 1383,
1623 1383, 1368, 1384, 869, 864, 1385, 1463, 1463, 1463, 1395,
1624 1395, 1395, 760, 1396, 863, 862, 1397, 1473, 1473, 1473,
1625 1399, 1399, 1399, 861, 1464, 1475, 1475, 1475, 847, 1402,
1626 1402, 1402, 844, 1403, 839, 1474, 1404, 838, 1400, 1491,
1627 1491, 1491, 1476, 1493, 1493, 1493, 840, 840, 840, 833,
1628 828, 1462, 2022, 2022, 2022, 827, 1492, 857, 857, 857,
1629 1425, 1425, 1425, 826, 842, 1506, 1506, 1506, 1477, 2022,
1630 822, 810, 1503, 1503, 1503, 859, 1504, 1426, 809, 1505,
1631 808, 807, 1507, 1509, 1509, 1509, 1511, 1511, 1511, 871,
1632 871, 871, 1432, 1432, 1432, 1501, 1435, 1435, 1435, 792,
1634 784, 1510, 1516, 1516, 1516, 783, 782, 873, 781, 1494,
1635 682, 777, 772, 1502, 2022, 2022, 2022, 767, 766, 1517,
1636 1519, 1519, 1519, 1439, 1439, 1439, 1440, 1440, 1440, 765,
1637 757, 2022, 1441, 1441, 1441, 1446, 1446, 1446, 1520, 1449,
1638 1449, 1449, 1526, 1526, 1526, 756, 1527, 755, 754, 1528,
1639 1513, 1512, 749, 1447, 746, 740, 1450, 758, 758, 758,
1640 735, 734, 1518, 1463, 1463, 1463, 1546, 1546, 1546, 1473,
1641 1473, 1473, 1475, 1475, 1475, 760, 730, 725, 1548, 1548,
1642 1548, 1464, 1549, 1547, 724, 1550, 723, 1474, 722, 1476,
1643 1556, 1556, 1556, 1491, 1491, 1491, 1564, 1564, 1564, 721,
1645 1565, 720, 719, 1566, 1493, 1493, 1493, 1557, 718, 717,
1646 1492, 716, 715, 1540, 840, 840, 840, 2022, 2022, 2022,
1647 1576, 1576, 1576, 1503, 1503, 1503, 714, 1504, 713, 712,
1648 1505, 711, 842, 710, 2022, 1506, 1506, 1506, 1577, 1578,
1649 1578, 1578, 709, 1579, 708, 707, 1580, 706, 1581, 1581,
1650 1581, 705, 1507, 1509, 1509, 1509, 1511, 1511, 1511, 1583,
1651 1583, 1583, 704, 703, 1574, 1582, 702, 701, 1567, 700,
1652 695, 1510, 1516, 1516, 1516, 694, 693, 1584, 1575, 1588,
1653 1588, 1588, 692, 1589, 691, 690, 1590, 689, 688, 1517,
1654 1591, 1591, 1591, 1519, 1519, 1519, 1597, 1597, 1597, 1526,
1656 1526, 1526, 685, 1527, 683, 682, 1528, 1592, 758, 758,
1657 758, 1520, 680, 1598, 1546, 1546, 1546, 1618, 1618, 1618,
1658 678, 1619, 677, 676, 1620, 674, 760, 673, 1548, 1548,
1659 1548, 1547, 1549, 672, 671, 1550, 1556, 1556, 1556, 1624,
1660 1624, 1624, 670, 1625, 666, 664, 1626, 1564, 1564, 1564,
1661 663, 1565, 662, 1557, 1566, 840, 840, 840, 2022, 2022,
1662 2022, 2022, 2022, 2022, 1614, 1576, 1576, 1576, 661, 660,
1663 1578, 1578, 1578, 842, 1579, 2022, 658, 1580, 2022, 1581,
1664 1581, 1581, 657, 1577, 1646, 1646, 1646, 656, 1647, 655,
1665 654, 1648, 1583, 1583, 1583, 653, 1582, 1588, 1588, 1588,
1667 651, 1589, 650, 649, 1590, 1591, 1591, 1591, 646, 645,
1668 1584, 1652, 1652, 1652, 641, 1653, 639, 1637, 1654, 1644,
1669 638, 1645, 1592, 1655, 1655, 1655, 1657, 1657, 1657, 1597,
1670 1597, 1597, 1659, 1659, 1659, 637, 1660, 636, 635, 1661,
1671 758, 758, 758, 1676, 1676, 1676, 1598, 1618, 1618, 1618,
1672 630, 1619, 629, 627, 1620, 1682, 1682, 1682, 760, 624,
1673 1677, 1624, 1624, 1624, 622, 1625, 621, 620, 1626, 840,
1674 840, 840, 1683, 2022, 2022, 2022, 2022, 2022, 2022, 1655,
1675 1655, 1655, 1706, 1706, 1706, 619, 1678, 842, 1675, 616,
1676 2022, 615, 613, 2022, 1646, 1646, 1646, 612, 1647, 1707,
1678 998, 1648, 1652, 1652, 1652, 610, 1653, 609, 608, 1654,
1679 1657, 1657, 1657, 1659, 1659, 1659, 605, 1660, 603, 602,
1680 1661, 1695, 1703, 1714, 1714, 1714, 758, 758, 758, 1676,
1681 1676, 1676, 1725, 1725, 1725, 1702, 1726, 601, 599, 1727,
1682 1715, 1682, 1682, 1682, 760, 597, 1677, 1733, 1733, 1733,
1683 596, 1734, 595, 594, 1735, 1747, 1747, 1747, 1683, 1755,
1684 1755, 1755, 1758, 1758, 1758, 1762, 1762, 1762, 1706, 1706,
1685 1706, 591, 1724, 1748, 590, 589, 1756, 586, 583, 1759,
1686 582, 580, 1763, 998, 579, 1707, 998, 577, 1764, 1764,
1687 1764, 574, 1765, 573, 570, 1766, 1767, 1767, 1767, 1768,
1689 1768, 1768, 1757, 569, 568, 1760, 998, 1714, 1714, 1714,
1690 1773, 1773, 1773, 567, 1774, 566, 565, 1775, 758, 758,
1691 758, 1725, 1725, 1725, 1715, 1726, 560, 559, 1727, 1787,
1692 1787, 1787, 558, 1733, 1733, 1733, 760, 1734, 557, 556,
1693 1735, 1789, 1789, 1789, 555, 554, 1788, 1747, 1747, 1747,
1694 1755, 1755, 1755, 1805, 1805, 1805, 552, 1806, 1790, 551,
1695 1807, 2022, 2022, 2022, 550, 1748, 549, 1756, 1758, 1758,
1696 1758, 548, 1809, 1809, 1809, 547, 1810, 546, 2022, 1811,
1697 1782, 2022, 2022, 2022, 541, 1759, 1762, 1762, 1762, 1814,
1698 1814, 1814, 538, 1815, 540, 535, 1816, 533, 2022, 1767,
1700 1767, 1767, 531, 1763, 998, 2022, 530, 998, 529, 1764,
1701 1764, 1764, 528, 1765, 527, 525, 1766, 1768, 1768, 1768,
1702 523, 1773, 1773, 1773, 521, 1774, 1808, 998, 1775, 1835,
1703 1835, 1835, 520, 1836, 519, 518, 1837, 517, 1829, 1829,
1704 1829, 516, 1787, 1787, 1787, 514, 1812, 996, 996, 996,
1705 996, 996, 996, 996, 996, 996, 1830, 513, 996, 1788,
1706 1789, 1789, 1789, 996, 996, 996, 998, 996, 1838, 1838,
1707 1838, 509, 1839, 508, 506, 1840, 505, 1790, 1805, 1805,
1708 1805, 502, 1806, 501, 500, 1807, 2022, 2022, 2022, 996,
1709 996, 996, 996, 996, 996, 996, 996, 996, 996, 996,
1711 498, 496, 996, 2022, 2022, 2022, 2022, 996, 996, 996,
1712 998, 996, 1809, 1809, 1809, 494, 1810, 492, 491, 1811,
1713 488, 2022, 1814, 1814, 1814, 487, 1815, 483, 481, 1816,
1714 1829, 1829, 1829, 996, 996, 1835, 1835, 1835, 1853, 1836,
1715 998, 480, 1837, 1838, 1838, 1838, 478, 1839, 1830, 477,
1716 1840, 476, 2022, 2022, 2022, 475, 1854, 996, 996, 996,
1717 996, 996, 1861, 996, 996, 996, 474, 471, 996, 2022,
1718 2022, 2022, 2022, 996, 996, 996, 998, 996, 1890, 1890,
1719 1890, 1893, 1893, 1893, 1912, 1912, 1912, 2022, 1913, 469,
1720 468, 1914, 420, 1895, 1895, 1895, 998, 999, 1894, 996,
1722 996, 996, 996, 996, 996, 996, 996, 996, 996, 1861,
1723 1896, 467, 996, 465, 1884, 463, 462, 996, 996, 996,
1724 998, 996, 1897, 1897, 1897, 1900, 1900, 1900, 2022, 2022,
1725 2022, 461, 1885, 2022, 2022, 2022, 1908, 1908, 1908, 1898,
1726 460, 458, 1901, 996, 996, 2022, 1890, 1890, 1890, 456,
1727 2022, 1893, 1893, 1893, 682, 1895, 1895, 1895, 455, 1915,
1728 1915, 1915, 454, 1916, 998, 1899, 1917, 452, 1894, 1897,
1729 1897, 1897, 1896, 1918, 1918, 1918, 450, 1919, 449, 1906,
1730 1920, 1900, 1900, 1900, 1907, 445, 1898, 444, 1922, 1922,
1731 1922, 442, 1923, 441, 1111, 1924, 438, 437, 1901, 2022,
1733 2022, 2022, 2022, 2022, 2022, 1908, 1908, 1908, 1912, 1912,
1734 1912, 436, 1913, 434, 432, 1914, 2022, 430, 2022, 2022,
1735 1915, 1915, 1915, 682, 1916, 406, 405, 1917, 1918, 1918,
1736 1918, 403, 1919, 401, 395, 1920, 1922, 1922, 1922, 394,
1737 1923, 1931, 1929, 1924, 395, 1930, 2022, 2022, 2022, 2022,
1738 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1739 2022, 394, 393, 2022, 392, 2022, 2022, 2022, 2022, 2022,
1740 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 1957,
1741 1957, 1957, 2022, 2022, 2022, 2022, 2022, 2022, 1957, 1957,
1742 1957, 2022, 2022, 2022, 2022, 2022, 1958, 2022, 2022, 2022,
1744 2022, 2022, 2022, 1938, 2022, 1958, 1939, 2022, 2022, 1954,
1745 2022, 1966, 1966, 1966, 1946, 1967, 2022, 1947, 1968, 2022,
1746 2022, 2022, 2022, 2022, 2022, 2022, 2022, 1955, 2022, 2022,
1747 1963, 2022, 2022, 1964, 2022, 2022, 2022, 2022, 2022, 2022,
1748 1966, 1966, 1966, 2022, 1967, 2022, 2022, 1968, 2022, 2022,
1749 2022, 2022, 2022, 2022, 1976, 1976, 1976, 2022, 2022, 2022,
1750 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 1976,
1751 1976, 1976, 682, 1979, 2022, 2022, 1980, 2022, 2022, 1971,
1752 2022, 2022, 1972, 2022, 2022, 2022, 2022, 682, 2022, 2022,
1753 2022, 1974, 2022, 2022, 1975, 2022, 2022, 2022, 2022, 2022,
1755 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1756 2022, 2022, 2022, 1993, 1993, 1993, 2022, 2022, 1977, 2022,
1757 1978, 2022, 2022, 2022, 2022, 2022, 2022, 1995, 1995, 1995,
1758 1994, 1981, 1993, 1993, 1993, 2022, 1982, 2022, 1999, 1999,
1759 1999, 2022, 2000, 2022, 1996, 2001, 2022, 2022, 1986, 1994,
1760 2022, 1985, 2022, 1989, 1995, 1995, 1995, 2002, 2002, 2002,
1761 2022, 2003, 2022, 2022, 2004, 1999, 1999, 1999, 2022, 2000,
1762 2022, 1996, 2001, 1990, 2002, 2002, 2002, 2022, 2003, 2022,
1763 2022, 2004, 2020, 2020, 2020, 2020, 2020, 2020, 2022, 2022,
1764 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1766 2021, 2022, 2022, 2021, 144, 144, 144, 144, 144, 144,
1767 144, 144, 144, 145, 145, 145, 145, 145, 145, 145,
1768 145, 145, 150, 150, 150, 150, 150, 150, 150, 150,
1769 150, 153, 153, 153, 153, 153, 153, 153, 153, 153,
1770 156, 156, 156, 156, 156, 156, 156, 156, 156, 159,
1771 159, 159, 159, 159, 159, 159, 159, 159, 166, 166,
1772 166, 166, 166, 166, 166, 166, 166, 174, 174, 174,
1773 174, 174, 174, 174, 174, 174, 179, 179, 179, 179,
1774 179, 179, 179, 179, 179, 189, 189, 189, 189, 189,
1775 189, 189, 189, 189, 193, 193, 193, 193, 193, 193,
1777 193, 193, 193, 199, 199, 199, 199, 199, 199, 199,
1778 199, 199, 210, 210, 210, 210, 210, 210, 210, 210,
1779 210, 217, 217, 217, 217, 217, 217, 217, 217, 217,
1780 225, 225, 225, 225, 225, 225, 225, 225, 225, 231,
1781 231, 231, 231, 231, 231, 231, 231, 231, 237, 237,
1782 237, 237, 237, 237, 237, 237, 237, 244, 244, 244,
1783 244, 244, 244, 244, 244, 244, 250, 250, 250, 250,
1784 250, 250, 250, 250, 250, 256, 256, 256, 256, 256,
1785 256, 256, 256, 256, 262, 262, 262, 262, 262, 262,
1786 262, 262, 262, 270, 270, 270, 270, 270, 270, 270,
1788 270, 270, 277, 277, 277, 277, 277, 277, 277, 277,
1789 277, 282, 282, 282, 282, 282, 282, 282, 282, 282,
1790 297, 297, 297, 297, 297, 297, 297, 297, 297, 303,
1791 303, 303, 303, 303, 303, 303, 303, 303, 307, 307,
1792 307, 307, 307, 307, 307, 307, 307, 313, 313, 313,
1793 313, 313, 313, 313, 313, 313, 320, 320, 320, 320,
1794 320, 320, 320, 320, 320, 327, 327, 327, 327, 327,
1795 327, 327, 327, 327, 334, 334, 334, 334, 334, 334,
1796 334, 334, 334, 341, 341, 341, 341, 341, 341, 341,
1797 341, 341, 348, 348, 348, 348, 348, 348, 348, 348,
1799 348, 355, 355, 355, 355, 355, 355, 355, 355, 355,
1800 359, 359, 359, 359, 359, 359, 359, 359, 359, 365,
1801 365, 365, 365, 365, 365, 365, 365, 365, 372, 372,
1802 372, 372, 372, 372, 372, 372, 372, 380, 380, 380,
1803 380, 380, 380, 380, 380, 380, 384, 384, 384, 384,
1804 384, 384, 384, 384, 384, 404, 404, 404, 2022, 2022,
1805 2022, 404, 431, 431, 431, 2022, 2022, 2022, 431, 435,
1806 435, 435, 2022, 2022, 2022, 435, 443, 443, 443, 2022,
1807 2022, 2022, 443, 453, 453, 453, 2022, 2022, 2022, 453,
1808 459, 459, 459, 2022, 2022, 2022, 459, 466, 466, 466,
1810 2022, 2022, 2022, 466, 470, 470, 470, 2022, 2022, 2022,
1811 470, 479, 479, 479, 2022, 2022, 2022, 479, 484, 484,
1812 484, 2022, 2022, 2022, 484, 495, 495, 495, 2022, 2022,
1813 2022, 495, 499, 499, 499, 2022, 2022, 2022, 499, 507,
1814 507, 507, 2022, 2022, 2022, 507, 515, 515, 515, 2022,
1815 2022, 2022, 515, 522, 522, 522, 2022, 2022, 2022, 522,
1816 526, 526, 526, 2022, 2022, 2022, 526, 534, 534, 534,
1817 2022, 2022, 2022, 534, 537, 537, 537, 537, 537, 537,
1818 537, 2022, 537, 553, 2022, 2022, 2022, 553, 581, 2022,
1819 2022, 2022, 581, 588, 2022, 2022, 2022, 588, 598, 2022,
1821 2022, 2022, 598, 604, 2022, 2022, 2022, 604, 611, 2022,
1822 2022, 2022, 611, 614, 2022, 2022, 2022, 614, 623, 2022,
1823 2022, 2022, 623, 628, 2022, 2022, 2022, 628, 484, 484,
1824 484, 2022, 2022, 2022, 484, 640, 2022, 2022, 2022, 640,
1825 495, 495, 495, 2022, 2022, 2022, 495, 644, 2022, 2022,
1826 2022, 644, 499, 499, 499, 2022, 2022, 2022, 499, 652,
1827 2022, 2022, 2022, 652, 507, 507, 507, 2022, 2022, 2022,
1828 507, 659, 2022, 2022, 2022, 659, 515, 515, 515, 2022,
1829 2022, 2022, 515, 665, 2022, 2022, 2022, 665, 522, 522,
1830 522, 2022, 2022, 2022, 522, 669, 2022, 2022, 2022, 669,
1832 526, 526, 526, 2022, 2022, 2022, 526, 675, 2022, 2022,
1833 2022, 675, 534, 534, 534, 2022, 2022, 2022, 534, 679,
1834 2022, 2022, 2022, 679, 681, 681, 681, 681, 681, 681,
1835 681, 681, 681, 687, 2022, 2022, 2022, 2022, 687, 404,
1836 404, 404, 2022, 2022, 2022, 404, 697, 697, 697, 697,
1837 2022, 2022, 697, 697, 431, 431, 431, 2022, 2022, 2022,
1838 431, 727, 727, 727, 727, 2022, 2022, 727, 727, 435,
1839 435, 435, 2022, 2022, 2022, 435, 737, 737, 737, 737,
1840 2022, 2022, 737, 737, 443, 443, 443, 2022, 2022, 2022,
1841 443, 751, 751, 751, 751, 2022, 2022, 751, 751, 453,
1843 453, 453, 2022, 2022, 2022, 453, 759, 759, 759, 759,
1844 2022, 2022, 759, 759, 459, 459, 459, 2022, 2022, 2022,
1845 459, 769, 769, 769, 769, 2022, 2022, 769, 769, 466,
1846 466, 466, 2022, 2022, 2022, 466, 774, 774, 774, 774,
1847 2022, 2022, 774, 774, 470, 470, 470, 2022, 2022, 2022,
1848 470, 786, 786, 786, 786, 2022, 2022, 786, 786, 479,
1849 479, 479, 2022, 2022, 2022, 479, 794, 794, 794, 794,
1850 2022, 2022, 794, 794, 484, 484, 484, 2022, 2022, 2022,
1851 484, 812, 812, 812, 812, 2022, 2022, 812, 812, 819,
1852 819, 819, 819, 2022, 2022, 819, 819, 499, 499, 499,
1854 2022, 2022, 2022, 499, 830, 830, 830, 830, 2022, 2022,
1855 830, 830, 507, 507, 507, 2022, 2022, 2022, 507, 841,
1856 841, 841, 841, 2022, 2022, 841, 841, 515, 515, 515,
1857 2022, 2022, 2022, 515, 851, 851, 851, 851, 2022, 2022,
1858 851, 851, 858, 858, 858, 858, 2022, 2022, 858, 858,
1859 526, 526, 526, 2022, 2022, 2022, 526, 866, 866, 866,
1860 866, 2022, 2022, 866, 866, 534, 534, 534, 2022, 2022,
1861 2022, 534, 872, 872, 872, 872, 2022, 2022, 872, 872,
1862 681, 681, 681, 681, 681, 681, 681, 681, 681, 687,
1863 2022, 687, 2022, 2022, 687, 404, 404, 404, 2022, 2022,
1865 2022, 404, 697, 697, 697, 697, 2022, 2022, 697, 697,
1866 431, 431, 431, 431, 2022, 431, 2022, 431, 727, 727,
1867 727, 727, 2022, 2022, 727, 727, 435, 435, 435, 435,
1868 2022, 435, 2022, 435, 737, 737, 737, 737, 2022, 2022,
1869 737, 737, 443, 443, 443, 2022, 2022, 2022, 443, 751,
1870 751, 751, 751, 2022, 2022, 751, 751, 453, 453, 453,
1871 2022, 2022, 2022, 453, 759, 759, 759, 759, 2022, 2022,
1872 759, 759, 459, 459, 459, 2022, 2022, 2022, 459, 769,
1873 769, 769, 769, 2022, 2022, 769, 769, 466, 466, 466,
1874 2022, 2022, 2022, 466, 774, 774, 774, 774, 2022, 2022,
1876 774, 774, 470, 470, 470, 2022, 2022, 2022, 470, 786,
1877 786, 786, 786, 2022, 2022, 786, 786, 479, 479, 479,
1878 2022, 2022, 2022, 479, 794, 794, 794, 794, 2022, 2022,
1879 794, 794, 484, 484, 484, 2022, 2022, 2022, 484, 812,
1880 812, 812, 812, 2022, 2022, 812, 812, 819, 819, 819,
1881 819, 2022, 2022, 819, 819, 499, 499, 499, 2022, 2022,
1882 2022, 499, 830, 830, 830, 830, 2022, 2022, 830, 830,
1883 507, 507, 507, 2022, 2022, 2022, 507, 841, 841, 841,
1884 841, 2022, 2022, 841, 841, 515, 515, 515, 2022, 2022,
1885 2022, 515, 851, 851, 851, 851, 2022, 2022, 851, 851,
1887 858, 858, 858, 858, 2022, 2022, 858, 858, 526, 526,
1888 526, 2022, 2022, 2022, 526, 866, 866, 866, 866, 2022,
1889 2022, 866, 866, 534, 534, 534, 2022, 2022, 2022, 534,
1890 872, 872, 872, 872, 2022, 2022, 872, 872, 681, 681,
1891 681, 681, 681, 681, 681, 681, 681, 996, 996, 996,
1892 996, 996, 996, 996, 996, 996, 404, 404, 404, 2022,
1893 2022, 2022, 404, 697, 697, 697, 697, 2022, 2022, 697,
1894 697, 727, 727, 727, 727, 2022, 2022, 727, 727, 435,
1895 435, 435, 2022, 2022, 2022, 435, 737, 737, 737, 737,
1896 2022, 2022, 737, 737, 443, 443, 443, 2022, 2022, 2022,
1898 443, 751, 751, 751, 751, 2022, 2022, 751, 751, 453,
1899 453, 453, 2022, 2022, 2022, 453, 759, 759, 759, 759,
1900 2022, 2022, 759, 759, 459, 459, 459, 2022, 2022, 2022,
1901 459, 769, 769, 769, 769, 2022, 2022, 769, 769, 466,
1902 466, 466, 2022, 2022, 2022, 466, 774, 774, 774, 774,
1903 2022, 2022, 774, 774, 470, 470, 470, 2022, 2022, 2022,
1904 470, 786, 786, 786, 786, 2022, 2022, 786, 786, 479,
1905 479, 479, 479, 2022, 479, 2022, 479, 794, 794, 794,
1906 794, 2022, 2022, 794, 794, 484, 484, 484, 484, 2022,
1907 484, 2022, 484, 812, 812, 812, 812, 2022, 2022, 812,
1909 812, 819, 819, 819, 819, 2022, 2022, 819, 819, 499,
1910 499, 499, 2022, 2022, 2022, 499, 830, 830, 830, 830,
1911 2022, 2022, 830, 830, 507, 507, 507, 2022, 2022, 2022,
1912 507, 841, 841, 841, 841, 2022, 2022, 841, 841, 515,
1913 515, 515, 2022, 2022, 2022, 515, 851, 851, 851, 851,
1914 2022, 2022, 851, 851, 858, 858, 858, 858, 2022, 2022,
1915 858, 858, 526, 526, 526, 2022, 2022, 2022, 526, 866,
1916 866, 866, 866, 2022, 2022, 866, 866, 534, 534, 534,
1917 534, 2022, 534, 2022, 534, 872, 872, 872, 872, 2022,
1918 2022, 872, 872, 681, 681, 681, 681, 681, 681, 681,
1920 681, 681, 996, 996, 996, 996, 996, 996, 996, 996,
1921 996, 404, 404, 404, 2022, 2022, 2022, 404, 697, 697,
1922 697, 697, 2022, 2022, 697, 697, 727, 727, 727, 727,
1923 2022, 2022, 727, 727, 435, 435, 435, 2022, 2022, 2022,
1924 435, 737, 737, 737, 737, 2022, 2022, 737, 737, 443,
1925 443, 443, 2022, 2022, 2022, 443, 751, 751, 751, 751,
1926 2022, 2022, 751, 751, 453, 453, 453, 2022, 2022, 2022,
1927 453, 759, 759, 759, 759, 2022, 2022, 759, 759, 459,
1928 459, 459, 459, 2022, 459, 2022, 459, 466, 466, 466,
1929 466, 2022, 466, 2022, 466, 774, 774, 774, 774, 2022,
1931 2022, 774, 774, 470, 470, 470, 2022, 2022, 2022, 470,
1932 786, 786, 786, 786, 2022, 2022, 786, 786, 794, 794,
1933 794, 794, 2022, 2022, 794, 794, 484, 484, 484, 484,
1934 2022, 484, 2022, 484, 812, 812, 812, 812, 2022, 2022,
1935 812, 812, 819, 819, 819, 819, 2022, 2022, 819, 819,
1936 499, 499, 499, 2022, 2022, 2022, 499, 830, 830, 830,
1937 830, 2022, 2022, 830, 830, 507, 507, 507, 507, 2022,
1938 507, 2022, 507, 841, 841, 841, 841, 2022, 2022, 841,
1939 841, 515, 515, 515, 515, 2022, 515, 2022, 515, 851,
1940 851, 851, 851, 2022, 2022, 851, 851, 858, 858, 858,
1942 858, 2022, 2022, 858, 858, 526, 526, 526, 2022, 2022,
1943 2022, 526, 866, 866, 866, 866, 2022, 2022, 866, 866,
1944 872, 872, 872, 872, 2022, 2022, 872, 872, 681, 681,
1945 681, 681, 681, 681, 681, 681, 681, 996, 996, 996,
1946 996, 996, 996, 996, 996, 996, 404, 404, 404, 404,
1947 2022, 404, 2022, 404, 697, 697, 697, 697, 2022, 2022,
1948 697, 697, 727, 727, 727, 727, 2022, 2022, 727, 727,
1949 435, 435, 435, 2022, 2022, 2022, 435, 737, 737, 737,
1950 737, 2022, 2022, 737, 737, 443, 443, 443, 2022, 2022,
1951 2022, 443, 751, 751, 751, 751, 2022, 2022, 751, 751,
1953 453, 453, 453, 453, 2022, 453, 2022, 453, 759, 759,
1954 759, 759, 2022, 2022, 759, 759, 459, 459, 459, 459,
1955 2022, 459, 2022, 459, 774, 774, 774, 774, 2022, 2022,
1956 774, 774, 470, 470, 470, 2022, 2022, 2022, 470, 1817,
1957 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1818, 1818,
1958 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1856, 1856, 1856,
1959 1856, 1856, 1856, 1856, 1856, 1856, 1859, 1859, 1859, 1859,
1960 1859, 1859, 1859, 1859, 1859, 1887, 1887, 1887, 1887, 1887,
1961 1887, 1887, 1887, 1887, 1889, 1889, 1889, 1889, 1889, 1889,
1962 1889, 1889, 1889, 143, 2022, 2022, 2022, 2022, 2022, 2022,
1964 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1965 2022, 2022, 2022, 2022, 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,
1973 static yyconst flex_int16_t yy_chk[7164] = { 0,
1974 0, 3, 3, 3, 4, 4, 4, 5, 5, 5,
1975 6, 6, 6, 7, 7, 7, 11, 3, 9, 12,
1976 4, 10, 219, 5, 0, 9, 6, 0, 10, 7,
1977 8, 8, 8, 148, 11, 13, 13, 12, 14, 14,
1978 13, 13, 220, 14, 14, 149, 8, 17, 17, 148,
1979 13, 15, 15, 14, 15, 152, 15, 16, 16, 414,
1980 16, 149, 16, 18, 18, 414, 15, 19, 19, 19,
1981 219, 152, 16, 20, 20, 20, 23, 23, 23, 24,
1982 24, 24, 266, 19, 25, 25, 25, 332, 17, 20,
1983 220, 266, 23, 425, 332, 24, 146, 146, 146, 425,
1985 25, 147, 147, 147, 18, 21, 21, 21, 21, 21,
1986 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
1987 1412, 21, 21, 21, 21, 21, 26, 26, 26, 27,
1988 27, 27, 319, 28, 28, 28, 29, 29, 29, 30,
1989 30, 30, 26, 319, 451, 27, 175, 21, 21, 28,
1990 451, 294, 29, 190, 294, 30, 151, 151, 151, 172,
1991 172, 172, 175, 180, 180, 180, 187, 187, 187, 190,
1992 21, 183, 21, 22, 22, 22, 22, 22, 22, 22,
1993 22, 22, 22, 22, 22, 22, 22, 22, 272, 22,
1994 22, 22, 22, 22, 31, 31, 31, 32, 32, 32,
1996 995, 33, 33, 33, 34, 34, 34, 35, 35, 35,
1997 31, 415, 200, 32, 170, 22, 22, 33, 211, 183,
1998 34, 183, 995, 35, 415, 36, 36, 36, 200, 185,
1999 170, 194, 194, 194, 211, 185, 272, 185, 22, 185,
2000 22, 36, 37, 37, 37, 37, 37, 37, 37, 37,
2001 37, 37, 37, 37, 37, 37, 37, 291, 37, 37,
2002 37, 37, 37, 39, 39, 39, 40, 40, 40, 170,
2003 47, 47, 47, 43, 43, 44, 44, 291, 43, 39,
2004 44, 1152, 40, 215, 37, 37, 47, 215, 43, 1152,
2005 44, 215, 37, 38, 38, 38, 38, 38, 38, 38,
2007 38, 38, 38, 38, 38, 38, 38, 38, 707, 38,
2008 38, 38, 38, 38, 43, 333, 44, 48, 48, 48,
2009 707, 49, 49, 49, 50, 50, 50, 197, 197, 197,
2010 208, 208, 208, 48, 684, 38, 38, 49, 684, 397,
2011 50, 336, 397, 38, 41, 41, 41, 41, 41, 41,
2012 41, 41, 41, 41, 41, 41, 41, 41, 41, 333,
2013 41, 41, 41, 41, 41, 51, 51, 51, 52, 52,
2014 52, 322, 53, 53, 53, 54, 54, 54, 218, 218,
2015 218, 51, 195, 205, 52, 336, 41, 41, 53, 195,
2016 205, 54, 1319, 1319, 41, 1320, 1320, 41, 195, 205,
2018 223, 223, 223, 41, 42, 42, 42, 42, 42, 42,
2019 42, 42, 42, 42, 42, 42, 42, 42, 42, 322,
2020 42, 42, 42, 42, 42, 57, 57, 57, 58, 58,
2021 58, 720, 61, 61, 61, 62, 62, 62, 388, 226,
2022 238, 57, 1156, 720, 58, 233, 42, 42, 61, 422,
2023 1156, 62, 233, 388, 42, 226, 238, 42, 232, 232,
2024 232, 233, 422, 42, 45, 45, 45, 45, 45, 45,
2025 45, 45, 45, 45, 45, 45, 45, 45, 45, 754,
2026 45, 45, 45, 45, 45, 65, 65, 65, 66, 66,
2027 66, 754, 67, 67, 67, 68, 68, 68, 69, 69,
2029 69, 65, 246, 251, 66, 1414, 45, 45, 67, 246,
2030 350, 68, 426, 1419, 69, 45, 1421, 45, 246, 251,
2031 45, 235, 235, 235, 254, 426, 45, 46, 46, 46,
2032 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
2033 46, 46, 439, 46, 46, 46, 46, 46, 70, 70,
2034 70, 73, 73, 73, 350, 74, 74, 74, 75, 75,
2035 75, 76, 76, 76, 70, 254, 263, 73, 254, 46,
2036 46, 74, 278, 1004, 75, 439, 1428, 76, 46, 1004,
2037 46, 1442, 263, 46, 245, 245, 245, 1112, 278, 46,
2038 55, 55, 55, 55, 55, 55, 55, 55, 55, 55,
2040 55, 55, 55, 55, 55, 1443, 55, 55, 55, 55,
2041 55, 77, 77, 77, 78, 78, 78, 1112, 79, 79,
2042 79, 80, 80, 80, 83, 83, 83, 77, 1444, 630,
2043 78, 1111, 55, 55, 79, 289, 304, 80, 630, 55,
2044 83, 248, 248, 248, 55, 257, 257, 257, 260, 260,
2045 260, 289, 304, 55, 56, 56, 56, 56, 56, 56,
2046 56, 56, 56, 56, 56, 56, 56, 56, 56, 1111,
2047 56, 56, 56, 56, 56, 84, 84, 84, 87, 87,
2048 87, 1445, 88, 88, 88, 91, 91, 91, 92, 92,
2049 92, 84, 1325, 1325, 87, 1294, 56, 56, 88, 314,
2051 328, 91, 1294, 56, 92, 271, 271, 271, 56, 275,
2052 275, 275, 283, 283, 283, 314, 328, 56, 59, 59,
2053 59, 59, 59, 59, 59, 59, 59, 59, 59, 59,
2054 59, 59, 59, 1448, 59, 59, 59, 59, 59, 95,
2055 95, 95, 96, 96, 96, 875, 97, 97, 97, 98,
2056 98, 98, 99, 99, 99, 95, 284, 428, 96, 1451,
2057 59, 59, 97, 284, 875, 98, 1232, 1433, 99, 1295,
2058 428, 59, 284, 286, 286, 286, 1295, 59, 1452, 59,
2059 59, 60, 60, 60, 60, 60, 60, 60, 60, 60,
2060 60, 60, 60, 60, 60, 60, 1433, 60, 60, 60,
2062 60, 60, 100, 100, 100, 101, 101, 101, 1232, 102,
2063 102, 102, 105, 105, 105, 106, 106, 106, 100, 1326,
2064 1326, 101, 299, 60, 60, 102, 539, 1230, 105, 299,
2065 1453, 106, 1315, 1230, 60, 298, 298, 298, 299, 1315,
2066 60, 539, 60, 60, 63, 63, 63, 63, 63, 63,
2067 63, 63, 63, 63, 63, 63, 63, 63, 63, 1434,
2068 63, 63, 63, 63, 63, 107, 107, 107, 108, 108,
2069 108, 1454, 109, 109, 109, 110, 110, 110, 111, 111,
2070 111, 107, 1455, 1316, 108, 309, 63, 63, 109, 342,
2071 1316, 110, 309, 1434, 111, 301, 301, 301, 308, 308,
2073 308, 309, 311, 311, 311, 342, 63, 64, 64, 64,
2074 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
2075 64, 64, 1456, 64, 64, 64, 64, 64, 112, 112,
2076 112, 115, 115, 115, 1457, 116, 116, 116, 117, 117,
2077 117, 118, 118, 118, 112, 1458, 1338, 115, 1459, 64,
2078 64, 116, 356, 1413, 117, 1413, 1460, 118, 321, 321,
2079 321, 325, 325, 325, 335, 335, 335, 1461, 356, 64,
2080 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
2081 71, 71, 71, 71, 71, 1338, 71, 71, 71, 71,
2082 71, 119, 119, 119, 120, 120, 120, 1465, 121, 121,
2084 121, 122, 122, 122, 125, 125, 125, 119, 366, 361,
2085 120, 381, 71, 71, 121, 71, 361, 122, 1466, 1415,
2086 125, 1415, 1467, 71, 366, 361, 71, 381, 1339, 71,
2087 1468, 1470, 71, 72, 72, 72, 72, 72, 72, 72,
2088 72, 72, 72, 72, 72, 72, 72, 72, 1477, 72,
2089 72, 72, 72, 72, 126, 126, 126, 129, 129, 129,
2090 1478, 130, 130, 130, 131, 131, 131, 132, 132, 132,
2091 126, 1339, 386, 129, 1479, 72, 72, 130, 72, 386,
2092 131, 1050, 1420, 132, 1420, 1480, 72, 1050, 386, 72,
2093 1050, 1422, 72, 1422, 1050, 72, 81, 81, 81, 81,
2095 81, 81, 81, 81, 81, 81, 81, 81, 81, 81,
2096 81, 374, 81, 81, 81, 81, 81, 133, 133, 133,
2097 134, 134, 134, 1482, 135, 135, 135, 136, 136, 136,
2098 139, 139, 139, 133, 1485, 1051, 134, 1486, 81, 81,
2099 135, 1051, 1487, 136, 1051, 374, 139, 162, 1051, 81,
2100 339, 339, 339, 349, 349, 349, 353, 353, 353, 374,
2101 1488, 81, 82, 82, 82, 82, 82, 82, 82, 82,
2102 82, 82, 82, 82, 82, 82, 82, 1489, 82, 82,
2103 82, 82, 82, 140, 140, 140, 162, 360, 360, 360,
2104 1490, 1495, 162, 363, 363, 363, 162, 1496, 1497, 140,
2106 1498, 162, 1499, 1500, 82, 82, 373, 373, 373, 378,
2107 378, 378, 385, 385, 385, 82, 387, 387, 387, 542,
2108 542, 542, 1521, 542, 710, 710, 710, 82, 85, 85,
2109 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
2110 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
2111 85, 85, 85, 85, 85, 85, 85, 85, 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, 89, 89, 89,
2117 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
2118 89, 89, 1513, 89, 89, 89, 89, 89, 396, 396,
2119 396, 437, 437, 437, 445, 445, 445, 460, 460, 460,
2120 472, 472, 472, 718, 718, 718, 1522, 1523, 437, 89,
2121 89, 445, 1524, 1529, 460, 1530, 1531, 472, 1513, 1231,
2122 89, 90, 90, 90, 90, 90, 90, 90, 90, 90,
2123 90, 90, 90, 90, 90, 90, 1514, 90, 90, 90,
2124 90, 90, 1532, 396, 480, 480, 480, 1231, 486, 486,
2125 486, 487, 487, 487, 496, 496, 496, 888, 888, 888,
2126 1527, 480, 1533, 90, 90, 486, 1534, 1535, 487, 1536,
2128 1514, 496, 1527, 1515, 90, 93, 93, 93, 93, 93,
2129 93, 93, 93, 93, 93, 93, 93, 93, 93, 93,
2130 1537, 93, 93, 93, 93, 93, 501, 501, 501, 523,
2131 523, 523, 553, 553, 553, 554, 554, 554, 581, 581,
2132 581, 1110, 1515, 501, 1538, 1539, 523, 93, 93, 1541,
2133 553, 93, 1542, 554, 1543, 1551, 581, 1110, 93, 1552,
2134 93, 893, 893, 893, 896, 896, 896, 93, 94, 94,
2135 94, 94, 94, 94, 94, 94, 94, 94, 94, 94,
2136 94, 94, 94, 1553, 94, 94, 94, 94, 94, 554,
2137 582, 582, 582, 1558, 1528, 584, 584, 584, 585, 585,
2139 585, 1559, 585, 1560, 1561, 585, 1528, 1562, 582, 1563,
2140 94, 94, 584, 1568, 94, 593, 593, 593, 1569, 593,
2141 1570, 94, 593, 94, 900, 900, 900, 904, 904, 904,
2142 94, 103, 103, 103, 103, 103, 103, 103, 103, 103,
2143 103, 103, 103, 103, 103, 103, 582, 103, 103, 103,
2144 103, 103, 588, 588, 588, 1571, 1572, 589, 589, 589,
2145 592, 592, 592, 594, 594, 594, 596, 596, 596, 1573,
2146 588, 1586, 1594, 103, 103, 589, 103, 592, 1587, 103,
2147 594, 1565, 1566, 596, 607, 607, 607, 1596, 607, 1565,
2148 1566, 607, 1585, 103, 104, 104, 104, 104, 104, 104,
2150 104, 104, 104, 104, 104, 104, 104, 104, 104, 1586,
2151 104, 104, 104, 104, 104, 1599, 1587, 589, 1585, 1600,
2152 598, 598, 598, 604, 604, 604, 1601, 1602, 599, 599,
2153 599, 605, 605, 605, 1603, 1604, 104, 104, 598, 104,
2154 1605, 604, 104, 618, 618, 618, 599, 618, 1606, 605,
2155 618, 930, 930, 930, 1607, 1609, 104, 113, 113, 113,
2156 113, 113, 113, 113, 113, 113, 113, 113, 113, 113,
2157 113, 113, 599, 113, 113, 113, 113, 113, 606, 606,
2158 606, 1610, 1611, 611, 611, 611, 614, 614, 614, 1612,
2159 1616, 605, 617, 617, 617, 606, 612, 612, 612, 113,
2161 113, 611, 113, 1617, 614, 113, 1009, 1009, 1009, 617,
2162 113, 626, 626, 626, 612, 626, 1621, 1623, 626, 113,
2163 114, 114, 114, 114, 114, 114, 114, 114, 114, 114,
2164 114, 114, 114, 114, 114, 1627, 114, 114, 114, 114,
2165 114, 615, 615, 615, 612, 1628, 623, 623, 623, 624,
2166 624, 624, 625, 625, 625, 1629, 628, 628, 628, 615,
2167 1630, 1631, 114, 114, 623, 114, 1632, 624, 114, 625,
2168 1011, 1011, 1011, 114, 628, 1015, 1015, 1015, 1021, 1021,
2169 1021, 1633, 114, 123, 123, 123, 123, 123, 123, 123,
2170 123, 123, 123, 123, 123, 123, 123, 123, 615, 123,
2172 123, 123, 123, 123, 1634, 1635, 624, 1636, 1638, 629,
2173 629, 629, 631, 631, 631, 632, 632, 632, 1639, 632,
2174 1640, 1641, 632, 1642, 1643, 123, 123, 629, 1656, 631,
2175 1022, 1022, 1022, 1047, 1047, 1047, 123, 124, 124, 124,
2176 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
2177 124, 124, 1650, 124, 124, 124, 124, 124, 633, 633,
2178 633, 634, 634, 634, 1658, 634, 1662, 1663, 634, 629,
2179 635, 635, 635, 1664, 1665, 633, 1126, 1126, 1126, 124,
2180 124, 643, 643, 643, 1650, 643, 1667, 635, 643, 1668,
2181 124, 127, 127, 127, 127, 127, 127, 127, 127, 127,
2183 127, 127, 127, 127, 127, 127, 1669, 127, 127, 127,
2184 127, 127, 640, 640, 640, 642, 642, 642, 644, 644,
2185 644, 641, 641, 641, 645, 645, 645, 647, 647, 647,
2186 640, 1670, 642, 127, 127, 1649, 644, 1671, 1672, 641,
2187 1673, 127, 645, 127, 647, 127, 1127, 1127, 1127, 1129,
2188 1129, 1129, 1674, 127, 128, 128, 128, 128, 128, 128,
2189 128, 128, 128, 128, 128, 128, 128, 128, 128, 1678,
2190 128, 128, 128, 128, 128, 641, 648, 648, 648, 1649,
2191 648, 645, 1680, 648, 652, 652, 652, 653, 653, 653,
2192 655, 655, 655, 656, 656, 656, 128, 128, 662, 662,
2194 662, 1681, 652, 1684, 128, 653, 128, 655, 128, 1685,
2195 656, 1130, 1130, 1130, 1686, 662, 128, 137, 137, 137,
2196 137, 137, 137, 137, 137, 137, 137, 137, 137, 137,
2197 137, 137, 1687, 137, 137, 137, 137, 137, 1688, 653,
2198 659, 659, 659, 1689, 664, 664, 664, 660, 660, 660,
2199 665, 665, 665, 666, 666, 666, 1679, 1679, 659, 137,
2200 137, 664, 667, 667, 667, 660, 1690, 1691, 665, 1692,
2201 1693, 666, 1694, 668, 668, 668, 1696, 668, 1697, 667,
2202 668, 1698, 137, 138, 138, 138, 138, 138, 138, 138,
2203 138, 138, 138, 138, 138, 138, 138, 138, 1699, 138,
2205 138, 138, 138, 138, 660, 669, 669, 669, 1700, 1701,
2206 666, 670, 670, 670, 675, 675, 675, 676, 676, 676,
2207 679, 679, 679, 669, 1710, 138, 138, 1704, 1711, 670,
2208 1712, 1713, 675, 1716, 1717, 676, 1719, 1720, 679, 680,
2209 680, 680, 696, 696, 696, 725, 725, 725, 138, 181,
2210 697, 697, 697, 890, 890, 890, 181, 680, 1704, 1721,
2211 696, 1723, 725, 670, 1728, 181, 1729, 890, 697, 699,
2212 699, 699, 1730, 726, 726, 726, 1731, 676, 727, 727,
2213 727, 1737, 1738, 729, 729, 729, 1739, 699, 1740, 1741,
2214 181, 726, 181, 1742, 1744, 181, 727, 181, 181, 680,
2216 181, 729, 1746, 1749, 181, 1750, 181, 181, 181, 182,
2217 730, 730, 730, 699, 1751, 1752, 182, 731, 731, 731,
2218 1753, 731, 1754, 1761, 731, 182, 1769, 730, 1770, 729,
2219 734, 734, 734, 736, 736, 736, 737, 737, 737, 1771,
2220 1772, 739, 739, 739, 744, 744, 744, 734, 1776, 1777,
2221 182, 736, 182, 1778, 737, 182, 1779, 182, 182, 739,
2222 182, 744, 1761, 1780, 182, 1781, 182, 182, 182, 741,
2223 741, 741, 1783, 741, 1784, 1785, 741, 745, 745, 745,
2224 1786, 745, 1791, 1792, 745, 739, 1793, 734, 746, 746,
2225 746, 747, 747, 747, 748, 748, 748, 1794, 748, 1795,
2227 1796, 748, 750, 750, 750, 746, 1799, 1800, 747, 751,
2228 751, 751, 753, 753, 753, 756, 756, 756, 1801, 1802,
2229 750, 758, 758, 758, 759, 759, 759, 751, 1803, 1804,
2230 753, 1819, 756, 761, 761, 761, 762, 762, 762, 758,
2231 762, 1821, 759, 762, 768, 768, 768, 769, 769, 769,
2232 1824, 761, 771, 771, 771, 773, 773, 773, 774, 774,
2233 774, 1815, 768, 1816, 1813, 769, 1825, 1827, 753, 1828,
2234 771, 1831, 1832, 773, 1816, 1815, 774, 761, 776, 776,
2235 776, 778, 778, 778, 1833, 778, 1834, 1841, 778, 785,
2236 785, 785, 786, 786, 786, 1842, 776, 788, 788, 788,
2238 1844, 789, 789, 789, 1845, 789, 1813, 785, 789, 1847,
2239 786, 793, 793, 793, 771, 788, 794, 794, 794, 796,
2240 796, 796, 1848, 799, 799, 799, 1850, 799, 1851, 793,
2241 799, 805, 805, 805, 794, 1858, 1839, 796, 776, 802,
2242 802, 802, 1855, 802, 1840, 1860, 802, 1839, 805, 806,
2243 806, 806, 1862, 806, 1863, 1840, 806, 1856, 788, 811,
2244 811, 811, 812, 812, 812, 814, 814, 814, 815, 815,
2245 815, 1856, 815, 1857, 1857, 815, 796, 811, 1872, 1855,
2246 812, 1873, 1874, 814, 818, 818, 818, 819, 819, 819,
2247 821, 821, 821, 823, 823, 823, 1859, 823, 1875, 1887,
2249 823, 1888, 818, 1889, 1891, 819, 1892, 1859, 821, 829,
2250 829, 829, 830, 830, 830, 832, 832, 832, 834, 834,
2251 834, 1899, 835, 835, 835, 1902, 835, 829, 814, 835,
2252 830, 1903, 1904, 832, 1905, 834, 1909, 836, 836, 836,
2253 837, 837, 837, 1921, 837, 1925, 1926, 837, 840, 840,
2254 840, 1927, 1928, 821, 836, 841, 841, 841, 843, 843,
2255 843, 845, 845, 845, 1933, 1931, 840, 1934, 846, 846,
2256 846, 832, 846, 841, 1935, 846, 843, 1936, 845, 848,
2257 848, 848, 849, 849, 849, 1937, 849, 1931, 1940, 849,
2258 850, 850, 850, 851, 851, 851, 848, 853, 853, 853,
2260 854, 854, 854, 1941, 854, 1942, 1940, 854, 850, 1943,
2261 1944, 851, 857, 857, 857, 853, 858, 858, 858, 1945,
2262 1948, 843, 860, 860, 860, 862, 862, 862, 1950, 1951,
2263 857, 865, 865, 865, 858, 866, 866, 866, 1952, 1948,
2264 860, 1953, 862, 868, 868, 868, 871, 871, 871, 865,
2265 872, 872, 872, 866, 874, 874, 874, 876, 876, 876,
2266 853, 868, 1959, 1961, 871, 884, 884, 884, 872, 911,
2267 911, 911, 874, 1411, 1979, 876, 876, 1983, 860, 901,
2268 901, 901, 1980, 884, 1956, 1965, 911, 912, 912, 912,
2269 1956, 912, 1991, 901, 912, 913, 913, 913, 1965, 1987,
2271 868, 914, 914, 914, 874, 915, 915, 915, 2013, 915,
2272 1984, 1983, 915, 913, 918, 918, 918, 1979, 914, 920,
2273 920, 920, 1997, 920, 1991, 1980, 920, 884, 923, 923,
2274 923, 1410, 918, 924, 924, 924, 1987, 924, 1992, 1409,
2275 924, 929, 929, 929, 1984, 923, 925, 925, 925, 913,
2276 925, 1408, 2013, 925, 932, 932, 932, 1988, 1998, 929,
2277 918, 933, 933, 933, 1997, 933, 2007, 2014, 933, 2008,
2278 1992, 932, 934, 934, 934, 935, 935, 935, 939, 939,
2279 939, 941, 941, 941, 945, 945, 945, 1407, 929, 934,
2280 946, 946, 946, 935, 1988, 2007, 939, 2005, 2008, 941,
2282 1998, 945, 947, 947, 947, 2017, 2006, 946, 948, 948,
2283 948, 2014, 949, 949, 949, 950, 950, 950, 2011, 2017,
2284 947, 935, 951, 951, 951, 948, 955, 955, 955, 941,
2285 949, 2005, 950, 946, 952, 952, 952, 2012, 952, 951,
2286 2006, 952, 1406, 955, 956, 956, 956, 2011, 957, 957,
2287 957, 958, 958, 958, 959, 959, 959, 960, 960, 960,
2288 2009, 956, 2010, 1405, 947, 957, 2012, 1394, 958, 2009,
2289 949, 2010, 959, 1393, 2015, 960, 1392, 964, 964, 964,
2290 965, 965, 965, 1391, 951, 2016, 967, 967, 967, 2018,
2291 967, 1390, 957, 967, 964, 970, 970, 970, 965, 970,
2293 2018, 1389, 970, 2015, 974, 974, 974, 975, 975, 975,
2294 956, 987, 987, 987, 2016, 959, 1388, 958, 974, 960,
2295 964, 1387, 977, 977, 977, 975, 977, 1381, 987, 977,
2296 981, 981, 981, 965, 981, 1380, 1379, 981, 984, 984,
2297 984, 985, 985, 985, 988, 988, 988, 1378, 988, 1377,
2298 1376, 988, 991, 991, 991, 1375, 984, 1374, 1373, 985,
2299 993, 993, 993, 994, 994, 994, 997, 997, 997, 975,
2300 991, 1005, 1005, 1005, 1017, 1017, 1017, 993, 1018, 1018,
2301 1018, 994, 1372, 1366, 997, 1024, 1024, 1024, 1017, 1005,
2302 1363, 1361, 1018, 1359, 985, 1025, 1025, 1025, 991, 1024,
2304 984, 1027, 1027, 1027, 1029, 1029, 1029, 1355, 1354, 1025,
2305 1030, 1030, 1030, 1335, 997, 1027, 1333, 1332, 1029, 1322,
2306 1005, 1031, 1031, 1031, 1030, 1031, 994, 1317, 1031, 1314,
2307 997, 1034, 1034, 1034, 1017, 1035, 1035, 1035, 1313, 1035,
2308 1310, 1296, 1035, 1293, 1292, 1024, 1052, 1052, 1052, 1034,
2309 1040, 1040, 1040, 1042, 1042, 1042, 1291, 1042, 1277, 1276,
2310 1042, 1027, 1275, 1052, 1029, 1046, 1046, 1046, 1040, 1049,
2311 1049, 1049, 1274, 1049, 1273, 1272, 1049, 1053, 1053, 1053,
2312 1271, 1053, 1270, 1046, 1053, 1054, 1054, 1054, 1055, 1055,
2313 1055, 1056, 1056, 1056, 1034, 1057, 1057, 1057, 1040, 1058,
2315 1058, 1058, 1269, 1054, 1268, 1055, 1264, 1263, 1056, 1060,
2316 1060, 1060, 1057, 1061, 1061, 1061, 1260, 1058, 1065, 1065,
2317 1065, 1259, 1046, 1066, 1066, 1066, 1060, 1066, 1257, 1255,
2318 1066, 1061, 1249, 1054, 1247, 1065, 1067, 1067, 1067, 1068,
2319 1068, 1068, 1244, 1068, 1243, 1056, 1068, 1070, 1070, 1070,
2320 1071, 1071, 1071, 1067, 1072, 1072, 1072, 1061, 1072, 1239,
2321 1233, 1072, 1073, 1073, 1073, 1070, 1225, 1071, 1074, 1074,
2322 1074, 1075, 1075, 1075, 1223, 1075, 1222, 1221, 1075, 1214,
2323 1073, 1076, 1076, 1076, 1208, 1074, 1077, 1077, 1077, 1078,
2324 1078, 1078, 1207, 1078, 1206, 1204, 1078, 1202, 1076, 1079,
2326 1079, 1079, 1179, 1077, 1080, 1080, 1080, 1081, 1081, 1081,
2327 1082, 1082, 1082, 1083, 1083, 1083, 1079, 1087, 1087, 1087,
2328 1178, 1080, 1177, 1172, 1081, 1088, 1088, 1088, 1082, 1088,
2329 1171, 1083, 1088, 1170, 1087, 1090, 1090, 1090, 1091, 1091,
2330 1091, 1157, 1092, 1092, 1092, 1094, 1094, 1094, 1095, 1095,
2331 1095, 1155, 1154, 1090, 1153, 1091, 1151, 1150, 1080, 1092,
2332 1147, 1083, 1146, 1094, 1144, 1095, 1096, 1096, 1096, 1097,
2333 1097, 1097, 1082, 1143, 1098, 1098, 1098, 1100, 1100, 1100,
2334 1141, 1100, 1140, 1096, 1100, 1139, 1137, 1097, 1098, 1105,
2335 1105, 1105, 1098, 1094, 1107, 1107, 1107, 1108, 1108, 1108,
2337 1133, 1108, 1092, 1132, 1108, 1131, 1128, 1105, 1125, 1096,
2338 1124, 1107, 1109, 1109, 1109, 1123, 1122, 1097, 1115, 1115,
2339 1115, 1116, 1116, 1116, 1117, 1117, 1117, 1118, 1118, 1118,
2340 1109, 1134, 1134, 1134, 1121, 1115, 1120, 1105, 1116, 1119,
2341 1114, 1117, 1135, 1135, 1135, 1118, 1136, 1136, 1136, 1138,
2342 1138, 1138, 1142, 1142, 1142, 1106, 1145, 1145, 1145, 1148,
2343 1148, 1148, 1149, 1149, 1149, 1104, 1103, 1109, 1099, 1093,
2344 1142, 1089, 1086, 1116, 1145, 1085, 1084, 1148, 1069, 1149,
2345 1064, 1117, 1063, 1062, 1118, 1158, 1158, 1158, 1048, 1158,
2346 1045, 1041, 1158, 1161, 1161, 1161, 1162, 1162, 1162, 1142,
2348 1039, 1163, 1163, 1163, 1038, 1163, 1028, 1161, 1163, 1026,
2349 1023, 1161, 1020, 1162, 1148, 1164, 1164, 1164, 1165, 1165,
2350 1165, 1166, 1166, 1166, 1019, 1166, 1016, 1014, 1166, 1167,
2351 1167, 1167, 1164, 1013, 1012, 1165, 1168, 1168, 1168, 1010,
2352 1168, 1008, 1007, 1168, 1006, 1003, 1167, 1169, 1169, 1169,
2353 1173, 1173, 1173, 1002, 1173, 999, 996, 1173, 992, 1176,
2354 1176, 1176, 990, 1176, 989, 1169, 1176, 1180, 1180, 1180,
2355 1182, 1182, 1182, 986, 1182, 980, 976, 1182, 1185, 1185,
2356 1185, 973, 1187, 1187, 1187, 1180, 1187, 966, 963, 1187,
2357 1190, 1190, 1190, 1169, 962, 961, 1185, 1191, 1191, 1191,
2359 944, 1191, 943, 942, 1191, 940, 938, 1190, 1192, 1192,
2360 1192, 937, 1192, 936, 931, 1192, 1195, 1195, 1195, 1196,
2361 1196, 1196, 928, 1196, 919, 917, 1196, 1197, 1197, 1197,
2362 1198, 1198, 1198, 1195, 1199, 1199, 1199, 916, 1199, 910,
2363 909, 1199, 908, 907, 1197, 906, 905, 1198, 1200, 1200,
2364 1200, 1201, 1201, 1201, 1203, 1203, 1203, 1205, 1205, 1205,
2365 903, 1205, 902, 899, 1205, 898, 1200, 897, 895, 1201,
2366 894, 1203, 1209, 1209, 1209, 1211, 1211, 1211, 1212, 1212,
2367 1212, 892, 1212, 891, 889, 1212, 1213, 1213, 1213, 887,
2368 1209, 886, 1211, 1216, 1216, 1216, 1200, 1203, 1215, 1215,
2370 1215, 885, 883, 1213, 1218, 1218, 1218, 1219, 1219, 1219,
2371 1216, 1201, 1215, 1217, 1217, 1217, 1215, 1217, 882, 881,
2372 1217, 1218, 1220, 1220, 1220, 1219, 1224, 1224, 1224, 1226,
2373 1226, 1226, 880, 1226, 879, 870, 1226, 869, 1213, 864,
2374 1220, 1229, 1229, 1229, 1224, 1234, 1234, 1234, 1235, 1235,
2375 1235, 863, 1235, 861, 847, 1235, 1236, 1236, 1236, 1229,
2376 844, 1218, 1234, 1237, 1237, 1237, 839, 838, 1220, 833,
2377 1238, 1238, 1238, 1236, 1240, 1240, 1240, 1241, 1241, 1241,
2378 1237, 1242, 1242, 1242, 1245, 1245, 1245, 1224, 1238, 1229,
2379 1246, 1246, 1246, 1248, 1248, 1248, 1250, 1250, 1250, 1251,
2381 1251, 1251, 1252, 1252, 1252, 1253, 1253, 1253, 1254, 1254,
2382 1254, 828, 1236, 1256, 1256, 1256, 1258, 1258, 1258, 1261,
2383 1261, 1261, 1265, 1265, 1265, 827, 1237, 1266, 1266, 1266,
2384 1238, 1267, 1267, 1267, 1258, 1267, 826, 1261, 1267, 822,
2385 1265, 1278, 1278, 1278, 1266, 1279, 1279, 1279, 810, 1279,
2386 809, 808, 1279, 1282, 1282, 1282, 1283, 1283, 1283, 1278,
2387 1283, 807, 798, 1283, 1258, 1284, 1284, 1284, 797, 1284,
2388 1282, 792, 1284, 1287, 1287, 1287, 784, 1287, 783, 782,
2389 1287, 1290, 1290, 1290, 1297, 1297, 1297, 1278, 1297, 781,
2390 777, 1297, 772, 1300, 1300, 1300, 767, 1300, 766, 1290,
2392 1300, 1303, 1303, 1303, 1304, 1304, 1304, 765, 1304, 757,
2393 755, 1304, 1305, 1305, 1305, 749, 1305, 740, 1303, 1305,
2394 1308, 1308, 1308, 1309, 1309, 1309, 1311, 1311, 1311, 1312,
2395 1312, 1312, 1290, 1312, 735, 724, 1312, 723, 1308, 722,
2396 721, 1309, 719, 1311, 1318, 1318, 1318, 717, 1318, 716,
2397 715, 1318, 1321, 1321, 1321, 1323, 1323, 1323, 1324, 1324,
2398 1324, 714, 1324, 713, 712, 1324, 1327, 1327, 1327, 1321,
2399 1328, 1328, 1328, 1323, 1330, 1330, 1330, 1331, 1331, 1331,
2400 1308, 711, 709, 1327, 1334, 1334, 1334, 708, 1328, 1337,
2401 1337, 1337, 1330, 706, 1331, 1336, 1336, 1336, 1321, 1340,
2403 1340, 1340, 1334, 705, 1341, 1341, 1341, 1337, 1341, 704,
2404 1323, 1341, 703, 1336, 1344, 1344, 1344, 1345, 1345, 1345,
2405 702, 701, 1327, 1346, 1346, 1346, 1347, 1347, 1347, 700,
2406 695, 1344, 694, 693, 1345, 692, 1330, 1348, 1348, 1348,
2407 689, 1346, 1349, 1349, 1349, 1334, 1350, 1350, 1350, 688,
2408 687, 1336, 1351, 1351, 1351, 1352, 1352, 1352, 1353, 1353,
2409 1353, 1356, 1356, 1356, 1357, 1357, 1357, 1344, 1358, 1358,
2410 1358, 1360, 1360, 1360, 1362, 1362, 1362, 685, 1346, 1345,
2411 1365, 1365, 1365, 1367, 1367, 1367, 1369, 1369, 1369, 681,
2412 1369, 678, 1362, 1369, 1382, 1382, 1382, 1365, 1383, 1383,
2414 1383, 1367, 1383, 677, 674, 1383, 1386, 1386, 1386, 1395,
2415 1395, 1395, 1382, 1395, 673, 672, 1395, 1398, 1398, 1398,
2416 1399, 1399, 1399, 671, 1386, 1401, 1401, 1401, 663, 1402,
2417 1402, 1402, 661, 1402, 658, 1398, 1402, 657, 1399, 1416,
2418 1416, 1416, 1401, 1417, 1417, 1417, 1418, 1418, 1418, 654,
2419 651, 1382, 1423, 1423, 1423, 650, 1416, 1424, 1424, 1424,
2420 1425, 1425, 1425, 649, 1418, 1427, 1427, 1427, 1401, 1423,
2421 646, 639, 1426, 1426, 1426, 1424, 1426, 1425, 638, 1426,
2422 637, 636, 1427, 1429, 1429, 1429, 1430, 1430, 1430, 1431,
2423 1431, 1431, 1432, 1432, 1432, 1423, 1435, 1435, 1435, 627,
2425 622, 1429, 1436, 1436, 1436, 621, 620, 1431, 619, 1418,
2426 1432, 616, 613, 1424, 1437, 1437, 1437, 610, 609, 1436,
2427 1438, 1438, 1438, 1439, 1439, 1439, 1440, 1440, 1440, 608,
2428 603, 1437, 1441, 1441, 1441, 1446, 1446, 1446, 1438, 1449,
2429 1449, 1449, 1450, 1450, 1450, 602, 1450, 601, 600, 1450,
2430 1432, 1431, 597, 1446, 595, 591, 1449, 1462, 1462, 1462,
2431 587, 586, 1437, 1463, 1463, 1463, 1472, 1472, 1472, 1473,
2432 1473, 1473, 1475, 1475, 1475, 1462, 583, 580, 1476, 1476,
2433 1476, 1463, 1476, 1472, 579, 1476, 578, 1473, 577, 1475,
2434 1484, 1484, 1484, 1491, 1491, 1491, 1492, 1492, 1492, 576,
2436 1492, 575, 574, 1492, 1493, 1493, 1493, 1484, 573, 572,
2437 1491, 571, 570, 1462, 1494, 1494, 1494, 1501, 1501, 1501,
2438 1502, 1502, 1502, 1503, 1503, 1503, 569, 1503, 568, 567,
2439 1503, 566, 1494, 565, 1501, 1506, 1506, 1506, 1502, 1507,
2440 1507, 1507, 564, 1507, 563, 562, 1507, 561, 1508, 1508,
2441 1508, 560, 1506, 1509, 1509, 1509, 1511, 1511, 1511, 1512,
2442 1512, 1512, 559, 558, 1501, 1508, 557, 556, 1494, 555,
2443 552, 1509, 1516, 1516, 1516, 551, 550, 1512, 1501, 1517,
2444 1517, 1517, 548, 1517, 547, 546, 1517, 545, 544, 1516,
2445 1518, 1518, 1518, 1519, 1519, 1519, 1525, 1525, 1525, 1526,
2447 1526, 1526, 540, 1526, 538, 537, 1526, 1518, 1540, 1540,
2448 1540, 1519, 536, 1525, 1546, 1546, 1546, 1547, 1547, 1547,
2449 535, 1547, 532, 531, 1547, 530, 1540, 529, 1548, 1548,
2450 1548, 1546, 1548, 528, 527, 1548, 1556, 1556, 1556, 1557,
2451 1557, 1557, 524, 1557, 520, 519, 1557, 1564, 1564, 1564,
2452 518, 1564, 517, 1556, 1564, 1567, 1567, 1567, 1574, 1574,
2453 1574, 1575, 1575, 1575, 1540, 1576, 1576, 1576, 516, 513,
2454 1578, 1578, 1578, 1567, 1578, 1574, 512, 1578, 1575, 1581,
2455 1581, 1581, 511, 1576, 1582, 1582, 1582, 510, 1582, 509,
2456 508, 1582, 1583, 1583, 1583, 505, 1581, 1588, 1588, 1588,
2458 504, 1588, 503, 502, 1588, 1591, 1591, 1591, 500, 497,
2459 1583, 1592, 1592, 1592, 493, 1592, 492, 1567, 1592, 1574,
2460 491, 1575, 1591, 1593, 1593, 1593, 1595, 1595, 1595, 1597,
2461 1597, 1597, 1598, 1598, 1598, 490, 1598, 489, 488, 1598,
2462 1614, 1614, 1614, 1615, 1615, 1615, 1597, 1618, 1618, 1618,
2463 485, 1618, 482, 481, 1618, 1622, 1622, 1622, 1614, 477,
2464 1615, 1624, 1624, 1624, 476, 1624, 475, 474, 1624, 1637,
2465 1637, 1637, 1622, 1644, 1644, 1644, 1645, 1645, 1645, 1655,
2466 1655, 1655, 1651, 1651, 1651, 473, 1615, 1637, 1614, 471,
2467 1644, 468, 467, 1645, 1646, 1646, 1646, 464, 1646, 1651,
2469 1651, 1646, 1652, 1652, 1652, 463, 1652, 462, 461, 1652,
2470 1657, 1657, 1657, 1659, 1659, 1659, 457, 1659, 456, 455,
2471 1659, 1637, 1645, 1666, 1666, 1666, 1675, 1675, 1675, 1676,
2472 1676, 1676, 1677, 1677, 1677, 1644, 1677, 454, 450, 1677,
2473 1666, 1682, 1682, 1682, 1675, 449, 1676, 1683, 1683, 1683,
2474 448, 1683, 447, 446, 1683, 1695, 1695, 1695, 1682, 1702,
2475 1702, 1702, 1703, 1703, 1703, 1705, 1705, 1705, 1706, 1706,
2476 1706, 444, 1675, 1695, 441, 440, 1702, 438, 436, 1703,
2477 433, 432, 1705, 1705, 429, 1706, 1706, 427, 1707, 1707,
2478 1707, 424, 1707, 423, 421, 1707, 1708, 1708, 1708, 1709,
2480 1709, 1709, 1702, 420, 419, 1703, 1707, 1714, 1714, 1714,
2481 1715, 1715, 1715, 418, 1715, 417, 416, 1715, 1724, 1724,
2482 1724, 1725, 1725, 1725, 1714, 1725, 413, 412, 1725, 1732,
2483 1732, 1732, 411, 1733, 1733, 1733, 1724, 1733, 410, 409,
2484 1733, 1736, 1736, 1736, 408, 407, 1732, 1747, 1747, 1747,
2485 1755, 1755, 1755, 1756, 1756, 1756, 406, 1756, 1736, 405,
2486 1756, 1757, 1757, 1757, 402, 1747, 401, 1755, 1758, 1758,
2487 1758, 400, 1759, 1759, 1759, 399, 1759, 398, 1757, 1759,
2488 1724, 1760, 1760, 1760, 392, 1758, 1762, 1762, 1762, 1763,
2489 1763, 1763, 391, 1763, 389, 383, 1763, 379, 1760, 1767,
2491 1767, 1767, 376, 1762, 1762, 375, 371, 1763, 370, 1764,
2492 1764, 1764, 369, 1764, 368, 364, 1764, 1768, 1768, 1768,
2493 358, 1773, 1773, 1773, 354, 1773, 1757, 1764, 1773, 1788,
2494 1788, 1788, 351, 1788, 347, 346, 1788, 345, 1782, 1782,
2495 1782, 344, 1787, 1787, 1787, 340, 1760, 1765, 1765, 1765,
2496 1765, 1765, 1765, 1765, 1765, 1765, 1782, 337, 1765, 1787,
2497 1789, 1789, 1789, 1765, 1765, 1765, 1765, 1765, 1790, 1790,
2498 1790, 331, 1790, 330, 326, 1790, 323, 1789, 1805, 1805,
2499 1805, 318, 1805, 317, 316, 1805, 1808, 1808, 1808, 1765,
2500 1765, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766,
2502 312, 306, 1766, 1808, 1812, 1812, 1812, 1766, 1766, 1766,
2503 1766, 1766, 1809, 1809, 1809, 302, 1809, 296, 295, 1809,
2504 293, 1812, 1814, 1814, 1814, 292, 1814, 287, 281, 1814,
2505 1829, 1829, 1829, 1766, 1766, 1835, 1835, 1835, 1808, 1835,
2506 1814, 280, 1835, 1838, 1838, 1838, 276, 1838, 1829, 273,
2507 1838, 269, 1853, 1853, 1853, 268, 1812, 1817, 1817, 1817,
2508 1817, 1817, 1817, 1817, 1817, 1817, 267, 265, 1817, 1853,
2509 1854, 1854, 1854, 1817, 1817, 1817, 1817, 1817, 1861, 1861,
2510 1861, 1868, 1868, 1868, 1894, 1894, 1894, 1854, 1894, 261,
2511 258, 1894, 255, 1869, 1869, 1869, 1861, 1861, 1868, 1817,
2513 1817, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818,
2514 1869, 253, 1818, 249, 1853, 243, 242, 1818, 1818, 1818,
2515 1818, 1818, 1870, 1870, 1870, 1871, 1871, 1871, 1884, 1884,
2516 1884, 241, 1854, 1885, 1885, 1885, 1886, 1886, 1886, 1870,
2517 240, 236, 1871, 1818, 1818, 1884, 1890, 1890, 1890, 230,
2518 1885, 1893, 1893, 1893, 1886, 1895, 1895, 1895, 229, 1896,
2519 1896, 1896, 228, 1896, 1890, 1870, 1896, 224, 1893, 1897,
2520 1897, 1897, 1895, 1898, 1898, 1898, 221, 1898, 216, 1884,
2521 1898, 1900, 1900, 1900, 1885, 214, 1897, 213, 1901, 1901,
2522 1901, 209, 1901, 206, 1890, 1901, 204, 203, 1900, 1906,
2524 1906, 1906, 1907, 1907, 1907, 1908, 1908, 1908, 1912, 1912,
2525 1912, 202, 1912, 198, 192, 1912, 1906, 188, 184, 1907,
2526 1915, 1915, 1915, 1908, 1915, 178, 177, 1915, 1918, 1918,
2527 1918, 173, 1918, 169, 168, 1918, 1922, 1922, 1922, 167,
2528 1922, 1908, 1906, 1922, 161, 1907, 1929, 1929, 1929, 1930,
2529 1930, 1930, 1938, 1938, 1938, 1939, 1939, 1939, 1946, 1946,
2530 1946, 160, 158, 1929, 155, 143, 1930, 0, 0, 1938,
2531 0, 0, 1939, 0, 0, 1946, 1947, 1947, 1947, 1949,
2532 1949, 1949, 1954, 1954, 1954, 1955, 1955, 1955, 1957, 1957,
2533 1957, 0, 0, 1947, 0, 0, 1949, 0, 0, 1954,
2535 0, 0, 1955, 1929, 0, 1957, 1930, 0, 0, 1946,
2536 0, 1958, 1958, 1958, 1938, 1958, 0, 1939, 1958, 1963,
2537 1963, 1963, 1964, 1964, 1964, 0, 0, 1947, 0, 0,
2538 1954, 0, 0, 1955, 0, 0, 1963, 0, 0, 1964,
2539 1966, 1966, 1966, 0, 1966, 0, 0, 1966, 1971, 1971,
2540 1971, 1972, 1972, 1972, 1973, 1973, 1973, 1974, 1974, 1974,
2541 1975, 1975, 1975, 0, 0, 1971, 0, 0, 1972, 1976,
2542 1976, 1976, 1973, 1976, 1974, 0, 1976, 1975, 0, 1963,
2543 0, 0, 1964, 1977, 1977, 1977, 0, 1976, 1978, 1978,
2544 1978, 1971, 0, 0, 1972, 1981, 1981, 1981, 0, 0,
2546 1977, 0, 1982, 1982, 1982, 1978, 1985, 1985, 1985, 1986,
2547 1986, 1986, 1981, 1989, 1989, 1989, 0, 0, 1974, 1982,
2548 1975, 0, 0, 1985, 0, 0, 1986, 1990, 1990, 1990,
2549 1989, 1977, 1993, 1993, 1993, 0, 1978, 0, 1994, 1994,
2550 1994, 0, 1994, 0, 1990, 1994, 0, 0, 1982, 1993,
2551 0, 1981, 0, 1985, 1995, 1995, 1995, 1996, 1996, 1996,
2552 0, 1996, 0, 0, 1996, 1999, 1999, 1999, 0, 1999,
2553 0, 1995, 1999, 1986, 2002, 2002, 2002, 0, 2002, 0,
2554 0, 2002, 2019, 2019, 2019, 2020, 2020, 2020, 0, 0,
2555 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2557 2019, 0, 0, 2020, 2023, 2023, 2023, 2023, 2023, 2023,
2558 2023, 2023, 2023, 2024, 2024, 2024, 2024, 2024, 2024, 2024,
2559 2024, 2024, 2025, 2025, 2025, 2025, 2025, 2025, 2025, 2025,
2560 2025, 2026, 2026, 2026, 2026, 2026, 2026, 2026, 2026, 2026,
2561 2027, 2027, 2027, 2027, 2027, 2027, 2027, 2027, 2027, 2028,
2562 2028, 2028, 2028, 2028, 2028, 2028, 2028, 2028, 2029, 2029,
2563 2029, 2029, 2029, 2029, 2029, 2029, 2029, 2030, 2030, 2030,
2564 2030, 2030, 2030, 2030, 2030, 2030, 2031, 2031, 2031, 2031,
2565 2031, 2031, 2031, 2031, 2031, 2032, 2032, 2032, 2032, 2032,
2566 2032, 2032, 2032, 2032, 2033, 2033, 2033, 2033, 2033, 2033,
2568 2033, 2033, 2033, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
2569 2034, 2034, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035,
2570 2035, 2036, 2036, 2036, 2036, 2036, 2036, 2036, 2036, 2036,
2571 2037, 2037, 2037, 2037, 2037, 2037, 2037, 2037, 2037, 2038,
2572 2038, 2038, 2038, 2038, 2038, 2038, 2038, 2038, 2039, 2039,
2573 2039, 2039, 2039, 2039, 2039, 2039, 2039, 2040, 2040, 2040,
2574 2040, 2040, 2040, 2040, 2040, 2040, 2041, 2041, 2041, 2041,
2575 2041, 2041, 2041, 2041, 2041, 2042, 2042, 2042, 2042, 2042,
2576 2042, 2042, 2042, 2042, 2043, 2043, 2043, 2043, 2043, 2043,
2577 2043, 2043, 2043, 2044, 2044, 2044, 2044, 2044, 2044, 2044,
2579 2044, 2044, 2045, 2045, 2045, 2045, 2045, 2045, 2045, 2045,
2580 2045, 2046, 2046, 2046, 2046, 2046, 2046, 2046, 2046, 2046,
2581 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2048,
2582 2048, 2048, 2048, 2048, 2048, 2048, 2048, 2048, 2049, 2049,
2583 2049, 2049, 2049, 2049, 2049, 2049, 2049, 2050, 2050, 2050,
2584 2050, 2050, 2050, 2050, 2050, 2050, 2051, 2051, 2051, 2051,
2585 2051, 2051, 2051, 2051, 2051, 2052, 2052, 2052, 2052, 2052,
2586 2052, 2052, 2052, 2052, 2053, 2053, 2053, 2053, 2053, 2053,
2587 2053, 2053, 2053, 2054, 2054, 2054, 2054, 2054, 2054, 2054,
2588 2054, 2054, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055,
2590 2055, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056,
2591 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2058,
2592 2058, 2058, 2058, 2058, 2058, 2058, 2058, 2058, 2059, 2059,
2593 2059, 2059, 2059, 2059, 2059, 2059, 2059, 2060, 2060, 2060,
2594 2060, 2060, 2060, 2060, 2060, 2060, 2061, 2061, 2061, 2061,
2595 2061, 2061, 2061, 2061, 2061, 2062, 2062, 2062, 0, 0,
2596 0, 2062, 2063, 2063, 2063, 0, 0, 0, 2063, 2064,
2597 2064, 2064, 0, 0, 0, 2064, 2065, 2065, 2065, 0,
2598 0, 0, 2065, 2066, 2066, 2066, 0, 0, 0, 2066,
2599 2067, 2067, 2067, 0, 0, 0, 2067, 2068, 2068, 2068,
2601 0, 0, 0, 2068, 2069, 2069, 2069, 0, 0, 0,
2602 2069, 2070, 2070, 2070, 0, 0, 0, 2070, 2071, 2071,
2603 2071, 0, 0, 0, 2071, 2072, 2072, 2072, 0, 0,
2604 0, 2072, 2073, 2073, 2073, 0, 0, 0, 2073, 2074,
2605 2074, 2074, 0, 0, 0, 2074, 2075, 2075, 2075, 0,
2606 0, 0, 2075, 2076, 2076, 2076, 0, 0, 0, 2076,
2607 2077, 2077, 2077, 0, 0, 0, 2077, 2078, 2078, 2078,
2608 0, 0, 0, 2078, 2079, 2079, 2079, 2079, 2079, 2079,
2609 2079, 0, 2079, 2080, 0, 0, 0, 2080, 2081, 0,
2610 0, 0, 2081, 2082, 0, 0, 0, 2082, 2083, 0,
2612 0, 0, 2083, 2084, 0, 0, 0, 2084, 2085, 0,
2613 0, 0, 2085, 2086, 0, 0, 0, 2086, 2087, 0,
2614 0, 0, 2087, 2088, 0, 0, 0, 2088, 2089, 2089,
2615 2089, 0, 0, 0, 2089, 2090, 0, 0, 0, 2090,
2616 2091, 2091, 2091, 0, 0, 0, 2091, 2092, 0, 0,
2617 0, 2092, 2093, 2093, 2093, 0, 0, 0, 2093, 2094,
2618 0, 0, 0, 2094, 2095, 2095, 2095, 0, 0, 0,
2619 2095, 2096, 0, 0, 0, 2096, 2097, 2097, 2097, 0,
2620 0, 0, 2097, 2098, 0, 0, 0, 2098, 2099, 2099,
2621 2099, 0, 0, 0, 2099, 2100, 0, 0, 0, 2100,
2623 2101, 2101, 2101, 0, 0, 0, 2101, 2102, 0, 0,
2624 0, 2102, 2103, 2103, 2103, 0, 0, 0, 2103, 2104,
2625 0, 0, 0, 2104, 2105, 2105, 2105, 2105, 2105, 2105,
2626 2105, 2105, 2105, 2106, 0, 0, 0, 0, 2106, 2107,
2627 2107, 2107, 0, 0, 0, 2107, 2108, 2108, 2108, 2108,
2628 0, 0, 2108, 2108, 2109, 2109, 2109, 0, 0, 0,
2629 2109, 2110, 2110, 2110, 2110, 0, 0, 2110, 2110, 2111,
2630 2111, 2111, 0, 0, 0, 2111, 2112, 2112, 2112, 2112,
2631 0, 0, 2112, 2112, 2113, 2113, 2113, 0, 0, 0,
2632 2113, 2114, 2114, 2114, 2114, 0, 0, 2114, 2114, 2115,
2634 2115, 2115, 0, 0, 0, 2115, 2116, 2116, 2116, 2116,
2635 0, 0, 2116, 2116, 2117, 2117, 2117, 0, 0, 0,
2636 2117, 2118, 2118, 2118, 2118, 0, 0, 2118, 2118, 2119,
2637 2119, 2119, 0, 0, 0, 2119, 2120, 2120, 2120, 2120,
2638 0, 0, 2120, 2120, 2121, 2121, 2121, 0, 0, 0,
2639 2121, 2122, 2122, 2122, 2122, 0, 0, 2122, 2122, 2123,
2640 2123, 2123, 0, 0, 0, 2123, 2124, 2124, 2124, 2124,
2641 0, 0, 2124, 2124, 2125, 2125, 2125, 0, 0, 0,
2642 2125, 2126, 2126, 2126, 2126, 0, 0, 2126, 2126, 2127,
2643 2127, 2127, 2127, 0, 0, 2127, 2127, 2128, 2128, 2128,
2645 0, 0, 0, 2128, 2129, 2129, 2129, 2129, 0, 0,
2646 2129, 2129, 2130, 2130, 2130, 0, 0, 0, 2130, 2131,
2647 2131, 2131, 2131, 0, 0, 2131, 2131, 2132, 2132, 2132,
2648 0, 0, 0, 2132, 2133, 2133, 2133, 2133, 0, 0,
2649 2133, 2133, 2134, 2134, 2134, 2134, 0, 0, 2134, 2134,
2650 2135, 2135, 2135, 0, 0, 0, 2135, 2136, 2136, 2136,
2651 2136, 0, 0, 2136, 2136, 2137, 2137, 2137, 0, 0,
2652 0, 2137, 2138, 2138, 2138, 2138, 0, 0, 2138, 2138,
2653 2139, 2139, 2139, 2139, 2139, 2139, 2139, 2139, 2139, 2140,
2654 0, 2140, 0, 0, 2140, 2141, 2141, 2141, 0, 0,
2656 0, 2141, 2142, 2142, 2142, 2142, 0, 0, 2142, 2142,
2657 2143, 2143, 2143, 2143, 0, 2143, 0, 2143, 2144, 2144,
2658 2144, 2144, 0, 0, 2144, 2144, 2145, 2145, 2145, 2145,
2659 0, 2145, 0, 2145, 2146, 2146, 2146, 2146, 0, 0,
2660 2146, 2146, 2147, 2147, 2147, 0, 0, 0, 2147, 2148,
2661 2148, 2148, 2148, 0, 0, 2148, 2148, 2149, 2149, 2149,
2662 0, 0, 0, 2149, 2150, 2150, 2150, 2150, 0, 0,
2663 2150, 2150, 2151, 2151, 2151, 0, 0, 0, 2151, 2152,
2664 2152, 2152, 2152, 0, 0, 2152, 2152, 2153, 2153, 2153,
2665 0, 0, 0, 2153, 2154, 2154, 2154, 2154, 0, 0,
2667 2154, 2154, 2155, 2155, 2155, 0, 0, 0, 2155, 2156,
2668 2156, 2156, 2156, 0, 0, 2156, 2156, 2157, 2157, 2157,
2669 0, 0, 0, 2157, 2158, 2158, 2158, 2158, 0, 0,
2670 2158, 2158, 2159, 2159, 2159, 0, 0, 0, 2159, 2160,
2671 2160, 2160, 2160, 0, 0, 2160, 2160, 2161, 2161, 2161,
2672 2161, 0, 0, 2161, 2161, 2162, 2162, 2162, 0, 0,
2673 0, 2162, 2163, 2163, 2163, 2163, 0, 0, 2163, 2163,
2674 2164, 2164, 2164, 0, 0, 0, 2164, 2165, 2165, 2165,
2675 2165, 0, 0, 2165, 2165, 2166, 2166, 2166, 0, 0,
2676 0, 2166, 2167, 2167, 2167, 2167, 0, 0, 2167, 2167,
2678 2168, 2168, 2168, 2168, 0, 0, 2168, 2168, 2169, 2169,
2679 2169, 0, 0, 0, 2169, 2170, 2170, 2170, 2170, 0,
2680 0, 2170, 2170, 2171, 2171, 2171, 0, 0, 0, 2171,
2681 2172, 2172, 2172, 2172, 0, 0, 2172, 2172, 2173, 2173,
2682 2173, 2173, 2173, 2173, 2173, 2173, 2173, 2174, 2174, 2174,
2683 2174, 2174, 2174, 2174, 2174, 2174, 2175, 2175, 2175, 0,
2684 0, 0, 2175, 2176, 2176, 2176, 2176, 0, 0, 2176,
2685 2176, 2177, 2177, 2177, 2177, 0, 0, 2177, 2177, 2178,
2686 2178, 2178, 0, 0, 0, 2178, 2179, 2179, 2179, 2179,
2687 0, 0, 2179, 2179, 2180, 2180, 2180, 0, 0, 0,
2689 2180, 2181, 2181, 2181, 2181, 0, 0, 2181, 2181, 2182,
2690 2182, 2182, 0, 0, 0, 2182, 2183, 2183, 2183, 2183,
2691 0, 0, 2183, 2183, 2184, 2184, 2184, 0, 0, 0,
2692 2184, 2185, 2185, 2185, 2185, 0, 0, 2185, 2185, 2186,
2693 2186, 2186, 0, 0, 0, 2186, 2187, 2187, 2187, 2187,
2694 0, 0, 2187, 2187, 2188, 2188, 2188, 0, 0, 0,
2695 2188, 2189, 2189, 2189, 2189, 0, 0, 2189, 2189, 2190,
2696 2190, 2190, 2190, 0, 2190, 0, 2190, 2191, 2191, 2191,
2697 2191, 0, 0, 2191, 2191, 2192, 2192, 2192, 2192, 0,
2698 2192, 0, 2192, 2193, 2193, 2193, 2193, 0, 0, 2193,
2700 2193, 2194, 2194, 2194, 2194, 0, 0, 2194, 2194, 2195,
2701 2195, 2195, 0, 0, 0, 2195, 2196, 2196, 2196, 2196,
2702 0, 0, 2196, 2196, 2197, 2197, 2197, 0, 0, 0,
2703 2197, 2198, 2198, 2198, 2198, 0, 0, 2198, 2198, 2199,
2704 2199, 2199, 0, 0, 0, 2199, 2200, 2200, 2200, 2200,
2705 0, 0, 2200, 2200, 2201, 2201, 2201, 2201, 0, 0,
2706 2201, 2201, 2202, 2202, 2202, 0, 0, 0, 2202, 2203,
2707 2203, 2203, 2203, 0, 0, 2203, 2203, 2204, 2204, 2204,
2708 2204, 0, 2204, 0, 2204, 2205, 2205, 2205, 2205, 0,
2709 0, 2205, 2205, 2206, 2206, 2206, 2206, 2206, 2206, 2206,
2711 2206, 2206, 2207, 2207, 2207, 2207, 2207, 2207, 2207, 2207,
2712 2207, 2208, 2208, 2208, 0, 0, 0, 2208, 2209, 2209,
2713 2209, 2209, 0, 0, 2209, 2209, 2210, 2210, 2210, 2210,
2714 0, 0, 2210, 2210, 2211, 2211, 2211, 0, 0, 0,
2715 2211, 2212, 2212, 2212, 2212, 0, 0, 2212, 2212, 2213,
2716 2213, 2213, 0, 0, 0, 2213, 2214, 2214, 2214, 2214,
2717 0, 0, 2214, 2214, 2215, 2215, 2215, 0, 0, 0,
2718 2215, 2216, 2216, 2216, 2216, 0, 0, 2216, 2216, 2217,
2719 2217, 2217, 2217, 0, 2217, 0, 2217, 2218, 2218, 2218,
2720 2218, 0, 2218, 0, 2218, 2219, 2219, 2219, 2219, 0,
2722 0, 2219, 2219, 2220, 2220, 2220, 0, 0, 0, 2220,
2723 2221, 2221, 2221, 2221, 0, 0, 2221, 2221, 2222, 2222,
2724 2222, 2222, 0, 0, 2222, 2222, 2223, 2223, 2223, 2223,
2725 0, 2223, 0, 2223, 2224, 2224, 2224, 2224, 0, 0,
2726 2224, 2224, 2225, 2225, 2225, 2225, 0, 0, 2225, 2225,
2727 2226, 2226, 2226, 0, 0, 0, 2226, 2227, 2227, 2227,
2728 2227, 0, 0, 2227, 2227, 2228, 2228, 2228, 2228, 0,
2729 2228, 0, 2228, 2229, 2229, 2229, 2229, 0, 0, 2229,
2730 2229, 2230, 2230, 2230, 2230, 0, 2230, 0, 2230, 2231,
2731 2231, 2231, 2231, 0, 0, 2231, 2231, 2232, 2232, 2232,
2733 2232, 0, 0, 2232, 2232, 2233, 2233, 2233, 0, 0,
2734 0, 2233, 2234, 2234, 2234, 2234, 0, 0, 2234, 2234,
2735 2235, 2235, 2235, 2235, 0, 0, 2235, 2235, 2236, 2236,
2736 2236, 2236, 2236, 2236, 2236, 2236, 2236, 2237, 2237, 2237,
2737 2237, 2237, 2237, 2237, 2237, 2237, 2238, 2238, 2238, 2238,
2738 0, 2238, 0, 2238, 2239, 2239, 2239, 2239, 0, 0,
2739 2239, 2239, 2240, 2240, 2240, 2240, 0, 0, 2240, 2240,
2740 2241, 2241, 2241, 0, 0, 0, 2241, 2242, 2242, 2242,
2741 2242, 0, 0, 2242, 2242, 2243, 2243, 2243, 0, 0,
2742 0, 2243, 2244, 2244, 2244, 2244, 0, 0, 2244, 2244,
2744 2245, 2245, 2245, 2245, 0, 2245, 0, 2245, 2246, 2246,
2745 2246, 2246, 0, 0, 2246, 2246, 2247, 2247, 2247, 2247,
2746 0, 2247, 0, 2247, 2248, 2248, 2248, 2248, 0, 0,
2747 2248, 2248, 2249, 2249, 2249, 0, 0, 0, 2249, 2250,
2748 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2251, 2251,
2749 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2252, 2252, 2252,
2750 2252, 2252, 2252, 2252, 2252, 2252, 2253, 2253, 2253, 2253,
2751 2253, 2253, 2253, 2253, 2253, 2254, 2254, 2254, 2254, 2254,
2752 2254, 2254, 2254, 2254, 2255, 2255, 2255, 2255, 2255, 2255,
2753 2255, 2255, 2255, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
2755 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
2756 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
2757 2022, 2022, 2022, 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,
2764 /* Table of booleans, true if rule could match eol. */
2765 static yyconst flex_int32_t yy_rule_can_match_eol[352] = { 0,
2766 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1,
2767 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1,
2768 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1,
2769 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1,
2770 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1,
2771 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1,
2772 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2773 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1,
2774 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1,
2775 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1,
2776 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0,
2779 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2780 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1,
2781 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1,
2782 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
2783 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0,
2786 static yy_state_type yy_last_accepting_state;
2787 static char *yy_last_accepting_cpos;
2789 extern int surf_parse__flex_debug;
2790 int surf_parse__flex_debug = 0;
2792 /* The intent behind this definition is that it'll catch
2793 * any uses of REJECT which flex missed.
2795 #define REJECT reject_used_but_not_detected
2796 #define yymore() yymore_used_but_not_detected
2797 #define YY_MORE_ADJ 0
2798 #define YY_RESTORE_YY_MORE_OFFSET
2799 char *surf_parse_text;
2800 /* Validating XML processor for surf/simgrid.dtd.
2801 * Generated 2008/02/03 11:50:45.
2803 * This program was generated with the FleXML XML processor generator.
2804 * FleXML is Copyright (C) 1999-2005 Kristoffer Rose. All rights reserved.
2805 * FleXML is Copyright (C) 2003-2006 Martin Quinson. All rights reserved.
2806 * (Id: flexml.pl,v 1.63 2007/10/11 14:46:08 mquinson Exp).
2808 * There are two, intertwined parts to this program, part A and part B.
2813 * Some parts, here collectively called "Part A", are found in the
2814 * FleXML package. They are Copyright (C) 1999-2005 Kristoffer Rose
2815 * and Copyright (C) 2003-2006 Martin Quinson. All rights reserved.
2817 * You can redistribute, use, perform, display and/or modify "Part A"
2818 * provided the following two conditions hold:
2820 * 1. The program is distributed WITHOUT ANY WARRANTY from the author of
2821 * FleXML; without even the implied warranty of MERCHANTABILITY or
2822 * FITNESS FOR A PARTICULAR PURPOSE.
2824 * 2. The program distribution conditions do not in any way affect the
2825 * distribution conditions of the FleXML system used to generate this
2826 * file or any version of FleXML derived from that system.
2828 * Notice that these are explicit rights granted to you for files
2829 * generated by the FleXML system. For your rights in connection with
2830 * the FleXML system itself please consult the GNU General Public License.
2835 * The other parts, here collectively called "Part B", and which came
2836 * from the DTD used by FleXML to generate this program, can be
2837 * distributed (or not, as the case may be) under the terms of whoever
2838 * wrote them, provided these terms respect and obey the two conditions
2839 * above under the heading "Part A".
2841 * The author of and contributors to FleXML specifically disclaim
2842 * any copyright interest in "Part B", unless "Part B" was written
2843 * by the author of or contributors to FleXML.
2847 /* Version strings. */
2848 const char rcs_surfxml_flexml_skeleton[] =
2849 "$" "Id: skel,v 1.40 2007/10/11 09:57:24 mquinson Exp $";
2850 const char rcs_surfxml_flexml[] =
2851 "$" "Id: flexml.pl,v 1.63 2007/10/11 14:46:08 mquinson Exp $";
2854 #include <stdlib.h> /* for realloc() -- needed here when using flex 2.5.4 */
2861 #if defined(_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__TOS_WIN__)
2862 # ifndef __STRICT_ANSI__
2864 # include <process.h>
2867 # include <unistd.h>
2870 #ifndef FLEXML_INDEXSTACKSIZE
2871 #define FLEXML_INDEXSTACKSIZE 1000
2874 /* Generated definitions. */
2875 #define FLEXML_yylineno
2876 #ifndef FLEXML_BUFFERSTACKSIZE
2877 #define FLEXML_BUFFERSTACKSIZE 1000000
2879 #define FLEXML_NEED_BUFFERLIT
2881 /* XML processor api. */
2882 /* FleXML-provided data. */
2883 int surfxml_pcdata_ix;
2884 extern char *surfxml_bufferstack;
2885 #define surfxml_pcdata (surfxml_bufferstack + surfxml_pcdata_ix)
2886 AT_surfxml_random_generator AX_surfxml_random_generator;
2887 #define A_surfxml_random_generator AX_surfxml_random_generator
2888 AT_surfxml_prop_id AX_surfxml_prop_id;
2889 #define A_surfxml_prop_id (surfxml_bufferstack + AX_surfxml_prop_id)
2890 AT_surfxml_host_interference_recv AX_surfxml_host_interference_recv;
2891 #define A_surfxml_host_interference_recv (surfxml_bufferstack + AX_surfxml_host_interference_recv)
2892 AT_surfxml_host_id AX_surfxml_host_id;
2893 #define A_surfxml_host_id (surfxml_bufferstack + AX_surfxml_host_id)
2894 AT_surfxml_set_id AX_surfxml_set_id;
2895 #define A_surfxml_set_id (surfxml_bufferstack + AX_surfxml_set_id)
2896 AT_surfxml_link_latency_file AX_surfxml_link_latency_file;
2897 #define A_surfxml_link_latency_file (surfxml_bufferstack + AX_surfxml_link_latency_file)
2898 AT_surfxml_host_state AX_surfxml_host_state;
2899 #define A_surfxml_host_state AX_surfxml_host_state
2900 AT_surfxml_host_interference_send_recv AX_surfxml_host_interference_send_recv;
2901 #define A_surfxml_host_interference_send_recv (surfxml_bufferstack + AX_surfxml_host_interference_send_recv)
2902 AT_surfxml_host_interference_send AX_surfxml_host_interference_send;
2903 #define A_surfxml_host_interference_send (surfxml_bufferstack + AX_surfxml_host_interference_send)
2904 AT_surfxml_set_suffix AX_surfxml_set_suffix;
2905 #define A_surfxml_set_suffix (surfxml_bufferstack + AX_surfxml_set_suffix)
2906 AT_surfxml_route_impact_on_dst AX_surfxml_route_impact_on_dst;
2907 #define A_surfxml_route_impact_on_dst (surfxml_bufferstack + AX_surfxml_route_impact_on_dst)
2908 AT_surfxml_host_power AX_surfxml_host_power;
2909 #define A_surfxml_host_power (surfxml_bufferstack + AX_surfxml_host_power)
2910 AT_surfxml_router_id AX_surfxml_router_id;
2911 #define A_surfxml_router_id (surfxml_bufferstack + AX_surfxml_router_id)
2912 AT_surfxml_process_start_time AX_surfxml_process_start_time;
2913 #define A_surfxml_process_start_time (surfxml_bufferstack + AX_surfxml_process_start_time)
2914 AT_surfxml_cluster_suffix AX_surfxml_cluster_suffix;
2915 #define A_surfxml_cluster_suffix (surfxml_bufferstack + AX_surfxml_cluster_suffix)
2916 AT_surfxml_platform_xmlns_c_route AX_surfxml_platform_xmlns_c_route;
2917 #define A_surfxml_platform_xmlns_c_route (surfxml_bufferstack + AX_surfxml_platform_xmlns_c_route)
2918 AT_surfxml_cluster_prefix AX_surfxml_cluster_prefix;
2919 #define A_surfxml_cluster_prefix (surfxml_bufferstack + AX_surfxml_cluster_prefix)
2920 AT_surfxml_trace_file AX_surfxml_trace_file;
2921 #define A_surfxml_trace_file (surfxml_bufferstack + AX_surfxml_trace_file)
2922 AT_surfxml_route_action AX_surfxml_route_action;
2923 #define A_surfxml_route_action AX_surfxml_route_action
2924 AT_surfxml_link_sharing_policy AX_surfxml_link_sharing_policy;
2925 #define A_surfxml_link_sharing_policy AX_surfxml_link_sharing_policy
2926 AT_surfxml_random_min AX_surfxml_random_min;
2927 #define A_surfxml_random_min (surfxml_bufferstack + AX_surfxml_random_min)
2928 AT_surfxml_process_kill_time AX_surfxml_process_kill_time;
2929 #define A_surfxml_process_kill_time (surfxml_bufferstack + AX_surfxml_process_kill_time)
2930 AT_surfxml_cluster_bb_bw AX_surfxml_cluster_bb_bw;
2931 #define A_surfxml_cluster_bb_bw (surfxml_bufferstack + AX_surfxml_cluster_bb_bw)
2932 AT_surfxml_trace_c_connect_element AX_surfxml_trace_c_connect_element;
2933 #define A_surfxml_trace_c_connect_element (surfxml_bufferstack + AX_surfxml_trace_c_connect_element)
2934 AT_surfxml_argument_value AX_surfxml_argument_value;
2935 #define A_surfxml_argument_value (surfxml_bufferstack + AX_surfxml_argument_value)
2936 AT_surfxml_link_state AX_surfxml_link_state;
2937 #define A_surfxml_link_state AX_surfxml_link_state
2938 AT_surfxml_route_impact_on_src AX_surfxml_route_impact_on_src;
2939 #define A_surfxml_route_impact_on_src (surfxml_bufferstack + AX_surfxml_route_impact_on_src)
2940 AT_surfxml_link_bandwidth AX_surfxml_link_bandwidth;
2941 #define A_surfxml_link_bandwidth (surfxml_bufferstack + AX_surfxml_link_bandwidth)
2942 AT_surfxml_cluster_id AX_surfxml_cluster_id;
2943 #define A_surfxml_cluster_id (surfxml_bufferstack + AX_surfxml_cluster_id)
2944 AT_surfxml_random_mean AX_surfxml_random_mean;
2945 #define A_surfxml_random_mean (surfxml_bufferstack + AX_surfxml_random_mean)
2946 AT_surfxml_cluster_bb_lat AX_surfxml_cluster_bb_lat;
2947 #define A_surfxml_cluster_bb_lat (surfxml_bufferstack + AX_surfxml_cluster_bb_lat)
2948 AT_surfxml_link_latency AX_surfxml_link_latency;
2949 #define A_surfxml_link_latency (surfxml_bufferstack + AX_surfxml_link_latency)
2950 AT_surfxml_platform_xmlns_c_link AX_surfxml_platform_xmlns_c_link;
2951 #define A_surfxml_platform_xmlns_c_link (surfxml_bufferstack + AX_surfxml_platform_xmlns_c_link)
2952 AT_surfxml_link_bandwidth_file AX_surfxml_link_bandwidth_file;
2953 #define A_surfxml_link_bandwidth_file (surfxml_bufferstack + AX_surfxml_link_bandwidth_file)
2954 AT_surfxml_random_id AX_surfxml_random_id;
2955 #define A_surfxml_random_id (surfxml_bufferstack + AX_surfxml_random_id)
2956 AT_surfxml_set_radical AX_surfxml_set_radical;
2957 #define A_surfxml_set_radical (surfxml_bufferstack + AX_surfxml_set_radical)
2958 AT_surfxml_random_max AX_surfxml_random_max;
2959 #define A_surfxml_random_max (surfxml_bufferstack + AX_surfxml_random_max)
2960 AT_surfxml_link_id AX_surfxml_link_id;
2961 #define A_surfxml_link_id (surfxml_bufferstack + AX_surfxml_link_id)
2962 AT_surfxml_process_host AX_surfxml_process_host;
2963 #define A_surfxml_process_host (surfxml_bufferstack + AX_surfxml_process_host)
2964 AT_surfxml_host_availability_file AX_surfxml_host_availability_file;
2965 #define A_surfxml_host_availability_file (surfxml_bufferstack + AX_surfxml_host_availability_file)
2966 AT_surfxml_cluster_lat AX_surfxml_cluster_lat;
2967 #define A_surfxml_cluster_lat (surfxml_bufferstack + AX_surfxml_cluster_lat)
2968 AT_surfxml_trace_periodicity AX_surfxml_trace_periodicity;
2969 #define A_surfxml_trace_periodicity (surfxml_bufferstack + AX_surfxml_trace_periodicity)
2970 AT_surfxml_foreach_set_id AX_surfxml_foreach_set_id;
2971 #define A_surfxml_foreach_set_id (surfxml_bufferstack + AX_surfxml_foreach_set_id)
2972 AT_surfxml_route_impact_on_dst_with_other_send
2973 AX_surfxml_route_impact_on_dst_with_other_send;
2974 #define A_surfxml_route_impact_on_dst_with_other_send (surfxml_bufferstack + AX_surfxml_route_impact_on_dst_with_other_send)
2975 AT_surfxml_prop_value AX_surfxml_prop_value;
2976 #define A_surfxml_prop_value (surfxml_bufferstack + AX_surfxml_prop_value)
2977 AT_surfxml_route_impact_on_src_with_other_recv
2978 AX_surfxml_route_impact_on_src_with_other_recv;
2979 #define A_surfxml_route_impact_on_src_with_other_recv (surfxml_bufferstack + AX_surfxml_route_impact_on_src_with_other_recv)
2980 AT_surfxml_link_state_file AX_surfxml_link_state_file;
2981 #define A_surfxml_link_state_file (surfxml_bufferstack + AX_surfxml_link_state_file)
2982 AT_surfxml_set_prefix AX_surfxml_set_prefix;
2983 #define A_surfxml_set_prefix (surfxml_bufferstack + AX_surfxml_set_prefix)
2984 AT_surfxml_cluster_power AX_surfxml_cluster_power;
2985 #define A_surfxml_cluster_power (surfxml_bufferstack + AX_surfxml_cluster_power)
2986 AT_surfxml_process_function AX_surfxml_process_function;
2987 #define A_surfxml_process_function (surfxml_bufferstack + AX_surfxml_process_function)
2988 AT_surfxml_host_max_outgoing_rate AX_surfxml_host_max_outgoing_rate;
2989 #define A_surfxml_host_max_outgoing_rate (surfxml_bufferstack + AX_surfxml_host_max_outgoing_rate)
2990 AT_surfxml_link_c_ctn_id AX_surfxml_link_c_ctn_id;
2991 #define A_surfxml_link_c_ctn_id (surfxml_bufferstack + AX_surfxml_link_c_ctn_id)
2992 AT_surfxml_host_availability AX_surfxml_host_availability;
2993 #define A_surfxml_host_availability (surfxml_bufferstack + AX_surfxml_host_availability)
2994 AT_surfxml_route_src AX_surfxml_route_src;
2995 #define A_surfxml_route_src (surfxml_bufferstack + AX_surfxml_route_src)
2996 AT_surfxml_route_c_multi_src AX_surfxml_route_c_multi_src;
2997 #define A_surfxml_route_c_multi_src (surfxml_bufferstack + AX_surfxml_route_c_multi_src)
2998 AT_surfxml_route_c_multi_action AX_surfxml_route_c_multi_action;
2999 #define A_surfxml_route_c_multi_action AX_surfxml_route_c_multi_action
3000 AT_surfxml_trace_c_connect_trace AX_surfxml_trace_c_connect_trace;
3001 #define A_surfxml_trace_c_connect_trace (surfxml_bufferstack + AX_surfxml_trace_c_connect_trace)
3002 AT_surfxml_trace_id AX_surfxml_trace_id;
3003 #define A_surfxml_trace_id (surfxml_bufferstack + AX_surfxml_trace_id)
3004 AT_surfxml_cluster_radical AX_surfxml_cluster_radical;
3005 #define A_surfxml_cluster_radical (surfxml_bufferstack + AX_surfxml_cluster_radical)
3006 AT_surfxml_include_file AX_surfxml_include_file;
3007 #define A_surfxml_include_file (surfxml_bufferstack + AX_surfxml_include_file)
3008 AT_surfxml_random_std_deviation AX_surfxml_random_std_deviation;
3009 #define A_surfxml_random_std_deviation (surfxml_bufferstack + AX_surfxml_random_std_deviation)
3010 AT_surfxml_trace_c_connect_kind AX_surfxml_trace_c_connect_kind;
3011 #define A_surfxml_trace_c_connect_kind AX_surfxml_trace_c_connect_kind
3012 AT_surfxml_route_c_multi_dst AX_surfxml_route_c_multi_dst;
3013 #define A_surfxml_route_c_multi_dst (surfxml_bufferstack + AX_surfxml_route_c_multi_dst)
3014 AT_surfxml_host_state_file AX_surfxml_host_state_file;
3015 #define A_surfxml_host_state_file (surfxml_bufferstack + AX_surfxml_host_state_file)
3016 AT_surfxml_route_c_multi_symmetric AX_surfxml_route_c_multi_symmetric;
3017 #define A_surfxml_route_c_multi_symmetric AX_surfxml_route_c_multi_symmetric
3018 AT_surfxml_route_dst AX_surfxml_route_dst;
3019 #define A_surfxml_route_dst (surfxml_bufferstack + AX_surfxml_route_dst)
3020 AT_surfxml_cluster_bw AX_surfxml_cluster_bw;
3021 #define A_surfxml_cluster_bw (surfxml_bufferstack + AX_surfxml_cluster_bw)
3022 AT_surfxml_platform_version AX_surfxml_platform_version;
3023 #define A_surfxml_platform_version (surfxml_bufferstack + AX_surfxml_platform_version)
3027 # define ENTER(state) debug_enter(state,#state)
3028 # define LEAVE debug_leave()
3029 # define SET(state) debug_set(state,#state)
3030 static void debug_enter(int, const char *);
3031 static void debug_leave(void);
3032 static void debug_set(int, const char *);
3034 # define ENTER(state) (yy_push_state(state))
3035 # define LEAVE (yy_pop_state())
3036 # define SET(state) BEGIN(state)
3039 /* Generic actions. */
3040 #define SKIP /*skip */
3041 #define SUCCEED CLEANUP; return 0
3043 #define FAIL return fail
3044 static int fail(const char *, ...);
3046 enum { flexml_max_err_msg_size = 512 };
3047 static char flexml_err_msg[flexml_max_err_msg_size];
3048 const char *surfxml_parse_err_msg()
3050 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);
3112 if (isspace(*s) && c) {
3123 static void pushbuffer(int p)
3126 indexstack[inext++] = p;
3127 indexstack[inext++] = bnext;
3130 static int popbuffer(void)
3133 bnext = indexstack[--inext];
3134 return indexstack[--inext];
3137 /* General internal entities are `unput' back onto the input stream... */
3138 #define ENTITYTEXT(T) \
3139 { char *s = (T), *e = s+strlen(s);\
3140 while (--e >= s) { unput(*e); }}
3142 /* Flex standard options. */
3143 #define YY_NO_INPUT 1
3144 /* Flex user-requested options. */
3145 /* XML character classes (currently restricted to ASCII). */
3146 /* "Common syntactic structures." */
3147 /* "Names and Tokens." */
3148 /* Miscellaneous. */
3149 /* Parser states (flex `exclusive start conditions'):
3151 * PROLOG the XML prolog of the document before <?xml...>
3152 * DOCTYPE the XML prolog of the document after <?xml...>
3153 * EPILOG after the root element
3154 * INCOMMENT inside an XML comment <!--....-->
3155 * INPI inside an XML PI <?...?>
3156 * VALUE1 inside a '...'-delimited literal
3157 * VALUE2 inside a "..."-delimited literal
3158 * CDATA inside a <![CDATA[...] ]> section.
3159 * ROOT_<tag> expect root element <tag>
3160 * AL_<tag> inside the attribute list for <tag>
3161 * IN_<tag> inside a <tag> with element contents (ready for end tag)
3162 * IMPOSSIBLE dummy to permit disabling rules; must be last
3166 const char **surfxml_statenames = NULL;
3177 #define ROOT_surfxml_platform 9
3178 #define AL_surfxml_platform 10
3179 #define S_surfxml_platform 11
3180 #define S_surfxml_platform_1 12
3181 #define S_surfxml_platform_2 13
3182 #define S_surfxml_platform_3 14
3183 #define S_surfxml_platform_4 15
3184 #define S_surfxml_platform_5 16
3185 #define E_surfxml_platform 17
3186 #define AL_surfxml_include 18
3187 #define E_surfxml_include 19
3188 #define AL_surfxml_trace 20
3190 #define AL_surfxml_random 22
3191 #define S_surfxml_random 23
3192 #define S_surfxml_random_1 24
3193 #define S_surfxml_random_2 25
3194 #define E_surfxml_random 26
3195 #define AL_surfxml_trace_c_connect 27
3196 #define E_surfxml_trace_c_connect 28
3197 #define AL_surfxml_set 29
3198 #define E_surfxml_set 30
3199 #define AL_surfxml_foreach 31
3200 #define S_surfxml_foreach 32
3201 #define S_surfxml_foreach_1 33
3202 #define E_surfxml_foreach 34
3203 #define AL_surfxml_host 35
3204 #define S_surfxml_host 36
3205 #define S_surfxml_host_1 37
3206 #define S_surfxml_host_2 38
3207 #define E_surfxml_host 39
3208 #define AL_surfxml_prop 40
3209 #define E_surfxml_prop 41
3210 #define AL_surfxml_cluster 42
3211 #define E_surfxml_cluster 43
3212 #define AL_surfxml_router 44
3213 #define E_surfxml_router 45
3214 #define AL_surfxml_link 46
3215 #define S_surfxml_link 47
3216 #define S_surfxml_link_1 48
3217 #define S_surfxml_link_2 49
3218 #define E_surfxml_link 50
3219 #define AL_surfxml_route_c_multi 51
3220 #define S_surfxml_route_c_multi 52
3221 #define S_surfxml_route_c_multi_1 53
3222 #define S_surfxml_route_c_multi_2 54
3223 #define E_surfxml_route_c_multi 55
3224 #define AL_surfxml_route 56
3225 #define S_surfxml_route 57
3226 #define S_surfxml_route_1 58
3227 #define S_surfxml_route_2 59
3228 #define E_surfxml_route 60
3229 #define AL_surfxml_link_c_ctn 61
3230 #define E_surfxml_link_c_ctn 62
3231 #define AL_surfxml_process 63
3232 #define S_surfxml_process 64
3233 #define S_surfxml_process_1 65
3234 #define S_surfxml_process_2 66
3235 #define E_surfxml_process 67
3236 #define AL_surfxml_argument 68
3237 #define E_surfxml_argument 69
3238 #define IMPOSSIBLE 70
3240 #ifndef YY_NO_UNISTD_H
3241 /* Special case for "unistd.h", since it is non-ANSI. We include it way
3242 * down here because we want the user's section 1 to have been scanned first.
3243 * The user has a chance to override it with an option.
3245 #if defined(_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__TOS_WIN__)
3246 # ifndef __STRICT_ANSI__
3248 # include <process.h>
3251 # include <unistd.h>
3255 #ifndef YY_EXTRA_TYPE
3256 #define YY_EXTRA_TYPE void *
3259 static int yy_init_globals(void);
3261 /* Accessor methods to globals.
3262 These are made visible to non-reentrant scanners for convenience. */
3264 int surf_parse_lex_destroy(void);
3266 int surf_parse_get_debug(void);
3268 void surf_parse_set_debug(int debug_flag);
3270 YY_EXTRA_TYPE surf_parse_get_extra(void);
3272 void surf_parse_set_extra(YY_EXTRA_TYPE user_defined);
3274 FILE *surf_parse_get_in(void);
3276 void surf_parse_set_in(FILE * in_str);
3278 FILE *surf_parse_get_out(void);
3280 void surf_parse_set_out(FILE * out_str);
3282 int surf_parse_get_leng(void);
3284 char *surf_parse_get_text(void);
3286 int surf_parse_get_lineno(void);
3288 void surf_parse_set_lineno(int line_number);
3290 /* Macros after this point can all be overridden by user definitions in
3294 #ifndef YY_SKIP_YYWRAP
3296 extern "C" int surf_parse_wrap(void);
3298 extern int surf_parse_wrap(void);
3303 static void yy_flex_strncpy(char *, yyconst char *, int);
3306 #ifdef YY_NEED_STRLEN
3307 static int yy_flex_strlen(yyconst char *);
3313 static int yyinput(void);
3315 static int input(void);
3320 static int yy_start_stack_ptr = 0;
3321 static int yy_start_stack_depth = 0;
3322 static int *yy_start_stack = NULL;
3324 static void yy_push_state(int new_state);
3326 static void yy_pop_state(void);
3328 /* Amount of stuff to slurp up with each read. */
3329 #ifndef YY_READ_BUF_SIZE
3331 /* On IA-64, the buffer size is 16k, not 8k */
3332 #define YY_READ_BUF_SIZE 16384
3334 #define YY_READ_BUF_SIZE 8192
3335 #endif /* __ia64__ */
3338 /* Copy whatever the last rule matched to the standard output. */
3340 /* This used to be an fputs(), but since the string might contain NUL's,
3341 * we now use fwrite().
3343 #define ECHO do { if (fwrite( surf_parse_text, surf_parse_leng, 1, surf_parse_out )) {} } while (0)
3346 /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
3347 * is returned in "result".
3350 #define YY_INPUT(buf,result,max_size) \
3351 if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
3355 for ( n = 0; n < max_size && \
3356 (c = getc( surf_parse_in )) != EOF && c != '\n'; ++n ) \
3357 buf[n] = (char) c; \
3359 buf[n++] = (char) c; \
3360 if ( c == EOF && ferror( surf_parse_in ) ) \
3361 YY_FATAL_ERROR( "input in flex scanner failed" ); \
3367 while ( (result = fread(buf, 1, max_size, surf_parse_in))==0 && ferror(surf_parse_in)) \
3369 if( errno != EINTR) \
3371 YY_FATAL_ERROR( "input in flex scanner failed" ); \
3375 clearerr(surf_parse_in); \
3382 /* No semi-colon after return; correct usage is to write "yyterminate();" -
3383 * we don't want an extra ';' after the "return" because that will cause
3384 * some compilers to complain about unreachable statements.
3387 #define yyterminate() return YY_NULL
3390 /* Number of entries by which start-condition stack grows. */
3391 #ifndef YY_START_STACK_INCR
3392 #define YY_START_STACK_INCR 25
3395 /* Report a fatal error. */
3396 #ifndef YY_FATAL_ERROR
3397 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
3400 /* end tables serialization structures and prototypes */
3402 /* Default declaration of generated scanner - a define so the user can
3403 * easily add parameters.
3406 #define YY_DECL_IS_OURS 1
3408 extern int surf_parse_lex(void);
3410 #define YY_DECL int surf_parse_lex (void)
3411 #endif /* !YY_DECL */
3413 /* Code executed at the beginning of each rule, after surf_parse_text and surf_parse_leng
3416 #ifndef YY_USER_ACTION
3417 #define YY_USER_ACTION
3420 /* Code executed at the end of each rule. */
3422 #define YY_BREAK break;
3425 #define YY_RULE_SETUP \
3428 /** The main scanner function which does all the work.
3431 register yy_state_type yy_current_state;
3432 register char *yy_cp, *yy_bp;
3433 register int yy_act;
3435 /* Bypass Flex's default INITIAL state and begin by parsing the XML prolog. */
3437 reset_surfxml_parse_err_msg();
3438 surfxml_bufferstack = (char *) malloc(FLEXML_BUFFERSTACKSIZE);
3439 assert(surfxml_bufferstack);
3443 for (i = 0; i < blimit; i++) {
3444 surfxml_bufferstack[i] = '\377';
3448 surfxml_bufferstack[0] = '\0';
3449 indexstack = (int *) malloc(FLEXML_INDEXSTACKSIZE * sizeof(int));
3455 surfxml_bufferliteral('\0', &bnext, "0.0");
3456 surfxml_bufferliteral('\0', &bnext, "http://simgrid.gforge.inria.fr/");
3457 surfxml_bufferliteral('\0', &bnext, "http://simgrid.gforge.inria.fr/");
3458 surfxml_bufferliteral('\0', &bnext, "1.0");
3459 surfxml_bufferliteral('\0', &bnext, "1.0");
3460 surfxml_bufferliteral('\0', &bnext, "1.0");
3461 surfxml_bufferliteral('\0', &bnext, "1.0");
3462 surfxml_bufferliteral('\0', &bnext, "-1.0");
3463 surfxml_bufferliteral('\0', &bnext, "0.0");
3464 surfxml_bufferliteral('\0', &bnext, "0.0");
3465 surfxml_bufferliteral('\0', &bnext, "0.0");
3466 surfxml_bufferliteral('\0', &bnext, "0.0");
3467 surfxml_bufferliteral('\0', &bnext, "0.0");
3468 surfxml_bufferliteral('\0', &bnext, "-1.0");
3469 surfxml_bufferliteral('\0', &bnext, "-1.0");
3470 if (!surfxml_statenames) {
3471 surfxml_statenames = (const char **) calloc(IMPOSSIBLE, sizeof(char *));
3472 surfxml_statenames[PROLOG] = NULL;
3473 surfxml_statenames[DOCTYPE] = NULL;
3474 surfxml_statenames[EPILOG] = NULL;
3475 surfxml_statenames[INCOMMENT] = NULL;
3476 surfxml_statenames[INPI] = NULL;
3477 surfxml_statenames[VALUE1] = NULL;
3478 surfxml_statenames[VALUE2] = NULL;
3479 surfxml_statenames[CDATA] = NULL;
3480 surfxml_statenames[ROOT_surfxml_platform] = NULL;
3481 surfxml_statenames[AL_surfxml_platform] = NULL;
3482 surfxml_statenames[S_surfxml_platform] = "platform";
3483 surfxml_statenames[S_surfxml_platform_1] = "platform";
3484 surfxml_statenames[S_surfxml_platform_2] = "platform";
3485 surfxml_statenames[S_surfxml_platform_3] = "platform";
3486 surfxml_statenames[S_surfxml_platform_4] = "platform";
3487 surfxml_statenames[S_surfxml_platform_5] = "platform";
3488 surfxml_statenames[E_surfxml_platform] = "platform";
3489 surfxml_statenames[AL_surfxml_include] = NULL;
3490 surfxml_statenames[E_surfxml_include] = "include";
3491 surfxml_statenames[AL_surfxml_trace] = NULL;
3492 surfxml_statenames[IN_trace] = "trace";
3493 surfxml_statenames[AL_surfxml_random] = NULL;
3494 surfxml_statenames[S_surfxml_random] = "random";
3495 surfxml_statenames[S_surfxml_random_1] = "random";
3496 surfxml_statenames[S_surfxml_random_2] = "random";
3497 surfxml_statenames[E_surfxml_random] = "random";
3498 surfxml_statenames[AL_surfxml_trace_c_connect] = NULL;
3499 surfxml_statenames[E_surfxml_trace_c_connect] = "trace:connect";
3500 surfxml_statenames[AL_surfxml_set] = NULL;
3501 surfxml_statenames[E_surfxml_set] = "set";
3502 surfxml_statenames[AL_surfxml_foreach] = NULL;
3503 surfxml_statenames[S_surfxml_foreach] = "foreach";
3504 surfxml_statenames[S_surfxml_foreach_1] = "foreach";
3505 surfxml_statenames[E_surfxml_foreach] = "foreach";
3506 surfxml_statenames[AL_surfxml_host] = NULL;
3507 surfxml_statenames[S_surfxml_host] = "host";
3508 surfxml_statenames[S_surfxml_host_1] = "host";
3509 surfxml_statenames[S_surfxml_host_2] = "host";
3510 surfxml_statenames[E_surfxml_host] = "host";
3511 surfxml_statenames[AL_surfxml_prop] = NULL;
3512 surfxml_statenames[E_surfxml_prop] = "prop";
3513 surfxml_statenames[AL_surfxml_cluster] = NULL;
3514 surfxml_statenames[E_surfxml_cluster] = "cluster";
3515 surfxml_statenames[AL_surfxml_router] = NULL;
3516 surfxml_statenames[E_surfxml_router] = "router";
3517 surfxml_statenames[AL_surfxml_link] = NULL;
3518 surfxml_statenames[S_surfxml_link] = "link";
3519 surfxml_statenames[S_surfxml_link_1] = "link";
3520 surfxml_statenames[S_surfxml_link_2] = "link";
3521 surfxml_statenames[E_surfxml_link] = "link";
3522 surfxml_statenames[AL_surfxml_route_c_multi] = NULL;
3523 surfxml_statenames[S_surfxml_route_c_multi] = "route:multi";
3524 surfxml_statenames[S_surfxml_route_c_multi_1] = "route:multi";
3525 surfxml_statenames[S_surfxml_route_c_multi_2] = "route:multi";
3526 surfxml_statenames[E_surfxml_route_c_multi] = "route:multi";
3527 surfxml_statenames[AL_surfxml_route] = NULL;
3528 surfxml_statenames[S_surfxml_route] = "route";
3529 surfxml_statenames[S_surfxml_route_1] = "route";
3530 surfxml_statenames[S_surfxml_route_2] = "route";
3531 surfxml_statenames[E_surfxml_route] = "route";
3532 surfxml_statenames[AL_surfxml_link_c_ctn] = NULL;
3533 surfxml_statenames[E_surfxml_link_c_ctn] = "link:ctn";
3534 surfxml_statenames[AL_surfxml_process] = NULL;
3535 surfxml_statenames[S_surfxml_process] = "process";
3536 surfxml_statenames[S_surfxml_process_1] = "process";
3537 surfxml_statenames[S_surfxml_process_2] = "process";
3538 surfxml_statenames[E_surfxml_process] = "process";
3539 surfxml_statenames[AL_surfxml_argument] = NULL;
3540 surfxml_statenames[E_surfxml_argument] = "argument";
3543 /* COMMENTS and PIs: handled uniformly for efficiency. */
3553 (yy_start) = 1; /* first start state */
3556 surf_parse_in = stdin;
3558 if (!surf_parse_out)
3559 surf_parse_out = stdout;
3561 if (!YY_CURRENT_BUFFER) {
3562 surf_parse_ensure_buffer_stack();
3563 YY_CURRENT_BUFFER_LVALUE =
3564 surf_parse__create_buffer(surf_parse_in, YY_BUF_SIZE);
3567 surf_parse__load_buffer_state();
3570 while (1) { /* loops until end-of-file is reached */
3571 yy_cp = (yy_c_buf_p);
3573 /* Support of surf_parse_text. */
3574 *yy_cp = (yy_hold_char);
3576 /* yy_bp points to the position in yy_ch_buf of the start of
3581 yy_current_state = (yy_start);
3584 register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
3585 if (yy_accept[yy_current_state]) {
3586 (yy_last_accepting_state) = yy_current_state;
3587 (yy_last_accepting_cpos) = yy_cp;
3589 while (yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state) {
3590 yy_current_state = (int) yy_def[yy_current_state];
3591 if (yy_current_state >= 2023)
3592 yy_c = yy_meta[(unsigned int) yy_c];
3595 yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
3598 while (yy_base[yy_current_state] != 7094);
3601 yy_act = yy_accept[yy_current_state];
3602 if (yy_act == 0) { /* have to back up */
3603 yy_cp = (yy_last_accepting_cpos);
3604 yy_current_state = (yy_last_accepting_state);
3605 yy_act = yy_accept[yy_current_state];
3608 YY_DO_BEFORE_ACTION;
3610 if (yy_act != YY_END_OF_BUFFER && yy_rule_can_match_eol[yy_act]) {
3612 for (yyl = 0; yyl < surf_parse_leng; ++yyl)
3613 if (surf_parse_text[yyl] == '\n')
3615 surf_parse_lineno++;
3619 do_action: /* This label is used only to access EOF actions. */
3621 switch (yy_act) { /* beginning of action switch */
3622 case 0: /* must back up */
3623 /* undo the effects of YY_DO_BEFORE_ACTION */
3624 *yy_cp = (yy_hold_char);
3625 yy_cp = (yy_last_accepting_cpos);
3626 yy_current_state = (yy_last_accepting_state);
3627 goto yy_find_action;
3630 YY_RULE_SETUP ENTER(INCOMMENT);
3631 YY_BREAK case 2:YY_RULE_SETUP ENTER(INPI);
3632 YY_BREAK case 3:YY_RULE_SETUP LEAVE;
3633 YY_BREAK case 4:case 5:case 6:
3634 /* rule 6 can match eol */
3636 YY_BREAK case YY_STATE_EOF(INCOMMENT):FAIL("EOF in comment.");
3637 YY_BREAK case 7:YY_RULE_SETUP LEAVE;
3638 YY_BREAK case 8:case 9:
3639 /* rule 9 can match eol */
3642 YY_STATE_EOF(INPI):FAIL("EOF in PI (processing instruction).");
3644 /* SPACES: skipped uniformly */
3646 /* rule 10 can match eol */
3649 /* PROLOG: determine root element and process it. */
3651 /* rule 11 can match eol */
3652 YY_RULE_SETUP SET(DOCTYPE);
3654 /* rule 12 can match eol */
3655 YY_RULE_SETUP FAIL("Bad declaration %s.", surf_parse_text);
3657 /* rule 13 can match eol */
3658 YY_RULE_SETUP SET(ROOT_surfxml_platform);
3660 /* rule 14 can match eol */
3661 YY_RULE_SETUP FAIL("Bad declaration %s.", surf_parse_text);
3662 YY_BREAK case 15:YY_RULE_SETUP
3663 FAIL("Unexpected character `%c' in prolog.", surf_parse_text[0]);
3664 YY_BREAK case YY_STATE_EOF(PROLOG):case
3665 YY_STATE_EOF(DOCTYPE):FAIL("EOF in prolog.");
3667 /* RULES DERIVED FROM DTD. */
3668 /* <!-- Small DTD for SURF based tools. --> */
3670 /* rule 16 can match eol */
3671 YY_RULE_SETUP FAIL("Starting tag <platform> is not allowed here.");
3673 /* rule 17 can match eol */
3675 AX_surfxml_platform_version = 1;
3676 AX_surfxml_platform_xmlns_c_link = 5;
3677 AX_surfxml_platform_xmlns_c_route = 37;
3678 ENTER(AL_surfxml_platform);
3681 /* rule 18 can match eol */
3682 YY_RULE_SETUP ENTER(VALUE1);
3683 BUFFERSET(AX_surfxml_platform_version);
3685 /* rule 19 can match eol */
3686 YY_RULE_SETUP ENTER(VALUE2);
3687 BUFFERSET(AX_surfxml_platform_version);
3689 /* rule 20 can match eol */
3690 YY_RULE_SETUP ENTER(VALUE1);
3691 BUFFERSET(AX_surfxml_platform_xmlns_c_link);
3693 /* rule 21 can match eol */
3694 YY_RULE_SETUP ENTER(VALUE2);
3695 BUFFERSET(AX_surfxml_platform_xmlns_c_link);
3697 /* rule 22 can match eol */
3698 YY_RULE_SETUP ENTER(VALUE1);
3699 BUFFERSET(AX_surfxml_platform_xmlns_c_route);
3701 /* rule 23 can match eol */
3702 YY_RULE_SETUP ENTER(VALUE2);
3703 BUFFERSET(AX_surfxml_platform_xmlns_c_route);
3704 YY_BREAK case 24:YY_RULE_SETUP {
3706 STag_surfxml_platform();
3707 surfxml_pcdata_ix = 0;
3708 ENTER(S_surfxml_platform);
3709 } YY_BREAK case 25:YY_RULE_SETUP {
3711 STag_surfxml_platform();
3712 surfxml_pcdata_ix = 0;
3713 ETag_surfxml_platform();
3714 popbuffer(); /* attribute */
3716 case ROOT_surfxml_platform:
3719 }} YY_BREAK case 26:YY_RULE_SETUP
3721 ("Unexpected character `%c' in attribute list of platform element.",
3722 surf_parse_text[0]);
3723 YY_BREAK case 27:YY_RULE_SETUP
3724 FAIL("Bad attribute `%s' in `platform' element start tag.",
3727 YY_STATE_EOF(AL_surfxml_platform):FAIL
3728 ("EOF in attribute list of `platform' element.");
3730 /* rule 28 can match eol */
3733 ETag_surfxml_platform();
3734 popbuffer(); /* attribute */
3736 case ROOT_surfxml_platform:
3739 }} YY_BREAK case 29:
3740 /* rule 29 can match eol */
3743 FAIL("Unexpected end-tag `%s': `</platform>' expected.",
3745 YY_BREAK case 30:YY_RULE_SETUP
3746 FAIL("Unexpected character `%c': `</platform>' expected.",
3747 surf_parse_text[0]);
3748 YY_BREAK case YY_STATE_EOF(S_surfxml_platform_5):case
3749 YY_STATE_EOF(S_surfxml_platform_1):case
3750 YY_STATE_EOF(S_surfxml_platform_3):case
3751 YY_STATE_EOF(S_surfxml_platform):case
3752 YY_STATE_EOF(E_surfxml_platform):FAIL
3753 ("Premature EOF: `</platform>' expected.");
3755 /* rule 31 can match eol */
3756 YY_RULE_SETUP FAIL("Starting tag <include> is not allowed here.");
3758 /* rule 32 can match eol */
3760 AX_surfxml_include_file = 0;
3761 ENTER(AL_surfxml_include);
3764 /* rule 33 can match eol */
3765 YY_RULE_SETUP ENTER(VALUE1);
3766 BUFFERSET(AX_surfxml_include_file);
3768 /* rule 34 can match eol */
3769 YY_RULE_SETUP ENTER(VALUE2);
3770 BUFFERSET(AX_surfxml_include_file);
3771 YY_BREAK case 35:YY_RULE_SETUP {
3772 if (!AX_surfxml_include_file)
3773 FAIL("Required attribute `file' not set for `include' element.");
3775 STag_surfxml_include();
3776 surfxml_pcdata_ix = 0;
3777 ENTER(E_surfxml_include);
3778 } YY_BREAK case 36:YY_RULE_SETUP {
3779 if (!AX_surfxml_include_file)
3780 FAIL("Required attribute `file' not set for `include' element.");
3782 STag_surfxml_include();
3783 surfxml_pcdata_ix = 0;
3784 ETag_surfxml_include();
3785 popbuffer(); /* attribute */
3787 case S_surfxml_platform_5:
3788 case S_surfxml_platform_1:
3789 case S_surfxml_platform_3:
3790 case S_surfxml_platform:
3791 case S_surfxml_platform_4:
3792 SET(S_surfxml_platform_5);
3794 case S_surfxml_platform_2:SET(S_surfxml_platform_3);
3796 }} YY_BREAK case 37:YY_RULE_SETUP
3798 ("Unexpected character `%c' in attribute list of include element.",
3799 surf_parse_text[0]);
3800 YY_BREAK case 38:YY_RULE_SETUP
3801 FAIL("Bad attribute `%s' in `include' element start tag.",
3804 YY_STATE_EOF(AL_surfxml_include):FAIL
3805 ("EOF in attribute list of `include' element.");
3807 /* rule 39 can match eol */
3810 ETag_surfxml_include();
3811 popbuffer(); /* attribute */
3813 case S_surfxml_platform_5:
3814 case S_surfxml_platform_1:
3815 case S_surfxml_platform_3:
3816 case S_surfxml_platform:
3817 case S_surfxml_platform_4:
3818 SET(S_surfxml_platform_5);
3820 case S_surfxml_platform_2:SET(S_surfxml_platform_3);
3822 }} YY_BREAK case 40:
3823 /* rule 40 can match eol */
3826 FAIL("Unexpected end-tag `%s': `</include>' expected.",
3828 YY_BREAK case 41:YY_RULE_SETUP
3829 FAIL("Unexpected character `%c': `</include>' expected.",
3830 surf_parse_text[0]);
3832 YY_STATE_EOF(E_surfxml_include):FAIL
3833 ("Premature EOF: `</include>' expected.");
3835 /* rule 42 can match eol */
3836 YY_RULE_SETUP FAIL("Starting tag <trace> is not allowed here.");
3838 /* rule 43 can match eol */
3840 AX_surfxml_trace_id = 0;
3841 AX_surfxml_trace_file = 0;
3842 AX_surfxml_trace_periodicity = 0;
3843 ENTER(AL_surfxml_trace);
3846 /* rule 44 can match eol */
3847 YY_RULE_SETUP ENTER(VALUE1);
3848 BUFFERSET(AX_surfxml_trace_id);
3850 /* rule 45 can match eol */
3851 YY_RULE_SETUP ENTER(VALUE2);
3852 BUFFERSET(AX_surfxml_trace_id);
3854 /* rule 46 can match eol */
3855 YY_RULE_SETUP ENTER(VALUE1);
3856 BUFFERSET(AX_surfxml_trace_file);
3858 /* rule 47 can match eol */
3859 YY_RULE_SETUP ENTER(VALUE2);
3860 BUFFERSET(AX_surfxml_trace_file);
3862 /* rule 48 can match eol */
3863 YY_RULE_SETUP ENTER(VALUE1);
3864 BUFFERSET(AX_surfxml_trace_periodicity);
3866 /* rule 49 can match eol */
3867 YY_RULE_SETUP ENTER(VALUE2);
3868 BUFFERSET(AX_surfxml_trace_periodicity);
3869 YY_BREAK case 50:YY_RULE_SETUP {
3870 if (!AX_surfxml_trace_id)
3871 FAIL("Required attribute `id' not set for `trace' element.");
3872 if (!AX_surfxml_trace_periodicity)
3874 ("Required attribute `periodicity' not set for `trace' element.");
3876 STag_surfxml_trace();
3877 pushbuffer(surfxml_pcdata_ix);
3878 BUFFERSET(surfxml_pcdata_ix);;
3880 } YY_BREAK case 51:YY_RULE_SETUP {
3881 if (!AX_surfxml_trace_id)
3882 FAIL("Required attribute `id' not set for `trace' element.");
3883 if (!AX_surfxml_trace_periodicity)
3885 ("Required attribute `periodicity' not set for `trace' element.");
3887 STag_surfxml_trace();
3888 surfxml_pcdata_ix = 0;
3889 ETag_surfxml_trace();
3890 popbuffer(); /* attribute */
3892 case S_surfxml_platform_2:
3893 case S_surfxml_platform_3:
3894 case S_surfxml_platform:
3895 SET(S_surfxml_platform_3);
3897 }} YY_BREAK case 52:YY_RULE_SETUP
3898 FAIL("Unexpected character `%c' in attribute list of trace element.",
3899 surf_parse_text[0]);
3900 YY_BREAK case 53:YY_RULE_SETUP
3901 FAIL("Bad attribute `%s' in `trace' element start tag.",
3904 YY_STATE_EOF(AL_surfxml_trace):FAIL
3905 ("EOF in attribute list of `trace' element.");
3907 /* rule 54 can match eol */
3911 ETag_surfxml_trace();
3912 surfxml_pcdata_ix = popbuffer();
3913 popbuffer(); /* attribute */
3915 case S_surfxml_platform_2:
3916 case S_surfxml_platform_3:
3917 case S_surfxml_platform:
3918 SET(S_surfxml_platform_3);
3920 }} YY_BREAK case 55:
3921 /* rule 55 can match eol */
3924 FAIL("Unexpected end-tag `%s': `</trace>' expected.",
3927 YY_STATE_EOF(IN_trace):FAIL("Premature EOF: `</trace>' expected.");
3929 /* rule 56 can match eol */
3930 YY_RULE_SETUP FAIL("Starting tag <random> is not allowed here.");
3932 /* rule 57 can match eol */
3934 AX_surfxml_random_id = 0;
3935 AX_surfxml_random_min = 0;
3936 AX_surfxml_random_max = 0;
3937 AX_surfxml_random_mean = 0;
3938 AX_surfxml_random_std_deviation = 0;
3939 AX_surfxml_random_generator = A_surfxml_random_generator_DRAND48;
3940 ENTER(AL_surfxml_random);
3943 /* rule 58 can match eol */
3944 YY_RULE_SETUP ENTER(VALUE1);
3945 BUFFERSET(AX_surfxml_random_id);
3947 /* rule 59 can match eol */
3948 YY_RULE_SETUP ENTER(VALUE2);
3949 BUFFERSET(AX_surfxml_random_id);
3951 /* rule 60 can match eol */
3952 YY_RULE_SETUP ENTER(VALUE1);
3953 BUFFERSET(AX_surfxml_random_min);
3955 /* rule 61 can match eol */
3956 YY_RULE_SETUP ENTER(VALUE2);
3957 BUFFERSET(AX_surfxml_random_min);
3959 /* rule 62 can match eol */
3960 YY_RULE_SETUP ENTER(VALUE1);
3961 BUFFERSET(AX_surfxml_random_max);
3963 /* rule 63 can match eol */
3964 YY_RULE_SETUP ENTER(VALUE2);
3965 BUFFERSET(AX_surfxml_random_max);
3967 /* rule 64 can match eol */
3968 YY_RULE_SETUP ENTER(VALUE1);
3969 BUFFERSET(AX_surfxml_random_mean);
3971 /* rule 65 can match eol */
3972 YY_RULE_SETUP ENTER(VALUE2);
3973 BUFFERSET(AX_surfxml_random_mean);
3975 /* rule 66 can match eol */
3976 YY_RULE_SETUP ENTER(VALUE1);
3977 BUFFERSET(AX_surfxml_random_std_deviation);
3979 /* rule 67 can match eol */
3980 YY_RULE_SETUP ENTER(VALUE2);
3981 BUFFERSET(AX_surfxml_random_std_deviation);
3983 /* rule 68 can match eol */
3985 /* rule 69 can match eol */
3988 A_surfxml_random_generator = A_surfxml_random_generator_DRAND48;
3990 /* rule 70 can match eol */
3992 /* rule 71 can match eol */
3995 A_surfxml_random_generator = A_surfxml_random_generator_RAND;
3996 YY_BREAK case 72:YY_RULE_SETUP {
3997 if (!AX_surfxml_random_id)
3998 FAIL("Required attribute `id' not set for `random' element.");
3999 if (!AX_surfxml_random_min)
4000 FAIL("Required attribute `min' not set for `random' element.");
4001 if (!AX_surfxml_random_max)
4002 FAIL("Required attribute `max' not set for `random' element.");
4003 if (!AX_surfxml_random_mean)
4004 FAIL("Required attribute `mean' not set for `random' element.");
4005 if (!AX_surfxml_random_std_deviation)
4007 ("Required attribute `std_deviation' not set for `random' element.");
4009 STag_surfxml_random();
4010 surfxml_pcdata_ix = 0;
4011 ENTER(S_surfxml_random);
4012 } YY_BREAK case 73:YY_RULE_SETUP {
4013 if (!AX_surfxml_random_id)
4014 FAIL("Required attribute `id' not set for `random' element.");
4015 if (!AX_surfxml_random_min)
4016 FAIL("Required attribute `min' not set for `random' element.");
4017 if (!AX_surfxml_random_max)
4018 FAIL("Required attribute `max' not set for `random' element.");
4019 if (!AX_surfxml_random_mean)
4020 FAIL("Required attribute `mean' not set for `random' element.");
4021 if (!AX_surfxml_random_std_deviation)
4023 ("Required attribute `std_deviation' not set for `random' element.");
4025 STag_surfxml_random();
4026 surfxml_pcdata_ix = 0;
4027 ETag_surfxml_random();
4028 popbuffer(); /* attribute */
4030 case S_surfxml_platform_2:
4031 case S_surfxml_platform_3:
4032 case S_surfxml_platform:
4033 SET(S_surfxml_platform_3);
4035 }} YY_BREAK case 74:YY_RULE_SETUP
4036 FAIL("Unexpected character `%c' in attribute list of random element.",
4037 surf_parse_text[0]);
4038 YY_BREAK case 75:YY_RULE_SETUP
4039 FAIL("Bad attribute `%s' in `random' element start tag.",
4042 YY_STATE_EOF(AL_surfxml_random):FAIL
4043 ("EOF in attribute list of `random' element.");
4045 /* rule 76 can match eol */
4048 ETag_surfxml_random();
4049 popbuffer(); /* attribute */
4051 case S_surfxml_platform_2:
4052 case S_surfxml_platform_3:
4053 case S_surfxml_platform:
4054 SET(S_surfxml_platform_3);
4056 }} YY_BREAK case 77:
4057 /* rule 77 can match eol */
4060 FAIL("Unexpected end-tag `%s': `</random>' expected.",
4062 YY_BREAK case 78:YY_RULE_SETUP
4063 FAIL("Unexpected character `%c': `</random>' expected.",
4064 surf_parse_text[0]);
4065 YY_BREAK case YY_STATE_EOF(S_surfxml_random_2):case
4066 YY_STATE_EOF(S_surfxml_random):case
4067 YY_STATE_EOF(E_surfxml_random):FAIL
4068 ("Premature EOF: `</random>' expected.");
4070 /* rule 79 can match eol */
4073 FAIL("Starting tag <trace:connect> is not allowed here.");
4075 /* rule 80 can match eol */
4077 AX_surfxml_trace_c_connect_kind =
4078 A_surfxml_trace_c_connect_kind_HOST_AVAIL;
4079 AX_surfxml_trace_c_connect_trace = 0;
4080 AX_surfxml_trace_c_connect_element = 0;
4081 ENTER(AL_surfxml_trace_c_connect);
4084 /* rule 81 can match eol */
4086 /* rule 82 can match eol */
4089 A_surfxml_trace_c_connect_kind =
4090 A_surfxml_trace_c_connect_kind_HOST_AVAIL;
4092 /* rule 83 can match eol */
4094 /* rule 84 can match eol */
4097 A_surfxml_trace_c_connect_kind = A_surfxml_trace_c_connect_kind_POWER;
4099 /* rule 85 can match eol */
4101 /* rule 86 can match eol */
4104 A_surfxml_trace_c_connect_kind =
4105 A_surfxml_trace_c_connect_kind_LINK_AVAIL;
4107 /* rule 87 can match eol */
4109 /* rule 88 can match eol */
4112 A_surfxml_trace_c_connect_kind =
4113 A_surfxml_trace_c_connect_kind_BANDWIDTH;
4115 /* rule 89 can match eol */
4117 /* rule 90 can match eol */
4120 A_surfxml_trace_c_connect_kind =
4121 A_surfxml_trace_c_connect_kind_LATENCY;
4123 /* rule 91 can match eol */
4124 YY_RULE_SETUP ENTER(VALUE1);
4125 BUFFERSET(AX_surfxml_trace_c_connect_trace);
4127 /* rule 92 can match eol */
4128 YY_RULE_SETUP ENTER(VALUE2);
4129 BUFFERSET(AX_surfxml_trace_c_connect_trace);
4131 /* rule 93 can match eol */
4132 YY_RULE_SETUP ENTER(VALUE1);
4133 BUFFERSET(AX_surfxml_trace_c_connect_element);
4135 /* rule 94 can match eol */
4136 YY_RULE_SETUP ENTER(VALUE2);
4137 BUFFERSET(AX_surfxml_trace_c_connect_element);
4138 YY_BREAK case 95:YY_RULE_SETUP {
4139 if (!AX_surfxml_trace_c_connect_trace)
4141 ("Required attribute `trace' not set for `trace:connect' element.");
4142 if (!AX_surfxml_trace_c_connect_element)
4144 ("Required attribute `element' not set for `trace:connect' element.");
4146 STag_surfxml_trace_c_connect();
4147 surfxml_pcdata_ix = 0;
4148 ENTER(E_surfxml_trace_c_connect);
4149 } YY_BREAK case 96:YY_RULE_SETUP {
4150 if (!AX_surfxml_trace_c_connect_trace)
4152 ("Required attribute `trace' not set for `trace:connect' element.");
4153 if (!AX_surfxml_trace_c_connect_element)
4155 ("Required attribute `element' not set for `trace:connect' element.");
4157 STag_surfxml_trace_c_connect();
4158 surfxml_pcdata_ix = 0;
4159 ETag_surfxml_trace_c_connect();
4160 popbuffer(); /* attribute */
4162 case S_surfxml_platform_5:
4163 case S_surfxml_platform_1:
4164 case S_surfxml_platform_3:
4165 case S_surfxml_platform:
4166 case S_surfxml_platform_4:
4167 SET(S_surfxml_platform_5);
4169 case S_surfxml_platform_2:SET(S_surfxml_platform_3);
4171 }} YY_BREAK case 97:YY_RULE_SETUP
4173 ("Unexpected character `%c' in attribute list of trace:connect element.",
4174 surf_parse_text[0]);
4175 YY_BREAK case 98:YY_RULE_SETUP
4176 FAIL("Bad attribute `%s' in `trace:connect' element start tag.",
4179 YY_STATE_EOF(AL_surfxml_trace_c_connect):FAIL
4180 ("EOF in attribute list of `trace:connect' element.");
4182 /* rule 99 can match eol */
4185 ETag_surfxml_trace_c_connect();
4186 popbuffer(); /* attribute */
4188 case S_surfxml_platform_5:
4189 case S_surfxml_platform_1:
4190 case S_surfxml_platform_3:
4191 case S_surfxml_platform:
4192 case S_surfxml_platform_4:
4193 SET(S_surfxml_platform_5);
4195 case S_surfxml_platform_2:SET(S_surfxml_platform_3);
4197 }} YY_BREAK case 100:
4198 /* rule 100 can match eol */
4201 FAIL("Unexpected end-tag `%s': `</trace:connect>' expected.",
4203 YY_BREAK case 101:YY_RULE_SETUP
4204 FAIL("Unexpected character `%c': `</trace:connect>' expected.",
4205 surf_parse_text[0]);
4207 YY_STATE_EOF(E_surfxml_trace_c_connect):FAIL
4208 ("Premature EOF: `</trace:connect>' expected.");
4210 /* rule 102 can match eol */
4211 YY_RULE_SETUP FAIL("Starting tag <set> is not allowed here.");
4213 /* rule 103 can match eol */
4215 AX_surfxml_set_id = 0;
4216 AX_surfxml_set_prefix = 0;
4217 AX_surfxml_set_suffix = 0;
4218 AX_surfxml_set_radical = 0;
4219 ENTER(AL_surfxml_set);
4221 } YY_BREAK case 104:
4222 /* rule 104 can match eol */
4223 YY_RULE_SETUP ENTER(VALUE1);
4224 BUFFERSET(AX_surfxml_set_id);
4226 /* rule 105 can match eol */
4227 YY_RULE_SETUP ENTER(VALUE2);
4228 BUFFERSET(AX_surfxml_set_id);
4230 /* rule 106 can match eol */
4231 YY_RULE_SETUP ENTER(VALUE1);
4232 BUFFERSET(AX_surfxml_set_prefix);
4234 /* rule 107 can match eol */
4235 YY_RULE_SETUP ENTER(VALUE2);
4236 BUFFERSET(AX_surfxml_set_prefix);
4238 /* rule 108 can match eol */
4239 YY_RULE_SETUP ENTER(VALUE1);
4240 BUFFERSET(AX_surfxml_set_suffix);
4242 /* rule 109 can match eol */
4243 YY_RULE_SETUP ENTER(VALUE2);
4244 BUFFERSET(AX_surfxml_set_suffix);
4246 /* rule 110 can match eol */
4247 YY_RULE_SETUP ENTER(VALUE1);
4248 BUFFERSET(AX_surfxml_set_radical);
4250 /* rule 111 can match eol */
4251 YY_RULE_SETUP ENTER(VALUE2);
4252 BUFFERSET(AX_surfxml_set_radical);
4253 YY_BREAK case 112:YY_RULE_SETUP {
4254 if (!AX_surfxml_set_id)
4255 FAIL("Required attribute `id' not set for `set' element.");
4256 if (!AX_surfxml_set_prefix)
4257 FAIL("Required attribute `prefix' not set for `set' element.");
4258 if (!AX_surfxml_set_suffix)
4259 FAIL("Required attribute `suffix' not set for `set' element.");
4260 if (!AX_surfxml_set_radical)
4261 FAIL("Required attribute `radical' not set for `set' element.");
4264 surfxml_pcdata_ix = 0;
4265 ENTER(E_surfxml_set);
4266 } YY_BREAK case 113:YY_RULE_SETUP {
4267 if (!AX_surfxml_set_id)
4268 FAIL("Required attribute `id' not set for `set' element.");
4269 if (!AX_surfxml_set_prefix)
4270 FAIL("Required attribute `prefix' not set for `set' element.");
4271 if (!AX_surfxml_set_suffix)
4272 FAIL("Required attribute `suffix' not set for `set' element.");
4273 if (!AX_surfxml_set_radical)
4274 FAIL("Required attribute `radical' not set for `set' element.");
4277 surfxml_pcdata_ix = 0;
4279 popbuffer(); /* attribute */
4281 case S_surfxml_platform_2:
4282 case S_surfxml_platform_3:
4283 case S_surfxml_platform:
4284 SET(S_surfxml_platform_3);
4286 }} YY_BREAK case 114:YY_RULE_SETUP
4287 FAIL("Unexpected character `%c' in attribute list of set element.",
4288 surf_parse_text[0]);
4289 YY_BREAK case 115:YY_RULE_SETUP
4290 FAIL("Bad attribute `%s' in `set' element start tag.",
4293 YY_STATE_EOF(AL_surfxml_set):FAIL
4294 ("EOF in attribute list of `set' element.");
4296 /* rule 116 can match eol */
4300 popbuffer(); /* attribute */
4302 case S_surfxml_platform_2:
4303 case S_surfxml_platform_3:
4304 case S_surfxml_platform:
4305 SET(S_surfxml_platform_3);
4307 }} YY_BREAK case 117:
4308 /* rule 117 can match eol */
4311 FAIL("Unexpected end-tag `%s': `</set>' expected.", surf_parse_text);
4312 YY_BREAK case 118:YY_RULE_SETUP
4313 FAIL("Unexpected character `%c': `</set>' expected.",
4314 surf_parse_text[0]);
4316 YY_STATE_EOF(E_surfxml_set):FAIL("Premature EOF: `</set>' expected.");
4318 /* rule 119 can match eol */
4319 YY_RULE_SETUP FAIL("Starting tag <foreach> is not allowed here.");
4321 /* rule 120 can match eol */
4323 AX_surfxml_foreach_set_id = 0;
4324 ENTER(AL_surfxml_foreach);
4326 } YY_BREAK case 121:
4327 /* rule 121 can match eol */
4328 YY_RULE_SETUP ENTER(VALUE1);
4329 BUFFERSET(AX_surfxml_foreach_set_id);
4331 /* rule 122 can match eol */
4332 YY_RULE_SETUP ENTER(VALUE2);
4333 BUFFERSET(AX_surfxml_foreach_set_id);
4334 YY_BREAK case 123:YY_RULE_SETUP {
4335 if (!AX_surfxml_foreach_set_id)
4336 FAIL("Required attribute `set_id' not set for `foreach' element.");
4338 STag_surfxml_foreach();
4339 surfxml_pcdata_ix = 0;
4340 ENTER(S_surfxml_foreach);
4341 } YY_BREAK case 124:YY_RULE_SETUP
4342 FAIL("`foreach' element cannot be empty.");
4343 YY_BREAK case 125:YY_RULE_SETUP
4345 ("Unexpected character `%c' in attribute list of foreach element.",
4346 surf_parse_text[0]);
4347 YY_BREAK case 126:YY_RULE_SETUP
4348 FAIL("Bad attribute `%s' in `foreach' element start tag.",
4351 YY_STATE_EOF(AL_surfxml_foreach):FAIL
4352 ("EOF in attribute list of `foreach' element.");
4354 /* rule 127 can match eol */
4357 ETag_surfxml_foreach();
4358 popbuffer(); /* attribute */
4360 case S_surfxml_platform_2:
4361 case S_surfxml_platform_3:
4362 case S_surfxml_platform:
4363 SET(S_surfxml_platform_3);
4365 }} YY_BREAK case 128:
4366 /* rule 128 can match eol */
4369 FAIL("Unexpected end-tag `%s': `</foreach>' expected.",
4371 YY_BREAK case 129:YY_RULE_SETUP
4372 FAIL("Unexpected character `%c': `</foreach>' expected.",
4373 surf_parse_text[0]);
4375 YY_STATE_EOF(E_surfxml_foreach):FAIL
4376 ("Premature EOF: `</foreach>' expected.");
4378 /* rule 130 can match eol */
4379 YY_RULE_SETUP FAIL("Starting tag <host> is not allowed here.");
4381 /* rule 131 can match eol */
4383 AX_surfxml_host_id = 0;
4384 AX_surfxml_host_power = 0;
4385 AX_surfxml_host_availability = 69;
4386 AX_surfxml_host_availability_file = 0;
4387 AX_surfxml_host_state = A_surfxml_host_state_ON;
4388 AX_surfxml_host_state_file = 0;
4389 AX_surfxml_host_interference_send = 73;
4390 AX_surfxml_host_interference_recv = 77;
4391 AX_surfxml_host_interference_send_recv = 81;
4392 AX_surfxml_host_max_outgoing_rate = 85;
4393 ENTER(AL_surfxml_host);
4395 } YY_BREAK case 132:
4396 /* rule 132 can match eol */
4397 YY_RULE_SETUP ENTER(VALUE1);
4398 BUFFERSET(AX_surfxml_host_id);
4400 /* rule 133 can match eol */
4401 YY_RULE_SETUP ENTER(VALUE2);
4402 BUFFERSET(AX_surfxml_host_id);
4404 /* rule 134 can match eol */
4405 YY_RULE_SETUP ENTER(VALUE1);
4406 BUFFERSET(AX_surfxml_host_power);
4408 /* rule 135 can match eol */
4409 YY_RULE_SETUP ENTER(VALUE2);
4410 BUFFERSET(AX_surfxml_host_power);
4412 /* rule 136 can match eol */
4413 YY_RULE_SETUP ENTER(VALUE1);
4414 BUFFERSET(AX_surfxml_host_availability);
4416 /* rule 137 can match eol */
4417 YY_RULE_SETUP ENTER(VALUE2);
4418 BUFFERSET(AX_surfxml_host_availability);
4420 /* rule 138 can match eol */
4421 YY_RULE_SETUP ENTER(VALUE1);
4422 BUFFERSET(AX_surfxml_host_availability_file);
4424 /* rule 139 can match eol */
4425 YY_RULE_SETUP ENTER(VALUE2);
4426 BUFFERSET(AX_surfxml_host_availability_file);
4428 /* rule 140 can match eol */
4430 /* rule 141 can match eol */
4431 YY_RULE_SETUP A_surfxml_host_state = A_surfxml_host_state_ON;
4433 /* rule 142 can match eol */
4435 /* rule 143 can match eol */
4436 YY_RULE_SETUP A_surfxml_host_state = A_surfxml_host_state_OFF;
4438 /* rule 144 can match eol */
4439 YY_RULE_SETUP ENTER(VALUE1);
4440 BUFFERSET(AX_surfxml_host_state_file);
4442 /* rule 145 can match eol */
4443 YY_RULE_SETUP ENTER(VALUE2);
4444 BUFFERSET(AX_surfxml_host_state_file);
4446 /* rule 146 can match eol */
4447 YY_RULE_SETUP ENTER(VALUE1);
4448 BUFFERSET(AX_surfxml_host_interference_send);
4450 /* rule 147 can match eol */
4451 YY_RULE_SETUP ENTER(VALUE2);
4452 BUFFERSET(AX_surfxml_host_interference_send);
4454 /* rule 148 can match eol */
4455 YY_RULE_SETUP ENTER(VALUE1);
4456 BUFFERSET(AX_surfxml_host_interference_recv);
4458 /* rule 149 can match eol */
4459 YY_RULE_SETUP ENTER(VALUE2);
4460 BUFFERSET(AX_surfxml_host_interference_recv);
4462 /* rule 150 can match eol */
4463 YY_RULE_SETUP ENTER(VALUE1);
4464 BUFFERSET(AX_surfxml_host_interference_send_recv);
4466 /* rule 151 can match eol */
4467 YY_RULE_SETUP ENTER(VALUE2);
4468 BUFFERSET(AX_surfxml_host_interference_send_recv);
4470 /* rule 152 can match eol */
4471 YY_RULE_SETUP ENTER(VALUE1);
4472 BUFFERSET(AX_surfxml_host_max_outgoing_rate);
4474 /* rule 153 can match eol */
4475 YY_RULE_SETUP ENTER(VALUE2);
4476 BUFFERSET(AX_surfxml_host_max_outgoing_rate);
4477 YY_BREAK case 154:YY_RULE_SETUP {
4478 if (!AX_surfxml_host_id)
4479 FAIL("Required attribute `id' not set for `host' element.");
4480 if (!AX_surfxml_host_power)
4481 FAIL("Required attribute `power' not set for `host' element.");
4483 STag_surfxml_host();
4484 surfxml_pcdata_ix = 0;
4485 ENTER(S_surfxml_host);
4486 } YY_BREAK case 155:YY_RULE_SETUP {
4487 if (!AX_surfxml_host_id)
4488 FAIL("Required attribute `id' not set for `host' element.");
4489 if (!AX_surfxml_host_power)
4490 FAIL("Required attribute `power' not set for `host' element.");
4492 STag_surfxml_host();
4493 surfxml_pcdata_ix = 0;
4494 ETag_surfxml_host();
4495 popbuffer(); /* attribute */
4497 case S_surfxml_platform_2:
4498 case S_surfxml_platform_3:
4499 case S_surfxml_platform:
4500 SET(S_surfxml_platform_3);
4502 case S_surfxml_foreach:SET(S_surfxml_foreach_1);
4504 }} YY_BREAK case 156:YY_RULE_SETUP
4505 FAIL("Unexpected character `%c' in attribute list of host element.",
4506 surf_parse_text[0]);
4507 YY_BREAK case 157:YY_RULE_SETUP
4508 FAIL("Bad attribute `%s' in `host' element start tag.",
4511 YY_STATE_EOF(AL_surfxml_host):FAIL
4512 ("EOF in attribute list of `host' element.");
4514 /* rule 158 can match eol */
4517 ETag_surfxml_host();
4518 popbuffer(); /* attribute */
4520 case S_surfxml_platform_2:
4521 case S_surfxml_platform_3:
4522 case S_surfxml_platform:
4523 SET(S_surfxml_platform_3);
4525 case S_surfxml_foreach:SET(S_surfxml_foreach_1);
4527 }} YY_BREAK case 159:
4528 /* rule 159 can match eol */
4531 FAIL("Unexpected end-tag `%s': `</host>' expected.", surf_parse_text);
4532 YY_BREAK case 160:YY_RULE_SETUP
4533 FAIL("Unexpected character `%c': `</host>' expected.",
4534 surf_parse_text[0]);
4535 YY_BREAK case YY_STATE_EOF(S_surfxml_host):case
4536 YY_STATE_EOF(E_surfxml_host):case
4537 YY_STATE_EOF(S_surfxml_host_2):FAIL
4538 ("Premature EOF: `</host>' expected.");
4540 /* rule 161 can match eol */
4541 YY_RULE_SETUP FAIL("Starting tag <prop> is not allowed here.");
4543 /* rule 162 can match eol */
4545 AX_surfxml_prop_id = 0;
4546 AX_surfxml_prop_value = 0;
4547 ENTER(AL_surfxml_prop);
4549 } YY_BREAK case 163:
4550 /* rule 163 can match eol */
4551 YY_RULE_SETUP ENTER(VALUE1);
4552 BUFFERSET(AX_surfxml_prop_id);
4554 /* rule 164 can match eol */
4555 YY_RULE_SETUP ENTER(VALUE2);
4556 BUFFERSET(AX_surfxml_prop_id);
4558 /* rule 165 can match eol */
4559 YY_RULE_SETUP ENTER(VALUE1);
4560 BUFFERSET(AX_surfxml_prop_value);
4562 /* rule 166 can match eol */
4563 YY_RULE_SETUP ENTER(VALUE2);
4564 BUFFERSET(AX_surfxml_prop_value);
4565 YY_BREAK case 167:YY_RULE_SETUP {
4566 if (!AX_surfxml_prop_id)
4567 FAIL("Required attribute `id' not set for `prop' element.");
4568 if (!AX_surfxml_prop_value)
4569 FAIL("Required attribute `value' not set for `prop' element.");
4571 STag_surfxml_prop();
4572 surfxml_pcdata_ix = 0;
4573 ENTER(E_surfxml_prop);
4574 } YY_BREAK case 168:YY_RULE_SETUP {
4575 if (!AX_surfxml_prop_id)
4576 FAIL("Required attribute `id' not set for `prop' element.");
4577 if (!AX_surfxml_prop_value)
4578 FAIL("Required attribute `value' not set for `prop' element.");
4580 STag_surfxml_prop();
4581 surfxml_pcdata_ix = 0;
4582 ETag_surfxml_prop();
4583 popbuffer(); /* attribute */
4585 case S_surfxml_random:
4586 case S_surfxml_random_2:
4587 case S_surfxml_random_1:
4588 SET(S_surfxml_random_2);
4590 case S_surfxml_process_1:case S_surfxml_process:case
4591 S_surfxml_process_2:SET(S_surfxml_process_2);
4593 case S_surfxml_host:case S_surfxml_host_1:case
4594 S_surfxml_host_2:SET(S_surfxml_host_2);
4596 case S_surfxml_link_1:case S_surfxml_link_2:case
4597 S_surfxml_link:SET(S_surfxml_link_2);
4599 }} YY_BREAK case 169:YY_RULE_SETUP
4600 FAIL("Unexpected character `%c' in attribute list of prop element.",
4601 surf_parse_text[0]);
4602 YY_BREAK case 170:YY_RULE_SETUP
4603 FAIL("Bad attribute `%s' in `prop' element start tag.",
4606 YY_STATE_EOF(AL_surfxml_prop):FAIL
4607 ("EOF in attribute list of `prop' element.");
4609 /* rule 171 can match eol */
4612 ETag_surfxml_prop();
4613 popbuffer(); /* attribute */
4615 case S_surfxml_random:
4616 case S_surfxml_random_2:
4617 case S_surfxml_random_1:
4618 SET(S_surfxml_random_2);
4620 case S_surfxml_process_1:case S_surfxml_process:case
4621 S_surfxml_process_2:SET(S_surfxml_process_2);
4623 case S_surfxml_host:case S_surfxml_host_1:case
4624 S_surfxml_host_2:SET(S_surfxml_host_2);
4626 case S_surfxml_link_1:case S_surfxml_link_2:case
4627 S_surfxml_link:SET(S_surfxml_link_2);
4629 }} YY_BREAK case 172:
4630 /* rule 172 can match eol */
4633 FAIL("Unexpected end-tag `%s': `</prop>' expected.", surf_parse_text);
4634 YY_BREAK case 173:YY_RULE_SETUP
4635 FAIL("Unexpected character `%c': `</prop>' expected.",
4636 surf_parse_text[0]);
4638 YY_STATE_EOF(E_surfxml_prop):FAIL
4639 ("Premature EOF: `</prop>' expected.");
4641 /* rule 174 can match eol */
4642 YY_RULE_SETUP FAIL("Starting tag <cluster> is not allowed here.");
4644 /* rule 175 can match eol */
4646 AX_surfxml_cluster_id = 0;
4647 AX_surfxml_cluster_prefix = 0;
4648 AX_surfxml_cluster_suffix = 0;
4649 AX_surfxml_cluster_radical = 0;
4650 AX_surfxml_cluster_power = 0;
4651 AX_surfxml_cluster_bw = 0;
4652 AX_surfxml_cluster_lat = 0;
4653 AX_surfxml_cluster_bb_bw = 0;
4654 AX_surfxml_cluster_bb_lat = 0;
4655 ENTER(AL_surfxml_cluster);
4657 } YY_BREAK case 176:
4658 /* rule 176 can match eol */
4659 YY_RULE_SETUP ENTER(VALUE1);
4660 BUFFERSET(AX_surfxml_cluster_id);
4662 /* rule 177 can match eol */
4663 YY_RULE_SETUP ENTER(VALUE2);
4664 BUFFERSET(AX_surfxml_cluster_id);
4666 /* rule 178 can match eol */
4667 YY_RULE_SETUP ENTER(VALUE1);
4668 BUFFERSET(AX_surfxml_cluster_prefix);
4670 /* rule 179 can match eol */
4671 YY_RULE_SETUP ENTER(VALUE2);
4672 BUFFERSET(AX_surfxml_cluster_prefix);
4674 /* rule 180 can match eol */
4675 YY_RULE_SETUP ENTER(VALUE1);
4676 BUFFERSET(AX_surfxml_cluster_suffix);
4678 /* rule 181 can match eol */
4679 YY_RULE_SETUP ENTER(VALUE2);
4680 BUFFERSET(AX_surfxml_cluster_suffix);
4682 /* rule 182 can match eol */
4683 YY_RULE_SETUP ENTER(VALUE1);
4684 BUFFERSET(AX_surfxml_cluster_radical);
4686 /* rule 183 can match eol */
4687 YY_RULE_SETUP ENTER(VALUE2);
4688 BUFFERSET(AX_surfxml_cluster_radical);
4690 /* rule 184 can match eol */
4691 YY_RULE_SETUP ENTER(VALUE1);
4692 BUFFERSET(AX_surfxml_cluster_power);
4694 /* rule 185 can match eol */
4695 YY_RULE_SETUP ENTER(VALUE2);
4696 BUFFERSET(AX_surfxml_cluster_power);
4698 /* rule 186 can match eol */
4699 YY_RULE_SETUP ENTER(VALUE1);
4700 BUFFERSET(AX_surfxml_cluster_bw);
4702 /* rule 187 can match eol */
4703 YY_RULE_SETUP ENTER(VALUE2);
4704 BUFFERSET(AX_surfxml_cluster_bw);
4706 /* rule 188 can match eol */
4707 YY_RULE_SETUP ENTER(VALUE1);
4708 BUFFERSET(AX_surfxml_cluster_lat);
4710 /* rule 189 can match eol */
4711 YY_RULE_SETUP ENTER(VALUE2);
4712 BUFFERSET(AX_surfxml_cluster_lat);
4714 /* rule 190 can match eol */
4715 YY_RULE_SETUP ENTER(VALUE1);
4716 BUFFERSET(AX_surfxml_cluster_bb_bw);
4718 /* rule 191 can match eol */
4719 YY_RULE_SETUP ENTER(VALUE2);
4720 BUFFERSET(AX_surfxml_cluster_bb_bw);
4722 /* rule 192 can match eol */
4723 YY_RULE_SETUP ENTER(VALUE1);
4724 BUFFERSET(AX_surfxml_cluster_bb_lat);
4726 /* rule 193 can match eol */
4727 YY_RULE_SETUP ENTER(VALUE2);
4728 BUFFERSET(AX_surfxml_cluster_bb_lat);
4729 YY_BREAK case 194:YY_RULE_SETUP {
4730 if (!AX_surfxml_cluster_id)
4731 FAIL("Required attribute `id' not set for `cluster' element.");
4732 if (!AX_surfxml_cluster_prefix)
4733 FAIL("Required attribute `prefix' not set for `cluster' element.");
4734 if (!AX_surfxml_cluster_suffix)
4735 FAIL("Required attribute `suffix' not set for `cluster' element.");
4736 if (!AX_surfxml_cluster_radical)
4737 FAIL("Required attribute `radical' not set for `cluster' element.");
4738 if (!AX_surfxml_cluster_power)
4739 FAIL("Required attribute `power' not set for `cluster' element.");
4740 if (!AX_surfxml_cluster_bw)
4741 FAIL("Required attribute `bw' not set for `cluster' element.");
4742 if (!AX_surfxml_cluster_lat)
4743 FAIL("Required attribute `lat' not set for `cluster' element.");
4744 if (!AX_surfxml_cluster_bb_bw)
4745 FAIL("Required attribute `bb_bw' not set for `cluster' element.");
4746 if (!AX_surfxml_cluster_bb_lat)
4747 FAIL("Required attribute `bb_lat' not set for `cluster' element.");
4749 STag_surfxml_cluster();
4750 surfxml_pcdata_ix = 0;
4751 ENTER(E_surfxml_cluster);
4752 } YY_BREAK case 195:YY_RULE_SETUP {
4753 if (!AX_surfxml_cluster_id)
4754 FAIL("Required attribute `id' not set for `cluster' element.");
4755 if (!AX_surfxml_cluster_prefix)
4756 FAIL("Required attribute `prefix' not set for `cluster' element.");
4757 if (!AX_surfxml_cluster_suffix)
4758 FAIL("Required attribute `suffix' not set for `cluster' element.");
4759 if (!AX_surfxml_cluster_radical)
4760 FAIL("Required attribute `radical' not set for `cluster' element.");
4761 if (!AX_surfxml_cluster_power)
4762 FAIL("Required attribute `power' not set for `cluster' element.");
4763 if (!AX_surfxml_cluster_bw)
4764 FAIL("Required attribute `bw' not set for `cluster' element.");
4765 if (!AX_surfxml_cluster_lat)
4766 FAIL("Required attribute `lat' not set for `cluster' element.");
4767 if (!AX_surfxml_cluster_bb_bw)
4768 FAIL("Required attribute `bb_bw' not set for `cluster' element.");
4769 if (!AX_surfxml_cluster_bb_lat)
4770 FAIL("Required attribute `bb_lat' not set for `cluster' element.");
4772 STag_surfxml_cluster();
4773 surfxml_pcdata_ix = 0;
4774 ETag_surfxml_cluster();
4775 popbuffer(); /* attribute */
4777 case S_surfxml_platform_2:
4778 case S_surfxml_platform:
4779 case S_surfxml_platform_3:
4780 SET(S_surfxml_platform_3);
4782 }} YY_BREAK case 196:YY_RULE_SETUP
4784 ("Unexpected character `%c' in attribute list of cluster element.",
4785 surf_parse_text[0]);
4786 YY_BREAK case 197:YY_RULE_SETUP
4787 FAIL("Bad attribute `%s' in `cluster' element start tag.",
4790 YY_STATE_EOF(AL_surfxml_cluster):FAIL
4791 ("EOF in attribute list of `cluster' element.");
4793 /* rule 198 can match eol */
4796 ETag_surfxml_cluster();
4797 popbuffer(); /* attribute */
4799 case S_surfxml_platform_2:
4800 case S_surfxml_platform:
4801 case S_surfxml_platform_3:
4802 SET(S_surfxml_platform_3);
4804 }} YY_BREAK case 199:
4805 /* rule 199 can match eol */
4808 FAIL("Unexpected end-tag `%s': `</cluster>' expected.",
4810 YY_BREAK case 200:YY_RULE_SETUP
4811 FAIL("Unexpected character `%c': `</cluster>' expected.",
4812 surf_parse_text[0]);
4814 YY_STATE_EOF(E_surfxml_cluster):FAIL
4815 ("Premature EOF: `</cluster>' expected.");
4817 /* rule 201 can match eol */
4818 YY_RULE_SETUP FAIL("Starting tag <router> is not allowed here.");
4820 /* rule 202 can match eol */
4822 AX_surfxml_router_id = 0;
4823 ENTER(AL_surfxml_router);
4825 } YY_BREAK case 203:
4826 /* rule 203 can match eol */
4827 YY_RULE_SETUP ENTER(VALUE1);
4828 BUFFERSET(AX_surfxml_router_id);
4830 /* rule 204 can match eol */
4831 YY_RULE_SETUP ENTER(VALUE2);
4832 BUFFERSET(AX_surfxml_router_id);
4833 YY_BREAK case 205:YY_RULE_SETUP {
4834 if (!AX_surfxml_router_id)
4835 FAIL("Required attribute `id' not set for `router' element.");
4837 STag_surfxml_router();
4838 surfxml_pcdata_ix = 0;
4839 ENTER(E_surfxml_router);
4840 } YY_BREAK case 206:YY_RULE_SETUP {
4841 if (!AX_surfxml_router_id)
4842 FAIL("Required attribute `id' not set for `router' element.");
4844 STag_surfxml_router();
4845 surfxml_pcdata_ix = 0;
4846 ETag_surfxml_router();
4847 popbuffer(); /* attribute */
4849 case S_surfxml_platform_2:
4850 case S_surfxml_platform:
4851 case S_surfxml_platform_3:
4852 SET(S_surfxml_platform_3);
4854 }} YY_BREAK case 207:YY_RULE_SETUP
4855 FAIL("Unexpected character `%c' in attribute list of router element.",
4856 surf_parse_text[0]);
4857 YY_BREAK case 208:YY_RULE_SETUP
4858 FAIL("Bad attribute `%s' in `router' element start tag.",
4861 YY_STATE_EOF(AL_surfxml_router):FAIL
4862 ("EOF in attribute list of `router' element.");
4864 /* rule 209 can match eol */
4867 ETag_surfxml_router();
4868 popbuffer(); /* attribute */
4870 case S_surfxml_platform_2:
4871 case S_surfxml_platform:
4872 case S_surfxml_platform_3:
4873 SET(S_surfxml_platform_3);
4875 }} YY_BREAK case 210:
4876 /* rule 210 can match eol */
4879 FAIL("Unexpected end-tag `%s': `</router>' expected.",
4881 YY_BREAK case 211:YY_RULE_SETUP
4882 FAIL("Unexpected character `%c': `</router>' expected.",
4883 surf_parse_text[0]);
4885 YY_STATE_EOF(E_surfxml_router):FAIL
4886 ("Premature EOF: `</router>' expected.");
4888 /* rule 212 can match eol */
4889 YY_RULE_SETUP FAIL("Starting tag <link> is not allowed here.");
4891 /* rule 213 can match eol */
4893 AX_surfxml_link_id = 0;
4894 AX_surfxml_link_bandwidth = 0;
4895 AX_surfxml_link_bandwidth_file = 0;
4896 AX_surfxml_link_latency = 90;
4897 AX_surfxml_link_latency_file = 0;
4898 AX_surfxml_link_state = A_surfxml_link_state_ON;
4899 AX_surfxml_link_state_file = 0;
4900 AX_surfxml_link_sharing_policy = A_surfxml_link_sharing_policy_SHARED;
4901 ENTER(AL_surfxml_link);
4903 } YY_BREAK case 214:
4904 /* rule 214 can match eol */
4905 YY_RULE_SETUP ENTER(VALUE1);
4906 BUFFERSET(AX_surfxml_link_id);
4908 /* rule 215 can match eol */
4909 YY_RULE_SETUP ENTER(VALUE2);
4910 BUFFERSET(AX_surfxml_link_id);
4912 /* rule 216 can match eol */
4913 YY_RULE_SETUP ENTER(VALUE1);
4914 BUFFERSET(AX_surfxml_link_bandwidth);
4916 /* rule 217 can match eol */
4917 YY_RULE_SETUP ENTER(VALUE2);
4918 BUFFERSET(AX_surfxml_link_bandwidth);
4920 /* rule 218 can match eol */
4921 YY_RULE_SETUP ENTER(VALUE1);
4922 BUFFERSET(AX_surfxml_link_bandwidth_file);
4924 /* rule 219 can match eol */
4925 YY_RULE_SETUP ENTER(VALUE2);
4926 BUFFERSET(AX_surfxml_link_bandwidth_file);
4928 /* rule 220 can match eol */
4929 YY_RULE_SETUP ENTER(VALUE1);
4930 BUFFERSET(AX_surfxml_link_latency);
4932 /* rule 221 can match eol */
4933 YY_RULE_SETUP ENTER(VALUE2);
4934 BUFFERSET(AX_surfxml_link_latency);
4936 /* rule 222 can match eol */
4937 YY_RULE_SETUP ENTER(VALUE1);
4938 BUFFERSET(AX_surfxml_link_latency_file);
4940 /* rule 223 can match eol */
4941 YY_RULE_SETUP ENTER(VALUE2);
4942 BUFFERSET(AX_surfxml_link_latency_file);
4944 /* rule 224 can match eol */
4946 /* rule 225 can match eol */
4947 YY_RULE_SETUP A_surfxml_link_state = A_surfxml_link_state_ON;
4949 /* rule 226 can match eol */
4951 /* rule 227 can match eol */
4952 YY_RULE_SETUP A_surfxml_link_state = A_surfxml_link_state_OFF;
4954 /* rule 228 can match eol */
4955 YY_RULE_SETUP ENTER(VALUE1);
4956 BUFFERSET(AX_surfxml_link_state_file);
4958 /* rule 229 can match eol */
4959 YY_RULE_SETUP ENTER(VALUE2);
4960 BUFFERSET(AX_surfxml_link_state_file);
4962 /* rule 230 can match eol */
4964 /* rule 231 can match eol */
4967 A_surfxml_link_sharing_policy = A_surfxml_link_sharing_policy_SHARED;
4969 /* rule 232 can match eol */
4971 /* rule 233 can match eol */
4974 A_surfxml_link_sharing_policy = A_surfxml_link_sharing_policy_FATPIPE;
4975 YY_BREAK case 234:YY_RULE_SETUP {
4976 if (!AX_surfxml_link_id)
4977 FAIL("Required attribute `id' not set for `link' element.");
4978 if (!AX_surfxml_link_bandwidth)
4979 FAIL("Required attribute `bandwidth' not set for `link' element.");
4981 STag_surfxml_link();
4982 surfxml_pcdata_ix = 0;
4983 ENTER(S_surfxml_link);
4984 } YY_BREAK case 235:YY_RULE_SETUP {
4985 if (!AX_surfxml_link_id)
4986 FAIL("Required attribute `id' not set for `link' element.");
4987 if (!AX_surfxml_link_bandwidth)
4988 FAIL("Required attribute `bandwidth' not set for `link' element.");
4990 STag_surfxml_link();
4991 surfxml_pcdata_ix = 0;
4992 ETag_surfxml_link();
4993 popbuffer(); /* attribute */
4995 case S_surfxml_foreach:
4996 case S_surfxml_foreach_1:
4997 SET(E_surfxml_foreach);
4999 case S_surfxml_platform_2:case S_surfxml_platform:case
5000 S_surfxml_platform_3:SET(S_surfxml_platform_3);
5002 }} YY_BREAK case 236:YY_RULE_SETUP
5003 FAIL("Unexpected character `%c' in attribute list of link element.",
5004 surf_parse_text[0]);
5005 YY_BREAK case 237:YY_RULE_SETUP
5006 FAIL("Bad attribute `%s' in `link' element start tag.",
5009 YY_STATE_EOF(AL_surfxml_link):FAIL
5010 ("EOF in attribute list of `link' element.");
5012 /* rule 238 can match eol */
5015 ETag_surfxml_link();
5016 popbuffer(); /* attribute */
5018 case S_surfxml_foreach:
5019 case S_surfxml_foreach_1:
5020 SET(E_surfxml_foreach);
5022 case S_surfxml_platform_2:case S_surfxml_platform:case
5023 S_surfxml_platform_3:SET(S_surfxml_platform_3);
5025 }} YY_BREAK case 239:
5026 /* rule 239 can match eol */
5029 FAIL("Unexpected end-tag `%s': `</link>' expected.", surf_parse_text);
5030 YY_BREAK case 240:YY_RULE_SETUP
5031 FAIL("Unexpected character `%c': `</link>' expected.",
5032 surf_parse_text[0]);
5033 YY_BREAK case YY_STATE_EOF(S_surfxml_link_2):case
5034 YY_STATE_EOF(E_surfxml_link):case
5035 YY_STATE_EOF(S_surfxml_link):FAIL
5036 ("Premature EOF: `</link>' expected.");
5038 /* rule 241 can match eol */
5039 YY_RULE_SETUP FAIL("Starting tag <route:multi> is not allowed here.");
5041 /* rule 242 can match eol */
5043 AX_surfxml_route_c_multi_src = 0;
5044 AX_surfxml_route_c_multi_dst = 0;
5045 AX_surfxml_route_c_multi_action =
5046 A_surfxml_route_c_multi_action_POSTPEND;
5047 AX_surfxml_route_c_multi_symmetric =
5048 A_surfxml_route_c_multi_symmetric_YES;
5049 ENTER(AL_surfxml_route_c_multi);
5051 } YY_BREAK case 243:
5052 /* rule 243 can match eol */
5053 YY_RULE_SETUP ENTER(VALUE1);
5054 BUFFERSET(AX_surfxml_route_c_multi_src);
5056 /* rule 244 can match eol */
5057 YY_RULE_SETUP ENTER(VALUE2);
5058 BUFFERSET(AX_surfxml_route_c_multi_src);
5060 /* rule 245 can match eol */
5061 YY_RULE_SETUP ENTER(VALUE1);
5062 BUFFERSET(AX_surfxml_route_c_multi_dst);
5064 /* rule 246 can match eol */
5065 YY_RULE_SETUP ENTER(VALUE2);
5066 BUFFERSET(AX_surfxml_route_c_multi_dst);
5068 /* rule 247 can match eol */
5070 /* rule 248 can match eol */
5073 A_surfxml_route_c_multi_action =
5074 A_surfxml_route_c_multi_action_POSTPEND;
5076 /* rule 249 can match eol */
5078 /* rule 250 can match eol */
5081 A_surfxml_route_c_multi_action =
5082 A_surfxml_route_c_multi_action_PREPEND;
5084 /* rule 251 can match eol */
5086 /* rule 252 can match eol */
5089 A_surfxml_route_c_multi_action =
5090 A_surfxml_route_c_multi_action_OVERRIDE;
5092 /* rule 253 can match eol */
5094 /* rule 254 can match eol */
5097 A_surfxml_route_c_multi_symmetric =
5098 A_surfxml_route_c_multi_symmetric_YES;
5100 /* rule 255 can match eol */
5102 /* rule 256 can match eol */
5105 A_surfxml_route_c_multi_symmetric =
5106 A_surfxml_route_c_multi_symmetric_NO;
5107 YY_BREAK case 257:YY_RULE_SETUP {
5108 if (!AX_surfxml_route_c_multi_src)
5109 FAIL("Required attribute `src' not set for `route:multi' element.");
5110 if (!AX_surfxml_route_c_multi_dst)
5111 FAIL("Required attribute `dst' not set for `route:multi' element.");
5113 STag_surfxml_route_c_multi();
5114 surfxml_pcdata_ix = 0;
5115 ENTER(S_surfxml_route_c_multi);
5116 } YY_BREAK case 258:YY_RULE_SETUP
5117 FAIL("`route:multi' element cannot be empty.");
5118 YY_BREAK case 259:YY_RULE_SETUP
5120 ("Unexpected character `%c' in attribute list of route:multi element.",
5121 surf_parse_text[0]);
5122 YY_BREAK case 260:YY_RULE_SETUP
5123 FAIL("Bad attribute `%s' in `route:multi' element start tag.",
5126 YY_STATE_EOF(AL_surfxml_route_c_multi):FAIL
5127 ("EOF in attribute list of `route:multi' element.");
5129 /* rule 261 can match eol */
5132 ETag_surfxml_route_c_multi();
5133 popbuffer(); /* attribute */
5135 case S_surfxml_platform_5:
5136 case S_surfxml_platform_1:
5137 case S_surfxml_platform:
5138 case S_surfxml_platform_3:
5139 case S_surfxml_platform_4:
5140 SET(S_surfxml_platform_5);
5142 }} YY_BREAK case 262:
5143 /* rule 262 can match eol */
5146 FAIL("Unexpected end-tag `%s': `</route:multi>' expected.",
5148 YY_BREAK case 263:YY_RULE_SETUP
5149 FAIL("Unexpected character `%c': `</route:multi>' expected.",
5150 surf_parse_text[0]);
5151 YY_BREAK case YY_STATE_EOF(S_surfxml_route_c_multi_2):case
5152 YY_STATE_EOF(E_surfxml_route_c_multi):FAIL
5153 ("Premature EOF: `</route:multi>' expected.");
5155 /* rule 264 can match eol */
5156 YY_RULE_SETUP FAIL("Starting tag <route> is not allowed here.");
5158 /* rule 265 can match eol */
5160 AX_surfxml_route_src = 0;
5161 AX_surfxml_route_dst = 0;
5162 AX_surfxml_route_impact_on_src = 94;
5163 AX_surfxml_route_impact_on_dst = 98;
5164 AX_surfxml_route_impact_on_src_with_other_recv = 102;
5165 AX_surfxml_route_impact_on_dst_with_other_send = 106;
5166 AX_surfxml_route_action = A_surfxml_route_action_POSTPEND;
5167 ENTER(AL_surfxml_route);
5169 } YY_BREAK case 266:
5170 /* rule 266 can match eol */
5171 YY_RULE_SETUP ENTER(VALUE1);
5172 BUFFERSET(AX_surfxml_route_src);
5174 /* rule 267 can match eol */
5175 YY_RULE_SETUP ENTER(VALUE2);
5176 BUFFERSET(AX_surfxml_route_src);
5178 /* rule 268 can match eol */
5179 YY_RULE_SETUP ENTER(VALUE1);
5180 BUFFERSET(AX_surfxml_route_dst);
5182 /* rule 269 can match eol */
5183 YY_RULE_SETUP ENTER(VALUE2);
5184 BUFFERSET(AX_surfxml_route_dst);
5186 /* rule 270 can match eol */
5187 YY_RULE_SETUP ENTER(VALUE1);
5188 BUFFERSET(AX_surfxml_route_impact_on_src);
5190 /* rule 271 can match eol */
5191 YY_RULE_SETUP ENTER(VALUE2);
5192 BUFFERSET(AX_surfxml_route_impact_on_src);
5194 /* rule 272 can match eol */
5195 YY_RULE_SETUP ENTER(VALUE1);
5196 BUFFERSET(AX_surfxml_route_impact_on_dst);
5198 /* rule 273 can match eol */
5199 YY_RULE_SETUP ENTER(VALUE2);
5200 BUFFERSET(AX_surfxml_route_impact_on_dst);
5202 /* rule 274 can match eol */
5203 YY_RULE_SETUP ENTER(VALUE1);
5204 BUFFERSET(AX_surfxml_route_impact_on_src_with_other_recv);
5206 /* rule 275 can match eol */
5207 YY_RULE_SETUP ENTER(VALUE2);
5208 BUFFERSET(AX_surfxml_route_impact_on_src_with_other_recv);
5210 /* rule 276 can match eol */
5211 YY_RULE_SETUP ENTER(VALUE1);
5212 BUFFERSET(AX_surfxml_route_impact_on_dst_with_other_send);
5214 /* rule 277 can match eol */
5215 YY_RULE_SETUP ENTER(VALUE2);
5216 BUFFERSET(AX_surfxml_route_impact_on_dst_with_other_send);
5218 /* rule 278 can match eol */
5220 /* rule 279 can match eol */
5222 YY_RULE_SETUP A_surfxml_route_action =
5223 A_surfxml_route_action_POSTPEND;
5225 /* rule 280 can match eol */
5227 /* rule 281 can match eol */
5228 YY_RULE_SETUP A_surfxml_route_action = A_surfxml_route_action_PREPEND;
5230 /* rule 282 can match eol */
5232 /* rule 283 can match eol */
5234 YY_RULE_SETUP A_surfxml_route_action =
5235 A_surfxml_route_action_OVERRIDE;
5236 YY_BREAK case 284:YY_RULE_SETUP {
5237 if (!AX_surfxml_route_src)
5238 FAIL("Required attribute `src' not set for `route' element.");
5239 if (!AX_surfxml_route_dst)
5240 FAIL("Required attribute `dst' not set for `route' element.");
5242 STag_surfxml_route();
5243 surfxml_pcdata_ix = 0;
5244 ENTER(S_surfxml_route);
5245 } YY_BREAK case 285:YY_RULE_SETUP {
5246 if (!AX_surfxml_route_src)
5247 FAIL("Required attribute `src' not set for `route' element.");
5248 if (!AX_surfxml_route_dst)
5249 FAIL("Required attribute `dst' not set for `route' element.");
5251 STag_surfxml_route();
5252 surfxml_pcdata_ix = 0;
5253 ETag_surfxml_route();
5254 popbuffer(); /* attribute */
5256 case S_surfxml_platform_5:
5257 case S_surfxml_platform_1:
5258 case S_surfxml_platform:
5259 case S_surfxml_platform_3:
5260 case S_surfxml_platform_4:
5261 SET(S_surfxml_platform_5);
5263 }} YY_BREAK case 286:YY_RULE_SETUP
5264 FAIL("Unexpected character `%c' in attribute list of route element.",
5265 surf_parse_text[0]);
5266 YY_BREAK case 287:YY_RULE_SETUP
5267 FAIL("Bad attribute `%s' in `route' element start tag.",
5270 YY_STATE_EOF(AL_surfxml_route):FAIL
5271 ("EOF in attribute list of `route' element.");
5273 /* rule 288 can match eol */
5276 ETag_surfxml_route();
5277 popbuffer(); /* attribute */
5279 case S_surfxml_platform_5:
5280 case S_surfxml_platform_1:
5281 case S_surfxml_platform:
5282 case S_surfxml_platform_3:
5283 case S_surfxml_platform_4:
5284 SET(S_surfxml_platform_5);
5286 }} YY_BREAK case 289:
5287 /* rule 289 can match eol */
5290 FAIL("Unexpected end-tag `%s': `</route>' expected.",
5292 YY_BREAK case 290:YY_RULE_SETUP
5293 FAIL("Unexpected character `%c': `</route>' expected.",
5294 surf_parse_text[0]);
5295 YY_BREAK case YY_STATE_EOF(S_surfxml_route):case
5296 YY_STATE_EOF(S_surfxml_route_2):case
5297 YY_STATE_EOF(E_surfxml_route):FAIL
5298 ("Premature EOF: `</route>' expected.");
5300 /* rule 291 can match eol */
5301 YY_RULE_SETUP FAIL("Starting tag <link:ctn> is not allowed here.");
5303 /* rule 292 can match eol */
5305 AX_surfxml_link_c_ctn_id = 0;
5306 ENTER(AL_surfxml_link_c_ctn);
5308 } YY_BREAK case 293:
5309 /* rule 293 can match eol */
5310 YY_RULE_SETUP ENTER(VALUE1);
5311 BUFFERSET(AX_surfxml_link_c_ctn_id);
5313 /* rule 294 can match eol */
5314 YY_RULE_SETUP ENTER(VALUE2);
5315 BUFFERSET(AX_surfxml_link_c_ctn_id);
5316 YY_BREAK case 295:YY_RULE_SETUP {
5317 if (!AX_surfxml_link_c_ctn_id)
5318 FAIL("Required attribute `id' not set for `link:ctn' element.");
5320 STag_surfxml_link_c_ctn();
5321 surfxml_pcdata_ix = 0;
5322 ENTER(E_surfxml_link_c_ctn);
5323 } YY_BREAK case 296:YY_RULE_SETUP {
5324 if (!AX_surfxml_link_c_ctn_id)
5325 FAIL("Required attribute `id' not set for `link:ctn' element.");
5327 STag_surfxml_link_c_ctn();
5328 surfxml_pcdata_ix = 0;
5329 ETag_surfxml_link_c_ctn();
5330 popbuffer(); /* attribute */
5332 case S_surfxml_route_1:
5333 case S_surfxml_route:
5334 case S_surfxml_route_2:
5335 SET(S_surfxml_route_2);
5337 case S_surfxml_route_c_multi_2:case S_surfxml_route_c_multi_1:case
5338 S_surfxml_route_c_multi:SET(S_surfxml_route_c_multi_2);
5340 }} YY_BREAK case 297:YY_RULE_SETUP
5342 ("Unexpected character `%c' in attribute list of link:ctn element.",
5343 surf_parse_text[0]);
5344 YY_BREAK case 298:YY_RULE_SETUP
5345 FAIL("Bad attribute `%s' in `link:ctn' element start tag.",
5348 YY_STATE_EOF(AL_surfxml_link_c_ctn):FAIL
5349 ("EOF in attribute list of `link:ctn' element.");
5351 /* rule 299 can match eol */
5354 ETag_surfxml_link_c_ctn();
5355 popbuffer(); /* attribute */
5357 case S_surfxml_route_1:
5358 case S_surfxml_route:
5359 case S_surfxml_route_2:
5360 SET(S_surfxml_route_2);
5362 case S_surfxml_route_c_multi_2:case S_surfxml_route_c_multi_1:case
5363 S_surfxml_route_c_multi:SET(S_surfxml_route_c_multi_2);
5365 }} YY_BREAK case 300:
5366 /* rule 300 can match eol */
5369 FAIL("Unexpected end-tag `%s': `</link:ctn>' expected.",
5371 YY_BREAK case 301:YY_RULE_SETUP
5372 FAIL("Unexpected character `%c': `</link:ctn>' expected.",
5373 surf_parse_text[0]);
5375 YY_STATE_EOF(E_surfxml_link_c_ctn):FAIL
5376 ("Premature EOF: `</link:ctn>' expected.");
5378 /* rule 302 can match eol */
5379 YY_RULE_SETUP FAIL("Starting tag <process> is not allowed here.");
5381 /* rule 303 can match eol */
5383 AX_surfxml_process_host = 0;
5384 AX_surfxml_process_function = 0;
5385 AX_surfxml_process_start_time = 110;
5386 AX_surfxml_process_kill_time = 115;
5387 ENTER(AL_surfxml_process);
5389 } YY_BREAK case 304:
5390 /* rule 304 can match eol */
5391 YY_RULE_SETUP ENTER(VALUE1);
5392 BUFFERSET(AX_surfxml_process_host);
5394 /* rule 305 can match eol */
5395 YY_RULE_SETUP ENTER(VALUE2);
5396 BUFFERSET(AX_surfxml_process_host);
5398 /* rule 306 can match eol */
5399 YY_RULE_SETUP ENTER(VALUE1);
5400 BUFFERSET(AX_surfxml_process_function);
5402 /* rule 307 can match eol */
5403 YY_RULE_SETUP ENTER(VALUE2);
5404 BUFFERSET(AX_surfxml_process_function);
5406 /* rule 308 can match eol */
5407 YY_RULE_SETUP ENTER(VALUE1);
5408 BUFFERSET(AX_surfxml_process_start_time);
5410 /* rule 309 can match eol */
5411 YY_RULE_SETUP ENTER(VALUE2);
5412 BUFFERSET(AX_surfxml_process_start_time);
5414 /* rule 310 can match eol */
5415 YY_RULE_SETUP ENTER(VALUE1);
5416 BUFFERSET(AX_surfxml_process_kill_time);
5418 /* rule 311 can match eol */
5419 YY_RULE_SETUP ENTER(VALUE2);
5420 BUFFERSET(AX_surfxml_process_kill_time);
5421 YY_BREAK case 312:YY_RULE_SETUP {
5422 if (!AX_surfxml_process_host)
5423 FAIL("Required attribute `host' not set for `process' element.");
5424 if (!AX_surfxml_process_function)
5426 ("Required attribute `function' not set for `process' element.");
5428 STag_surfxml_process();
5429 surfxml_pcdata_ix = 0;
5430 ENTER(S_surfxml_process);
5431 } YY_BREAK case 313:YY_RULE_SETUP {
5432 if (!AX_surfxml_process_host)
5433 FAIL("Required attribute `host' not set for `process' element.");
5434 if (!AX_surfxml_process_function)
5436 ("Required attribute `function' not set for `process' element.");
5438 STag_surfxml_process();
5439 surfxml_pcdata_ix = 0;
5440 ETag_surfxml_process();
5441 popbuffer(); /* attribute */
5443 case S_surfxml_platform_5:
5444 case S_surfxml_platform_1:
5445 case S_surfxml_platform:
5446 case S_surfxml_platform_3:
5447 case S_surfxml_platform_4:
5448 SET(S_surfxml_platform_5);
5450 }} YY_BREAK case 314:YY_RULE_SETUP
5452 ("Unexpected character `%c' in attribute list of process element.",
5453 surf_parse_text[0]);
5454 YY_BREAK case 315:YY_RULE_SETUP
5455 FAIL("Bad attribute `%s' in `process' element start tag.",
5458 YY_STATE_EOF(AL_surfxml_process):FAIL
5459 ("EOF in attribute list of `process' element.");
5461 /* rule 316 can match eol */
5464 ETag_surfxml_process();
5465 popbuffer(); /* attribute */
5467 case S_surfxml_platform_5:
5468 case S_surfxml_platform_1:
5469 case S_surfxml_platform:
5470 case S_surfxml_platform_3:
5471 case S_surfxml_platform_4:
5472 SET(S_surfxml_platform_5);
5474 }} YY_BREAK case 317:
5475 /* rule 317 can match eol */
5478 FAIL("Unexpected end-tag `%s': `</process>' expected.",
5480 YY_BREAK case 318:YY_RULE_SETUP
5481 FAIL("Unexpected character `%c': `</process>' expected.",
5482 surf_parse_text[0]);
5483 YY_BREAK case YY_STATE_EOF(S_surfxml_process):case
5484 YY_STATE_EOF(E_surfxml_process):case
5485 YY_STATE_EOF(S_surfxml_process_2):FAIL
5486 ("Premature EOF: `</process>' expected.");
5488 /* rule 319 can match eol */
5489 YY_RULE_SETUP FAIL("Starting tag <argument> is not allowed here.");
5491 /* rule 320 can match eol */
5493 AX_surfxml_argument_value = 0;
5494 ENTER(AL_surfxml_argument);
5496 } YY_BREAK case 321:
5497 /* rule 321 can match eol */
5498 YY_RULE_SETUP ENTER(VALUE1);
5499 BUFFERSET(AX_surfxml_argument_value);
5501 /* rule 322 can match eol */
5502 YY_RULE_SETUP ENTER(VALUE2);
5503 BUFFERSET(AX_surfxml_argument_value);
5504 YY_BREAK case 323:YY_RULE_SETUP {
5505 if (!AX_surfxml_argument_value)
5506 FAIL("Required attribute `value' not set for `argument' element.");
5508 STag_surfxml_argument();
5509 surfxml_pcdata_ix = 0;
5510 ENTER(E_surfxml_argument);
5511 } YY_BREAK case 324:YY_RULE_SETUP {
5512 if (!AX_surfxml_argument_value)
5513 FAIL("Required attribute `value' not set for `argument' element.");
5515 STag_surfxml_argument();
5516 surfxml_pcdata_ix = 0;
5517 ETag_surfxml_argument();
5518 popbuffer(); /* attribute */
5520 case S_surfxml_process_1:
5521 case S_surfxml_process:
5522 case S_surfxml_process_2:
5523 SET(S_surfxml_process_2);
5525 }} YY_BREAK case 325:YY_RULE_SETUP
5527 ("Unexpected character `%c' in attribute list of argument element.",
5528 surf_parse_text[0]);
5529 YY_BREAK case 326:YY_RULE_SETUP
5530 FAIL("Bad attribute `%s' in `argument' element start tag.",
5533 YY_STATE_EOF(AL_surfxml_argument):FAIL
5534 ("EOF in attribute list of `argument' element.");
5536 /* rule 327 can match eol */
5539 ETag_surfxml_argument();
5540 popbuffer(); /* attribute */
5542 case S_surfxml_process_1:
5543 case S_surfxml_process:
5544 case S_surfxml_process_2:
5545 SET(S_surfxml_process_2);
5547 }} YY_BREAK case 328:
5548 /* rule 328 can match eol */
5551 FAIL("Unexpected end-tag `%s': `</argument>' expected.",
5553 YY_BREAK case 329:YY_RULE_SETUP
5554 FAIL("Unexpected character `%c': `</argument>' expected.",
5555 surf_parse_text[0]);
5557 YY_STATE_EOF(E_surfxml_argument):FAIL
5558 ("Premature EOF: `</argument>' expected.");
5560 /* EPILOG: after the root element. */
5568 YY_BREAK case YY_STATE_EOF(EPILOG):SUCCEED;
5570 /* CHARACTER DATA. */
5571 /* Non-defined standard entities... */
5573 YY_RULE_SETUP BUFFERPUTC('&');
5574 YY_BREAK case 332:YY_RULE_SETUP BUFFERPUTC('<');
5575 YY_BREAK case 333:YY_RULE_SETUP BUFFERPUTC('>');
5576 YY_BREAK case 334:YY_RULE_SETUP BUFFERPUTC('\'');
5577 YY_BREAK case 335:YY_RULE_SETUP BUFFERPUTC('"');
5579 /* Character entities. */
5581 YY_RULE_SETUP BUFFERPUTC((unsigned char) atoi(surf_parse_text + 2));
5582 YY_BREAK case 337:YY_RULE_SETUP
5583 BUFFERPUTC((unsigned char) strtol(surf_parse_text + 3, NULL, 16));
5585 /* rule 338 can match eol */
5587 /* rule 339 can match eol */
5589 /* rule 340 can match eol */
5591 /* rule 341 can match eol */
5592 YY_RULE_SETUP BUFFERPUTC('\n');
5593 YY_BREAK case 342:YY_RULE_SETUP ENTER(CDATA);
5594 YY_BREAK case 343:YY_RULE_SETUP FAIL("Unexpected `]"
5595 "]>' in character data.");
5596 YY_BREAK case 344:YY_RULE_SETUP BUFFERDONE;
5599 YY_STATE_EOF(VALUE1):FAIL("EOF in literal (\"'\" expected).");
5600 YY_BREAK case 345:YY_RULE_SETUP BUFFERDONE;
5603 YY_STATE_EOF(VALUE2):FAIL("EOF in literal (`\"' expected).");
5605 /* rule 346 can match eol */
5606 YY_RULE_SETUP BUFFERPUTC(surf_parse_text[0]);
5607 YY_BREAK case 347:YY_RULE_SETUP
5608 FAIL("Spurious `%c' in character data.", surf_parse_text[0]);
5609 YY_BREAK case 348:YY_RULE_SETUP LEAVE;
5611 /* "]""]" BUFFERPUTC(surf_parse_text[0]); BUFFERPUTC(surf_parse_text[1]); */
5613 YY_RULE_SETUP BUFFERPUTC(surf_parse_text[0]);
5614 YY_BREAK case YY_STATE_EOF(CDATA):FAIL("EOF in CDATA section.");
5616 /* Impossible rules to avoid warnings from flex(1). */
5617 /* Ideally, this should be replaced by code in flexml.pl that
5618 generates just the states not covered by other rules. */
5620 /* rule 350 can match eol */
5622 FAIL("Syntax error on character `%c'.", surf_parse_text[0]);
5623 YY_BREAK case 351:YY_RULE_SETUP ECHO;
5624 YY_BREAK case YY_STATE_EOF(INITIAL):case
5625 YY_STATE_EOF(ROOT_surfxml_platform):case
5626 YY_STATE_EOF(S_surfxml_platform_2):case
5627 YY_STATE_EOF(S_surfxml_platform_4):case
5628 YY_STATE_EOF(S_surfxml_random_1):case
5629 YY_STATE_EOF(S_surfxml_foreach):case
5630 YY_STATE_EOF(S_surfxml_foreach_1):case
5631 YY_STATE_EOF(S_surfxml_host_1):case
5632 YY_STATE_EOF(S_surfxml_link_1):case
5633 YY_STATE_EOF(S_surfxml_route_c_multi):case
5634 YY_STATE_EOF(S_surfxml_route_c_multi_1):case
5635 YY_STATE_EOF(S_surfxml_route_1):case
5636 YY_STATE_EOF(S_surfxml_process_1):case
5637 YY_STATE_EOF(IMPOSSIBLE):yyterminate();
5639 case YY_END_OF_BUFFER:
5641 /* Amount of text matched not including the EOB char. */
5642 int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
5644 /* Undo the effects of YY_DO_BEFORE_ACTION. */
5645 *yy_cp = (yy_hold_char);
5646 YY_RESTORE_YY_MORE_OFFSET
5647 if (YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW) {
5648 /* We're scanning a new file or input source. It's
5649 * possible that this happened because the user
5650 * just pointed surf_parse_in at a new source and called
5651 * surf_parse_lex(). If so, then we have to assure
5652 * consistency between YY_CURRENT_BUFFER and our
5653 * globals. Here is the right place to do so, because
5654 * this is the first action (other than possibly a
5655 * back-up) that will match for the new input source.
5657 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
5658 YY_CURRENT_BUFFER_LVALUE->yy_input_file = surf_parse_in;
5659 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
5662 /* Note that here we test for yy_c_buf_p "<=" to the position
5663 * of the first EOB in the buffer, since yy_c_buf_p will
5664 * already have been incremented past the NUL character
5665 * (since all states make transitions on EOB to the
5666 * end-of-buffer state). Contrast this with the test
5669 if ((yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)]) { /* This was really a NUL. */
5670 yy_state_type yy_next_state;
5672 (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
5674 yy_current_state = yy_get_previous_state();
5676 /* Okay, we're now positioned to make the NUL
5677 * transition. We couldn't have
5678 * yy_get_previous_state() go ahead and do it
5679 * for us because it doesn't know how to deal
5680 * with the possibility of jamming (and we don't
5681 * want to build jamming into it because then it
5682 * will run more slowly).
5685 yy_next_state = yy_try_NUL_trans(yy_current_state);
5687 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
5689 if (yy_next_state) {
5690 /* Consume the NUL. */
5691 yy_cp = ++(yy_c_buf_p);
5692 yy_current_state = yy_next_state;
5697 yy_cp = (yy_c_buf_p);
5698 goto yy_find_action;
5703 switch (yy_get_next_buffer()) {
5704 case EOB_ACT_END_OF_FILE:
5706 (yy_did_buffer_switch_on_eof) = 0;
5708 if (surf_parse_wrap()) {
5709 /* Note: because we've taken care in
5710 * yy_get_next_buffer() to have set up
5711 * surf_parse_text, we can now set up
5712 * yy_c_buf_p so that if some total
5713 * hoser (like flex itself) wants to
5714 * call the scanner after we return the
5715 * YY_NULL, it'll still work - another
5716 * YY_NULL will get returned.
5718 (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
5720 yy_act = YY_STATE_EOF(YY_START);
5725 if (!(yy_did_buffer_switch_on_eof))
5731 case EOB_ACT_CONTINUE_SCAN:
5732 (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
5734 yy_current_state = yy_get_previous_state();
5736 yy_cp = (yy_c_buf_p);
5737 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
5740 case EOB_ACT_LAST_MATCH:
5741 (yy_c_buf_p) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
5743 yy_current_state = yy_get_previous_state();
5745 yy_cp = (yy_c_buf_p);
5746 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
5747 goto yy_find_action;
5753 YY_FATAL_ERROR("fatal flex scanner internal error--no action found");
5754 } /* end of action switch */
5755 } /* end of scanning one token */
5756 } /* end of surf_parse_lex */
5758 /* yy_get_next_buffer - try to read in a new buffer
5760 * Returns a code representing an action:
5761 * EOB_ACT_LAST_MATCH -
5762 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
5763 * EOB_ACT_END_OF_FILE - end of file
5765 static int yy_get_next_buffer(void)
5767 register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
5768 register char *source = (yytext_ptr);
5769 register int number_to_move, i;
5772 if ((yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1])
5773 YY_FATAL_ERROR("fatal flex scanner internal error--end of buffer missed");
5775 if (YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0) { /* Don't try to fill the buffer, so this is an EOF. */
5776 if ((yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1) {
5777 /* We matched a single character, the EOB, so
5778 * treat this as a final EOF.
5780 return EOB_ACT_END_OF_FILE;
5784 /* We matched some text prior to the EOB, first
5787 return EOB_ACT_LAST_MATCH;
5791 /* Try to read more data. */
5793 /* First move last chars to start of buffer. */
5794 number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
5796 for (i = 0; i < number_to_move; ++i)
5797 *(dest++) = *(source++);
5799 if (YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING)
5800 /* don't do the read, it's not guaranteed to return an EOF,
5803 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
5807 YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
5809 while (num_to_read <= 0) { /* Not enough room in the buffer - grow it. */
5811 /* just a shorter name for the current buffer */
5812 YY_BUFFER_STATE b = YY_CURRENT_BUFFER;
5814 int yy_c_buf_p_offset = (int) ((yy_c_buf_p) - b->yy_ch_buf);
5816 if (b->yy_is_our_buffer) {
5817 int new_size = b->yy_buf_size * 2;
5820 b->yy_buf_size += b->yy_buf_size / 8;
5822 b->yy_buf_size *= 2;
5824 b->yy_ch_buf = (char *)
5825 /* Include room in for 2 EOB chars. */
5826 surf_parse_realloc((void *) b->yy_ch_buf, b->yy_buf_size + 2);
5828 /* Can't grow it, we don't own it. */
5832 YY_FATAL_ERROR("fatal error - scanner input buffer overflow");
5834 (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
5836 num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
5841 if (num_to_read > YY_READ_BUF_SIZE)
5842 num_to_read = YY_READ_BUF_SIZE;
5844 /* Read in more data. */
5845 YY_INPUT((&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
5846 (yy_n_chars), (size_t) num_to_read);
5848 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
5851 if ((yy_n_chars) == 0) {
5852 if (number_to_move == YY_MORE_ADJ) {
5853 ret_val = EOB_ACT_END_OF_FILE;
5854 surf_parse_restart(surf_parse_in);
5858 ret_val = EOB_ACT_LAST_MATCH;
5859 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_EOF_PENDING;
5864 ret_val = EOB_ACT_CONTINUE_SCAN;
5866 if ((yy_size_t) ((yy_n_chars) + number_to_move) >
5867 YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
5868 /* Extend the array by 50%, plus the number we really need. */
5869 yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
5870 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf =
5871 (char *) surf_parse_realloc((void *)
5872 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,
5874 if (!YY_CURRENT_BUFFER_LVALUE->yy_ch_buf)
5875 YY_FATAL_ERROR("out of dynamic memory in yy_get_next_buffer()");
5878 (yy_n_chars) += number_to_move;
5879 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
5880 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] =
5881 YY_END_OF_BUFFER_CHAR;
5883 (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
5888 /* yy_get_previous_state - get the state just before the EOB char was reached */
5890 static yy_state_type yy_get_previous_state(void)
5892 register yy_state_type yy_current_state;
5893 register char *yy_cp;
5895 yy_current_state = (yy_start);
5897 for (yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp) {
5898 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
5899 if (yy_accept[yy_current_state]) {
5900 (yy_last_accepting_state) = yy_current_state;
5901 (yy_last_accepting_cpos) = yy_cp;
5903 while (yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state) {
5904 yy_current_state = (int) yy_def[yy_current_state];
5905 if (yy_current_state >= 2023)
5906 yy_c = yy_meta[(unsigned int) yy_c];
5909 yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
5912 return yy_current_state;
5915 /* yy_try_NUL_trans - try to make a transition on the NUL character
5918 * next_state = yy_try_NUL_trans( current_state );
5920 static yy_state_type yy_try_NUL_trans(yy_state_type yy_current_state)
5922 register int yy_is_jam;
5923 register char *yy_cp = (yy_c_buf_p);
5925 register YY_CHAR yy_c = 1;
5926 if (yy_accept[yy_current_state]) {
5927 (yy_last_accepting_state) = yy_current_state;
5928 (yy_last_accepting_cpos) = yy_cp;
5930 while (yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state) {
5931 yy_current_state = (int) yy_def[yy_current_state];
5932 if (yy_current_state >= 2023)
5933 yy_c = yy_meta[(unsigned int) yy_c];
5935 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
5936 yy_is_jam = (yy_current_state == 2022);
5938 return yy_is_jam ? 0 : yy_current_state;
5943 static int yyinput(void)
5945 static int input(void)
5950 *(yy_c_buf_p) = (yy_hold_char);
5952 if (*(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR) {
5953 /* yy_c_buf_p now points to the character we want to return.
5954 * If this occurs *before* the EOB characters, then it's a
5955 * valid NUL; if not, then we've hit the end of the buffer.
5957 if ((yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)])
5958 /* This was really a NUL. */
5959 *(yy_c_buf_p) = '\0';
5961 else { /* need more input */
5962 int offset = (yy_c_buf_p) - (yytext_ptr);
5965 switch (yy_get_next_buffer()) {
5966 case EOB_ACT_LAST_MATCH:
5967 /* This happens because yy_g_n_b()
5968 * sees that we've accumulated a
5969 * token and flags that we need to
5970 * try matching the token before
5971 * proceeding. But for input(),
5972 * there's no matching to consider.
5973 * So convert the EOB_ACT_LAST_MATCH
5974 * to EOB_ACT_END_OF_FILE.
5977 /* Reset buffer status. */
5978 surf_parse_restart(surf_parse_in);
5980 /*FALLTHROUGH*/ case EOB_ACT_END_OF_FILE:
5982 if (surf_parse_wrap())
5985 if (!(yy_did_buffer_switch_on_eof))
5994 case EOB_ACT_CONTINUE_SCAN:
5995 (yy_c_buf_p) = (yytext_ptr) + offset;
6001 c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */
6002 *(yy_c_buf_p) = '\0'; /* preserve surf_parse_text */
6003 (yy_hold_char) = *++(yy_c_buf_p);
6007 surf_parse_lineno++;
6012 #endif /* ifndef YY_NO_INPUT */
6014 /** Immediately switch to a different input stream.
6015 * @param input_file A readable stream.
6017 * @note This function does not reset the start condition to @c INITIAL .
6019 void surf_parse_restart(FILE * input_file)
6022 if (!YY_CURRENT_BUFFER) {
6023 surf_parse_ensure_buffer_stack();
6024 YY_CURRENT_BUFFER_LVALUE =
6025 surf_parse__create_buffer(surf_parse_in, YY_BUF_SIZE);
6028 surf_parse__init_buffer(YY_CURRENT_BUFFER, input_file);
6029 surf_parse__load_buffer_state();
6032 /** Switch to a different input buffer.
6033 * @param new_buffer The new input buffer.
6036 void surf_parse__switch_to_buffer(YY_BUFFER_STATE new_buffer)
6039 /* TODO. We should be able to replace this entire function body
6041 * surf_parse_pop_buffer_state();
6042 * surf_parse_push_buffer_state(new_buffer);
6044 surf_parse_ensure_buffer_stack();
6045 if (YY_CURRENT_BUFFER == new_buffer)
6048 if (YY_CURRENT_BUFFER) {
6049 /* Flush out information for old buffer. */
6050 *(yy_c_buf_p) = (yy_hold_char);
6051 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
6052 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
6055 YY_CURRENT_BUFFER_LVALUE = new_buffer;
6056 surf_parse__load_buffer_state();
6058 /* We don't actually know whether we did this switch during
6059 * EOF (surf_parse_wrap()) processing, but the only time this flag
6060 * is looked at is after surf_parse_wrap() is called, so it's safe
6061 * to go ahead and always set it.
6063 (yy_did_buffer_switch_on_eof) = 1;
6066 static void surf_parse__load_buffer_state(void)
6068 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
6069 (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
6070 surf_parse_in = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
6071 (yy_hold_char) = *(yy_c_buf_p);
6074 /** Allocate and initialize an input buffer state.
6075 * @param file A readable stream.
6076 * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
6078 * @return the allocated buffer state.
6080 YY_BUFFER_STATE surf_parse__create_buffer(FILE * file, int size)
6084 b = (YY_BUFFER_STATE) surf_parse_alloc(sizeof(struct yy_buffer_state));
6086 YY_FATAL_ERROR("out of dynamic memory in surf_parse__create_buffer()");
6088 b->yy_buf_size = size;
6090 /* yy_ch_buf has to be 2 characters longer than the size given because
6091 * we need to put in 2 end-of-buffer characters.
6093 b->yy_ch_buf = (char *) surf_parse_alloc(b->yy_buf_size + 2);
6095 YY_FATAL_ERROR("out of dynamic memory in surf_parse__create_buffer()");
6097 b->yy_is_our_buffer = 1;
6099 surf_parse__init_buffer(b, file);
6104 /** Destroy the buffer.
6105 * @param b a buffer created with surf_parse__create_buffer()
6108 void surf_parse__delete_buffer(YY_BUFFER_STATE b)
6114 if (b == YY_CURRENT_BUFFER) /* Not sure if we should pop here. */
6115 YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
6117 if (b->yy_is_our_buffer)
6118 surf_parse_free((void *) b->yy_ch_buf);
6120 surf_parse_free((void *) b);
6124 extern int isatty(int);
6125 #endif /* __cplusplus */
6127 /* Initializes or reinitializes a buffer.
6128 * This function is sometimes called more than once on the same buffer,
6129 * such as during a surf_parse_restart() or at EOF.
6131 static void surf_parse__init_buffer(YY_BUFFER_STATE b, FILE * file)
6135 surf_parse__flush_buffer(b);
6137 b->yy_input_file = file;
6138 b->yy_fill_buffer = 1;
6140 /* If b is the current buffer, then surf_parse__init_buffer was _probably_
6141 * called from surf_parse_restart() or through yy_get_next_buffer.
6142 * In that case, we don't want to reset the lineno or column.
6144 if (b != YY_CURRENT_BUFFER) {
6145 b->yy_bs_lineno = 1;
6146 b->yy_bs_column = 0;
6149 b->yy_is_interactive = file ? (isatty(fileno(file)) > 0) : 0;
6154 /** Discard all buffered characters. On the next scan, YY_INPUT will be called.
6155 * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
6158 void surf_parse__flush_buffer(YY_BUFFER_STATE b)
6165 /* We always need two end-of-buffer characters. The first causes
6166 * a transition to the end-of-buffer state. The second causes
6167 * a jam in that state.
6169 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
6170 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
6172 b->yy_buf_pos = &b->yy_ch_buf[0];
6175 b->yy_buffer_status = YY_BUFFER_NEW;
6177 if (b == YY_CURRENT_BUFFER)
6178 surf_parse__load_buffer_state();
6181 /** Pushes the new state onto the stack. The new state becomes
6182 * the current state. This function will allocate the stack
6184 * @param new_buffer The new state.
6187 void surf_parse_push_buffer_state(YY_BUFFER_STATE new_buffer)
6189 if (new_buffer == NULL)
6192 surf_parse_ensure_buffer_stack();
6194 /* This block is copied from surf_parse__switch_to_buffer. */
6195 if (YY_CURRENT_BUFFER) {
6196 /* Flush out information for old buffer. */
6197 *(yy_c_buf_p) = (yy_hold_char);
6198 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
6199 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
6202 /* Only push if top exists. Otherwise, replace top. */
6203 if (YY_CURRENT_BUFFER)
6204 (yy_buffer_stack_top)++;
6205 YY_CURRENT_BUFFER_LVALUE = new_buffer;
6207 /* copied from surf_parse__switch_to_buffer. */
6208 surf_parse__load_buffer_state();
6209 (yy_did_buffer_switch_on_eof) = 1;
6212 /** Removes and deletes the top of the stack, if present.
6213 * The next element becomes the new top.
6216 void surf_parse_pop_buffer_state(void)
6218 if (!YY_CURRENT_BUFFER)
6221 surf_parse__delete_buffer(YY_CURRENT_BUFFER);
6222 YY_CURRENT_BUFFER_LVALUE = NULL;
6223 if ((yy_buffer_stack_top) > 0)
6224 --(yy_buffer_stack_top);
6226 if (YY_CURRENT_BUFFER) {
6227 surf_parse__load_buffer_state();
6228 (yy_did_buffer_switch_on_eof) = 1;
6232 /* Allocates the stack if it does not exist.
6233 * Guarantees space for at least one push.
6235 static void surf_parse_ensure_buffer_stack(void)
6239 if (!(yy_buffer_stack)) {
6241 /* First allocation is just for 2 elements, since we don't know if this
6242 * scanner will even need a stack. We use 2 instead of 1 to avoid an
6243 * immediate realloc on the next call.
6246 (yy_buffer_stack) = (struct yy_buffer_state **) surf_parse_alloc
6247 (num_to_alloc * sizeof(struct yy_buffer_state *)
6249 if (!(yy_buffer_stack))
6251 ("out of dynamic memory in surf_parse_ensure_buffer_stack()");
6253 memset((yy_buffer_stack), 0,
6254 num_to_alloc * sizeof(struct yy_buffer_state *));
6256 (yy_buffer_stack_max) = num_to_alloc;
6257 (yy_buffer_stack_top) = 0;
6261 if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1) {
6263 /* Increase the buffer to prepare for a possible push. */
6264 int grow_size = 8 /* arbitrary grow size */ ;
6266 num_to_alloc = (yy_buffer_stack_max) + grow_size;
6267 (yy_buffer_stack) = (struct yy_buffer_state **) surf_parse_realloc
6268 ((yy_buffer_stack), num_to_alloc * sizeof(struct yy_buffer_state *)
6270 if (!(yy_buffer_stack))
6272 ("out of dynamic memory in surf_parse_ensure_buffer_stack()");
6274 /* zero only the new slots. */
6275 memset((yy_buffer_stack) + (yy_buffer_stack_max), 0,
6276 grow_size * sizeof(struct yy_buffer_state *));
6277 (yy_buffer_stack_max) = num_to_alloc;
6281 /** Setup the input buffer state to scan directly from a user-specified character buffer.
6282 * @param base the character buffer
6283 * @param size the size in bytes of the character buffer
6285 * @return the newly allocated buffer state object.
6287 YY_BUFFER_STATE surf_parse__scan_buffer(char *base, yy_size_t size)
6292 base[size - 2] != YY_END_OF_BUFFER_CHAR ||
6293 base[size - 1] != YY_END_OF_BUFFER_CHAR)
6294 /* They forgot to leave room for the EOB's. */
6297 b = (YY_BUFFER_STATE) surf_parse_alloc(sizeof(struct yy_buffer_state));
6299 YY_FATAL_ERROR("out of dynamic memory in surf_parse__scan_buffer()");
6301 b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
6302 b->yy_buf_pos = b->yy_ch_buf = base;
6303 b->yy_is_our_buffer = 0;
6304 b->yy_input_file = 0;
6305 b->yy_n_chars = b->yy_buf_size;
6306 b->yy_is_interactive = 0;
6308 b->yy_fill_buffer = 0;
6309 b->yy_buffer_status = YY_BUFFER_NEW;
6311 surf_parse__switch_to_buffer(b);
6316 /** Setup the input buffer state to scan a string. The next call to surf_parse_lex() will
6317 * scan from a @e copy of @a str.
6318 * @param yystr a NUL-terminated string to scan
6320 * @return the newly allocated buffer state object.
6321 * @note If you want to scan bytes that may contain NUL values, then use
6322 * surf_parse__scan_bytes() instead.
6324 YY_BUFFER_STATE surf_parse__scan_string(yyconst char *yystr)
6327 return surf_parse__scan_bytes(yystr, strlen(yystr));
6330 /** Setup the input buffer state to scan the given bytes. The next call to surf_parse_lex() will
6331 * scan from a @e copy of @a bytes.
6332 * @param yybytes the byte buffer to scan
6333 * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
6335 * @return the newly allocated buffer state object.
6337 YY_BUFFER_STATE surf_parse__scan_bytes(yyconst char *yybytes,
6345 /* Get memory for full buffer, including space for trailing EOB's. */
6346 n = _yybytes_len + 2;
6347 buf = (char *) surf_parse_alloc(n);
6349 YY_FATAL_ERROR("out of dynamic memory in surf_parse__scan_bytes()");
6351 for (i = 0; i < _yybytes_len; ++i)
6352 buf[i] = yybytes[i];
6354 buf[_yybytes_len] = buf[_yybytes_len + 1] = YY_END_OF_BUFFER_CHAR;
6356 b = surf_parse__scan_buffer(buf, n);
6358 YY_FATAL_ERROR("bad buffer in surf_parse__scan_bytes()");
6360 /* It's okay to grow etc. this buffer, and we should throw it
6361 * away when we're done.
6363 b->yy_is_our_buffer = 1;
6368 static void yy_push_state(int new_state)
6370 if ((yy_start_stack_ptr) >= (yy_start_stack_depth)) {
6373 (yy_start_stack_depth) += YY_START_STACK_INCR;
6374 new_size = (yy_start_stack_depth) * sizeof(int);
6376 if (!(yy_start_stack))
6377 (yy_start_stack) = (int *) surf_parse_alloc(new_size);
6381 (int *) surf_parse_realloc((void *) (yy_start_stack), new_size);
6383 if (!(yy_start_stack))
6384 YY_FATAL_ERROR("out of memory expanding start-condition stack");
6387 (yy_start_stack)[(yy_start_stack_ptr)++] = YY_START;
6392 static void yy_pop_state(void)
6394 if (--(yy_start_stack_ptr) < 0)
6395 YY_FATAL_ERROR("start-condition stack underflow");
6397 BEGIN((yy_start_stack)[(yy_start_stack_ptr)]);
6400 #ifndef YY_EXIT_FAILURE
6401 #define YY_EXIT_FAILURE 2
6404 static void yy_fatal_error(yyconst char *msg)
6406 (void) fprintf(stderr, "%s\n", msg);
6407 exit(YY_EXIT_FAILURE);
6410 /* Redefine yyless() so it works in section 3 code. */
6416 /* Undo effects of setting up surf_parse_text. */ \
6417 int yyless_macro_arg = (n); \
6418 YY_LESS_LINENO(yyless_macro_arg);\
6419 surf_parse_text[surf_parse_leng] = (yy_hold_char); \
6420 (yy_c_buf_p) = surf_parse_text + yyless_macro_arg; \
6421 (yy_hold_char) = *(yy_c_buf_p); \
6422 *(yy_c_buf_p) = '\0'; \
6423 surf_parse_leng = yyless_macro_arg; \
6427 /* Accessor methods (get/set functions) to struct members. */
6429 /** Get the current line number.
6432 int surf_parse_get_lineno(void)
6435 return surf_parse_lineno;
6438 /** Get the input stream.
6441 FILE *surf_parse_get_in(void)
6443 return surf_parse_in;
6446 /** Get the output stream.
6449 FILE *surf_parse_get_out(void)
6451 return surf_parse_out;
6454 /** Get the length of the current token.
6457 int surf_parse_get_leng(void)
6459 return surf_parse_leng;
6462 /** Get the current token.
6466 char *surf_parse_get_text(void)
6468 return surf_parse_text;
6471 /** Set the current line number.
6472 * @param line_number
6475 void surf_parse_set_lineno(int line_number)
6478 surf_parse_lineno = line_number;
6481 /** Set the input stream. This does not discard the current
6483 * @param in_str A readable stream.
6485 * @see surf_parse__switch_to_buffer
6487 void surf_parse_set_in(FILE * in_str)
6489 surf_parse_in = in_str;
6492 void surf_parse_set_out(FILE * out_str)
6494 surf_parse_out = out_str;
6497 int surf_parse_get_debug(void)
6499 return surf_parse__flex_debug;
6502 void surf_parse_set_debug(int bdebug)
6504 surf_parse__flex_debug = bdebug;
6507 static int yy_init_globals(void)
6509 /* Initialization is the same as for the non-reentrant scanner.
6510 * This function is called from surf_parse_lex_destroy(), so don't allocate here.
6513 /* We do not touch surf_parse_lineno unless the option is enabled. */
6514 surf_parse_lineno = 1;
6516 (yy_buffer_stack) = 0;
6517 (yy_buffer_stack_top) = 0;
6518 (yy_buffer_stack_max) = 0;
6519 (yy_c_buf_p) = (char *) 0;
6523 (yy_start_stack_ptr) = 0;
6524 (yy_start_stack_depth) = 0;
6525 (yy_start_stack) = NULL;
6527 /* Defined in main.c */
6529 surf_parse_in = stdin;
6530 surf_parse_out = stdout;
6532 surf_parse_in = (FILE *) 0;
6533 surf_parse_out = (FILE *) 0;
6536 /* For future reference: Set errno on error, since we are called by
6537 * surf_parse_lex_init()
6542 /* surf_parse_lex_destroy is for both reentrant and non-reentrant scanners. */
6543 int surf_parse_lex_destroy(void)
6546 /* Pop the buffer stack, destroying each element. */
6547 while (YY_CURRENT_BUFFER) {
6548 surf_parse__delete_buffer(YY_CURRENT_BUFFER);
6549 YY_CURRENT_BUFFER_LVALUE = NULL;
6550 surf_parse_pop_buffer_state();
6553 /* Destroy the stack itself. */
6554 surf_parse_free((yy_buffer_stack));
6555 (yy_buffer_stack) = NULL;
6557 /* Destroy the start condition stack. */
6558 surf_parse_free((yy_start_stack));
6559 (yy_start_stack) = NULL;
6561 /* Reset the globals. This is important in a non-reentrant scanner so the next time
6562 * surf_parse_lex() is called, initialization will occur. */
6569 * Internal utility routines.
6573 static void yy_flex_strncpy(char *s1, yyconst char *s2, int n)
6576 for (i = 0; i < n; ++i)
6581 #ifdef YY_NEED_STRLEN
6582 static int yy_flex_strlen(yyconst char *s)
6585 for (n = 0; s[n]; ++n);
6591 void *surf_parse_alloc(yy_size_t size)
6593 return (void *) malloc(size);
6596 void *surf_parse_realloc(void *ptr, yy_size_t size)
6598 /* The cast to (char *) in the following accommodates both
6599 * implementations that use char* generic pointers, and those
6600 * that use void* generic pointers. It works with the latter
6601 * because both ANSI C and C++ allow castless assignment from
6602 * any pointer type to void*, and deal with argument conversions
6603 * as though doing an assignment.
6605 return (void *) realloc((char *) ptr, size);
6608 void surf_parse_free(void *ptr)
6610 free((char *) ptr); /* see surf_parse_realloc() for (char *) cast */
6613 #define YYTABLES_NAME "yytables"
6615 /* Element context stack lookup. */
6616 int surfxml_element_context(int i)
6618 return (0 < i && i < yy_start_stack_depth
6619 ? yy_start_stack[yy_start_stack_ptr - i]
6624 void print_yy_stack(char *fmt, ...)
6629 vfprintf(stderr, fmt, ap);
6630 if (surfxml_statenames) {
6631 for (i = 1; i < yy_start_stack_ptr; i++) {
6632 fprintf(stderr, "%s/", surfxml_statenames[yy_start_stack[i]]);
6634 fprintf(stderr, "%s\n", surfxml_statenames[YY_START]);
6639 void print_surfxml_bufferstack()
6642 fputs("Buffer: ", stderr);
6643 for (i = 0; i < blimit; i++) {
6644 if (surfxml_bufferstack[i] == '\377')
6646 putc(surfxml_bufferstack[i], stderr);
6651 static void debug_enter(int state, const char *statename)
6653 yy_push_state(state);
6654 if (surf_parse__flex_debug) {
6655 print_yy_stack("--ENTER(%s) : ", statename);
6656 print_surfxml_bufferstack();
6660 static void debug_leave(void)
6662 if (surf_parse__flex_debug) {
6663 print_yy_stack("--LEAVE : ");
6664 print_surfxml_bufferstack();
6669 static void debug_set(int state, const char *statename)
6672 if (surf_parse__flex_debug)
6673 print_yy_stack("--SET(%s) : ", statename);
6677 static void cleanup(void)
6679 if (surfxml_statenames) {
6680 free(surfxml_statenames);
6681 surfxml_statenames = NULL;
6683 free(surfxml_bufferstack);
6684 surfxml_bufferstack = NULL;
6690 static int fail(const char *fmt, ...)
6692 int chars_left, used;
6695 #ifdef FLEXML_yylineno
6696 used = sprintf(flexml_err_msg,
6697 "Invalid XML (XML input line %d, state %d): ",
6698 surf_parse_lineno, YY_START);
6700 used = sprintf(flexml_err_msg, "Invalid XML (state %d): ", YY_START);
6702 chars_left = flexml_max_err_msg_size - used - 1;
6703 vsnprintf(flexml_err_msg + used, chars_left, fmt, ap);
6706 #ifndef FLEXML_quiet_parser
6707 /* print directly to sdterr */
6708 fprintf(stderr, "%s\n", flexml_err_msg);
6709 flexml_err_msg[0] = '\0';