2 #line 3 "surf/simgrid_dtd.c"
4 #define YY_INT_ALIGNED short int
6 /* A lexical scanner generated by flex */
8 #define yy_create_buffer surf_parse__create_buffer
9 #define yy_delete_buffer surf_parse__delete_buffer
10 #define yy_flex_debug surf_parse__flex_debug
11 #define yy_init_buffer surf_parse__init_buffer
12 #define yy_flush_buffer surf_parse__flush_buffer
13 #define yy_load_buffer_state surf_parse__load_buffer_state
14 #define yy_switch_to_buffer surf_parse__switch_to_buffer
15 #define yyin surf_parse_in
16 #define yyleng surf_parse_leng
17 #define yylex surf_parse_lex
18 #define yylineno surf_parse_lineno
19 #define yyout surf_parse_out
20 #define yyrestart surf_parse_restart
21 #define yytext surf_parse_text
22 #define yywrap surf_parse_wrap
23 #define yyalloc surf_parse_alloc
24 #define yyrealloc surf_parse_realloc
25 #define yyfree surf_parse_free
28 #define YY_FLEX_MAJOR_VERSION 2
29 #define YY_FLEX_MINOR_VERSION 5
30 #define YY_FLEX_SUBMINOR_VERSION 35
31 #if YY_FLEX_SUBMINOR_VERSION > 0
35 /* First, we deal with platform-specific or compiler-specific issues. */
37 /* begin standard C headers. */
45 /* end standard C headers. */
47 /* flex integer type definitions */
52 /* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
54 #if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
56 /* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
57 * if you want the limit (max/min) macros for int types.
59 #ifndef __STDC_LIMIT_MACROS
60 #define __STDC_LIMIT_MACROS 1
64 typedef int8_t flex_int8_t;
65 typedef uint8_t flex_uint8_t;
66 typedef int16_t flex_int16_t;
67 typedef uint16_t flex_uint16_t;
68 typedef int32_t flex_int32_t;
69 typedef uint32_t flex_uint32_t;
71 typedef signed char flex_int8_t;
72 typedef short int flex_int16_t;
73 typedef int flex_int32_t;
74 typedef unsigned char flex_uint8_t;
75 typedef unsigned short int flex_uint16_t;
76 typedef unsigned int flex_uint32_t;
78 /* Limits of integral types. */
80 #define INT8_MIN (-128)
83 #define INT16_MIN (-32767-1)
86 #define INT32_MIN (-2147483647-1)
89 #define INT8_MAX (127)
92 #define INT16_MAX (32767)
95 #define INT32_MAX (2147483647)
98 #define UINT8_MAX (255U)
101 #define UINT16_MAX (65535U)
104 #define UINT32_MAX (4294967295U)
109 #endif /* ! FLEXINT_H */
113 /* The "const" storage-class-modifier is valid. */
116 #else /* ! __cplusplus */
118 /* C99 requires __STDC__ to be defined as 1. */
119 #if defined (__STDC__)
123 #endif /* defined (__STDC__) */
124 #endif /* ! __cplusplus */
127 #define yyconst const
132 /* Returned upon end-of-file. */
135 /* Promotes a possibly negative, possibly signed char to an unsigned
136 * integer for use as an array index. If the signed char is negative,
137 * we want to instead treat it as an 8-bit unsigned char, hence the
140 #define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
142 /* Enter a start condition. This macro really ought to take a parameter,
143 * but we do it the disgusting crufty way forced on us by the ()-less
144 * definition of BEGIN.
146 #define BEGIN (yy_start) = 1 + 2 *
148 /* Translate the current start state into a value that can be later handed
149 * to BEGIN to return to the state. The YYSTATE alias is for lex
152 #define YY_START (((yy_start) - 1) / 2)
153 #define YYSTATE YY_START
155 /* Action number for EOF rule of a given start state. */
156 #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
158 /* Special action meaning "start processing a new file". */
159 #define YY_NEW_FILE surf_parse_restart(surf_parse_in )
161 #define YY_END_OF_BUFFER_CHAR 0
163 /* Size of default input buffer. */
165 #define YY_BUF_SIZE 16384
168 /* The state buf must be large enough to hold one state per character in the main buffer.
170 #define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
172 #ifndef YY_TYPEDEF_YY_BUFFER_STATE
173 #define YY_TYPEDEF_YY_BUFFER_STATE
174 typedef struct yy_buffer_state *YY_BUFFER_STATE;
177 extern int surf_parse_leng;
179 extern FILE *surf_parse_in, *surf_parse_out;
181 #define EOB_ACT_CONTINUE_SCAN 0
182 #define EOB_ACT_END_OF_FILE 1
183 #define EOB_ACT_LAST_MATCH 2
185 /* Note: We specifically omit the test for yy_rule_can_match_eol because it requires
186 * access to the local variable yy_act. Since yyless() is a macro, it would break
187 * existing scanners that call yyless() from OUTSIDE surf_parse_lex.
188 * One obvious solution it to make yy_act a global. I tried that, and saw
189 * a 5% performance hit in a non-surf_parse_lineno scanner, because yy_act is
190 * normally declared as a register variable-- so it is not worth it.
192 #define YY_LESS_LINENO(n) \
195 for ( yyl = n; yyl < surf_parse_leng; ++yyl )\
196 if ( surf_parse_text[yyl] == '\n' )\
197 --surf_parse_lineno;\
200 /* Return all but the first "n" matched characters back to the input stream. */
204 /* Undo effects of setting up surf_parse_text. */ \
205 int yyless_macro_arg = (n); \
206 YY_LESS_LINENO(yyless_macro_arg);\
207 *yy_cp = (yy_hold_char); \
208 YY_RESTORE_YY_MORE_OFFSET \
209 (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
210 YY_DO_BEFORE_ACTION; /* set up surf_parse_text again */ \
214 #define unput(c) yyunput( c, (yytext_ptr) )
216 #ifndef YY_TYPEDEF_YY_SIZE_T
217 #define YY_TYPEDEF_YY_SIZE_T
218 typedef size_t yy_size_t;
221 #ifndef YY_STRUCT_YY_BUFFER_STATE
222 #define YY_STRUCT_YY_BUFFER_STATE
223 struct yy_buffer_state {
226 char *yy_ch_buf; /* input buffer */
227 char *yy_buf_pos; /* current position in input buffer */
229 /* Size of input buffer in bytes, not including room for EOB
232 yy_size_t yy_buf_size;
234 /* Number of characters read into yy_ch_buf, not including EOB
239 /* Whether we "own" the buffer - i.e., we know we created it,
240 * and can realloc() it to grow it, and should free() it to
243 int yy_is_our_buffer;
245 /* Whether this is an "interactive" input source; if so, and
246 * if we're using stdio for input, then we want to use getc()
247 * instead of fread(), to make sure we stop fetching input after
250 int yy_is_interactive;
252 /* Whether we're considered to be at the beginning of a line.
253 * If so, '^' rules will be active on the next match, otherwise
258 int yy_bs_lineno; /**< The line count. */
259 int yy_bs_column; /**< The column count. */
261 /* Whether to try to fill the input buffer when we reach the
266 int yy_buffer_status;
268 #define YY_BUFFER_NEW 0
269 #define YY_BUFFER_NORMAL 1
270 /* When an EOF's been seen but there's still some text to process
271 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
272 * shouldn't try reading from the input source any more. We might
273 * still have a bunch of tokens to match, though, because of
274 * possible backing-up.
276 * When we actually see the EOF, we change the status to "new"
277 * (via surf_parse_restart()), so that the user can continue scanning by
278 * just pointing surf_parse_in at a new input file.
280 #define YY_BUFFER_EOF_PENDING 2
283 #endif /* !YY_STRUCT_YY_BUFFER_STATE */
285 /* Stack of input buffers. */
286 static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
287 static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
288 static YY_BUFFER_STATE *yy_buffer_stack = 0; /**< Stack as an array. */
290 /* We provide macros for accessing buffer states in case in the
291 * future we want to put the buffer states in a more general
294 * Returns the top of the stack, or NULL.
296 #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
297 ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
300 /* Same as previous macro, but useful when we know that the buffer stack is not
301 * NULL or when we need an lvalue. For internal use only.
303 #define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
305 /* yy_hold_char holds the character lost when surf_parse_text is formed. */
306 static char yy_hold_char;
307 static int yy_n_chars; /* number of characters read into yy_ch_buf */
310 /* Points to current character in buffer. */
311 static char *yy_c_buf_p = (char *) 0;
312 static int yy_init = 0; /* whether we need to initialize */
313 static int yy_start = 0; /* start state number */
315 /* Flag which is used to allow surf_parse_wrap()'s to do buffer switches
316 * instead of setting up a fresh surf_parse_in. A bit of a hack ...
318 static int yy_did_buffer_switch_on_eof;
320 void surf_parse_restart(FILE * input_file);
321 void surf_parse__switch_to_buffer(YY_BUFFER_STATE new_buffer);
322 YY_BUFFER_STATE surf_parse__create_buffer(FILE * file, int size);
323 void surf_parse__delete_buffer(YY_BUFFER_STATE b);
324 void surf_parse__flush_buffer(YY_BUFFER_STATE b);
325 void surf_parse_push_buffer_state(YY_BUFFER_STATE new_buffer);
326 void surf_parse_pop_buffer_state(void);
328 static void surf_parse_ensure_buffer_stack(void);
329 static void surf_parse__load_buffer_state(void);
330 static void surf_parse__init_buffer(YY_BUFFER_STATE b, FILE * file);
332 #define YY_FLUSH_BUFFER surf_parse__flush_buffer(YY_CURRENT_BUFFER )
334 YY_BUFFER_STATE surf_parse__scan_buffer(char *base, yy_size_t size);
335 YY_BUFFER_STATE surf_parse__scan_string(yyconst char *yy_str);
336 YY_BUFFER_STATE surf_parse__scan_bytes(yyconst char *bytes, int len);
338 void *surf_parse_alloc(yy_size_t);
339 void *surf_parse_realloc(void *, yy_size_t);
340 void surf_parse_free(void *);
342 #define yy_new_buffer surf_parse__create_buffer
344 #define yy_set_interactive(is_interactive) \
346 if ( ! YY_CURRENT_BUFFER ){ \
347 surf_parse_ensure_buffer_stack (); \
348 YY_CURRENT_BUFFER_LVALUE = \
349 surf_parse__create_buffer(surf_parse_in,YY_BUF_SIZE ); \
351 YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
354 #define yy_set_bol(at_bol) \
356 if ( ! YY_CURRENT_BUFFER ){\
357 surf_parse_ensure_buffer_stack (); \
358 YY_CURRENT_BUFFER_LVALUE = \
359 surf_parse__create_buffer(surf_parse_in,YY_BUF_SIZE ); \
361 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
364 #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
366 /* Begin user sect3 */
368 #define surf_parse_wrap(n) 1
369 #define YY_SKIP_YYWRAP
371 typedef unsigned char YY_CHAR;
373 FILE *surf_parse_in = (FILE *) 0, *surf_parse_out = (FILE *) 0;
375 typedef int yy_state_type;
377 extern int surf_parse_lineno;
379 int surf_parse_lineno = 1;
381 extern char *surf_parse_text;
382 #define yytext_ptr surf_parse_text
384 static yy_state_type yy_get_previous_state(void);
385 static yy_state_type yy_try_NUL_trans(yy_state_type current_state);
386 static int yy_get_next_buffer(void);
387 static void yy_fatal_error(yyconst char msg[]);
389 /* Done after the current pattern has been matched and before the
390 * corresponding action - sets up surf_parse_text.
392 #define YY_DO_BEFORE_ACTION \
393 (yytext_ptr) = yy_bp; \
394 surf_parse_leng = (size_t) (yy_cp - yy_bp); \
395 (yy_hold_char) = *yy_cp; \
397 (yy_c_buf_p) = yy_cp;
399 #define YY_NUM_RULES 351
400 #define YY_END_OF_BUFFER 352
401 /* This struct is not used in this scanner,
402 but its presence is necessary. */
403 struct yy_trans_info {
404 flex_int32_t yy_verify;
407 static yyconst flex_int16_t yy_accept[2023] = { 0,
408 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
409 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
410 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
411 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
412 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
413 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
414 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
415 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
416 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
417 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
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, 352, 350, 15, 10, 10, 15, 15, 330,
424 10, 330, 5, 6, 5, 8, 9, 8, 346, 338,
425 339, 347, 344, 347, 345, 349, 338, 339, 349, 350,
426 26, 10, 26, 26, 26, 24, 26, 26, 30, 10,
427 30, 30, 350, 350, 30, 37, 10, 37, 37, 37,
428 35, 37, 41, 10, 41, 52, 10, 52, 52, 52,
430 50, 52, 52, 52, 347, 346, 74, 10, 74, 74,
431 74, 72, 74, 74, 74, 74, 78, 10, 78, 350,
432 78, 97, 10, 97, 97, 97, 95, 97, 97, 97,
433 101, 10, 101, 114, 10, 114, 114, 114, 112, 114,
434 114, 114, 114, 118, 10, 118, 125, 10, 125, 125,
435 125, 123, 125, 350, 350, 129, 10, 129, 156, 10,
436 156, 156, 156, 154, 156, 156, 156, 156, 156, 160,
437 10, 160, 160, 169, 10, 169, 169, 169, 167, 169,
438 169, 173, 10, 173, 196, 10, 196, 196, 196, 194,
439 196, 196, 196, 196, 196, 196, 200, 10, 200, 207,
441 10, 207, 207, 207, 205, 207, 211, 10, 211, 236,
442 10, 236, 236, 236, 234, 236, 236, 236, 236, 240,
443 10, 240, 240, 259, 10, 259, 259, 259, 257, 259,
444 259, 259, 350, 263, 10, 263, 263, 286, 10, 286,
445 286, 286, 284, 286, 286, 286, 286, 290, 10, 290,
446 290, 297, 10, 297, 297, 297, 295, 297, 301, 10,
447 301, 314, 10, 314, 314, 314, 312, 314, 314, 314,
448 314, 318, 10, 318, 350, 318, 325, 10, 325, 325,
449 325, 323, 325, 329, 10, 329, 10, 0, 2, 2,
450 0, 4, 7, 341, 340, 0, 0, 0, 0, 0,
452 0, 0, 25, 27, 27, 27, 0, 0, 0, 0,
453 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
454 0, 0, 0, 0, 0, 0, 0, 0, 0, 36,
455 38, 38, 0, 51, 53, 53, 53, 53, 0, 0,
456 0, 73, 75, 75, 75, 75, 75, 75, 75, 0,
457 0, 96, 98, 98, 98, 98, 0, 113, 115, 115,
458 115, 115, 115, 0, 124, 126, 126, 0, 155, 157,
459 157, 157, 157, 157, 157, 157, 0, 168, 170, 170,
460 170, 0, 195, 197, 197, 197, 197, 197, 197, 197,
461 197, 197, 0, 206, 208, 208, 0, 235, 237, 237,
463 237, 237, 237, 237, 0, 258, 260, 260, 260, 260,
464 260, 0, 0, 285, 287, 287, 287, 287, 287, 0,
465 296, 298, 298, 0, 313, 315, 315, 315, 315, 315,
466 0, 0, 324, 326, 326, 0, 0, 0, 0, 0,
467 3, 0, 0, 0, 0, 0, 0, 0, 348, 0,
468 27, 27, 0, 0, 0, 0, 0, 0, 0, 0,
469 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
470 0, 0, 0, 0, 0, 0, 0, 0, 0, 38,
471 0, 0, 53, 0, 0, 53, 0, 0, 0, 343,
472 75, 0, 0, 75, 75, 75, 75, 0, 0, 0,
474 98, 98, 98, 0, 0, 0, 0, 115, 115, 115,
475 0, 0, 126, 0, 0, 157, 0, 0, 157, 157,
476 157, 157, 0, 0, 0, 0, 170, 0, 0, 197,
477 0, 0, 0, 0, 197, 197, 197, 197, 197, 0,
478 0, 0, 0, 0, 0, 237, 0, 0, 237, 237,
479 237, 0, 0, 260, 260, 260, 260, 0, 0, 0,
480 287, 287, 287, 287, 0, 0, 0, 0, 0, 0,
481 315, 315, 315, 315, 0, 0, 0, 326, 0, 0,
482 0, 14, 1, 0, 0, 336, 0, 0, 0, 333,
483 332, 0, 0, 27, 27, 0, 0, 29, 0, 0,
485 0, 0, 0, 0, 0, 0, 0, 0, 0, 103,
486 0, 0, 0, 0, 0, 0, 0, 102, 0, 0,
487 0, 0, 0, 0, 38, 0, 0, 40, 0, 53,
488 0, 45, 44, 53, 0, 0, 0, 55, 0, 75,
489 0, 59, 58, 0, 0, 75, 0, 0, 75, 0,
490 0, 77, 0, 0, 98, 98, 98, 0, 0, 100,
491 0, 0, 105, 104, 115, 115, 115, 0, 0, 117,
492 0, 126, 0, 0, 128, 0, 157, 0, 133, 132,
493 157, 157, 157, 157, 0, 0, 159, 0, 0, 164,
494 163, 170, 0, 0, 172, 0, 197, 197, 0, 187,
496 186, 0, 177, 176, 0, 0, 197, 197, 197, 197,
497 0, 0, 199, 0, 0, 204, 203, 0, 0, 210,
498 0, 237, 0, 215, 214, 237, 237, 237, 0, 0,
499 239, 0, 260, 0, 0, 0, 0, 260, 0, 0,
500 0, 262, 0, 287, 0, 0, 287, 0, 0, 0,
501 0, 289, 0, 0, 294, 293, 0, 0, 300, 0,
502 315, 315, 315, 315, 0, 0, 317, 0, 0, 326,
503 0, 0, 328, 0, 0, 0, 337, 331, 0, 0,
504 0, 27, 27, 0, 0, 0, 0, 131, 0, 213,
505 0, 0, 161, 0, 0, 103, 0, 0, 0, 130,
507 212, 0, 0, 102, 0, 0, 0, 0, 0, 0,
508 0, 0, 0, 0, 0, 53, 0, 0, 75, 0,
509 63, 62, 0, 0, 0, 61, 60, 75, 0, 162,
510 98, 0, 0, 98, 0, 115, 115, 115, 0, 126,
511 0, 157, 157, 157, 157, 157, 0, 170, 0, 197,
512 197, 0, 189, 188, 197, 197, 197, 197, 0, 0,
513 237, 237, 237, 237, 0, 260, 0, 246, 245, 0,
514 244, 243, 260, 212, 0, 287, 0, 269, 268, 287,
515 0, 267, 266, 0, 0, 315, 0, 0, 315, 315,
516 0, 0, 326, 0, 0, 0, 0, 12, 0, 334,
518 335, 0, 27, 27, 0, 0, 0, 0, 131, 0,
519 213, 0, 0, 0, 161, 0, 265, 43, 0, 0,
520 130, 212, 0, 265, 42, 0, 264, 0, 264, 42,
521 0, 34, 33, 0, 0, 47, 46, 53, 0, 0,
522 75, 0, 65, 64, 75, 0, 162, 98, 0, 0,
523 0, 0, 0, 0, 115, 115, 115, 0, 116, 126,
524 0, 157, 157, 157, 0, 0, 0, 0, 157, 0,
525 0, 0, 0, 0, 0, 197, 0, 0, 197, 197,
526 197, 0, 0, 237, 237, 237, 0, 0, 237, 0,
527 260, 260, 0, 0, 287, 287, 0, 0, 315, 0,
529 305, 304, 315, 315, 0, 0, 0, 0, 0, 0,
530 0, 0, 11, 0, 27, 27, 27, 0, 0, 0,
531 0, 0, 0, 0, 0, 57, 265, 0, 202, 43,
532 0, 0, 0, 56, 201, 42, 0, 264, 0, 0,
533 0, 0, 53, 0, 0, 75, 75, 0, 98, 0,
534 0, 0, 0, 0, 0, 0, 0, 0, 92, 91,
535 0, 0, 0, 115, 0, 0, 0, 0, 0, 157,
536 157, 157, 0, 135, 134, 0, 0, 0, 157, 0,
537 158, 0, 166, 165, 0, 171, 0, 191, 190, 0,
538 0, 0, 185, 184, 0, 0, 197, 0, 0, 0,
540 0, 237, 237, 237, 0, 0, 0, 237, 0, 238,
541 0, 0, 260, 0, 0, 0, 0, 287, 0, 0,
542 315, 315, 315, 0, 0, 0, 322, 321, 0, 0,
543 0, 0, 0, 0, 0, 27, 27, 0, 0, 175,
544 120, 32, 0, 0, 303, 57, 0, 202, 0, 174,
545 119, 56, 201, 302, 0, 31, 0, 0, 53, 0,
546 0, 54, 75, 75, 0, 0, 0, 0, 0, 0,
547 0, 0, 0, 0, 0, 0, 0, 0, 0, 107,
548 106, 0, 0, 0, 109, 108, 0, 122, 121, 0,
549 157, 157, 157, 0, 0, 157, 0, 193, 192, 0,
551 179, 178, 0, 0, 0, 181, 180, 0, 0, 237,
552 0, 0, 237, 237, 0, 0, 237, 0, 0, 0,
553 260, 0, 0, 0, 0, 0, 287, 0, 288, 0,
554 315, 315, 315, 0, 0, 0, 0, 0, 0, 17,
555 0, 19, 18, 27, 27, 0, 319, 175, 120, 32,
556 291, 16, 303, 0, 0, 174, 119, 302, 0, 31,
557 0, 0, 53, 342, 75, 75, 0, 76, 0, 94,
558 93, 0, 0, 0, 0, 0, 0, 0, 0, 0,
559 0, 0, 0, 111, 110, 0, 157, 157, 157, 0,
560 0, 0, 0, 157, 0, 183, 182, 0, 0, 209,
562 237, 0, 221, 220, 237, 237, 0, 0, 0, 0,
563 237, 0, 0, 0, 0, 260, 292, 0, 0, 0,
564 0, 0, 287, 0, 0, 0, 315, 315, 0, 320,
565 0, 0, 0, 0, 17, 27, 27, 0, 319, 291,
566 16, 0, 0, 0, 0, 0, 39, 53, 0, 0,
567 75, 0, 0, 0, 0, 0, 0, 0, 0, 0,
568 0, 0, 0, 127, 157, 157, 157, 0, 141, 0,
569 140, 157, 0, 198, 0, 0, 237, 237, 237, 0,
570 225, 0, 224, 237, 0, 0, 0, 0, 0, 0,
571 0, 0, 292, 0, 0, 0, 0, 0, 0, 0,
573 287, 0, 0, 307, 306, 0, 0, 315, 0, 316,
574 320, 0, 0, 0, 0, 0, 0, 27, 0, 28,
575 0, 0, 0, 0, 53, 0, 0, 0, 75, 0,
576 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
577 157, 157, 157, 143, 142, 0, 0, 0, 217, 216,
578 237, 237, 237, 227, 226, 0, 0, 0, 0, 0,
579 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
580 0, 0, 0, 287, 287, 0, 299, 0, 311, 310,
581 0, 0, 0, 327, 0, 0, 0, 0, 21, 20,
582 0, 0, 242, 0, 241, 0, 0, 0, 0, 0,
584 0, 0, 75, 0, 0, 0, 0, 84, 0, 0,
585 0, 0, 83, 0, 157, 157, 157, 0, 145, 144,
586 237, 237, 237, 0, 229, 228, 0, 0, 0, 0,
587 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
588 0, 0, 0, 287, 287, 0, 309, 308, 0, 0,
589 0, 0, 23, 22, 242, 0, 241, 0, 0, 49,
590 48, 0, 0, 0, 0, 75, 0, 0, 0, 0,
591 0, 0, 0, 0, 0, 0, 0, 157, 157, 157,
592 237, 0, 0, 237, 0, 0, 0, 0, 0, 0,
593 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
595 0, 287, 287, 0, 0, 0, 0, 80, 79, 0,
596 0, 0, 0, 0, 0, 0, 0, 90, 0, 0,
597 0, 89, 0, 0, 0, 137, 136, 157, 157, 157,
598 157, 237, 0, 223, 222, 237, 0, 0, 0, 0,
599 0, 0, 256, 0, 255, 0, 0, 261, 0, 0,
600 0, 0, 0, 0, 0, 0, 287, 0, 0, 287,
601 0, 0, 0, 0, 0, 0, 80, 79, 0, 0,
602 0, 0, 0, 67, 66, 0, 0, 0, 0, 0,
603 0, 0, 157, 157, 157, 157, 0, 0, 0, 0,
604 0, 0, 0, 0, 0, 0, 254, 253, 0, 0,
606 0, 0, 0, 0, 0, 273, 272, 287, 0, 271,
607 270, 287, 0, 0, 0, 0, 0, 0, 0, 71,
608 0, 70, 88, 0, 0, 87, 0, 0, 0, 99,
609 157, 157, 157, 157, 0, 219, 218, 0, 0, 0,
610 0, 0, 250, 0, 0, 249, 0, 0, 281, 0,
611 0, 280, 287, 287, 0, 0, 0, 12, 0, 12,
612 0, 0, 0, 82, 86, 81, 85, 157, 157, 157,
613 157, 0, 0, 0, 0, 252, 248, 251, 247, 283,
614 279, 282, 278, 287, 287, 0, 0, 0, 0, 0,
615 0, 0, 0, 0, 0, 0, 0, 0, 157, 0,
617 0, 0, 0, 0, 0, 287, 287, 0, 0, 69,
618 68, 0, 139, 138, 0, 149, 148, 0, 147, 146,
619 157, 0, 153, 152, 0, 0, 0, 0, 287, 287,
620 0, 11, 157, 0, 0, 0, 0, 287, 287, 0,
621 157, 0, 0, 0, 0, 287, 287, 0, 157, 0,
622 0, 0, 0, 287, 287, 0, 0, 0, 0, 231,
623 0, 230, 287, 287, 0, 0, 151, 150, 233, 232,
624 287, 287, 0, 287, 287, 0, 287, 287, 0, 0,
625 287, 287, 0, 0, 287, 287, 0, 0, 287, 287,
626 0, 0, 0, 0, 0, 0, 0, 0, 0, 277,
628 276, 0, 275, 274, 0, 0, 0, 0, 0, 0,
629 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
633 static yyconst flex_int32_t yy_ec[256] = { 0,
634 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
635 1, 2, 4, 1, 1, 1, 1, 1, 1, 1,
636 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
637 1, 2, 5, 6, 7, 1, 1, 8, 9, 1,
638 1, 1, 1, 1, 10, 11, 12, 13, 13, 13,
639 13, 14, 13, 13, 13, 15, 13, 16, 17, 18,
640 19, 20, 21, 1, 22, 23, 24, 25, 26, 27,
641 28, 29, 30, 28, 31, 32, 33, 34, 35, 36,
642 28, 37, 38, 39, 28, 40, 41, 28, 42, 28,
643 43, 1, 44, 1, 45, 1, 46, 47, 48, 49,
645 50, 51, 52, 53, 54, 28, 55, 56, 57, 58,
646 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
647 69, 28, 1, 1, 1, 1, 1, 1, 1, 1,
648 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
649 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
650 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
651 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
652 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
653 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
654 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
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,
664 static yyconst flex_int32_t yy_meta[70] = { 0,
665 1, 2, 2, 2, 1, 1, 1, 1, 1, 3,
666 3, 1, 4, 4, 4, 5, 6, 1, 7, 8,
667 1, 9, 9, 9, 9, 9, 9, 5, 5, 5,
668 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
669 5, 5, 1, 1, 5, 9, 9, 9, 9, 9,
670 9, 5, 5, 5, 5, 5, 5, 5, 5, 5,
671 5, 5, 5, 5, 5, 5, 5, 5, 5
674 static yyconst flex_int16_t yy_base[2256] = { 0,
675 0, 0, 0, 3, 6, 9, 12, 29, 16, 19,
676 14, 17, 33, 36, 49, 55, 45, 61, 66, 72,
677 105, 173, 75, 78, 83, 125, 128, 132, 135, 138,
678 193, 196, 200, 203, 206, 224, 242, 293, 262, 265,
679 344, 404, 271, 273, 464, 527, 269, 316, 320, 323,
680 364, 367, 371, 374, 590, 654, 424, 427, 718, 781,
681 431, 434, 844, 907, 484, 487, 491, 494, 497, 547,
682 970, 1033, 550, 554, 557, 560, 610, 613, 617, 620,
683 1096, 1162, 623, 674, 1228, 0, 677, 681, 1297, 1351,
684 684, 687, 1405, 1468, 738, 741, 745, 748, 751, 801,
686 804, 808, 1531, 1594, 811, 814, 864, 867, 871, 874,
687 877, 927, 1657, 1720, 930, 934, 937, 940, 990, 993,
688 997, 1000, 1783, 1837, 1003, 1053, 1891, 1954, 1056, 1060,
689 1063, 1066, 1116, 1119, 1123, 1126, 2017, 2083, 1129, 1182,
690 0, 0, 5066, 7094, 7094, 95, 100, 29, 41, 7094,
691 155, 51, 7094, 7094, 5055, 7094, 7094, 5043, 7094, 5058,
692 5042, 1141, 7094, 7094, 7094, 7094, 5036, 5032, 4990, 210,
693 7094, 158, 5012, 0, 142, 7094, 4977, 4969, 7094, 162,
694 2145, 2205, 160, 5007, 176, 7094, 165, 4998, 0, 149,
695 7094, 4961, 7094, 230, 378, 7094, 326, 4994, 0, 208,
697 7094, 4958, 4949, 4947, 379, 4950, 7094, 329, 4972, 0,
698 214, 7094, 4938, 4937, 238, 4915, 7094, 377, 11, 31,
699 4965, 7094, 399, 4948, 0, 435, 7094, 4907, 4905, 4888,
700 7094, 457, 441, 7094, 520, 4922, 0, 436, 7094, 4892,
701 4870, 4871, 4851, 7094, 583, 498, 7094, 640, 4894, 0,
702 499, 7094, 4862, 513, 4840, 7094, 644, 4879, 7094, 647,
703 4870, 0, 562, 7094, 4802, 34, 4821, 4797, 4788, 7094,
704 704, 177, 4838, 7094, 708, 4827, 0, 568, 7094, 4793,
705 4783, 7094, 711, 752, 7094, 772, 4808, 0, 631, 7094,
706 211, 4777, 4775, 93, 4773, 4753, 7094, 834, 818, 7094,
708 894, 4796, 0, 632, 7094, 4753, 7094, 897, 881, 7094,
709 901, 4781, 0, 695, 7094, 4739, 4735, 4736, 80, 7094,
710 957, 360, 4765, 7094, 960, 4755, 0, 696, 7094, 4726,
711 4709, 26, 304, 7094, 963, 330, 4746, 7094, 1149, 4726,
712 0, 885, 7094, 4694, 4675, 4679, 4673, 7094, 1152, 499,
713 4721, 7094, 1155, 4705, 0, 948, 7094, 4672, 7094, 1186,
714 1005, 7094, 1192, 4696, 0, 1004, 7094, 4650, 4654, 4655,
715 4643, 7094, 1205, 1100, 4694, 4691, 7094, 1208, 4678, 0,
716 1007, 7094, 4650, 7094, 1211, 1068, 1215, 429, 4627, 7094,
717 4683, 4665, 7094, 7094, 7094, 1306, 283, 4614, 4612, 4607,
719 4647, 4609, 7094, 0, 4598, 4601, 4586, 4583, 4584, 4580,
720 4574, 4570, 4573, 4, 166, 4567, 4554, 4558, 4546, 4545,
721 4541, 404, 4544, 4530, 38, 467, 4530, 712, 4523, 7094,
722 0, 4526, 4527, 7094, 0, 4523, 1320, 4516, 533, 4512,
723 4555, 7094, 0, 4514, 1323, 4486, 4507, 4493, 4497, 4477,
724 89, 7094, 0, 4488, 4462, 4473, 4453, 7094, 0, 1326,
725 4459, 4459, 4455, 4435, 7094, 0, 4429, 4441, 7094, 0,
726 4444, 1329, 4422, 4400, 4400, 4419, 4407, 7094, 0, 1373,
727 4398, 4393, 7094, 0, 4406, 1377, 1380, 4375, 4371, 4386,
728 4372, 4366, 4367, 7094, 0, 1383, 4348, 7094, 0, 4351,
730 1425, 4340, 4357, 4355, 4340, 7094, 0, 4327, 4326, 4340,
731 4326, 4323, 4308, 7094, 0, 4305, 4289, 4291, 4298, 4283,
732 7094, 0, 1428, 4287, 7094, 0, 4277, 4271, 4272, 4280,
733 4264, 4261, 7094, 0, 4265, 4267, 4286, 4295, 807, 4246,
734 7094, 1207, 0, 4229, 4229, 4269, 4268, 4224, 7094, 4231,
735 4213, 4213, 1431, 1434, 4218, 4203, 4205, 4201, 4215, 4194,
736 4202, 4187, 4187, 4178, 4170, 4186, 4165, 4167, 4164, 4155,
737 4154, 4145, 4145, 4157, 4143, 4135, 4141, 4122, 4139, 4128,
738 1437, 1489, 4127, 1494, 1497, 4108, 4137, 1551, 1556, 7094,
739 4106, 1559, 1514, 1562, 4097, 1565, 4108, 1619, 1627, 4090,
741 4091, 4097, 4083, 1622, 1630, 1677, 1583, 4079, 4065, 4067,
742 1682, 1695, 4068, 1685, 1740, 4058, 1691, 1642, 4059, 4062,
743 4056, 4037, 1745, 1748, 1751, 1710, 4035, 1755, 1808, 583,
744 1811, 1814, 1857, 1860, 1869, 4032, 4030, 4025, 4021, 1911,
745 1920, 1914, 1880, 1917, 1923, 4022, 1926, 1975, 4014, 3994,
746 3987, 1983, 1986, 3996, 1989, 1992, 3981, 3977, 2039, 2046,
747 3979, 1997, 3983, 2043, 2049, 2052, 2061, 2072, 2104, 2110,
748 3976, 3952, 3959, 3943, 2113, 2116, 3952, 3927, 2119, 2138,
749 3970, 7094, 7094, 315, 3922, 7094, 3934, 3933, 3878, 7094,
750 7094, 3872, 3870, 3879, 3868, 2141, 2149, 7094, 2168, 3865,
752 3859, 3871, 3849, 3854, 3849, 3830, 261, 3839, 3819, 1223,
753 3834, 3802, 3814, 3798, 3796, 3801, 3784, 1332, 3795, 384,
754 3777, 3784, 3774, 3788, 2144, 2172, 2177, 7094, 2182, 2209,
755 2216, 7094, 7094, 2229, 3810, 2232, 2235, 7094, 2240, 3756,
756 2268, 7094, 7094, 2243, 2276, 2287, 2290, 2293, 3767, 2301,
757 2308, 7094, 2311, 432, 3761, 2314, 3760, 2320, 2323, 7094,
758 2332, 2335, 7094, 7094, 3754, 3751, 3743, 2343, 2346, 7094,
759 2351, 3739, 2354, 2357, 7094, 2377, 3735, 2380, 7094, 7094,
760 3728, 3721, 3717, 3727, 2388, 2391, 7094, 2396, 2400, 7094,
761 7094, 3722, 2410, 2415, 7094, 2418, 3702, 3717, 2422, 7094,
763 7094, 2438, 7094, 7094, 2430, 2448, 3700, 3698, 3703, 3695,
764 2458, 2461, 7094, 2464, 2467, 7094, 7094, 2483, 2486, 7094,
765 2489, 3673, 2492, 7094, 7094, 3679, 3672, 3662, 2508, 2511,
766 7094, 2514, 3611, 2517, 2521, 2536, 2539, 3618, 3612, 2547,
767 2554, 7094, 2557, 3602, 2560, 2567, 3607, 2578, 2581, 2589,
768 2592, 7094, 2596, 2599, 7094, 7094, 2611, 2615, 7094, 2621,
769 3590, 2624, 3607, 3576, 2630, 2634, 7094, 2642, 3573, 3586,
770 2645, 2649, 7094, 2653, 726, 2656, 7094, 7094, 3618, 3616,
771 3569, 3560, 3587, 2664, 3545, 3528, 3544, 1386, 3520, 2152,
772 3533, 3532, 1460, 3512, 3519, 1463, 3518, 3502, 3518, 1523,
774 2678, 3504, 3511, 1526, 3497, 3496, 3494, 3478, 3491, 3490,
775 2668, 2686, 2694, 2700, 2704, 3489, 3504, 2713, 3479, 2718,
776 7094, 7094, 2727, 2732, 2745, 7094, 7094, 3473, 2740, 1650,
777 3457, 2753, 2760, 2771, 2774, 3446, 3466, 3439, 2777, 3457,
778 2780, 3458, 3452, 3436, 2783, 2789, 2801, 2807, 2811, 2814,
779 2821, 2833, 7094, 7094, 2825, 2843, 2847, 2850, 2853, 2856,
780 3442, 3447, 3431, 2876, 2879, 3430, 2885, 7094, 7094, 2894,
781 7094, 7094, 3418, 2903, 2906, 3419, 2921, 7094, 7094, 3412,
782 2929, 7094, 7094, 2937, 2940, 3420, 2910, 2943, 3401, 3418,
783 2951, 3402, 2959, 2962, 181, 3437, 2965, 7094, 3436, 7094,
785 7094, 3395, 3388, 518, 2970, 3395, 3393, 3394, 1705, 3391,
786 1769, 3387, 3375, 3365, 1774, 3370, 2973, 2977, 3375, 3365,
787 1777, 1829, 3354, 2984, 2994, 3347, 3000, 3358, 3003, 3009,
788 3020, 7094, 7094, 3030, 3034, 7094, 7094, 3351, 3362, 3049,
789 3328, 3052, 7094, 7094, 3325, 3064, 1832, 3325, 3068, 1059,
790 1113, 3045, 3076, 3084, 3087, 3090, 3094, 3098, 7094, 3108,
791 3112, 3337, 3333, 3317, 3117, 3122, 3135, 3138, 3328, 3146,
792 3149, 3153, 3161, 3167, 3170, 3180, 3185, 3188, 3198, 3203,
793 3206, 3209, 3212, 3328, 3307, 3321, 3216, 3224, 3321, 3234,
794 3237, 3241, 3322, 3244, 3247, 3265, 3268, 3273, 3310, 3276,
796 7094, 7094, 3313, 3302, 3288, 3306, 3293, 3296, 3311, 1422,
797 612, 568, 7094, 3279, 3317, 3320, 3323, 3326, 3282, 3275,
798 3282, 3267, 3252, 3249, 3246, 1875, 1945, 3250, 1948, 2010,
799 3258, 3242, 3248, 3330, 3341, 3345, 3224, 3348, 3229, 3233,
800 3233, 3351, 3226, 3243, 3355, 3204, 3207, 3358, 3361, 3236,
801 3222, 260, 3220, 3231, 3217, 421, 3207, 3384, 7094, 7094,
802 3392, 3395, 3400, 3414, 3417, 3420, 3428, 3435, 3446, 3180,
803 3169, 3172, 3449, 7094, 7094, 3458, 3188, 3186, 3149, 3466,
804 7094, 3469, 7094, 7094, 3477, 7094, 3481, 7094, 7094, 3489,
805 3496, 3507, 7094, 7094, 3515, 3518, 3526, 3529, 3533, 3547,
807 3550, 3134, 3553, 3151, 3556, 3160, 3158, 3131, 3571, 7094,
808 3574, 3577, 3585, 3116, 3597, 3592, 3612, 3603, 3606, 3621,
809 3120, 3120, 3121, 3625, 3109, 3628, 7094, 7094, 3640, 808,
810 1330, 747, 3104, 3644, 3647, 3655, 3662, 3669, 3096, 3673,
811 3676, 3680, 3087, 3086, 3683, 3689, 3070, 3692, 3074, 3695,
812 3698, 3701, 3704, 3707, 3065, 3712, 3070, 3715, 3068, 3074,
813 3718, 7094, 3046, 3061, 3721, 3726, 3730, 3071, 3065, 3044,
814 3047, 3035, 3041, 3035, 3024, 3026, 3018, 3740, 3744, 7094,
815 7094, 3752, 3755, 3764, 7094, 7094, 3772, 7094, 7094, 3780,
816 3001, 2995, 2985, 669, 743, 2986, 3783, 7094, 7094, 3792,
818 7094, 7094, 3800, 3803, 3811, 7094, 7094, 3819, 3822, 2988,
819 3825, 3828, 2988, 2970, 806, 857, 2972, 3843, 358, 361,
820 3851, 2962, 3854, 3857, 658, 785, 3865, 3869, 7094, 3873,
821 3876, 2968, 2960, 3883, 2950, 3894, 3888, 927, 1009, 3898,
822 3903, 7094, 7094, 3913, 3916, 3922, 3925, 3936, 3941, 3945,
823 3951, 3954, 3957, 2953, 2950, 3960, 3963, 3967, 2938, 3970,
824 2934, 3973, 2927, 7094, 3979, 2920, 3982, 7094, 3985, 7094,
825 7094, 2958, 2920, 2932, 2925, 2925, 2925, 2909, 2911, 2905,
826 2902, 3993, 3997, 7094, 7094, 4005, 2868, 2859, 2848, 2865,
827 2878, 2850, 2865, 2818, 4008, 7094, 7094, 4016, 4019, 7094,
829 4024, 4028, 7094, 7094, 2810, 2784, 2761, 2746, 2713, 2723,
830 2624, 81, 919, 466, 985, 4038, 4042, 4045, 474, 1048,
831 477, 1057, 4051, 4056, 4059, 4071, 4064, 527, 4082, 4085,
832 4088, 4091, 748, 840, 4095, 4101, 4113, 4119, 4122, 4125,
833 4131, 518, 548, 565, 624, 4134, 7094, 665, 4138, 4141,
834 706, 738, 786, 838, 838, 886, 894, 901, 915, 912,
835 931, 4156, 4162, 7094, 934, 971, 965, 1025, 7094, 1023,
836 7094, 4165, 4168, 7094, 4171, 4177, 998, 1005, 1019, 1080,
837 7094, 1115, 7094, 4189, 1109, 1100, 1117, 1135, 1140, 1165,
838 4192, 4195, 4203, 4213, 1166, 1160, 1173, 1175, 1165, 1178,
840 4216, 4219, 4222, 7094, 7094, 4234, 4238, 4247, 4252, 7094,
841 4255, 4258, 1293, 1347, 1384, 4271, 4278, 4289, 4292, 7094,
842 1169, 1287, 1284, 1293, 4295, 4298, 1366, 1470, 1285, 1316,
843 1325, 1349, 1371, 1391, 1368, 1378, 1397, 1423, 1437, 4307,
844 1381, 1403, 1403, 7094, 7094, 4313, 4316, 4327, 7094, 7094,
845 1402, 1410, 1430, 7094, 7094, 4335, 4338, 1457, 1463, 1468,
846 1468, 1469, 1474, 4346, 1548, 1549, 4354, 1477, 1480, 1485,
847 1519, 1518, 1534, 4357, 4360, 4364, 7094, 4369, 7094, 7094,
848 4378, 4383, 4391, 7094, 1573, 1552, 1559, 4396, 7094, 7094,
849 4404, 4410, 4422, 1525, 4425, 1540, 4428, 4431, 1579, 1598,
851 1590, 1606, 1577, 1611, 1601, 1607, 1615, 7094, 1631, 1642,
852 1641, 1650, 7094, 4439, 4442, 1646, 1659, 4446, 7094, 7094,
853 1661, 4454, 1670, 4460, 7094, 7094, 1699, 1710, 1730, 1724,
854 1726, 1741, 1747, 1779, 1771, 1782, 4468, 1772, 1783, 1795,
855 1785, 1788, 1799, 4472, 4475, 4493, 7094, 7094, 1916, 1833,
856 4481, 4501, 7094, 7094, 4478, 1765, 4509, 1801, 4512, 7094,
857 7094, 1845, 1834, 1852, 1841, 4522, 1848, 1868, 1901, 1910,
858 1899, 1917, 1932, 1931, 4525, 4528, 4531, 1919, 1995, 1921,
859 1952, 4540, 4546, 1935, 1980, 1989, 1999, 2009, 2018, 2033,
860 2062, 2032, 2062, 2035, 4554, 2047, 2053, 2048, 2069, 2083,
862 2076, 4558, 4561, 2108, 4564, 4567, 4587, 4595, 4598, 2091,
863 2104, 2097, 2107, 4606, 4609, 2105, 2105, 7094, 2107, 2109,
864 2130, 7094, 2132, 4617, 4620, 7094, 7094, 2111, 2117, 2123,
865 2131, 4628, 4632, 7094, 7094, 4640, 2157, 2149, 2162, 2164,
866 2156, 2169, 7094, 2189, 7094, 2194, 4646, 7094, 2179, 2172,
867 2190, 2191, 2187, 2198, 4649, 4652, 4660, 4667, 4671, 4680,
868 2204, 4685, 4688, 4708, 4747, 4791, 4698, 4716, 2202, 2223,
869 2215, 2232, 4720, 7094, 7094, 2243, 2218, 2222, 2248, 2232,
870 2234, 4737, 2217, 2227, 2218, 2217, 4741, 4728, 4759, 4767,
871 2257, 2259, 2281, 2272, 2275, 2292, 7094, 7094, 2281, 2283,
873 2313, 2294, 2304, 2321, 4777, 7094, 7094, 4785, 4811, 7094,
874 7094, 4803, 2345, 4821, 2356, 2355, 4857, 4901, 2318, 7094,
875 2328, 7094, 7094, 2345, 2361, 7094, 2359, 2361, 4829, 7094,
876 2322, 2307, 2336, 2337, 4834, 7094, 7094, 4842, 2410, 2418,
877 2382, 2390, 7094, 2392, 2396, 7094, 2404, 2417, 7094, 2418,
878 2420, 7094, 4851, 4869, 2423, 2452, 2454, 2430, 2488, 2437,
879 4877, 2438, 2440, 7094, 7094, 7094, 7094, 4880, 4892, 4921,
880 4924, 2457, 2453, 2461, 2470, 7094, 7094, 7094, 7094, 7094,
881 7094, 7094, 7094, 4927, 4932, 4935, 2494, 2481, 2495, 4945,
882 2499, 2498, 4950, 4883, 4954, 4958, 4968, 4972, 2460, 4980,
884 4987, 2487, 2510, 2494, 2513, 4998, 5001, 5004, 2517, 7094,
885 7094, 5007, 7094, 7094, 5019, 7094, 7094, 5027, 7094, 7094,
886 2494, 5035, 7094, 7094, 2510, 2510, 2516, 2516, 5045, 5048,
887 2546, 7094, 2517, 2538, 2549, 2548, 2560, 5051, 5054, 2569,
888 2538, 2570, 2585, 2575, 2595, 5057, 5075, 2601, 5078, 2603,
889 2624, 2613, 2633, 5081, 5084, 2665, 5087, 5110, 2657, 7094,
890 2655, 7094, 5118, 5121, 2666, 5139, 7094, 7094, 7094, 7094,
891 5147, 5150, 5153, 5156, 5159, 5168, 5182, 5187, 2655, 2663,
892 5194, 5201, 2658, 2691, 5205, 5208, 2680, 2738, 5212, 5226,
893 2673, 2719, 5231, 5237, 5253, 5256, 2703, 2739, 5264, 7094,
895 7094, 5273, 7094, 7094, 2778, 2787, 2747, 2750, 2850, 2852,
896 2799, 2818, 2689, 2748, 2855, 2866, 2800, 2881, 5281, 5284,
897 7094, 7094, 5304, 5313, 5322, 5331, 5340, 5349, 5358, 5367,
898 5376, 5385, 5394, 5403, 5412, 5421, 5430, 5439, 5448, 5457,
899 5466, 5475, 5484, 5493, 5502, 5511, 5520, 5529, 5538, 5547,
900 5556, 5565, 5574, 5583, 5592, 5601, 5610, 5619, 5628, 5637,
901 5646, 5653, 5660, 5667, 5674, 5681, 5688, 5695, 5702, 5709,
902 5716, 5723, 5730, 5737, 5744, 5751, 5758, 5765, 5774, 5779,
903 5784, 5789, 5794, 5799, 5804, 5809, 5814, 5819, 5826, 5831,
904 5838, 5843, 5850, 5855, 5862, 5867, 5874, 5879, 5886, 5891,
906 5898, 5903, 5910, 5915, 5924, 5930, 5937, 5945, 5952, 5960,
907 5967, 5975, 5982, 5990, 5997, 6005, 6012, 6020, 6027, 6035,
908 6042, 6050, 6057, 6065, 6072, 6080, 6088, 6095, 6103, 6110,
909 6118, 6125, 6133, 6141, 6148, 6156, 6163, 6171, 6180, 6186,
910 6193, 6201, 6209, 6217, 6225, 6233, 6240, 6248, 6255, 6263,
911 6270, 6278, 6285, 6293, 6300, 6308, 6315, 6323, 6330, 6338,
912 6346, 6353, 6361, 6368, 6376, 6383, 6391, 6399, 6406, 6414,
913 6421, 6429, 6438, 6447, 6454, 6462, 6470, 6477, 6485, 6492,
914 6500, 6507, 6515, 6522, 6530, 6537, 6545, 6552, 6560, 6568,
915 6576, 6584, 6592, 6600, 6607, 6615, 6622, 6630, 6637, 6645,
917 6653, 6660, 6668, 6676, 6684, 6693, 6702, 6709, 6717, 6725,
918 6732, 6740, 6747, 6755, 6762, 6770, 6778, 6786, 6794, 6801,
919 6809, 6817, 6825, 6833, 6841, 6848, 6856, 6864, 6872, 6880,
920 6888, 6896, 6903, 6911, 6919, 6928, 6937, 6945, 6953, 6961,
921 6968, 6976, 6983, 6991, 6999, 7007, 7015, 7023, 7030, 7039,
922 7048, 7057, 7066, 7075, 7084
925 static yyconst flex_int16_t yy_def[2256] = { 0,
926 2023, 2023, 2024, 2024, 2024, 2024, 2025, 2025, 2026, 2026,
927 2027, 2027, 2028, 2028, 2028, 2028, 2029, 2029, 2023, 2023,
928 2030, 2030, 2031, 2031, 2031, 2031, 2023, 2023, 2031, 2031,
929 2023, 2023, 2031, 2031, 2031, 2031, 2032, 2032, 2033, 2033,
930 2034, 2034, 2028, 2028, 2035, 2035, 2036, 2036, 2023, 2023,
931 2036, 2036, 2036, 2036, 2037, 2037, 2038, 2038, 2039, 2039,
932 2040, 2040, 2041, 2041, 2023, 2023, 2023, 2023, 2042, 2042,
933 2043, 2043, 2044, 2044, 2023, 2023, 2044, 2044, 2044, 2044,
934 2045, 2045, 2046, 2046, 2022, 85, 2047, 2047, 2048, 2048,
935 2049, 2049, 2050, 2050, 2051, 2051, 2023, 2023, 2051, 2051,
937 2051, 2051, 2052, 2052, 2023, 2023, 2023, 2023, 2053, 2053,
938 2053, 2053, 2054, 2054, 2055, 2055, 2023, 2023, 2055, 2055,
939 2055, 2055, 2056, 2056, 2057, 2057, 2058, 2058, 2059, 2059,
940 2023, 2023, 2059, 2059, 2059, 2059, 2060, 2060, 2061, 2061,
941 2023, 2023, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
942 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
943 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
944 2022, 2022, 2022, 2062, 2022, 2022, 2062, 2062, 2022, 2022,
945 2022, 2022, 181, 182, 182, 2022, 2022, 2022, 2063, 2022,
946 2022, 2063, 2022, 2022, 2022, 2022, 2022, 2022, 2064, 2022,
948 2022, 2064, 2064, 2064, 2022, 2022, 2022, 2022, 2022, 2065,
949 2022, 2022, 2065, 2065, 2065, 2065, 2022, 2022, 185, 185,
950 185, 2022, 2022, 2022, 2066, 2022, 2022, 2066, 2066, 2066,
951 2022, 2022, 2022, 2022, 2022, 2022, 2067, 2022, 2022, 2067,
952 2067, 2067, 2067, 2022, 2022, 2022, 2022, 2022, 2022, 2068,
953 2022, 2022, 2068, 185, 254, 2022, 2022, 185, 2022, 2022,
954 2022, 2069, 2022, 2022, 2069, 2069, 2069, 2069, 2069, 2022,
955 2022, 185, 185, 2022, 2022, 2022, 2070, 2022, 2022, 2070,
956 2070, 2022, 2022, 2022, 2022, 2022, 2022, 2071, 2022, 2022,
957 2071, 2071, 2071, 2071, 2071, 2071, 2022, 2022, 2022, 2022,
959 2022, 2022, 2072, 2022, 2022, 2072, 2022, 2022, 2022, 2022,
960 2022, 2022, 2073, 2022, 2022, 2073, 2073, 2073, 2073, 2022,
961 2022, 185, 185, 2022, 2022, 2022, 2074, 2022, 2022, 2074,
962 2074, 2074, 185, 2022, 2022, 185, 185, 2022, 2022, 2022,
963 2075, 2022, 2022, 2075, 2075, 2075, 2075, 2022, 2022, 185,
964 185, 2022, 2022, 2022, 2076, 2022, 2022, 2076, 2022, 2022,
965 2022, 2022, 2022, 2022, 2077, 2022, 2022, 2077, 2077, 2077,
966 2077, 2022, 2022, 185, 374, 185, 2022, 2022, 2022, 2078,
967 2022, 2022, 2078, 2022, 2022, 2022, 2022, 2079, 2022, 2022,
968 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
970 2022, 2022, 2022, 2062, 2062, 2062, 2080, 2022, 2022, 2022,
971 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
972 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
973 2063, 2063, 2081, 2022, 2064, 2064, 2064, 2064, 2022, 2082,
974 2022, 2022, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2083,
975 2022, 2022, 2066, 2066, 2066, 2066, 2084, 2022, 2067, 2067,
976 2067, 2067, 2067, 2085, 2022, 2068, 2068, 2086, 2022, 2069,
977 2069, 2069, 2069, 2069, 2069, 2069, 2087, 2022, 2070, 2070,
978 2070, 2088, 2022, 2089, 2089, 2089, 2089, 2089, 2089, 2089,
979 2089, 2089, 2090, 2022, 2091, 2091, 2092, 2022, 2093, 2093,
981 2093, 2093, 2093, 2093, 2094, 2022, 2095, 2095, 2095, 2095,
982 2095, 2022, 2096, 2022, 2097, 2097, 2097, 2097, 2097, 2098,
983 2022, 2099, 2099, 2100, 2022, 2101, 2101, 2101, 2101, 2101,
984 2102, 2022, 2022, 2103, 2103, 2104, 2105, 2022, 2105, 2022,
985 2022, 2022, 2106, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
986 2107, 2107, 2108, 2108, 2022, 2022, 2022, 2022, 2022, 2022,
987 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
988 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2109,
989 2110, 2110, 2111, 2022, 2022, 2111, 2022, 2112, 2112, 2022,
990 2113, 2022, 2022, 2113, 2113, 2113, 2113, 2114, 2114, 2022,
992 2115, 2115, 2115, 2116, 2116, 2022, 2022, 2117, 2117, 2117,
993 2118, 2118, 2119, 2120, 2120, 2121, 2022, 2022, 2121, 2121,
994 2121, 2121, 2122, 2122, 2022, 2022, 2123, 2124, 2124, 2125,
995 2022, 2022, 2022, 2022, 2125, 2125, 2125, 2125, 2125, 2126,
996 2126, 2022, 2022, 2127, 2127, 2128, 2022, 2022, 2128, 2128,
997 2128, 2129, 2129, 2130, 2130, 2130, 2130, 2022, 2131, 2131,
998 2132, 2132, 2132, 2132, 2133, 2133, 2022, 2022, 2134, 2134,
999 2135, 2135, 2135, 2135, 2136, 2136, 2022, 2137, 2138, 2138,
1000 2139, 2022, 2022, 2139, 2022, 2022, 2140, 2022, 2022, 2022,
1001 2022, 2022, 2022, 2141, 2141, 2022, 2142, 2022, 2142, 2022,
1003 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1004 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1005 2022, 2022, 2022, 2022, 2143, 2022, 2144, 2022, 2144, 2145,
1006 2022, 2022, 2022, 2145, 2022, 2022, 2146, 2022, 2146, 2147,
1007 2022, 2022, 2022, 2022, 2022, 2147, 2022, 2022, 2147, 2022,
1008 2148, 2022, 2148, 2022, 2149, 2149, 2149, 2022, 2150, 2022,
1009 2150, 2022, 2022, 2022, 2151, 2151, 2151, 2022, 2152, 2022,
1010 2152, 2153, 2022, 2154, 2022, 2154, 2155, 2022, 2022, 2022,
1011 2155, 2155, 2155, 2155, 2022, 2156, 2022, 2156, 2022, 2022,
1012 2022, 2157, 2022, 2158, 2022, 2158, 2159, 2159, 2022, 2022,
1014 2022, 2022, 2022, 2022, 2022, 2022, 2159, 2159, 2159, 2159,
1015 2022, 2160, 2022, 2160, 2022, 2022, 2022, 2022, 2161, 2022,
1016 2161, 2162, 2022, 2022, 2022, 2162, 2162, 2162, 2022, 2163,
1017 2022, 2163, 2164, 2022, 2022, 2022, 2022, 2164, 2022, 2022,
1018 2165, 2022, 2165, 2166, 2022, 2022, 2166, 2022, 2022, 2022,
1019 2167, 2022, 2167, 2022, 2022, 2022, 2022, 2168, 2022, 2168,
1020 2169, 2169, 2169, 2169, 2022, 2170, 2022, 2170, 2022, 2171,
1021 2022, 2172, 2022, 2172, 2173, 2174, 2022, 2022, 2022, 2022,
1022 2022, 2175, 2175, 2176, 2022, 2022, 2022, 2022, 2022, 2022,
1023 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1025 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1026 2022, 2022, 2177, 2022, 2022, 2178, 2022, 2179, 2180, 2022,
1027 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2180, 2181, 2022,
1028 2182, 2022, 2022, 2182, 2183, 2184, 2184, 2184, 2185, 2186,
1029 2187, 2188, 2188, 2188, 2188, 2188, 2189, 2190, 2191, 2192,
1030 2192, 2022, 2022, 2022, 2192, 2192, 2192, 2192, 2193, 2194,
1031 2195, 2195, 2195, 2195, 2196, 2197, 2022, 2022, 2022, 2022,
1032 2022, 2022, 2197, 2022, 2198, 2199, 2022, 2022, 2022, 2199,
1033 2022, 2022, 2022, 2200, 2201, 2202, 2022, 2022, 2202, 2202,
1034 2203, 2022, 2204, 2205, 2206, 2207, 2207, 2022, 2207, 2022,
1036 2022, 2022, 2208, 2208, 2209, 2022, 2022, 2022, 2022, 2022,
1037 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1038 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1039 2022, 2022, 2022, 2210, 2022, 2022, 2022, 2211, 2022, 2212,
1040 2213, 2022, 2022, 2022, 2213, 2214, 2022, 2215, 2022, 2022,
1041 2022, 2022, 2022, 2216, 2217, 2217, 2217, 2022, 2022, 2218,
1042 2219, 2220, 2220, 2220, 2022, 2022, 2022, 2022, 2220, 2221,
1043 2022, 2022, 2222, 2022, 2022, 2223, 2022, 2022, 2223, 2223,
1044 2223, 2224, 2225, 2226, 2226, 2226, 2022, 2022, 2226, 2227,
1045 2228, 2228, 2022, 2229, 2230, 2230, 2231, 2232, 2233, 2022,
1047 2022, 2022, 2233, 2233, 2234, 2022, 2022, 2022, 2235, 2236,
1048 2237, 2237, 2022, 2022, 2238, 2238, 2238, 2239, 2022, 2022,
1049 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1050 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1051 2022, 2240, 2241, 2022, 2242, 2243, 2243, 2244, 2245, 2022,
1052 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1053 2246, 2022, 2022, 2247, 2022, 2022, 2022, 2022, 2248, 2249,
1054 2249, 2249, 2022, 2022, 2022, 2022, 2022, 2022, 2249, 2022,
1055 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1056 2022, 2022, 2022, 2022, 2022, 2022, 2223, 2022, 2022, 2224,
1058 2225, 2226, 2226, 2226, 2022, 2022, 2022, 2226, 2022, 2022,
1059 2022, 2022, 2228, 2022, 2229, 2022, 2022, 2230, 2231, 2232,
1060 2233, 2233, 2233, 2234, 2022, 2022, 2022, 2022, 2235, 2236,
1061 2237, 2237, 2022, 2022, 2022, 2238, 2238, 2239, 2022, 2022,
1062 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1063 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2240, 2241, 2022,
1064 2022, 2022, 2243, 2243, 2244, 2022, 2022, 2022, 2022, 2022,
1065 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2246, 2022, 2022,
1066 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2248,
1067 2249, 2249, 2249, 2022, 2022, 2249, 2022, 2022, 2022, 2022,
1069 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2224, 2225, 2226,
1070 2022, 2022, 2226, 2226, 2022, 2022, 2226, 2022, 2022, 2022,
1071 2228, 2022, 2229, 2022, 2022, 2022, 2230, 2022, 2022, 2232,
1072 2233, 2233, 2233, 2234, 2022, 2235, 2236, 2237, 2237, 2022,
1073 2022, 2022, 2022, 2238, 2238, 2239, 2022, 2022, 2022, 2022,
1074 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1075 2022, 2240, 2241, 2022, 2243, 2243, 2022, 2022, 2022, 2022,
1076 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1077 2022, 2246, 2022, 2022, 2022, 2248, 2249, 2249, 2249, 2022,
1078 2022, 2022, 2022, 2249, 2022, 2022, 2022, 2224, 2022, 2022,
1080 2226, 2022, 2022, 2022, 2226, 2226, 2022, 2022, 2022, 2022,
1081 2226, 2022, 2022, 2022, 2022, 2228, 2022, 2229, 2022, 2022,
1082 2022, 2022, 2230, 2232, 2022, 2022, 2233, 2233, 2234, 2022,
1083 2235, 2236, 2237, 2237, 2022, 2238, 2238, 2239, 2022, 2022,
1084 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2241, 2022, 2022,
1085 2243, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1086 2022, 2246, 2022, 2022, 2249, 2249, 2249, 2022, 2022, 2022,
1087 2022, 2249, 2022, 2022, 2022, 2022, 2226, 2226, 2226, 2022,
1088 2022, 2022, 2022, 2226, 2022, 2022, 2022, 2022, 2022, 2022,
1089 2022, 2022, 2022, 2229, 2022, 2022, 2022, 2022, 2022, 2022,
1091 2230, 2232, 2022, 2022, 2022, 2022, 2022, 2233, 2022, 2022,
1092 2022, 2235, 2236, 2237, 2237, 2022, 2022, 2238, 2022, 2022,
1093 2022, 2022, 2022, 2022, 2241, 2022, 2022, 2022, 2243, 2022,
1094 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2246,
1095 2249, 2249, 2249, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1096 2226, 2226, 2226, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1097 2022, 2022, 2022, 2022, 2022, 2022, 2229, 2022, 2022, 2022,
1098 2022, 2022, 2022, 2230, 2230, 2022, 2022, 2022, 2022, 2022,
1099 2022, 2022, 2022, 2022, 2236, 2237, 2237, 2022, 2022, 2022,
1100 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1102 2022, 2022, 2243, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1103 2022, 2022, 2022, 2246, 2249, 2249, 2249, 2022, 2022, 2022,
1104 2226, 2226, 2226, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1105 2022, 2022, 2022, 2022, 2022, 2022, 2229, 2022, 2022, 2022,
1106 2022, 2022, 2022, 2230, 2230, 2022, 2022, 2022, 2236, 2237,
1107 2237, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1108 2022, 2022, 2022, 2022, 2022, 2243, 2022, 2022, 2022, 2022,
1109 2022, 2022, 2022, 2022, 2246, 2022, 2022, 2249, 2249, 2249,
1110 2226, 2022, 2022, 2226, 2022, 2022, 2022, 2022, 2022, 2022,
1111 2022, 2022, 2022, 2022, 2229, 2022, 2022, 2022, 2022, 2022,
1113 2022, 2230, 2230, 2236, 2237, 2237, 2237, 2022, 2022, 2022,
1114 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1115 2022, 2022, 2022, 2246, 2022, 2022, 2022, 2249, 2249, 2249,
1116 2249, 2226, 2022, 2022, 2022, 2226, 2022, 2022, 2022, 2022,
1117 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1118 2022, 2022, 2022, 2022, 2022, 2022, 2230, 2022, 2022, 2230,
1119 2236, 2237, 2237, 2237, 2250, 2251, 2022, 2022, 2022, 2022,
1120 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1121 2022, 2246, 2249, 2249, 2249, 2249, 2022, 2022, 2022, 2022,
1122 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1124 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2230, 2022, 2022,
1125 2022, 2230, 2236, 2237, 2252, 2253, 2250, 2251, 2022, 2022,
1126 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1127 2249, 2249, 2249, 2249, 2022, 2022, 2022, 2022, 2022, 2022,
1128 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1129 2022, 2022, 2230, 2230, 2236, 2252, 2237, 2254, 2253, 2255,
1130 2237, 2022, 2022, 2022, 2022, 2022, 2022, 2249, 2249, 2249,
1131 2249, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1132 2022, 2022, 2022, 2230, 2230, 2236, 2254, 2022, 2255, 2237,
1133 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2249, 2022,
1135 2022, 2022, 2022, 2022, 2022, 2230, 2230, 2236, 2022, 2022,
1136 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1137 2249, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2230, 2230,
1138 2236, 2022, 2249, 2022, 2022, 2022, 2022, 2230, 2230, 2236,
1139 2249, 2022, 2022, 2022, 2022, 2230, 2230, 2236, 2249, 2022,
1140 2022, 2022, 2022, 2230, 2230, 2236, 2022, 2022, 2022, 2022,
1141 2022, 2022, 2230, 2230, 2236, 2022, 2022, 2022, 2022, 2022,
1142 2230, 2230, 2236, 2230, 2230, 2236, 2230, 2230, 2236, 2236,
1143 2230, 2230, 2236, 2236, 2230, 2230, 2236, 2236, 2230, 2230,
1144 2236, 2236, 2022, 2022, 2022, 2022, 2236, 2236, 2022, 2022,
1146 2022, 2022, 2022, 2022, 2236, 2236, 2236, 2236, 2236, 2236,
1147 2236, 2236, 2236, 2236, 2236, 2236, 2236, 2236, 2236, 2236,
1148 2022, 0, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1149 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1150 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1151 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1152 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1153 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1154 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1155 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1157 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1158 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1159 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1160 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1161 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1162 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
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,
1168 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1169 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1170 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1171 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1172 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1173 2022, 2022, 2022, 2022, 2022
1176 static yyconst flex_int16_t yy_nxt[7164] = { 0,
1177 2022, 146, 147, 146, 146, 147, 146, 146, 147, 146,
1178 146, 147, 146, 151, 147, 151, 157, 148, 154, 157,
1179 148, 154, 450, 149, 2022, 155, 149, 2022, 155, 152,
1180 151, 147, 151, 388, 158, 160, 161, 158, 160, 161,
1181 162, 163, 2022, 162, 163, 388, 152, 167, 168, 389,
1182 164, 160, 161, 164, 165, 391, 162, 160, 161, 561,
1183 165, 390, 162, 167, 168, 562, 164, 147, 147, 147,
1184 451, 390, 164, 147, 147, 147, 180, 147, 180, 180,
1185 147, 180, 472, 170, 180, 147, 180, 510, 169, 170,
1186 451, 473, 181, 561, 511, 181, 387, 387, 387, 575,
1188 182, 387, 387, 387, 169, 171, 172, 147, 172, 171,
1189 171, 171, 171, 171, 171, 171, 173, 171, 171, 171,
1190 1485, 171, 175, 171, 176, 171, 180, 147, 180, 147,
1191 147, 147, 503, 147, 147, 147, 180, 147, 180, 180,
1192 147, 180, 182, 504, 561, 183, 391, 171, 171, 183,
1193 600, 489, 181, 391, 490, 181, 387, 387, 387, 387,
1194 387, 387, 390, 387, 387, 387, 387, 387, 387, 390,
1195 177, 2022, 178, 171, 172, 147, 172, 171, 171, 171,
1196 171, 171, 171, 171, 173, 171, 171, 171, 477, 171,
1197 175, 171, 176, 171, 147, 147, 147, 147, 147, 147,
1199 682, 180, 147, 180, 180, 147, 180, 180, 147, 180,
1200 184, 563, 391, 184, 391, 171, 171, 182, 391, 425,
1201 182, 426, 1110, 185, 564, 180, 147, 180, 390, 427,
1202 390, 387, 387, 387, 390, 425, 451, 428, 177, 429,
1203 178, 185, 186, 187, 147, 187, 186, 186, 186, 186,
1204 186, 186, 186, 188, 186, 186, 186, 485, 186, 190,
1205 186, 191, 186, 194, 147, 194, 194, 147, 194, 402,
1206 218, 147, 218, 160, 161, 160, 161, 486, 162, 195,
1207 162, 1270, 195, 446, 186, 186, 219, 447, 205, 1271,
1208 205, 448, 192, 186, 187, 147, 187, 186, 186, 186,
1210 186, 186, 186, 186, 188, 186, 186, 186, 892, 186,
1211 190, 186, 191, 186, 206, 2022, 206, 218, 147, 218,
1212 893, 147, 147, 147, 147, 147, 147, 387, 387, 387,
1213 387, 387, 387, 219, 682, 186, 186, 220, 875, 544,
1214 220, 513, 545, 192, 196, 197, 147, 197, 196, 196,
1215 196, 196, 196, 196, 196, 198, 196, 196, 196, 512,
1216 196, 200, 196, 201, 196, 218, 147, 218, 218, 147,
1217 218, 505, 218, 147, 218, 218, 147, 218, 387, 387,
1218 387, 219, 391, 439, 219, 512, 196, 196, 221, 433,
1219 440, 221, 1412, 1413, 202, 1414, 1415, 203, 390, 390,
1221 387, 387, 387, 204, 196, 197, 147, 197, 196, 196,
1222 196, 196, 196, 196, 196, 198, 196, 196, 196, 451,
1223 196, 200, 196, 201, 196, 232, 147, 232, 232, 147,
1224 232, 906, 245, 147, 245, 245, 147, 245, 538, 391,
1225 391, 233, 1275, 893, 233, 391, 196, 196, 246, 571,
1226 1276, 246, 457, 539, 202, 390, 390, 203, 387, 387,
1227 387, 390, 572, 204, 207, 208, 147, 208, 207, 207,
1228 207, 207, 207, 207, 207, 209, 207, 207, 207, 906,
1229 207, 211, 207, 212, 207, 147, 147, 147, 147, 147,
1230 147, 930, 147, 147, 147, 147, 147, 147, 257, 147,
1232 257, 254, 391, 391, 254, 1488, 207, 207, 255, 464,
1233 520, 255, 563, 1495, 258, 213, 1498, 214, 390, 390,
1234 215, 387, 387, 387, 2022, 576, 216, 207, 208, 147,
1235 208, 207, 207, 207, 207, 207, 207, 207, 209, 207,
1236 207, 207, 538, 207, 211, 207, 212, 207, 257, 147,
1237 257, 271, 147, 271, 512, 271, 147, 271, 147, 147,
1238 147, 147, 147, 147, 258, 411, 391, 272, 413, 207,
1239 207, 272, 391, 1116, 220, 587, 1508, 220, 213, 1117,
1240 214, 1521, 390, 215, 387, 387, 387, 998, 390, 216,
1241 222, 223, 147, 223, 222, 222, 222, 222, 222, 222,
1243 222, 224, 222, 222, 222, 1522, 222, 226, 222, 227,
1244 222, 271, 147, 271, 271, 147, 271, 1232, 271, 147,
1245 271, 271, 147, 271, 283, 147, 283, 272, 1523, 797,
1246 272, 998, 222, 222, 273, 391, 391, 273, 798, 228,
1247 284, 387, 387, 387, 229, 387, 387, 387, 387, 387,
1248 387, 390, 390, 230, 222, 223, 147, 223, 222, 222,
1249 222, 222, 222, 222, 222, 224, 222, 222, 222, 1231,
1250 222, 226, 222, 227, 222, 283, 147, 283, 298, 147,
1251 298, 1524, 298, 147, 298, 308, 147, 308, 308, 147,
1252 308, 284, 1419, 1420, 299, 1390, 222, 222, 299, 391,
1254 391, 309, 1391, 228, 309, 387, 387, 387, 229, 387,
1255 387, 387, 387, 387, 387, 390, 390, 230, 234, 235,
1256 147, 235, 234, 234, 234, 234, 234, 234, 234, 236,
1257 234, 234, 234, 1525, 234, 238, 234, 239, 234, 321,
1258 147, 321, 321, 147, 321, 682, 147, 147, 147, 147,
1259 147, 147, 321, 147, 321, 322, 391, 571, 322, 1529,
1260 234, 234, 220, 482, 995, 220, 998, 998, 322, 1392,
1261 578, 240, 390, 387, 387, 387, 1393, 241, 1530, 242,
1262 243, 234, 235, 147, 235, 234, 234, 234, 234, 234,
1263 234, 234, 236, 234, 234, 234, 1514, 234, 238, 234,
1265 239, 234, 321, 147, 321, 321, 147, 321, 1339, 321,
1266 147, 321, 147, 147, 147, 147, 147, 147, 322, 1421,
1267 1422, 323, 391, 234, 234, 323, 682, 682, 333, 493,
1268 1531, 333, 1407, 1337, 240, 387, 387, 387, 390, 1408,
1269 241, 684, 242, 243, 247, 248, 147, 248, 247, 247,
1270 247, 247, 247, 247, 247, 249, 247, 247, 247, 998,
1271 247, 251, 247, 252, 247, 147, 147, 147, 147, 147,
1272 147, 1532, 335, 147, 335, 335, 147, 335, 335, 147,
1273 335, 333, 1533, 1409, 333, 391, 247, 247, 336, 391,
1274 1410, 336, 497, 1515, 337, 387, 387, 387, 387, 387,
1276 387, 390, 387, 387, 387, 390, 253, 247, 248, 147,
1277 248, 247, 247, 247, 247, 247, 247, 247, 249, 247,
1278 247, 247, 1534, 247, 251, 247, 252, 247, 335, 147,
1279 335, 349, 147, 349, 1535, 349, 147, 349, 147, 147,
1280 147, 147, 147, 147, 337, 1536, 998, 350, 1537, 247,
1281 247, 350, 391, 1486, 333, 1487, 1538, 333, 387, 387,
1282 387, 387, 387, 387, 387, 387, 387, 1539, 390, 253,
1283 259, 260, 147, 260, 259, 259, 259, 259, 259, 259,
1284 259, 261, 259, 259, 259, 1433, 259, 263, 259, 264,
1285 259, 349, 147, 349, 349, 147, 349, 1541, 349, 147,
1287 349, 349, 147, 349, 360, 147, 360, 350, 391, 391,
1288 350, 391, 259, 259, 351, 265, 524, 351, 1542, 1489,
1289 361, 1490, 1543, 266, 390, 390, 267, 390, 998, 268,
1290 1544, 1545, 269, 259, 260, 147, 260, 259, 259, 259,
1291 259, 259, 259, 259, 261, 259, 259, 259, 1551, 259,
1292 263, 259, 264, 259, 360, 147, 360, 373, 147, 373,
1293 1552, 373, 147, 373, 147, 147, 147, 147, 147, 147,
1294 361, 1434, 391, 374, 1553, 259, 259, 374, 265, 536,
1295 375, 1150, 1496, 375, 1497, 1554, 266, 1151, 390, 267,
1296 1152, 1499, 268, 1500, 1153, 269, 274, 275, 147, 275,
1298 274, 274, 274, 274, 274, 274, 274, 276, 274, 274,
1299 274, 531, 274, 278, 274, 279, 274, 373, 147, 373,
1300 373, 147, 373, 1555, 373, 147, 373, 373, 147, 373,
1301 385, 147, 385, 374, 1558, 1154, 374, 1559, 274, 274,
1302 376, 1155, 1560, 376, 1156, 532, 386, 396, 1157, 280,
1303 387, 387, 387, 387, 387, 387, 387, 387, 387, 451,
1304 1561, 281, 274, 275, 147, 275, 274, 274, 274, 274,
1305 274, 274, 274, 276, 274, 274, 274, 1562, 274, 278,
1306 274, 279, 274, 385, 147, 385, 397, 387, 387, 387,
1307 1563, 1568, 398, 387, 387, 387, 399, 1569, 1570, 386,
1309 1571, 400, 1572, 1573, 274, 274, 387, 387, 387, 387,
1310 387, 387, 387, 387, 387, 280, 387, 387, 387, 542,
1311 542, 542, 1593, 686, 896, 896, 896, 281, 285, 286,
1312 147, 286, 285, 285, 285, 285, 285, 285, 285, 287,
1313 285, 285, 285, 288, 285, 289, 285, 290, 285, 288,
1314 288, 288, 288, 288, 288, 288, 288, 288, 288, 288,
1315 288, 288, 288, 288, 288, 288, 288, 288, 288, 288,
1316 285, 285, 288, 288, 291, 288, 288, 288, 288, 288,
1317 288, 292, 288, 293, 288, 288, 288, 294, 288, 295,
1318 296, 288, 288, 288, 288, 288, 288, 300, 301, 147,
1320 301, 300, 300, 300, 300, 300, 300, 300, 302, 300,
1321 300, 300, 682, 300, 304, 300, 305, 300, 542, 542,
1322 542, 584, 584, 584, 592, 592, 592, 606, 606, 606,
1323 617, 617, 617, 904, 904, 904, 1594, 1595, 585, 300,
1324 300, 593, 1596, 1603, 607, 1604, 1605, 618, 1585, 998,
1325 306, 300, 301, 147, 301, 300, 300, 300, 300, 300,
1326 300, 300, 302, 300, 300, 300, 998, 300, 304, 300,
1327 305, 300, 1606, 543, 625, 625, 625, 1338, 631, 631,
1328 631, 633, 633, 633, 642, 642, 642, 1009, 1009, 1009,
1329 1599, 626, 1607, 300, 300, 632, 1608, 1609, 634, 1610,
1331 1586, 643, 1600, 998, 306, 310, 311, 147, 311, 310,
1332 310, 310, 310, 310, 310, 310, 312, 310, 310, 310,
1333 1611, 310, 314, 310, 315, 310, 647, 647, 647, 667,
1334 667, 667, 696, 696, 696, 696, 696, 696, 726, 726,
1335 726, 682, 1587, 648, 1612, 1613, 668, 310, 310, 1615,
1336 698, 316, 1616, 698, 1617, 1621, 728, 1230, 317, 1622,
1337 318, 1015, 1015, 1015, 896, 896, 896, 319, 310, 311,
1338 147, 311, 310, 310, 310, 310, 310, 310, 310, 312,
1339 310, 310, 310, 1623, 310, 314, 310, 315, 310, 699,
1340 726, 726, 726, 1627, 1601, 584, 584, 584, 731, 731,
1342 731, 1628, 732, 1629, 1630, 733, 1602, 1631, 728, 1632,
1343 310, 310, 585, 1638, 316, 741, 741, 741, 1639, 742,
1344 1640, 317, 743, 318, 1021, 1021, 1021, 904, 904, 904,
1345 319, 324, 325, 147, 325, 324, 324, 324, 324, 324,
1346 324, 324, 326, 324, 324, 324, 729, 324, 328, 324,
1347 329, 324, 736, 736, 736, 1641, 1642, 736, 736, 736,
1348 592, 592, 592, 744, 744, 744, 747, 747, 747, 1643,
1349 738, 998, 1656, 324, 324, 738, 330, 593, 998, 331,
1350 745, 1633, 1635, 748, 762, 762, 762, 1658, 763, 1634,
1351 1636, 764, 682, 332, 324, 325, 147, 325, 324, 324,
1353 324, 324, 324, 324, 324, 326, 324, 324, 324, 1650,
1354 324, 328, 324, 329, 324, 1662, 1651, 739, 1649, 1663,
1355 750, 750, 750, 758, 758, 758, 1664, 1665, 750, 750,
1356 750, 758, 758, 758, 1666, 1667, 324, 324, 752, 330,
1357 1668, 760, 331, 778, 778, 778, 752, 779, 1669, 760,
1358 780, 1047, 1047, 1047, 1670, 1671, 332, 338, 339, 147,
1359 339, 338, 338, 338, 338, 338, 338, 338, 340, 338,
1360 338, 338, 753, 338, 342, 338, 343, 338, 606, 606,
1361 606, 1672, 1673, 768, 768, 768, 773, 773, 773, 1674,
1362 1679, 761, 617, 617, 617, 607, 768, 768, 768, 338,
1364 338, 770, 344, 1680, 775, 345, 1009, 1009, 1009, 618,
1365 346, 789, 789, 789, 770, 790, 1681, 1684, 791, 347,
1366 338, 339, 147, 339, 338, 338, 338, 338, 338, 338,
1367 338, 340, 338, 338, 338, 1685, 338, 342, 338, 343,
1368 338, 773, 773, 773, 771, 1686, 785, 785, 785, 785,
1369 785, 785, 625, 625, 625, 1687, 793, 793, 793, 775,
1370 1688, 1689, 338, 338, 787, 344, 1690, 787, 345, 626,
1371 1011, 1011, 1011, 346, 795, 1015, 1015, 1015, 1021, 1021,
1372 1021, 1691, 347, 352, 353, 147, 353, 352, 352, 352,
1373 352, 352, 352, 352, 354, 352, 352, 352, 776, 352,
1375 356, 352, 357, 352, 1692, 1693, 788, 1694, 1696, 793,
1376 793, 793, 631, 631, 631, 799, 799, 799, 1697, 800,
1377 1698, 1699, 801, 1700, 1701, 352, 352, 795, 1708, 632,
1378 1022, 1022, 1022, 1047, 1047, 1047, 358, 352, 353, 147,
1379 353, 352, 352, 352, 352, 352, 352, 352, 354, 352,
1380 352, 352, 998, 352, 356, 352, 357, 352, 633, 633,
1381 633, 802, 802, 802, 1709, 803, 1710, 1711, 804, 796,
1382 805, 805, 805, 1712, 1713, 634, 1246, 1246, 1246, 352,
1383 352, 815, 815, 815, 1705, 816, 1716, 806, 817, 1717,
1384 358, 362, 363, 147, 363, 362, 362, 362, 362, 362,
1386 362, 362, 364, 362, 362, 362, 1718, 362, 366, 362,
1387 367, 362, 811, 811, 811, 642, 642, 642, 818, 818,
1388 818, 811, 811, 811, 818, 818, 818, 647, 647, 647,
1389 813, 1719, 643, 362, 362, 682, 820, 1720, 1721, 813,
1390 1722, 368, 820, 369, 648, 370, 1127, 1127, 1127, 1248,
1391 1248, 1248, 1723, 371, 362, 363, 147, 363, 362, 362,
1392 362, 362, 362, 362, 362, 364, 362, 362, 362, 1728,
1393 362, 366, 362, 367, 362, 814, 823, 823, 823, 1704,
1394 824, 821, 1731, 825, 829, 829, 829, 829, 829, 829,
1395 834, 834, 834, 836, 836, 836, 362, 362, 845, 845,
1397 845, 1732, 831, 1736, 368, 831, 369, 835, 370, 1737,
1398 837, 1130, 1130, 1130, 1738, 846, 371, 377, 378, 147,
1399 378, 377, 377, 377, 377, 377, 377, 377, 379, 377,
1400 377, 377, 1739, 377, 381, 377, 382, 377, 1740, 832,
1401 840, 840, 840, 1741, 848, 848, 848, 840, 840, 840,
1402 850, 850, 850, 850, 850, 850, 1729, 1730, 842, 377,
1403 377, 849, 667, 667, 667, 842, 1742, 1743, 852, 1744,
1404 1745, 852, 1746, 854, 854, 854, 1749, 855, 1750, 668,
1405 856, 1751, 383, 377, 378, 147, 378, 377, 377, 377,
1406 377, 377, 377, 377, 379, 377, 377, 377, 1752, 377,
1408 381, 377, 382, 377, 843, 857, 857, 857, 1753, 1754,
1409 853, 857, 857, 857, 865, 865, 865, 865, 865, 865,
1410 871, 871, 871, 859, 1769, 377, 377, 682, 1770, 859,
1411 1771, 1772, 867, 1776, 1777, 867, 1778, 1779, 873, 871,
1412 871, 871, 696, 696, 696, 911, 911, 911, 383, 391,
1413 696, 696, 696, 1011, 1011, 1011, 407, 873, 1761, 1780,
1414 698, 1781, 912, 860, 1783, 390, 1784, 1012, 698, 696,
1415 696, 696, 1785, 726, 726, 726, 1786, 868, 726, 726,
1416 726, 1791, 1792, 726, 726, 726, 1793, 698, 1794, 1795,
1417 408, 728, 409, 1796, 1797, 410, 728, 411, 412, 874,
1419 413, 728, 1798, 1799, 414, 1800, 415, 416, 417, 391,
1420 914, 914, 914, 884, 1801, 1802, 407, 731, 731, 731,
1421 1803, 732, 1804, 682, 733, 390, 1819, 915, 1820, 913,
1422 2022, 2022, 2022, 736, 736, 736, 736, 736, 736, 1821,
1423 1822, 736, 736, 736, 744, 744, 744, 2022, 1823, 1824,
1424 408, 738, 418, 1825, 738, 419, 1826, 420, 412, 738,
1425 421, 745, 1813, 1827, 414, 1828, 422, 423, 424, 741,
1426 741, 741, 1831, 742, 1832, 1833, 743, 920, 920, 920,
1427 1834, 921, 1841, 1842, 922, 918, 1843, 916, 923, 923,
1428 923, 747, 747, 747, 925, 925, 925, 1844, 926, 1845,
1430 1846, 927, 750, 750, 750, 924, 1847, 1848, 748, 750,
1431 750, 750, 750, 750, 750, 932, 932, 932, 1849, 1850,
1432 752, 758, 758, 758, 758, 758, 758, 752, 1851, 1852,
1433 752, 1862, 933, 758, 758, 758, 762, 762, 762, 760,
1434 763, 1863, 760, 764, 768, 768, 768, 768, 768, 768,
1435 1864, 760, 768, 768, 768, 773, 773, 773, 773, 773,
1436 773, 1857, 770, 1857, 682, 770, 1865, 1866, 929, 1867,
1437 770, 1868, 1869, 775, 1860, 1858, 775, 935, 773, 773,
1438 773, 778, 778, 778, 1870, 779, 1871, 1876, 780, 785,
1439 785, 785, 785, 785, 785, 1877, 775, 785, 785, 785,
1441 1878, 789, 789, 789, 1879, 790, 1855, 787, 791, 1880,
1442 787, 793, 793, 793, 939, 787, 793, 793, 793, 793,
1443 793, 793, 1881, 799, 799, 799, 1882, 800, 1883, 795,
1444 801, 805, 805, 805, 795, 1888, 1872, 795, 941, 802,
1445 802, 802, 682, 803, 1874, 1888, 804, 1873, 806, 952,
1446 952, 952, 1891, 953, 1892, 1875, 954, 1857, 947, 811,
1447 811, 811, 811, 811, 811, 811, 811, 811, 815, 815,
1448 815, 1858, 816, 998, 999, 817, 949, 813, 1902, 1886,
1449 813, 1903, 1904, 813, 818, 818, 818, 818, 818, 818,
1450 818, 818, 818, 823, 823, 823, 1857, 824, 1905, 1888,
1452 825, 1909, 820, 1888, 1910, 820, 1911, 1860, 820, 829,
1453 829, 829, 829, 829, 829, 829, 829, 829, 834, 834,
1454 834, 1921, 967, 967, 967, 1925, 968, 831, 959, 969,
1455 831, 1926, 1927, 831, 1928, 835, 1932, 836, 836, 836,
1456 970, 970, 970, 1933, 971, 1934, 1935, 972, 840, 840,
1457 840, 1936, 1937, 960, 837, 840, 840, 840, 840, 840,
1458 840, 845, 845, 845, 1941, 682, 842, 1942, 977, 977,
1459 977, 965, 978, 842, 1943, 979, 842, 1944, 846, 848,
1460 848, 848, 981, 981, 981, 1945, 982, 1940, 682, 983,
1461 850, 850, 850, 850, 850, 850, 849, 850, 850, 850,
1463 854, 854, 854, 1949, 855, 1950, 1948, 856, 852, 1951,
1464 1952, 852, 857, 857, 857, 852, 857, 857, 857, 1953,
1465 682, 975, 857, 857, 857, 987, 987, 987, 1959, 1960,
1466 859, 865, 865, 865, 859, 865, 865, 865, 1961, 1956,
1467 859, 1962, 988, 865, 865, 865, 871, 871, 871, 867,
1468 871, 871, 871, 867, 871, 871, 871, 997, 997, 997,
1469 984, 867, 1969, 1970, 873, 696, 696, 696, 873, 911,
1470 911, 911, 873, 1484, 682, 998, 999, 682, 985, 1022,
1471 1022, 1022, 682, 698, 682, 682, 912, 1031, 1031, 1031,
1472 1965, 1032, 682, 1012, 1033, 726, 726, 726, 1973, 682,
1474 991, 914, 914, 914, 994, 1035, 1035, 1035, 682, 1036,
1475 682, 1987, 1037, 728, 736, 736, 736, 1983, 915, 920,
1476 920, 920, 682, 921, 1997, 1984, 922, 1005, 923, 923,
1477 923, 1483, 738, 1042, 1042, 1042, 1991, 1043, 682, 1482,
1478 1044, 750, 750, 750, 1988, 924, 925, 925, 925, 1034,
1479 926, 1481, 2015, 927, 932, 932, 932, 682, 682, 752,
1480 1040, 1049, 1049, 1049, 2005, 1050, 682, 682, 1051, 682,
1481 1998, 933, 1052, 1052, 1052, 758, 758, 758, 1058, 1058,
1482 1058, 773, 773, 773, 1065, 1065, 1065, 1480, 1046, 1053,
1483 1067, 1067, 1067, 760, 1992, 2009, 1059, 682, 2010, 775,
1485 2006, 1066, 785, 785, 785, 2019, 682, 1068, 1071, 1071,
1486 1071, 2016, 793, 793, 793, 1074, 1074, 1074, 682, 682,
1487 787, 1054, 2022, 2022, 2022, 1072, 1077, 1077, 1077, 1061,
1488 795, 2007, 1075, 1069, 952, 952, 952, 682, 953, 2022,
1489 2008, 954, 1479, 1078, 2022, 2022, 2022, 2013, 2022, 2022,
1490 2022, 2022, 2022, 2022, 811, 811, 811, 818, 818, 818,
1491 2011, 2022, 2012, 1478, 1070, 2022, 2014, 1472, 2022, 682,
1492 1073, 682, 813, 1471, 682, 820, 1470, 1087, 1087, 1087,
1493 829, 829, 829, 1469, 1076, 682, 967, 967, 967, 2019,
1494 968, 1468, 1080, 969, 1088, 970, 970, 970, 831, 971,
1496 682, 1467, 972, 2017, 1022, 1022, 1022, 840, 840, 840,
1497 1079, 987, 987, 987, 2018, 1082, 1466, 1081, 1093, 1083,
1498 1089, 1465, 977, 977, 977, 842, 978, 1461, 988, 979,
1499 981, 981, 981, 1090, 982, 1460, 1459, 983, 850, 850,
1500 850, 857, 857, 857, 1100, 1100, 1100, 1458, 1101, 1457,
1501 1456, 1102, 865, 865, 865, 1455, 852, 1454, 1453, 859,
1502 1107, 1107, 1107, 871, 871, 871, 997, 997, 997, 1094,
1503 867, 696, 696, 696, 1127, 1127, 1127, 1108, 1130, 1130,
1504 1130, 873, 1452, 1451, 998, 1127, 1127, 1127, 1128, 698,
1505 1448, 1445, 1131, 1444, 1098, 1136, 1136, 1136, 1105, 1128,
1507 1097, 1138, 1138, 1138, 1138, 1138, 1138, 1443, 1442, 1131,
1508 1136, 1136, 1136, 1430, 1111, 1139, 1428, 1427, 1139, 1417,
1509 1118, 1031, 1031, 1031, 1141, 1032, 1109, 1411, 1033, 1406,
1510 1112, 726, 726, 726, 1129, 1035, 1035, 1035, 1405, 1036,
1511 1401, 1394, 1037, 1389, 1388, 1135, 1052, 1052, 1052, 728,
1512 736, 736, 736, 1042, 1042, 1042, 1387, 1043, 1381, 1380,
1513 1044, 1129, 1379, 1053, 1135, 750, 750, 750, 738, 1049,
1514 1049, 1049, 1378, 1050, 1377, 1376, 1051, 1158, 1158, 1158,
1515 1375, 1159, 1374, 752, 1160, 758, 758, 758, 1162, 1162,
1516 1162, 2022, 2022, 2022, 1142, 1165, 1165, 1165, 1145, 1058,
1518 1058, 1058, 1373, 760, 1372, 1163, 1366, 1365, 2022, 1167,
1519 1167, 1167, 1166, 773, 773, 773, 1364, 1059, 1065, 1065,
1520 1065, 1363, 1148, 1173, 1173, 1173, 1168, 1174, 1361, 1359,
1521 1175, 775, 1355, 1161, 1354, 1066, 1067, 1067, 1067, 1176,
1522 1176, 1176, 1352, 1177, 1351, 1164, 1178, 1180, 1180, 1180,
1523 1071, 1071, 1071, 1068, 1182, 1182, 1182, 1169, 1183, 1347,
1524 1340, 1184, 1185, 1185, 1185, 1181, 1335, 1072, 1074, 1074,
1525 1074, 1187, 1187, 1187, 1333, 1188, 1332, 1331, 1189, 1322,
1526 1186, 1190, 1190, 1190, 1317, 1075, 1077, 1077, 1077, 1192,
1527 1192, 1192, 1316, 1193, 1315, 1314, 1194, 1310, 1191, 1195,
1529 1195, 1195, 1296, 1078, 2022, 2022, 2022, 1198, 1198, 1198,
1530 811, 811, 811, 818, 818, 818, 1196, 1087, 1087, 1087,
1531 1295, 2022, 1294, 1293, 1199, 1205, 1205, 1205, 813, 1206,
1532 1292, 820, 1207, 1291, 1088, 1209, 1209, 1209, 1211, 1211,
1533 1211, 1277, 2022, 2022, 2022, 840, 840, 840, 1216, 1216,
1534 1216, 1274, 1273, 1210, 1272, 1212, 1269, 1268, 1197, 2022,
1535 1264, 1201, 1263, 842, 1260, 1217, 2022, 2022, 2022, 850,
1536 850, 850, 1200, 1259, 857, 857, 857, 1100, 1100, 1100,
1537 1257, 1101, 1256, 2022, 1102, 1255, 1254, 852, 1220, 865,
1538 865, 865, 859, 1215, 1107, 1107, 1107, 1226, 1226, 1226,
1540 1251, 1227, 1213, 1250, 1228, 1249, 1247, 867, 1245, 1218,
1541 1244, 1108, 871, 871, 871, 1243, 1242, 1219, 1234, 1234,
1542 1234, 2022, 2022, 2022, 2022, 2022, 2022, 696, 696, 696,
1543 873, 1252, 1252, 1252, 1241, 1235, 1240, 1224, 2022, 1239,
1544 1233, 2022, 1253, 1253, 1253, 698, 1136, 1136, 1136, 1138,
1545 1138, 1138, 726, 726, 726, 1225, 1261, 1261, 1261, 750,
1546 750, 750, 1266, 1266, 1266, 1223, 1222, 1229, 1221, 1214,
1547 728, 1208, 1204, 1236, 1262, 1203, 1202, 752, 1179, 1267,
1548 1172, 1237, 1171, 1170, 1238, 1158, 1158, 1158, 1149, 1159,
1549 1147, 1146, 1160, 758, 758, 758, 1162, 1162, 1162, 1258,
1551 1144, 1279, 1279, 1279, 1143, 1280, 1140, 1278, 1281, 1137,
1552 1134, 760, 1133, 1163, 1265, 1282, 1282, 1282, 1165, 1165,
1553 1165, 1284, 1284, 1284, 1132, 1285, 1126, 1125, 1286, 1167,
1554 1167, 1167, 1283, 1124, 1123, 1166, 1287, 1287, 1287, 1122,
1555 1288, 1121, 1120, 1289, 1119, 1115, 1168, 773, 773, 773,
1556 1173, 1173, 1173, 1114, 1174, 1113, 998, 1175, 1106, 1176,
1557 1176, 1176, 1104, 1177, 1103, 775, 1178, 1180, 1180, 1180,
1558 1182, 1182, 1182, 1099, 1183, 1096, 1095, 1184, 1185, 1185,
1559 1185, 1092, 1187, 1187, 1187, 1181, 1188, 1091, 1086, 1189,
1560 1190, 1190, 1190, 1290, 1085, 1084, 1186, 1297, 1297, 1297,
1562 1064, 1298, 1063, 1062, 1299, 1060, 1057, 1191, 1192, 1192,
1563 1192, 1056, 1193, 1055, 1048, 1194, 1195, 1195, 1195, 1300,
1564 1300, 1300, 1045, 1301, 1041, 1039, 1302, 1303, 1303, 1303,
1565 1198, 1198, 1198, 1196, 1305, 1305, 1305, 1038, 1306, 1030,
1566 1029, 1307, 1028, 1027, 1304, 1026, 1025, 1199, 811, 811,
1567 811, 818, 818, 818, 1311, 1311, 1311, 1205, 1205, 1205,
1568 1024, 1206, 1023, 1020, 1207, 1019, 813, 1018, 1017, 820,
1569 1016, 1312, 1209, 1209, 1209, 1211, 1211, 1211, 1318, 1318,
1570 1318, 1014, 1319, 1013, 1010, 1320, 2022, 2022, 2022, 1008,
1571 1210, 1007, 1212, 1216, 1216, 1216, 1308, 1313, 840, 840,
1573 840, 1006, 1004, 2022, 2022, 2022, 2022, 1328, 1328, 1328,
1574 1217, 1309, 1323, 1324, 1324, 1324, 842, 1325, 1003, 1002,
1575 1326, 2022, 857, 857, 857, 1329, 865, 865, 865, 1226,
1576 1226, 1226, 1001, 1227, 1000, 993, 1228, 992, 1321, 990,
1577 859, 871, 871, 871, 867, 1234, 1234, 1234, 1341, 1341,
1578 1341, 989, 1342, 986, 980, 1343, 2022, 2022, 2022, 873,
1579 976, 1327, 1235, 2022, 2022, 2022, 974, 973, 1330, 966,
1580 696, 696, 696, 2022, 1348, 1348, 1348, 1349, 1349, 1349,
1581 2022, 1350, 1350, 1350, 1353, 1353, 1353, 1334, 698, 1336,
1582 1246, 1246, 1246, 1248, 1248, 1248, 1356, 1356, 1356, 1357,
1584 1357, 1357, 1252, 1252, 1252, 1253, 1253, 1253, 1358, 1358,
1585 1358, 964, 1344, 1360, 1360, 1360, 726, 726, 726, 1261,
1586 1261, 1261, 1367, 1367, 1367, 963, 1345, 1266, 1266, 1266,
1587 1346, 1369, 1369, 1369, 728, 1370, 962, 1262, 1371, 961,
1588 1368, 758, 758, 758, 1267, 1279, 1279, 1279, 958, 1280,
1589 957, 956, 1281, 1282, 1282, 1282, 1383, 1383, 1383, 760,
1590 1384, 955, 951, 1385, 1362, 1284, 1284, 1284, 950, 1285,
1591 1283, 948, 1286, 1287, 1287, 1287, 946, 1288, 945, 944,
1592 1289, 773, 773, 773, 1297, 1297, 1297, 1382, 1298, 943,
1593 942, 1299, 940, 1300, 1300, 1300, 938, 1301, 937, 775,
1595 1302, 1303, 1303, 1303, 1395, 1395, 1395, 936, 1396, 934,
1596 931, 1397, 1305, 1305, 1305, 928, 1306, 919, 1304, 1307,
1597 811, 811, 811, 1399, 1399, 1399, 1311, 1311, 1311, 1402,
1598 1402, 1402, 1386, 1403, 917, 910, 1404, 909, 813, 908,
1599 907, 1400, 905, 1312, 1318, 1318, 1318, 903, 1319, 902,
1600 901, 1320, 2022, 2022, 2022, 840, 840, 840, 1324, 1324,
1601 1324, 900, 1325, 899, 898, 1326, 2022, 2022, 2022, 2022,
1602 1328, 1328, 1328, 842, 857, 857, 857, 1425, 1425, 1425,
1603 1398, 897, 895, 2022, 865, 865, 865, 894, 1329, 1432,
1604 1432, 1432, 859, 891, 1426, 871, 871, 871, 1416, 1435,
1606 1435, 1435, 867, 890, 1341, 1341, 1341, 682, 1342, 889,
1607 1418, 1343, 888, 873, 2022, 2022, 2022, 2022, 2022, 2022,
1608 887, 886, 1423, 696, 696, 696, 1439, 1439, 1439, 885,
1609 883, 2022, 882, 881, 2022, 880, 1424, 1348, 1348, 1348,
1610 879, 698, 1349, 1349, 1349, 1429, 1350, 1350, 1350, 878,
1611 877, 1431, 1440, 1440, 1440, 1441, 1441, 1441, 1353, 1353,
1612 1353, 1356, 1356, 1356, 1357, 1357, 1357, 1436, 1358, 1358,
1613 1358, 1360, 1360, 1360, 1446, 1446, 1446, 876, 1438, 1437,
1614 1449, 1449, 1449, 1367, 1367, 1367, 1369, 1369, 1369, 682,
1615 1370, 870, 1447, 1371, 758, 758, 758, 1450, 1383, 1383,
1617 1383, 1368, 1384, 869, 864, 1385, 1463, 1463, 1463, 1395,
1618 1395, 1395, 760, 1396, 863, 862, 1397, 1473, 1473, 1473,
1619 1399, 1399, 1399, 861, 1464, 1475, 1475, 1475, 847, 1402,
1620 1402, 1402, 844, 1403, 839, 1474, 1404, 838, 1400, 1491,
1621 1491, 1491, 1476, 1493, 1493, 1493, 840, 840, 840, 833,
1622 828, 1462, 2022, 2022, 2022, 827, 1492, 857, 857, 857,
1623 1425, 1425, 1425, 826, 842, 1506, 1506, 1506, 1477, 2022,
1624 822, 810, 1503, 1503, 1503, 859, 1504, 1426, 809, 1505,
1625 808, 807, 1507, 1509, 1509, 1509, 1511, 1511, 1511, 871,
1626 871, 871, 1432, 1432, 1432, 1501, 1435, 1435, 1435, 792,
1628 784, 1510, 1516, 1516, 1516, 783, 782, 873, 781, 1494,
1629 682, 777, 772, 1502, 2022, 2022, 2022, 767, 766, 1517,
1630 1519, 1519, 1519, 1439, 1439, 1439, 1440, 1440, 1440, 765,
1631 757, 2022, 1441, 1441, 1441, 1446, 1446, 1446, 1520, 1449,
1632 1449, 1449, 1526, 1526, 1526, 756, 1527, 755, 754, 1528,
1633 1513, 1512, 749, 1447, 746, 740, 1450, 758, 758, 758,
1634 735, 734, 1518, 1463, 1463, 1463, 1546, 1546, 1546, 1473,
1635 1473, 1473, 1475, 1475, 1475, 760, 730, 725, 1548, 1548,
1636 1548, 1464, 1549, 1547, 724, 1550, 723, 1474, 722, 1476,
1637 1556, 1556, 1556, 1491, 1491, 1491, 1564, 1564, 1564, 721,
1639 1565, 720, 719, 1566, 1493, 1493, 1493, 1557, 718, 717,
1640 1492, 716, 715, 1540, 840, 840, 840, 2022, 2022, 2022,
1641 1576, 1576, 1576, 1503, 1503, 1503, 714, 1504, 713, 712,
1642 1505, 711, 842, 710, 2022, 1506, 1506, 1506, 1577, 1578,
1643 1578, 1578, 709, 1579, 708, 707, 1580, 706, 1581, 1581,
1644 1581, 705, 1507, 1509, 1509, 1509, 1511, 1511, 1511, 1583,
1645 1583, 1583, 704, 703, 1574, 1582, 702, 701, 1567, 700,
1646 695, 1510, 1516, 1516, 1516, 694, 693, 1584, 1575, 1588,
1647 1588, 1588, 692, 1589, 691, 690, 1590, 689, 688, 1517,
1648 1591, 1591, 1591, 1519, 1519, 1519, 1597, 1597, 1597, 1526,
1650 1526, 1526, 685, 1527, 683, 682, 1528, 1592, 758, 758,
1651 758, 1520, 680, 1598, 1546, 1546, 1546, 1618, 1618, 1618,
1652 678, 1619, 677, 676, 1620, 674, 760, 673, 1548, 1548,
1653 1548, 1547, 1549, 672, 671, 1550, 1556, 1556, 1556, 1624,
1654 1624, 1624, 670, 1625, 666, 664, 1626, 1564, 1564, 1564,
1655 663, 1565, 662, 1557, 1566, 840, 840, 840, 2022, 2022,
1656 2022, 2022, 2022, 2022, 1614, 1576, 1576, 1576, 661, 660,
1657 1578, 1578, 1578, 842, 1579, 2022, 658, 1580, 2022, 1581,
1658 1581, 1581, 657, 1577, 1646, 1646, 1646, 656, 1647, 655,
1659 654, 1648, 1583, 1583, 1583, 653, 1582, 1588, 1588, 1588,
1661 651, 1589, 650, 649, 1590, 1591, 1591, 1591, 646, 645,
1662 1584, 1652, 1652, 1652, 641, 1653, 639, 1637, 1654, 1644,
1663 638, 1645, 1592, 1655, 1655, 1655, 1657, 1657, 1657, 1597,
1664 1597, 1597, 1659, 1659, 1659, 637, 1660, 636, 635, 1661,
1665 758, 758, 758, 1676, 1676, 1676, 1598, 1618, 1618, 1618,
1666 630, 1619, 629, 627, 1620, 1682, 1682, 1682, 760, 624,
1667 1677, 1624, 1624, 1624, 622, 1625, 621, 620, 1626, 840,
1668 840, 840, 1683, 2022, 2022, 2022, 2022, 2022, 2022, 1655,
1669 1655, 1655, 1706, 1706, 1706, 619, 1678, 842, 1675, 616,
1670 2022, 615, 613, 2022, 1646, 1646, 1646, 612, 1647, 1707,
1672 998, 1648, 1652, 1652, 1652, 610, 1653, 609, 608, 1654,
1673 1657, 1657, 1657, 1659, 1659, 1659, 605, 1660, 603, 602,
1674 1661, 1695, 1703, 1714, 1714, 1714, 758, 758, 758, 1676,
1675 1676, 1676, 1725, 1725, 1725, 1702, 1726, 601, 599, 1727,
1676 1715, 1682, 1682, 1682, 760, 597, 1677, 1733, 1733, 1733,
1677 596, 1734, 595, 594, 1735, 1747, 1747, 1747, 1683, 1755,
1678 1755, 1755, 1758, 1758, 1758, 1762, 1762, 1762, 1706, 1706,
1679 1706, 591, 1724, 1748, 590, 589, 1756, 586, 583, 1759,
1680 582, 580, 1763, 998, 579, 1707, 998, 577, 1764, 1764,
1681 1764, 574, 1765, 573, 570, 1766, 1767, 1767, 1767, 1768,
1683 1768, 1768, 1757, 569, 568, 1760, 998, 1714, 1714, 1714,
1684 1773, 1773, 1773, 567, 1774, 566, 565, 1775, 758, 758,
1685 758, 1725, 1725, 1725, 1715, 1726, 560, 559, 1727, 1787,
1686 1787, 1787, 558, 1733, 1733, 1733, 760, 1734, 557, 556,
1687 1735, 1789, 1789, 1789, 555, 554, 1788, 1747, 1747, 1747,
1688 1755, 1755, 1755, 1805, 1805, 1805, 552, 1806, 1790, 551,
1689 1807, 2022, 2022, 2022, 550, 1748, 549, 1756, 1758, 1758,
1690 1758, 548, 1809, 1809, 1809, 547, 1810, 546, 2022, 1811,
1691 1782, 2022, 2022, 2022, 541, 1759, 1762, 1762, 1762, 1814,
1692 1814, 1814, 538, 1815, 540, 535, 1816, 533, 2022, 1767,
1694 1767, 1767, 531, 1763, 998, 2022, 530, 998, 529, 1764,
1695 1764, 1764, 528, 1765, 527, 525, 1766, 1768, 1768, 1768,
1696 523, 1773, 1773, 1773, 521, 1774, 1808, 998, 1775, 1835,
1697 1835, 1835, 520, 1836, 519, 518, 1837, 517, 1829, 1829,
1698 1829, 516, 1787, 1787, 1787, 514, 1812, 996, 996, 996,
1699 996, 996, 996, 996, 996, 996, 1830, 513, 996, 1788,
1700 1789, 1789, 1789, 996, 996, 996, 998, 996, 1838, 1838,
1701 1838, 509, 1839, 508, 506, 1840, 505, 1790, 1805, 1805,
1702 1805, 502, 1806, 501, 500, 1807, 2022, 2022, 2022, 996,
1703 996, 996, 996, 996, 996, 996, 996, 996, 996, 996,
1705 498, 496, 996, 2022, 2022, 2022, 2022, 996, 996, 996,
1706 998, 996, 1809, 1809, 1809, 494, 1810, 492, 491, 1811,
1707 488, 2022, 1814, 1814, 1814, 487, 1815, 483, 481, 1816,
1708 1829, 1829, 1829, 996, 996, 1835, 1835, 1835, 1853, 1836,
1709 998, 480, 1837, 1838, 1838, 1838, 478, 1839, 1830, 477,
1710 1840, 476, 2022, 2022, 2022, 475, 1854, 996, 996, 996,
1711 996, 996, 1861, 996, 996, 996, 474, 471, 996, 2022,
1712 2022, 2022, 2022, 996, 996, 996, 998, 996, 1890, 1890,
1713 1890, 1893, 1893, 1893, 1912, 1912, 1912, 2022, 1913, 469,
1714 468, 1914, 420, 1895, 1895, 1895, 998, 999, 1894, 996,
1716 996, 996, 996, 996, 996, 996, 996, 996, 996, 1861,
1717 1896, 467, 996, 465, 1884, 463, 462, 996, 996, 996,
1718 998, 996, 1897, 1897, 1897, 1900, 1900, 1900, 2022, 2022,
1719 2022, 461, 1885, 2022, 2022, 2022, 1908, 1908, 1908, 1898,
1720 460, 458, 1901, 996, 996, 2022, 1890, 1890, 1890, 456,
1721 2022, 1893, 1893, 1893, 682, 1895, 1895, 1895, 455, 1915,
1722 1915, 1915, 454, 1916, 998, 1899, 1917, 452, 1894, 1897,
1723 1897, 1897, 1896, 1918, 1918, 1918, 450, 1919, 449, 1906,
1724 1920, 1900, 1900, 1900, 1907, 445, 1898, 444, 1922, 1922,
1725 1922, 442, 1923, 441, 1111, 1924, 438, 437, 1901, 2022,
1727 2022, 2022, 2022, 2022, 2022, 1908, 1908, 1908, 1912, 1912,
1728 1912, 436, 1913, 434, 432, 1914, 2022, 430, 2022, 2022,
1729 1915, 1915, 1915, 682, 1916, 406, 405, 1917, 1918, 1918,
1730 1918, 403, 1919, 401, 395, 1920, 1922, 1922, 1922, 394,
1731 1923, 1931, 1929, 1924, 395, 1930, 2022, 2022, 2022, 2022,
1732 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1733 2022, 394, 393, 2022, 392, 2022, 2022, 2022, 2022, 2022,
1734 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 1957,
1735 1957, 1957, 2022, 2022, 2022, 2022, 2022, 2022, 1957, 1957,
1736 1957, 2022, 2022, 2022, 2022, 2022, 1958, 2022, 2022, 2022,
1738 2022, 2022, 2022, 1938, 2022, 1958, 1939, 2022, 2022, 1954,
1739 2022, 1966, 1966, 1966, 1946, 1967, 2022, 1947, 1968, 2022,
1740 2022, 2022, 2022, 2022, 2022, 2022, 2022, 1955, 2022, 2022,
1741 1963, 2022, 2022, 1964, 2022, 2022, 2022, 2022, 2022, 2022,
1742 1966, 1966, 1966, 2022, 1967, 2022, 2022, 1968, 2022, 2022,
1743 2022, 2022, 2022, 2022, 1976, 1976, 1976, 2022, 2022, 2022,
1744 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 1976,
1745 1976, 1976, 682, 1979, 2022, 2022, 1980, 2022, 2022, 1971,
1746 2022, 2022, 1972, 2022, 2022, 2022, 2022, 682, 2022, 2022,
1747 2022, 1974, 2022, 2022, 1975, 2022, 2022, 2022, 2022, 2022,
1749 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1750 2022, 2022, 2022, 1993, 1993, 1993, 2022, 2022, 1977, 2022,
1751 1978, 2022, 2022, 2022, 2022, 2022, 2022, 1995, 1995, 1995,
1752 1994, 1981, 1993, 1993, 1993, 2022, 1982, 2022, 1999, 1999,
1753 1999, 2022, 2000, 2022, 1996, 2001, 2022, 2022, 1986, 1994,
1754 2022, 1985, 2022, 1989, 1995, 1995, 1995, 2002, 2002, 2002,
1755 2022, 2003, 2022, 2022, 2004, 1999, 1999, 1999, 2022, 2000,
1756 2022, 1996, 2001, 1990, 2002, 2002, 2002, 2022, 2003, 2022,
1757 2022, 2004, 2020, 2020, 2020, 2020, 2020, 2020, 2022, 2022,
1758 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1760 2021, 2022, 2022, 2021, 144, 144, 144, 144, 144, 144,
1761 144, 144, 144, 145, 145, 145, 145, 145, 145, 145,
1762 145, 145, 150, 150, 150, 150, 150, 150, 150, 150,
1763 150, 153, 153, 153, 153, 153, 153, 153, 153, 153,
1764 156, 156, 156, 156, 156, 156, 156, 156, 156, 159,
1765 159, 159, 159, 159, 159, 159, 159, 159, 166, 166,
1766 166, 166, 166, 166, 166, 166, 166, 174, 174, 174,
1767 174, 174, 174, 174, 174, 174, 179, 179, 179, 179,
1768 179, 179, 179, 179, 179, 189, 189, 189, 189, 189,
1769 189, 189, 189, 189, 193, 193, 193, 193, 193, 193,
1771 193, 193, 193, 199, 199, 199, 199, 199, 199, 199,
1772 199, 199, 210, 210, 210, 210, 210, 210, 210, 210,
1773 210, 217, 217, 217, 217, 217, 217, 217, 217, 217,
1774 225, 225, 225, 225, 225, 225, 225, 225, 225, 231,
1775 231, 231, 231, 231, 231, 231, 231, 231, 237, 237,
1776 237, 237, 237, 237, 237, 237, 237, 244, 244, 244,
1777 244, 244, 244, 244, 244, 244, 250, 250, 250, 250,
1778 250, 250, 250, 250, 250, 256, 256, 256, 256, 256,
1779 256, 256, 256, 256, 262, 262, 262, 262, 262, 262,
1780 262, 262, 262, 270, 270, 270, 270, 270, 270, 270,
1782 270, 270, 277, 277, 277, 277, 277, 277, 277, 277,
1783 277, 282, 282, 282, 282, 282, 282, 282, 282, 282,
1784 297, 297, 297, 297, 297, 297, 297, 297, 297, 303,
1785 303, 303, 303, 303, 303, 303, 303, 303, 307, 307,
1786 307, 307, 307, 307, 307, 307, 307, 313, 313, 313,
1787 313, 313, 313, 313, 313, 313, 320, 320, 320, 320,
1788 320, 320, 320, 320, 320, 327, 327, 327, 327, 327,
1789 327, 327, 327, 327, 334, 334, 334, 334, 334, 334,
1790 334, 334, 334, 341, 341, 341, 341, 341, 341, 341,
1791 341, 341, 348, 348, 348, 348, 348, 348, 348, 348,
1793 348, 355, 355, 355, 355, 355, 355, 355, 355, 355,
1794 359, 359, 359, 359, 359, 359, 359, 359, 359, 365,
1795 365, 365, 365, 365, 365, 365, 365, 365, 372, 372,
1796 372, 372, 372, 372, 372, 372, 372, 380, 380, 380,
1797 380, 380, 380, 380, 380, 380, 384, 384, 384, 384,
1798 384, 384, 384, 384, 384, 404, 404, 404, 2022, 2022,
1799 2022, 404, 431, 431, 431, 2022, 2022, 2022, 431, 435,
1800 435, 435, 2022, 2022, 2022, 435, 443, 443, 443, 2022,
1801 2022, 2022, 443, 453, 453, 453, 2022, 2022, 2022, 453,
1802 459, 459, 459, 2022, 2022, 2022, 459, 466, 466, 466,
1804 2022, 2022, 2022, 466, 470, 470, 470, 2022, 2022, 2022,
1805 470, 479, 479, 479, 2022, 2022, 2022, 479, 484, 484,
1806 484, 2022, 2022, 2022, 484, 495, 495, 495, 2022, 2022,
1807 2022, 495, 499, 499, 499, 2022, 2022, 2022, 499, 507,
1808 507, 507, 2022, 2022, 2022, 507, 515, 515, 515, 2022,
1809 2022, 2022, 515, 522, 522, 522, 2022, 2022, 2022, 522,
1810 526, 526, 526, 2022, 2022, 2022, 526, 534, 534, 534,
1811 2022, 2022, 2022, 534, 537, 537, 537, 537, 537, 537,
1812 537, 2022, 537, 553, 2022, 2022, 2022, 553, 581, 2022,
1813 2022, 2022, 581, 588, 2022, 2022, 2022, 588, 598, 2022,
1815 2022, 2022, 598, 604, 2022, 2022, 2022, 604, 611, 2022,
1816 2022, 2022, 611, 614, 2022, 2022, 2022, 614, 623, 2022,
1817 2022, 2022, 623, 628, 2022, 2022, 2022, 628, 484, 484,
1818 484, 2022, 2022, 2022, 484, 640, 2022, 2022, 2022, 640,
1819 495, 495, 495, 2022, 2022, 2022, 495, 644, 2022, 2022,
1820 2022, 644, 499, 499, 499, 2022, 2022, 2022, 499, 652,
1821 2022, 2022, 2022, 652, 507, 507, 507, 2022, 2022, 2022,
1822 507, 659, 2022, 2022, 2022, 659, 515, 515, 515, 2022,
1823 2022, 2022, 515, 665, 2022, 2022, 2022, 665, 522, 522,
1824 522, 2022, 2022, 2022, 522, 669, 2022, 2022, 2022, 669,
1826 526, 526, 526, 2022, 2022, 2022, 526, 675, 2022, 2022,
1827 2022, 675, 534, 534, 534, 2022, 2022, 2022, 534, 679,
1828 2022, 2022, 2022, 679, 681, 681, 681, 681, 681, 681,
1829 681, 681, 681, 687, 2022, 2022, 2022, 2022, 687, 404,
1830 404, 404, 2022, 2022, 2022, 404, 697, 697, 697, 697,
1831 2022, 2022, 697, 697, 431, 431, 431, 2022, 2022, 2022,
1832 431, 727, 727, 727, 727, 2022, 2022, 727, 727, 435,
1833 435, 435, 2022, 2022, 2022, 435, 737, 737, 737, 737,
1834 2022, 2022, 737, 737, 443, 443, 443, 2022, 2022, 2022,
1835 443, 751, 751, 751, 751, 2022, 2022, 751, 751, 453,
1837 453, 453, 2022, 2022, 2022, 453, 759, 759, 759, 759,
1838 2022, 2022, 759, 759, 459, 459, 459, 2022, 2022, 2022,
1839 459, 769, 769, 769, 769, 2022, 2022, 769, 769, 466,
1840 466, 466, 2022, 2022, 2022, 466, 774, 774, 774, 774,
1841 2022, 2022, 774, 774, 470, 470, 470, 2022, 2022, 2022,
1842 470, 786, 786, 786, 786, 2022, 2022, 786, 786, 479,
1843 479, 479, 2022, 2022, 2022, 479, 794, 794, 794, 794,
1844 2022, 2022, 794, 794, 484, 484, 484, 2022, 2022, 2022,
1845 484, 812, 812, 812, 812, 2022, 2022, 812, 812, 819,
1846 819, 819, 819, 2022, 2022, 819, 819, 499, 499, 499,
1848 2022, 2022, 2022, 499, 830, 830, 830, 830, 2022, 2022,
1849 830, 830, 507, 507, 507, 2022, 2022, 2022, 507, 841,
1850 841, 841, 841, 2022, 2022, 841, 841, 515, 515, 515,
1851 2022, 2022, 2022, 515, 851, 851, 851, 851, 2022, 2022,
1852 851, 851, 858, 858, 858, 858, 2022, 2022, 858, 858,
1853 526, 526, 526, 2022, 2022, 2022, 526, 866, 866, 866,
1854 866, 2022, 2022, 866, 866, 534, 534, 534, 2022, 2022,
1855 2022, 534, 872, 872, 872, 872, 2022, 2022, 872, 872,
1856 681, 681, 681, 681, 681, 681, 681, 681, 681, 687,
1857 2022, 687, 2022, 2022, 687, 404, 404, 404, 2022, 2022,
1859 2022, 404, 697, 697, 697, 697, 2022, 2022, 697, 697,
1860 431, 431, 431, 431, 2022, 431, 2022, 431, 727, 727,
1861 727, 727, 2022, 2022, 727, 727, 435, 435, 435, 435,
1862 2022, 435, 2022, 435, 737, 737, 737, 737, 2022, 2022,
1863 737, 737, 443, 443, 443, 2022, 2022, 2022, 443, 751,
1864 751, 751, 751, 2022, 2022, 751, 751, 453, 453, 453,
1865 2022, 2022, 2022, 453, 759, 759, 759, 759, 2022, 2022,
1866 759, 759, 459, 459, 459, 2022, 2022, 2022, 459, 769,
1867 769, 769, 769, 2022, 2022, 769, 769, 466, 466, 466,
1868 2022, 2022, 2022, 466, 774, 774, 774, 774, 2022, 2022,
1870 774, 774, 470, 470, 470, 2022, 2022, 2022, 470, 786,
1871 786, 786, 786, 2022, 2022, 786, 786, 479, 479, 479,
1872 2022, 2022, 2022, 479, 794, 794, 794, 794, 2022, 2022,
1873 794, 794, 484, 484, 484, 2022, 2022, 2022, 484, 812,
1874 812, 812, 812, 2022, 2022, 812, 812, 819, 819, 819,
1875 819, 2022, 2022, 819, 819, 499, 499, 499, 2022, 2022,
1876 2022, 499, 830, 830, 830, 830, 2022, 2022, 830, 830,
1877 507, 507, 507, 2022, 2022, 2022, 507, 841, 841, 841,
1878 841, 2022, 2022, 841, 841, 515, 515, 515, 2022, 2022,
1879 2022, 515, 851, 851, 851, 851, 2022, 2022, 851, 851,
1881 858, 858, 858, 858, 2022, 2022, 858, 858, 526, 526,
1882 526, 2022, 2022, 2022, 526, 866, 866, 866, 866, 2022,
1883 2022, 866, 866, 534, 534, 534, 2022, 2022, 2022, 534,
1884 872, 872, 872, 872, 2022, 2022, 872, 872, 681, 681,
1885 681, 681, 681, 681, 681, 681, 681, 996, 996, 996,
1886 996, 996, 996, 996, 996, 996, 404, 404, 404, 2022,
1887 2022, 2022, 404, 697, 697, 697, 697, 2022, 2022, 697,
1888 697, 727, 727, 727, 727, 2022, 2022, 727, 727, 435,
1889 435, 435, 2022, 2022, 2022, 435, 737, 737, 737, 737,
1890 2022, 2022, 737, 737, 443, 443, 443, 2022, 2022, 2022,
1892 443, 751, 751, 751, 751, 2022, 2022, 751, 751, 453,
1893 453, 453, 2022, 2022, 2022, 453, 759, 759, 759, 759,
1894 2022, 2022, 759, 759, 459, 459, 459, 2022, 2022, 2022,
1895 459, 769, 769, 769, 769, 2022, 2022, 769, 769, 466,
1896 466, 466, 2022, 2022, 2022, 466, 774, 774, 774, 774,
1897 2022, 2022, 774, 774, 470, 470, 470, 2022, 2022, 2022,
1898 470, 786, 786, 786, 786, 2022, 2022, 786, 786, 479,
1899 479, 479, 479, 2022, 479, 2022, 479, 794, 794, 794,
1900 794, 2022, 2022, 794, 794, 484, 484, 484, 484, 2022,
1901 484, 2022, 484, 812, 812, 812, 812, 2022, 2022, 812,
1903 812, 819, 819, 819, 819, 2022, 2022, 819, 819, 499,
1904 499, 499, 2022, 2022, 2022, 499, 830, 830, 830, 830,
1905 2022, 2022, 830, 830, 507, 507, 507, 2022, 2022, 2022,
1906 507, 841, 841, 841, 841, 2022, 2022, 841, 841, 515,
1907 515, 515, 2022, 2022, 2022, 515, 851, 851, 851, 851,
1908 2022, 2022, 851, 851, 858, 858, 858, 858, 2022, 2022,
1909 858, 858, 526, 526, 526, 2022, 2022, 2022, 526, 866,
1910 866, 866, 866, 2022, 2022, 866, 866, 534, 534, 534,
1911 534, 2022, 534, 2022, 534, 872, 872, 872, 872, 2022,
1912 2022, 872, 872, 681, 681, 681, 681, 681, 681, 681,
1914 681, 681, 996, 996, 996, 996, 996, 996, 996, 996,
1915 996, 404, 404, 404, 2022, 2022, 2022, 404, 697, 697,
1916 697, 697, 2022, 2022, 697, 697, 727, 727, 727, 727,
1917 2022, 2022, 727, 727, 435, 435, 435, 2022, 2022, 2022,
1918 435, 737, 737, 737, 737, 2022, 2022, 737, 737, 443,
1919 443, 443, 2022, 2022, 2022, 443, 751, 751, 751, 751,
1920 2022, 2022, 751, 751, 453, 453, 453, 2022, 2022, 2022,
1921 453, 759, 759, 759, 759, 2022, 2022, 759, 759, 459,
1922 459, 459, 459, 2022, 459, 2022, 459, 466, 466, 466,
1923 466, 2022, 466, 2022, 466, 774, 774, 774, 774, 2022,
1925 2022, 774, 774, 470, 470, 470, 2022, 2022, 2022, 470,
1926 786, 786, 786, 786, 2022, 2022, 786, 786, 794, 794,
1927 794, 794, 2022, 2022, 794, 794, 484, 484, 484, 484,
1928 2022, 484, 2022, 484, 812, 812, 812, 812, 2022, 2022,
1929 812, 812, 819, 819, 819, 819, 2022, 2022, 819, 819,
1930 499, 499, 499, 2022, 2022, 2022, 499, 830, 830, 830,
1931 830, 2022, 2022, 830, 830, 507, 507, 507, 507, 2022,
1932 507, 2022, 507, 841, 841, 841, 841, 2022, 2022, 841,
1933 841, 515, 515, 515, 515, 2022, 515, 2022, 515, 851,
1934 851, 851, 851, 2022, 2022, 851, 851, 858, 858, 858,
1936 858, 2022, 2022, 858, 858, 526, 526, 526, 2022, 2022,
1937 2022, 526, 866, 866, 866, 866, 2022, 2022, 866, 866,
1938 872, 872, 872, 872, 2022, 2022, 872, 872, 681, 681,
1939 681, 681, 681, 681, 681, 681, 681, 996, 996, 996,
1940 996, 996, 996, 996, 996, 996, 404, 404, 404, 404,
1941 2022, 404, 2022, 404, 697, 697, 697, 697, 2022, 2022,
1942 697, 697, 727, 727, 727, 727, 2022, 2022, 727, 727,
1943 435, 435, 435, 2022, 2022, 2022, 435, 737, 737, 737,
1944 737, 2022, 2022, 737, 737, 443, 443, 443, 2022, 2022,
1945 2022, 443, 751, 751, 751, 751, 2022, 2022, 751, 751,
1947 453, 453, 453, 453, 2022, 453, 2022, 453, 759, 759,
1948 759, 759, 2022, 2022, 759, 759, 459, 459, 459, 459,
1949 2022, 459, 2022, 459, 774, 774, 774, 774, 2022, 2022,
1950 774, 774, 470, 470, 470, 2022, 2022, 2022, 470, 1817,
1951 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1818, 1818,
1952 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1856, 1856, 1856,
1953 1856, 1856, 1856, 1856, 1856, 1856, 1859, 1859, 1859, 1859,
1954 1859, 1859, 1859, 1859, 1859, 1887, 1887, 1887, 1887, 1887,
1955 1887, 1887, 1887, 1887, 1889, 1889, 1889, 1889, 1889, 1889,
1956 1889, 1889, 1889, 143, 2022, 2022, 2022, 2022, 2022, 2022,
1958 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1959 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1960 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1961 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1962 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1963 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1967 static yyconst flex_int16_t yy_chk[7164] = { 0,
1968 0, 3, 3, 3, 4, 4, 4, 5, 5, 5,
1969 6, 6, 6, 7, 7, 7, 11, 3, 9, 12,
1970 4, 10, 219, 5, 0, 9, 6, 0, 10, 7,
1971 8, 8, 8, 148, 11, 13, 13, 12, 14, 14,
1972 13, 13, 220, 14, 14, 149, 8, 17, 17, 148,
1973 13, 15, 15, 14, 15, 152, 15, 16, 16, 414,
1974 16, 149, 16, 18, 18, 414, 15, 19, 19, 19,
1975 219, 152, 16, 20, 20, 20, 23, 23, 23, 24,
1976 24, 24, 266, 19, 25, 25, 25, 332, 17, 20,
1977 220, 266, 23, 425, 332, 24, 146, 146, 146, 425,
1979 25, 147, 147, 147, 18, 21, 21, 21, 21, 21,
1980 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
1981 1412, 21, 21, 21, 21, 21, 26, 26, 26, 27,
1982 27, 27, 319, 28, 28, 28, 29, 29, 29, 30,
1983 30, 30, 26, 319, 451, 27, 175, 21, 21, 28,
1984 451, 294, 29, 190, 294, 30, 151, 151, 151, 172,
1985 172, 172, 175, 180, 180, 180, 187, 187, 187, 190,
1986 21, 183, 21, 22, 22, 22, 22, 22, 22, 22,
1987 22, 22, 22, 22, 22, 22, 22, 22, 272, 22,
1988 22, 22, 22, 22, 31, 31, 31, 32, 32, 32,
1990 995, 33, 33, 33, 34, 34, 34, 35, 35, 35,
1991 31, 415, 200, 32, 170, 22, 22, 33, 211, 183,
1992 34, 183, 995, 35, 415, 36, 36, 36, 200, 185,
1993 170, 194, 194, 194, 211, 185, 272, 185, 22, 185,
1994 22, 36, 37, 37, 37, 37, 37, 37, 37, 37,
1995 37, 37, 37, 37, 37, 37, 37, 291, 37, 37,
1996 37, 37, 37, 39, 39, 39, 40, 40, 40, 170,
1997 47, 47, 47, 43, 43, 44, 44, 291, 43, 39,
1998 44, 1152, 40, 215, 37, 37, 47, 215, 43, 1152,
1999 44, 215, 37, 38, 38, 38, 38, 38, 38, 38,
2001 38, 38, 38, 38, 38, 38, 38, 38, 707, 38,
2002 38, 38, 38, 38, 43, 333, 44, 48, 48, 48,
2003 707, 49, 49, 49, 50, 50, 50, 197, 197, 197,
2004 208, 208, 208, 48, 684, 38, 38, 49, 684, 397,
2005 50, 336, 397, 38, 41, 41, 41, 41, 41, 41,
2006 41, 41, 41, 41, 41, 41, 41, 41, 41, 333,
2007 41, 41, 41, 41, 41, 51, 51, 51, 52, 52,
2008 52, 322, 53, 53, 53, 54, 54, 54, 218, 218,
2009 218, 51, 195, 205, 52, 336, 41, 41, 53, 195,
2010 205, 54, 1319, 1319, 41, 1320, 1320, 41, 195, 205,
2012 223, 223, 223, 41, 42, 42, 42, 42, 42, 42,
2013 42, 42, 42, 42, 42, 42, 42, 42, 42, 322,
2014 42, 42, 42, 42, 42, 57, 57, 57, 58, 58,
2015 58, 720, 61, 61, 61, 62, 62, 62, 388, 226,
2016 238, 57, 1156, 720, 58, 233, 42, 42, 61, 422,
2017 1156, 62, 233, 388, 42, 226, 238, 42, 232, 232,
2018 232, 233, 422, 42, 45, 45, 45, 45, 45, 45,
2019 45, 45, 45, 45, 45, 45, 45, 45, 45, 754,
2020 45, 45, 45, 45, 45, 65, 65, 65, 66, 66,
2021 66, 754, 67, 67, 67, 68, 68, 68, 69, 69,
2023 69, 65, 246, 251, 66, 1414, 45, 45, 67, 246,
2024 350, 68, 426, 1419, 69, 45, 1421, 45, 246, 251,
2025 45, 235, 235, 235, 254, 426, 45, 46, 46, 46,
2026 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
2027 46, 46, 439, 46, 46, 46, 46, 46, 70, 70,
2028 70, 73, 73, 73, 350, 74, 74, 74, 75, 75,
2029 75, 76, 76, 76, 70, 254, 263, 73, 254, 46,
2030 46, 74, 278, 1004, 75, 439, 1428, 76, 46, 1004,
2031 46, 1442, 263, 46, 245, 245, 245, 1112, 278, 46,
2032 55, 55, 55, 55, 55, 55, 55, 55, 55, 55,
2034 55, 55, 55, 55, 55, 1443, 55, 55, 55, 55,
2035 55, 77, 77, 77, 78, 78, 78, 1112, 79, 79,
2036 79, 80, 80, 80, 83, 83, 83, 77, 1444, 630,
2037 78, 1111, 55, 55, 79, 289, 304, 80, 630, 55,
2038 83, 248, 248, 248, 55, 257, 257, 257, 260, 260,
2039 260, 289, 304, 55, 56, 56, 56, 56, 56, 56,
2040 56, 56, 56, 56, 56, 56, 56, 56, 56, 1111,
2041 56, 56, 56, 56, 56, 84, 84, 84, 87, 87,
2042 87, 1445, 88, 88, 88, 91, 91, 91, 92, 92,
2043 92, 84, 1325, 1325, 87, 1294, 56, 56, 88, 314,
2045 328, 91, 1294, 56, 92, 271, 271, 271, 56, 275,
2046 275, 275, 283, 283, 283, 314, 328, 56, 59, 59,
2047 59, 59, 59, 59, 59, 59, 59, 59, 59, 59,
2048 59, 59, 59, 1448, 59, 59, 59, 59, 59, 95,
2049 95, 95, 96, 96, 96, 875, 97, 97, 97, 98,
2050 98, 98, 99, 99, 99, 95, 284, 428, 96, 1451,
2051 59, 59, 97, 284, 875, 98, 1232, 1433, 99, 1295,
2052 428, 59, 284, 286, 286, 286, 1295, 59, 1452, 59,
2053 59, 60, 60, 60, 60, 60, 60, 60, 60, 60,
2054 60, 60, 60, 60, 60, 60, 1433, 60, 60, 60,
2056 60, 60, 100, 100, 100, 101, 101, 101, 1232, 102,
2057 102, 102, 105, 105, 105, 106, 106, 106, 100, 1326,
2058 1326, 101, 299, 60, 60, 102, 539, 1230, 105, 299,
2059 1453, 106, 1315, 1230, 60, 298, 298, 298, 299, 1315,
2060 60, 539, 60, 60, 63, 63, 63, 63, 63, 63,
2061 63, 63, 63, 63, 63, 63, 63, 63, 63, 1434,
2062 63, 63, 63, 63, 63, 107, 107, 107, 108, 108,
2063 108, 1454, 109, 109, 109, 110, 110, 110, 111, 111,
2064 111, 107, 1455, 1316, 108, 309, 63, 63, 109, 342,
2065 1316, 110, 309, 1434, 111, 301, 301, 301, 308, 308,
2067 308, 309, 311, 311, 311, 342, 63, 64, 64, 64,
2068 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
2069 64, 64, 1456, 64, 64, 64, 64, 64, 112, 112,
2070 112, 115, 115, 115, 1457, 116, 116, 116, 117, 117,
2071 117, 118, 118, 118, 112, 1458, 1338, 115, 1459, 64,
2072 64, 116, 356, 1413, 117, 1413, 1460, 118, 321, 321,
2073 321, 325, 325, 325, 335, 335, 335, 1461, 356, 64,
2074 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
2075 71, 71, 71, 71, 71, 1338, 71, 71, 71, 71,
2076 71, 119, 119, 119, 120, 120, 120, 1465, 121, 121,
2078 121, 122, 122, 122, 125, 125, 125, 119, 366, 361,
2079 120, 381, 71, 71, 121, 71, 361, 122, 1466, 1415,
2080 125, 1415, 1467, 71, 366, 361, 71, 381, 1339, 71,
2081 1468, 1470, 71, 72, 72, 72, 72, 72, 72, 72,
2082 72, 72, 72, 72, 72, 72, 72, 72, 1477, 72,
2083 72, 72, 72, 72, 126, 126, 126, 129, 129, 129,
2084 1478, 130, 130, 130, 131, 131, 131, 132, 132, 132,
2085 126, 1339, 386, 129, 1479, 72, 72, 130, 72, 386,
2086 131, 1050, 1420, 132, 1420, 1480, 72, 1050, 386, 72,
2087 1050, 1422, 72, 1422, 1050, 72, 81, 81, 81, 81,
2089 81, 81, 81, 81, 81, 81, 81, 81, 81, 81,
2090 81, 374, 81, 81, 81, 81, 81, 133, 133, 133,
2091 134, 134, 134, 1482, 135, 135, 135, 136, 136, 136,
2092 139, 139, 139, 133, 1485, 1051, 134, 1486, 81, 81,
2093 135, 1051, 1487, 136, 1051, 374, 139, 162, 1051, 81,
2094 339, 339, 339, 349, 349, 349, 353, 353, 353, 374,
2095 1488, 81, 82, 82, 82, 82, 82, 82, 82, 82,
2096 82, 82, 82, 82, 82, 82, 82, 1489, 82, 82,
2097 82, 82, 82, 140, 140, 140, 162, 360, 360, 360,
2098 1490, 1495, 162, 363, 363, 363, 162, 1496, 1497, 140,
2100 1498, 162, 1499, 1500, 82, 82, 373, 373, 373, 378,
2101 378, 378, 385, 385, 385, 82, 387, 387, 387, 542,
2102 542, 542, 1521, 542, 710, 710, 710, 82, 85, 85,
2103 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
2104 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
2105 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
2106 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
2107 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
2108 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
2109 85, 85, 85, 85, 85, 85, 85, 89, 89, 89,
2111 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
2112 89, 89, 1513, 89, 89, 89, 89, 89, 396, 396,
2113 396, 437, 437, 437, 445, 445, 445, 460, 460, 460,
2114 472, 472, 472, 718, 718, 718, 1522, 1523, 437, 89,
2115 89, 445, 1524, 1529, 460, 1530, 1531, 472, 1513, 1231,
2116 89, 90, 90, 90, 90, 90, 90, 90, 90, 90,
2117 90, 90, 90, 90, 90, 90, 1514, 90, 90, 90,
2118 90, 90, 1532, 396, 480, 480, 480, 1231, 486, 486,
2119 486, 487, 487, 487, 496, 496, 496, 888, 888, 888,
2120 1527, 480, 1533, 90, 90, 486, 1534, 1535, 487, 1536,
2122 1514, 496, 1527, 1515, 90, 93, 93, 93, 93, 93,
2123 93, 93, 93, 93, 93, 93, 93, 93, 93, 93,
2124 1537, 93, 93, 93, 93, 93, 501, 501, 501, 523,
2125 523, 523, 553, 553, 553, 554, 554, 554, 581, 581,
2126 581, 1110, 1515, 501, 1538, 1539, 523, 93, 93, 1541,
2127 553, 93, 1542, 554, 1543, 1551, 581, 1110, 93, 1552,
2128 93, 893, 893, 893, 896, 896, 896, 93, 94, 94,
2129 94, 94, 94, 94, 94, 94, 94, 94, 94, 94,
2130 94, 94, 94, 1553, 94, 94, 94, 94, 94, 554,
2131 582, 582, 582, 1558, 1528, 584, 584, 584, 585, 585,
2133 585, 1559, 585, 1560, 1561, 585, 1528, 1562, 582, 1563,
2134 94, 94, 584, 1568, 94, 593, 593, 593, 1569, 593,
2135 1570, 94, 593, 94, 900, 900, 900, 904, 904, 904,
2136 94, 103, 103, 103, 103, 103, 103, 103, 103, 103,
2137 103, 103, 103, 103, 103, 103, 582, 103, 103, 103,
2138 103, 103, 588, 588, 588, 1571, 1572, 589, 589, 589,
2139 592, 592, 592, 594, 594, 594, 596, 596, 596, 1573,
2140 588, 1586, 1594, 103, 103, 589, 103, 592, 1587, 103,
2141 594, 1565, 1566, 596, 607, 607, 607, 1596, 607, 1565,
2142 1566, 607, 1585, 103, 104, 104, 104, 104, 104, 104,
2144 104, 104, 104, 104, 104, 104, 104, 104, 104, 1586,
2145 104, 104, 104, 104, 104, 1599, 1587, 589, 1585, 1600,
2146 598, 598, 598, 604, 604, 604, 1601, 1602, 599, 599,
2147 599, 605, 605, 605, 1603, 1604, 104, 104, 598, 104,
2148 1605, 604, 104, 618, 618, 618, 599, 618, 1606, 605,
2149 618, 930, 930, 930, 1607, 1609, 104, 113, 113, 113,
2150 113, 113, 113, 113, 113, 113, 113, 113, 113, 113,
2151 113, 113, 599, 113, 113, 113, 113, 113, 606, 606,
2152 606, 1610, 1611, 611, 611, 611, 614, 614, 614, 1612,
2153 1616, 605, 617, 617, 617, 606, 612, 612, 612, 113,
2155 113, 611, 113, 1617, 614, 113, 1009, 1009, 1009, 617,
2156 113, 626, 626, 626, 612, 626, 1621, 1623, 626, 113,
2157 114, 114, 114, 114, 114, 114, 114, 114, 114, 114,
2158 114, 114, 114, 114, 114, 1627, 114, 114, 114, 114,
2159 114, 615, 615, 615, 612, 1628, 623, 623, 623, 624,
2160 624, 624, 625, 625, 625, 1629, 628, 628, 628, 615,
2161 1630, 1631, 114, 114, 623, 114, 1632, 624, 114, 625,
2162 1011, 1011, 1011, 114, 628, 1015, 1015, 1015, 1021, 1021,
2163 1021, 1633, 114, 123, 123, 123, 123, 123, 123, 123,
2164 123, 123, 123, 123, 123, 123, 123, 123, 615, 123,
2166 123, 123, 123, 123, 1634, 1635, 624, 1636, 1638, 629,
2167 629, 629, 631, 631, 631, 632, 632, 632, 1639, 632,
2168 1640, 1641, 632, 1642, 1643, 123, 123, 629, 1656, 631,
2169 1022, 1022, 1022, 1047, 1047, 1047, 123, 124, 124, 124,
2170 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
2171 124, 124, 1650, 124, 124, 124, 124, 124, 633, 633,
2172 633, 634, 634, 634, 1658, 634, 1662, 1663, 634, 629,
2173 635, 635, 635, 1664, 1665, 633, 1126, 1126, 1126, 124,
2174 124, 643, 643, 643, 1650, 643, 1667, 635, 643, 1668,
2175 124, 127, 127, 127, 127, 127, 127, 127, 127, 127,
2177 127, 127, 127, 127, 127, 127, 1669, 127, 127, 127,
2178 127, 127, 640, 640, 640, 642, 642, 642, 644, 644,
2179 644, 641, 641, 641, 645, 645, 645, 647, 647, 647,
2180 640, 1670, 642, 127, 127, 1649, 644, 1671, 1672, 641,
2181 1673, 127, 645, 127, 647, 127, 1127, 1127, 1127, 1129,
2182 1129, 1129, 1674, 127, 128, 128, 128, 128, 128, 128,
2183 128, 128, 128, 128, 128, 128, 128, 128, 128, 1678,
2184 128, 128, 128, 128, 128, 641, 648, 648, 648, 1649,
2185 648, 645, 1680, 648, 652, 652, 652, 653, 653, 653,
2186 655, 655, 655, 656, 656, 656, 128, 128, 662, 662,
2188 662, 1681, 652, 1684, 128, 653, 128, 655, 128, 1685,
2189 656, 1130, 1130, 1130, 1686, 662, 128, 137, 137, 137,
2190 137, 137, 137, 137, 137, 137, 137, 137, 137, 137,
2191 137, 137, 1687, 137, 137, 137, 137, 137, 1688, 653,
2192 659, 659, 659, 1689, 664, 664, 664, 660, 660, 660,
2193 665, 665, 665, 666, 666, 666, 1679, 1679, 659, 137,
2194 137, 664, 667, 667, 667, 660, 1690, 1691, 665, 1692,
2195 1693, 666, 1694, 668, 668, 668, 1696, 668, 1697, 667,
2196 668, 1698, 137, 138, 138, 138, 138, 138, 138, 138,
2197 138, 138, 138, 138, 138, 138, 138, 138, 1699, 138,
2199 138, 138, 138, 138, 660, 669, 669, 669, 1700, 1701,
2200 666, 670, 670, 670, 675, 675, 675, 676, 676, 676,
2201 679, 679, 679, 669, 1710, 138, 138, 1704, 1711, 670,
2202 1712, 1713, 675, 1716, 1717, 676, 1719, 1720, 679, 680,
2203 680, 680, 696, 696, 696, 725, 725, 725, 138, 181,
2204 697, 697, 697, 890, 890, 890, 181, 680, 1704, 1721,
2205 696, 1723, 725, 670, 1728, 181, 1729, 890, 697, 699,
2206 699, 699, 1730, 726, 726, 726, 1731, 676, 727, 727,
2207 727, 1737, 1738, 729, 729, 729, 1739, 699, 1740, 1741,
2208 181, 726, 181, 1742, 1744, 181, 727, 181, 181, 680,
2210 181, 729, 1746, 1749, 181, 1750, 181, 181, 181, 182,
2211 730, 730, 730, 699, 1751, 1752, 182, 731, 731, 731,
2212 1753, 731, 1754, 1761, 731, 182, 1769, 730, 1770, 729,
2213 734, 734, 734, 736, 736, 736, 737, 737, 737, 1771,
2214 1772, 739, 739, 739, 744, 744, 744, 734, 1776, 1777,
2215 182, 736, 182, 1778, 737, 182, 1779, 182, 182, 739,
2216 182, 744, 1761, 1780, 182, 1781, 182, 182, 182, 741,
2217 741, 741, 1783, 741, 1784, 1785, 741, 745, 745, 745,
2218 1786, 745, 1791, 1792, 745, 739, 1793, 734, 746, 746,
2219 746, 747, 747, 747, 748, 748, 748, 1794, 748, 1795,
2221 1796, 748, 750, 750, 750, 746, 1799, 1800, 747, 751,
2222 751, 751, 753, 753, 753, 756, 756, 756, 1801, 1802,
2223 750, 758, 758, 758, 759, 759, 759, 751, 1803, 1804,
2224 753, 1819, 756, 761, 761, 761, 762, 762, 762, 758,
2225 762, 1821, 759, 762, 768, 768, 768, 769, 769, 769,
2226 1824, 761, 771, 771, 771, 773, 773, 773, 774, 774,
2227 774, 1815, 768, 1816, 1813, 769, 1825, 1827, 753, 1828,
2228 771, 1831, 1832, 773, 1816, 1815, 774, 761, 776, 776,
2229 776, 778, 778, 778, 1833, 778, 1834, 1841, 778, 785,
2230 785, 785, 786, 786, 786, 1842, 776, 788, 788, 788,
2232 1844, 789, 789, 789, 1845, 789, 1813, 785, 789, 1847,
2233 786, 793, 793, 793, 771, 788, 794, 794, 794, 796,
2234 796, 796, 1848, 799, 799, 799, 1850, 799, 1851, 793,
2235 799, 805, 805, 805, 794, 1858, 1839, 796, 776, 802,
2236 802, 802, 1855, 802, 1840, 1860, 802, 1839, 805, 806,
2237 806, 806, 1862, 806, 1863, 1840, 806, 1856, 788, 811,
2238 811, 811, 812, 812, 812, 814, 814, 814, 815, 815,
2239 815, 1856, 815, 1857, 1857, 815, 796, 811, 1872, 1855,
2240 812, 1873, 1874, 814, 818, 818, 818, 819, 819, 819,
2241 821, 821, 821, 823, 823, 823, 1859, 823, 1875, 1887,
2243 823, 1888, 818, 1889, 1891, 819, 1892, 1859, 821, 829,
2244 829, 829, 830, 830, 830, 832, 832, 832, 834, 834,
2245 834, 1899, 835, 835, 835, 1902, 835, 829, 814, 835,
2246 830, 1903, 1904, 832, 1905, 834, 1909, 836, 836, 836,
2247 837, 837, 837, 1921, 837, 1925, 1926, 837, 840, 840,
2248 840, 1927, 1928, 821, 836, 841, 841, 841, 843, 843,
2249 843, 845, 845, 845, 1933, 1931, 840, 1934, 846, 846,
2250 846, 832, 846, 841, 1935, 846, 843, 1936, 845, 848,
2251 848, 848, 849, 849, 849, 1937, 849, 1931, 1940, 849,
2252 850, 850, 850, 851, 851, 851, 848, 853, 853, 853,
2254 854, 854, 854, 1941, 854, 1942, 1940, 854, 850, 1943,
2255 1944, 851, 857, 857, 857, 853, 858, 858, 858, 1945,
2256 1948, 843, 860, 860, 860, 862, 862, 862, 1950, 1951,
2257 857, 865, 865, 865, 858, 866, 866, 866, 1952, 1948,
2258 860, 1953, 862, 868, 868, 868, 871, 871, 871, 865,
2259 872, 872, 872, 866, 874, 874, 874, 876, 876, 876,
2260 853, 868, 1959, 1961, 871, 884, 884, 884, 872, 911,
2261 911, 911, 874, 1411, 1979, 876, 876, 1983, 860, 901,
2262 901, 901, 1980, 884, 1956, 1965, 911, 912, 912, 912,
2263 1956, 912, 1991, 901, 912, 913, 913, 913, 1965, 1987,
2265 868, 914, 914, 914, 874, 915, 915, 915, 2013, 915,
2266 1984, 1983, 915, 913, 918, 918, 918, 1979, 914, 920,
2267 920, 920, 1997, 920, 1991, 1980, 920, 884, 923, 923,
2268 923, 1410, 918, 924, 924, 924, 1987, 924, 1992, 1409,
2269 924, 929, 929, 929, 1984, 923, 925, 925, 925, 913,
2270 925, 1408, 2013, 925, 932, 932, 932, 1988, 1998, 929,
2271 918, 933, 933, 933, 1997, 933, 2007, 2014, 933, 2008,
2272 1992, 932, 934, 934, 934, 935, 935, 935, 939, 939,
2273 939, 941, 941, 941, 945, 945, 945, 1407, 929, 934,
2274 946, 946, 946, 935, 1988, 2007, 939, 2005, 2008, 941,
2276 1998, 945, 947, 947, 947, 2017, 2006, 946, 948, 948,
2277 948, 2014, 949, 949, 949, 950, 950, 950, 2011, 2017,
2278 947, 935, 951, 951, 951, 948, 955, 955, 955, 941,
2279 949, 2005, 950, 946, 952, 952, 952, 2012, 952, 951,
2280 2006, 952, 1406, 955, 956, 956, 956, 2011, 957, 957,
2281 957, 958, 958, 958, 959, 959, 959, 960, 960, 960,
2282 2009, 956, 2010, 1405, 947, 957, 2012, 1394, 958, 2009,
2283 949, 2010, 959, 1393, 2015, 960, 1392, 964, 964, 964,
2284 965, 965, 965, 1391, 951, 2016, 967, 967, 967, 2018,
2285 967, 1390, 957, 967, 964, 970, 970, 970, 965, 970,
2287 2018, 1389, 970, 2015, 974, 974, 974, 975, 975, 975,
2288 956, 987, 987, 987, 2016, 959, 1388, 958, 974, 960,
2289 964, 1387, 977, 977, 977, 975, 977, 1381, 987, 977,
2290 981, 981, 981, 965, 981, 1380, 1379, 981, 984, 984,
2291 984, 985, 985, 985, 988, 988, 988, 1378, 988, 1377,
2292 1376, 988, 991, 991, 991, 1375, 984, 1374, 1373, 985,
2293 993, 993, 993, 994, 994, 994, 997, 997, 997, 975,
2294 991, 1005, 1005, 1005, 1017, 1017, 1017, 993, 1018, 1018,
2295 1018, 994, 1372, 1366, 997, 1024, 1024, 1024, 1017, 1005,
2296 1363, 1361, 1018, 1359, 985, 1025, 1025, 1025, 991, 1024,
2298 984, 1027, 1027, 1027, 1029, 1029, 1029, 1355, 1354, 1025,
2299 1030, 1030, 1030, 1335, 997, 1027, 1333, 1332, 1029, 1322,
2300 1005, 1031, 1031, 1031, 1030, 1031, 994, 1317, 1031, 1314,
2301 997, 1034, 1034, 1034, 1017, 1035, 1035, 1035, 1313, 1035,
2302 1310, 1296, 1035, 1293, 1292, 1024, 1052, 1052, 1052, 1034,
2303 1040, 1040, 1040, 1042, 1042, 1042, 1291, 1042, 1277, 1276,
2304 1042, 1027, 1275, 1052, 1029, 1046, 1046, 1046, 1040, 1049,
2305 1049, 1049, 1274, 1049, 1273, 1272, 1049, 1053, 1053, 1053,
2306 1271, 1053, 1270, 1046, 1053, 1054, 1054, 1054, 1055, 1055,
2307 1055, 1056, 1056, 1056, 1034, 1057, 1057, 1057, 1040, 1058,
2309 1058, 1058, 1269, 1054, 1268, 1055, 1264, 1263, 1056, 1060,
2310 1060, 1060, 1057, 1061, 1061, 1061, 1260, 1058, 1065, 1065,
2311 1065, 1259, 1046, 1066, 1066, 1066, 1060, 1066, 1257, 1255,
2312 1066, 1061, 1249, 1054, 1247, 1065, 1067, 1067, 1067, 1068,
2313 1068, 1068, 1244, 1068, 1243, 1056, 1068, 1070, 1070, 1070,
2314 1071, 1071, 1071, 1067, 1072, 1072, 1072, 1061, 1072, 1239,
2315 1233, 1072, 1073, 1073, 1073, 1070, 1225, 1071, 1074, 1074,
2316 1074, 1075, 1075, 1075, 1223, 1075, 1222, 1221, 1075, 1214,
2317 1073, 1076, 1076, 1076, 1208, 1074, 1077, 1077, 1077, 1078,
2318 1078, 1078, 1207, 1078, 1206, 1204, 1078, 1202, 1076, 1079,
2320 1079, 1079, 1179, 1077, 1080, 1080, 1080, 1081, 1081, 1081,
2321 1082, 1082, 1082, 1083, 1083, 1083, 1079, 1087, 1087, 1087,
2322 1178, 1080, 1177, 1172, 1081, 1088, 1088, 1088, 1082, 1088,
2323 1171, 1083, 1088, 1170, 1087, 1090, 1090, 1090, 1091, 1091,
2324 1091, 1157, 1092, 1092, 1092, 1094, 1094, 1094, 1095, 1095,
2325 1095, 1155, 1154, 1090, 1153, 1091, 1151, 1150, 1080, 1092,
2326 1147, 1083, 1146, 1094, 1144, 1095, 1096, 1096, 1096, 1097,
2327 1097, 1097, 1082, 1143, 1098, 1098, 1098, 1100, 1100, 1100,
2328 1141, 1100, 1140, 1096, 1100, 1139, 1137, 1097, 1098, 1105,
2329 1105, 1105, 1098, 1094, 1107, 1107, 1107, 1108, 1108, 1108,
2331 1133, 1108, 1092, 1132, 1108, 1131, 1128, 1105, 1125, 1096,
2332 1124, 1107, 1109, 1109, 1109, 1123, 1122, 1097, 1115, 1115,
2333 1115, 1116, 1116, 1116, 1117, 1117, 1117, 1118, 1118, 1118,
2334 1109, 1134, 1134, 1134, 1121, 1115, 1120, 1105, 1116, 1119,
2335 1114, 1117, 1135, 1135, 1135, 1118, 1136, 1136, 1136, 1138,
2336 1138, 1138, 1142, 1142, 1142, 1106, 1145, 1145, 1145, 1148,
2337 1148, 1148, 1149, 1149, 1149, 1104, 1103, 1109, 1099, 1093,
2338 1142, 1089, 1086, 1116, 1145, 1085, 1084, 1148, 1069, 1149,
2339 1064, 1117, 1063, 1062, 1118, 1158, 1158, 1158, 1048, 1158,
2340 1045, 1041, 1158, 1161, 1161, 1161, 1162, 1162, 1162, 1142,
2342 1039, 1163, 1163, 1163, 1038, 1163, 1028, 1161, 1163, 1026,
2343 1023, 1161, 1020, 1162, 1148, 1164, 1164, 1164, 1165, 1165,
2344 1165, 1166, 1166, 1166, 1019, 1166, 1016, 1014, 1166, 1167,
2345 1167, 1167, 1164, 1013, 1012, 1165, 1168, 1168, 1168, 1010,
2346 1168, 1008, 1007, 1168, 1006, 1003, 1167, 1169, 1169, 1169,
2347 1173, 1173, 1173, 1002, 1173, 999, 996, 1173, 992, 1176,
2348 1176, 1176, 990, 1176, 989, 1169, 1176, 1180, 1180, 1180,
2349 1182, 1182, 1182, 986, 1182, 980, 976, 1182, 1185, 1185,
2350 1185, 973, 1187, 1187, 1187, 1180, 1187, 966, 963, 1187,
2351 1190, 1190, 1190, 1169, 962, 961, 1185, 1191, 1191, 1191,
2353 944, 1191, 943, 942, 1191, 940, 938, 1190, 1192, 1192,
2354 1192, 937, 1192, 936, 931, 1192, 1195, 1195, 1195, 1196,
2355 1196, 1196, 928, 1196, 919, 917, 1196, 1197, 1197, 1197,
2356 1198, 1198, 1198, 1195, 1199, 1199, 1199, 916, 1199, 910,
2357 909, 1199, 908, 907, 1197, 906, 905, 1198, 1200, 1200,
2358 1200, 1201, 1201, 1201, 1203, 1203, 1203, 1205, 1205, 1205,
2359 903, 1205, 902, 899, 1205, 898, 1200, 897, 895, 1201,
2360 894, 1203, 1209, 1209, 1209, 1211, 1211, 1211, 1212, 1212,
2361 1212, 892, 1212, 891, 889, 1212, 1213, 1213, 1213, 887,
2362 1209, 886, 1211, 1216, 1216, 1216, 1200, 1203, 1215, 1215,
2364 1215, 885, 883, 1213, 1218, 1218, 1218, 1219, 1219, 1219,
2365 1216, 1201, 1215, 1217, 1217, 1217, 1215, 1217, 882, 881,
2366 1217, 1218, 1220, 1220, 1220, 1219, 1224, 1224, 1224, 1226,
2367 1226, 1226, 880, 1226, 879, 870, 1226, 869, 1213, 864,
2368 1220, 1229, 1229, 1229, 1224, 1234, 1234, 1234, 1235, 1235,
2369 1235, 863, 1235, 861, 847, 1235, 1236, 1236, 1236, 1229,
2370 844, 1218, 1234, 1237, 1237, 1237, 839, 838, 1220, 833,
2371 1238, 1238, 1238, 1236, 1240, 1240, 1240, 1241, 1241, 1241,
2372 1237, 1242, 1242, 1242, 1245, 1245, 1245, 1224, 1238, 1229,
2373 1246, 1246, 1246, 1248, 1248, 1248, 1250, 1250, 1250, 1251,
2375 1251, 1251, 1252, 1252, 1252, 1253, 1253, 1253, 1254, 1254,
2376 1254, 828, 1236, 1256, 1256, 1256, 1258, 1258, 1258, 1261,
2377 1261, 1261, 1265, 1265, 1265, 827, 1237, 1266, 1266, 1266,
2378 1238, 1267, 1267, 1267, 1258, 1267, 826, 1261, 1267, 822,
2379 1265, 1278, 1278, 1278, 1266, 1279, 1279, 1279, 810, 1279,
2380 809, 808, 1279, 1282, 1282, 1282, 1283, 1283, 1283, 1278,
2381 1283, 807, 798, 1283, 1258, 1284, 1284, 1284, 797, 1284,
2382 1282, 792, 1284, 1287, 1287, 1287, 784, 1287, 783, 782,
2383 1287, 1290, 1290, 1290, 1297, 1297, 1297, 1278, 1297, 781,
2384 777, 1297, 772, 1300, 1300, 1300, 767, 1300, 766, 1290,
2386 1300, 1303, 1303, 1303, 1304, 1304, 1304, 765, 1304, 757,
2387 755, 1304, 1305, 1305, 1305, 749, 1305, 740, 1303, 1305,
2388 1308, 1308, 1308, 1309, 1309, 1309, 1311, 1311, 1311, 1312,
2389 1312, 1312, 1290, 1312, 735, 724, 1312, 723, 1308, 722,
2390 721, 1309, 719, 1311, 1318, 1318, 1318, 717, 1318, 716,
2391 715, 1318, 1321, 1321, 1321, 1323, 1323, 1323, 1324, 1324,
2392 1324, 714, 1324, 713, 712, 1324, 1327, 1327, 1327, 1321,
2393 1328, 1328, 1328, 1323, 1330, 1330, 1330, 1331, 1331, 1331,
2394 1308, 711, 709, 1327, 1334, 1334, 1334, 708, 1328, 1337,
2395 1337, 1337, 1330, 706, 1331, 1336, 1336, 1336, 1321, 1340,
2397 1340, 1340, 1334, 705, 1341, 1341, 1341, 1337, 1341, 704,
2398 1323, 1341, 703, 1336, 1344, 1344, 1344, 1345, 1345, 1345,
2399 702, 701, 1327, 1346, 1346, 1346, 1347, 1347, 1347, 700,
2400 695, 1344, 694, 693, 1345, 692, 1330, 1348, 1348, 1348,
2401 689, 1346, 1349, 1349, 1349, 1334, 1350, 1350, 1350, 688,
2402 687, 1336, 1351, 1351, 1351, 1352, 1352, 1352, 1353, 1353,
2403 1353, 1356, 1356, 1356, 1357, 1357, 1357, 1344, 1358, 1358,
2404 1358, 1360, 1360, 1360, 1362, 1362, 1362, 685, 1346, 1345,
2405 1365, 1365, 1365, 1367, 1367, 1367, 1369, 1369, 1369, 681,
2406 1369, 678, 1362, 1369, 1382, 1382, 1382, 1365, 1383, 1383,
2408 1383, 1367, 1383, 677, 674, 1383, 1386, 1386, 1386, 1395,
2409 1395, 1395, 1382, 1395, 673, 672, 1395, 1398, 1398, 1398,
2410 1399, 1399, 1399, 671, 1386, 1401, 1401, 1401, 663, 1402,
2411 1402, 1402, 661, 1402, 658, 1398, 1402, 657, 1399, 1416,
2412 1416, 1416, 1401, 1417, 1417, 1417, 1418, 1418, 1418, 654,
2413 651, 1382, 1423, 1423, 1423, 650, 1416, 1424, 1424, 1424,
2414 1425, 1425, 1425, 649, 1418, 1427, 1427, 1427, 1401, 1423,
2415 646, 639, 1426, 1426, 1426, 1424, 1426, 1425, 638, 1426,
2416 637, 636, 1427, 1429, 1429, 1429, 1430, 1430, 1430, 1431,
2417 1431, 1431, 1432, 1432, 1432, 1423, 1435, 1435, 1435, 627,
2419 622, 1429, 1436, 1436, 1436, 621, 620, 1431, 619, 1418,
2420 1432, 616, 613, 1424, 1437, 1437, 1437, 610, 609, 1436,
2421 1438, 1438, 1438, 1439, 1439, 1439, 1440, 1440, 1440, 608,
2422 603, 1437, 1441, 1441, 1441, 1446, 1446, 1446, 1438, 1449,
2423 1449, 1449, 1450, 1450, 1450, 602, 1450, 601, 600, 1450,
2424 1432, 1431, 597, 1446, 595, 591, 1449, 1462, 1462, 1462,
2425 587, 586, 1437, 1463, 1463, 1463, 1472, 1472, 1472, 1473,
2426 1473, 1473, 1475, 1475, 1475, 1462, 583, 580, 1476, 1476,
2427 1476, 1463, 1476, 1472, 579, 1476, 578, 1473, 577, 1475,
2428 1484, 1484, 1484, 1491, 1491, 1491, 1492, 1492, 1492, 576,
2430 1492, 575, 574, 1492, 1493, 1493, 1493, 1484, 573, 572,
2431 1491, 571, 570, 1462, 1494, 1494, 1494, 1501, 1501, 1501,
2432 1502, 1502, 1502, 1503, 1503, 1503, 569, 1503, 568, 567,
2433 1503, 566, 1494, 565, 1501, 1506, 1506, 1506, 1502, 1507,
2434 1507, 1507, 564, 1507, 563, 562, 1507, 561, 1508, 1508,
2435 1508, 560, 1506, 1509, 1509, 1509, 1511, 1511, 1511, 1512,
2436 1512, 1512, 559, 558, 1501, 1508, 557, 556, 1494, 555,
2437 552, 1509, 1516, 1516, 1516, 551, 550, 1512, 1501, 1517,
2438 1517, 1517, 548, 1517, 547, 546, 1517, 545, 544, 1516,
2439 1518, 1518, 1518, 1519, 1519, 1519, 1525, 1525, 1525, 1526,
2441 1526, 1526, 540, 1526, 538, 537, 1526, 1518, 1540, 1540,
2442 1540, 1519, 536, 1525, 1546, 1546, 1546, 1547, 1547, 1547,
2443 535, 1547, 532, 531, 1547, 530, 1540, 529, 1548, 1548,
2444 1548, 1546, 1548, 528, 527, 1548, 1556, 1556, 1556, 1557,
2445 1557, 1557, 524, 1557, 520, 519, 1557, 1564, 1564, 1564,
2446 518, 1564, 517, 1556, 1564, 1567, 1567, 1567, 1574, 1574,
2447 1574, 1575, 1575, 1575, 1540, 1576, 1576, 1576, 516, 513,
2448 1578, 1578, 1578, 1567, 1578, 1574, 512, 1578, 1575, 1581,
2449 1581, 1581, 511, 1576, 1582, 1582, 1582, 510, 1582, 509,
2450 508, 1582, 1583, 1583, 1583, 505, 1581, 1588, 1588, 1588,
2452 504, 1588, 503, 502, 1588, 1591, 1591, 1591, 500, 497,
2453 1583, 1592, 1592, 1592, 493, 1592, 492, 1567, 1592, 1574,
2454 491, 1575, 1591, 1593, 1593, 1593, 1595, 1595, 1595, 1597,
2455 1597, 1597, 1598, 1598, 1598, 490, 1598, 489, 488, 1598,
2456 1614, 1614, 1614, 1615, 1615, 1615, 1597, 1618, 1618, 1618,
2457 485, 1618, 482, 481, 1618, 1622, 1622, 1622, 1614, 477,
2458 1615, 1624, 1624, 1624, 476, 1624, 475, 474, 1624, 1637,
2459 1637, 1637, 1622, 1644, 1644, 1644, 1645, 1645, 1645, 1655,
2460 1655, 1655, 1651, 1651, 1651, 473, 1615, 1637, 1614, 471,
2461 1644, 468, 467, 1645, 1646, 1646, 1646, 464, 1646, 1651,
2463 1651, 1646, 1652, 1652, 1652, 463, 1652, 462, 461, 1652,
2464 1657, 1657, 1657, 1659, 1659, 1659, 457, 1659, 456, 455,
2465 1659, 1637, 1645, 1666, 1666, 1666, 1675, 1675, 1675, 1676,
2466 1676, 1676, 1677, 1677, 1677, 1644, 1677, 454, 450, 1677,
2467 1666, 1682, 1682, 1682, 1675, 449, 1676, 1683, 1683, 1683,
2468 448, 1683, 447, 446, 1683, 1695, 1695, 1695, 1682, 1702,
2469 1702, 1702, 1703, 1703, 1703, 1705, 1705, 1705, 1706, 1706,
2470 1706, 444, 1675, 1695, 441, 440, 1702, 438, 436, 1703,
2471 433, 432, 1705, 1705, 429, 1706, 1706, 427, 1707, 1707,
2472 1707, 424, 1707, 423, 421, 1707, 1708, 1708, 1708, 1709,
2474 1709, 1709, 1702, 420, 419, 1703, 1707, 1714, 1714, 1714,
2475 1715, 1715, 1715, 418, 1715, 417, 416, 1715, 1724, 1724,
2476 1724, 1725, 1725, 1725, 1714, 1725, 413, 412, 1725, 1732,
2477 1732, 1732, 411, 1733, 1733, 1733, 1724, 1733, 410, 409,
2478 1733, 1736, 1736, 1736, 408, 407, 1732, 1747, 1747, 1747,
2479 1755, 1755, 1755, 1756, 1756, 1756, 406, 1756, 1736, 405,
2480 1756, 1757, 1757, 1757, 402, 1747, 401, 1755, 1758, 1758,
2481 1758, 400, 1759, 1759, 1759, 399, 1759, 398, 1757, 1759,
2482 1724, 1760, 1760, 1760, 392, 1758, 1762, 1762, 1762, 1763,
2483 1763, 1763, 391, 1763, 389, 383, 1763, 379, 1760, 1767,
2485 1767, 1767, 376, 1762, 1762, 375, 371, 1763, 370, 1764,
2486 1764, 1764, 369, 1764, 368, 364, 1764, 1768, 1768, 1768,
2487 358, 1773, 1773, 1773, 354, 1773, 1757, 1764, 1773, 1788,
2488 1788, 1788, 351, 1788, 347, 346, 1788, 345, 1782, 1782,
2489 1782, 344, 1787, 1787, 1787, 340, 1760, 1765, 1765, 1765,
2490 1765, 1765, 1765, 1765, 1765, 1765, 1782, 337, 1765, 1787,
2491 1789, 1789, 1789, 1765, 1765, 1765, 1765, 1765, 1790, 1790,
2492 1790, 331, 1790, 330, 326, 1790, 323, 1789, 1805, 1805,
2493 1805, 318, 1805, 317, 316, 1805, 1808, 1808, 1808, 1765,
2494 1765, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766,
2496 312, 306, 1766, 1808, 1812, 1812, 1812, 1766, 1766, 1766,
2497 1766, 1766, 1809, 1809, 1809, 302, 1809, 296, 295, 1809,
2498 293, 1812, 1814, 1814, 1814, 292, 1814, 287, 281, 1814,
2499 1829, 1829, 1829, 1766, 1766, 1835, 1835, 1835, 1808, 1835,
2500 1814, 280, 1835, 1838, 1838, 1838, 276, 1838, 1829, 273,
2501 1838, 269, 1853, 1853, 1853, 268, 1812, 1817, 1817, 1817,
2502 1817, 1817, 1817, 1817, 1817, 1817, 267, 265, 1817, 1853,
2503 1854, 1854, 1854, 1817, 1817, 1817, 1817, 1817, 1861, 1861,
2504 1861, 1868, 1868, 1868, 1894, 1894, 1894, 1854, 1894, 261,
2505 258, 1894, 255, 1869, 1869, 1869, 1861, 1861, 1868, 1817,
2507 1817, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818,
2508 1869, 253, 1818, 249, 1853, 243, 242, 1818, 1818, 1818,
2509 1818, 1818, 1870, 1870, 1870, 1871, 1871, 1871, 1884, 1884,
2510 1884, 241, 1854, 1885, 1885, 1885, 1886, 1886, 1886, 1870,
2511 240, 236, 1871, 1818, 1818, 1884, 1890, 1890, 1890, 230,
2512 1885, 1893, 1893, 1893, 1886, 1895, 1895, 1895, 229, 1896,
2513 1896, 1896, 228, 1896, 1890, 1870, 1896, 224, 1893, 1897,
2514 1897, 1897, 1895, 1898, 1898, 1898, 221, 1898, 216, 1884,
2515 1898, 1900, 1900, 1900, 1885, 214, 1897, 213, 1901, 1901,
2516 1901, 209, 1901, 206, 1890, 1901, 204, 203, 1900, 1906,
2518 1906, 1906, 1907, 1907, 1907, 1908, 1908, 1908, 1912, 1912,
2519 1912, 202, 1912, 198, 192, 1912, 1906, 188, 184, 1907,
2520 1915, 1915, 1915, 1908, 1915, 178, 177, 1915, 1918, 1918,
2521 1918, 173, 1918, 169, 168, 1918, 1922, 1922, 1922, 167,
2522 1922, 1908, 1906, 1922, 161, 1907, 1929, 1929, 1929, 1930,
2523 1930, 1930, 1938, 1938, 1938, 1939, 1939, 1939, 1946, 1946,
2524 1946, 160, 158, 1929, 155, 143, 1930, 0, 0, 1938,
2525 0, 0, 1939, 0, 0, 1946, 1947, 1947, 1947, 1949,
2526 1949, 1949, 1954, 1954, 1954, 1955, 1955, 1955, 1957, 1957,
2527 1957, 0, 0, 1947, 0, 0, 1949, 0, 0, 1954,
2529 0, 0, 1955, 1929, 0, 1957, 1930, 0, 0, 1946,
2530 0, 1958, 1958, 1958, 1938, 1958, 0, 1939, 1958, 1963,
2531 1963, 1963, 1964, 1964, 1964, 0, 0, 1947, 0, 0,
2532 1954, 0, 0, 1955, 0, 0, 1963, 0, 0, 1964,
2533 1966, 1966, 1966, 0, 1966, 0, 0, 1966, 1971, 1971,
2534 1971, 1972, 1972, 1972, 1973, 1973, 1973, 1974, 1974, 1974,
2535 1975, 1975, 1975, 0, 0, 1971, 0, 0, 1972, 1976,
2536 1976, 1976, 1973, 1976, 1974, 0, 1976, 1975, 0, 1963,
2537 0, 0, 1964, 1977, 1977, 1977, 0, 1976, 1978, 1978,
2538 1978, 1971, 0, 0, 1972, 1981, 1981, 1981, 0, 0,
2540 1977, 0, 1982, 1982, 1982, 1978, 1985, 1985, 1985, 1986,
2541 1986, 1986, 1981, 1989, 1989, 1989, 0, 0, 1974, 1982,
2542 1975, 0, 0, 1985, 0, 0, 1986, 1990, 1990, 1990,
2543 1989, 1977, 1993, 1993, 1993, 0, 1978, 0, 1994, 1994,
2544 1994, 0, 1994, 0, 1990, 1994, 0, 0, 1982, 1993,
2545 0, 1981, 0, 1985, 1995, 1995, 1995, 1996, 1996, 1996,
2546 0, 1996, 0, 0, 1996, 1999, 1999, 1999, 0, 1999,
2547 0, 1995, 1999, 1986, 2002, 2002, 2002, 0, 2002, 0,
2548 0, 2002, 2019, 2019, 2019, 2020, 2020, 2020, 0, 0,
2549 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2551 2019, 0, 0, 2020, 2023, 2023, 2023, 2023, 2023, 2023,
2552 2023, 2023, 2023, 2024, 2024, 2024, 2024, 2024, 2024, 2024,
2553 2024, 2024, 2025, 2025, 2025, 2025, 2025, 2025, 2025, 2025,
2554 2025, 2026, 2026, 2026, 2026, 2026, 2026, 2026, 2026, 2026,
2555 2027, 2027, 2027, 2027, 2027, 2027, 2027, 2027, 2027, 2028,
2556 2028, 2028, 2028, 2028, 2028, 2028, 2028, 2028, 2029, 2029,
2557 2029, 2029, 2029, 2029, 2029, 2029, 2029, 2030, 2030, 2030,
2558 2030, 2030, 2030, 2030, 2030, 2030, 2031, 2031, 2031, 2031,
2559 2031, 2031, 2031, 2031, 2031, 2032, 2032, 2032, 2032, 2032,
2560 2032, 2032, 2032, 2032, 2033, 2033, 2033, 2033, 2033, 2033,
2562 2033, 2033, 2033, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
2563 2034, 2034, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035,
2564 2035, 2036, 2036, 2036, 2036, 2036, 2036, 2036, 2036, 2036,
2565 2037, 2037, 2037, 2037, 2037, 2037, 2037, 2037, 2037, 2038,
2566 2038, 2038, 2038, 2038, 2038, 2038, 2038, 2038, 2039, 2039,
2567 2039, 2039, 2039, 2039, 2039, 2039, 2039, 2040, 2040, 2040,
2568 2040, 2040, 2040, 2040, 2040, 2040, 2041, 2041, 2041, 2041,
2569 2041, 2041, 2041, 2041, 2041, 2042, 2042, 2042, 2042, 2042,
2570 2042, 2042, 2042, 2042, 2043, 2043, 2043, 2043, 2043, 2043,
2571 2043, 2043, 2043, 2044, 2044, 2044, 2044, 2044, 2044, 2044,
2573 2044, 2044, 2045, 2045, 2045, 2045, 2045, 2045, 2045, 2045,
2574 2045, 2046, 2046, 2046, 2046, 2046, 2046, 2046, 2046, 2046,
2575 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2048,
2576 2048, 2048, 2048, 2048, 2048, 2048, 2048, 2048, 2049, 2049,
2577 2049, 2049, 2049, 2049, 2049, 2049, 2049, 2050, 2050, 2050,
2578 2050, 2050, 2050, 2050, 2050, 2050, 2051, 2051, 2051, 2051,
2579 2051, 2051, 2051, 2051, 2051, 2052, 2052, 2052, 2052, 2052,
2580 2052, 2052, 2052, 2052, 2053, 2053, 2053, 2053, 2053, 2053,
2581 2053, 2053, 2053, 2054, 2054, 2054, 2054, 2054, 2054, 2054,
2582 2054, 2054, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055,
2584 2055, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056,
2585 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2058,
2586 2058, 2058, 2058, 2058, 2058, 2058, 2058, 2058, 2059, 2059,
2587 2059, 2059, 2059, 2059, 2059, 2059, 2059, 2060, 2060, 2060,
2588 2060, 2060, 2060, 2060, 2060, 2060, 2061, 2061, 2061, 2061,
2589 2061, 2061, 2061, 2061, 2061, 2062, 2062, 2062, 0, 0,
2590 0, 2062, 2063, 2063, 2063, 0, 0, 0, 2063, 2064,
2591 2064, 2064, 0, 0, 0, 2064, 2065, 2065, 2065, 0,
2592 0, 0, 2065, 2066, 2066, 2066, 0, 0, 0, 2066,
2593 2067, 2067, 2067, 0, 0, 0, 2067, 2068, 2068, 2068,
2595 0, 0, 0, 2068, 2069, 2069, 2069, 0, 0, 0,
2596 2069, 2070, 2070, 2070, 0, 0, 0, 2070, 2071, 2071,
2597 2071, 0, 0, 0, 2071, 2072, 2072, 2072, 0, 0,
2598 0, 2072, 2073, 2073, 2073, 0, 0, 0, 2073, 2074,
2599 2074, 2074, 0, 0, 0, 2074, 2075, 2075, 2075, 0,
2600 0, 0, 2075, 2076, 2076, 2076, 0, 0, 0, 2076,
2601 2077, 2077, 2077, 0, 0, 0, 2077, 2078, 2078, 2078,
2602 0, 0, 0, 2078, 2079, 2079, 2079, 2079, 2079, 2079,
2603 2079, 0, 2079, 2080, 0, 0, 0, 2080, 2081, 0,
2604 0, 0, 2081, 2082, 0, 0, 0, 2082, 2083, 0,
2606 0, 0, 2083, 2084, 0, 0, 0, 2084, 2085, 0,
2607 0, 0, 2085, 2086, 0, 0, 0, 2086, 2087, 0,
2608 0, 0, 2087, 2088, 0, 0, 0, 2088, 2089, 2089,
2609 2089, 0, 0, 0, 2089, 2090, 0, 0, 0, 2090,
2610 2091, 2091, 2091, 0, 0, 0, 2091, 2092, 0, 0,
2611 0, 2092, 2093, 2093, 2093, 0, 0, 0, 2093, 2094,
2612 0, 0, 0, 2094, 2095, 2095, 2095, 0, 0, 0,
2613 2095, 2096, 0, 0, 0, 2096, 2097, 2097, 2097, 0,
2614 0, 0, 2097, 2098, 0, 0, 0, 2098, 2099, 2099,
2615 2099, 0, 0, 0, 2099, 2100, 0, 0, 0, 2100,
2617 2101, 2101, 2101, 0, 0, 0, 2101, 2102, 0, 0,
2618 0, 2102, 2103, 2103, 2103, 0, 0, 0, 2103, 2104,
2619 0, 0, 0, 2104, 2105, 2105, 2105, 2105, 2105, 2105,
2620 2105, 2105, 2105, 2106, 0, 0, 0, 0, 2106, 2107,
2621 2107, 2107, 0, 0, 0, 2107, 2108, 2108, 2108, 2108,
2622 0, 0, 2108, 2108, 2109, 2109, 2109, 0, 0, 0,
2623 2109, 2110, 2110, 2110, 2110, 0, 0, 2110, 2110, 2111,
2624 2111, 2111, 0, 0, 0, 2111, 2112, 2112, 2112, 2112,
2625 0, 0, 2112, 2112, 2113, 2113, 2113, 0, 0, 0,
2626 2113, 2114, 2114, 2114, 2114, 0, 0, 2114, 2114, 2115,
2628 2115, 2115, 0, 0, 0, 2115, 2116, 2116, 2116, 2116,
2629 0, 0, 2116, 2116, 2117, 2117, 2117, 0, 0, 0,
2630 2117, 2118, 2118, 2118, 2118, 0, 0, 2118, 2118, 2119,
2631 2119, 2119, 0, 0, 0, 2119, 2120, 2120, 2120, 2120,
2632 0, 0, 2120, 2120, 2121, 2121, 2121, 0, 0, 0,
2633 2121, 2122, 2122, 2122, 2122, 0, 0, 2122, 2122, 2123,
2634 2123, 2123, 0, 0, 0, 2123, 2124, 2124, 2124, 2124,
2635 0, 0, 2124, 2124, 2125, 2125, 2125, 0, 0, 0,
2636 2125, 2126, 2126, 2126, 2126, 0, 0, 2126, 2126, 2127,
2637 2127, 2127, 2127, 0, 0, 2127, 2127, 2128, 2128, 2128,
2639 0, 0, 0, 2128, 2129, 2129, 2129, 2129, 0, 0,
2640 2129, 2129, 2130, 2130, 2130, 0, 0, 0, 2130, 2131,
2641 2131, 2131, 2131, 0, 0, 2131, 2131, 2132, 2132, 2132,
2642 0, 0, 0, 2132, 2133, 2133, 2133, 2133, 0, 0,
2643 2133, 2133, 2134, 2134, 2134, 2134, 0, 0, 2134, 2134,
2644 2135, 2135, 2135, 0, 0, 0, 2135, 2136, 2136, 2136,
2645 2136, 0, 0, 2136, 2136, 2137, 2137, 2137, 0, 0,
2646 0, 2137, 2138, 2138, 2138, 2138, 0, 0, 2138, 2138,
2647 2139, 2139, 2139, 2139, 2139, 2139, 2139, 2139, 2139, 2140,
2648 0, 2140, 0, 0, 2140, 2141, 2141, 2141, 0, 0,
2650 0, 2141, 2142, 2142, 2142, 2142, 0, 0, 2142, 2142,
2651 2143, 2143, 2143, 2143, 0, 2143, 0, 2143, 2144, 2144,
2652 2144, 2144, 0, 0, 2144, 2144, 2145, 2145, 2145, 2145,
2653 0, 2145, 0, 2145, 2146, 2146, 2146, 2146, 0, 0,
2654 2146, 2146, 2147, 2147, 2147, 0, 0, 0, 2147, 2148,
2655 2148, 2148, 2148, 0, 0, 2148, 2148, 2149, 2149, 2149,
2656 0, 0, 0, 2149, 2150, 2150, 2150, 2150, 0, 0,
2657 2150, 2150, 2151, 2151, 2151, 0, 0, 0, 2151, 2152,
2658 2152, 2152, 2152, 0, 0, 2152, 2152, 2153, 2153, 2153,
2659 0, 0, 0, 2153, 2154, 2154, 2154, 2154, 0, 0,
2661 2154, 2154, 2155, 2155, 2155, 0, 0, 0, 2155, 2156,
2662 2156, 2156, 2156, 0, 0, 2156, 2156, 2157, 2157, 2157,
2663 0, 0, 0, 2157, 2158, 2158, 2158, 2158, 0, 0,
2664 2158, 2158, 2159, 2159, 2159, 0, 0, 0, 2159, 2160,
2665 2160, 2160, 2160, 0, 0, 2160, 2160, 2161, 2161, 2161,
2666 2161, 0, 0, 2161, 2161, 2162, 2162, 2162, 0, 0,
2667 0, 2162, 2163, 2163, 2163, 2163, 0, 0, 2163, 2163,
2668 2164, 2164, 2164, 0, 0, 0, 2164, 2165, 2165, 2165,
2669 2165, 0, 0, 2165, 2165, 2166, 2166, 2166, 0, 0,
2670 0, 2166, 2167, 2167, 2167, 2167, 0, 0, 2167, 2167,
2672 2168, 2168, 2168, 2168, 0, 0, 2168, 2168, 2169, 2169,
2673 2169, 0, 0, 0, 2169, 2170, 2170, 2170, 2170, 0,
2674 0, 2170, 2170, 2171, 2171, 2171, 0, 0, 0, 2171,
2675 2172, 2172, 2172, 2172, 0, 0, 2172, 2172, 2173, 2173,
2676 2173, 2173, 2173, 2173, 2173, 2173, 2173, 2174, 2174, 2174,
2677 2174, 2174, 2174, 2174, 2174, 2174, 2175, 2175, 2175, 0,
2678 0, 0, 2175, 2176, 2176, 2176, 2176, 0, 0, 2176,
2679 2176, 2177, 2177, 2177, 2177, 0, 0, 2177, 2177, 2178,
2680 2178, 2178, 0, 0, 0, 2178, 2179, 2179, 2179, 2179,
2681 0, 0, 2179, 2179, 2180, 2180, 2180, 0, 0, 0,
2683 2180, 2181, 2181, 2181, 2181, 0, 0, 2181, 2181, 2182,
2684 2182, 2182, 0, 0, 0, 2182, 2183, 2183, 2183, 2183,
2685 0, 0, 2183, 2183, 2184, 2184, 2184, 0, 0, 0,
2686 2184, 2185, 2185, 2185, 2185, 0, 0, 2185, 2185, 2186,
2687 2186, 2186, 0, 0, 0, 2186, 2187, 2187, 2187, 2187,
2688 0, 0, 2187, 2187, 2188, 2188, 2188, 0, 0, 0,
2689 2188, 2189, 2189, 2189, 2189, 0, 0, 2189, 2189, 2190,
2690 2190, 2190, 2190, 0, 2190, 0, 2190, 2191, 2191, 2191,
2691 2191, 0, 0, 2191, 2191, 2192, 2192, 2192, 2192, 0,
2692 2192, 0, 2192, 2193, 2193, 2193, 2193, 0, 0, 2193,
2694 2193, 2194, 2194, 2194, 2194, 0, 0, 2194, 2194, 2195,
2695 2195, 2195, 0, 0, 0, 2195, 2196, 2196, 2196, 2196,
2696 0, 0, 2196, 2196, 2197, 2197, 2197, 0, 0, 0,
2697 2197, 2198, 2198, 2198, 2198, 0, 0, 2198, 2198, 2199,
2698 2199, 2199, 0, 0, 0, 2199, 2200, 2200, 2200, 2200,
2699 0, 0, 2200, 2200, 2201, 2201, 2201, 2201, 0, 0,
2700 2201, 2201, 2202, 2202, 2202, 0, 0, 0, 2202, 2203,
2701 2203, 2203, 2203, 0, 0, 2203, 2203, 2204, 2204, 2204,
2702 2204, 0, 2204, 0, 2204, 2205, 2205, 2205, 2205, 0,
2703 0, 2205, 2205, 2206, 2206, 2206, 2206, 2206, 2206, 2206,
2705 2206, 2206, 2207, 2207, 2207, 2207, 2207, 2207, 2207, 2207,
2706 2207, 2208, 2208, 2208, 0, 0, 0, 2208, 2209, 2209,
2707 2209, 2209, 0, 0, 2209, 2209, 2210, 2210, 2210, 2210,
2708 0, 0, 2210, 2210, 2211, 2211, 2211, 0, 0, 0,
2709 2211, 2212, 2212, 2212, 2212, 0, 0, 2212, 2212, 2213,
2710 2213, 2213, 0, 0, 0, 2213, 2214, 2214, 2214, 2214,
2711 0, 0, 2214, 2214, 2215, 2215, 2215, 0, 0, 0,
2712 2215, 2216, 2216, 2216, 2216, 0, 0, 2216, 2216, 2217,
2713 2217, 2217, 2217, 0, 2217, 0, 2217, 2218, 2218, 2218,
2714 2218, 0, 2218, 0, 2218, 2219, 2219, 2219, 2219, 0,
2716 0, 2219, 2219, 2220, 2220, 2220, 0, 0, 0, 2220,
2717 2221, 2221, 2221, 2221, 0, 0, 2221, 2221, 2222, 2222,
2718 2222, 2222, 0, 0, 2222, 2222, 2223, 2223, 2223, 2223,
2719 0, 2223, 0, 2223, 2224, 2224, 2224, 2224, 0, 0,
2720 2224, 2224, 2225, 2225, 2225, 2225, 0, 0, 2225, 2225,
2721 2226, 2226, 2226, 0, 0, 0, 2226, 2227, 2227, 2227,
2722 2227, 0, 0, 2227, 2227, 2228, 2228, 2228, 2228, 0,
2723 2228, 0, 2228, 2229, 2229, 2229, 2229, 0, 0, 2229,
2724 2229, 2230, 2230, 2230, 2230, 0, 2230, 0, 2230, 2231,
2725 2231, 2231, 2231, 0, 0, 2231, 2231, 2232, 2232, 2232,
2727 2232, 0, 0, 2232, 2232, 2233, 2233, 2233, 0, 0,
2728 0, 2233, 2234, 2234, 2234, 2234, 0, 0, 2234, 2234,
2729 2235, 2235, 2235, 2235, 0, 0, 2235, 2235, 2236, 2236,
2730 2236, 2236, 2236, 2236, 2236, 2236, 2236, 2237, 2237, 2237,
2731 2237, 2237, 2237, 2237, 2237, 2237, 2238, 2238, 2238, 2238,
2732 0, 2238, 0, 2238, 2239, 2239, 2239, 2239, 0, 0,
2733 2239, 2239, 2240, 2240, 2240, 2240, 0, 0, 2240, 2240,
2734 2241, 2241, 2241, 0, 0, 0, 2241, 2242, 2242, 2242,
2735 2242, 0, 0, 2242, 2242, 2243, 2243, 2243, 0, 0,
2736 0, 2243, 2244, 2244, 2244, 2244, 0, 0, 2244, 2244,
2738 2245, 2245, 2245, 2245, 0, 2245, 0, 2245, 2246, 2246,
2739 2246, 2246, 0, 0, 2246, 2246, 2247, 2247, 2247, 2247,
2740 0, 2247, 0, 2247, 2248, 2248, 2248, 2248, 0, 0,
2741 2248, 2248, 2249, 2249, 2249, 0, 0, 0, 2249, 2250,
2742 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2251, 2251,
2743 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2252, 2252, 2252,
2744 2252, 2252, 2252, 2252, 2252, 2252, 2253, 2253, 2253, 2253,
2745 2253, 2253, 2253, 2253, 2253, 2254, 2254, 2254, 2254, 2254,
2746 2254, 2254, 2254, 2254, 2255, 2255, 2255, 2255, 2255, 2255,
2747 2255, 2255, 2255, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
2749 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
2750 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
2751 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
2752 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
2753 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
2754 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
2758 /* Table of booleans, true if rule could match eol. */
2759 static yyconst flex_int32_t yy_rule_can_match_eol[352] = { 0,
2760 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1,
2761 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1,
2762 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1,
2763 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1,
2764 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1,
2765 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1,
2766 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2767 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1,
2768 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1,
2769 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1,
2770 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1,
2771 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1,
2772 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0,
2773 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2774 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1,
2775 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1,
2776 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
2777 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0,
2780 static yy_state_type yy_last_accepting_state;
2781 static char *yy_last_accepting_cpos;
2783 extern int surf_parse__flex_debug;
2784 int surf_parse__flex_debug = 0;
2786 /* The intent behind this definition is that it'll catch
2787 * any uses of REJECT which flex missed.
2789 #define REJECT reject_used_but_not_detected
2790 #define yymore() yymore_used_but_not_detected
2791 #define YY_MORE_ADJ 0
2792 #define YY_RESTORE_YY_MORE_OFFSET
2793 char *surf_parse_text;
2794 /* Validating XML processor for surf/simgrid.dtd.
2795 * Generated 2008/02/03 11:50:45.
2797 * This program was generated with the FleXML XML processor generator.
2798 * FleXML is Copyright (C) 1999-2005 Kristoffer Rose. All rights reserved.
2799 * FleXML is Copyright (C) 2003-2006 Martin Quinson. All rights reserved.
2800 * (Id: flexml.pl,v 1.63 2007/10/11 14:46:08 mquinson Exp).
2802 * There are two, intertwined parts to this program, part A and part B.
2807 * Some parts, here collectively called "Part A", are found in the
2808 * FleXML package. They are Copyright (C) 1999-2005 Kristoffer Rose
2809 * and Copyright (C) 2003-2006 Martin Quinson. All rights reserved.
2811 * You can redistribute, use, perform, display and/or modify "Part A"
2812 * provided the following two conditions hold:
2814 * 1. The program is distributed WITHOUT ANY WARRANTY from the author of
2815 * FleXML; without even the implied warranty of MERCHANTABILITY or
2816 * FITNESS FOR A PARTICULAR PURPOSE.
2818 * 2. The program distribution conditions do not in any way affect the
2819 * distribution conditions of the FleXML system used to generate this
2820 * file or any version of FleXML derived from that system.
2822 * Notice that these are explicit rights granted to you for files
2823 * generated by the FleXML system. For your rights in connection with
2824 * the FleXML system itself please consult the GNU General Public License.
2829 * The other parts, here collectively called "Part B", and which came
2830 * from the DTD used by FleXML to generate this program, can be
2831 * distributed (or not, as the case may be) under the terms of whoever
2832 * wrote them, provided these terms respect and obey the two conditions
2833 * above under the heading "Part A".
2835 * The author of and contributors to FleXML specifically disclaim
2836 * any copyright interest in "Part B", unless "Part B" was written
2837 * by the author of or contributors to FleXML.
2841 /* Version strings. */
2842 const char rcs_surfxml_flexml_skeleton[] =
2843 "$" "Id: skel,v 1.40 2007/10/11 09:57:24 mquinson Exp $";
2844 const char rcs_surfxml_flexml[] =
2845 "$" "Id: flexml.pl,v 1.63 2007/10/11 14:46:08 mquinson Exp $";
2848 #include <stdlib.h> /* for realloc() -- needed here when using flex 2.5.4 */
2855 #if defined(_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__TOS_WIN__)
2856 # ifndef __STRICT_ANSI__
2858 # include <process.h>
2861 # include <unistd.h>
2864 #ifndef FLEXML_INDEXSTACKSIZE
2865 #define FLEXML_INDEXSTACKSIZE 1000
2868 /* Generated definitions. */
2869 #define FLEXML_yylineno
2870 #ifndef FLEXML_BUFFERSTACKSIZE
2871 #define FLEXML_BUFFERSTACKSIZE 1000000
2873 #define FLEXML_NEED_BUFFERLIT
2875 /* XML processor api. */
2876 /* FleXML-provided data. */
2877 int surfxml_pcdata_ix;
2878 extern char *surfxml_bufferstack;
2879 #define surfxml_pcdata (surfxml_bufferstack + surfxml_pcdata_ix)
2880 AT_surfxml_random_generator AX_surfxml_random_generator;
2881 #define A_surfxml_random_generator AX_surfxml_random_generator
2882 AT_surfxml_prop_id AX_surfxml_prop_id;
2883 #define A_surfxml_prop_id (surfxml_bufferstack + AX_surfxml_prop_id)
2884 AT_surfxml_host_interference_recv AX_surfxml_host_interference_recv;
2885 #define A_surfxml_host_interference_recv (surfxml_bufferstack + AX_surfxml_host_interference_recv)
2886 AT_surfxml_host_id AX_surfxml_host_id;
2887 #define A_surfxml_host_id (surfxml_bufferstack + AX_surfxml_host_id)
2888 AT_surfxml_set_id AX_surfxml_set_id;
2889 #define A_surfxml_set_id (surfxml_bufferstack + AX_surfxml_set_id)
2890 AT_surfxml_link_latency_file AX_surfxml_link_latency_file;
2891 #define A_surfxml_link_latency_file (surfxml_bufferstack + AX_surfxml_link_latency_file)
2892 AT_surfxml_host_state AX_surfxml_host_state;
2893 #define A_surfxml_host_state AX_surfxml_host_state
2894 AT_surfxml_host_interference_send_recv AX_surfxml_host_interference_send_recv;
2895 #define A_surfxml_host_interference_send_recv (surfxml_bufferstack + AX_surfxml_host_interference_send_recv)
2896 AT_surfxml_host_interference_send AX_surfxml_host_interference_send;
2897 #define A_surfxml_host_interference_send (surfxml_bufferstack + AX_surfxml_host_interference_send)
2898 AT_surfxml_set_suffix AX_surfxml_set_suffix;
2899 #define A_surfxml_set_suffix (surfxml_bufferstack + AX_surfxml_set_suffix)
2900 AT_surfxml_route_impact_on_dst AX_surfxml_route_impact_on_dst;
2901 #define A_surfxml_route_impact_on_dst (surfxml_bufferstack + AX_surfxml_route_impact_on_dst)
2902 AT_surfxml_host_power AX_surfxml_host_power;
2903 #define A_surfxml_host_power (surfxml_bufferstack + AX_surfxml_host_power)
2904 AT_surfxml_router_id AX_surfxml_router_id;
2905 #define A_surfxml_router_id (surfxml_bufferstack + AX_surfxml_router_id)
2906 AT_surfxml_process_start_time AX_surfxml_process_start_time;
2907 #define A_surfxml_process_start_time (surfxml_bufferstack + AX_surfxml_process_start_time)
2908 AT_surfxml_cluster_suffix AX_surfxml_cluster_suffix;
2909 #define A_surfxml_cluster_suffix (surfxml_bufferstack + AX_surfxml_cluster_suffix)
2910 AT_surfxml_platform_xmlns_c_route AX_surfxml_platform_xmlns_c_route;
2911 #define A_surfxml_platform_xmlns_c_route (surfxml_bufferstack + AX_surfxml_platform_xmlns_c_route)
2912 AT_surfxml_cluster_prefix AX_surfxml_cluster_prefix;
2913 #define A_surfxml_cluster_prefix (surfxml_bufferstack + AX_surfxml_cluster_prefix)
2914 AT_surfxml_trace_file AX_surfxml_trace_file;
2915 #define A_surfxml_trace_file (surfxml_bufferstack + AX_surfxml_trace_file)
2916 AT_surfxml_route_action AX_surfxml_route_action;
2917 #define A_surfxml_route_action AX_surfxml_route_action
2918 AT_surfxml_link_sharing_policy AX_surfxml_link_sharing_policy;
2919 #define A_surfxml_link_sharing_policy AX_surfxml_link_sharing_policy
2920 AT_surfxml_random_min AX_surfxml_random_min;
2921 #define A_surfxml_random_min (surfxml_bufferstack + AX_surfxml_random_min)
2922 AT_surfxml_process_kill_time AX_surfxml_process_kill_time;
2923 #define A_surfxml_process_kill_time (surfxml_bufferstack + AX_surfxml_process_kill_time)
2924 AT_surfxml_cluster_bb_bw AX_surfxml_cluster_bb_bw;
2925 #define A_surfxml_cluster_bb_bw (surfxml_bufferstack + AX_surfxml_cluster_bb_bw)
2926 AT_surfxml_trace_c_connect_element AX_surfxml_trace_c_connect_element;
2927 #define A_surfxml_trace_c_connect_element (surfxml_bufferstack + AX_surfxml_trace_c_connect_element)
2928 AT_surfxml_argument_value AX_surfxml_argument_value;
2929 #define A_surfxml_argument_value (surfxml_bufferstack + AX_surfxml_argument_value)
2930 AT_surfxml_link_state AX_surfxml_link_state;
2931 #define A_surfxml_link_state AX_surfxml_link_state
2932 AT_surfxml_route_impact_on_src AX_surfxml_route_impact_on_src;
2933 #define A_surfxml_route_impact_on_src (surfxml_bufferstack + AX_surfxml_route_impact_on_src)
2934 AT_surfxml_link_bandwidth AX_surfxml_link_bandwidth;
2935 #define A_surfxml_link_bandwidth (surfxml_bufferstack + AX_surfxml_link_bandwidth)
2936 AT_surfxml_cluster_id AX_surfxml_cluster_id;
2937 #define A_surfxml_cluster_id (surfxml_bufferstack + AX_surfxml_cluster_id)
2938 AT_surfxml_random_mean AX_surfxml_random_mean;
2939 #define A_surfxml_random_mean (surfxml_bufferstack + AX_surfxml_random_mean)
2940 AT_surfxml_cluster_bb_lat AX_surfxml_cluster_bb_lat;
2941 #define A_surfxml_cluster_bb_lat (surfxml_bufferstack + AX_surfxml_cluster_bb_lat)
2942 AT_surfxml_link_latency AX_surfxml_link_latency;
2943 #define A_surfxml_link_latency (surfxml_bufferstack + AX_surfxml_link_latency)
2944 AT_surfxml_platform_xmlns_c_link AX_surfxml_platform_xmlns_c_link;
2945 #define A_surfxml_platform_xmlns_c_link (surfxml_bufferstack + AX_surfxml_platform_xmlns_c_link)
2946 AT_surfxml_link_bandwidth_file AX_surfxml_link_bandwidth_file;
2947 #define A_surfxml_link_bandwidth_file (surfxml_bufferstack + AX_surfxml_link_bandwidth_file)
2948 AT_surfxml_random_id AX_surfxml_random_id;
2949 #define A_surfxml_random_id (surfxml_bufferstack + AX_surfxml_random_id)
2950 AT_surfxml_set_radical AX_surfxml_set_radical;
2951 #define A_surfxml_set_radical (surfxml_bufferstack + AX_surfxml_set_radical)
2952 AT_surfxml_random_max AX_surfxml_random_max;
2953 #define A_surfxml_random_max (surfxml_bufferstack + AX_surfxml_random_max)
2954 AT_surfxml_link_id AX_surfxml_link_id;
2955 #define A_surfxml_link_id (surfxml_bufferstack + AX_surfxml_link_id)
2956 AT_surfxml_process_host AX_surfxml_process_host;
2957 #define A_surfxml_process_host (surfxml_bufferstack + AX_surfxml_process_host)
2958 AT_surfxml_host_availability_file AX_surfxml_host_availability_file;
2959 #define A_surfxml_host_availability_file (surfxml_bufferstack + AX_surfxml_host_availability_file)
2960 AT_surfxml_cluster_lat AX_surfxml_cluster_lat;
2961 #define A_surfxml_cluster_lat (surfxml_bufferstack + AX_surfxml_cluster_lat)
2962 AT_surfxml_trace_periodicity AX_surfxml_trace_periodicity;
2963 #define A_surfxml_trace_periodicity (surfxml_bufferstack + AX_surfxml_trace_periodicity)
2964 AT_surfxml_foreach_set_id AX_surfxml_foreach_set_id;
2965 #define A_surfxml_foreach_set_id (surfxml_bufferstack + AX_surfxml_foreach_set_id)
2966 AT_surfxml_route_impact_on_dst_with_other_send
2967 AX_surfxml_route_impact_on_dst_with_other_send;
2968 #define A_surfxml_route_impact_on_dst_with_other_send (surfxml_bufferstack + AX_surfxml_route_impact_on_dst_with_other_send)
2969 AT_surfxml_prop_value AX_surfxml_prop_value;
2970 #define A_surfxml_prop_value (surfxml_bufferstack + AX_surfxml_prop_value)
2971 AT_surfxml_route_impact_on_src_with_other_recv
2972 AX_surfxml_route_impact_on_src_with_other_recv;
2973 #define A_surfxml_route_impact_on_src_with_other_recv (surfxml_bufferstack + AX_surfxml_route_impact_on_src_with_other_recv)
2974 AT_surfxml_link_state_file AX_surfxml_link_state_file;
2975 #define A_surfxml_link_state_file (surfxml_bufferstack + AX_surfxml_link_state_file)
2976 AT_surfxml_set_prefix AX_surfxml_set_prefix;
2977 #define A_surfxml_set_prefix (surfxml_bufferstack + AX_surfxml_set_prefix)
2978 AT_surfxml_cluster_power AX_surfxml_cluster_power;
2979 #define A_surfxml_cluster_power (surfxml_bufferstack + AX_surfxml_cluster_power)
2980 AT_surfxml_process_function AX_surfxml_process_function;
2981 #define A_surfxml_process_function (surfxml_bufferstack + AX_surfxml_process_function)
2982 AT_surfxml_host_max_outgoing_rate AX_surfxml_host_max_outgoing_rate;
2983 #define A_surfxml_host_max_outgoing_rate (surfxml_bufferstack + AX_surfxml_host_max_outgoing_rate)
2984 AT_surfxml_link_c_ctn_id AX_surfxml_link_c_ctn_id;
2985 #define A_surfxml_link_c_ctn_id (surfxml_bufferstack + AX_surfxml_link_c_ctn_id)
2986 AT_surfxml_host_availability AX_surfxml_host_availability;
2987 #define A_surfxml_host_availability (surfxml_bufferstack + AX_surfxml_host_availability)
2988 AT_surfxml_route_src AX_surfxml_route_src;
2989 #define A_surfxml_route_src (surfxml_bufferstack + AX_surfxml_route_src)
2990 AT_surfxml_route_c_multi_src AX_surfxml_route_c_multi_src;
2991 #define A_surfxml_route_c_multi_src (surfxml_bufferstack + AX_surfxml_route_c_multi_src)
2992 AT_surfxml_route_c_multi_action AX_surfxml_route_c_multi_action;
2993 #define A_surfxml_route_c_multi_action AX_surfxml_route_c_multi_action
2994 AT_surfxml_trace_c_connect_trace AX_surfxml_trace_c_connect_trace;
2995 #define A_surfxml_trace_c_connect_trace (surfxml_bufferstack + AX_surfxml_trace_c_connect_trace)
2996 AT_surfxml_trace_id AX_surfxml_trace_id;
2997 #define A_surfxml_trace_id (surfxml_bufferstack + AX_surfxml_trace_id)
2998 AT_surfxml_cluster_radical AX_surfxml_cluster_radical;
2999 #define A_surfxml_cluster_radical (surfxml_bufferstack + AX_surfxml_cluster_radical)
3000 AT_surfxml_include_file AX_surfxml_include_file;
3001 #define A_surfxml_include_file (surfxml_bufferstack + AX_surfxml_include_file)
3002 AT_surfxml_random_std_deviation AX_surfxml_random_std_deviation;
3003 #define A_surfxml_random_std_deviation (surfxml_bufferstack + AX_surfxml_random_std_deviation)
3004 AT_surfxml_trace_c_connect_kind AX_surfxml_trace_c_connect_kind;
3005 #define A_surfxml_trace_c_connect_kind AX_surfxml_trace_c_connect_kind
3006 AT_surfxml_route_c_multi_dst AX_surfxml_route_c_multi_dst;
3007 #define A_surfxml_route_c_multi_dst (surfxml_bufferstack + AX_surfxml_route_c_multi_dst)
3008 AT_surfxml_host_state_file AX_surfxml_host_state_file;
3009 #define A_surfxml_host_state_file (surfxml_bufferstack + AX_surfxml_host_state_file)
3010 AT_surfxml_route_c_multi_symmetric AX_surfxml_route_c_multi_symmetric;
3011 #define A_surfxml_route_c_multi_symmetric AX_surfxml_route_c_multi_symmetric
3012 AT_surfxml_route_dst AX_surfxml_route_dst;
3013 #define A_surfxml_route_dst (surfxml_bufferstack + AX_surfxml_route_dst)
3014 AT_surfxml_cluster_bw AX_surfxml_cluster_bw;
3015 #define A_surfxml_cluster_bw (surfxml_bufferstack + AX_surfxml_cluster_bw)
3016 AT_surfxml_platform_version AX_surfxml_platform_version;
3017 #define A_surfxml_platform_version (surfxml_bufferstack + AX_surfxml_platform_version)
3021 # define ENTER(state) debug_enter(state,#state)
3022 # define LEAVE debug_leave()
3023 # define SET(state) debug_set(state,#state)
3024 static void debug_enter(int, const char *);
3025 static void debug_leave(void);
3026 static void debug_set(int, const char *);
3028 # define ENTER(state) (yy_push_state(state))
3029 # define LEAVE (yy_pop_state())
3030 # define SET(state) BEGIN(state)
3033 /* Generic actions. */
3034 #define SKIP /*skip */
3035 #define SUCCEED CLEANUP; return 0
3037 #define FAIL return fail
3038 static int fail(const char *, ...);
3040 enum { flexml_max_err_msg_size = 512 };
3041 static char flexml_err_msg[flexml_max_err_msg_size];
3042 const char *surfxml_parse_err_msg()
3044 return flexml_err_msg;
3047 static void reset_surfxml_parse_err_msg()
3049 flexml_err_msg[0] = '\0';
3053 static void cleanup(void);
3054 #define CLEANUP cleanup()
3056 /* Text buffer stack handling. */
3057 char *surfxml_bufferstack = NULL;
3058 static int blimit = FLEXML_BUFFERSTACKSIZE;
3059 static int bnext = 1;
3061 static int *indexstack = NULL;
3062 static int ilimit = FLEXML_INDEXSTACKSIZE;
3063 static int inext = 1;
3065 #define BUFFERSET(P) (P = bnext)
3066 #define BUFFERPUTC(C) (ck_blimit(), surfxml_bufferstack[bnext++] = (C))
3067 #define BUFFERDONE (BUFFERPUTC('\0'))
3069 #define BUFFERLITERAL(C, P) surfxml_bufferliteral(C, &(P), surf_parse_text)
3071 /* after this is called, there are at least 2 slots left in the stack */
3072 static int ck_blimit()
3074 if (bnext >= blimit) {
3075 blimit += FLEXML_BUFFERSTACKSIZE + 2;
3077 char *temp = (char *) realloc(surfxml_bufferstack, blimit);
3079 surfxml_bufferstack = temp;
3085 /* after this is called, there are at least 2 slots left in the stack */
3086 static int ck_ilimit()
3088 if (inext >= ilimit) {
3089 ilimit += FLEXML_INDEXSTACKSIZE + 2;
3091 int *temp = (int *) realloc(indexstack, ilimit);
3099 #ifdef FLEXML_NEED_BUFFERLIT
3100 static void surfxml_bufferliteral(char c, int *pp, const char *text)
3102 const char *s = (c ? strchr(text, c) : text - 1), *e = strrchr(text, c);
3106 if (isspace(*s) && c) {
3117 static void pushbuffer(int p)
3120 indexstack[inext++] = p;
3121 indexstack[inext++] = bnext;
3124 static int popbuffer(void)
3127 bnext = indexstack[--inext];
3128 return indexstack[--inext];
3131 /* General internal entities are `unput' back onto the input stream... */
3132 #define ENTITYTEXT(T) \
3133 { char *s = (T), *e = s+strlen(s);\
3134 while (--e >= s) { unput(*e); }}
3136 /* Flex standard options. */
3137 #define YY_NO_INPUT 1
3138 /* Flex user-requested options. */
3139 /* XML character classes (currently restricted to ASCII). */
3140 /* "Common syntactic structures." */
3141 /* "Names and Tokens." */
3142 /* Miscellaneous. */
3143 /* Parser states (flex `exclusive start conditions'):
3145 * PROLOG the XML prolog of the document before <?xml...>
3146 * DOCTYPE the XML prolog of the document after <?xml...>
3147 * EPILOG after the root element
3148 * INCOMMENT inside an XML comment <!--....-->
3149 * INPI inside an XML PI <?...?>
3150 * VALUE1 inside a '...'-delimited literal
3151 * VALUE2 inside a "..."-delimited literal
3152 * CDATA inside a <![CDATA[...] ]> section.
3153 * ROOT_<tag> expect root element <tag>
3154 * AL_<tag> inside the attribute list for <tag>
3155 * IN_<tag> inside a <tag> with element contents (ready for end tag)
3156 * IMPOSSIBLE dummy to permit disabling rules; must be last
3160 const char **surfxml_statenames = NULL;
3171 #define ROOT_surfxml_platform 9
3172 #define AL_surfxml_platform 10
3173 #define S_surfxml_platform 11
3174 #define S_surfxml_platform_1 12
3175 #define S_surfxml_platform_2 13
3176 #define S_surfxml_platform_3 14
3177 #define S_surfxml_platform_4 15
3178 #define S_surfxml_platform_5 16
3179 #define E_surfxml_platform 17
3180 #define AL_surfxml_include 18
3181 #define E_surfxml_include 19
3182 #define AL_surfxml_trace 20
3184 #define AL_surfxml_random 22
3185 #define S_surfxml_random 23
3186 #define S_surfxml_random_1 24
3187 #define S_surfxml_random_2 25
3188 #define E_surfxml_random 26
3189 #define AL_surfxml_trace_c_connect 27
3190 #define E_surfxml_trace_c_connect 28
3191 #define AL_surfxml_set 29
3192 #define E_surfxml_set 30
3193 #define AL_surfxml_foreach 31
3194 #define S_surfxml_foreach 32
3195 #define S_surfxml_foreach_1 33
3196 #define E_surfxml_foreach 34
3197 #define AL_surfxml_host 35
3198 #define S_surfxml_host 36
3199 #define S_surfxml_host_1 37
3200 #define S_surfxml_host_2 38
3201 #define E_surfxml_host 39
3202 #define AL_surfxml_prop 40
3203 #define E_surfxml_prop 41
3204 #define AL_surfxml_cluster 42
3205 #define E_surfxml_cluster 43
3206 #define AL_surfxml_router 44
3207 #define E_surfxml_router 45
3208 #define AL_surfxml_link 46
3209 #define S_surfxml_link 47
3210 #define S_surfxml_link_1 48
3211 #define S_surfxml_link_2 49
3212 #define E_surfxml_link 50
3213 #define AL_surfxml_route_c_multi 51
3214 #define S_surfxml_route_c_multi 52
3215 #define S_surfxml_route_c_multi_1 53
3216 #define S_surfxml_route_c_multi_2 54
3217 #define E_surfxml_route_c_multi 55
3218 #define AL_surfxml_route 56
3219 #define S_surfxml_route 57
3220 #define S_surfxml_route_1 58
3221 #define S_surfxml_route_2 59
3222 #define E_surfxml_route 60
3223 #define AL_surfxml_link_c_ctn 61
3224 #define E_surfxml_link_c_ctn 62
3225 #define AL_surfxml_process 63
3226 #define S_surfxml_process 64
3227 #define S_surfxml_process_1 65
3228 #define S_surfxml_process_2 66
3229 #define E_surfxml_process 67
3230 #define AL_surfxml_argument 68
3231 #define E_surfxml_argument 69
3232 #define IMPOSSIBLE 70
3234 #ifndef YY_NO_UNISTD_H
3235 /* Special case for "unistd.h", since it is non-ANSI. We include it way
3236 * down here because we want the user's section 1 to have been scanned first.
3237 * The user has a chance to override it with an option.
3239 #if defined(_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__TOS_WIN__)
3240 # ifndef __STRICT_ANSI__
3242 # include <process.h>
3245 # include <unistd.h>
3249 #ifndef YY_EXTRA_TYPE
3250 #define YY_EXTRA_TYPE void *
3253 static int yy_init_globals(void);
3255 /* Accessor methods to globals.
3256 These are made visible to non-reentrant scanners for convenience. */
3258 int surf_parse_lex_destroy(void);
3260 int surf_parse_get_debug(void);
3262 void surf_parse_set_debug(int debug_flag);
3264 YY_EXTRA_TYPE surf_parse_get_extra(void);
3266 void surf_parse_set_extra(YY_EXTRA_TYPE user_defined);
3268 FILE *surf_parse_get_in(void);
3270 void surf_parse_set_in(FILE * in_str);
3272 FILE *surf_parse_get_out(void);
3274 void surf_parse_set_out(FILE * out_str);
3276 int surf_parse_get_leng(void);
3278 char *surf_parse_get_text(void);
3280 int surf_parse_get_lineno(void);
3282 void surf_parse_set_lineno(int line_number);
3284 /* Macros after this point can all be overridden by user definitions in
3288 #ifndef YY_SKIP_YYWRAP
3290 extern "C" int surf_parse_wrap(void);
3292 extern int surf_parse_wrap(void);
3297 static void yy_flex_strncpy(char *, yyconst char *, int);
3300 #ifdef YY_NEED_STRLEN
3301 static int yy_flex_strlen(yyconst char *);
3307 static int yyinput(void);
3309 static int input(void);
3314 static int yy_start_stack_ptr = 0;
3315 static int yy_start_stack_depth = 0;
3316 static int *yy_start_stack = NULL;
3318 static void yy_push_state(int new_state);
3320 static void yy_pop_state(void);
3322 /* Amount of stuff to slurp up with each read. */
3323 #ifndef YY_READ_BUF_SIZE
3324 #define YY_READ_BUF_SIZE 8192
3327 /* Copy whatever the last rule matched to the standard output. */
3329 /* This used to be an fputs(), but since the string might contain NUL's,
3330 * we now use fwrite().
3332 #define ECHO do { if (fwrite( surf_parse_text, surf_parse_leng, 1, surf_parse_out )) {} } while (0)
3335 /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
3336 * is returned in "result".
3339 #define YY_INPUT(buf,result,max_size) \
3340 if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
3344 for ( n = 0; n < max_size && \
3345 (c = getc( surf_parse_in )) != EOF && c != '\n'; ++n ) \
3346 buf[n] = (char) c; \
3348 buf[n++] = (char) c; \
3349 if ( c == EOF && ferror( surf_parse_in ) ) \
3350 YY_FATAL_ERROR( "input in flex scanner failed" ); \
3356 while ( (result = fread(buf, 1, max_size, surf_parse_in))==0 && ferror(surf_parse_in)) \
3358 if( errno != EINTR) \
3360 YY_FATAL_ERROR( "input in flex scanner failed" ); \
3364 clearerr(surf_parse_in); \
3371 /* No semi-colon after return; correct usage is to write "yyterminate();" -
3372 * we don't want an extra ';' after the "return" because that will cause
3373 * some compilers to complain about unreachable statements.
3376 #define yyterminate() return YY_NULL
3379 /* Number of entries by which start-condition stack grows. */
3380 #ifndef YY_START_STACK_INCR
3381 #define YY_START_STACK_INCR 25
3384 /* Report a fatal error. */
3385 #ifndef YY_FATAL_ERROR
3386 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
3389 /* end tables serialization structures and prototypes */
3391 /* Default declaration of generated scanner - a define so the user can
3392 * easily add parameters.
3395 #define YY_DECL_IS_OURS 1
3397 extern int surf_parse_lex(void);
3399 #define YY_DECL int surf_parse_lex (void)
3400 #endif /* !YY_DECL */
3402 /* Code executed at the beginning of each rule, after surf_parse_text and surf_parse_leng
3405 #ifndef YY_USER_ACTION
3406 #define YY_USER_ACTION
3409 /* Code executed at the end of each rule. */
3411 #define YY_BREAK break;
3414 #define YY_RULE_SETUP \
3417 /** The main scanner function which does all the work.
3420 register yy_state_type yy_current_state;
3421 register char *yy_cp, *yy_bp;
3422 register int yy_act;
3424 /* Bypass Flex's default INITIAL state and begin by parsing the XML prolog. */
3426 reset_surfxml_parse_err_msg();
3427 surfxml_bufferstack = (char *) malloc(FLEXML_BUFFERSTACKSIZE);
3428 assert(surfxml_bufferstack);
3432 for (i = 0; i < blimit; i++) {
3433 surfxml_bufferstack[i] = '\377';
3437 surfxml_bufferstack[0] = '\0';
3438 indexstack = (int *) malloc(FLEXML_INDEXSTACKSIZE * sizeof(int));
3444 surfxml_bufferliteral('\0', &bnext, "0.0");
3445 surfxml_bufferliteral('\0', &bnext, "http://simgrid.gforge.inria.fr/");
3446 surfxml_bufferliteral('\0', &bnext, "http://simgrid.gforge.inria.fr/");
3447 surfxml_bufferliteral('\0', &bnext, "1.0");
3448 surfxml_bufferliteral('\0', &bnext, "1.0");
3449 surfxml_bufferliteral('\0', &bnext, "1.0");
3450 surfxml_bufferliteral('\0', &bnext, "1.0");
3451 surfxml_bufferliteral('\0', &bnext, "-1.0");
3452 surfxml_bufferliteral('\0', &bnext, "0.0");
3453 surfxml_bufferliteral('\0', &bnext, "0.0");
3454 surfxml_bufferliteral('\0', &bnext, "0.0");
3455 surfxml_bufferliteral('\0', &bnext, "0.0");
3456 surfxml_bufferliteral('\0', &bnext, "0.0");
3457 surfxml_bufferliteral('\0', &bnext, "-1.0");
3458 surfxml_bufferliteral('\0', &bnext, "-1.0");
3459 if (!surfxml_statenames) {
3460 surfxml_statenames = (const char **) calloc(IMPOSSIBLE, sizeof(char *));
3461 surfxml_statenames[PROLOG] = NULL;
3462 surfxml_statenames[DOCTYPE] = NULL;
3463 surfxml_statenames[EPILOG] = NULL;
3464 surfxml_statenames[INCOMMENT] = NULL;
3465 surfxml_statenames[INPI] = NULL;
3466 surfxml_statenames[VALUE1] = NULL;
3467 surfxml_statenames[VALUE2] = NULL;
3468 surfxml_statenames[CDATA] = NULL;
3469 surfxml_statenames[ROOT_surfxml_platform] = NULL;
3470 surfxml_statenames[AL_surfxml_platform] = NULL;
3471 surfxml_statenames[S_surfxml_platform] = "platform";
3472 surfxml_statenames[S_surfxml_platform_1] = "platform";
3473 surfxml_statenames[S_surfxml_platform_2] = "platform";
3474 surfxml_statenames[S_surfxml_platform_3] = "platform";
3475 surfxml_statenames[S_surfxml_platform_4] = "platform";
3476 surfxml_statenames[S_surfxml_platform_5] = "platform";
3477 surfxml_statenames[E_surfxml_platform] = "platform";
3478 surfxml_statenames[AL_surfxml_include] = NULL;
3479 surfxml_statenames[E_surfxml_include] = "include";
3480 surfxml_statenames[AL_surfxml_trace] = NULL;
3481 surfxml_statenames[IN_trace] = "trace";
3482 surfxml_statenames[AL_surfxml_random] = NULL;
3483 surfxml_statenames[S_surfxml_random] = "random";
3484 surfxml_statenames[S_surfxml_random_1] = "random";
3485 surfxml_statenames[S_surfxml_random_2] = "random";
3486 surfxml_statenames[E_surfxml_random] = "random";
3487 surfxml_statenames[AL_surfxml_trace_c_connect] = NULL;
3488 surfxml_statenames[E_surfxml_trace_c_connect] = "trace:connect";
3489 surfxml_statenames[AL_surfxml_set] = NULL;
3490 surfxml_statenames[E_surfxml_set] = "set";
3491 surfxml_statenames[AL_surfxml_foreach] = NULL;
3492 surfxml_statenames[S_surfxml_foreach] = "foreach";
3493 surfxml_statenames[S_surfxml_foreach_1] = "foreach";
3494 surfxml_statenames[E_surfxml_foreach] = "foreach";
3495 surfxml_statenames[AL_surfxml_host] = NULL;
3496 surfxml_statenames[S_surfxml_host] = "host";
3497 surfxml_statenames[S_surfxml_host_1] = "host";
3498 surfxml_statenames[S_surfxml_host_2] = "host";
3499 surfxml_statenames[E_surfxml_host] = "host";
3500 surfxml_statenames[AL_surfxml_prop] = NULL;
3501 surfxml_statenames[E_surfxml_prop] = "prop";
3502 surfxml_statenames[AL_surfxml_cluster] = NULL;
3503 surfxml_statenames[E_surfxml_cluster] = "cluster";
3504 surfxml_statenames[AL_surfxml_router] = NULL;
3505 surfxml_statenames[E_surfxml_router] = "router";
3506 surfxml_statenames[AL_surfxml_link] = NULL;
3507 surfxml_statenames[S_surfxml_link] = "link";
3508 surfxml_statenames[S_surfxml_link_1] = "link";
3509 surfxml_statenames[S_surfxml_link_2] = "link";
3510 surfxml_statenames[E_surfxml_link] = "link";
3511 surfxml_statenames[AL_surfxml_route_c_multi] = NULL;
3512 surfxml_statenames[S_surfxml_route_c_multi] = "route:multi";
3513 surfxml_statenames[S_surfxml_route_c_multi_1] = "route:multi";
3514 surfxml_statenames[S_surfxml_route_c_multi_2] = "route:multi";
3515 surfxml_statenames[E_surfxml_route_c_multi] = "route:multi";
3516 surfxml_statenames[AL_surfxml_route] = NULL;
3517 surfxml_statenames[S_surfxml_route] = "route";
3518 surfxml_statenames[S_surfxml_route_1] = "route";
3519 surfxml_statenames[S_surfxml_route_2] = "route";
3520 surfxml_statenames[E_surfxml_route] = "route";
3521 surfxml_statenames[AL_surfxml_link_c_ctn] = NULL;
3522 surfxml_statenames[E_surfxml_link_c_ctn] = "link:ctn";
3523 surfxml_statenames[AL_surfxml_process] = NULL;
3524 surfxml_statenames[S_surfxml_process] = "process";
3525 surfxml_statenames[S_surfxml_process_1] = "process";
3526 surfxml_statenames[S_surfxml_process_2] = "process";
3527 surfxml_statenames[E_surfxml_process] = "process";
3528 surfxml_statenames[AL_surfxml_argument] = NULL;
3529 surfxml_statenames[E_surfxml_argument] = "argument";
3532 /* COMMENTS and PIs: handled uniformly for efficiency. */
3542 (yy_start) = 1; /* first start state */
3545 surf_parse_in = stdin;
3547 if (!surf_parse_out)
3548 surf_parse_out = stdout;
3550 if (!YY_CURRENT_BUFFER) {
3551 surf_parse_ensure_buffer_stack();
3552 YY_CURRENT_BUFFER_LVALUE =
3553 surf_parse__create_buffer(surf_parse_in, YY_BUF_SIZE);
3556 surf_parse__load_buffer_state();
3559 while (1) { /* loops until end-of-file is reached */
3560 yy_cp = (yy_c_buf_p);
3562 /* Support of surf_parse_text. */
3563 *yy_cp = (yy_hold_char);
3565 /* yy_bp points to the position in yy_ch_buf of the start of
3570 yy_current_state = (yy_start);
3573 register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
3574 if (yy_accept[yy_current_state]) {
3575 (yy_last_accepting_state) = yy_current_state;
3576 (yy_last_accepting_cpos) = yy_cp;
3578 while (yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state) {
3579 yy_current_state = (int) yy_def[yy_current_state];
3580 if (yy_current_state >= 2023)
3581 yy_c = yy_meta[(unsigned int) yy_c];
3584 yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
3587 while (yy_base[yy_current_state] != 7094);
3590 yy_act = yy_accept[yy_current_state];
3591 if (yy_act == 0) { /* have to back up */
3592 yy_cp = (yy_last_accepting_cpos);
3593 yy_current_state = (yy_last_accepting_state);
3594 yy_act = yy_accept[yy_current_state];
3597 YY_DO_BEFORE_ACTION;
3599 if (yy_act != YY_END_OF_BUFFER && yy_rule_can_match_eol[yy_act]) {
3601 for (yyl = 0; yyl < surf_parse_leng; ++yyl)
3602 if (surf_parse_text[yyl] == '\n')
3604 surf_parse_lineno++;
3608 do_action: /* This label is used only to access EOF actions. */
3610 switch (yy_act) { /* beginning of action switch */
3611 case 0: /* must back up */
3612 /* undo the effects of YY_DO_BEFORE_ACTION */
3613 *yy_cp = (yy_hold_char);
3614 yy_cp = (yy_last_accepting_cpos);
3615 yy_current_state = (yy_last_accepting_state);
3616 goto yy_find_action;
3619 YY_RULE_SETUP ENTER(INCOMMENT);
3620 YY_BREAK case 2:YY_RULE_SETUP ENTER(INPI);
3621 YY_BREAK case 3:YY_RULE_SETUP LEAVE;
3622 YY_BREAK case 4:case 5:case 6:
3623 /* rule 6 can match eol */
3625 YY_BREAK case YY_STATE_EOF(INCOMMENT):FAIL("EOF in comment.");
3626 YY_BREAK case 7:YY_RULE_SETUP LEAVE;
3627 YY_BREAK case 8:case 9:
3628 /* rule 9 can match eol */
3631 YY_STATE_EOF(INPI):FAIL("EOF in PI (processing instruction).");
3633 /* SPACES: skipped uniformly */
3635 /* rule 10 can match eol */
3638 /* PROLOG: determine root element and process it. */
3640 /* rule 11 can match eol */
3641 YY_RULE_SETUP SET(DOCTYPE);
3643 /* rule 12 can match eol */
3644 YY_RULE_SETUP FAIL("Bad declaration %s.", surf_parse_text);
3646 /* rule 13 can match eol */
3647 YY_RULE_SETUP SET(ROOT_surfxml_platform);
3649 /* rule 14 can match eol */
3650 YY_RULE_SETUP FAIL("Bad declaration %s.", surf_parse_text);
3651 YY_BREAK case 15:YY_RULE_SETUP
3652 FAIL("Unexpected character `%c' in prolog.", surf_parse_text[0]);
3653 YY_BREAK case YY_STATE_EOF(PROLOG):case
3654 YY_STATE_EOF(DOCTYPE):FAIL("EOF in prolog.");
3656 /* RULES DERIVED FROM DTD. */
3657 /* <!-- Small DTD for SURF based tools. --> */
3659 /* rule 16 can match eol */
3660 YY_RULE_SETUP FAIL("Starting tag <platform> is not allowed here.");
3662 /* rule 17 can match eol */
3664 AX_surfxml_platform_version = 1;
3665 AX_surfxml_platform_xmlns_c_link = 5;
3666 AX_surfxml_platform_xmlns_c_route = 37;
3667 ENTER(AL_surfxml_platform);
3670 /* rule 18 can match eol */
3671 YY_RULE_SETUP ENTER(VALUE1);
3672 BUFFERSET(AX_surfxml_platform_version);
3674 /* rule 19 can match eol */
3675 YY_RULE_SETUP ENTER(VALUE2);
3676 BUFFERSET(AX_surfxml_platform_version);
3678 /* rule 20 can match eol */
3679 YY_RULE_SETUP ENTER(VALUE1);
3680 BUFFERSET(AX_surfxml_platform_xmlns_c_link);
3682 /* rule 21 can match eol */
3683 YY_RULE_SETUP ENTER(VALUE2);
3684 BUFFERSET(AX_surfxml_platform_xmlns_c_link);
3686 /* rule 22 can match eol */
3687 YY_RULE_SETUP ENTER(VALUE1);
3688 BUFFERSET(AX_surfxml_platform_xmlns_c_route);
3690 /* rule 23 can match eol */
3691 YY_RULE_SETUP ENTER(VALUE2);
3692 BUFFERSET(AX_surfxml_platform_xmlns_c_route);
3693 YY_BREAK case 24:YY_RULE_SETUP {
3695 STag_surfxml_platform();
3696 surfxml_pcdata_ix = 0;
3697 ENTER(S_surfxml_platform);
3698 } YY_BREAK case 25:YY_RULE_SETUP {
3700 STag_surfxml_platform();
3701 surfxml_pcdata_ix = 0;
3702 ETag_surfxml_platform();
3703 popbuffer(); /* attribute */
3705 case ROOT_surfxml_platform:
3708 }} YY_BREAK case 26:YY_RULE_SETUP
3710 ("Unexpected character `%c' in attribute list of platform element.",
3711 surf_parse_text[0]);
3712 YY_BREAK case 27:YY_RULE_SETUP
3713 FAIL("Bad attribute `%s' in `platform' element start tag.",
3716 YY_STATE_EOF(AL_surfxml_platform):FAIL
3717 ("EOF in attribute list of `platform' element.");
3719 /* rule 28 can match eol */
3722 ETag_surfxml_platform();
3723 popbuffer(); /* attribute */
3725 case ROOT_surfxml_platform:
3728 }} YY_BREAK case 29:
3729 /* rule 29 can match eol */
3732 FAIL("Unexpected end-tag `%s': `</platform>' expected.",
3734 YY_BREAK case 30:YY_RULE_SETUP
3735 FAIL("Unexpected character `%c': `</platform>' expected.",
3736 surf_parse_text[0]);
3737 YY_BREAK case YY_STATE_EOF(S_surfxml_platform_5):case
3738 YY_STATE_EOF(S_surfxml_platform_1):case
3739 YY_STATE_EOF(S_surfxml_platform_3):case
3740 YY_STATE_EOF(S_surfxml_platform):case
3741 YY_STATE_EOF(E_surfxml_platform):FAIL
3742 ("Premature EOF: `</platform>' expected.");
3744 /* rule 31 can match eol */
3745 YY_RULE_SETUP FAIL("Starting tag <include> is not allowed here.");
3747 /* rule 32 can match eol */
3749 AX_surfxml_include_file = 0;
3750 ENTER(AL_surfxml_include);
3753 /* rule 33 can match eol */
3754 YY_RULE_SETUP ENTER(VALUE1);
3755 BUFFERSET(AX_surfxml_include_file);
3757 /* rule 34 can match eol */
3758 YY_RULE_SETUP ENTER(VALUE2);
3759 BUFFERSET(AX_surfxml_include_file);
3760 YY_BREAK case 35:YY_RULE_SETUP {
3761 if (!AX_surfxml_include_file)
3762 FAIL("Required attribute `file' not set for `include' element.");
3764 STag_surfxml_include();
3765 surfxml_pcdata_ix = 0;
3766 ENTER(E_surfxml_include);
3767 } YY_BREAK case 36:YY_RULE_SETUP {
3768 if (!AX_surfxml_include_file)
3769 FAIL("Required attribute `file' not set for `include' element.");
3771 STag_surfxml_include();
3772 surfxml_pcdata_ix = 0;
3773 ETag_surfxml_include();
3774 popbuffer(); /* attribute */
3776 case S_surfxml_platform_5:
3777 case S_surfxml_platform_1:
3778 case S_surfxml_platform_3:
3779 case S_surfxml_platform:
3780 case S_surfxml_platform_4:
3781 SET(S_surfxml_platform_5);
3783 case S_surfxml_platform_2:SET(S_surfxml_platform_3);
3785 }} YY_BREAK case 37:YY_RULE_SETUP
3787 ("Unexpected character `%c' in attribute list of include element.",
3788 surf_parse_text[0]);
3789 YY_BREAK case 38:YY_RULE_SETUP
3790 FAIL("Bad attribute `%s' in `include' element start tag.",
3793 YY_STATE_EOF(AL_surfxml_include):FAIL
3794 ("EOF in attribute list of `include' element.");
3796 /* rule 39 can match eol */
3799 ETag_surfxml_include();
3800 popbuffer(); /* attribute */
3802 case S_surfxml_platform_5:
3803 case S_surfxml_platform_1:
3804 case S_surfxml_platform_3:
3805 case S_surfxml_platform:
3806 case S_surfxml_platform_4:
3807 SET(S_surfxml_platform_5);
3809 case S_surfxml_platform_2:SET(S_surfxml_platform_3);
3811 }} YY_BREAK case 40:
3812 /* rule 40 can match eol */
3815 FAIL("Unexpected end-tag `%s': `</include>' expected.",
3817 YY_BREAK case 41:YY_RULE_SETUP
3818 FAIL("Unexpected character `%c': `</include>' expected.",
3819 surf_parse_text[0]);
3821 YY_STATE_EOF(E_surfxml_include):FAIL
3822 ("Premature EOF: `</include>' expected.");
3824 /* rule 42 can match eol */
3825 YY_RULE_SETUP FAIL("Starting tag <trace> is not allowed here.");
3827 /* rule 43 can match eol */
3829 AX_surfxml_trace_id = 0;
3830 AX_surfxml_trace_file = 0;
3831 AX_surfxml_trace_periodicity = 0;
3832 ENTER(AL_surfxml_trace);
3835 /* rule 44 can match eol */
3836 YY_RULE_SETUP ENTER(VALUE1);
3837 BUFFERSET(AX_surfxml_trace_id);
3839 /* rule 45 can match eol */
3840 YY_RULE_SETUP ENTER(VALUE2);
3841 BUFFERSET(AX_surfxml_trace_id);
3843 /* rule 46 can match eol */
3844 YY_RULE_SETUP ENTER(VALUE1);
3845 BUFFERSET(AX_surfxml_trace_file);
3847 /* rule 47 can match eol */
3848 YY_RULE_SETUP ENTER(VALUE2);
3849 BUFFERSET(AX_surfxml_trace_file);
3851 /* rule 48 can match eol */
3852 YY_RULE_SETUP ENTER(VALUE1);
3853 BUFFERSET(AX_surfxml_trace_periodicity);
3855 /* rule 49 can match eol */
3856 YY_RULE_SETUP ENTER(VALUE2);
3857 BUFFERSET(AX_surfxml_trace_periodicity);
3858 YY_BREAK case 50:YY_RULE_SETUP {
3859 if (!AX_surfxml_trace_id)
3860 FAIL("Required attribute `id' not set for `trace' element.");
3861 if (!AX_surfxml_trace_periodicity)
3863 ("Required attribute `periodicity' not set for `trace' element.");
3865 STag_surfxml_trace();
3866 pushbuffer(surfxml_pcdata_ix);
3867 BUFFERSET(surfxml_pcdata_ix);;
3869 } YY_BREAK case 51: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 surfxml_pcdata_ix = 0;
3878 ETag_surfxml_trace();
3879 popbuffer(); /* attribute */
3881 case S_surfxml_platform_2:
3882 case S_surfxml_platform_3:
3883 case S_surfxml_platform:
3884 SET(S_surfxml_platform_3);
3886 }} YY_BREAK case 52:YY_RULE_SETUP
3887 FAIL("Unexpected character `%c' in attribute list of trace element.",
3888 surf_parse_text[0]);
3889 YY_BREAK case 53:YY_RULE_SETUP
3890 FAIL("Bad attribute `%s' in `trace' element start tag.",
3893 YY_STATE_EOF(AL_surfxml_trace):FAIL
3894 ("EOF in attribute list of `trace' element.");
3896 /* rule 54 can match eol */
3900 ETag_surfxml_trace();
3901 surfxml_pcdata_ix = popbuffer();
3902 popbuffer(); /* attribute */
3904 case S_surfxml_platform_2:
3905 case S_surfxml_platform_3:
3906 case S_surfxml_platform:
3907 SET(S_surfxml_platform_3);
3909 }} YY_BREAK case 55:
3910 /* rule 55 can match eol */
3913 FAIL("Unexpected end-tag `%s': `</trace>' expected.",
3916 YY_STATE_EOF(IN_trace):FAIL("Premature EOF: `</trace>' expected.");
3918 /* rule 56 can match eol */
3919 YY_RULE_SETUP FAIL("Starting tag <random> is not allowed here.");
3921 /* rule 57 can match eol */
3923 AX_surfxml_random_id = 0;
3924 AX_surfxml_random_min = 0;
3925 AX_surfxml_random_max = 0;
3926 AX_surfxml_random_mean = 0;
3927 AX_surfxml_random_std_deviation = 0;
3928 AX_surfxml_random_generator = A_surfxml_random_generator_DRAND48;
3929 ENTER(AL_surfxml_random);
3932 /* rule 58 can match eol */
3933 YY_RULE_SETUP ENTER(VALUE1);
3934 BUFFERSET(AX_surfxml_random_id);
3936 /* rule 59 can match eol */
3937 YY_RULE_SETUP ENTER(VALUE2);
3938 BUFFERSET(AX_surfxml_random_id);
3940 /* rule 60 can match eol */
3941 YY_RULE_SETUP ENTER(VALUE1);
3942 BUFFERSET(AX_surfxml_random_min);
3944 /* rule 61 can match eol */
3945 YY_RULE_SETUP ENTER(VALUE2);
3946 BUFFERSET(AX_surfxml_random_min);
3948 /* rule 62 can match eol */
3949 YY_RULE_SETUP ENTER(VALUE1);
3950 BUFFERSET(AX_surfxml_random_max);
3952 /* rule 63 can match eol */
3953 YY_RULE_SETUP ENTER(VALUE2);
3954 BUFFERSET(AX_surfxml_random_max);
3956 /* rule 64 can match eol */
3957 YY_RULE_SETUP ENTER(VALUE1);
3958 BUFFERSET(AX_surfxml_random_mean);
3960 /* rule 65 can match eol */
3961 YY_RULE_SETUP ENTER(VALUE2);
3962 BUFFERSET(AX_surfxml_random_mean);
3964 /* rule 66 can match eol */
3965 YY_RULE_SETUP ENTER(VALUE1);
3966 BUFFERSET(AX_surfxml_random_std_deviation);
3968 /* rule 67 can match eol */
3969 YY_RULE_SETUP ENTER(VALUE2);
3970 BUFFERSET(AX_surfxml_random_std_deviation);
3972 /* rule 68 can match eol */
3974 /* rule 69 can match eol */
3977 A_surfxml_random_generator = A_surfxml_random_generator_DRAND48;
3979 /* rule 70 can match eol */
3981 /* rule 71 can match eol */
3984 A_surfxml_random_generator = A_surfxml_random_generator_RAND;
3985 YY_BREAK case 72:YY_RULE_SETUP {
3986 if (!AX_surfxml_random_id)
3987 FAIL("Required attribute `id' not set for `random' element.");
3988 if (!AX_surfxml_random_min)
3989 FAIL("Required attribute `min' not set for `random' element.");
3990 if (!AX_surfxml_random_max)
3991 FAIL("Required attribute `max' not set for `random' element.");
3992 if (!AX_surfxml_random_mean)
3993 FAIL("Required attribute `mean' not set for `random' element.");
3994 if (!AX_surfxml_random_std_deviation)
3996 ("Required attribute `std_deviation' not set for `random' element.");
3998 STag_surfxml_random();
3999 surfxml_pcdata_ix = 0;
4000 ENTER(S_surfxml_random);
4001 } YY_BREAK case 73:YY_RULE_SETUP {
4002 if (!AX_surfxml_random_id)
4003 FAIL("Required attribute `id' not set for `random' element.");
4004 if (!AX_surfxml_random_min)
4005 FAIL("Required attribute `min' not set for `random' element.");
4006 if (!AX_surfxml_random_max)
4007 FAIL("Required attribute `max' not set for `random' element.");
4008 if (!AX_surfxml_random_mean)
4009 FAIL("Required attribute `mean' not set for `random' element.");
4010 if (!AX_surfxml_random_std_deviation)
4012 ("Required attribute `std_deviation' not set for `random' element.");
4014 STag_surfxml_random();
4015 surfxml_pcdata_ix = 0;
4016 ETag_surfxml_random();
4017 popbuffer(); /* attribute */
4019 case S_surfxml_platform_2:
4020 case S_surfxml_platform_3:
4021 case S_surfxml_platform:
4022 SET(S_surfxml_platform_3);
4024 }} YY_BREAK case 74:YY_RULE_SETUP
4025 FAIL("Unexpected character `%c' in attribute list of random element.",
4026 surf_parse_text[0]);
4027 YY_BREAK case 75:YY_RULE_SETUP
4028 FAIL("Bad attribute `%s' in `random' element start tag.",
4031 YY_STATE_EOF(AL_surfxml_random):FAIL
4032 ("EOF in attribute list of `random' element.");
4034 /* rule 76 can match eol */
4037 ETag_surfxml_random();
4038 popbuffer(); /* attribute */
4040 case S_surfxml_platform_2:
4041 case S_surfxml_platform_3:
4042 case S_surfxml_platform:
4043 SET(S_surfxml_platform_3);
4045 }} YY_BREAK case 77:
4046 /* rule 77 can match eol */
4049 FAIL("Unexpected end-tag `%s': `</random>' expected.",
4051 YY_BREAK case 78:YY_RULE_SETUP
4052 FAIL("Unexpected character `%c': `</random>' expected.",
4053 surf_parse_text[0]);
4054 YY_BREAK case YY_STATE_EOF(S_surfxml_random_2):case
4055 YY_STATE_EOF(S_surfxml_random):case
4056 YY_STATE_EOF(E_surfxml_random):FAIL
4057 ("Premature EOF: `</random>' expected.");
4059 /* rule 79 can match eol */
4062 FAIL("Starting tag <trace:connect> is not allowed here.");
4064 /* rule 80 can match eol */
4066 AX_surfxml_trace_c_connect_kind =
4067 A_surfxml_trace_c_connect_kind_HOST_AVAIL;
4068 AX_surfxml_trace_c_connect_trace = 0;
4069 AX_surfxml_trace_c_connect_element = 0;
4070 ENTER(AL_surfxml_trace_c_connect);
4073 /* rule 81 can match eol */
4075 /* rule 82 can match eol */
4078 A_surfxml_trace_c_connect_kind =
4079 A_surfxml_trace_c_connect_kind_HOST_AVAIL;
4081 /* rule 83 can match eol */
4083 /* rule 84 can match eol */
4086 A_surfxml_trace_c_connect_kind = A_surfxml_trace_c_connect_kind_POWER;
4088 /* rule 85 can match eol */
4090 /* rule 86 can match eol */
4093 A_surfxml_trace_c_connect_kind =
4094 A_surfxml_trace_c_connect_kind_LINK_AVAIL;
4096 /* rule 87 can match eol */
4098 /* rule 88 can match eol */
4101 A_surfxml_trace_c_connect_kind =
4102 A_surfxml_trace_c_connect_kind_BANDWIDTH;
4104 /* rule 89 can match eol */
4106 /* rule 90 can match eol */
4109 A_surfxml_trace_c_connect_kind =
4110 A_surfxml_trace_c_connect_kind_LATENCY;
4112 /* rule 91 can match eol */
4113 YY_RULE_SETUP ENTER(VALUE1);
4114 BUFFERSET(AX_surfxml_trace_c_connect_trace);
4116 /* rule 92 can match eol */
4117 YY_RULE_SETUP ENTER(VALUE2);
4118 BUFFERSET(AX_surfxml_trace_c_connect_trace);
4120 /* rule 93 can match eol */
4121 YY_RULE_SETUP ENTER(VALUE1);
4122 BUFFERSET(AX_surfxml_trace_c_connect_element);
4124 /* rule 94 can match eol */
4125 YY_RULE_SETUP ENTER(VALUE2);
4126 BUFFERSET(AX_surfxml_trace_c_connect_element);
4127 YY_BREAK case 95:YY_RULE_SETUP {
4128 if (!AX_surfxml_trace_c_connect_trace)
4130 ("Required attribute `trace' not set for `trace:connect' element.");
4131 if (!AX_surfxml_trace_c_connect_element)
4133 ("Required attribute `element' not set for `trace:connect' element.");
4135 STag_surfxml_trace_c_connect();
4136 surfxml_pcdata_ix = 0;
4137 ENTER(E_surfxml_trace_c_connect);
4138 } YY_BREAK case 96: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 ETag_surfxml_trace_c_connect();
4149 popbuffer(); /* attribute */
4151 case S_surfxml_platform_5:
4152 case S_surfxml_platform_1:
4153 case S_surfxml_platform_3:
4154 case S_surfxml_platform:
4155 case S_surfxml_platform_4:
4156 SET(S_surfxml_platform_5);
4158 case S_surfxml_platform_2:SET(S_surfxml_platform_3);
4160 }} YY_BREAK case 97:YY_RULE_SETUP
4162 ("Unexpected character `%c' in attribute list of trace:connect element.",
4163 surf_parse_text[0]);
4164 YY_BREAK case 98:YY_RULE_SETUP
4165 FAIL("Bad attribute `%s' in `trace:connect' element start tag.",
4168 YY_STATE_EOF(AL_surfxml_trace_c_connect):FAIL
4169 ("EOF in attribute list of `trace:connect' element.");
4171 /* rule 99 can match eol */
4174 ETag_surfxml_trace_c_connect();
4175 popbuffer(); /* attribute */
4177 case S_surfxml_platform_5:
4178 case S_surfxml_platform_1:
4179 case S_surfxml_platform_3:
4180 case S_surfxml_platform:
4181 case S_surfxml_platform_4:
4182 SET(S_surfxml_platform_5);
4184 case S_surfxml_platform_2:SET(S_surfxml_platform_3);
4186 }} YY_BREAK case 100:
4187 /* rule 100 can match eol */
4190 FAIL("Unexpected end-tag `%s': `</trace:connect>' expected.",
4192 YY_BREAK case 101:YY_RULE_SETUP
4193 FAIL("Unexpected character `%c': `</trace:connect>' expected.",
4194 surf_parse_text[0]);
4196 YY_STATE_EOF(E_surfxml_trace_c_connect):FAIL
4197 ("Premature EOF: `</trace:connect>' expected.");
4199 /* rule 102 can match eol */
4200 YY_RULE_SETUP FAIL("Starting tag <set> is not allowed here.");
4202 /* rule 103 can match eol */
4204 AX_surfxml_set_id = 0;
4205 AX_surfxml_set_prefix = 0;
4206 AX_surfxml_set_suffix = 0;
4207 AX_surfxml_set_radical = 0;
4208 ENTER(AL_surfxml_set);
4210 } YY_BREAK case 104:
4211 /* rule 104 can match eol */
4212 YY_RULE_SETUP ENTER(VALUE1);
4213 BUFFERSET(AX_surfxml_set_id);
4215 /* rule 105 can match eol */
4216 YY_RULE_SETUP ENTER(VALUE2);
4217 BUFFERSET(AX_surfxml_set_id);
4219 /* rule 106 can match eol */
4220 YY_RULE_SETUP ENTER(VALUE1);
4221 BUFFERSET(AX_surfxml_set_prefix);
4223 /* rule 107 can match eol */
4224 YY_RULE_SETUP ENTER(VALUE2);
4225 BUFFERSET(AX_surfxml_set_prefix);
4227 /* rule 108 can match eol */
4228 YY_RULE_SETUP ENTER(VALUE1);
4229 BUFFERSET(AX_surfxml_set_suffix);
4231 /* rule 109 can match eol */
4232 YY_RULE_SETUP ENTER(VALUE2);
4233 BUFFERSET(AX_surfxml_set_suffix);
4235 /* rule 110 can match eol */
4236 YY_RULE_SETUP ENTER(VALUE1);
4237 BUFFERSET(AX_surfxml_set_radical);
4239 /* rule 111 can match eol */
4240 YY_RULE_SETUP ENTER(VALUE2);
4241 BUFFERSET(AX_surfxml_set_radical);
4242 YY_BREAK case 112:YY_RULE_SETUP {
4243 if (!AX_surfxml_set_id)
4244 FAIL("Required attribute `id' not set for `set' element.");
4245 if (!AX_surfxml_set_prefix)
4246 FAIL("Required attribute `prefix' not set for `set' element.");
4247 if (!AX_surfxml_set_suffix)
4248 FAIL("Required attribute `suffix' not set for `set' element.");
4249 if (!AX_surfxml_set_radical)
4250 FAIL("Required attribute `radical' not set for `set' element.");
4253 surfxml_pcdata_ix = 0;
4254 ENTER(E_surfxml_set);
4255 } YY_BREAK case 113:YY_RULE_SETUP {
4256 if (!AX_surfxml_set_id)
4257 FAIL("Required attribute `id' not set for `set' element.");
4258 if (!AX_surfxml_set_prefix)
4259 FAIL("Required attribute `prefix' not set for `set' element.");
4260 if (!AX_surfxml_set_suffix)
4261 FAIL("Required attribute `suffix' not set for `set' element.");
4262 if (!AX_surfxml_set_radical)
4263 FAIL("Required attribute `radical' not set for `set' element.");
4266 surfxml_pcdata_ix = 0;
4268 popbuffer(); /* attribute */
4270 case S_surfxml_platform_2:
4271 case S_surfxml_platform_3:
4272 case S_surfxml_platform:
4273 SET(S_surfxml_platform_3);
4275 }} YY_BREAK case 114:YY_RULE_SETUP
4276 FAIL("Unexpected character `%c' in attribute list of set element.",
4277 surf_parse_text[0]);
4278 YY_BREAK case 115:YY_RULE_SETUP
4279 FAIL("Bad attribute `%s' in `set' element start tag.",
4282 YY_STATE_EOF(AL_surfxml_set):FAIL
4283 ("EOF in attribute list of `set' element.");
4285 /* rule 116 can match eol */
4289 popbuffer(); /* attribute */
4291 case S_surfxml_platform_2:
4292 case S_surfxml_platform_3:
4293 case S_surfxml_platform:
4294 SET(S_surfxml_platform_3);
4296 }} YY_BREAK case 117:
4297 /* rule 117 can match eol */
4300 FAIL("Unexpected end-tag `%s': `</set>' expected.", surf_parse_text);
4301 YY_BREAK case 118:YY_RULE_SETUP
4302 FAIL("Unexpected character `%c': `</set>' expected.",
4303 surf_parse_text[0]);
4305 YY_STATE_EOF(E_surfxml_set):FAIL("Premature EOF: `</set>' expected.");
4307 /* rule 119 can match eol */
4308 YY_RULE_SETUP FAIL("Starting tag <foreach> is not allowed here.");
4310 /* rule 120 can match eol */
4312 AX_surfxml_foreach_set_id = 0;
4313 ENTER(AL_surfxml_foreach);
4315 } YY_BREAK case 121:
4316 /* rule 121 can match eol */
4317 YY_RULE_SETUP ENTER(VALUE1);
4318 BUFFERSET(AX_surfxml_foreach_set_id);
4320 /* rule 122 can match eol */
4321 YY_RULE_SETUP ENTER(VALUE2);
4322 BUFFERSET(AX_surfxml_foreach_set_id);
4323 YY_BREAK case 123:YY_RULE_SETUP {
4324 if (!AX_surfxml_foreach_set_id)
4325 FAIL("Required attribute `set_id' not set for `foreach' element.");
4327 STag_surfxml_foreach();
4328 surfxml_pcdata_ix = 0;
4329 ENTER(S_surfxml_foreach);
4330 } YY_BREAK case 124:YY_RULE_SETUP
4331 FAIL("`foreach' element cannot be empty.");
4332 YY_BREAK case 125:YY_RULE_SETUP
4334 ("Unexpected character `%c' in attribute list of foreach element.",
4335 surf_parse_text[0]);
4336 YY_BREAK case 126:YY_RULE_SETUP
4337 FAIL("Bad attribute `%s' in `foreach' element start tag.",
4340 YY_STATE_EOF(AL_surfxml_foreach):FAIL
4341 ("EOF in attribute list of `foreach' element.");
4343 /* rule 127 can match eol */
4346 ETag_surfxml_foreach();
4347 popbuffer(); /* attribute */
4349 case S_surfxml_platform_2:
4350 case S_surfxml_platform_3:
4351 case S_surfxml_platform:
4352 SET(S_surfxml_platform_3);
4354 }} YY_BREAK case 128:
4355 /* rule 128 can match eol */
4358 FAIL("Unexpected end-tag `%s': `</foreach>' expected.",
4360 YY_BREAK case 129:YY_RULE_SETUP
4361 FAIL("Unexpected character `%c': `</foreach>' expected.",
4362 surf_parse_text[0]);
4364 YY_STATE_EOF(E_surfxml_foreach):FAIL
4365 ("Premature EOF: `</foreach>' expected.");
4367 /* rule 130 can match eol */
4368 YY_RULE_SETUP FAIL("Starting tag <host> is not allowed here.");
4370 /* rule 131 can match eol */
4372 AX_surfxml_host_id = 0;
4373 AX_surfxml_host_power = 0;
4374 AX_surfxml_host_availability = 69;
4375 AX_surfxml_host_availability_file = 0;
4376 AX_surfxml_host_state = A_surfxml_host_state_ON;
4377 AX_surfxml_host_state_file = 0;
4378 AX_surfxml_host_interference_send = 73;
4379 AX_surfxml_host_interference_recv = 77;
4380 AX_surfxml_host_interference_send_recv = 81;
4381 AX_surfxml_host_max_outgoing_rate = 85;
4382 ENTER(AL_surfxml_host);
4384 } YY_BREAK case 132:
4385 /* rule 132 can match eol */
4386 YY_RULE_SETUP ENTER(VALUE1);
4387 BUFFERSET(AX_surfxml_host_id);
4389 /* rule 133 can match eol */
4390 YY_RULE_SETUP ENTER(VALUE2);
4391 BUFFERSET(AX_surfxml_host_id);
4393 /* rule 134 can match eol */
4394 YY_RULE_SETUP ENTER(VALUE1);
4395 BUFFERSET(AX_surfxml_host_power);
4397 /* rule 135 can match eol */
4398 YY_RULE_SETUP ENTER(VALUE2);
4399 BUFFERSET(AX_surfxml_host_power);
4401 /* rule 136 can match eol */
4402 YY_RULE_SETUP ENTER(VALUE1);
4403 BUFFERSET(AX_surfxml_host_availability);
4405 /* rule 137 can match eol */
4406 YY_RULE_SETUP ENTER(VALUE2);
4407 BUFFERSET(AX_surfxml_host_availability);
4409 /* rule 138 can match eol */
4410 YY_RULE_SETUP ENTER(VALUE1);
4411 BUFFERSET(AX_surfxml_host_availability_file);
4413 /* rule 139 can match eol */
4414 YY_RULE_SETUP ENTER(VALUE2);
4415 BUFFERSET(AX_surfxml_host_availability_file);
4417 /* rule 140 can match eol */
4419 /* rule 141 can match eol */
4420 YY_RULE_SETUP A_surfxml_host_state = A_surfxml_host_state_ON;
4422 /* rule 142 can match eol */
4424 /* rule 143 can match eol */
4425 YY_RULE_SETUP A_surfxml_host_state = A_surfxml_host_state_OFF;
4427 /* rule 144 can match eol */
4428 YY_RULE_SETUP ENTER(VALUE1);
4429 BUFFERSET(AX_surfxml_host_state_file);
4431 /* rule 145 can match eol */
4432 YY_RULE_SETUP ENTER(VALUE2);
4433 BUFFERSET(AX_surfxml_host_state_file);
4435 /* rule 146 can match eol */
4436 YY_RULE_SETUP ENTER(VALUE1);
4437 BUFFERSET(AX_surfxml_host_interference_send);
4439 /* rule 147 can match eol */
4440 YY_RULE_SETUP ENTER(VALUE2);
4441 BUFFERSET(AX_surfxml_host_interference_send);
4443 /* rule 148 can match eol */
4444 YY_RULE_SETUP ENTER(VALUE1);
4445 BUFFERSET(AX_surfxml_host_interference_recv);
4447 /* rule 149 can match eol */
4448 YY_RULE_SETUP ENTER(VALUE2);
4449 BUFFERSET(AX_surfxml_host_interference_recv);
4451 /* rule 150 can match eol */
4452 YY_RULE_SETUP ENTER(VALUE1);
4453 BUFFERSET(AX_surfxml_host_interference_send_recv);
4455 /* rule 151 can match eol */
4456 YY_RULE_SETUP ENTER(VALUE2);
4457 BUFFERSET(AX_surfxml_host_interference_send_recv);
4459 /* rule 152 can match eol */
4460 YY_RULE_SETUP ENTER(VALUE1);
4461 BUFFERSET(AX_surfxml_host_max_outgoing_rate);
4463 /* rule 153 can match eol */
4464 YY_RULE_SETUP ENTER(VALUE2);
4465 BUFFERSET(AX_surfxml_host_max_outgoing_rate);
4466 YY_BREAK case 154:YY_RULE_SETUP {
4467 if (!AX_surfxml_host_id)
4468 FAIL("Required attribute `id' not set for `host' element.");
4469 if (!AX_surfxml_host_power)
4470 FAIL("Required attribute `power' not set for `host' element.");
4472 STag_surfxml_host();
4473 surfxml_pcdata_ix = 0;
4474 ENTER(S_surfxml_host);
4475 } YY_BREAK case 155:YY_RULE_SETUP {
4476 if (!AX_surfxml_host_id)
4477 FAIL("Required attribute `id' not set for `host' element.");
4478 if (!AX_surfxml_host_power)
4479 FAIL("Required attribute `power' not set for `host' element.");
4481 STag_surfxml_host();
4482 surfxml_pcdata_ix = 0;
4483 ETag_surfxml_host();
4484 popbuffer(); /* attribute */
4486 case S_surfxml_platform_2:
4487 case S_surfxml_platform_3:
4488 case S_surfxml_platform:
4489 SET(S_surfxml_platform_3);
4491 case S_surfxml_foreach:SET(S_surfxml_foreach_1);
4493 }} YY_BREAK case 156:YY_RULE_SETUP
4494 FAIL("Unexpected character `%c' in attribute list of host element.",
4495 surf_parse_text[0]);
4496 YY_BREAK case 157:YY_RULE_SETUP
4497 FAIL("Bad attribute `%s' in `host' element start tag.",
4500 YY_STATE_EOF(AL_surfxml_host):FAIL
4501 ("EOF in attribute list of `host' element.");
4503 /* rule 158 can match eol */
4506 ETag_surfxml_host();
4507 popbuffer(); /* attribute */
4509 case S_surfxml_platform_2:
4510 case S_surfxml_platform_3:
4511 case S_surfxml_platform:
4512 SET(S_surfxml_platform_3);
4514 case S_surfxml_foreach:SET(S_surfxml_foreach_1);
4516 }} YY_BREAK case 159:
4517 /* rule 159 can match eol */
4520 FAIL("Unexpected end-tag `%s': `</host>' expected.", surf_parse_text);
4521 YY_BREAK case 160:YY_RULE_SETUP
4522 FAIL("Unexpected character `%c': `</host>' expected.",
4523 surf_parse_text[0]);
4524 YY_BREAK case YY_STATE_EOF(S_surfxml_host):case
4525 YY_STATE_EOF(E_surfxml_host):case
4526 YY_STATE_EOF(S_surfxml_host_2):FAIL
4527 ("Premature EOF: `</host>' expected.");
4529 /* rule 161 can match eol */
4530 YY_RULE_SETUP FAIL("Starting tag <prop> is not allowed here.");
4532 /* rule 162 can match eol */
4534 AX_surfxml_prop_id = 0;
4535 AX_surfxml_prop_value = 0;
4536 ENTER(AL_surfxml_prop);
4538 } YY_BREAK case 163:
4539 /* rule 163 can match eol */
4540 YY_RULE_SETUP ENTER(VALUE1);
4541 BUFFERSET(AX_surfxml_prop_id);
4543 /* rule 164 can match eol */
4544 YY_RULE_SETUP ENTER(VALUE2);
4545 BUFFERSET(AX_surfxml_prop_id);
4547 /* rule 165 can match eol */
4548 YY_RULE_SETUP ENTER(VALUE1);
4549 BUFFERSET(AX_surfxml_prop_value);
4551 /* rule 166 can match eol */
4552 YY_RULE_SETUP ENTER(VALUE2);
4553 BUFFERSET(AX_surfxml_prop_value);
4554 YY_BREAK case 167:YY_RULE_SETUP {
4555 if (!AX_surfxml_prop_id)
4556 FAIL("Required attribute `id' not set for `prop' element.");
4557 if (!AX_surfxml_prop_value)
4558 FAIL("Required attribute `value' not set for `prop' element.");
4560 STag_surfxml_prop();
4561 surfxml_pcdata_ix = 0;
4562 ENTER(E_surfxml_prop);
4563 } YY_BREAK case 168:YY_RULE_SETUP {
4564 if (!AX_surfxml_prop_id)
4565 FAIL("Required attribute `id' not set for `prop' element.");
4566 if (!AX_surfxml_prop_value)
4567 FAIL("Required attribute `value' not set for `prop' element.");
4569 STag_surfxml_prop();
4570 surfxml_pcdata_ix = 0;
4571 ETag_surfxml_prop();
4572 popbuffer(); /* attribute */
4574 case S_surfxml_random:
4575 case S_surfxml_random_2:
4576 case S_surfxml_random_1:
4577 SET(S_surfxml_random_2);
4579 case S_surfxml_process_1:case S_surfxml_process:case
4580 S_surfxml_process_2:SET(S_surfxml_process_2);
4582 case S_surfxml_host:case S_surfxml_host_1:case
4583 S_surfxml_host_2:SET(S_surfxml_host_2);
4585 case S_surfxml_link_1:case S_surfxml_link_2:case
4586 S_surfxml_link:SET(S_surfxml_link_2);
4588 }} YY_BREAK case 169:YY_RULE_SETUP
4589 FAIL("Unexpected character `%c' in attribute list of prop element.",
4590 surf_parse_text[0]);
4591 YY_BREAK case 170:YY_RULE_SETUP
4592 FAIL("Bad attribute `%s' in `prop' element start tag.",
4595 YY_STATE_EOF(AL_surfxml_prop):FAIL
4596 ("EOF in attribute list of `prop' element.");
4598 /* rule 171 can match eol */
4601 ETag_surfxml_prop();
4602 popbuffer(); /* attribute */
4604 case S_surfxml_random:
4605 case S_surfxml_random_2:
4606 case S_surfxml_random_1:
4607 SET(S_surfxml_random_2);
4609 case S_surfxml_process_1:case S_surfxml_process:case
4610 S_surfxml_process_2:SET(S_surfxml_process_2);
4612 case S_surfxml_host:case S_surfxml_host_1:case
4613 S_surfxml_host_2:SET(S_surfxml_host_2);
4615 case S_surfxml_link_1:case S_surfxml_link_2:case
4616 S_surfxml_link:SET(S_surfxml_link_2);
4618 }} YY_BREAK case 172:
4619 /* rule 172 can match eol */
4622 FAIL("Unexpected end-tag `%s': `</prop>' expected.", surf_parse_text);
4623 YY_BREAK case 173:YY_RULE_SETUP
4624 FAIL("Unexpected character `%c': `</prop>' expected.",
4625 surf_parse_text[0]);
4627 YY_STATE_EOF(E_surfxml_prop):FAIL
4628 ("Premature EOF: `</prop>' expected.");
4630 /* rule 174 can match eol */
4631 YY_RULE_SETUP FAIL("Starting tag <cluster> is not allowed here.");
4633 /* rule 175 can match eol */
4635 AX_surfxml_cluster_id = 0;
4636 AX_surfxml_cluster_prefix = 0;
4637 AX_surfxml_cluster_suffix = 0;
4638 AX_surfxml_cluster_radical = 0;
4639 AX_surfxml_cluster_power = 0;
4640 AX_surfxml_cluster_bw = 0;
4641 AX_surfxml_cluster_lat = 0;
4642 AX_surfxml_cluster_bb_bw = 0;
4643 AX_surfxml_cluster_bb_lat = 0;
4644 ENTER(AL_surfxml_cluster);
4646 } YY_BREAK case 176:
4647 /* rule 176 can match eol */
4648 YY_RULE_SETUP ENTER(VALUE1);
4649 BUFFERSET(AX_surfxml_cluster_id);
4651 /* rule 177 can match eol */
4652 YY_RULE_SETUP ENTER(VALUE2);
4653 BUFFERSET(AX_surfxml_cluster_id);
4655 /* rule 178 can match eol */
4656 YY_RULE_SETUP ENTER(VALUE1);
4657 BUFFERSET(AX_surfxml_cluster_prefix);
4659 /* rule 179 can match eol */
4660 YY_RULE_SETUP ENTER(VALUE2);
4661 BUFFERSET(AX_surfxml_cluster_prefix);
4663 /* rule 180 can match eol */
4664 YY_RULE_SETUP ENTER(VALUE1);
4665 BUFFERSET(AX_surfxml_cluster_suffix);
4667 /* rule 181 can match eol */
4668 YY_RULE_SETUP ENTER(VALUE2);
4669 BUFFERSET(AX_surfxml_cluster_suffix);
4671 /* rule 182 can match eol */
4672 YY_RULE_SETUP ENTER(VALUE1);
4673 BUFFERSET(AX_surfxml_cluster_radical);
4675 /* rule 183 can match eol */
4676 YY_RULE_SETUP ENTER(VALUE2);
4677 BUFFERSET(AX_surfxml_cluster_radical);
4679 /* rule 184 can match eol */
4680 YY_RULE_SETUP ENTER(VALUE1);
4681 BUFFERSET(AX_surfxml_cluster_power);
4683 /* rule 185 can match eol */
4684 YY_RULE_SETUP ENTER(VALUE2);
4685 BUFFERSET(AX_surfxml_cluster_power);
4687 /* rule 186 can match eol */
4688 YY_RULE_SETUP ENTER(VALUE1);
4689 BUFFERSET(AX_surfxml_cluster_bw);
4691 /* rule 187 can match eol */
4692 YY_RULE_SETUP ENTER(VALUE2);
4693 BUFFERSET(AX_surfxml_cluster_bw);
4695 /* rule 188 can match eol */
4696 YY_RULE_SETUP ENTER(VALUE1);
4697 BUFFERSET(AX_surfxml_cluster_lat);
4699 /* rule 189 can match eol */
4700 YY_RULE_SETUP ENTER(VALUE2);
4701 BUFFERSET(AX_surfxml_cluster_lat);
4703 /* rule 190 can match eol */
4704 YY_RULE_SETUP ENTER(VALUE1);
4705 BUFFERSET(AX_surfxml_cluster_bb_bw);
4707 /* rule 191 can match eol */
4708 YY_RULE_SETUP ENTER(VALUE2);
4709 BUFFERSET(AX_surfxml_cluster_bb_bw);
4711 /* rule 192 can match eol */
4712 YY_RULE_SETUP ENTER(VALUE1);
4713 BUFFERSET(AX_surfxml_cluster_bb_lat);
4715 /* rule 193 can match eol */
4716 YY_RULE_SETUP ENTER(VALUE2);
4717 BUFFERSET(AX_surfxml_cluster_bb_lat);
4718 YY_BREAK case 194:YY_RULE_SETUP {
4719 if (!AX_surfxml_cluster_id)
4720 FAIL("Required attribute `id' not set for `cluster' element.");
4721 if (!AX_surfxml_cluster_prefix)
4722 FAIL("Required attribute `prefix' not set for `cluster' element.");
4723 if (!AX_surfxml_cluster_suffix)
4724 FAIL("Required attribute `suffix' not set for `cluster' element.");
4725 if (!AX_surfxml_cluster_radical)
4726 FAIL("Required attribute `radical' not set for `cluster' element.");
4727 if (!AX_surfxml_cluster_power)
4728 FAIL("Required attribute `power' not set for `cluster' element.");
4729 if (!AX_surfxml_cluster_bw)
4730 FAIL("Required attribute `bw' not set for `cluster' element.");
4731 if (!AX_surfxml_cluster_lat)
4732 FAIL("Required attribute `lat' not set for `cluster' element.");
4733 if (!AX_surfxml_cluster_bb_bw)
4734 FAIL("Required attribute `bb_bw' not set for `cluster' element.");
4735 if (!AX_surfxml_cluster_bb_lat)
4736 FAIL("Required attribute `bb_lat' not set for `cluster' element.");
4738 STag_surfxml_cluster();
4739 surfxml_pcdata_ix = 0;
4740 ENTER(E_surfxml_cluster);
4741 } YY_BREAK case 195:YY_RULE_SETUP {
4742 if (!AX_surfxml_cluster_id)
4743 FAIL("Required attribute `id' not set for `cluster' element.");
4744 if (!AX_surfxml_cluster_prefix)
4745 FAIL("Required attribute `prefix' not set for `cluster' element.");
4746 if (!AX_surfxml_cluster_suffix)
4747 FAIL("Required attribute `suffix' not set for `cluster' element.");
4748 if (!AX_surfxml_cluster_radical)
4749 FAIL("Required attribute `radical' not set for `cluster' element.");
4750 if (!AX_surfxml_cluster_power)
4751 FAIL("Required attribute `power' not set for `cluster' element.");
4752 if (!AX_surfxml_cluster_bw)
4753 FAIL("Required attribute `bw' not set for `cluster' element.");
4754 if (!AX_surfxml_cluster_lat)
4755 FAIL("Required attribute `lat' not set for `cluster' element.");
4756 if (!AX_surfxml_cluster_bb_bw)
4757 FAIL("Required attribute `bb_bw' not set for `cluster' element.");
4758 if (!AX_surfxml_cluster_bb_lat)
4759 FAIL("Required attribute `bb_lat' not set for `cluster' element.");
4761 STag_surfxml_cluster();
4762 surfxml_pcdata_ix = 0;
4763 ETag_surfxml_cluster();
4764 popbuffer(); /* attribute */
4766 case S_surfxml_platform_2:
4767 case S_surfxml_platform:
4768 case S_surfxml_platform_3:
4769 SET(S_surfxml_platform_3);
4771 }} YY_BREAK case 196:YY_RULE_SETUP
4773 ("Unexpected character `%c' in attribute list of cluster element.",
4774 surf_parse_text[0]);
4775 YY_BREAK case 197:YY_RULE_SETUP
4776 FAIL("Bad attribute `%s' in `cluster' element start tag.",
4779 YY_STATE_EOF(AL_surfxml_cluster):FAIL
4780 ("EOF in attribute list of `cluster' element.");
4782 /* rule 198 can match eol */
4785 ETag_surfxml_cluster();
4786 popbuffer(); /* attribute */
4788 case S_surfxml_platform_2:
4789 case S_surfxml_platform:
4790 case S_surfxml_platform_3:
4791 SET(S_surfxml_platform_3);
4793 }} YY_BREAK case 199:
4794 /* rule 199 can match eol */
4797 FAIL("Unexpected end-tag `%s': `</cluster>' expected.",
4799 YY_BREAK case 200:YY_RULE_SETUP
4800 FAIL("Unexpected character `%c': `</cluster>' expected.",
4801 surf_parse_text[0]);
4803 YY_STATE_EOF(E_surfxml_cluster):FAIL
4804 ("Premature EOF: `</cluster>' expected.");
4806 /* rule 201 can match eol */
4807 YY_RULE_SETUP FAIL("Starting tag <router> is not allowed here.");
4809 /* rule 202 can match eol */
4811 AX_surfxml_router_id = 0;
4812 ENTER(AL_surfxml_router);
4814 } YY_BREAK case 203:
4815 /* rule 203 can match eol */
4816 YY_RULE_SETUP ENTER(VALUE1);
4817 BUFFERSET(AX_surfxml_router_id);
4819 /* rule 204 can match eol */
4820 YY_RULE_SETUP ENTER(VALUE2);
4821 BUFFERSET(AX_surfxml_router_id);
4822 YY_BREAK case 205:YY_RULE_SETUP {
4823 if (!AX_surfxml_router_id)
4824 FAIL("Required attribute `id' not set for `router' element.");
4826 STag_surfxml_router();
4827 surfxml_pcdata_ix = 0;
4828 ENTER(E_surfxml_router);
4829 } YY_BREAK case 206:YY_RULE_SETUP {
4830 if (!AX_surfxml_router_id)
4831 FAIL("Required attribute `id' not set for `router' element.");
4833 STag_surfxml_router();
4834 surfxml_pcdata_ix = 0;
4835 ETag_surfxml_router();
4836 popbuffer(); /* attribute */
4838 case S_surfxml_platform_2:
4839 case S_surfxml_platform:
4840 case S_surfxml_platform_3:
4841 SET(S_surfxml_platform_3);
4843 }} YY_BREAK case 207:YY_RULE_SETUP
4844 FAIL("Unexpected character `%c' in attribute list of router element.",
4845 surf_parse_text[0]);
4846 YY_BREAK case 208:YY_RULE_SETUP
4847 FAIL("Bad attribute `%s' in `router' element start tag.",
4850 YY_STATE_EOF(AL_surfxml_router):FAIL
4851 ("EOF in attribute list of `router' element.");
4853 /* rule 209 can match eol */
4856 ETag_surfxml_router();
4857 popbuffer(); /* attribute */
4859 case S_surfxml_platform_2:
4860 case S_surfxml_platform:
4861 case S_surfxml_platform_3:
4862 SET(S_surfxml_platform_3);
4864 }} YY_BREAK case 210:
4865 /* rule 210 can match eol */
4868 FAIL("Unexpected end-tag `%s': `</router>' expected.",
4870 YY_BREAK case 211:YY_RULE_SETUP
4871 FAIL("Unexpected character `%c': `</router>' expected.",
4872 surf_parse_text[0]);
4874 YY_STATE_EOF(E_surfxml_router):FAIL
4875 ("Premature EOF: `</router>' expected.");
4877 /* rule 212 can match eol */
4878 YY_RULE_SETUP FAIL("Starting tag <link> is not allowed here.");
4880 /* rule 213 can match eol */
4882 AX_surfxml_link_id = 0;
4883 AX_surfxml_link_bandwidth = 0;
4884 AX_surfxml_link_bandwidth_file = 0;
4885 AX_surfxml_link_latency = 90;
4886 AX_surfxml_link_latency_file = 0;
4887 AX_surfxml_link_state = A_surfxml_link_state_ON;
4888 AX_surfxml_link_state_file = 0;
4889 AX_surfxml_link_sharing_policy = A_surfxml_link_sharing_policy_SHARED;
4890 ENTER(AL_surfxml_link);
4892 } YY_BREAK case 214:
4893 /* rule 214 can match eol */
4894 YY_RULE_SETUP ENTER(VALUE1);
4895 BUFFERSET(AX_surfxml_link_id);
4897 /* rule 215 can match eol */
4898 YY_RULE_SETUP ENTER(VALUE2);
4899 BUFFERSET(AX_surfxml_link_id);
4901 /* rule 216 can match eol */
4902 YY_RULE_SETUP ENTER(VALUE1);
4903 BUFFERSET(AX_surfxml_link_bandwidth);
4905 /* rule 217 can match eol */
4906 YY_RULE_SETUP ENTER(VALUE2);
4907 BUFFERSET(AX_surfxml_link_bandwidth);
4909 /* rule 218 can match eol */
4910 YY_RULE_SETUP ENTER(VALUE1);
4911 BUFFERSET(AX_surfxml_link_bandwidth_file);
4913 /* rule 219 can match eol */
4914 YY_RULE_SETUP ENTER(VALUE2);
4915 BUFFERSET(AX_surfxml_link_bandwidth_file);
4917 /* rule 220 can match eol */
4918 YY_RULE_SETUP ENTER(VALUE1);
4919 BUFFERSET(AX_surfxml_link_latency);
4921 /* rule 221 can match eol */
4922 YY_RULE_SETUP ENTER(VALUE2);
4923 BUFFERSET(AX_surfxml_link_latency);
4925 /* rule 222 can match eol */
4926 YY_RULE_SETUP ENTER(VALUE1);
4927 BUFFERSET(AX_surfxml_link_latency_file);
4929 /* rule 223 can match eol */
4930 YY_RULE_SETUP ENTER(VALUE2);
4931 BUFFERSET(AX_surfxml_link_latency_file);
4933 /* rule 224 can match eol */
4935 /* rule 225 can match eol */
4936 YY_RULE_SETUP A_surfxml_link_state = A_surfxml_link_state_ON;
4938 /* rule 226 can match eol */
4940 /* rule 227 can match eol */
4941 YY_RULE_SETUP A_surfxml_link_state = A_surfxml_link_state_OFF;
4943 /* rule 228 can match eol */
4944 YY_RULE_SETUP ENTER(VALUE1);
4945 BUFFERSET(AX_surfxml_link_state_file);
4947 /* rule 229 can match eol */
4948 YY_RULE_SETUP ENTER(VALUE2);
4949 BUFFERSET(AX_surfxml_link_state_file);
4951 /* rule 230 can match eol */
4953 /* rule 231 can match eol */
4956 A_surfxml_link_sharing_policy = A_surfxml_link_sharing_policy_SHARED;
4958 /* rule 232 can match eol */
4960 /* rule 233 can match eol */
4963 A_surfxml_link_sharing_policy = A_surfxml_link_sharing_policy_FATPIPE;
4964 YY_BREAK case 234:YY_RULE_SETUP {
4965 if (!AX_surfxml_link_id)
4966 FAIL("Required attribute `id' not set for `link' element.");
4967 if (!AX_surfxml_link_bandwidth)
4968 FAIL("Required attribute `bandwidth' not set for `link' element.");
4970 STag_surfxml_link();
4971 surfxml_pcdata_ix = 0;
4972 ENTER(S_surfxml_link);
4973 } YY_BREAK case 235:YY_RULE_SETUP {
4974 if (!AX_surfxml_link_id)
4975 FAIL("Required attribute `id' not set for `link' element.");
4976 if (!AX_surfxml_link_bandwidth)
4977 FAIL("Required attribute `bandwidth' not set for `link' element.");
4979 STag_surfxml_link();
4980 surfxml_pcdata_ix = 0;
4981 ETag_surfxml_link();
4982 popbuffer(); /* attribute */
4984 case S_surfxml_foreach:
4985 case S_surfxml_foreach_1:
4986 SET(E_surfxml_foreach);
4988 case S_surfxml_platform_2:case S_surfxml_platform:case
4989 S_surfxml_platform_3:SET(S_surfxml_platform_3);
4991 }} YY_BREAK case 236:YY_RULE_SETUP
4992 FAIL("Unexpected character `%c' in attribute list of link element.",
4993 surf_parse_text[0]);
4994 YY_BREAK case 237:YY_RULE_SETUP
4995 FAIL("Bad attribute `%s' in `link' element start tag.",
4998 YY_STATE_EOF(AL_surfxml_link):FAIL
4999 ("EOF in attribute list of `link' element.");
5001 /* rule 238 can match eol */
5004 ETag_surfxml_link();
5005 popbuffer(); /* attribute */
5007 case S_surfxml_foreach:
5008 case S_surfxml_foreach_1:
5009 SET(E_surfxml_foreach);
5011 case S_surfxml_platform_2:case S_surfxml_platform:case
5012 S_surfxml_platform_3:SET(S_surfxml_platform_3);
5014 }} YY_BREAK case 239:
5015 /* rule 239 can match eol */
5018 FAIL("Unexpected end-tag `%s': `</link>' expected.", surf_parse_text);
5019 YY_BREAK case 240:YY_RULE_SETUP
5020 FAIL("Unexpected character `%c': `</link>' expected.",
5021 surf_parse_text[0]);
5022 YY_BREAK case YY_STATE_EOF(S_surfxml_link_2):case
5023 YY_STATE_EOF(E_surfxml_link):case
5024 YY_STATE_EOF(S_surfxml_link):FAIL
5025 ("Premature EOF: `</link>' expected.");
5027 /* rule 241 can match eol */
5028 YY_RULE_SETUP FAIL("Starting tag <route:multi> is not allowed here.");
5030 /* rule 242 can match eol */
5032 AX_surfxml_route_c_multi_src = 0;
5033 AX_surfxml_route_c_multi_dst = 0;
5034 AX_surfxml_route_c_multi_action =
5035 A_surfxml_route_c_multi_action_POSTPEND;
5036 AX_surfxml_route_c_multi_symmetric =
5037 A_surfxml_route_c_multi_symmetric_YES;
5038 ENTER(AL_surfxml_route_c_multi);
5040 } YY_BREAK case 243:
5041 /* rule 243 can match eol */
5042 YY_RULE_SETUP ENTER(VALUE1);
5043 BUFFERSET(AX_surfxml_route_c_multi_src);
5045 /* rule 244 can match eol */
5046 YY_RULE_SETUP ENTER(VALUE2);
5047 BUFFERSET(AX_surfxml_route_c_multi_src);
5049 /* rule 245 can match eol */
5050 YY_RULE_SETUP ENTER(VALUE1);
5051 BUFFERSET(AX_surfxml_route_c_multi_dst);
5053 /* rule 246 can match eol */
5054 YY_RULE_SETUP ENTER(VALUE2);
5055 BUFFERSET(AX_surfxml_route_c_multi_dst);
5057 /* rule 247 can match eol */
5059 /* rule 248 can match eol */
5062 A_surfxml_route_c_multi_action =
5063 A_surfxml_route_c_multi_action_POSTPEND;
5065 /* rule 249 can match eol */
5067 /* rule 250 can match eol */
5070 A_surfxml_route_c_multi_action =
5071 A_surfxml_route_c_multi_action_PREPEND;
5073 /* rule 251 can match eol */
5075 /* rule 252 can match eol */
5078 A_surfxml_route_c_multi_action =
5079 A_surfxml_route_c_multi_action_OVERRIDE;
5081 /* rule 253 can match eol */
5083 /* rule 254 can match eol */
5086 A_surfxml_route_c_multi_symmetric =
5087 A_surfxml_route_c_multi_symmetric_YES;
5089 /* rule 255 can match eol */
5091 /* rule 256 can match eol */
5094 A_surfxml_route_c_multi_symmetric =
5095 A_surfxml_route_c_multi_symmetric_NO;
5096 YY_BREAK case 257:YY_RULE_SETUP {
5097 if (!AX_surfxml_route_c_multi_src)
5098 FAIL("Required attribute `src' not set for `route:multi' element.");
5099 if (!AX_surfxml_route_c_multi_dst)
5100 FAIL("Required attribute `dst' not set for `route:multi' element.");
5102 STag_surfxml_route_c_multi();
5103 surfxml_pcdata_ix = 0;
5104 ENTER(S_surfxml_route_c_multi);
5105 } YY_BREAK case 258:YY_RULE_SETUP
5106 FAIL("`route:multi' element cannot be empty.");
5107 YY_BREAK case 259:YY_RULE_SETUP
5109 ("Unexpected character `%c' in attribute list of route:multi element.",
5110 surf_parse_text[0]);
5111 YY_BREAK case 260:YY_RULE_SETUP
5112 FAIL("Bad attribute `%s' in `route:multi' element start tag.",
5115 YY_STATE_EOF(AL_surfxml_route_c_multi):FAIL
5116 ("EOF in attribute list of `route:multi' element.");
5118 /* rule 261 can match eol */
5121 ETag_surfxml_route_c_multi();
5122 popbuffer(); /* attribute */
5124 case S_surfxml_platform_5:
5125 case S_surfxml_platform_1:
5126 case S_surfxml_platform:
5127 case S_surfxml_platform_3:
5128 case S_surfxml_platform_4:
5129 SET(S_surfxml_platform_5);
5131 }} YY_BREAK case 262:
5132 /* rule 262 can match eol */
5135 FAIL("Unexpected end-tag `%s': `</route:multi>' expected.",
5137 YY_BREAK case 263:YY_RULE_SETUP
5138 FAIL("Unexpected character `%c': `</route:multi>' expected.",
5139 surf_parse_text[0]);
5140 YY_BREAK case YY_STATE_EOF(S_surfxml_route_c_multi_2):case
5141 YY_STATE_EOF(E_surfxml_route_c_multi):FAIL
5142 ("Premature EOF: `</route:multi>' expected.");
5144 /* rule 264 can match eol */
5145 YY_RULE_SETUP FAIL("Starting tag <route> is not allowed here.");
5147 /* rule 265 can match eol */
5149 AX_surfxml_route_src = 0;
5150 AX_surfxml_route_dst = 0;
5151 AX_surfxml_route_impact_on_src = 94;
5152 AX_surfxml_route_impact_on_dst = 98;
5153 AX_surfxml_route_impact_on_src_with_other_recv = 102;
5154 AX_surfxml_route_impact_on_dst_with_other_send = 106;
5155 AX_surfxml_route_action = A_surfxml_route_action_POSTPEND;
5156 ENTER(AL_surfxml_route);
5158 } YY_BREAK case 266:
5159 /* rule 266 can match eol */
5160 YY_RULE_SETUP ENTER(VALUE1);
5161 BUFFERSET(AX_surfxml_route_src);
5163 /* rule 267 can match eol */
5164 YY_RULE_SETUP ENTER(VALUE2);
5165 BUFFERSET(AX_surfxml_route_src);
5167 /* rule 268 can match eol */
5168 YY_RULE_SETUP ENTER(VALUE1);
5169 BUFFERSET(AX_surfxml_route_dst);
5171 /* rule 269 can match eol */
5172 YY_RULE_SETUP ENTER(VALUE2);
5173 BUFFERSET(AX_surfxml_route_dst);
5175 /* rule 270 can match eol */
5176 YY_RULE_SETUP ENTER(VALUE1);
5177 BUFFERSET(AX_surfxml_route_impact_on_src);
5179 /* rule 271 can match eol */
5180 YY_RULE_SETUP ENTER(VALUE2);
5181 BUFFERSET(AX_surfxml_route_impact_on_src);
5183 /* rule 272 can match eol */
5184 YY_RULE_SETUP ENTER(VALUE1);
5185 BUFFERSET(AX_surfxml_route_impact_on_dst);
5187 /* rule 273 can match eol */
5188 YY_RULE_SETUP ENTER(VALUE2);
5189 BUFFERSET(AX_surfxml_route_impact_on_dst);
5191 /* rule 274 can match eol */
5192 YY_RULE_SETUP ENTER(VALUE1);
5193 BUFFERSET(AX_surfxml_route_impact_on_src_with_other_recv);
5195 /* rule 275 can match eol */
5196 YY_RULE_SETUP ENTER(VALUE2);
5197 BUFFERSET(AX_surfxml_route_impact_on_src_with_other_recv);
5199 /* rule 276 can match eol */
5200 YY_RULE_SETUP ENTER(VALUE1);
5201 BUFFERSET(AX_surfxml_route_impact_on_dst_with_other_send);
5203 /* rule 277 can match eol */
5204 YY_RULE_SETUP ENTER(VALUE2);
5205 BUFFERSET(AX_surfxml_route_impact_on_dst_with_other_send);
5207 /* rule 278 can match eol */
5209 /* rule 279 can match eol */
5211 YY_RULE_SETUP A_surfxml_route_action =
5212 A_surfxml_route_action_POSTPEND;
5214 /* rule 280 can match eol */
5216 /* rule 281 can match eol */
5217 YY_RULE_SETUP A_surfxml_route_action = A_surfxml_route_action_PREPEND;
5219 /* rule 282 can match eol */
5221 /* rule 283 can match eol */
5223 YY_RULE_SETUP A_surfxml_route_action =
5224 A_surfxml_route_action_OVERRIDE;
5225 YY_BREAK case 284:YY_RULE_SETUP {
5226 if (!AX_surfxml_route_src)
5227 FAIL("Required attribute `src' not set for `route' element.");
5228 if (!AX_surfxml_route_dst)
5229 FAIL("Required attribute `dst' not set for `route' element.");
5231 STag_surfxml_route();
5232 surfxml_pcdata_ix = 0;
5233 ENTER(S_surfxml_route);
5234 } YY_BREAK case 285:YY_RULE_SETUP {
5235 if (!AX_surfxml_route_src)
5236 FAIL("Required attribute `src' not set for `route' element.");
5237 if (!AX_surfxml_route_dst)
5238 FAIL("Required attribute `dst' not set for `route' element.");
5240 STag_surfxml_route();
5241 surfxml_pcdata_ix = 0;
5242 ETag_surfxml_route();
5243 popbuffer(); /* attribute */
5245 case S_surfxml_platform_5:
5246 case S_surfxml_platform_1:
5247 case S_surfxml_platform:
5248 case S_surfxml_platform_3:
5249 case S_surfxml_platform_4:
5250 SET(S_surfxml_platform_5);
5252 }} YY_BREAK case 286:YY_RULE_SETUP
5253 FAIL("Unexpected character `%c' in attribute list of route element.",
5254 surf_parse_text[0]);
5255 YY_BREAK case 287:YY_RULE_SETUP
5256 FAIL("Bad attribute `%s' in `route' element start tag.",
5259 YY_STATE_EOF(AL_surfxml_route):FAIL
5260 ("EOF in attribute list of `route' element.");
5262 /* rule 288 can match eol */
5265 ETag_surfxml_route();
5266 popbuffer(); /* attribute */
5268 case S_surfxml_platform_5:
5269 case S_surfxml_platform_1:
5270 case S_surfxml_platform:
5271 case S_surfxml_platform_3:
5272 case S_surfxml_platform_4:
5273 SET(S_surfxml_platform_5);
5275 }} YY_BREAK case 289:
5276 /* rule 289 can match eol */
5279 FAIL("Unexpected end-tag `%s': `</route>' expected.",
5281 YY_BREAK case 290:YY_RULE_SETUP
5282 FAIL("Unexpected character `%c': `</route>' expected.",
5283 surf_parse_text[0]);
5284 YY_BREAK case YY_STATE_EOF(S_surfxml_route):case
5285 YY_STATE_EOF(S_surfxml_route_2):case
5286 YY_STATE_EOF(E_surfxml_route):FAIL
5287 ("Premature EOF: `</route>' expected.");
5289 /* rule 291 can match eol */
5290 YY_RULE_SETUP FAIL("Starting tag <link:ctn> is not allowed here.");
5292 /* rule 292 can match eol */
5294 AX_surfxml_link_c_ctn_id = 0;
5295 ENTER(AL_surfxml_link_c_ctn);
5297 } YY_BREAK case 293:
5298 /* rule 293 can match eol */
5299 YY_RULE_SETUP ENTER(VALUE1);
5300 BUFFERSET(AX_surfxml_link_c_ctn_id);
5302 /* rule 294 can match eol */
5303 YY_RULE_SETUP ENTER(VALUE2);
5304 BUFFERSET(AX_surfxml_link_c_ctn_id);
5305 YY_BREAK case 295:YY_RULE_SETUP {
5306 if (!AX_surfxml_link_c_ctn_id)
5307 FAIL("Required attribute `id' not set for `link:ctn' element.");
5309 STag_surfxml_link_c_ctn();
5310 surfxml_pcdata_ix = 0;
5311 ENTER(E_surfxml_link_c_ctn);
5312 } YY_BREAK case 296:YY_RULE_SETUP {
5313 if (!AX_surfxml_link_c_ctn_id)
5314 FAIL("Required attribute `id' not set for `link:ctn' element.");
5316 STag_surfxml_link_c_ctn();
5317 surfxml_pcdata_ix = 0;
5318 ETag_surfxml_link_c_ctn();
5319 popbuffer(); /* attribute */
5321 case S_surfxml_route_1:
5322 case S_surfxml_route:
5323 case S_surfxml_route_2:
5324 SET(S_surfxml_route_2);
5326 case S_surfxml_route_c_multi_2:case S_surfxml_route_c_multi_1:case
5327 S_surfxml_route_c_multi:SET(S_surfxml_route_c_multi_2);
5329 }} YY_BREAK case 297:YY_RULE_SETUP
5331 ("Unexpected character `%c' in attribute list of link:ctn element.",
5332 surf_parse_text[0]);
5333 YY_BREAK case 298:YY_RULE_SETUP
5334 FAIL("Bad attribute `%s' in `link:ctn' element start tag.",
5337 YY_STATE_EOF(AL_surfxml_link_c_ctn):FAIL
5338 ("EOF in attribute list of `link:ctn' element.");
5340 /* rule 299 can match eol */
5343 ETag_surfxml_link_c_ctn();
5344 popbuffer(); /* attribute */
5346 case S_surfxml_route_1:
5347 case S_surfxml_route:
5348 case S_surfxml_route_2:
5349 SET(S_surfxml_route_2);
5351 case S_surfxml_route_c_multi_2:case S_surfxml_route_c_multi_1:case
5352 S_surfxml_route_c_multi:SET(S_surfxml_route_c_multi_2);
5354 }} YY_BREAK case 300:
5355 /* rule 300 can match eol */
5358 FAIL("Unexpected end-tag `%s': `</link:ctn>' expected.",
5360 YY_BREAK case 301:YY_RULE_SETUP
5361 FAIL("Unexpected character `%c': `</link:ctn>' expected.",
5362 surf_parse_text[0]);
5364 YY_STATE_EOF(E_surfxml_link_c_ctn):FAIL
5365 ("Premature EOF: `</link:ctn>' expected.");
5367 /* rule 302 can match eol */
5368 YY_RULE_SETUP FAIL("Starting tag <process> is not allowed here.");
5370 /* rule 303 can match eol */
5372 AX_surfxml_process_host = 0;
5373 AX_surfxml_process_function = 0;
5374 AX_surfxml_process_start_time = 110;
5375 AX_surfxml_process_kill_time = 115;
5376 ENTER(AL_surfxml_process);
5378 } YY_BREAK case 304:
5379 /* rule 304 can match eol */
5380 YY_RULE_SETUP ENTER(VALUE1);
5381 BUFFERSET(AX_surfxml_process_host);
5383 /* rule 305 can match eol */
5384 YY_RULE_SETUP ENTER(VALUE2);
5385 BUFFERSET(AX_surfxml_process_host);
5387 /* rule 306 can match eol */
5388 YY_RULE_SETUP ENTER(VALUE1);
5389 BUFFERSET(AX_surfxml_process_function);
5391 /* rule 307 can match eol */
5392 YY_RULE_SETUP ENTER(VALUE2);
5393 BUFFERSET(AX_surfxml_process_function);
5395 /* rule 308 can match eol */
5396 YY_RULE_SETUP ENTER(VALUE1);
5397 BUFFERSET(AX_surfxml_process_start_time);
5399 /* rule 309 can match eol */
5400 YY_RULE_SETUP ENTER(VALUE2);
5401 BUFFERSET(AX_surfxml_process_start_time);
5403 /* rule 310 can match eol */
5404 YY_RULE_SETUP ENTER(VALUE1);
5405 BUFFERSET(AX_surfxml_process_kill_time);
5407 /* rule 311 can match eol */
5408 YY_RULE_SETUP ENTER(VALUE2);
5409 BUFFERSET(AX_surfxml_process_kill_time);
5410 YY_BREAK case 312:YY_RULE_SETUP {
5411 if (!AX_surfxml_process_host)
5412 FAIL("Required attribute `host' not set for `process' element.");
5413 if (!AX_surfxml_process_function)
5415 ("Required attribute `function' not set for `process' element.");
5417 STag_surfxml_process();
5418 surfxml_pcdata_ix = 0;
5419 ENTER(S_surfxml_process);
5420 } YY_BREAK case 313:YY_RULE_SETUP {
5421 if (!AX_surfxml_process_host)
5422 FAIL("Required attribute `host' not set for `process' element.");
5423 if (!AX_surfxml_process_function)
5425 ("Required attribute `function' not set for `process' element.");
5427 STag_surfxml_process();
5428 surfxml_pcdata_ix = 0;
5429 ETag_surfxml_process();
5430 popbuffer(); /* attribute */
5432 case S_surfxml_platform_5:
5433 case S_surfxml_platform_1:
5434 case S_surfxml_platform:
5435 case S_surfxml_platform_3:
5436 case S_surfxml_platform_4:
5437 SET(S_surfxml_platform_5);
5439 }} YY_BREAK case 314:YY_RULE_SETUP
5441 ("Unexpected character `%c' in attribute list of process element.",
5442 surf_parse_text[0]);
5443 YY_BREAK case 315:YY_RULE_SETUP
5444 FAIL("Bad attribute `%s' in `process' element start tag.",
5447 YY_STATE_EOF(AL_surfxml_process):FAIL
5448 ("EOF in attribute list of `process' element.");
5450 /* rule 316 can match eol */
5453 ETag_surfxml_process();
5454 popbuffer(); /* attribute */
5456 case S_surfxml_platform_5:
5457 case S_surfxml_platform_1:
5458 case S_surfxml_platform:
5459 case S_surfxml_platform_3:
5460 case S_surfxml_platform_4:
5461 SET(S_surfxml_platform_5);
5463 }} YY_BREAK case 317:
5464 /* rule 317 can match eol */
5467 FAIL("Unexpected end-tag `%s': `</process>' expected.",
5469 YY_BREAK case 318:YY_RULE_SETUP
5470 FAIL("Unexpected character `%c': `</process>' expected.",
5471 surf_parse_text[0]);
5472 YY_BREAK case YY_STATE_EOF(S_surfxml_process):case
5473 YY_STATE_EOF(E_surfxml_process):case
5474 YY_STATE_EOF(S_surfxml_process_2):FAIL
5475 ("Premature EOF: `</process>' expected.");
5477 /* rule 319 can match eol */
5478 YY_RULE_SETUP FAIL("Starting tag <argument> is not allowed here.");
5480 /* rule 320 can match eol */
5482 AX_surfxml_argument_value = 0;
5483 ENTER(AL_surfxml_argument);
5485 } YY_BREAK case 321:
5486 /* rule 321 can match eol */
5487 YY_RULE_SETUP ENTER(VALUE1);
5488 BUFFERSET(AX_surfxml_argument_value);
5490 /* rule 322 can match eol */
5491 YY_RULE_SETUP ENTER(VALUE2);
5492 BUFFERSET(AX_surfxml_argument_value);
5493 YY_BREAK case 323:YY_RULE_SETUP {
5494 if (!AX_surfxml_argument_value)
5495 FAIL("Required attribute `value' not set for `argument' element.");
5497 STag_surfxml_argument();
5498 surfxml_pcdata_ix = 0;
5499 ENTER(E_surfxml_argument);
5500 } YY_BREAK case 324:YY_RULE_SETUP {
5501 if (!AX_surfxml_argument_value)
5502 FAIL("Required attribute `value' not set for `argument' element.");
5504 STag_surfxml_argument();
5505 surfxml_pcdata_ix = 0;
5506 ETag_surfxml_argument();
5507 popbuffer(); /* attribute */
5509 case S_surfxml_process_1:
5510 case S_surfxml_process:
5511 case S_surfxml_process_2:
5512 SET(S_surfxml_process_2);
5514 }} YY_BREAK case 325:YY_RULE_SETUP
5516 ("Unexpected character `%c' in attribute list of argument element.",
5517 surf_parse_text[0]);
5518 YY_BREAK case 326:YY_RULE_SETUP
5519 FAIL("Bad attribute `%s' in `argument' element start tag.",
5522 YY_STATE_EOF(AL_surfxml_argument):FAIL
5523 ("EOF in attribute list of `argument' element.");
5525 /* rule 327 can match eol */
5528 ETag_surfxml_argument();
5529 popbuffer(); /* attribute */
5531 case S_surfxml_process_1:
5532 case S_surfxml_process:
5533 case S_surfxml_process_2:
5534 SET(S_surfxml_process_2);
5536 }} YY_BREAK case 328:
5537 /* rule 328 can match eol */
5540 FAIL("Unexpected end-tag `%s': `</argument>' expected.",
5542 YY_BREAK case 329:YY_RULE_SETUP
5543 FAIL("Unexpected character `%c': `</argument>' expected.",
5544 surf_parse_text[0]);
5546 YY_STATE_EOF(E_surfxml_argument):FAIL
5547 ("Premature EOF: `</argument>' expected.");
5549 /* EPILOG: after the root element. */
5557 YY_BREAK case YY_STATE_EOF(EPILOG):SUCCEED;
5559 /* CHARACTER DATA. */
5560 /* Non-defined standard entities... */
5562 YY_RULE_SETUP BUFFERPUTC('&');
5563 YY_BREAK case 332:YY_RULE_SETUP BUFFERPUTC('<');
5564 YY_BREAK case 333:YY_RULE_SETUP BUFFERPUTC('>');
5565 YY_BREAK case 334:YY_RULE_SETUP BUFFERPUTC('\'');
5566 YY_BREAK case 335:YY_RULE_SETUP BUFFERPUTC('"');
5568 /* Character entities. */
5570 YY_RULE_SETUP BUFFERPUTC((unsigned char) atoi(surf_parse_text + 2));
5571 YY_BREAK case 337:YY_RULE_SETUP
5572 BUFFERPUTC((unsigned char) strtol(surf_parse_text + 3, NULL, 16));
5574 /* rule 338 can match eol */
5576 /* rule 339 can match eol */
5578 /* rule 340 can match eol */
5580 /* rule 341 can match eol */
5581 YY_RULE_SETUP BUFFERPUTC('\n');
5582 YY_BREAK case 342:YY_RULE_SETUP ENTER(CDATA);
5583 YY_BREAK case 343:YY_RULE_SETUP FAIL("Unexpected `]"
5584 "]>' in character data.");
5585 YY_BREAK case 344:YY_RULE_SETUP BUFFERDONE;
5588 YY_STATE_EOF(VALUE1):FAIL("EOF in literal (\"'\" expected).");
5589 YY_BREAK case 345:YY_RULE_SETUP BUFFERDONE;
5592 YY_STATE_EOF(VALUE2):FAIL("EOF in literal (`\"' expected).");
5594 /* rule 346 can match eol */
5595 YY_RULE_SETUP BUFFERPUTC(surf_parse_text[0]);
5596 YY_BREAK case 347:YY_RULE_SETUP
5597 FAIL("Spurious `%c' in character data.", surf_parse_text[0]);
5598 YY_BREAK case 348:YY_RULE_SETUP LEAVE;
5600 /* "]""]" BUFFERPUTC(surf_parse_text[0]); BUFFERPUTC(surf_parse_text[1]); */
5602 YY_RULE_SETUP BUFFERPUTC(surf_parse_text[0]);
5603 YY_BREAK case YY_STATE_EOF(CDATA):FAIL("EOF in CDATA section.");
5605 /* Impossible rules to avoid warnings from flex(1). */
5606 /* Ideally, this should be replaced by code in flexml.pl that
5607 generates just the states not covered by other rules. */
5609 /* rule 350 can match eol */
5611 FAIL("Syntax error on character `%c'.", surf_parse_text[0]);
5612 YY_BREAK case 351:YY_RULE_SETUP ECHO;
5613 YY_BREAK case YY_STATE_EOF(INITIAL):case
5614 YY_STATE_EOF(ROOT_surfxml_platform):case
5615 YY_STATE_EOF(S_surfxml_platform_2):case
5616 YY_STATE_EOF(S_surfxml_platform_4):case
5617 YY_STATE_EOF(S_surfxml_random_1):case
5618 YY_STATE_EOF(S_surfxml_foreach):case
5619 YY_STATE_EOF(S_surfxml_foreach_1):case
5620 YY_STATE_EOF(S_surfxml_host_1):case
5621 YY_STATE_EOF(S_surfxml_link_1):case
5622 YY_STATE_EOF(S_surfxml_route_c_multi):case
5623 YY_STATE_EOF(S_surfxml_route_c_multi_1):case
5624 YY_STATE_EOF(S_surfxml_route_1):case
5625 YY_STATE_EOF(S_surfxml_process_1):case
5626 YY_STATE_EOF(IMPOSSIBLE):yyterminate();
5628 case YY_END_OF_BUFFER:
5630 /* Amount of text matched not including the EOB char. */
5631 int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
5633 /* Undo the effects of YY_DO_BEFORE_ACTION. */
5634 *yy_cp = (yy_hold_char);
5635 YY_RESTORE_YY_MORE_OFFSET
5636 if (YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW) {
5637 /* We're scanning a new file or input source. It's
5638 * possible that this happened because the user
5639 * just pointed surf_parse_in at a new source and called
5640 * surf_parse_lex(). If so, then we have to assure
5641 * consistency between YY_CURRENT_BUFFER and our
5642 * globals. Here is the right place to do so, because
5643 * this is the first action (other than possibly a
5644 * back-up) that will match for the new input source.
5646 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
5647 YY_CURRENT_BUFFER_LVALUE->yy_input_file = surf_parse_in;
5648 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
5651 /* Note that here we test for yy_c_buf_p "<=" to the position
5652 * of the first EOB in the buffer, since yy_c_buf_p will
5653 * already have been incremented past the NUL character
5654 * (since all states make transitions on EOB to the
5655 * end-of-buffer state). Contrast this with the test
5658 if ((yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)]) { /* This was really a NUL. */
5659 yy_state_type yy_next_state;
5661 (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
5663 yy_current_state = yy_get_previous_state();
5665 /* Okay, we're now positioned to make the NUL
5666 * transition. We couldn't have
5667 * yy_get_previous_state() go ahead and do it
5668 * for us because it doesn't know how to deal
5669 * with the possibility of jamming (and we don't
5670 * want to build jamming into it because then it
5671 * will run more slowly).
5674 yy_next_state = yy_try_NUL_trans(yy_current_state);
5676 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
5678 if (yy_next_state) {
5679 /* Consume the NUL. */
5680 yy_cp = ++(yy_c_buf_p);
5681 yy_current_state = yy_next_state;
5686 yy_cp = (yy_c_buf_p);
5687 goto yy_find_action;
5692 switch (yy_get_next_buffer()) {
5693 case EOB_ACT_END_OF_FILE:
5695 (yy_did_buffer_switch_on_eof) = 0;
5697 if (surf_parse_wrap()) {
5698 /* Note: because we've taken care in
5699 * yy_get_next_buffer() to have set up
5700 * surf_parse_text, we can now set up
5701 * yy_c_buf_p so that if some total
5702 * hoser (like flex itself) wants to
5703 * call the scanner after we return the
5704 * YY_NULL, it'll still work - another
5705 * YY_NULL will get returned.
5707 (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
5709 yy_act = YY_STATE_EOF(YY_START);
5714 if (!(yy_did_buffer_switch_on_eof))
5720 case EOB_ACT_CONTINUE_SCAN:
5721 (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
5723 yy_current_state = yy_get_previous_state();
5725 yy_cp = (yy_c_buf_p);
5726 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
5729 case EOB_ACT_LAST_MATCH:
5730 (yy_c_buf_p) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
5732 yy_current_state = yy_get_previous_state();
5734 yy_cp = (yy_c_buf_p);
5735 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
5736 goto yy_find_action;
5742 YY_FATAL_ERROR("fatal flex scanner internal error--no action found");
5743 } /* end of action switch */
5744 } /* end of scanning one token */
5745 } /* end of surf_parse_lex */
5747 /* yy_get_next_buffer - try to read in a new buffer
5749 * Returns a code representing an action:
5750 * EOB_ACT_LAST_MATCH -
5751 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
5752 * EOB_ACT_END_OF_FILE - end of file
5754 static int yy_get_next_buffer(void)
5756 register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
5757 register char *source = (yytext_ptr);
5758 register int number_to_move, i;
5761 if ((yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1])
5762 YY_FATAL_ERROR("fatal flex scanner internal error--end of buffer missed");
5764 if (YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0) { /* Don't try to fill the buffer, so this is an EOF. */
5765 if ((yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1) {
5766 /* We matched a single character, the EOB, so
5767 * treat this as a final EOF.
5769 return EOB_ACT_END_OF_FILE;
5773 /* We matched some text prior to the EOB, first
5776 return EOB_ACT_LAST_MATCH;
5780 /* Try to read more data. */
5782 /* First move last chars to start of buffer. */
5783 number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
5785 for (i = 0; i < number_to_move; ++i)
5786 *(dest++) = *(source++);
5788 if (YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING)
5789 /* don't do the read, it's not guaranteed to return an EOF,
5792 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
5796 YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
5798 while (num_to_read <= 0) { /* Not enough room in the buffer - grow it. */
5800 /* just a shorter name for the current buffer */
5801 YY_BUFFER_STATE b = YY_CURRENT_BUFFER;
5803 int yy_c_buf_p_offset = (int) ((yy_c_buf_p) - b->yy_ch_buf);
5805 if (b->yy_is_our_buffer) {
5806 int new_size = b->yy_buf_size * 2;
5809 b->yy_buf_size += b->yy_buf_size / 8;
5811 b->yy_buf_size *= 2;
5813 b->yy_ch_buf = (char *)
5814 /* Include room in for 2 EOB chars. */
5815 surf_parse_realloc((void *) b->yy_ch_buf, b->yy_buf_size + 2);
5817 /* Can't grow it, we don't own it. */
5821 YY_FATAL_ERROR("fatal error - scanner input buffer overflow");
5823 (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
5825 num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
5830 if (num_to_read > YY_READ_BUF_SIZE)
5831 num_to_read = YY_READ_BUF_SIZE;
5833 /* Read in more data. */
5834 YY_INPUT((&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
5835 (yy_n_chars), (size_t) num_to_read);
5837 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
5840 if ((yy_n_chars) == 0) {
5841 if (number_to_move == YY_MORE_ADJ) {
5842 ret_val = EOB_ACT_END_OF_FILE;
5843 surf_parse_restart(surf_parse_in);
5847 ret_val = EOB_ACT_LAST_MATCH;
5848 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_EOF_PENDING;
5853 ret_val = EOB_ACT_CONTINUE_SCAN;
5855 if ((yy_size_t) ((yy_n_chars) + number_to_move) >
5856 YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
5857 /* Extend the array by 50%, plus the number we really need. */
5858 yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
5859 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf =
5860 (char *) surf_parse_realloc((void *)
5861 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,
5863 if (!YY_CURRENT_BUFFER_LVALUE->yy_ch_buf)
5864 YY_FATAL_ERROR("out of dynamic memory in yy_get_next_buffer()");
5867 (yy_n_chars) += number_to_move;
5868 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
5869 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] =
5870 YY_END_OF_BUFFER_CHAR;
5872 (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
5877 /* yy_get_previous_state - get the state just before the EOB char was reached */
5879 static yy_state_type yy_get_previous_state(void)
5881 register yy_state_type yy_current_state;
5882 register char *yy_cp;
5884 yy_current_state = (yy_start);
5886 for (yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp) {
5887 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
5888 if (yy_accept[yy_current_state]) {
5889 (yy_last_accepting_state) = yy_current_state;
5890 (yy_last_accepting_cpos) = yy_cp;
5892 while (yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state) {
5893 yy_current_state = (int) yy_def[yy_current_state];
5894 if (yy_current_state >= 2023)
5895 yy_c = yy_meta[(unsigned int) yy_c];
5898 yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
5901 return yy_current_state;
5904 /* yy_try_NUL_trans - try to make a transition on the NUL character
5907 * next_state = yy_try_NUL_trans( current_state );
5909 static yy_state_type yy_try_NUL_trans(yy_state_type yy_current_state)
5911 register int yy_is_jam;
5912 register char *yy_cp = (yy_c_buf_p);
5914 register YY_CHAR yy_c = 1;
5915 if (yy_accept[yy_current_state]) {
5916 (yy_last_accepting_state) = yy_current_state;
5917 (yy_last_accepting_cpos) = yy_cp;
5919 while (yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state) {
5920 yy_current_state = (int) yy_def[yy_current_state];
5921 if (yy_current_state >= 2023)
5922 yy_c = yy_meta[(unsigned int) yy_c];
5924 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
5925 yy_is_jam = (yy_current_state == 2022);
5927 return yy_is_jam ? 0 : yy_current_state;
5932 static int yyinput(void)
5934 static int input(void)
5939 *(yy_c_buf_p) = (yy_hold_char);
5941 if (*(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR) {
5942 /* yy_c_buf_p now points to the character we want to return.
5943 * If this occurs *before* the EOB characters, then it's a
5944 * valid NUL; if not, then we've hit the end of the buffer.
5946 if ((yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)])
5947 /* This was really a NUL. */
5948 *(yy_c_buf_p) = '\0';
5950 else { /* need more input */
5951 int offset = (yy_c_buf_p) - (yytext_ptr);
5954 switch (yy_get_next_buffer()) {
5955 case EOB_ACT_LAST_MATCH:
5956 /* This happens because yy_g_n_b()
5957 * sees that we've accumulated a
5958 * token and flags that we need to
5959 * try matching the token before
5960 * proceeding. But for input(),
5961 * there's no matching to consider.
5962 * So convert the EOB_ACT_LAST_MATCH
5963 * to EOB_ACT_END_OF_FILE.
5966 /* Reset buffer status. */
5967 surf_parse_restart(surf_parse_in);
5969 /*FALLTHROUGH*/ case EOB_ACT_END_OF_FILE:
5971 if (surf_parse_wrap())
5974 if (!(yy_did_buffer_switch_on_eof))
5983 case EOB_ACT_CONTINUE_SCAN:
5984 (yy_c_buf_p) = (yytext_ptr) + offset;
5990 c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */
5991 *(yy_c_buf_p) = '\0'; /* preserve surf_parse_text */
5992 (yy_hold_char) = *++(yy_c_buf_p);
5996 surf_parse_lineno++;
6001 #endif /* ifndef YY_NO_INPUT */
6003 /** Immediately switch to a different input stream.
6004 * @param input_file A readable stream.
6006 * @note This function does not reset the start condition to @c INITIAL .
6008 void surf_parse_restart(FILE * input_file)
6011 if (!YY_CURRENT_BUFFER) {
6012 surf_parse_ensure_buffer_stack();
6013 YY_CURRENT_BUFFER_LVALUE =
6014 surf_parse__create_buffer(surf_parse_in, YY_BUF_SIZE);
6017 surf_parse__init_buffer(YY_CURRENT_BUFFER, input_file);
6018 surf_parse__load_buffer_state();
6021 /** Switch to a different input buffer.
6022 * @param new_buffer The new input buffer.
6025 void surf_parse__switch_to_buffer(YY_BUFFER_STATE new_buffer)
6028 /* TODO. We should be able to replace this entire function body
6030 * surf_parse_pop_buffer_state();
6031 * surf_parse_push_buffer_state(new_buffer);
6033 surf_parse_ensure_buffer_stack();
6034 if (YY_CURRENT_BUFFER == new_buffer)
6037 if (YY_CURRENT_BUFFER) {
6038 /* Flush out information for old buffer. */
6039 *(yy_c_buf_p) = (yy_hold_char);
6040 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
6041 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
6044 YY_CURRENT_BUFFER_LVALUE = new_buffer;
6045 surf_parse__load_buffer_state();
6047 /* We don't actually know whether we did this switch during
6048 * EOF (surf_parse_wrap()) processing, but the only time this flag
6049 * is looked at is after surf_parse_wrap() is called, so it's safe
6050 * to go ahead and always set it.
6052 (yy_did_buffer_switch_on_eof) = 1;
6055 static void surf_parse__load_buffer_state(void)
6057 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
6058 (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
6059 surf_parse_in = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
6060 (yy_hold_char) = *(yy_c_buf_p);
6063 /** Allocate and initialize an input buffer state.
6064 * @param file A readable stream.
6065 * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
6067 * @return the allocated buffer state.
6069 YY_BUFFER_STATE surf_parse__create_buffer(FILE * file, int size)
6073 b = (YY_BUFFER_STATE) surf_parse_alloc(sizeof(struct yy_buffer_state));
6075 YY_FATAL_ERROR("out of dynamic memory in surf_parse__create_buffer()");
6077 b->yy_buf_size = size;
6079 /* yy_ch_buf has to be 2 characters longer than the size given because
6080 * we need to put in 2 end-of-buffer characters.
6082 b->yy_ch_buf = (char *) surf_parse_alloc(b->yy_buf_size + 2);
6084 YY_FATAL_ERROR("out of dynamic memory in surf_parse__create_buffer()");
6086 b->yy_is_our_buffer = 1;
6088 surf_parse__init_buffer(b, file);
6093 /** Destroy the buffer.
6094 * @param b a buffer created with surf_parse__create_buffer()
6097 void surf_parse__delete_buffer(YY_BUFFER_STATE b)
6103 if (b == YY_CURRENT_BUFFER) /* Not sure if we should pop here. */
6104 YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
6106 if (b->yy_is_our_buffer)
6107 surf_parse_free((void *) b->yy_ch_buf);
6109 surf_parse_free((void *) b);
6114 extern int isatty(int);
6116 #endif /* __cplusplus */
6118 /* Initializes or reinitializes a buffer.
6119 * This function is sometimes called more than once on the same buffer,
6120 * such as during a surf_parse_restart() or at EOF.
6122 static void surf_parse__init_buffer(YY_BUFFER_STATE b, FILE * file)
6126 surf_parse__flush_buffer(b);
6128 b->yy_input_file = file;
6129 b->yy_fill_buffer = 1;
6131 /* If b is the current buffer, then surf_parse__init_buffer was _probably_
6132 * called from surf_parse_restart() or through yy_get_next_buffer.
6133 * In that case, we don't want to reset the lineno or column.
6135 if (b != YY_CURRENT_BUFFER) {
6136 b->yy_bs_lineno = 1;
6137 b->yy_bs_column = 0;
6140 b->yy_is_interactive = file ? (isatty(fileno(file)) > 0) : 0;
6145 /** Discard all buffered characters. On the next scan, YY_INPUT will be called.
6146 * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
6149 void surf_parse__flush_buffer(YY_BUFFER_STATE b)
6156 /* We always need two end-of-buffer characters. The first causes
6157 * a transition to the end-of-buffer state. The second causes
6158 * a jam in that state.
6160 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
6161 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
6163 b->yy_buf_pos = &b->yy_ch_buf[0];
6166 b->yy_buffer_status = YY_BUFFER_NEW;
6168 if (b == YY_CURRENT_BUFFER)
6169 surf_parse__load_buffer_state();
6172 /** Pushes the new state onto the stack. The new state becomes
6173 * the current state. This function will allocate the stack
6175 * @param new_buffer The new state.
6178 void surf_parse_push_buffer_state(YY_BUFFER_STATE new_buffer)
6180 if (new_buffer == NULL)
6183 surf_parse_ensure_buffer_stack();
6185 /* This block is copied from surf_parse__switch_to_buffer. */
6186 if (YY_CURRENT_BUFFER) {
6187 /* Flush out information for old buffer. */
6188 *(yy_c_buf_p) = (yy_hold_char);
6189 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
6190 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
6193 /* Only push if top exists. Otherwise, replace top. */
6194 if (YY_CURRENT_BUFFER)
6195 (yy_buffer_stack_top)++;
6196 YY_CURRENT_BUFFER_LVALUE = new_buffer;
6198 /* copied from surf_parse__switch_to_buffer. */
6199 surf_parse__load_buffer_state();
6200 (yy_did_buffer_switch_on_eof) = 1;
6203 /** Removes and deletes the top of the stack, if present.
6204 * The next element becomes the new top.
6207 void surf_parse_pop_buffer_state(void)
6209 if (!YY_CURRENT_BUFFER)
6212 surf_parse__delete_buffer(YY_CURRENT_BUFFER);
6213 YY_CURRENT_BUFFER_LVALUE = NULL;
6214 if ((yy_buffer_stack_top) > 0)
6215 --(yy_buffer_stack_top);
6217 if (YY_CURRENT_BUFFER) {
6218 surf_parse__load_buffer_state();
6219 (yy_did_buffer_switch_on_eof) = 1;
6223 /* Allocates the stack if it does not exist.
6224 * Guarantees space for at least one push.
6226 static void surf_parse_ensure_buffer_stack(void)
6230 if (!(yy_buffer_stack)) {
6232 /* First allocation is just for 2 elements, since we don't know if this
6233 * scanner will even need a stack. We use 2 instead of 1 to avoid an
6234 * immediate realloc on the next call.
6237 (yy_buffer_stack) = (struct yy_buffer_state **) surf_parse_alloc
6238 (num_to_alloc * sizeof(struct yy_buffer_state *)
6240 if (!(yy_buffer_stack))
6242 ("out of dynamic memory in surf_parse_ensure_buffer_stack()");
6244 memset((yy_buffer_stack), 0,
6245 num_to_alloc * sizeof(struct yy_buffer_state *));
6247 (yy_buffer_stack_max) = num_to_alloc;
6248 (yy_buffer_stack_top) = 0;
6252 if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1) {
6254 /* Increase the buffer to prepare for a possible push. */
6255 int grow_size = 8 /* arbitrary grow size */ ;
6257 num_to_alloc = (yy_buffer_stack_max) + grow_size;
6258 (yy_buffer_stack) = (struct yy_buffer_state **) surf_parse_realloc
6259 ((yy_buffer_stack), num_to_alloc * sizeof(struct yy_buffer_state *)
6261 if (!(yy_buffer_stack))
6263 ("out of dynamic memory in surf_parse_ensure_buffer_stack()");
6265 /* zero only the new slots. */
6266 memset((yy_buffer_stack) + (yy_buffer_stack_max), 0,
6267 grow_size * sizeof(struct yy_buffer_state *));
6268 (yy_buffer_stack_max) = num_to_alloc;
6272 /** Setup the input buffer state to scan directly from a user-specified character buffer.
6273 * @param base the character buffer
6274 * @param size the size in bytes of the character buffer
6276 * @return the newly allocated buffer state object.
6278 YY_BUFFER_STATE surf_parse__scan_buffer(char *base, yy_size_t size)
6283 base[size - 2] != YY_END_OF_BUFFER_CHAR ||
6284 base[size - 1] != YY_END_OF_BUFFER_CHAR)
6285 /* They forgot to leave room for the EOB's. */
6288 b = (YY_BUFFER_STATE) surf_parse_alloc(sizeof(struct yy_buffer_state));
6290 YY_FATAL_ERROR("out of dynamic memory in surf_parse__scan_buffer()");
6292 b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
6293 b->yy_buf_pos = b->yy_ch_buf = base;
6294 b->yy_is_our_buffer = 0;
6295 b->yy_input_file = 0;
6296 b->yy_n_chars = b->yy_buf_size;
6297 b->yy_is_interactive = 0;
6299 b->yy_fill_buffer = 0;
6300 b->yy_buffer_status = YY_BUFFER_NEW;
6302 surf_parse__switch_to_buffer(b);
6307 /** Setup the input buffer state to scan a string. The next call to surf_parse_lex() will
6308 * scan from a @e copy of @a str.
6309 * @param yystr a NUL-terminated string to scan
6311 * @return the newly allocated buffer state object.
6312 * @note If you want to scan bytes that may contain NUL values, then use
6313 * surf_parse__scan_bytes() instead.
6315 YY_BUFFER_STATE surf_parse__scan_string(yyconst char *yystr)
6318 return surf_parse__scan_bytes(yystr, strlen(yystr));
6321 /** Setup the input buffer state to scan the given bytes. The next call to surf_parse_lex() will
6322 * scan from a @e copy of @a bytes.
6323 * @param bytes the byte buffer to scan
6324 * @param len the number of bytes in the buffer pointed to by @a bytes.
6326 * @return the newly allocated buffer state object.
6328 YY_BUFFER_STATE surf_parse__scan_bytes(yyconst char *yybytes,
6336 /* Get memory for full buffer, including space for trailing EOB's. */
6337 n = _yybytes_len + 2;
6338 buf = (char *) surf_parse_alloc(n);
6340 YY_FATAL_ERROR("out of dynamic memory in surf_parse__scan_bytes()");
6342 for (i = 0; i < _yybytes_len; ++i)
6343 buf[i] = yybytes[i];
6345 buf[_yybytes_len] = buf[_yybytes_len + 1] = YY_END_OF_BUFFER_CHAR;
6347 b = surf_parse__scan_buffer(buf, n);
6349 YY_FATAL_ERROR("bad buffer in surf_parse__scan_bytes()");
6351 /* It's okay to grow etc. this buffer, and we should throw it
6352 * away when we're done.
6354 b->yy_is_our_buffer = 1;
6359 static void yy_push_state(int new_state)
6361 if ((yy_start_stack_ptr) >= (yy_start_stack_depth)) {
6364 (yy_start_stack_depth) += YY_START_STACK_INCR;
6365 new_size = (yy_start_stack_depth) * sizeof(int);
6367 if (!(yy_start_stack))
6368 (yy_start_stack) = (int *) surf_parse_alloc(new_size);
6372 (int *) surf_parse_realloc((void *) (yy_start_stack), new_size);
6374 if (!(yy_start_stack))
6375 YY_FATAL_ERROR("out of memory expanding start-condition stack");
6378 (yy_start_stack)[(yy_start_stack_ptr)++] = YY_START;
6383 static void yy_pop_state(void)
6385 if (--(yy_start_stack_ptr) < 0)
6386 YY_FATAL_ERROR("start-condition stack underflow");
6388 BEGIN((yy_start_stack)[(yy_start_stack_ptr)]);
6391 #ifndef YY_EXIT_FAILURE
6392 #define YY_EXIT_FAILURE 2
6395 static void yy_fatal_error(yyconst char *msg)
6397 (void) fprintf(stderr, "%s\n", msg);
6398 exit(YY_EXIT_FAILURE);
6401 /* Redefine yyless() so it works in section 3 code. */
6407 /* Undo effects of setting up surf_parse_text. */ \
6408 int yyless_macro_arg = (n); \
6409 YY_LESS_LINENO(yyless_macro_arg);\
6410 surf_parse_text[surf_parse_leng] = (yy_hold_char); \
6411 (yy_c_buf_p) = surf_parse_text + yyless_macro_arg; \
6412 (yy_hold_char) = *(yy_c_buf_p); \
6413 *(yy_c_buf_p) = '\0'; \
6414 surf_parse_leng = yyless_macro_arg; \
6418 /* Accessor methods (get/set functions) to struct members. */
6420 /** Get the current line number.
6423 int surf_parse_get_lineno(void)
6426 return surf_parse_lineno;
6429 /** Get the input stream.
6432 FILE *surf_parse_get_in(void)
6434 return surf_parse_in;
6437 /** Get the output stream.
6440 FILE *surf_parse_get_out(void)
6442 return surf_parse_out;
6445 /** Get the length of the current token.
6448 int surf_parse_get_leng(void)
6450 return surf_parse_leng;
6453 /** Get the current token.
6457 char *surf_parse_get_text(void)
6459 return surf_parse_text;
6462 /** Set the current line number.
6463 * @param line_number
6466 void surf_parse_set_lineno(int line_number)
6469 surf_parse_lineno = line_number;
6472 /** Set the input stream. This does not discard the current
6474 * @param in_str A readable stream.
6476 * @see surf_parse__switch_to_buffer
6478 void surf_parse_set_in(FILE * in_str)
6480 surf_parse_in = in_str;
6483 void surf_parse_set_out(FILE * out_str)
6485 surf_parse_out = out_str;
6488 int surf_parse_get_debug(void)
6490 return surf_parse__flex_debug;
6493 void surf_parse_set_debug(int bdebug)
6495 surf_parse__flex_debug = bdebug;
6498 static int yy_init_globals(void)
6500 /* Initialization is the same as for the non-reentrant scanner.
6501 * This function is called from surf_parse_lex_destroy(), so don't allocate here.
6504 /* We do not touch surf_parse_lineno unless the option is enabled. */
6505 surf_parse_lineno = 1;
6507 (yy_buffer_stack) = 0;
6508 (yy_buffer_stack_top) = 0;
6509 (yy_buffer_stack_max) = 0;
6510 (yy_c_buf_p) = (char *) 0;
6514 (yy_start_stack_ptr) = 0;
6515 (yy_start_stack_depth) = 0;
6516 (yy_start_stack) = NULL;
6518 /* Defined in main.c */
6520 surf_parse_in = stdin;
6521 surf_parse_out = stdout;
6523 surf_parse_in = (FILE *) 0;
6524 surf_parse_out = (FILE *) 0;
6527 /* For future reference: Set errno on error, since we are called by
6528 * surf_parse_lex_init()
6533 /* surf_parse_lex_destroy is for both reentrant and non-reentrant scanners. */
6534 int surf_parse_lex_destroy(void)
6537 /* Pop the buffer stack, destroying each element. */
6538 while (YY_CURRENT_BUFFER) {
6539 surf_parse__delete_buffer(YY_CURRENT_BUFFER);
6540 YY_CURRENT_BUFFER_LVALUE = NULL;
6541 surf_parse_pop_buffer_state();
6544 /* Destroy the stack itself. */
6545 surf_parse_free((yy_buffer_stack));
6546 (yy_buffer_stack) = NULL;
6548 /* Destroy the start condition stack. */
6549 surf_parse_free((yy_start_stack));
6550 (yy_start_stack) = NULL;
6552 /* Reset the globals. This is important in a non-reentrant scanner so the next time
6553 * surf_parse_lex() is called, initialization will occur. */
6560 * Internal utility routines.
6564 static void yy_flex_strncpy(char *s1, yyconst char *s2, int n)
6567 for (i = 0; i < n; ++i)
6572 #ifdef YY_NEED_STRLEN
6573 static int yy_flex_strlen(yyconst char *s)
6576 for (n = 0; s[n]; ++n);
6582 void *surf_parse_alloc(yy_size_t size)
6584 return (void *) malloc(size);
6587 void *surf_parse_realloc(void *ptr, yy_size_t size)
6589 /* The cast to (char *) in the following accommodates both
6590 * implementations that use char* generic pointers, and those
6591 * that use void* generic pointers. It works with the latter
6592 * because both ANSI C and C++ allow castless assignment from
6593 * any pointer type to void*, and deal with argument conversions
6594 * as though doing an assignment.
6596 return (void *) realloc((char *) ptr, size);
6599 void surf_parse_free(void *ptr)
6601 free((char *) ptr); /* see surf_parse_realloc() for (char *) cast */
6604 #define YYTABLES_NAME "yytables"
6606 /* Element context stack lookup. */
6607 int surfxml_element_context(int i)
6609 return (0 < i && i < yy_start_stack_depth
6610 ? yy_start_stack[yy_start_stack_ptr - i]
6615 void print_yy_stack(char *fmt, ...)
6620 vfprintf(stderr, fmt, ap);
6621 if (surfxml_statenames) {
6622 for (i = 1; i < yy_start_stack_ptr; i++) {
6623 fprintf(stderr, "%s/", surfxml_statenames[yy_start_stack[i]]);
6625 fprintf(stderr, "%s\n", surfxml_statenames[YY_START]);
6630 void print_surfxml_bufferstack()
6633 fputs("Buffer: ", stderr);
6634 for (i = 0; i < blimit; i++) {
6635 if (surfxml_bufferstack[i] == '\377')
6637 putc(surfxml_bufferstack[i], stderr);
6642 static void debug_enter(int state, const char *statename)
6644 yy_push_state(state);
6645 if (surf_parse__flex_debug) {
6646 print_yy_stack("--ENTER(%s) : ", statename);
6647 print_surfxml_bufferstack();
6651 static void debug_leave(void)
6653 if (surf_parse__flex_debug) {
6654 print_yy_stack("--LEAVE : ");
6655 print_surfxml_bufferstack();
6660 static void debug_set(int state, const char *statename)
6663 if (surf_parse__flex_debug)
6664 print_yy_stack("--SET(%s) : ", statename);
6668 static void cleanup(void)
6670 if (surfxml_statenames) {
6671 free(surfxml_statenames);
6672 surfxml_statenames = NULL;
6674 free(surfxml_bufferstack);
6675 surfxml_bufferstack = NULL;
6681 static int fail(const char *fmt, ...)
6683 int chars_left, used;
6686 #ifdef FLEXML_yylineno
6687 used = sprintf(flexml_err_msg,
6688 "Invalid XML (XML input line %d, state %d): ",
6689 surf_parse_lineno, YY_START);
6691 used = sprintf(flexml_err_msg, "Invalid XML (state %d): ", YY_START);
6693 chars_left = flexml_max_err_msg_size - used - 1;
6694 vsnprintf(flexml_err_msg + used, chars_left, fmt, ap);
6697 #ifndef FLEXML_quiet_parser
6698 /* print directly to sdterr */
6699 fprintf(stderr, "%s\n", flexml_err_msg);
6700 flexml_err_msg[0] = '\0';