2 #line 3 "src/surf/simgrid_dtd.c"
4 #define YY_INT_ALIGNED short int
6 /* A lexical scanner generated by flex */
8 #define yy_create_buffer surf_parse__create_buffer
9 #define yy_delete_buffer surf_parse__delete_buffer
10 #define yy_flex_debug surf_parse__flex_debug
11 #define yy_init_buffer surf_parse__init_buffer
12 #define yy_flush_buffer surf_parse__flush_buffer
13 #define yy_load_buffer_state surf_parse__load_buffer_state
14 #define yy_switch_to_buffer surf_parse__switch_to_buffer
15 #define yyin surf_parse_in
16 #define yyleng surf_parse_leng
17 #define yylex surf_parse_lex
18 #define yylineno surf_parse_lineno
19 #define yyout surf_parse_out
20 #define yyrestart surf_parse_restart
21 #define yytext surf_parse_text
22 #define yywrap surf_parse_wrap
23 #define yyalloc surf_parse_alloc
24 #define yyrealloc surf_parse_realloc
25 #define yyfree surf_parse_free
28 #define YY_FLEX_MAJOR_VERSION 2
29 #define YY_FLEX_MINOR_VERSION 5
30 #define YY_FLEX_SUBMINOR_VERSION 35
31 #if YY_FLEX_SUBMINOR_VERSION > 0
35 /* First, we deal with platform-specific or compiler-specific issues. */
37 /* begin standard C headers. */
43 /* end standard C headers. */
45 /* flex integer type definitions */
50 /* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
52 #if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
54 /* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
55 * if you want the limit (max/min) macros for int types.
57 #ifndef __STDC_LIMIT_MACROS
58 #define __STDC_LIMIT_MACROS 1
62 typedef int8_t flex_int8_t;
63 typedef uint8_t flex_uint8_t;
64 typedef int16_t flex_int16_t;
65 typedef uint16_t flex_uint16_t;
66 typedef int32_t flex_int32_t;
67 typedef uint32_t flex_uint32_t;
69 typedef signed char flex_int8_t;
70 typedef short int flex_int16_t;
71 typedef int flex_int32_t;
72 typedef unsigned char flex_uint8_t;
73 typedef unsigned short int flex_uint16_t;
74 typedef unsigned int flex_uint32_t;
76 /* Limits of integral types. */
78 #define INT8_MIN (-128)
81 #define INT16_MIN (-32767-1)
84 #define INT32_MIN (-2147483647-1)
87 #define INT8_MAX (127)
90 #define INT16_MAX (32767)
93 #define INT32_MAX (2147483647)
96 #define UINT8_MAX (255U)
99 #define UINT16_MAX (65535U)
102 #define UINT32_MAX (4294967295U)
107 #endif /* ! FLEXINT_H */
111 /* The "const" storage-class-modifier is valid. */
114 #else /* ! __cplusplus */
116 /* C99 requires __STDC__ to be defined as 1. */
117 #if defined (__STDC__)
121 #endif /* defined (__STDC__) */
122 #endif /* ! __cplusplus */
125 #define yyconst const
130 /* Returned upon end-of-file. */
133 /* Promotes a possibly negative, possibly signed char to an unsigned
134 * integer for use as an array index. If the signed char is negative,
135 * we want to instead treat it as an 8-bit unsigned char, hence the
138 #define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
140 /* Enter a start condition. This macro really ought to take a parameter,
141 * but we do it the disgusting crufty way forced on us by the ()-less
142 * definition of BEGIN.
144 #define BEGIN (yy_start) = 1 + 2 *
146 /* Translate the current start state into a value that can be later handed
147 * to BEGIN to return to the state. The YYSTATE alias is for lex
150 #define YY_START (((yy_start) - 1) / 2)
151 #define YYSTATE YY_START
153 /* Action number for EOF rule of a given start state. */
154 #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
156 /* Special action meaning "start processing a new file". */
157 #define YY_NEW_FILE surf_parse_restart(surf_parse_in )
159 #define YY_END_OF_BUFFER_CHAR 0
161 /* Size of default input buffer. */
164 /* On IA-64, the buffer size is 16k, not 8k.
165 * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case.
166 * Ditto for the __ia64__ case accordingly.
168 #define YY_BUF_SIZE 32768
170 #define YY_BUF_SIZE 16384
171 #endif /* __ia64__ */
174 /* The state buf must be large enough to hold one state per character in the main buffer.
176 #define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
178 #ifndef YY_TYPEDEF_YY_BUFFER_STATE
179 #define YY_TYPEDEF_YY_BUFFER_STATE
180 typedef struct yy_buffer_state *YY_BUFFER_STATE;
183 extern int surf_parse_leng;
185 extern FILE *surf_parse_in, *surf_parse_out;
187 #define EOB_ACT_CONTINUE_SCAN 0
188 #define EOB_ACT_END_OF_FILE 1
189 #define EOB_ACT_LAST_MATCH 2
191 /* Note: We specifically omit the test for yy_rule_can_match_eol because it requires
192 * access to the local variable yy_act. Since yyless() is a macro, it would break
193 * existing scanners that call yyless() from OUTSIDE surf_parse_lex.
194 * One obvious solution it to make yy_act a global. I tried that, and saw
195 * a 5% performance hit in a non-surf_parse_lineno scanner, because yy_act is
196 * normally declared as a register variable-- so it is not worth it.
198 #define YY_LESS_LINENO(n) \
201 for ( yyl = n; yyl < surf_parse_leng; ++yyl )\
202 if ( surf_parse_text[yyl] == '\n' )\
203 --surf_parse_lineno;\
206 /* Return all but the first "n" matched characters back to the input stream. */
210 /* Undo effects of setting up surf_parse_text. */ \
211 int yyless_macro_arg = (n); \
212 YY_LESS_LINENO(yyless_macro_arg);\
213 *yy_cp = (yy_hold_char); \
214 YY_RESTORE_YY_MORE_OFFSET \
215 (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
216 YY_DO_BEFORE_ACTION; /* set up surf_parse_text again */ \
220 #define unput(c) yyunput( c, (yytext_ptr) )
222 #ifndef YY_TYPEDEF_YY_SIZE_T
223 #define YY_TYPEDEF_YY_SIZE_T
224 typedef size_t yy_size_t;
227 #ifndef YY_STRUCT_YY_BUFFER_STATE
228 #define YY_STRUCT_YY_BUFFER_STATE
229 struct yy_buffer_state
233 char *yy_ch_buf; /* input buffer */
234 char *yy_buf_pos; /* current position in input buffer */
236 /* Size of input buffer in bytes, not including room for EOB
239 yy_size_t yy_buf_size;
241 /* Number of characters read into yy_ch_buf, not including EOB
246 /* Whether we "own" the buffer - i.e., we know we created it,
247 * and can realloc() it to grow it, and should free() it to
250 int yy_is_our_buffer;
252 /* Whether this is an "interactive" input source; if so, and
253 * if we're using stdio for input, then we want to use getc()
254 * instead of fread(), to make sure we stop fetching input after
257 int yy_is_interactive;
259 /* Whether we're considered to be at the beginning of a line.
260 * If so, '^' rules will be active on the next match, otherwise
265 int yy_bs_lineno; /**< The line count. */
266 int yy_bs_column; /**< The column count. */
268 /* Whether to try to fill the input buffer when we reach the
273 int yy_buffer_status;
275 #define YY_BUFFER_NEW 0
276 #define YY_BUFFER_NORMAL 1
277 /* When an EOF's been seen but there's still some text to process
278 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
279 * shouldn't try reading from the input source any more. We might
280 * still have a bunch of tokens to match, though, because of
281 * possible backing-up.
283 * When we actually see the EOF, we change the status to "new"
284 * (via surf_parse_restart()), so that the user can continue scanning by
285 * just pointing surf_parse_in at a new input file.
287 #define YY_BUFFER_EOF_PENDING 2
290 #endif /* !YY_STRUCT_YY_BUFFER_STATE */
292 /* Stack of input buffers. */
293 static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
294 static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
295 static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */
297 /* We provide macros for accessing buffer states in case in the
298 * future we want to put the buffer states in a more general
301 * Returns the top of the stack, or NULL.
303 #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
304 ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
307 /* Same as previous macro, but useful when we know that the buffer stack is not
308 * NULL or when we need an lvalue. For internal use only.
310 #define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
312 /* yy_hold_char holds the character lost when surf_parse_text is formed. */
313 static char yy_hold_char;
314 static int yy_n_chars; /* number of characters read into yy_ch_buf */
317 /* Points to current character in buffer. */
318 static char *yy_c_buf_p = (char *) 0;
319 static int yy_init = 0; /* whether we need to initialize */
320 static int yy_start = 0; /* start state number */
322 /* Flag which is used to allow surf_parse_wrap()'s to do buffer switches
323 * instead of setting up a fresh surf_parse_in. A bit of a hack ...
325 static int yy_did_buffer_switch_on_eof;
327 void surf_parse_restart (FILE *input_file );
328 void surf_parse__switch_to_buffer (YY_BUFFER_STATE new_buffer );
329 YY_BUFFER_STATE surf_parse__create_buffer (FILE *file,int size );
330 void surf_parse__delete_buffer (YY_BUFFER_STATE b );
331 void surf_parse__flush_buffer (YY_BUFFER_STATE b );
332 void surf_parse_push_buffer_state (YY_BUFFER_STATE new_buffer );
333 void surf_parse_pop_buffer_state (void );
335 static void surf_parse_ensure_buffer_stack (void );
336 static void surf_parse__load_buffer_state (void );
337 static void surf_parse__init_buffer (YY_BUFFER_STATE b,FILE *file );
339 #define YY_FLUSH_BUFFER surf_parse__flush_buffer(YY_CURRENT_BUFFER )
341 YY_BUFFER_STATE surf_parse__scan_buffer (char *base,yy_size_t size );
342 YY_BUFFER_STATE surf_parse__scan_string (yyconst char *yy_str );
343 YY_BUFFER_STATE surf_parse__scan_bytes (yyconst char *bytes,int len );
345 void *surf_parse_alloc (yy_size_t );
346 void *surf_parse_realloc (void *,yy_size_t );
347 void surf_parse_free (void * );
349 #define yy_new_buffer surf_parse__create_buffer
351 #define yy_set_interactive(is_interactive) \
353 if ( ! YY_CURRENT_BUFFER ){ \
354 surf_parse_ensure_buffer_stack (); \
355 YY_CURRENT_BUFFER_LVALUE = \
356 surf_parse__create_buffer(surf_parse_in,YY_BUF_SIZE ); \
358 YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
361 #define yy_set_bol(at_bol) \
363 if ( ! YY_CURRENT_BUFFER ){\
364 surf_parse_ensure_buffer_stack (); \
365 YY_CURRENT_BUFFER_LVALUE = \
366 surf_parse__create_buffer(surf_parse_in,YY_BUF_SIZE ); \
368 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
371 #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
373 /* Begin user sect3 */
375 #define surf_parse_wrap(n) 1
376 #define YY_SKIP_YYWRAP
378 typedef unsigned char YY_CHAR;
380 FILE *surf_parse_in = (FILE *) 0, *surf_parse_out = (FILE *) 0;
382 typedef int yy_state_type;
384 extern int surf_parse_lineno;
386 int surf_parse_lineno = 1;
388 extern char *surf_parse_text;
389 #define yytext_ptr surf_parse_text
391 static yy_state_type yy_get_previous_state (void );
392 static yy_state_type yy_try_NUL_trans (yy_state_type current_state );
393 static int yy_get_next_buffer (void );
394 static void yy_fatal_error (yyconst char msg[] );
396 /* Done after the current pattern has been matched and before the
397 * corresponding action - sets up surf_parse_text.
399 #define YY_DO_BEFORE_ACTION \
400 (yytext_ptr) = yy_bp; \
401 surf_parse_leng = (size_t) (yy_cp - yy_bp); \
402 (yy_hold_char) = *yy_cp; \
404 (yy_c_buf_p) = yy_cp;
406 #define YY_NUM_RULES 349
407 #define YY_END_OF_BUFFER 350
408 /* This struct is not used in this scanner,
409 but its presence is necessary. */
412 flex_int32_t yy_verify;
415 static yyconst flex_int16_t yy_accept[2033] =
417 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
418 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
419 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
420 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
421 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
422 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
423 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
424 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
425 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
426 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
428 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
429 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
430 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
431 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
432 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
433 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
434 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
435 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
436 350, 348, 15, 10, 10, 15, 15, 328, 10, 328,
437 5, 6, 5, 8, 9, 8, 344, 336, 337, 345,
439 342, 345, 343, 347, 336, 337, 347, 348, 22, 10,
440 22, 22, 22, 20, 22, 26, 10, 26, 26, 26,
441 348, 348, 26, 37, 10, 37, 37, 37, 35, 37,
442 37, 37, 345, 344, 59, 10, 59, 59, 59, 57,
443 59, 59, 59, 59, 63, 10, 63, 348, 63, 82,
444 10, 82, 82, 82, 80, 82, 82, 82, 86, 10,
445 86, 95, 10, 95, 95, 95, 93, 95, 95, 99,
446 10, 99, 99, 348, 99, 99, 348, 348, 99, 348,
447 99, 348, 99, 120, 10, 120, 120, 120, 118, 120,
448 120, 120, 120, 120, 124, 10, 124, 124, 157, 10,
450 157, 157, 157, 155, 157, 157, 157, 157, 157, 157,
451 161, 10, 161, 168, 10, 168, 168, 168, 166, 168,
452 172, 10, 172, 199, 10, 199, 199, 199, 197, 199,
453 199, 199, 199, 203, 10, 203, 203, 216, 10, 216,
454 216, 216, 214, 216, 216, 220, 10, 220, 348, 220,
455 237, 10, 237, 237, 237, 235, 237, 237, 237, 241,
456 10, 241, 241, 254, 10, 254, 254, 254, 252, 254,
457 254, 258, 10, 258, 271, 10, 271, 271, 271, 269,
458 271, 271, 271, 275, 10, 275, 275, 288, 10, 288,
459 288, 288, 286, 288, 288, 288, 288, 292, 10, 292,
461 348, 292, 299, 10, 299, 299, 299, 297, 299, 303,
462 10, 303, 310, 10, 310, 310, 310, 308, 310, 314,
463 10, 314, 314, 314, 323, 10, 323, 323, 323, 321,
464 323, 323, 327, 10, 327, 10, 0, 2, 2, 0,
465 4, 7, 339, 338, 0, 0, 0, 0, 0, 0,
466 0, 21, 23, 23, 0, 0, 0, 0, 0, 0,
467 0, 0, 0, 0, 0, 0, 0, 0, 0, 36,
468 38, 38, 38, 38, 0, 0, 0, 58, 60, 60,
469 60, 60, 60, 60, 60, 0, 0, 81, 83, 83,
470 83, 83, 0, 94, 96, 96, 96, 0, 0, 0,
472 0, 0, 0, 0, 0, 0, 119, 121, 121, 121,
473 121, 121, 121, 0, 156, 158, 158, 158, 158, 158,
474 158, 158, 158, 158, 158, 0, 167, 169, 169, 0,
475 198, 200, 200, 200, 200, 200, 200, 0, 215, 217,
476 217, 217, 217, 0, 0, 236, 238, 238, 238, 238,
477 238, 0, 253, 255, 255, 255, 0, 270, 272, 272,
478 272, 272, 0, 287, 289, 289, 289, 289, 289, 0,
479 0, 298, 300, 300, 0, 309, 311, 311, 0, 0,
480 322, 324, 324, 324, 0, 0, 0, 0, 0, 3,
481 0, 0, 0, 0, 0, 0, 0, 346, 0, 23,
483 0, 0, 88, 0, 0, 0, 0, 0, 0, 0,
484 0, 0, 0, 0, 0, 87, 0, 0, 0, 38,
485 0, 0, 38, 0, 0, 0, 341, 60, 0, 0,
486 60, 60, 60, 60, 0, 0, 0, 83, 83, 83,
487 0, 0, 0, 0, 96, 0, 0, 88, 0, 0,
488 0, 0, 87, 0, 0, 121, 0, 0, 121, 121,
489 121, 0, 0, 158, 0, 0, 0, 0, 158, 158,
490 158, 158, 158, 158, 0, 0, 0, 0, 0, 0,
491 200, 0, 0, 200, 200, 200, 0, 0, 217, 217,
492 217, 0, 0, 0, 238, 238, 238, 238, 0, 0,
494 255, 0, 0, 0, 0, 272, 272, 272, 0, 0,
495 289, 289, 289, 289, 0, 0, 0, 300, 0, 0,
496 0, 0, 0, 0, 0, 0, 0, 324, 0, 0,
497 0, 14, 1, 0, 0, 334, 0, 0, 0, 331,
498 330, 0, 0, 23, 0, 0, 25, 0, 88, 0,
499 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
500 0, 0, 87, 0, 0, 0, 38, 0, 30, 29,
501 38, 0, 0, 0, 40, 0, 60, 0, 44, 43,
502 0, 0, 60, 0, 0, 60, 0, 0, 62, 0,
503 0, 83, 83, 83, 0, 0, 85, 0, 0, 90,
505 89, 96, 0, 0, 98, 0, 0, 0, 0, 0,
506 0, 0, 0, 121, 0, 103, 102, 121, 121, 121,
507 0, 0, 123, 0, 158, 158, 158, 0, 138, 137,
508 0, 128, 127, 0, 0, 158, 158, 158, 158, 158,
509 0, 0, 160, 0, 0, 165, 164, 0, 0, 171,
510 0, 200, 0, 176, 175, 200, 200, 200, 0, 0,
511 202, 0, 0, 0, 0, 0, 217, 0, 0, 219,
512 0, 0, 0, 0, 238, 238, 0, 0, 238, 0,
513 0, 240, 0, 255, 0, 245, 244, 0, 0, 257,
514 0, 0, 0, 272, 272, 0, 0, 0, 0, 274,
516 0, 289, 289, 289, 289, 0, 0, 291, 0, 0,
517 300, 0, 0, 302, 0, 0, 307, 306, 0, 0,
518 313, 0, 0, 0, 318, 317, 324, 0, 0, 326,
519 0, 0, 0, 335, 329, 0, 0, 0, 23, 0,
520 0, 0, 0, 0, 0, 100, 173, 0, 0, 315,
521 0, 0, 0, 0, 0, 0, 0, 0, 0, 38,
522 0, 0, 60, 0, 48, 47, 0, 0, 0, 46,
523 45, 60, 0, 316, 83, 0, 0, 83, 0, 96,
524 0, 97, 0, 0, 101, 174, 0, 0, 0, 121,
525 121, 121, 121, 0, 158, 158, 158, 0, 140, 139,
527 158, 158, 158, 158, 158, 0, 0, 200, 200, 200,
528 200, 0, 0, 209, 208, 0, 207, 206, 217, 0,
529 173, 0, 226, 225, 238, 238, 0, 224, 223, 238,
530 0, 255, 0, 0, 264, 263, 272, 272, 0, 262,
531 261, 0, 289, 0, 0, 289, 289, 0, 0, 300,
532 0, 0, 0, 324, 0, 0, 0, 0, 12, 0,
533 332, 333, 0, 23, 0, 0, 0, 0, 0, 0,
534 100, 173, 0, 0, 0, 315, 0, 204, 28, 0,
535 0, 27, 0, 0, 32, 31, 38, 0, 0, 60,
536 0, 50, 49, 60, 0, 316, 83, 0, 0, 0,
538 0, 0, 0, 96, 0, 0, 101, 174, 205, 205,
539 204, 121, 0, 0, 0, 0, 121, 121, 0, 0,
540 0, 158, 158, 0, 0, 158, 158, 158, 158, 0,
541 0, 200, 200, 200, 0, 0, 200, 0, 217, 0,
542 0, 238, 238, 238, 0, 255, 0, 272, 272, 0,
543 289, 0, 279, 278, 289, 289, 0, 0, 0, 0,
544 0, 0, 0, 0, 0, 0, 0, 0, 0, 11,
545 0, 23, 0, 0, 0, 0, 0, 305, 0, 0,
546 0, 41, 204, 162, 28, 0, 304, 0, 27, 0,
547 0, 38, 0, 0, 60, 60, 0, 83, 0, 0,
549 0, 0, 0, 0, 0, 0, 0, 77, 76, 0,
550 96, 0, 0, 205, 163, 121, 0, 105, 104, 0,
551 0, 0, 121, 121, 0, 122, 0, 148, 147, 0,
552 0, 158, 0, 136, 135, 0, 0, 158, 158, 0,
553 0, 0, 0, 200, 200, 200, 0, 0, 0, 200,
554 0, 201, 217, 0, 0, 0, 0, 0, 0, 238,
555 0, 255, 0, 0, 0, 0, 0, 0, 289, 289,
556 289, 0, 0, 0, 296, 295, 0, 0, 42, 0,
557 320, 319, 0, 325, 0, 0, 0, 0, 0, 0,
558 0, 221, 0, 0, 126, 305, 0, 0, 277, 41,
560 162, 0, 304, 125, 0, 276, 38, 0, 0, 39,
561 60, 60, 0, 0, 0, 0, 0, 0, 0, 0,
562 0, 0, 0, 0, 0, 0, 0, 0, 222, 0,
563 163, 121, 0, 0, 121, 0, 0, 0, 150, 149,
564 158, 0, 130, 129, 0, 0, 158, 0, 132, 131,
565 0, 0, 200, 0, 0, 200, 200, 0, 0, 200,
566 217, 0, 218, 0, 0, 230, 229, 0, 228, 227,
567 238, 0, 255, 0, 0, 268, 267, 0, 266, 265,
568 0, 289, 289, 289, 0, 0, 0, 0, 42, 0,
569 0, 0, 17, 0, 19, 18, 0, 221, 293, 0,
571 126, 242, 16, 277, 0, 125, 0, 276, 38, 340,
572 60, 60, 0, 61, 0, 79, 78, 0, 0, 0,
573 0, 0, 0, 0, 0, 0, 0, 0, 0, 92,
574 91, 222, 0, 121, 0, 0, 0, 0, 121, 0,
575 117, 116, 158, 0, 134, 133, 158, 0, 0, 170,
576 200, 0, 182, 181, 200, 200, 0, 0, 0, 0,
577 200, 217, 243, 238, 0, 255, 0, 0, 0, 0,
578 289, 289, 0, 294, 0, 0, 312, 0, 0, 0,
579 17, 0, 293, 0, 242, 16, 0, 0, 38, 0,
580 0, 60, 0, 0, 0, 0, 0, 0, 0, 0,
582 0, 0, 0, 0, 121, 0, 111, 0, 110, 121,
583 158, 158, 0, 159, 0, 0, 200, 200, 200, 0,
584 186, 0, 185, 200, 217, 243, 238, 0, 239, 0,
585 0, 0, 0, 0, 281, 280, 0, 0, 289, 0,
586 290, 294, 0, 0, 0, 0, 0, 24, 0, 0,
587 0, 38, 0, 0, 0, 60, 0, 0, 0, 0,
588 0, 0, 0, 0, 0, 0, 0, 0, 121, 113,
589 112, 0, 0, 158, 158, 0, 178, 177, 200, 200,
590 200, 188, 187, 0, 0, 0, 0, 0, 0, 0,
591 0, 0, 0, 256, 0, 0, 285, 284, 0, 0,
593 0, 301, 0, 0, 0, 259, 0, 0, 0, 0,
594 0, 0, 0, 0, 60, 0, 0, 0, 0, 69,
595 0, 0, 0, 0, 68, 0, 260, 121, 0, 115,
596 114, 158, 158, 200, 200, 200, 0, 190, 189, 0,
597 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
598 0, 0, 0, 283, 282, 0, 0, 0, 259, 0,
599 0, 0, 34, 33, 0, 0, 0, 0, 60, 0,
600 0, 0, 0, 0, 0, 0, 0, 0, 260, 0,
601 0, 121, 158, 158, 200, 0, 0, 200, 0, 0,
602 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
604 0, 0, 0, 0, 0, 0, 0, 65, 64, 0,
605 0, 0, 0, 0, 0, 0, 0, 75, 0, 0,
606 0, 74, 0, 0, 0, 107, 106, 121, 158, 158,
607 200, 0, 184, 183, 200, 0, 0, 0, 0, 0,
608 0, 0, 0, 0, 0, 247, 0, 0, 246, 0,
609 273, 0, 0, 0, 0, 0, 0, 65, 64, 0,
610 0, 0, 0, 0, 52, 51, 0, 0, 0, 0,
611 0, 0, 0, 121, 158, 0, 0, 0, 0, 0,
612 0, 213, 0, 212, 0, 234, 0, 233, 0, 0,
613 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
615 56, 0, 55, 73, 0, 0, 72, 0, 0, 0,
616 84, 121, 158, 0, 0, 0, 0, 180, 179, 0,
617 0, 0, 211, 210, 232, 231, 249, 251, 248, 250,
618 0, 0, 0, 12, 0, 12, 0, 0, 0, 67,
619 71, 66, 70, 121, 158, 0, 0, 0, 0, 0,
620 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
621 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
622 0, 0, 0, 0, 0, 0, 0, 0, 54, 53,
623 0, 109, 108, 0, 0, 0, 0, 0, 0, 0,
624 0, 0, 0, 0, 0, 0, 0, 0, 0, 11,
626 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
627 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
628 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
629 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
630 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
631 0, 0, 0, 0, 0, 0, 0, 142, 0, 0,
632 141, 0, 0, 192, 0, 0, 191, 0, 0, 0,
633 0, 0, 146, 0, 145, 0, 194, 0, 193, 0,
634 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
635 0, 152, 0, 151, 0, 0, 0, 0, 0, 0,
637 154, 153, 144, 143, 196, 195, 0, 0, 0, 0,
638 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
639 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
643 static yyconst flex_int32_t yy_ec[256] =
645 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
646 1, 2, 4, 1, 1, 1, 1, 1, 1, 1,
647 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
648 1, 2, 5, 6, 7, 1, 1, 8, 9, 1,
649 1, 1, 1, 1, 10, 11, 12, 13, 13, 13,
650 13, 14, 13, 13, 13, 15, 13, 16, 17, 18,
651 19, 20, 21, 1, 22, 23, 24, 25, 26, 27,
652 16, 28, 29, 16, 30, 31, 32, 33, 34, 35,
653 16, 36, 37, 38, 39, 40, 41, 42, 43, 16,
654 44, 1, 45, 1, 46, 1, 47, 48, 49, 50,
656 51, 52, 53, 54, 55, 16, 56, 57, 58, 59,
657 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
658 70, 16, 1, 1, 1, 1, 1, 1, 1, 1,
659 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
660 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
661 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
662 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
663 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
664 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
665 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
667 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
668 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
669 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
670 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
671 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
675 static yyconst flex_int32_t yy_meta[71] =
677 1, 2, 2, 2, 1, 1, 1, 1, 1, 3,
678 3, 1, 4, 4, 4, 5, 6, 1, 7, 8,
679 1, 9, 9, 9, 9, 9, 9, 5, 5, 5,
680 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
681 5, 5, 5, 1, 1, 5, 9, 9, 9, 9,
682 9, 9, 5, 5, 5, 5, 5, 5, 5, 5,
683 5, 5, 5, 5, 5, 5, 5, 5, 5, 5
686 static yyconst flex_int16_t yy_base[2281] =
688 0, 0, 0, 3, 6, 9, 12, 29, 16, 19,
689 14, 17, 33, 36, 49, 55, 45, 61, 66, 73,
690 106, 173, 76, 79, 83, 126, 129, 134, 137, 154,
691 193, 196, 201, 204, 221, 224, 227, 230, 248, 309,
692 280, 286, 370, 434, 268, 273, 277, 330, 333, 337,
693 340, 390, 498, 563, 393, 398, 628, 691, 401, 454,
694 457, 462, 465, 518, 521, 526, 529, 583, 586, 591,
695 594, 648, 651, 656, 659, 711, 714, 719, 722, 739,
696 745, 748, 756, 765, 768, 773, 776, 785, 803, 870,
697 823, 826, 831, 834, 851, 890, 893, 898, 937, 1001,
699 901, 918, 1065, 1120, 957, 960, 1175, 1239, 965, 968,
700 1021, 1024, 1029, 1032, 1085, 1088, 1303, 1367, 1093, 1096,
701 1140, 1143, 1148, 1151, 1195, 1198, 1431, 1495, 1203, 1206,
702 1259, 1262, 1267, 1270, 1323, 1326, 1559, 1614, 1331, 1334,
703 1669, 1733, 1387, 1390, 1395, 1398, 1451, 1454, 1459, 1462,
704 1797, 1861, 1515, 1518, 1523, 1526, 1579, 1582, 1587, 1590,
705 1925, 1992, 1634, 1637, 2059, 2114, 1642, 1645, 1689, 1692,
706 1697, 1700, 1753, 1756, 2169, 2236, 1761, 1764, 0, 0,
707 4875, 7120, 7120, 96, 100, 29, 41, 7120, 157, 51,
708 7120, 7120, 4857, 7120, 7120, 4846, 7120, 4852, 4852, 360,
710 7120, 7120, 7120, 7120, 4849, 4839, 4796, 84, 7120, 160,
711 4815, 0, 144, 7120, 4779, 7120, 164, 2299, 4779, 428,
712 224, 4811, 4761, 7120, 167, 4791, 0, 216, 7120, 4755,
713 4758, 4751, 344, 4751, 7120, 303, 4774, 0, 341, 7120,
714 4741, 4740, 41, 4724, 7120, 427, 13, 81, 141, 7120,
715 482, 4751, 0, 342, 7120, 4712, 4713, 4703, 7120, 492,
716 345, 7120, 548, 4741, 0, 347, 7120, 4703, 4692, 7120,
717 553, 1772, 198, 4693, 80, 4719, 226, 275, 364, 548,
718 59, 4728, 83, 7120, 613, 4714, 0, 405, 7120, 4665,
719 4681, 4665, 4658, 4667, 7120, 618, 203, 284, 7120, 621,
721 4700, 0, 469, 7120, 141, 4665, 4663, 153, 4656, 352,
722 7120, 676, 476, 7120, 682, 4682, 0, 532, 7120, 4644,
723 7120, 685, 780, 7120, 793, 4672, 0, 540, 7120, 4640,
724 4636, 4637, 147, 7120, 796, 348, 409, 7120, 857, 4653,
725 0, 541, 7120, 4607, 238, 7120, 924, 614, 4658, 4611,
726 7120, 985, 4643, 0, 660, 7120, 4598, 4592, 464, 7120,
727 993, 4643, 502, 7120, 1049, 4634, 0, 723, 7120, 4597,
728 4591, 7120, 1057, 972, 7120, 1113, 4620, 0, 734, 7120,
729 4569, 4564, 4567, 7120, 1168, 4613, 546, 7120, 1223, 4604,
730 0, 740, 7120, 4552, 4557, 4552, 4541, 7120, 1231, 479,
732 4592, 415, 7120, 1234, 4576, 0, 760, 7120, 4548, 7120,
733 1287, 1036, 7120, 1295, 4568, 0, 835, 7120, 4537, 7120,
734 1298, 1775, 4522, 180, 7120, 1352, 4560, 0, 841, 7120,
735 4529, 4527, 7120, 1355, 1210, 1358, 18, 4504, 7120, 4556,
736 4541, 7120, 7120, 7120, 1350, 241, 4495, 4493, 4491, 4528,
737 4490, 7120, 0, 4467, 4467, 4490, 4462, 4450, 478, 4459,
738 4462, 3, 373, 4449, 553, 4474, 607, 4446, 543, 7120,
739 0, 4440, 1821, 4432, 234, 4426, 4469, 7120, 0, 4429,
740 1828, 4416, 4437, 4420, 4428, 4413, 613, 7120, 0, 4424,
741 4399, 4404, 4384, 7120, 0, 1841, 4380, 4422, 4406, 4358,
743 4367, 4370, 532, 4377, 597, 660, 7120, 0, 4366, 1881,
744 4336, 4355, 4325, 4337, 7120, 0, 4328, 1884, 1888, 4308,
745 4298, 4313, 4313, 4314, 4307, 4308, 7120, 0, 1891, 4269,
746 7120, 0, 4271, 1895, 4264, 4280, 4278, 4267, 7120, 0,
747 4257, 4259, 4249, 4242, 4245, 7120, 0, 4234, 4242, 4228,
748 4218, 4252, 7120, 0, 4186, 1945, 4191, 7120, 0, 4167,
749 4184, 4180, 4179, 7120, 0, 4163, 4157, 4162, 4171, 4152,
750 4149, 7120, 0, 4153, 4162, 7120, 0, 1948, 4136, 772,
751 7120, 0, 1952, 4127, 4121, 4161, 4169, 648, 4116, 7120,
752 1407, 0, 4112, 4106, 4148, 4146, 4091, 7120, 4102, 4081,
754 1955, 1958, 1423, 4090, 4081, 4074, 4073, 4066, 4070, 4080,
755 4065, 4065, 4056, 4060, 4046, 1426, 4034, 4052, 4037, 4038,
756 1970, 1547, 4033, 4058, 2014, 2018, 7120, 4028, 2021, 1721,
757 2024, 4018, 2027, 4026, 2080, 2089, 4011, 4011, 4008, 4007,
758 2085, 2092, 2135, 1786, 3986, 2140, 2148, 1489, 3989, 3984,
759 3977, 3968, 1663, 3967, 3964, 3974, 2143, 1977, 3976, 3955,
760 3938, 2189, 2192, 1426, 2196, 2045, 2199, 2104, 2202, 3928,
761 3922, 3917, 3908, 3917, 2256, 2259, 2263, 2223, 2266, 2269,
762 3911, 2281, 2290, 3909, 3891, 3887, 2303, 2306, 2311, 2315,
763 2333, 2329, 2337, 3888, 2340, 2363, 2366, 2369, 2372, 2375,
765 3891, 2387, 2396, 2405, 2412, 2415, 2419, 2426, 2433, 2437,
766 3892, 3869, 3876, 3868, 2440, 2445, 3863, 3849, 2448, 2452,
767 2459, 2471, 2482, 2485, 3854, 2490, 2494, 3842, 2508, 2514,
768 3881, 7120, 7120, 707, 3843, 7120, 3881, 3866, 3818, 7120,
769 7120, 3815, 3814, 3822, 2517, 2520, 7120, 2523, 1608, 3808,
770 3800, 3817, 3799, 3809, 3794, 3802, 3791, 741, 3792, 3775,
771 3790, 3785, 1852, 3771, 3785, 782, 2527, 2545, 7120, 7120,
772 2553, 3807, 2556, 2559, 7120, 2562, 3755, 2565, 7120, 7120,
773 2581, 2584, 2592, 2595, 2599, 3767, 2613, 2616, 7120, 2619,
774 790, 3764, 2622, 3763, 2625, 2628, 7120, 2640, 2647, 7120,
776 7120, 3757, 2655, 2659, 7120, 2662, 3751, 3762, 3732, 3740,
777 3729, 3720, 3718, 3721, 2665, 7120, 7120, 3714, 3714, 3706,
778 2681, 2686, 7120, 2689, 3687, 3707, 3695, 2693, 7120, 7120,
779 2701, 7120, 7120, 2709, 2712, 3685, 3691, 3690, 3682, 3664,
780 2720, 2723, 7120, 2727, 2730, 7120, 7120, 2742, 2746, 7120,
781 2752, 3649, 2755, 7120, 7120, 3657, 3659, 3661, 2765, 2771,
782 7120, 2774, 2777, 2780, 2795, 2798, 3646, 2806, 2809, 7120,
783 2817, 3653, 2813, 2821, 3619, 3619, 2832, 2836, 3610, 2844,
784 2850, 7120, 2853, 3621, 2856, 7120, 7120, 2864, 2872, 7120,
785 2875, 2878, 2884, 3605, 3599, 2896, 2899, 2907, 2910, 7120,
787 2915, 3592, 2918, 3610, 3585, 2921, 2929, 7120, 2936, 3582,
788 3596, 2940, 2943, 7120, 2948, 2955, 7120, 7120, 2951, 2963,
789 7120, 2970, 3595, 2975, 7120, 7120, 3593, 2983, 2989, 7120,
790 2995, 718, 3002, 7120, 7120, 3621, 3612, 3576, 3562, 3008,
791 3553, 3548, 3540, 3534, 3543, 1855, 1917, 3544, 3542, 1920,
792 3532, 3536, 3535, 3519, 3508, 3516, 3515, 3014, 3028, 3514,
793 3540, 3022, 3508, 3037, 7120, 7120, 3017, 3045, 3054, 7120,
794 7120, 3500, 3062, 2053, 3484, 3065, 3072, 3083, 3086, 3477,
795 3089, 7120, 3468, 3461, 2095, 2161, 3473, 3471, 3466, 3469,
796 3092, 3095, 3455, 3101, 3113, 3120, 3123, 3127, 7120, 7120,
798 3141, 3144, 3148, 3152, 3155, 3173, 3176, 3441, 3444, 3425,
799 3179, 3184, 3188, 7120, 7120, 3197, 7120, 7120, 3419, 3206,
800 2231, 3212, 7120, 7120, 3416, 3427, 3225, 7120, 7120, 3412,
801 3240, 3408, 3243, 3246, 7120, 7120, 3407, 3417, 3255, 7120,
802 7120, 3263, 3410, 3266, 3270, 3398, 3405, 3278, 3392, 3284,
803 3287, 3291, 3388, 3302, 3310, 710, 3427, 3313, 7120, 3417,
804 7120, 7120, 3376, 3375, 3316, 3355, 3357, 3342, 3349, 3345,
805 3116, 3320, 3341, 3327, 3321, 3335, 3323, 3338, 3342, 3325,
806 3326, 3345, 3306, 3348, 7120, 7120, 3301, 3317, 3356, 3270,
807 3363, 7120, 7120, 3267, 3359, 3371, 3267, 3380, 1873, 2188,
809 3390, 3393, 3401, 3278, 3264, 3264, 3408, 3411, 3414, 3420,
810 3423, 3278, 3426, 3429, 3437, 3440, 3273, 3254, 3451, 3455,
811 3458, 3466, 3476, 3485, 3488, 3496, 3499, 3504, 3507, 3510,
812 3517, 3258, 3232, 3248, 3525, 3529, 3245, 3538, 3241, 3543,
813 3243, 3546, 3550, 3557, 3568, 3229, 3575, 3578, 3581, 3587,
814 3218, 3599, 7120, 7120, 3222, 3210, 3607, 3211, 3611, 3614,
815 3622, 3629, 3198, 3633, 3637, 3651, 699, 339, 318, 7120,
816 3191, 3657, 3661, 3202, 3192, 3203, 3175, 3664, 3171, 3172,
817 3169, 3670, 3675, 3683, 3686, 3183, 3689, 3167, 3692, 3174,
818 3158, 3171, 3197, 3695, 3157, 3157, 3698, 3701, 3185, 3171,
820 519, 3168, 3167, 3150, 877, 3139, 3704, 7120, 7120, 3720,
821 3723, 3121, 3133, 3726, 3729, 3113, 3732, 7120, 7120, 3741,
822 3131, 3130, 3107, 3749, 3755, 7120, 3758, 7120, 7120, 3767,
823 3770, 3106, 3778, 7120, 7120, 3786, 3789, 3797, 3107, 3800,
824 3804, 3818, 3821, 3084, 3824, 3094, 3827, 3104, 3103, 3079,
825 3842, 7120, 3079, 3845, 3048, 3848, 3851, 3869, 3872, 3061,
826 3883, 3048, 3887, 3890, 3893, 3902, 3908, 3920, 3048, 3043,
827 3045, 3923, 3024, 3926, 7120, 7120, 3935, 3942, 3916, 3947,
828 7120, 7120, 3955, 7120, 837, 607, 670, 3022, 3961, 3964,
829 3974, 3979, 3014, 3017, 3986, 3989, 3013, 3012, 3994, 3997,
831 4000, 3002, 4003, 4006, 3001, 4009, 3004, 3009, 4012, 7120,
832 2989, 3003, 4015, 4019, 4022, 3012, 3007, 3000, 3002, 2986,
833 2981, 2976, 2970, 2974, 2961, 4037, 4040, 4043, 4051, 2940,
834 4058, 2938, 880, 885, 2937, 4061, 4064, 4072, 7120, 7120,
835 2930, 4081, 7120, 7120, 4089, 4092, 2927, 4100, 7120, 7120,
836 4108, 4111, 2928, 4114, 4117, 2928, 2914, 896, 897, 2913,
837 2922, 4132, 7120, 2903, 4135, 7120, 7120, 4144, 7120, 7120,
838 2901, 4152, 2877, 4155, 4158, 7120, 7120, 4174, 7120, 7120,
839 4166, 4185, 2878, 2870, 4188, 2861, 4191, 4194, 4197, 4203,
840 75, 822, 4213, 4222, 7120, 7120, 4231, 4234, 4237, 2841,
842 4240, 4243, 4251, 4254, 2847, 4257, 2845, 4260, 2831, 7120,
843 4263, 2829, 4266, 7120, 4269, 7120, 7120, 2866, 2851, 2859,
844 2842, 2845, 2844, 2825, 2823, 2814, 2817, 4277, 4281, 7120,
845 7120, 4289, 2775, 2773, 2779, 2797, 2768, 2779, 2719, 4292,
846 7120, 7120, 2698, 4300, 7120, 7120, 2678, 4308, 4311, 7120,
847 4314, 4317, 7120, 7120, 2682, 2659, 2690, 2692, 2667, 2677,
848 2629, 2597, 4332, 2595, 4336, 4339, 4342, 4345, 4348, 4366,
849 4374, 2596, 4351, 4377, 4380, 4383, 7120, 4386, 848, 1081,
850 4392, 4395, 4405, 2541, 4408, 4414, 2530, 2522, 2482, 4417,
851 4420, 2487, 2498, 108, 202, 236, 363, 383, 386, 430,
853 425, 437, 4428, 417, 526, 593, 7120, 609, 7120, 4431,
854 716, 707, 4435, 7120, 4438, 4450, 721, 725, 727, 787,
855 7120, 836, 7120, 4458, 4461, 4464, 4467, 4470, 7120, 4479,
856 4490, 4498, 4501, 4504, 7120, 7120, 4512, 4520, 4530, 4533,
857 7120, 4536, 4539, 933, 1093, 913, 4542, 7120, 814, 815,
858 858, 4552, 4566, 940, 955, 850, 903, 913, 942, 952,
859 973, 970, 995, 1005, 1008, 1028, 4561, 987, 970, 7120,
860 7120, 4574, 4580, 982, 989, 4588, 7120, 7120, 999, 1004,
861 1008, 7120, 7120, 4596, 4599, 4607, 4610, 4619, 4625, 4633,
862 1069, 1079, 4641, 7120, 4644, 4647, 7120, 7120, 4655, 4663,
864 4673, 7120, 1171, 1153, 1208, 4548, 1032, 1044, 4676, 4679,
865 1069, 1085, 1083, 1127, 1097, 1132, 1119, 1117, 1122, 7120,
866 1138, 1127, 1125, 1134, 7120, 4687, 4694, 4697, 4702, 7120,
867 7120, 1143, 1155, 1154, 4710, 1165, 4715, 7120, 7120, 4724,
868 1235, 1243, 4733, 1249, 1299, 1183, 1195, 1220, 1241, 1245,
869 1246, 4742, 4745, 7120, 7120, 1275, 1330, 4753, 4756, 1228,
870 1254, 4761, 7120, 7120, 1309, 1306, 1321, 1312, 4772, 1308,
871 1329, 1360, 1373, 1358, 1381, 1395, 1384, 4775, 4778, 4781,
872 4795, 1355, 1352, 1340, 1363, 4784, 4803, 1345, 1384, 1397,
873 1413, 1433, 1426, 1441, 1434, 1444, 1430, 1440, 1472, 1438,
875 1449, 1476, 4811, 1491, 4814, 4817, 4823, 4836, 4842, 1454,
876 1463, 1461, 1498, 4845, 4848, 1496, 1502, 7120, 1503, 1506,
877 1506, 7120, 1508, 4856, 4859, 7120, 7120, 1483, 1487, 4867,
878 4870, 4875, 7120, 7120, 4888, 1540, 1510, 1545, 1518, 1551,
879 1521, 1566, 1550, 1555, 1569, 7120, 1563, 1572, 7120, 4891,
880 7120, 1582, 4894, 4897, 4906, 4926, 4971, 4916, 4920, 1574,
881 1595, 1581, 1598, 4946, 7120, 7120, 1607, 1599, 1612, 1641,
882 1620, 1622, 4937, 1597, 1607, 4962, 4991, 4965, 4999, 5007,
883 5015, 7120, 1651, 7120, 1652, 7120, 1656, 7120, 1659, 1679,
884 1691, 1689, 1696, 1686, 5025, 1711, 1700, 5045, 5090, 1694,
886 7120, 1697, 7120, 7120, 1706, 1710, 7120, 1712, 1719, 5010,
887 7120, 1678, 1662, 5033, 1735, 1743, 5065, 7120, 7120, 5073,
888 1748, 1754, 7120, 7120, 7120, 7120, 7120, 7120, 7120, 7120,
889 1776, 1807, 1816, 1755, 1819, 1760, 5083, 1758, 1761, 7120,
890 7120, 7120, 7120, 5110, 5113, 1811, 1765, 1943, 1791, 1946,
891 1793, 1969, 1818, 5116, 1842, 1831, 1868, 5119, 1883, 1893,
892 5122, 5140, 5148, 5151, 1871, 1880, 1890, 1878, 1887, 1919,
893 1915, 1935, 1954, 1939, 1953, 1965, 5159, 1968, 7120, 7120,
894 5162, 7120, 7120, 5171, 2005, 2008, 1955, 1983, 1983, 1998,
895 2008, 2005, 2009, 2019, 2016, 2018, 2027, 2039, 2110, 7120,
897 2063, 2058, 2068, 2073, 2073, 2086, 2114, 2112, 2123, 2123,
898 2127, 2132, 2135, 2137, 2142, 2171, 2258, 2170, 2188, 2179,
899 2198, 2187, 2189, 2205, 2196, 2225, 2249, 2240, 2248, 2263,
900 2255, 2258, 2273, 2307, 2266, 2266, 2277, 2286, 2298, 2290,
901 2322, 2312, 2315, 2342, 2328, 2320, 2352, 2337, 2345, 2372,
902 2367, 2354, 2360, 2365, 2370, 2395, 2372, 7120, 2395, 2379,
903 7120, 2405, 2393, 7120, 2417, 2400, 7120, 2426, 2398, 2434,
904 2429, 2441, 7120, 2444, 7120, 2445, 7120, 2450, 7120, 2453,
905 5179, 2455, 2476, 2464, 2482, 2453, 2457, 2459, 2462, 5182,
906 2500, 7120, 2504, 7120, 2508, 2523, 2527, 2526, 2516, 2571,
908 7120, 7120, 7120, 7120, 7120, 7120, 2518, 2555, 2614, 2618,
909 2584, 2587, 2592, 2657, 2626, 2653, 2650, 2715, 2530, 2533,
910 2721, 2740, 2722, 2785, 2772, 2811, 2572, 2743, 5190, 5201,
911 7120, 7120, 5221, 5230, 5239, 5248, 5257, 5266, 5275, 5284,
912 5293, 5302, 5311, 5320, 5329, 5338, 5347, 5356, 5365, 5374,
913 5383, 5392, 5401, 5410, 5419, 5428, 5437, 5446, 5455, 5464,
914 5473, 5482, 5491, 5500, 5509, 5518, 5527, 5536, 5545, 5554,
915 5563, 5572, 5579, 5586, 5593, 5600, 5607, 5614, 5621, 5628,
916 5635, 5642, 5649, 5656, 5663, 5670, 5677, 5684, 5691, 5700,
917 5705, 5710, 5717, 5722, 5729, 5734, 5741, 5746, 5751, 5756,
919 5763, 5768, 5775, 5780, 5787, 5792, 5799, 5804, 5811, 5816,
920 5823, 5828, 5835, 5840, 5847, 5852, 5859, 5864, 5871, 5876,
921 5885, 5891, 5898, 5906, 5913, 5921, 5928, 5936, 5943, 5951,
922 5958, 5966, 5973, 5981, 5988, 5996, 6004, 6011, 6019, 6027,
923 6035, 6043, 6051, 6058, 6066, 6074, 6082, 6089, 6097, 6104,
924 6112, 6120, 6127, 6135, 6144, 6150, 6157, 6165, 6173, 6181,
925 6188, 6196, 6203, 6211, 6218, 6226, 6233, 6241, 6248, 6256,
926 6264, 6271, 6279, 6286, 6294, 6301, 6309, 6316, 6324, 6331,
927 6339, 6346, 6354, 6361, 6369, 6377, 6384, 6392, 6401, 6410,
928 6417, 6425, 6432, 6440, 6447, 6455, 6462, 6470, 6477, 6484,
930 6492, 6500, 6508, 6516, 6523, 6531, 6538, 6546, 6553, 6561,
931 6568, 6576, 6583, 6591, 6598, 6606, 6614, 6622, 6630, 6638,
932 6646, 6655, 6664, 6671, 6679, 6686, 6694, 6701, 6709, 6716,
933 6724, 6731, 6738, 6746, 6754, 6762, 6770, 6777, 6785, 6792,
934 6800, 6808, 6816, 6823, 6831, 6839, 6847, 6854, 6862, 6870,
935 6878, 6886, 6895, 6904, 6912, 6920, 6927, 6935, 6942, 6950,
936 6958, 6966, 6974, 6981, 6988, 6996, 7004, 7011, 7018, 7026,
937 7033, 7041, 7048, 7056, 7065, 7074, 7083, 7092, 7101, 7110
940 static yyconst flex_int16_t yy_def[2281] =
942 2033, 2033, 2034, 2034, 2034, 2034, 2035, 2035, 2036, 2036,
943 2037, 2037, 2038, 2038, 2038, 2038, 2039, 2039, 2033, 2033,
944 2040, 2040, 2041, 2041, 2041, 2041, 2041, 2041, 2033, 2033,
945 2041, 2041, 2033, 2033, 2041, 2041, 2041, 2041, 2042, 2042,
946 2038, 2038, 2043, 2043, 2044, 2044, 2033, 2033, 2044, 2044,
947 2044, 2044, 2045, 2045, 2046, 2046, 2047, 2047, 2048, 2048,
948 2048, 2048, 2033, 2033, 2048, 2048, 2048, 2048, 2033, 2033,
949 2048, 2048, 2033, 2033, 2048, 2048, 2048, 2048, 2033, 2033,
950 2048, 2048, 2033, 2033, 2048, 2048, 2048, 2048, 2049, 2049,
951 2050, 2050, 2033, 2033, 2050, 2050, 2050, 2050, 2051, 2051,
953 2052, 2052, 2053, 2053, 2054, 2054, 2055, 2055, 2056, 2056,
954 2033, 2033, 2056, 2056, 2056, 2056, 2057, 2057, 2058, 2058,
955 2033, 2033, 2058, 2058, 2058, 2058, 2059, 2059, 2060, 2060,
956 2033, 2033, 2060, 2060, 2060, 2060, 2061, 2061, 2062, 2062,
957 2063, 2063, 2064, 2064, 2033, 2033, 2064, 2064, 2064, 2064,
958 2065, 2065, 2066, 2066, 2033, 2033, 2066, 2066, 2066, 2066,
959 2067, 2067, 2068, 2068, 2069, 2069, 2070, 2070, 2033, 2033,
960 2070, 2070, 2070, 2070, 2071, 2071, 2072, 2072, 2033, 2033,
961 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032,
962 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032,
964 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032,
965 2032, 2073, 2032, 2032, 2073, 2032, 2032, 2032, 218, 218,
966 218, 220, 220, 2032, 2032, 2032, 2074, 2032, 2032, 2074,
967 2074, 2074, 2032, 2032, 2032, 2032, 2032, 2075, 2032, 2032,
968 2075, 2075, 2075, 2075, 2032, 2032, 220, 220, 220, 2032,
969 2032, 2032, 2076, 2032, 2032, 2076, 2076, 2076, 2032, 2032,
970 2032, 2032, 2032, 2032, 2077, 2032, 2032, 2077, 2077, 2032,
971 2032, 221, 221, 221, 272, 273, 273, 273, 273, 279,
972 280, 279, 279, 2032, 2032, 2032, 2078, 2032, 2032, 2078,
973 2078, 2078, 2078, 2078, 2032, 2032, 220, 220, 2032, 2032,
975 2032, 2079, 2032, 2032, 2079, 2079, 2079, 2079, 2079, 2079,
976 2032, 2032, 2032, 2032, 2032, 2032, 2080, 2032, 2032, 2080,
977 2032, 2032, 2032, 2032, 2032, 2032, 2081, 2032, 2032, 2081,
978 2081, 2081, 2081, 2032, 2032, 220, 220, 2032, 2032, 2032,
979 2082, 2032, 2032, 2082, 2082, 2032, 2032, 220, 348, 348,
980 2032, 2032, 2032, 2083, 2032, 2032, 2083, 2083, 2083, 2032,
981 2032, 348, 348, 2032, 2032, 2032, 2084, 2032, 2032, 2084,
982 2084, 2032, 2032, 2032, 2032, 2032, 2032, 2085, 2032, 2032,
983 2085, 2085, 2085, 2032, 2032, 348, 348, 2032, 2032, 2032,
984 2086, 2032, 2032, 2086, 2086, 2086, 2086, 2032, 2032, 220,
986 400, 400, 2032, 2032, 2032, 2087, 2032, 2032, 2087, 2032,
987 2032, 2032, 2032, 2032, 2032, 2088, 2032, 2032, 2088, 2032,
988 2032, 400, 422, 422, 2032, 2032, 2032, 2089, 2032, 2032,
989 2089, 2089, 2032, 2032, 2032, 2032, 2090, 2032, 2032, 2032,
990 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032,
991 2032, 2032, 2073, 2073, 2091, 2032, 2032, 2032, 2032, 2032,
992 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032,
993 2074, 2074, 2074, 2074, 2032, 2092, 2032, 2032, 2093, 2093,
994 2093, 2093, 2093, 2093, 2093, 2094, 2032, 2032, 2095, 2095,
995 2095, 2095, 2096, 2032, 2097, 2097, 2097, 2098, 2032, 2032,
997 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2078, 2078, 2078,
998 2078, 2078, 2078, 2099, 2032, 2079, 2079, 2079, 2079, 2079,
999 2079, 2079, 2079, 2079, 2079, 2100, 2032, 2101, 2101, 2102,
1000 2032, 2103, 2103, 2103, 2103, 2103, 2103, 2104, 2032, 2105,
1001 2105, 2105, 2105, 2106, 2032, 2032, 2107, 2107, 2107, 2107,
1002 2107, 2108, 2032, 2109, 2109, 2109, 2110, 2032, 2111, 2111,
1003 2111, 2111, 2112, 2032, 2113, 2113, 2113, 2113, 2113, 2114,
1004 2032, 2032, 2115, 2115, 2116, 2032, 2117, 2117, 2118, 2032,
1005 2032, 2119, 2119, 2119, 2120, 2121, 2032, 2121, 2032, 2032,
1006 2032, 2122, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2123,
1008 2124, 2124, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032,
1009 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2125,
1010 2032, 2032, 2125, 2032, 2126, 2126, 2032, 2127, 2032, 2032,
1011 2127, 2127, 2127, 2127, 2128, 2128, 2032, 2129, 2129, 2129,
1012 2130, 2130, 2032, 2032, 2131, 2132, 2132, 2032, 2032, 2032,
1013 2032, 2032, 2032, 2032, 2032, 2133, 2032, 2032, 2133, 2133,
1014 2133, 2134, 2134, 2135, 2032, 2032, 2032, 2032, 2135, 2135,
1015 2135, 2135, 2135, 2135, 2136, 2136, 2032, 2032, 2137, 2137,
1016 2138, 2032, 2032, 2138, 2138, 2138, 2139, 2139, 2140, 2140,
1017 2140, 2141, 2141, 2032, 2142, 2142, 2142, 2142, 2143, 2143,
1019 2144, 2032, 2032, 2145, 2145, 2146, 2146, 2146, 2147, 2147,
1020 2148, 2148, 2148, 2148, 2149, 2149, 2032, 2150, 2151, 2151,
1021 2032, 2032, 2152, 2152, 2032, 2032, 2032, 2153, 2154, 2154,
1022 2155, 2032, 2032, 2155, 2032, 2032, 2156, 2032, 2032, 2032,
1023 2032, 2032, 2032, 2157, 2032, 2158, 2032, 2158, 2032, 2032,
1024 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032,
1025 2032, 2032, 2032, 2032, 2032, 2032, 2159, 2032, 2032, 2032,
1026 2159, 2032, 2032, 2160, 2032, 2160, 2161, 2032, 2032, 2032,
1027 2032, 2032, 2161, 2032, 2032, 2161, 2032, 2162, 2032, 2162,
1028 2032, 2163, 2163, 2163, 2032, 2164, 2032, 2164, 2032, 2032,
1030 2032, 2165, 2032, 2166, 2032, 2166, 2032, 2032, 2032, 2032,
1031 2032, 2032, 2032, 2167, 2032, 2032, 2032, 2167, 2167, 2167,
1032 2032, 2168, 2032, 2168, 2169, 2169, 2169, 2032, 2032, 2032,
1033 2032, 2032, 2032, 2032, 2032, 2169, 2169, 2169, 2169, 2169,
1034 2032, 2170, 2032, 2170, 2032, 2032, 2032, 2032, 2171, 2032,
1035 2171, 2172, 2032, 2032, 2032, 2172, 2172, 2172, 2032, 2173,
1036 2032, 2173, 2032, 2032, 2032, 2032, 2174, 2032, 2175, 2032,
1037 2175, 2032, 2032, 2032, 2176, 2176, 2032, 2032, 2176, 2032,
1038 2177, 2032, 2177, 2178, 2032, 2032, 2032, 2032, 2179, 2032,
1039 2179, 2032, 2032, 2180, 2180, 2032, 2032, 2032, 2181, 2032,
1041 2181, 2182, 2182, 2182, 2182, 2032, 2183, 2032, 2183, 2032,
1042 2184, 2032, 2185, 2032, 2185, 2032, 2032, 2032, 2032, 2186,
1043 2032, 2186, 2032, 2032, 2032, 2032, 2187, 2032, 2188, 2032,
1044 2188, 2189, 2190, 2032, 2032, 2032, 2032, 2032, 2191, 2192,
1045 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032,
1046 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2193,
1047 2032, 2194, 2195, 2032, 2032, 2032, 2032, 2032, 2032, 2032,
1048 2032, 2195, 2196, 2032, 2197, 2032, 2032, 2197, 2198, 2199,
1049 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2200,
1050 2200, 2200, 2200, 2201, 2202, 2202, 2202, 2032, 2032, 2032,
1052 2202, 2202, 2202, 2202, 2202, 2203, 2204, 2205, 2205, 2205,
1053 2205, 2206, 2032, 2032, 2032, 2032, 2032, 2032, 2207, 2208,
1054 2032, 2032, 2032, 2032, 2209, 2209, 2032, 2032, 2032, 2209,
1055 2210, 2211, 2212, 2032, 2032, 2032, 2213, 2213, 2032, 2032,
1056 2032, 2214, 2215, 2032, 2032, 2215, 2215, 2216, 2032, 2217,
1057 2218, 2219, 2032, 2220, 2221, 2222, 2223, 2223, 2032, 2223,
1058 2032, 2032, 2032, 2224, 2225, 2032, 2032, 2032, 2032, 2032,
1059 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032,
1060 2032, 2032, 2032, 2032, 2032, 2032, 2226, 2032, 2227, 2228,
1061 2032, 2032, 2032, 2228, 2229, 2032, 2230, 2032, 2032, 2032,
1063 2032, 2032, 2231, 2232, 2032, 2032, 2032, 2032, 2032, 2032,
1064 2032, 2233, 2032, 2032, 2032, 2032, 2233, 2233, 2234, 2032,
1065 2032, 2235, 2235, 2032, 2032, 2235, 2235, 2235, 2235, 2236,
1066 2237, 2238, 2238, 2238, 2032, 2032, 2238, 2239, 2240, 2241,
1067 2032, 2242, 2242, 2242, 2243, 2244, 2245, 2246, 2246, 2247,
1068 2248, 2032, 2032, 2032, 2248, 2248, 2249, 2032, 2032, 2032,
1069 2250, 2251, 2032, 2032, 2032, 2252, 2253, 2254, 2254, 2032,
1070 2032, 2255, 2256, 2032, 2032, 2032, 2032, 2032, 2032, 2032,
1071 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032,
1072 2032, 2257, 2032, 2258, 2259, 2259, 2260, 2261, 2032, 2032,
1074 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2262,
1075 2263, 2032, 2032, 2032, 2032, 2264, 2032, 2032, 2032, 2032,
1076 2032, 2032, 2264, 2264, 2032, 2032, 2032, 2032, 2032, 2032,
1077 2032, 2265, 2032, 2032, 2032, 2032, 2032, 2265, 2265, 2032,
1078 2032, 2266, 2267, 2268, 2268, 2268, 2032, 2032, 2032, 2268,
1079 2032, 2032, 2269, 2270, 2032, 2032, 2032, 2032, 2032, 2271,
1080 2272, 2273, 2274, 2032, 2032, 2032, 2032, 2247, 2248, 2248,
1081 2248, 2249, 2032, 2032, 2032, 2032, 2250, 2251, 2032, 2032,
1082 2032, 2032, 2032, 2032, 2253, 2254, 2254, 2032, 2032, 2032,
1083 2256, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032,
1085 2032, 2032, 2032, 2032, 2032, 2032, 2257, 2032, 2032, 2032,
1086 2259, 2259, 2260, 2032, 2032, 2032, 2032, 2032, 2032, 2032,
1087 2032, 2032, 2032, 2032, 2032, 2262, 2032, 2032, 2032, 2032,
1088 2032, 2264, 2032, 2032, 2264, 2032, 2032, 2032, 2032, 2032,
1089 2265, 2032, 2032, 2032, 2032, 2032, 2265, 2032, 2032, 2032,
1090 2266, 2267, 2268, 2032, 2032, 2268, 2268, 2032, 2032, 2268,
1091 2269, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032,
1092 2271, 2272, 2273, 2274, 2032, 2032, 2032, 2032, 2032, 2032,
1093 2247, 2248, 2248, 2248, 2249, 2032, 2250, 2251, 2032, 2253,
1094 2254, 2254, 2032, 2032, 2032, 2032, 2256, 2032, 2032, 2032,
1096 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2257, 2032,
1097 2259, 2259, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032,
1098 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2262, 2032, 2032,
1099 2032, 2032, 2032, 2264, 2032, 2032, 2032, 2032, 2264, 2032,
1100 2032, 2032, 2265, 2032, 2032, 2032, 2265, 2266, 2032, 2032,
1101 2268, 2032, 2032, 2032, 2268, 2268, 2032, 2032, 2032, 2032,
1102 2268, 2269, 2032, 2271, 2272, 2273, 2274, 2247, 2032, 2032,
1103 2248, 2248, 2249, 2032, 2250, 2032, 2032, 2253, 2254, 2254,
1104 2032, 2256, 2032, 2032, 2032, 2032, 2032, 2032, 2257, 2032,
1105 2032, 2259, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032,
1107 2032, 2032, 2262, 2032, 2264, 2032, 2032, 2032, 2032, 2264,
1108 2265, 2265, 2032, 2032, 2032, 2032, 2268, 2268, 2268, 2032,
1109 2032, 2032, 2032, 2268, 2269, 2032, 2271, 2032, 2032, 2032,
1110 2032, 2274, 2247, 2032, 2032, 2032, 2032, 2032, 2248, 2032,
1111 2032, 2032, 2250, 2253, 2254, 2254, 2032, 2032, 2032, 2032,
1112 2032, 2257, 2032, 2032, 2032, 2259, 2032, 2032, 2032, 2032,
1113 2032, 2032, 2032, 2032, 2032, 2032, 2262, 2032, 2264, 2032,
1114 2032, 2032, 2032, 2265, 2265, 2032, 2032, 2032, 2268, 2268,
1115 2268, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032,
1116 2032, 2032, 2032, 2032, 2247, 2032, 2032, 2032, 2032, 2032,
1118 2032, 2032, 2253, 2254, 2254, 2032, 2032, 2032, 2032, 2032,
1119 2032, 2032, 2032, 2032, 2259, 2032, 2032, 2032, 2032, 2032,
1120 2032, 2032, 2032, 2032, 2032, 2262, 2032, 2264, 2032, 2032,
1121 2032, 2265, 2265, 2268, 2268, 2268, 2032, 2032, 2032, 2032,
1122 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032,
1123 2032, 2247, 2032, 2032, 2032, 2253, 2254, 2254, 2032, 2032,
1124 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2259, 2032,
1125 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2262, 2032, 2032,
1126 2032, 2264, 2265, 2265, 2268, 2032, 2032, 2268, 2032, 2032,
1127 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032,
1129 2032, 2032, 2247, 2253, 2254, 2254, 2254, 2032, 2032, 2032,
1130 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032,
1131 2032, 2032, 2032, 2262, 2032, 2032, 2032, 2264, 2265, 2265,
1132 2268, 2032, 2032, 2032, 2268, 2032, 2032, 2032, 2032, 2032,
1133 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032,
1134 2032, 2253, 2254, 2254, 2254, 2275, 2276, 2032, 2032, 2032,
1135 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032,
1136 2032, 2032, 2262, 2264, 2265, 2032, 2032, 2032, 2032, 2032,
1137 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032,
1138 2032, 2032, 2032, 2253, 2254, 2277, 2278, 2275, 2276, 2032,
1140 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032,
1141 2032, 2264, 2265, 2032, 2032, 2032, 2032, 2032, 2032, 2032,
1142 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032,
1143 2253, 2277, 2254, 2279, 2278, 2280, 2254, 2032, 2032, 2032,
1144 2032, 2032, 2032, 2264, 2265, 2032, 2032, 2032, 2032, 2032,
1145 2032, 2032, 2032, 2253, 2279, 2032, 2280, 2254, 2032, 2032,
1146 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032,
1147 2032, 2032, 2032, 2032, 2032, 2032, 2253, 2032, 2032, 2032,
1148 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032,
1149 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2253, 2032,
1151 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032,
1152 2032, 2032, 2032, 2032, 2032, 2032, 2253, 2032, 2032, 2032,
1153 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032,
1154 2032, 2032, 2032, 2253, 2032, 2032, 2032, 2032, 2032, 2032,
1155 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032,
1156 2253, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032,
1157 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2253, 2032, 2032,
1158 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032,
1159 2253, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2253,
1160 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2253, 2253,
1162 2032, 2032, 2032, 2032, 2032, 2032, 2253, 2253, 2253, 2253,
1163 2253, 2253, 2253, 2253, 2253, 2253, 2253, 2253, 2253, 2253,
1164 2253, 2253, 2253, 2253, 2253, 2253, 2253, 2253, 2253, 2253,
1165 2032, 0, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032,
1166 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032,
1167 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032,
1168 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032,
1169 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032,
1170 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032,
1171 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032,
1173 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032,
1174 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032,
1175 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032,
1176 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032,
1177 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032,
1178 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032,
1179 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032,
1180 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032,
1181 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032,
1182 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032,
1184 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032,
1185 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032,
1186 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032,
1187 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032,
1188 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032,
1189 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032,
1190 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032,
1191 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032
1194 static yyconst flex_int16_t yy_nxt[7191] =
1196 2032, 184, 185, 184, 184, 185, 184, 184, 185, 184,
1197 184, 185, 184, 189, 185, 189, 195, 186, 192, 195,
1198 186, 192, 2032, 187, 486, 193, 187, 587, 193, 190,
1199 189, 185, 189, 437, 196, 198, 199, 196, 198, 199,
1200 200, 201, 588, 200, 201, 437, 190, 205, 206, 438,
1201 202, 198, 199, 202, 203, 440, 200, 198, 199, 610,
1202 203, 439, 200, 205, 206, 611, 202, 185, 185, 185,
1203 498, 439, 202, 487, 185, 185, 185, 217, 185, 217,
1204 217, 185, 217, 208, 217, 185, 217, 482, 440, 207,
1205 208, 483, 2032, 218, 1059, 484, 218, 436, 436, 436,
1207 219, 436, 436, 436, 439, 207, 209, 210, 185, 210,
1208 209, 209, 209, 209, 209, 209, 209, 211, 209, 209,
1209 209, 503, 209, 213, 209, 214, 209, 217, 185, 217,
1210 217, 185, 217, 460, 1479, 217, 185, 217, 185, 185,
1211 185, 487, 463, 219, 451, 463, 220, 468, 440, 209,
1212 209, 220, 486, 1558, 221, 185, 185, 185, 436, 436,
1213 436, 436, 436, 436, 439, 436, 436, 436, 436, 436,
1214 436, 221, 215, 209, 210, 185, 210, 209, 209, 209,
1215 209, 209, 209, 209, 211, 209, 209, 209, 517, 209,
1216 213, 209, 214, 209, 217, 185, 217, 217, 185, 217,
1218 536, 469, 185, 185, 185, 185, 185, 185, 518, 498,
1219 219, 537, 521, 219, 514, 522, 209, 209, 222, 504,
1220 440, 222, 217, 185, 217, 217, 185, 217, 217, 185,
1221 217, 217, 185, 217, 1559, 2032, 439, 2032, 220, 215,
1222 469, 220, 463, 587, 223, 500, 467, 223, 224, 225,
1223 185, 225, 224, 224, 224, 224, 224, 224, 224, 226,
1224 224, 224, 224, 487, 224, 228, 224, 229, 224, 246,
1225 185, 246, 465, 458, 246, 185, 246, 624, 185, 185,
1226 185, 1560, 198, 199, 469, 247, 2032, 200, 198, 199,
1227 247, 224, 224, 200, 248, 514, 466, 233, 593, 230,
1229 542, 594, 231, 233, 436, 436, 436, 543, 232, 224,
1230 225, 185, 225, 224, 224, 224, 224, 224, 224, 224,
1231 226, 224, 224, 224, 234, 224, 228, 224, 229, 224,
1232 234, 185, 185, 185, 246, 185, 246, 1059, 246, 185,
1233 246, 246, 185, 246, 469, 440, 440, 248, 475, 440,
1234 247, 440, 224, 224, 247, 476, 493, 249, 1059, 538,
1235 230, 439, 439, 231, 439, 439, 445, 439, 1287, 232,
1236 235, 236, 185, 236, 235, 235, 235, 235, 235, 235,
1237 235, 237, 235, 235, 235, 466, 235, 239, 235, 240,
1238 235, 246, 185, 246, 260, 185, 260, 1286, 1561, 260,
1240 185, 260, 271, 185, 271, 524, 446, 249, 487, 440,
1241 261, 458, 447, 235, 235, 261, 448, 525, 272, 612,
1242 538, 449, 241, 1562, 242, 439, 505, 243, 436, 436,
1243 436, 1563, 613, 244, 235, 236, 185, 236, 235, 235,
1244 235, 235, 235, 235, 235, 237, 235, 235, 235, 466,
1245 235, 239, 235, 240, 235, 271, 185, 271, 271, 185,
1246 271, 457, 1564, 271, 185, 271, 185, 185, 185, 469,
1247 1565, 272, 1566, 440, 273, 469, 467, 235, 235, 273,
1248 440, 1568, 274, 436, 436, 436, 241, 526, 242, 439,
1249 570, 243, 468, 436, 436, 436, 439, 244, 250, 251,
1251 185, 251, 250, 250, 250, 250, 250, 250, 250, 252,
1252 250, 250, 250, 552, 250, 254, 250, 255, 250, 185,
1253 185, 185, 271, 185, 271, 571, 550, 271, 185, 271,
1254 271, 185, 271, 551, 606, 274, 440, 607, 275, 487,
1255 1318, 250, 250, 275, 440, 440, 276, 1319, 256, 436,
1256 436, 436, 439, 257, 436, 436, 436, 563, 461, 2032,
1257 439, 439, 258, 250, 251, 185, 251, 250, 250, 250,
1258 250, 250, 250, 250, 252, 250, 250, 250, 612, 250,
1259 254, 250, 255, 250, 271, 185, 271, 185, 185, 185,
1260 1569, 652, 185, 185, 185, 271, 185, 271, 1570, 610,
1262 276, 501, 461, 277, 502, 619, 250, 250, 277, 606,
1263 506, 273, 615, 256, 436, 436, 436, 1571, 257, 436,
1264 436, 436, 436, 436, 436, 544, 1059, 258, 262, 263,
1265 185, 263, 262, 262, 262, 262, 262, 262, 262, 264,
1266 262, 262, 262, 612, 262, 266, 262, 267, 262, 271,
1267 185, 271, 185, 185, 185, 1391, 654, 185, 185, 185,
1268 271, 185, 271, 617, 440, 273, 615, 732, 278, 610,
1269 545, 262, 262, 278, 469, 637, 276, 436, 436, 436,
1270 439, 734, 268, 436, 436, 436, 436, 436, 436, 1059,
1271 269, 262, 263, 185, 263, 262, 262, 262, 262, 262,
1273 262, 262, 264, 262, 262, 262, 612, 262, 266, 262,
1274 267, 262, 271, 185, 271, 271, 185, 271, 732, 655,
1275 271, 185, 271, 185, 185, 185, 732, 440, 276, 732,
1276 932, 279, 1392, 1285, 262, 262, 279, 732, 440, 280,
1277 185, 185, 185, 439, 440, 268, 271, 185, 271, 271,
1278 185, 271, 1167, 269, 439, 1056, 280, 185, 185, 185,
1279 439, 1574, 281, 1575, 440, 281, 185, 185, 185, 271,
1280 185, 271, 1579, 282, 271, 185, 271, 271, 185, 271,
1281 439, 1580, 282, 1581, 440, 279, 271, 185, 271, 949,
1282 279, 530, 1582, 283, 436, 436, 436, 436, 436, 436,
1284 439, 950, 283, 284, 285, 185, 285, 284, 284, 284,
1285 284, 284, 284, 284, 286, 284, 284, 284, 725, 284,
1286 288, 284, 289, 284, 296, 185, 296, 296, 185, 296,
1287 957, 613, 185, 185, 185, 185, 185, 185, 957, 440,
1288 297, 1059, 950, 297, 1583, 440, 284, 284, 248, 290,
1289 974, 248, 296, 185, 296, 439, 732, 291, 436, 436,
1290 436, 439, 1390, 292, 1606, 1607, 293, 1059, 297, 294,
1291 284, 285, 185, 285, 284, 284, 284, 284, 284, 284,
1292 284, 286, 284, 284, 284, 1480, 284, 288, 284, 289,
1293 284, 296, 185, 296, 296, 185, 296, 1545, 1323, 296,
1295 185, 296, 312, 185, 312, 1324, 1435, 297, 1608, 1615,
1296 298, 1437, 1436, 284, 284, 298, 290, 1438, 313, 312,
1297 185, 312, 1457, 1459, 291, 436, 436, 436, 1458, 1460,
1298 292, 1616, 1059, 293, 1617, 313, 294, 299, 300, 185,
1299 300, 299, 299, 299, 299, 299, 299, 299, 301, 299,
1300 299, 299, 732, 299, 303, 299, 304, 299, 322, 185,
1301 322, 322, 185, 322, 1611, 1618, 335, 185, 335, 335,
1302 185, 335, 1605, 1619, 323, 1612, 440, 323, 1620, 1613,
1303 299, 299, 336, 557, 305, 336, 436, 436, 436, 1603,
1304 1614, 306, 439, 307, 436, 436, 436, 308, 1621, 309,
1306 310, 299, 300, 185, 300, 299, 299, 299, 299, 299,
1307 299, 299, 301, 299, 299, 299, 1622, 299, 303, 299,
1308 304, 299, 185, 185, 185, 185, 185, 185, 1623, 1624,
1309 335, 185, 335, 335, 185, 335, 1625, 1627, 248, 1628,
1310 440, 248, 1632, 1633, 299, 299, 336, 575, 305, 336,
1311 436, 436, 436, 1634, 1635, 306, 439, 307, 436, 436,
1312 436, 308, 1636, 309, 310, 314, 315, 185, 315, 314,
1313 314, 314, 314, 314, 314, 314, 316, 314, 314, 314,
1314 1660, 314, 318, 314, 319, 314, 335, 185, 335, 335,
1315 185, 335, 1661, 1646, 347, 185, 347, 347, 185, 347,
1317 1059, 1647, 337, 1649, 1665, 337, 1666, 1648, 314, 314,
1318 348, 1650, 1059, 348, 436, 436, 436, 1651, 1667, 320,
1319 314, 315, 185, 315, 314, 314, 314, 314, 314, 314,
1320 314, 316, 314, 314, 314, 1546, 314, 318, 314, 319,
1321 314, 185, 185, 185, 185, 185, 185, 1604, 1668, 347,
1322 185, 347, 347, 185, 347, 1669, 1670, 349, 1671, 1672,
1323 349, 1673, 1674, 314, 314, 348, 1675, 1676, 348, 436,
1324 436, 436, 1059, 1677, 320, 324, 325, 185, 325, 324,
1325 324, 324, 324, 324, 324, 324, 326, 324, 324, 324,
1326 732, 324, 328, 324, 329, 324, 347, 185, 347, 347,
1328 185, 347, 1683, 1684, 361, 185, 361, 361, 185, 361,
1329 1685, 1657, 350, 1688, 440, 350, 1697, 1656, 324, 324,
1330 362, 585, 330, 362, 436, 436, 436, 1059, 1698, 331,
1331 439, 332, 436, 436, 436, 436, 436, 436, 333, 324,
1332 325, 185, 325, 324, 324, 324, 324, 324, 324, 324,
1333 326, 324, 324, 324, 1699, 324, 328, 324, 329, 324,
1334 185, 185, 185, 185, 185, 185, 1658, 1689, 361, 185,
1335 361, 361, 185, 361, 1700, 1691, 349, 1690, 1701, 349,
1336 1702, 1693, 324, 324, 362, 1692, 330, 362, 436, 436,
1337 436, 1694, 1708, 331, 732, 332, 436, 436, 436, 436,
1339 436, 436, 333, 338, 339, 185, 339, 338, 338, 338,
1340 338, 338, 338, 338, 340, 338, 338, 338, 1709, 338,
1341 342, 338, 343, 338, 361, 185, 361, 361, 185, 361,
1342 1710, 1695, 373, 185, 373, 373, 185, 373, 1711, 1704,
1343 363, 1696, 1712, 363, 1713, 1716, 338, 338, 374, 1059,
1344 1717, 374, 344, 436, 436, 436, 436, 436, 436, 436,
1345 436, 436, 591, 591, 591, 1718, 345, 338, 339, 185,
1346 339, 338, 338, 338, 338, 338, 338, 338, 340, 338,
1347 338, 338, 1705, 338, 342, 338, 343, 338, 385, 185,
1348 385, 385, 185, 385, 1719, 1720, 185, 185, 185, 185,
1350 185, 185, 1721, 1722, 386, 1723, 1728, 386, 1729, 1730,
1351 338, 338, 349, 1731, 1735, 349, 344, 1736, 592, 591,
1352 591, 591, 1737, 736, 749, 749, 749, 763, 763, 763,
1353 345, 351, 352, 185, 352, 351, 351, 351, 351, 351,
1354 351, 351, 353, 351, 351, 351, 1738, 351, 355, 351,
1355 356, 351, 385, 185, 385, 385, 185, 385, 1739, 1740,
1356 385, 185, 385, 385, 185, 385, 1741, 1742, 386, 1743,
1357 1744, 386, 1745, 825, 351, 351, 387, 1746, 1747, 387,
1358 357, 1748, 826, 358, 1749, 750, 1760, 1761, 750, 827,
1359 749, 749, 749, 1762, 359, 351, 352, 185, 352, 351,
1361 351, 351, 351, 351, 351, 351, 353, 351, 351, 351,
1362 732, 351, 355, 351, 356, 351, 399, 185, 399, 399,
1363 185, 399, 1763, 1767, 185, 185, 185, 185, 185, 185,
1364 1768, 1769, 400, 1770, 1771, 400, 1772, 1774, 351, 351,
1365 401, 1775, 1752, 401, 357, 1782, 1783, 358, 768, 768,
1366 768, 807, 769, 1784, 1785, 770, 1786, 1787, 359, 364,
1367 365, 185, 365, 364, 364, 364, 364, 364, 364, 364,
1368 366, 364, 364, 364, 1788, 364, 368, 364, 369, 364,
1369 399, 185, 399, 399, 185, 399, 1789, 1790, 399, 185,
1370 399, 399, 185, 399, 1791, 1792, 400, 1793, 1800, 400,
1372 1801, 732, 364, 364, 402, 1802, 1803, 402, 370, 749,
1373 749, 749, 1804, 371, 364, 365, 185, 365, 364, 364,
1374 364, 364, 364, 364, 364, 366, 364, 364, 364, 1805,
1375 364, 368, 364, 369, 364, 411, 185, 411, 411, 185,
1376 411, 1794, 1806, 421, 185, 421, 421, 185, 421, 1807,
1377 1808, 412, 1809, 1812, 412, 1813, 1823, 364, 364, 422,
1378 1824, 1825, 422, 370, 763, 763, 763, 1826, 371, 375,
1379 376, 185, 376, 375, 375, 375, 375, 375, 375, 375,
1380 377, 375, 375, 375, 1827, 375, 379, 375, 380, 375,
1381 185, 185, 185, 185, 185, 185, 1828, 1829, 421, 185,
1383 421, 421, 185, 421, 1830, 732, 248, 1838, 1833, 248,
1384 1839, 1840, 375, 375, 423, 1841, 1833, 423, 381, 1836,
1385 1842, 382, 778, 778, 778, 807, 779, 1843, 1844, 780,
1386 1834, 1845, 383, 375, 376, 185, 376, 375, 375, 375,
1387 375, 375, 375, 375, 377, 375, 375, 375, 1831, 375,
1388 379, 375, 380, 375, 421, 185, 421, 421, 185, 421,
1389 1856, 1846, 434, 185, 434, 434, 185, 434, 1856, 1848,
1390 424, 1847, 1859, 424, 1850, 1860, 375, 375, 435, 1849,
1391 1852, 435, 381, 498, 1851, 382, 579, 799, 799, 799,
1392 1853, 800, 1867, 499, 801, 732, 383, 388, 389, 185,
1394 389, 388, 388, 388, 388, 388, 388, 388, 390, 388,
1395 388, 388, 1833, 388, 392, 388, 393, 388, 1870, 500,
1396 1873, 457, 621, 621, 621, 501, 1834, 1833, 502, 629,
1397 629, 629, 1865, 1854, 503, 1059, 1060, 580, 1836, 622,
1398 388, 388, 643, 643, 643, 1876, 630, 1856, 394, 1866,
1399 395, 1878, 396, 763, 763, 763, 1071, 1071, 1071, 644,
1400 397, 388, 389, 185, 389, 388, 388, 388, 388, 388,
1401 388, 388, 390, 388, 388, 388, 1856, 388, 392, 388,
1402 393, 388, 657, 657, 657, 665, 665, 665, 1879, 667,
1403 667, 667, 677, 677, 677, 1199, 682, 682, 682, 658,
1405 1200, 1880, 666, 1201, 388, 388, 668, 1202, 1887, 678,
1406 1888, 1889, 394, 683, 395, 1890, 396, 1891, 1072, 1072,
1407 1072, 1076, 1076, 1076, 397, 403, 404, 185, 404, 403,
1408 403, 403, 403, 403, 403, 403, 405, 403, 403, 403,
1409 1892, 403, 407, 403, 408, 403, 702, 702, 702, 721,
1410 721, 721, 1893, 726, 726, 726, 745, 745, 745, 745,
1411 745, 745, 1073, 703, 1868, 1894, 722, 1871, 403, 403,
1412 727, 621, 621, 621, 747, 1895, 1896, 747, 815, 815,
1413 815, 1869, 816, 1897, 1872, 817, 1898, 1900, 622, 1905,
1414 1874, 409, 403, 404, 185, 404, 403, 403, 403, 403,
1416 403, 403, 403, 405, 403, 403, 403, 1875, 403, 407,
1417 403, 408, 403, 1906, 748, 773, 773, 773, 1907, 773,
1418 773, 773, 629, 629, 629, 781, 781, 781, 784, 784,
1419 784, 1901, 1908, 775, 1903, 403, 403, 775, 1909, 630,
1420 1910, 1902, 782, 1911, 1904, 785, 828, 828, 828, 1912,
1421 829, 1913, 1914, 830, 1096, 1096, 1096, 1915, 409, 413,
1422 414, 185, 414, 413, 413, 413, 413, 413, 413, 413,
1423 415, 413, 413, 413, 1916, 413, 417, 413, 418, 413,
1424 776, 787, 787, 787, 1918, 1919, 795, 795, 795, 1920,
1425 787, 787, 787, 795, 795, 795, 1107, 1107, 1107, 789,
1427 1921, 1922, 413, 413, 797, 831, 831, 831, 789, 832,
1428 1923, 797, 833, 419, 413, 414, 185, 414, 413, 413,
1429 413, 413, 413, 413, 413, 415, 413, 413, 413, 732,
1430 413, 417, 413, 418, 413, 790, 643, 643, 643, 1924,
1431 1925, 803, 803, 803, 657, 657, 657, 1926, 1927, 803,
1432 803, 803, 1917, 644, 798, 1928, 1929, 413, 413, 805,
1433 1930, 658, 1108, 1108, 1108, 1931, 1932, 805, 419, 425,
1434 426, 185, 426, 425, 425, 425, 425, 425, 425, 425,
1435 427, 425, 425, 425, 806, 425, 429, 425, 430, 425,
1436 821, 821, 821, 821, 821, 821, 1933, 665, 665, 665,
1438 667, 667, 667, 834, 834, 834, 1073, 1935, 823, 1936,
1439 1203, 823, 425, 425, 666, 1204, 1937, 668, 1205, 1938,
1440 835, 1939, 1206, 431, 845, 845, 845, 1940, 846, 1941,
1441 1942, 847, 1072, 1072, 1072, 432, 425, 426, 185, 426,
1442 425, 425, 425, 425, 425, 425, 425, 427, 425, 425,
1443 425, 824, 425, 429, 425, 430, 425, 841, 841, 841,
1444 841, 841, 841, 1943, 677, 677, 677, 848, 848, 848,
1445 848, 848, 848, 1944, 1945, 843, 1141, 732, 843, 425,
1446 425, 678, 682, 682, 682, 850, 1946, 1947, 850, 1948,
1447 431, 853, 853, 853, 1934, 854, 1949, 1950, 855, 683,
1449 1952, 1953, 432, 440, 859, 859, 859, 859, 859, 859,
1450 455, 1954, 863, 863, 863, 844, 865, 865, 865, 439,
1451 456, 1955, 861, 1956, 1957, 861, 732, 1958, 851, 864,
1452 868, 868, 868, 866, 2032, 2032, 2032, 1959, 868, 868,
1453 868, 873, 873, 873, 1951, 457, 458, 459, 870, 1960,
1454 1961, 2032, 460, 1962, 1963, 461, 870, 1964, 874, 462,
1455 862, 463, 1965, 464, 2032, 2032, 2032, 877, 877, 877,
1456 2032, 2032, 2032, 880, 880, 880, 880, 880, 880, 1966,
1457 1967, 2032, 1969, 867, 878, 1970, 732, 2032, 702, 702,
1458 702, 882, 1968, 1971, 882, 1972, 871, 885, 885, 885,
1460 1973, 886, 1974, 1975, 887, 703, 888, 888, 888, 1976,
1461 1977, 883, 875, 888, 888, 888, 892, 892, 892, 879,
1462 2032, 2032, 2032, 1978, 890, 1979, 876, 896, 896, 896,
1463 1980, 890, 1982, 893, 898, 898, 898, 2032, 898, 898,
1464 898, 906, 906, 906, 897, 732, 906, 906, 906, 912,
1465 912, 912, 900, 912, 912, 912, 900, 1981, 1983, 908,
1466 721, 721, 721, 1984, 908, 1985, 891, 914, 894, 1986,
1467 1987, 914, 916, 916, 916, 1988, 917, 722, 1989, 918,
1468 1991, 1992, 895, 919, 919, 919, 919, 919, 919, 1993,
1469 1994, 726, 726, 726, 1995, 924, 924, 924, 1996, 925,
1471 1997, 921, 926, 1998, 921, 2001, 901, 909, 727, 928,
1472 928, 928, 2002, 2003, 915, 928, 928, 928, 745, 745,
1473 745, 745, 745, 745, 745, 745, 745, 930, 958, 958,
1474 958, 2004, 2005, 930, 2006, 732, 747, 732, 1557, 747,
1475 2021, 1556, 747, 2022, 922, 959, 768, 768, 768, 732,
1476 769, 1552, 732, 770, 2032, 2032, 2032, 773, 773, 773,
1477 773, 773, 773, 773, 773, 773, 778, 778, 778, 940,
1478 779, 2032, 2009, 780, 732, 775, 931, 2029, 775, 2007,
1479 1551, 775, 781, 781, 781, 964, 964, 964, 1550, 965,
1480 732, 732, 966, 967, 967, 967, 784, 784, 784, 782,
1482 969, 969, 969, 732, 970, 1549, 732, 971, 962, 2010,
1483 968, 732, 960, 785, 787, 787, 787, 787, 787, 787,
1484 787, 787, 787, 976, 976, 976, 795, 795, 795, 795,
1485 795, 795, 789, 732, 2008, 789, 2013, 732, 789, 2014,
1486 977, 795, 795, 795, 797, 732, 1539, 797, 799, 799,
1487 799, 1527, 800, 1525, 2015, 801, 803, 803, 803, 797,
1488 803, 803, 803, 981, 981, 981, 815, 815, 815, 732,
1489 816, 2011, 732, 817, 805, 2012, 732, 973, 805, 1524,
1490 2017, 982, 821, 821, 821, 1523, 979, 821, 821, 821,
1491 821, 821, 821, 1522, 828, 828, 828, 1521, 829, 2019,
1493 823, 830, 831, 831, 831, 823, 832, 2018, 823, 833,
1494 834, 834, 834, 998, 998, 998, 1520, 999, 1519, 2016,
1495 1000, 841, 841, 841, 841, 841, 841, 835, 841, 841,
1496 841, 845, 845, 845, 732, 846, 1518, 1512, 847, 843,
1497 732, 732, 843, 848, 848, 848, 843, 848, 848, 848,
1498 1511, 2029, 994, 848, 848, 848, 853, 853, 853, 732,
1499 854, 850, 732, 855, 2020, 850, 859, 859, 859, 1510,
1500 2023, 850, 859, 859, 859, 859, 859, 859, 863, 863,
1501 863, 1013, 1013, 1013, 861, 1014, 2025, 1509, 1015, 2024,
1502 861, 732, 1006, 861, 1508, 864, 865, 865, 865, 1016,
1504 1016, 1016, 1507, 1017, 732, 1506, 1018, 868, 868, 868,
1505 868, 868, 868, 866, 873, 873, 873, 1007, 868, 868,
1506 868, 2027, 1022, 1022, 1022, 870, 1023, 1505, 870, 1024,
1507 732, 874, 1012, 877, 877, 877, 870, 1027, 1027, 1027,
1508 1504, 1028, 1502, 1501, 1029, 880, 880, 880, 1500, 2026,
1509 878, 880, 880, 880, 880, 880, 880, 885, 885, 885,
1510 2028, 886, 1499, 882, 887, 888, 888, 888, 1498, 882,
1511 1497, 1496, 882, 888, 888, 888, 888, 888, 888, 892,
1512 892, 892, 1020, 890, 1495, 1034, 1034, 1034, 1494, 1035,
1513 1493, 890, 1036, 1492, 890, 1489, 893, 896, 896, 896,
1515 1039, 1039, 1039, 1488, 1040, 1487, 1484, 1041, 898, 898,
1516 898, 898, 898, 898, 897, 1031, 898, 898, 898, 1044,
1517 1044, 1044, 906, 906, 906, 1474, 900, 1472, 1471, 900,
1518 906, 906, 906, 1033, 900, 1466, 1045, 906, 906, 906,
1519 908, 912, 912, 912, 912, 912, 912, 1464, 908, 912,
1520 912, 912, 919, 919, 919, 908, 916, 916, 916, 914,
1521 917, 1463, 914, 918, 919, 919, 919, 914, 1462, 1461,
1522 921, 919, 919, 919, 1456, 1042, 924, 924, 924, 1455,
1523 925, 1451, 921, 926, 928, 928, 928, 1447, 1443, 921,
1524 928, 928, 928, 1439, 1434, 1048, 928, 928, 928, 1433,
1526 1051, 1427, 930, 1058, 1058, 1058, 1426, 1425, 930, 745,
1527 745, 745, 1424, 1423, 930, 958, 958, 958, 967, 967,
1528 967, 1059, 1060, 773, 773, 773, 1422, 747, 1052, 1084,
1529 1084, 1084, 959, 1085, 1421, 968, 1086, 1420, 964, 964,
1530 964, 775, 965, 1419, 1418, 966, 1091, 1091, 1091, 1412,
1531 1092, 1411, 1410, 1093, 1055, 969, 969, 969, 1409, 970,
1532 1407, 1405, 971, 787, 787, 787, 976, 976, 976, 1403,
1533 1089, 1402, 1065, 1098, 1098, 1098, 1400, 1099, 1399, 1393,
1534 1100, 789, 1386, 977, 1101, 1101, 1101, 795, 795, 795,
1535 981, 981, 981, 1113, 1113, 1113, 1115, 1115, 1115, 1384,
1537 1383, 1102, 821, 821, 821, 797, 1382, 1373, 982, 1371,
1538 1114, 1095, 1364, 1116, 1120, 1120, 1120, 1071, 1071, 1071,
1539 823, 2032, 2032, 2032, 2032, 2032, 2032, 1361, 998, 998,
1540 998, 1121, 999, 1360, 1103, 1000, 1359, 1358, 2032, 1357,
1541 1117, 2032, 1124, 1124, 1124, 2032, 2032, 2032, 1353, 2032,
1542 2032, 2032, 1347, 2032, 2032, 2032, 2032, 2032, 2032, 1125,
1543 1341, 1335, 2032, 1334, 1333, 1119, 2032, 1332, 1330, 1123,
1544 2032, 1329, 1325, 2032, 841, 841, 841, 848, 848, 848,
1545 1135, 1135, 1135, 1322, 1122, 859, 859, 859, 1321, 1013,
1546 1013, 1013, 843, 1014, 1127, 850, 1015, 1136, 1016, 1016,
1548 1016, 1320, 1017, 861, 1317, 1018, 1316, 868, 868, 868,
1549 1128, 1312, 1126, 1022, 1022, 1022, 1311, 1023, 1308, 1307,
1550 1024, 1306, 1305, 1129, 1137, 870, 1027, 1027, 1027, 1304,
1551 1028, 1302, 1299, 1029, 1298, 1297, 1130, 1295, 1294, 1138,
1552 1131, 880, 880, 880, 888, 888, 888, 1034, 1034, 1034,
1553 1293, 1035, 1292, 1288, 1036, 1279, 1039, 1039, 1039, 882,
1554 1040, 1273, 890, 1041, 898, 898, 898, 1044, 1044, 1044,
1555 1140, 1152, 1152, 1152, 1271, 1153, 1270, 1269, 1154, 906,
1556 906, 906, 900, 1262, 1045, 1159, 1159, 1159, 912, 912,
1557 912, 1255, 919, 919, 919, 1253, 1250, 908, 1147, 1145,
1559 1246, 1245, 1160, 1164, 1164, 1164, 914, 1244, 1224, 1150,
1560 921, 928, 928, 928, 1058, 1058, 1058, 745, 745, 745,
1561 1165, 1072, 1072, 1072, 1223, 1216, 1157, 1213, 1212, 930,
1562 1211, 1198, 1059, 1196, 1195, 747, 1076, 1076, 1076, 1183,
1563 1183, 1183, 1162, 1185, 1185, 1185, 1189, 1189, 1189, 1084,
1564 1084, 1084, 1161, 1085, 1193, 1192, 1086, 773, 773, 773,
1565 787, 787, 787, 1168, 1091, 1091, 1091, 1173, 1092, 1191,
1566 1166, 1093, 1096, 1096, 1096, 775, 1188, 1187, 789, 1169,
1567 1182, 1098, 1098, 1098, 1181, 1099, 1180, 1186, 1100, 1179,
1568 1190, 1101, 1101, 1101, 1207, 1207, 1207, 1178, 1208, 1177,
1570 1184, 1209, 795, 795, 795, 1176, 1194, 1175, 1102, 1107,
1571 1107, 1107, 1108, 1108, 1108, 1214, 1214, 1214, 1197, 1174,
1572 797, 1214, 1214, 1214, 1183, 1183, 1183, 1113, 1113, 1113,
1573 1217, 1217, 1217, 1172, 1218, 1171, 1170, 1219, 1115, 1115,
1574 1115, 1220, 1220, 1220, 1114, 1221, 1059, 1163, 1222, 1158,
1575 1156, 1210, 1225, 1225, 1225, 1116, 1120, 1120, 1120, 1227,
1576 1227, 1227, 1155, 1228, 1151, 1149, 1229, 1230, 1230, 1230,
1577 1226, 1148, 1146, 1121, 1144, 1143, 1215, 2032, 2032, 2032,
1578 1142, 1139, 1184, 1134, 1231, 1215, 1124, 1124, 1124, 1233,
1579 1233, 1233, 1133, 1234, 2032, 1132, 1235, 1236, 1236, 1236,
1581 2032, 2032, 2032, 1125, 1118, 2032, 2032, 2032, 1240, 1240,
1582 1240, 841, 841, 841, 1237, 1112, 1111, 2032, 848, 848,
1583 848, 1110, 2032, 1109, 1106, 1241, 1135, 1135, 1135, 843,
1584 1247, 1247, 1247, 1105, 1248, 1104, 850, 1249, 1232, 1251,
1585 1251, 1251, 1097, 1136, 868, 868, 868, 1256, 1256, 1256,
1586 1094, 1258, 1258, 1258, 1090, 1238, 1239, 1252, 2032, 2032,
1587 2032, 1088, 870, 1087, 1257, 1083, 1082, 1243, 1259, 880,
1588 880, 880, 1081, 1080, 1242, 2032, 888, 888, 888, 1264,
1589 1264, 1264, 1266, 1266, 1266, 1079, 1078, 882, 898, 898,
1590 898, 1077, 1075, 1254, 890, 1074, 1265, 1070, 1069, 1267,
1592 1152, 1152, 1152, 1068, 1153, 1067, 900, 1154, 906, 906,
1593 906, 1260, 1159, 1159, 1159, 1274, 1274, 1274, 1066, 1275,
1594 1263, 1064, 1276, 912, 912, 912, 908, 1063, 1062, 1160,
1595 919, 919, 919, 1261, 1164, 1164, 1164, 1061, 1280, 1280,
1596 1280, 914, 1281, 1054, 1053, 1282, 1050, 1049, 921, 1047,
1597 1268, 1165, 1283, 1283, 1283, 1046, 1043, 1272, 1289, 1289,
1598 1289, 1038, 745, 745, 745, 1296, 1296, 1296, 1037, 1032,
1599 1284, 1300, 1300, 1300, 1030, 1290, 1183, 1183, 1183, 1277,
1600 747, 1026, 1025, 1278, 1301, 1301, 1301, 1185, 1185, 1185,
1601 1303, 1303, 1303, 1189, 1189, 1189, 1309, 1309, 1309, 787,
1603 787, 787, 1314, 1314, 1314, 1207, 1207, 1207, 1021, 1208,
1604 1019, 1011, 1209, 1010, 1310, 1009, 1008, 789, 1005, 1315,
1605 1291, 795, 795, 795, 1327, 1327, 1327, 1214, 1214, 1214,
1606 1331, 1331, 1331, 1217, 1217, 1217, 1004, 1218, 1003, 797,
1607 1219, 1328, 1220, 1220, 1220, 1002, 1221, 1001, 997, 1222,
1608 1336, 1336, 1336, 996, 995, 1313, 1225, 1225, 1225, 1227,
1609 1227, 1227, 993, 1228, 992, 1326, 1229, 1337, 1230, 1230,
1610 1230, 1338, 1338, 1338, 1226, 1339, 991, 990, 1340, 1233,
1611 1233, 1233, 989, 1234, 988, 1231, 1235, 1236, 1236, 1236,
1612 1342, 1342, 1342, 987, 1343, 986, 985, 1344, 1345, 1345,
1614 1345, 1240, 1240, 1240, 1237, 1348, 1348, 1348, 984, 1349,
1615 983, 980, 1350, 978, 975, 1346, 972, 963, 1241, 841,
1616 841, 841, 848, 848, 848, 1354, 1354, 1354, 1247, 1247,
1617 1247, 961, 1248, 956, 955, 1249, 954, 843, 953, 952,
1618 850, 951, 1355, 1251, 1251, 1251, 1362, 1362, 1362, 1256,
1619 1256, 1256, 1365, 1365, 1365, 948, 1366, 947, 946, 1367,
1620 945, 1252, 944, 943, 1363, 942, 1257, 941, 1351, 1356,
1621 1258, 1258, 1258, 1368, 1368, 1368, 939, 1369, 938, 937,
1622 1370, 936, 935, 1352, 880, 880, 880, 1259, 888, 888,
1623 888, 1264, 1264, 1264, 1375, 1375, 1375, 934, 1376, 933,
1625 732, 1377, 882, 1266, 1266, 1266, 890, 927, 1265, 1378,
1626 1378, 1378, 923, 1379, 911, 910, 1380, 1389, 1389, 1389,
1627 1267, 898, 898, 898, 906, 906, 906, 1274, 1274, 1274,
1628 905, 1275, 904, 903, 1276, 1374, 912, 912, 912, 900,
1629 902, 884, 908, 919, 919, 919, 872, 1372, 1280, 1280,
1630 1280, 858, 1281, 857, 914, 1282, 1283, 1283, 1283, 856,
1631 852, 921, 1289, 1289, 1289, 1394, 1394, 1394, 840, 1395,
1632 839, 838, 1396, 837, 1284, 745, 745, 745, 836, 1290,
1633 1398, 1398, 1398, 1381, 820, 1387, 1385, 1401, 1401, 1401,
1634 1296, 1296, 1296, 747, 1388, 1404, 1404, 1404, 1300, 1300,
1636 1300, 1301, 1301, 1301, 1303, 1303, 1303, 1406, 1406, 1406,
1637 1408, 1408, 1408, 1309, 1309, 1309, 1413, 1413, 1413, 819,
1638 1314, 1314, 1314, 1415, 1415, 1415, 818, 1416, 814, 813,
1639 1417, 1310, 812, 811, 1414, 810, 1397, 1315, 795, 795,
1640 795, 1327, 1327, 1327, 1429, 1429, 1429, 809, 1430, 808,
1641 802, 1431, 1432, 1432, 1432, 794, 797, 793, 1328, 1331,
1642 1331, 1331, 1336, 1336, 1336, 1440, 1440, 1440, 792, 1441,
1643 791, 786, 1442, 1338, 1338, 1338, 783, 1339, 777, 1337,
1644 1340, 772, 1342, 1342, 1342, 1428, 1343, 771, 767, 1344,
1645 1345, 1345, 1345, 1444, 1444, 1444, 766, 1445, 765, 764,
1647 1446, 1348, 1348, 1348, 762, 1349, 761, 1346, 1350, 841,
1648 841, 841, 1449, 1449, 1449, 1354, 1354, 1354, 1452, 1452,
1649 1452, 760, 1453, 759, 758, 1454, 757, 843, 756, 755,
1650 1450, 754, 1355, 1362, 1362, 1362, 1365, 1365, 1365, 753,
1651 1366, 752, 751, 1367, 744, 1368, 1368, 1368, 743, 1369,
1652 742, 1363, 1370, 880, 880, 880, 888, 888, 888, 1375,
1653 1375, 1375, 741, 1376, 740, 739, 1377, 898, 898, 898,
1654 1448, 882, 738, 735, 890, 1378, 1378, 1378, 733, 1379,
1655 732, 730, 1380, 728, 724, 900, 1469, 1469, 1469, 906,
1656 906, 906, 912, 912, 912, 1476, 1476, 1476, 1389, 1389,
1658 1389, 1468, 1465, 1470, 1478, 1478, 1478, 908, 720, 718,
1659 914, 717, 716, 1477, 1481, 1481, 1481, 714, 713, 1467,
1660 712, 711, 732, 1394, 1394, 1394, 710, 1395, 708, 707,
1661 1396, 706, 745, 745, 745, 1398, 1398, 1398, 1483, 1483,
1662 1483, 1401, 1401, 1401, 1485, 1485, 1485, 705, 701, 1475,
1663 747, 1473, 1486, 1486, 1486, 1404, 1404, 1404, 1406, 1406,
1664 1406, 1408, 1408, 1408, 1490, 1490, 1490, 1413, 1413, 1413,
1665 1415, 1415, 1415, 700, 1416, 698, 697, 1417, 795, 795,
1666 795, 1491, 1429, 1429, 1429, 1414, 1430, 696, 1482, 1431,
1667 1432, 1432, 1432, 1440, 1440, 1440, 797, 1441, 695, 694,
1669 1442, 1444, 1444, 1444, 693, 1445, 691, 690, 1446, 1513,
1670 1513, 1513, 1449, 1449, 1449, 1515, 1515, 1515, 1452, 1452,
1671 1452, 689, 1453, 688, 686, 1454, 685, 1514, 684, 681,
1672 1450, 680, 1516, 1526, 1526, 1526, 1503, 1528, 1528, 1528,
1673 1530, 1530, 1530, 888, 888, 888, 898, 898, 898, 1469,
1674 1469, 1469, 1540, 1540, 1540, 1529, 676, 1531, 674, 1517,
1675 673, 890, 672, 671, 900, 670, 1470, 1534, 1534, 1534,
1676 1541, 1535, 669, 664, 1536, 1537, 1537, 1537, 1542, 1542,
1677 1542, 912, 912, 912, 1476, 1476, 1476, 1478, 1478, 1478,
1678 663, 661, 1538, 1481, 1481, 1481, 1547, 1547, 1547, 914,
1680 1532, 660, 1477, 659, 1533, 732, 1483, 1483, 1483, 1485,
1681 1485, 1485, 656, 653, 1548, 1486, 1486, 1486, 1490, 1490,
1682 1490, 1553, 1553, 1553, 651, 1554, 650, 649, 1555, 795,
1683 795, 795, 1572, 1572, 1572, 1491, 1513, 1513, 1513, 1515,
1684 1515, 1515, 648, 647, 1543, 645, 1544, 797, 642, 1573,
1685 640, 1576, 1576, 1576, 1514, 1577, 1516, 639, 1578, 1584,
1686 1584, 1584, 1586, 1586, 1586, 1526, 1526, 1526, 1588, 1588,
1687 1588, 1528, 1528, 1528, 638, 636, 1585, 634, 633, 1587,
1688 1530, 1530, 1530, 632, 631, 1589, 1567, 628, 627, 1529,
1689 626, 1590, 1590, 1590, 623, 1591, 620, 1531, 1592, 1593,
1691 1593, 1593, 898, 898, 898, 1534, 1534, 1534, 618, 1535,
1692 616, 614, 1536, 1537, 1537, 1537, 609, 1594, 608, 605,
1693 900, 1596, 1596, 1596, 604, 1597, 603, 602, 1598, 600,
1694 1538, 1599, 1599, 1599, 1540, 1540, 1540, 1542, 1542, 1542,
1695 1601, 1601, 1601, 1547, 1547, 1547, 599, 598, 1600, 1659,
1696 1659, 1659, 1541, 1609, 1609, 1609, 597, 596, 1602, 595,
1697 590, 1548, 795, 795, 795, 587, 1595, 1553, 1553, 1553,
1698 1610, 1554, 589, 584, 1555, 1572, 1572, 1572, 583, 581,
1699 797, 1629, 1629, 1629, 463, 1630, 578, 576, 1631, 1576,
1700 1576, 1576, 1573, 1577, 574, 572, 1578, 1584, 1584, 1584,
1702 1637, 1637, 1637, 2032, 1638, 569, 568, 1639, 1586, 1586,
1703 1586, 1640, 1640, 1640, 1585, 1641, 567, 566, 1642, 1626,
1704 1588, 1588, 1588, 564, 563, 1587, 1643, 1643, 1643, 562,
1705 1644, 561, 560, 1645, 1590, 1590, 1590, 1589, 1591, 558,
1706 556, 1592, 1593, 1593, 1593, 898, 898, 898, 1596, 1596,
1707 1596, 555, 1597, 553, 552, 1598, 1599, 1599, 1599, 549,
1708 1594, 548, 546, 900, 1653, 1653, 1653, 461, 1654, 2032,
1709 541, 1655, 539, 1600, 1601, 1601, 1601, 1609, 1609, 1609,
1710 1662, 1662, 1662, 535, 1663, 534, 533, 1664, 795, 795,
1711 795, 531, 1602, 529, 1610, 1679, 1679, 1679, 1680, 1680,
1713 1680, 527, 523, 1629, 1629, 1629, 797, 1630, 1652, 520,
1714 1631, 1686, 1686, 1686, 519, 1681, 1637, 1637, 1637, 515,
1715 1638, 513, 512, 1639, 511, 1640, 1640, 1640, 1687, 1641,
1716 510, 509, 1642, 507, 1643, 1643, 1643, 1678, 1644, 2032,
1717 466, 1645, 1682, 898, 898, 898, 1653, 1653, 1653, 502,
1718 1654, 497, 496, 1655, 1706, 1706, 1706, 1659, 1659, 1659,
1719 494, 900, 1662, 1662, 1662, 492, 1663, 491, 490, 1664,
1720 488, 1707, 1059, 1714, 1714, 1714, 795, 795, 795, 1679,
1721 1679, 1679, 1680, 1680, 1680, 1686, 1686, 1686, 485, 481,
1722 1715, 480, 1703, 478, 797, 477, 1725, 1725, 1725, 1681,
1724 1726, 474, 1687, 1727, 1732, 1732, 1732, 473, 1733, 472,
1725 470, 1734, 1750, 1750, 1750, 1753, 1753, 1753, 1706, 1706,
1726 1706, 469, 2032, 1724, 1755, 1755, 1755, 465, 1756, 454,
1727 1751, 1757, 1754, 1059, 452, 1707, 1059, 1758, 1758, 1758,
1728 450, 444, 1059, 1759, 1759, 1759, 1714, 1714, 1714, 1764,
1729 1764, 1764, 443, 1765, 444, 443, 1766, 795, 795, 795,
1730 1725, 1725, 1725, 1715, 1726, 442, 441, 1727, 1776, 1776,
1731 1776, 1778, 1778, 1778, 2032, 797, 1732, 1732, 1732, 2032,
1732 1733, 2032, 2032, 1734, 2032, 1777, 2032, 2032, 1779, 1780,
1733 1780, 1780, 1750, 1750, 1750, 1753, 1753, 1753, 1795, 1795,
1735 1795, 2032, 1796, 2032, 2032, 1797, 1781, 1755, 1755, 1755,
1736 1751, 1756, 1754, 1059, 1757, 2032, 1059, 1758, 1758, 1758,
1737 1773, 1759, 1759, 1759, 2032, 1059, 1057, 1057, 1057, 1057,
1738 1057, 1057, 1057, 1057, 1057, 2032, 2032, 1057, 1810, 1810,
1739 1810, 2032, 1057, 1057, 1057, 1059, 1057, 1764, 1764, 1764,
1740 2032, 1765, 2032, 2032, 1766, 2032, 1811, 2032, 2032, 2032,
1741 2032, 2032, 2032, 1776, 1776, 1776, 1778, 1778, 1778, 1057,
1742 1057, 1057, 1057, 1057, 1057, 1057, 1057, 1057, 1057, 1057,
1743 1777, 2032, 1057, 1779, 2032, 2032, 2032, 1057, 1057, 1057,
1744 1059, 1057, 1814, 1814, 1814, 2032, 1815, 2032, 2032, 1816,
1746 1817, 1817, 1817, 2032, 1818, 2032, 2032, 1819, 1780, 1780,
1747 1780, 1810, 1810, 1810, 1057, 1057, 1820, 1820, 1820, 2032,
1748 1821, 2032, 2032, 1822, 2032, 1781, 1795, 1795, 1795, 1811,
1749 1796, 2032, 2032, 1797, 1814, 1814, 1814, 2032, 1815, 2032,
1750 2032, 1816, 2032, 2032, 1059, 1057, 1057, 1057, 1057, 1057,
1751 1837, 1057, 1057, 1057, 2032, 2032, 1057, 2032, 2032, 2032,
1752 2032, 1057, 1057, 1057, 1059, 1057, 1817, 1817, 1817, 2032,
1753 1818, 2032, 2032, 1819, 1820, 1820, 1820, 2032, 1821, 2032,
1754 2032, 1822, 2032, 2032, 1858, 1858, 1858, 2032, 1057, 1057,
1755 1057, 1057, 1057, 1057, 1057, 1057, 1057, 1057, 1837, 2032,
1757 2032, 1057, 1059, 1060, 2032, 2032, 1057, 1057, 1057, 1059,
1758 1057, 1861, 1861, 1861, 1863, 1863, 1863, 1877, 1877, 1877,
1759 1858, 1858, 1858, 1861, 1861, 1861, 2032, 2032, 1862, 2032,
1760 2032, 1864, 2032, 1057, 1057, 732, 2032, 2032, 1059, 2032,
1761 1862, 1881, 1881, 1881, 2032, 1882, 2032, 2032, 1883, 1863,
1762 1863, 1863, 1884, 1884, 1884, 2032, 1885, 2032, 2032, 1886,
1763 1877, 1877, 1877, 1881, 1881, 1881, 1864, 1882, 2032, 1168,
1764 1883, 2032, 1884, 1884, 1884, 2032, 1885, 2032, 732, 1886,
1765 1990, 1990, 1990, 1990, 1990, 1990, 2032, 1999, 2032, 2032,
1766 2000, 2030, 2030, 2030, 2032, 1899, 2032, 2032, 732, 2032,
1768 2032, 732, 2030, 2030, 2030, 2032, 2032, 2032, 2032, 2031,
1769 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032,
1770 2031, 182, 182, 182, 182, 182, 182, 182, 182, 182,
1771 183, 183, 183, 183, 183, 183, 183, 183, 183, 188,
1772 188, 188, 188, 188, 188, 188, 188, 188, 191, 191,
1773 191, 191, 191, 191, 191, 191, 191, 194, 194, 194,
1774 194, 194, 194, 194, 194, 194, 197, 197, 197, 197,
1775 197, 197, 197, 197, 197, 204, 204, 204, 204, 204,
1776 204, 204, 204, 204, 212, 212, 212, 212, 212, 212,
1777 212, 212, 212, 216, 216, 216, 216, 216, 216, 216,
1779 216, 216, 227, 227, 227, 227, 227, 227, 227, 227,
1780 227, 238, 238, 238, 238, 238, 238, 238, 238, 238,
1781 245, 245, 245, 245, 245, 245, 245, 245, 245, 253,
1782 253, 253, 253, 253, 253, 253, 253, 253, 259, 259,
1783 259, 259, 259, 259, 259, 259, 259, 265, 265, 265,
1784 265, 265, 265, 265, 265, 265, 270, 270, 270, 270,
1785 270, 270, 270, 270, 270, 287, 287, 287, 287, 287,
1786 287, 287, 287, 287, 295, 295, 295, 295, 295, 295,
1787 295, 295, 295, 302, 302, 302, 302, 302, 302, 302,
1788 302, 302, 311, 311, 311, 311, 311, 311, 311, 311,
1790 311, 317, 317, 317, 317, 317, 317, 317, 317, 317,
1791 321, 321, 321, 321, 321, 321, 321, 321, 321, 327,
1792 327, 327, 327, 327, 327, 327, 327, 327, 334, 334,
1793 334, 334, 334, 334, 334, 334, 334, 341, 341, 341,
1794 341, 341, 341, 341, 341, 341, 346, 346, 346, 346,
1795 346, 346, 346, 346, 346, 354, 354, 354, 354, 354,
1796 354, 354, 354, 354, 360, 360, 360, 360, 360, 360,
1797 360, 360, 360, 367, 367, 367, 367, 367, 367, 367,
1798 367, 367, 372, 372, 372, 372, 372, 372, 372, 372,
1799 372, 378, 378, 378, 378, 378, 378, 378, 378, 378,
1801 384, 384, 384, 384, 384, 384, 384, 384, 384, 391,
1802 391, 391, 391, 391, 391, 391, 391, 391, 398, 398,
1803 398, 398, 398, 398, 398, 398, 398, 406, 406, 406,
1804 406, 406, 406, 406, 406, 406, 410, 410, 410, 410,
1805 410, 410, 410, 410, 410, 416, 416, 416, 416, 416,
1806 416, 416, 416, 416, 420, 420, 420, 420, 420, 420,
1807 420, 420, 420, 428, 428, 428, 428, 428, 428, 428,
1808 428, 428, 433, 433, 433, 433, 433, 433, 433, 433,
1809 433, 453, 453, 453, 2032, 2032, 2032, 453, 471, 471,
1810 471, 2032, 2032, 2032, 471, 479, 479, 479, 2032, 2032,
1812 2032, 479, 489, 489, 489, 2032, 2032, 2032, 489, 495,
1813 495, 495, 2032, 2032, 2032, 495, 508, 508, 508, 2032,
1814 2032, 2032, 508, 516, 516, 516, 2032, 2032, 2032, 516,
1815 528, 528, 528, 2032, 2032, 2032, 528, 532, 532, 532,
1816 2032, 2032, 2032, 532, 540, 540, 540, 2032, 2032, 2032,
1817 540, 547, 547, 547, 2032, 2032, 2032, 547, 554, 554,
1818 554, 2032, 2032, 2032, 554, 559, 559, 559, 2032, 2032,
1819 2032, 559, 565, 565, 565, 2032, 2032, 2032, 565, 573,
1820 573, 573, 2032, 2032, 2032, 573, 577, 577, 577, 2032,
1821 2032, 2032, 577, 582, 582, 582, 2032, 2032, 2032, 582,
1823 586, 586, 586, 586, 586, 586, 586, 2032, 586, 601,
1824 2032, 2032, 2032, 601, 625, 2032, 2032, 2032, 625, 479,
1825 479, 479, 2032, 2032, 2032, 479, 635, 2032, 2032, 2032,
1826 635, 489, 489, 489, 2032, 2032, 2032, 489, 641, 2032,
1827 2032, 2032, 641, 495, 495, 495, 2032, 2032, 2032, 495,
1828 646, 2032, 2032, 2032, 646, 662, 2032, 2032, 2032, 662,
1829 675, 2032, 2032, 2032, 675, 528, 528, 528, 2032, 2032,
1830 2032, 528, 679, 2032, 2032, 2032, 679, 532, 532, 532,
1831 2032, 2032, 2032, 532, 687, 2032, 2032, 2032, 687, 540,
1832 540, 540, 2032, 2032, 2032, 540, 692, 2032, 2032, 2032,
1834 692, 547, 547, 547, 2032, 2032, 2032, 547, 699, 2032,
1835 2032, 2032, 699, 554, 554, 554, 2032, 2032, 2032, 554,
1836 704, 2032, 2032, 2032, 704, 559, 559, 559, 2032, 2032,
1837 2032, 559, 709, 2032, 2032, 2032, 709, 565, 565, 565,
1838 2032, 2032, 2032, 565, 715, 2032, 2032, 2032, 715, 573,
1839 573, 573, 2032, 2032, 2032, 573, 719, 2032, 2032, 2032,
1840 719, 577, 577, 577, 2032, 2032, 2032, 577, 723, 2032,
1841 2032, 2032, 723, 582, 582, 582, 2032, 2032, 2032, 582,
1842 729, 2032, 2032, 2032, 729, 731, 731, 731, 731, 731,
1843 731, 731, 731, 731, 737, 2032, 2032, 2032, 2032, 737,
1845 453, 453, 453, 2032, 2032, 2032, 453, 746, 746, 746,
1846 746, 2032, 2032, 746, 746, 471, 471, 471, 2032, 2032,
1847 2032, 471, 774, 774, 774, 774, 2032, 2032, 774, 774,
1848 479, 479, 479, 2032, 2032, 2032, 479, 788, 788, 788,
1849 788, 2032, 2032, 788, 788, 489, 489, 489, 2032, 2032,
1850 2032, 489, 796, 796, 796, 796, 2032, 2032, 796, 796,
1851 495, 495, 495, 2032, 2032, 2032, 495, 804, 804, 804,
1852 804, 2032, 2032, 804, 804, 508, 508, 508, 2032, 2032,
1853 2032, 508, 822, 822, 822, 822, 2032, 2032, 822, 822,
1854 516, 516, 516, 2032, 2032, 2032, 516, 842, 842, 842,
1856 842, 2032, 2032, 842, 842, 849, 849, 849, 849, 2032,
1857 2032, 849, 849, 532, 532, 532, 2032, 2032, 2032, 532,
1858 860, 860, 860, 860, 2032, 2032, 860, 860, 540, 540,
1859 540, 540, 2032, 540, 2032, 540, 869, 869, 869, 869,
1860 2032, 2032, 869, 869, 547, 547, 547, 547, 2032, 547,
1861 2032, 547, 881, 881, 881, 881, 2032, 2032, 881, 881,
1862 554, 554, 554, 2032, 2032, 2032, 554, 889, 889, 889,
1863 889, 2032, 2032, 889, 889, 559, 559, 559, 559, 2032,
1864 559, 2032, 559, 899, 899, 899, 899, 2032, 2032, 899,
1865 899, 565, 565, 565, 2032, 2032, 2032, 565, 907, 907,
1867 907, 907, 2032, 2032, 907, 907, 573, 573, 573, 2032,
1868 2032, 2032, 573, 913, 913, 913, 913, 2032, 2032, 913,
1869 913, 920, 920, 920, 920, 2032, 2032, 920, 920, 582,
1870 582, 582, 2032, 2032, 2032, 582, 929, 929, 929, 929,
1871 2032, 2032, 929, 929, 731, 731, 731, 731, 731, 731,
1872 731, 731, 731, 737, 2032, 737, 2032, 2032, 737, 453,
1873 453, 453, 2032, 2032, 2032, 453, 746, 746, 746, 746,
1874 2032, 2032, 746, 746, 471, 471, 471, 471, 2032, 471,
1875 2032, 471, 774, 774, 774, 774, 2032, 2032, 774, 774,
1876 479, 479, 479, 2032, 2032, 2032, 479, 788, 788, 788,
1878 788, 2032, 2032, 788, 788, 489, 489, 489, 2032, 2032,
1879 2032, 489, 796, 796, 796, 796, 2032, 2032, 796, 796,
1880 495, 495, 495, 2032, 2032, 2032, 495, 804, 804, 804,
1881 804, 2032, 2032, 804, 804, 508, 508, 508, 2032, 2032,
1882 2032, 508, 822, 822, 822, 822, 2032, 2032, 822, 822,
1883 516, 516, 516, 2032, 2032, 2032, 516, 842, 842, 842,
1884 842, 2032, 2032, 842, 842, 849, 849, 849, 849, 2032,
1885 2032, 849, 849, 532, 532, 532, 2032, 2032, 2032, 532,
1886 860, 860, 860, 860, 2032, 2032, 860, 860, 540, 540,
1887 540, 2032, 2032, 2032, 540, 869, 869, 869, 869, 2032,
1889 2032, 869, 869, 547, 547, 547, 2032, 2032, 2032, 547,
1890 881, 881, 881, 881, 2032, 2032, 881, 881, 554, 554,
1891 554, 2032, 2032, 2032, 554, 889, 889, 889, 889, 2032,
1892 2032, 889, 889, 559, 559, 559, 2032, 2032, 2032, 559,
1893 899, 899, 899, 899, 2032, 2032, 899, 899, 565, 565,
1894 565, 2032, 2032, 2032, 565, 907, 907, 907, 907, 2032,
1895 2032, 907, 907, 573, 573, 573, 2032, 2032, 2032, 573,
1896 913, 913, 913, 913, 2032, 2032, 913, 913, 920, 920,
1897 920, 920, 2032, 2032, 920, 920, 582, 582, 582, 2032,
1898 2032, 2032, 582, 929, 929, 929, 929, 2032, 2032, 929,
1900 929, 731, 731, 731, 731, 731, 731, 731, 731, 731,
1901 1057, 1057, 1057, 1057, 1057, 1057, 1057, 1057, 1057, 453,
1902 453, 453, 2032, 2032, 2032, 453, 746, 746, 746, 746,
1903 2032, 2032, 746, 746, 471, 471, 471, 2032, 2032, 2032,
1904 471, 774, 774, 774, 774, 2032, 2032, 774, 774, 479,
1905 479, 479, 2032, 2032, 2032, 479, 788, 788, 788, 788,
1906 2032, 2032, 788, 788, 489, 489, 489, 2032, 2032, 2032,
1907 489, 796, 796, 796, 796, 2032, 2032, 796, 796, 495,
1908 495, 495, 2032, 2032, 2032, 495, 508, 508, 508, 2032,
1909 2032, 2032, 508, 822, 822, 822, 822, 2032, 2032, 822,
1911 822, 516, 516, 516, 516, 2032, 516, 2032, 516, 842,
1912 842, 842, 842, 2032, 2032, 842, 842, 849, 849, 849,
1913 849, 2032, 2032, 849, 849, 532, 532, 532, 2032, 2032,
1914 2032, 532, 860, 860, 860, 860, 2032, 2032, 860, 860,
1915 540, 540, 540, 2032, 2032, 2032, 540, 869, 869, 869,
1916 869, 2032, 2032, 869, 869, 547, 547, 547, 2032, 2032,
1917 2032, 547, 881, 881, 881, 881, 2032, 2032, 881, 881,
1918 554, 554, 554, 2032, 2032, 2032, 554, 889, 889, 889,
1919 889, 2032, 2032, 889, 889, 559, 559, 559, 2032, 2032,
1920 2032, 559, 899, 899, 899, 899, 2032, 2032, 899, 899,
1922 565, 565, 565, 2032, 2032, 2032, 565, 907, 907, 907,
1923 907, 2032, 2032, 907, 907, 573, 573, 573, 573, 2032,
1924 573, 2032, 573, 913, 913, 913, 913, 2032, 2032, 913,
1925 913, 920, 920, 920, 920, 2032, 2032, 920, 920, 582,
1926 582, 582, 582, 2032, 582, 2032, 582, 929, 929, 929,
1927 929, 2032, 2032, 929, 929, 731, 731, 731, 731, 731,
1928 731, 731, 731, 731, 1057, 1057, 1057, 1057, 1057, 1057,
1929 1057, 1057, 1057, 453, 453, 453, 2032, 2032, 2032, 453,
1930 746, 746, 746, 746, 2032, 2032, 746, 746, 471, 471,
1931 471, 2032, 2032, 2032, 471, 774, 774, 774, 774, 2032,
1933 2032, 774, 774, 479, 479, 479, 2032, 2032, 2032, 479,
1934 788, 788, 788, 788, 2032, 2032, 788, 788, 489, 489,
1935 489, 2032, 2032, 2032, 489, 796, 796, 796, 796, 2032,
1936 2032, 796, 796, 495, 495, 495, 2032, 2032, 2032, 495,
1937 508, 508, 508, 2032, 2032, 2032, 508, 822, 822, 822,
1938 822, 2032, 2032, 822, 822, 516, 516, 516, 516, 2032,
1939 516, 2032, 516, 842, 842, 842, 842, 2032, 2032, 842,
1940 842, 849, 849, 849, 849, 2032, 2032, 849, 849, 532,
1941 532, 532, 2032, 2032, 2032, 532, 860, 860, 860, 860,
1942 2032, 2032, 860, 860, 540, 540, 540, 2032, 2032, 2032,
1944 540, 869, 869, 869, 869, 2032, 2032, 869, 869, 547,
1945 547, 547, 547, 2032, 547, 2032, 547, 881, 881, 881,
1946 881, 2032, 2032, 881, 881, 554, 554, 554, 2032, 2032,
1947 2032, 554, 889, 889, 889, 889, 2032, 2032, 889, 889,
1948 559, 559, 559, 559, 2032, 559, 2032, 559, 899, 899,
1949 899, 899, 2032, 2032, 899, 899, 565, 565, 565, 2032,
1950 2032, 2032, 565, 907, 907, 907, 907, 2032, 2032, 907,
1951 907, 913, 913, 913, 913, 2032, 2032, 913, 913, 920,
1952 920, 920, 920, 2032, 2032, 920, 920, 929, 929, 929,
1953 929, 2032, 2032, 929, 929, 731, 731, 731, 731, 731,
1955 731, 731, 731, 731, 1057, 1057, 1057, 1057, 1057, 1057,
1956 1057, 1057, 1057, 453, 453, 453, 453, 2032, 453, 2032,
1957 453, 746, 746, 746, 746, 2032, 2032, 746, 746, 471,
1958 471, 471, 2032, 2032, 2032, 471, 774, 774, 774, 774,
1959 2032, 2032, 774, 774, 479, 479, 479, 2032, 2032, 2032,
1960 479, 788, 788, 788, 788, 2032, 2032, 788, 788, 489,
1961 489, 489, 489, 2032, 489, 2032, 489, 796, 796, 796,
1962 796, 2032, 2032, 796, 796, 495, 495, 495, 495, 2032,
1963 495, 2032, 495, 508, 508, 508, 2032, 2032, 2032, 508,
1964 516, 516, 516, 2032, 2032, 2032, 516, 842, 842, 842,
1966 842, 2032, 2032, 842, 842, 849, 849, 849, 849, 2032,
1967 2032, 849, 849, 532, 532, 532, 2032, 2032, 2032, 532,
1968 540, 540, 540, 2032, 2032, 2032, 540, 869, 869, 869,
1969 869, 2032, 2032, 869, 869, 547, 547, 547, 2032, 2032,
1970 2032, 547, 881, 881, 881, 881, 2032, 2032, 881, 881,
1971 554, 554, 554, 2032, 2032, 2032, 554, 889, 889, 889,
1972 889, 2032, 2032, 889, 889, 1798, 1798, 1798, 1798, 1798,
1973 1798, 1798, 1798, 1798, 1799, 1799, 1799, 1799, 1799, 1799,
1974 1799, 1799, 1799, 1832, 1832, 1832, 1832, 1832, 1832, 1832,
1975 1832, 1832, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835,
1977 1835, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855,
1978 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 181,
1979 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032,
1980 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032,
1981 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032,
1982 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032,
1983 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032,
1984 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032,
1985 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032
1988 static yyconst flex_int16_t yy_chk[7191] =
1990 0, 3, 3, 3, 4, 4, 4, 5, 5, 5,
1991 6, 6, 6, 7, 7, 7, 11, 3, 9, 12,
1992 4, 10, 0, 5, 247, 9, 6, 437, 10, 7,
1993 8, 8, 8, 186, 11, 13, 13, 12, 14, 14,
1994 13, 13, 437, 14, 14, 187, 8, 17, 17, 186,
1995 13, 15, 15, 14, 15, 190, 15, 16, 16, 462,
1996 16, 187, 16, 18, 18, 462, 15, 19, 19, 19,
1997 281, 190, 16, 247, 20, 20, 20, 23, 23, 23,
1998 24, 24, 24, 19, 25, 25, 25, 243, 208, 17,
1999 20, 243, 248, 23, 1391, 243, 24, 184, 184, 184,
2001 25, 185, 185, 185, 208, 18, 21, 21, 21, 21,
2002 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
2003 21, 281, 21, 21, 21, 21, 21, 26, 26, 26,
2004 27, 27, 27, 275, 1391, 28, 28, 28, 29, 29,
2005 29, 248, 275, 26, 208, 283, 27, 283, 213, 21,
2006 21, 28, 249, 1494, 29, 30, 30, 30, 189, 189,
2007 189, 210, 210, 210, 213, 217, 217, 217, 225, 225,
2008 225, 30, 21, 22, 22, 22, 22, 22, 22, 22,
2009 22, 22, 22, 22, 22, 22, 22, 22, 305, 22,
2010 22, 22, 22, 22, 31, 31, 31, 32, 32, 32,
2012 333, 249, 33, 33, 33, 34, 34, 34, 305, 273,
2013 31, 333, 308, 32, 297, 308, 22, 22, 33, 273,
2014 228, 34, 35, 35, 35, 36, 36, 36, 37, 37,
2015 37, 38, 38, 38, 1495, 221, 228, 277, 35, 22,
2016 424, 36, 424, 475, 37, 273, 273, 38, 39, 39,
2017 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
2018 39, 39, 39, 297, 39, 39, 39, 39, 39, 45,
2019 45, 45, 221, 277, 46, 46, 46, 475, 47, 47,
2020 47, 1496, 41, 41, 221, 45, 278, 41, 42, 42,
2021 46, 39, 39, 42, 47, 298, 278, 41, 446, 39,
2023 345, 446, 39, 42, 236, 236, 236, 345, 39, 40,
2024 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
2025 40, 40, 40, 40, 41, 40, 40, 40, 40, 40,
2026 42, 48, 48, 48, 49, 49, 49, 1169, 50, 50,
2027 50, 51, 51, 51, 298, 239, 254, 48, 233, 261,
2028 49, 266, 40, 40, 50, 233, 261, 51, 1168, 336,
2029 40, 239, 254, 40, 233, 261, 200, 266, 1169, 40,
2030 43, 43, 43, 43, 43, 43, 43, 43, 43, 43,
2031 43, 43, 43, 43, 43, 279, 43, 43, 43, 43,
2032 43, 52, 52, 52, 55, 55, 55, 1168, 1497, 56,
2034 56, 56, 59, 59, 59, 310, 200, 52, 336, 288,
2035 55, 279, 200, 43, 43, 56, 200, 310, 59, 463,
2036 337, 200, 43, 1498, 43, 288, 279, 43, 246, 246,
2037 246, 1499, 463, 43, 44, 44, 44, 44, 44, 44,
2038 44, 44, 44, 44, 44, 44, 44, 44, 44, 220,
2039 44, 44, 44, 44, 44, 60, 60, 60, 61, 61,
2040 61, 402, 1500, 62, 62, 62, 63, 63, 63, 337,
2041 1501, 60, 1502, 303, 61, 402, 220, 44, 44, 62,
2042 313, 1504, 63, 251, 251, 251, 44, 313, 44, 303,
2043 400, 44, 220, 260, 260, 260, 313, 44, 53, 53,
2045 53, 53, 53, 53, 53, 53, 53, 53, 53, 53,
2046 53, 53, 53, 363, 53, 53, 53, 53, 53, 64,
2047 64, 64, 65, 65, 65, 400, 359, 66, 66, 66,
2048 67, 67, 67, 359, 459, 64, 318, 459, 65, 400,
2049 1201, 53, 53, 66, 328, 342, 67, 1201, 53, 263,
2050 263, 263, 318, 53, 271, 271, 271, 387, 363, 280,
2051 328, 342, 53, 54, 54, 54, 54, 54, 54, 54,
2052 54, 54, 54, 54, 54, 54, 54, 54, 503, 54,
2053 54, 54, 54, 54, 68, 68, 68, 69, 69, 69,
2054 1505, 503, 70, 70, 70, 71, 71, 71, 1506, 469,
2056 68, 280, 387, 69, 280, 469, 54, 54, 70, 465,
2057 280, 71, 465, 54, 285, 285, 285, 1508, 54, 296,
2058 296, 296, 300, 300, 300, 348, 1286, 54, 57, 57,
2059 57, 57, 57, 57, 57, 57, 57, 57, 57, 57,
2060 57, 57, 57, 505, 57, 57, 57, 57, 57, 72,
2061 72, 72, 73, 73, 73, 1286, 505, 74, 74, 74,
2062 75, 75, 75, 467, 355, 72, 467, 588, 73, 487,
2063 348, 57, 57, 74, 348, 487, 75, 312, 312, 312,
2064 355, 588, 57, 315, 315, 315, 322, 322, 322, 1287,
2065 57, 58, 58, 58, 58, 58, 58, 58, 58, 58,
2067 58, 58, 58, 58, 58, 58, 506, 58, 58, 58,
2068 58, 58, 76, 76, 76, 77, 77, 77, 1167, 506,
2069 78, 78, 78, 79, 79, 79, 734, 368, 76, 1056,
2070 734, 77, 1287, 1167, 58, 58, 78, 932, 379, 79,
2071 80, 80, 80, 368, 392, 58, 81, 81, 81, 82,
2072 82, 82, 1056, 58, 379, 932, 80, 83, 83, 83,
2073 392, 1511, 81, 1512, 407, 82, 84, 84, 84, 85,
2074 85, 85, 1517, 83, 86, 86, 86, 87, 87, 87,
2075 407, 1518, 84, 1519, 323, 85, 88, 88, 88, 758,
2076 86, 323, 1520, 87, 325, 325, 325, 335, 335, 335,
2078 323, 758, 88, 89, 89, 89, 89, 89, 89, 89,
2079 89, 89, 89, 89, 89, 89, 89, 89, 580, 89,
2080 89, 89, 89, 89, 91, 91, 91, 92, 92, 92,
2081 766, 580, 93, 93, 93, 94, 94, 94, 791, 417,
2082 91, 1392, 766, 92, 1522, 429, 89, 89, 93, 89,
2083 791, 94, 95, 95, 95, 417, 1285, 89, 339, 339,
2084 339, 429, 1285, 89, 1549, 1550, 89, 1479, 95, 89,
2085 90, 90, 90, 90, 90, 90, 90, 90, 90, 90,
2086 90, 90, 90, 90, 90, 1392, 90, 90, 90, 90,
2087 90, 96, 96, 96, 97, 97, 97, 1479, 1205, 98,
2089 98, 98, 101, 101, 101, 1205, 1333, 96, 1551, 1556,
2090 97, 1334, 1333, 90, 90, 98, 90, 1334, 101, 102,
2091 102, 102, 1358, 1359, 90, 347, 347, 347, 1358, 1359,
2092 90, 1557, 1546, 90, 1558, 102, 90, 99, 99, 99,
2093 99, 99, 99, 99, 99, 99, 99, 99, 99, 99,
2094 99, 99, 1544, 99, 99, 99, 99, 99, 105, 105,
2095 105, 106, 106, 106, 1554, 1559, 109, 109, 109, 110,
2096 110, 110, 1546, 1560, 105, 1554, 374, 106, 1561, 1555,
2097 99, 99, 109, 374, 99, 110, 352, 352, 352, 1544,
2098 1555, 99, 374, 99, 361, 361, 361, 99, 1562, 99,
2100 99, 100, 100, 100, 100, 100, 100, 100, 100, 100,
2101 100, 100, 100, 100, 100, 100, 1563, 100, 100, 100,
2102 100, 100, 111, 111, 111, 112, 112, 112, 1564, 1565,
2103 113, 113, 113, 114, 114, 114, 1566, 1568, 111, 1569,
2104 412, 112, 1574, 1575, 100, 100, 113, 412, 100, 114,
2105 365, 365, 365, 1579, 1580, 100, 412, 100, 373, 373,
2106 373, 100, 1581, 100, 100, 103, 103, 103, 103, 103,
2107 103, 103, 103, 103, 103, 103, 103, 103, 103, 103,
2108 1607, 103, 103, 103, 103, 103, 115, 115, 115, 116,
2109 116, 116, 1608, 1591, 119, 119, 119, 120, 120, 120,
2111 1480, 1591, 115, 1592, 1611, 116, 1612, 1591, 103, 103,
2112 119, 1592, 1545, 120, 376, 376, 376, 1592, 1613, 103,
2113 104, 104, 104, 104, 104, 104, 104, 104, 104, 104,
2114 104, 104, 104, 104, 104, 1480, 104, 104, 104, 104,
2115 104, 121, 121, 121, 122, 122, 122, 1545, 1614, 123,
2116 123, 123, 124, 124, 124, 1615, 1616, 121, 1617, 1618,
2117 122, 1619, 1621, 104, 104, 123, 1622, 1623, 124, 385,
2118 385, 385, 1604, 1624, 104, 107, 107, 107, 107, 107,
2119 107, 107, 107, 107, 107, 107, 107, 107, 107, 107,
2120 1603, 107, 107, 107, 107, 107, 125, 125, 125, 126,
2122 126, 126, 1632, 1633, 129, 129, 129, 130, 130, 130,
2123 1634, 1604, 125, 1636, 435, 126, 1646, 1603, 107, 107,
2124 129, 435, 107, 130, 389, 389, 389, 1605, 1647, 107,
2125 435, 107, 399, 399, 399, 404, 404, 404, 107, 108,
2126 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
2127 108, 108, 108, 108, 1648, 108, 108, 108, 108, 108,
2128 131, 131, 131, 132, 132, 132, 1605, 1641, 133, 133,
2129 133, 134, 134, 134, 1649, 1642, 131, 1641, 1650, 132,
2130 1651, 1644, 108, 108, 133, 1642, 108, 134, 411, 411,
2131 411, 1644, 1660, 108, 1656, 108, 414, 414, 414, 421,
2133 421, 421, 108, 117, 117, 117, 117, 117, 117, 117,
2134 117, 117, 117, 117, 117, 117, 117, 117, 1661, 117,
2135 117, 117, 117, 117, 135, 135, 135, 136, 136, 136,
2136 1665, 1645, 139, 139, 139, 140, 140, 140, 1666, 1656,
2137 135, 1645, 1667, 136, 1668, 1670, 117, 117, 139, 1657,
2138 1671, 140, 117, 426, 426, 426, 434, 434, 434, 436,
2139 436, 436, 445, 445, 445, 1672, 117, 118, 118, 118,
2140 118, 118, 118, 118, 118, 118, 118, 118, 118, 118,
2141 118, 118, 1657, 118, 118, 118, 118, 118, 143, 143,
2142 143, 144, 144, 144, 1673, 1674, 145, 145, 145, 146,
2144 146, 146, 1675, 1676, 143, 1677, 1682, 144, 1683, 1684,
2145 118, 118, 145, 1685, 1688, 146, 118, 1689, 445, 591,
2146 591, 591, 1690, 591, 603, 603, 603, 616, 616, 616,
2147 118, 127, 127, 127, 127, 127, 127, 127, 127, 127,
2148 127, 127, 127, 127, 127, 127, 1691, 127, 127, 127,
2149 127, 127, 147, 147, 147, 148, 148, 148, 1692, 1693,
2150 149, 149, 149, 150, 150, 150, 1694, 1695, 147, 1696,
2151 1697, 148, 1698, 664, 127, 127, 149, 1699, 1700, 150,
2152 127, 1701, 664, 127, 1702, 603, 1710, 1711, 616, 664,
2153 648, 648, 648, 1712, 127, 128, 128, 128, 128, 128,
2155 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
2156 1704, 128, 128, 128, 128, 128, 153, 153, 153, 154,
2157 154, 154, 1713, 1716, 155, 155, 155, 156, 156, 156,
2158 1717, 1719, 153, 1720, 1721, 154, 1723, 1728, 128, 128,
2159 155, 1729, 1704, 156, 128, 1736, 1737, 128, 622, 622,
2160 622, 648, 622, 1738, 1739, 622, 1740, 1741, 128, 137,
2161 137, 137, 137, 137, 137, 137, 137, 137, 137, 137,
2162 137, 137, 137, 137, 1742, 137, 137, 137, 137, 137,
2163 157, 157, 157, 158, 158, 158, 1743, 1744, 159, 159,
2164 159, 160, 160, 160, 1745, 1747, 157, 1748, 1760, 158,
2166 1761, 1752, 137, 137, 159, 1762, 1763, 160, 137, 749,
2167 749, 749, 1767, 137, 138, 138, 138, 138, 138, 138,
2168 138, 138, 138, 138, 138, 138, 138, 138, 138, 1768,
2169 138, 138, 138, 138, 138, 163, 163, 163, 164, 164,
2170 164, 1752, 1769, 167, 167, 167, 168, 168, 168, 1770,
2171 1771, 163, 1772, 1774, 164, 1775, 1783, 138, 138, 167,
2172 1785, 1787, 168, 138, 653, 653, 653, 1789, 138, 141,
2173 141, 141, 141, 141, 141, 141, 141, 141, 141, 141,
2174 141, 141, 141, 141, 1790, 141, 141, 141, 141, 141,
2175 169, 169, 169, 170, 170, 170, 1791, 1792, 171, 171,
2177 171, 172, 172, 172, 1793, 1794, 169, 1800, 1797, 170,
2178 1802, 1805, 141, 141, 171, 1806, 1796, 172, 141, 1797,
2179 1808, 141, 630, 630, 630, 653, 630, 1809, 1812, 630,
2180 1796, 1813, 141, 142, 142, 142, 142, 142, 142, 142,
2181 142, 142, 142, 142, 142, 142, 142, 142, 1794, 142,
2182 142, 142, 142, 142, 173, 173, 173, 174, 174, 174,
2183 1834, 1815, 177, 177, 177, 178, 178, 178, 1836, 1816,
2184 173, 1815, 1838, 174, 1821, 1839, 142, 142, 177, 1816,
2185 1822, 178, 142, 272, 1821, 142, 422, 644, 644, 644,
2186 1822, 644, 1847, 272, 644, 1831, 142, 151, 151, 151,
2188 151, 151, 151, 151, 151, 151, 151, 151, 151, 151,
2189 151, 151, 1832, 151, 151, 151, 151, 151, 1849, 272,
2190 1851, 422, 473, 473, 473, 272, 1832, 1835, 272, 481,
2191 481, 481, 1846, 1831, 272, 1833, 1833, 422, 1835, 473,
2192 151, 151, 496, 496, 496, 1853, 481, 1855, 151, 1846,
2193 151, 1856, 151, 763, 763, 763, 946, 946, 946, 496,
2194 151, 152, 152, 152, 152, 152, 152, 152, 152, 152,
2195 152, 152, 152, 152, 152, 152, 1857, 152, 152, 152,
2196 152, 152, 510, 510, 510, 518, 518, 518, 1859, 519,
2197 519, 519, 529, 529, 529, 1099, 534, 534, 534, 510,
2199 1099, 1860, 518, 1099, 152, 152, 519, 1099, 1865, 529,
2200 1866, 1867, 152, 534, 152, 1868, 152, 1869, 947, 947,
2201 947, 950, 950, 950, 152, 161, 161, 161, 161, 161,
2202 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
2203 1870, 161, 161, 161, 161, 161, 556, 556, 556, 578,
2204 578, 578, 1871, 583, 583, 583, 601, 601, 601, 602,
2205 602, 602, 947, 556, 1848, 1872, 578, 1850, 161, 161,
2206 583, 621, 621, 621, 601, 1873, 1874, 602, 658, 658,
2207 658, 1848, 658, 1875, 1850, 658, 1876, 1878, 621, 1887,
2208 1852, 161, 162, 162, 162, 162, 162, 162, 162, 162,
2210 162, 162, 162, 162, 162, 162, 162, 1852, 162, 162,
2211 162, 162, 162, 1888, 602, 625, 625, 625, 1889, 626,
2212 626, 626, 629, 629, 629, 631, 631, 631, 633, 633,
2213 633, 1885, 1890, 625, 1886, 162, 162, 626, 1891, 629,
2214 1892, 1885, 631, 1893, 1886, 633, 666, 666, 666, 1894,
2215 666, 1895, 1896, 666, 974, 974, 974, 1897, 162, 165,
2216 165, 165, 165, 165, 165, 165, 165, 165, 165, 165,
2217 165, 165, 165, 165, 1898, 165, 165, 165, 165, 165,
2218 626, 635, 635, 635, 1901, 1902, 641, 641, 641, 1903,
2219 636, 636, 636, 642, 642, 642, 985, 985, 985, 635,
2221 1904, 1905, 165, 165, 641, 668, 668, 668, 636, 668,
2222 1906, 642, 668, 165, 166, 166, 166, 166, 166, 166,
2223 166, 166, 166, 166, 166, 166, 166, 166, 166, 1899,
2224 166, 166, 166, 166, 166, 636, 643, 643, 643, 1907,
2225 1908, 646, 646, 646, 657, 657, 657, 1909, 1910, 647,
2226 647, 647, 1899, 643, 642, 1911, 1912, 166, 166, 646,
2227 1913, 657, 986, 986, 986, 1914, 1915, 647, 166, 175,
2228 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
2229 175, 175, 175, 175, 647, 175, 175, 175, 175, 175,
2230 662, 662, 662, 663, 663, 663, 1916, 665, 665, 665,
2232 667, 667, 667, 669, 669, 669, 986, 1918, 662, 1919,
2233 1100, 663, 175, 175, 665, 1100, 1920, 667, 1100, 1921,
2234 669, 1922, 1100, 175, 678, 678, 678, 1923, 678, 1924,
2235 1925, 678, 1021, 1021, 1021, 175, 176, 176, 176, 176,
2236 176, 176, 176, 176, 176, 176, 176, 176, 176, 176,
2237 176, 663, 176, 176, 176, 176, 176, 675, 675, 675,
2238 676, 676, 676, 1926, 677, 677, 677, 679, 679, 679,
2239 680, 680, 680, 1927, 1928, 675, 1021, 1917, 676, 176,
2240 176, 677, 682, 682, 682, 679, 1929, 1930, 680, 1931,
2241 176, 683, 683, 683, 1917, 683, 1932, 1933, 683, 682,
2243 1935, 1936, 176, 218, 687, 687, 687, 688, 688, 688,
2244 218, 1937, 689, 689, 689, 676, 690, 690, 690, 218,
2245 218, 1938, 687, 1939, 1940, 688, 1934, 1941, 680, 689,
2246 692, 692, 692, 690, 691, 691, 691, 1942, 693, 693,
2247 693, 695, 695, 695, 1934, 218, 218, 218, 692, 1943,
2248 1944, 691, 218, 1945, 1946, 218, 693, 1947, 695, 218,
2249 688, 218, 1948, 218, 696, 696, 696, 697, 697, 697,
2250 698, 698, 698, 699, 699, 699, 700, 700, 700, 1949,
2251 1950, 696, 1952, 691, 697, 1953, 1951, 698, 702, 702,
2252 702, 699, 1951, 1954, 700, 1955, 693, 703, 703, 703,
2254 1956, 703, 1957, 1959, 703, 702, 704, 704, 704, 1960,
2255 1962, 700, 696, 705, 705, 705, 706, 706, 706, 698,
2256 707, 707, 707, 1963, 704, 1965, 696, 708, 708, 708,
2257 1966, 705, 1969, 706, 709, 709, 709, 707, 710, 710,
2258 710, 715, 715, 715, 708, 1968, 716, 716, 716, 719,
2259 719, 719, 709, 720, 720, 720, 710, 1968, 1970, 715,
2260 721, 721, 721, 1971, 716, 1972, 705, 719, 707, 1974,
2261 1976, 720, 722, 722, 722, 1978, 722, 721, 1980, 722,
2262 1982, 1983, 707, 723, 723, 723, 724, 724, 724, 1984,
2263 1985, 726, 726, 726, 1986, 727, 727, 727, 1987, 727,
2265 1988, 723, 727, 1989, 724, 1991, 710, 716, 726, 729,
2266 729, 729, 1993, 1995, 720, 730, 730, 730, 745, 745,
2267 745, 746, 746, 746, 748, 748, 748, 729, 767, 767,
2268 767, 1996, 1997, 730, 1998, 1999, 745, 2007, 1493, 746,
2269 2019, 1492, 748, 2020, 724, 767, 768, 768, 768, 2019,
2270 768, 1489, 2020, 768, 771, 771, 771, 773, 773, 773,
2271 774, 774, 774, 776, 776, 776, 778, 778, 778, 748,
2272 778, 771, 2007, 778, 2008, 773, 730, 2027, 774, 1999,
2273 1488, 776, 781, 781, 781, 782, 782, 782, 1487, 782,
2274 2000, 2027, 782, 783, 783, 783, 784, 784, 784, 781,
2276 785, 785, 785, 2011, 785, 1484, 2012, 785, 776, 2008,
2277 783, 2013, 771, 784, 787, 787, 787, 788, 788, 788,
2278 790, 790, 790, 793, 793, 793, 795, 795, 795, 796,
2279 796, 796, 787, 2009, 2000, 788, 2011, 2010, 790, 2012,
2280 793, 798, 798, 798, 795, 2015, 1472, 796, 799, 799,
2281 799, 1464, 799, 1462, 2013, 799, 803, 803, 803, 798,
2282 804, 804, 804, 806, 806, 806, 815, 815, 815, 2017,
2283 815, 2009, 2016, 815, 803, 2010, 2014, 790, 804, 1461,
2284 2015, 806, 821, 821, 821, 1460, 798, 822, 822, 822,
2285 824, 824, 824, 1459, 828, 828, 828, 1458, 828, 2017,
2287 821, 828, 831, 831, 831, 822, 831, 2016, 824, 831,
2288 834, 834, 834, 835, 835, 835, 1457, 835, 1456, 2014,
2289 835, 841, 841, 841, 842, 842, 842, 834, 844, 844,
2290 844, 845, 845, 845, 2018, 845, 1455, 1447, 845, 841,
2291 2021, 2023, 842, 848, 848, 848, 844, 849, 849, 849,
2292 1443, 2028, 824, 851, 851, 851, 853, 853, 853, 2022,
2293 853, 848, 2028, 853, 2018, 849, 859, 859, 859, 1439,
2294 2021, 851, 860, 860, 860, 862, 862, 862, 863, 863,
2295 863, 864, 864, 864, 859, 864, 2023, 1438, 864, 2022,
2296 860, 2025, 844, 862, 1437, 863, 865, 865, 865, 866,
2298 866, 866, 1436, 866, 2024, 1435, 866, 868, 868, 868,
2299 869, 869, 869, 865, 873, 873, 873, 851, 871, 871,
2300 871, 2025, 874, 874, 874, 868, 874, 1434, 869, 874,
2301 2026, 873, 862, 877, 877, 877, 871, 878, 878, 878,
2302 1433, 878, 1427, 1426, 878, 880, 880, 880, 1425, 2024,
2303 877, 881, 881, 881, 883, 883, 883, 885, 885, 885,
2304 2026, 885, 1424, 880, 885, 888, 888, 888, 1423, 881,
2305 1422, 1421, 883, 889, 889, 889, 891, 891, 891, 892,
2306 892, 892, 871, 888, 1420, 893, 893, 893, 1419, 893,
2307 1418, 889, 893, 1412, 891, 1409, 892, 896, 896, 896,
2309 897, 897, 897, 1407, 897, 1405, 1400, 897, 898, 898,
2310 898, 899, 899, 899, 896, 883, 901, 901, 901, 903,
2311 903, 903, 906, 906, 906, 1386, 898, 1384, 1383, 899,
2312 907, 907, 907, 891, 901, 1373, 903, 909, 909, 909,
2313 906, 912, 912, 912, 913, 913, 913, 1371, 907, 915,
2314 915, 915, 919, 919, 919, 909, 916, 916, 916, 912,
2315 916, 1364, 913, 916, 920, 920, 920, 915, 1361, 1360,
2316 919, 922, 922, 922, 1357, 901, 924, 924, 924, 1356,
2317 924, 1353, 920, 924, 928, 928, 928, 1347, 1341, 922,
2318 929, 929, 929, 1335, 1332, 909, 931, 931, 931, 1330,
2320 915, 1325, 928, 933, 933, 933, 1324, 1323, 929, 940,
2321 940, 940, 1322, 1321, 931, 958, 958, 958, 967, 967,
2322 967, 933, 933, 962, 962, 962, 1320, 940, 922, 959,
2323 959, 959, 958, 959, 1319, 967, 959, 1318, 964, 964,
2324 964, 962, 964, 1317, 1316, 964, 968, 968, 968, 1312,
2325 968, 1311, 1308, 968, 931, 969, 969, 969, 1307, 969,
2326 1305, 1302, 969, 973, 973, 973, 976, 976, 976, 1298,
2327 962, 1297, 940, 977, 977, 977, 1294, 977, 1293, 1288,
2328 977, 973, 1273, 976, 978, 978, 978, 979, 979, 979,
2329 981, 981, 981, 991, 991, 991, 992, 992, 992, 1271,
2331 1270, 978, 994, 994, 994, 979, 1269, 1262, 981, 1260,
2332 991, 973, 1255, 992, 995, 995, 995, 1071, 1071, 1071,
2333 994, 996, 996, 996, 997, 997, 997, 1253, 998, 998,
2334 998, 995, 998, 1250, 979, 998, 1249, 1248, 996, 1246,
2335 992, 997, 1001, 1001, 1001, 1002, 1002, 1002, 1244, 1003,
2336 1003, 1003, 1239, 1004, 1004, 1004, 1005, 1005, 1005, 1001,
2337 1232, 1223, 1002, 1222, 1221, 994, 1003, 1216, 1213, 997,
2338 1004, 1212, 1206, 1005, 1006, 1006, 1006, 1007, 1007, 1007,
2339 1011, 1011, 1011, 1204, 996, 1012, 1012, 1012, 1203, 1013,
2340 1013, 1013, 1006, 1013, 1003, 1007, 1013, 1011, 1016, 1016,
2342 1016, 1202, 1016, 1012, 1200, 1016, 1199, 1020, 1020, 1020,
2343 1004, 1196, 1002, 1022, 1022, 1022, 1195, 1022, 1193, 1192,
2344 1022, 1191, 1190, 1005, 1011, 1020, 1027, 1027, 1027, 1188,
2345 1027, 1186, 1181, 1027, 1180, 1179, 1006, 1177, 1176, 1012,
2346 1007, 1031, 1031, 1031, 1033, 1033, 1033, 1034, 1034, 1034,
2347 1175, 1034, 1174, 1171, 1034, 1163, 1039, 1039, 1039, 1031,
2348 1039, 1158, 1033, 1039, 1042, 1042, 1042, 1044, 1044, 1044,
2349 1020, 1045, 1045, 1045, 1156, 1045, 1155, 1151, 1045, 1048,
2350 1048, 1048, 1042, 1146, 1044, 1050, 1050, 1050, 1051, 1051,
2351 1051, 1141, 1052, 1052, 1052, 1139, 1137, 1048, 1033, 1031,
2353 1134, 1133, 1050, 1054, 1054, 1054, 1051, 1132, 1118, 1042,
2354 1052, 1055, 1055, 1055, 1058, 1058, 1058, 1065, 1065, 1065,
2355 1054, 1072, 1072, 1072, 1117, 1112, 1048, 1106, 1105, 1055,
2356 1104, 1097, 1058, 1094, 1090, 1065, 1076, 1076, 1076, 1078,
2357 1078, 1078, 1052, 1079, 1079, 1079, 1082, 1082, 1082, 1084,
2358 1084, 1084, 1051, 1084, 1088, 1087, 1084, 1089, 1089, 1089,
2359 1095, 1095, 1095, 1058, 1091, 1091, 1091, 1065, 1091, 1083,
2360 1055, 1091, 1096, 1096, 1096, 1089, 1081, 1080, 1095, 1058,
2361 1077, 1098, 1098, 1098, 1075, 1098, 1074, 1079, 1098, 1073,
2362 1082, 1101, 1101, 1101, 1102, 1102, 1102, 1070, 1102, 1069,
2364 1078, 1102, 1103, 1103, 1103, 1068, 1089, 1067, 1101, 1107,
2365 1107, 1107, 1108, 1108, 1108, 1109, 1109, 1109, 1095, 1066,
2366 1103, 1110, 1110, 1110, 1111, 1111, 1111, 1113, 1113, 1113,
2367 1114, 1114, 1114, 1064, 1114, 1063, 1060, 1114, 1115, 1115,
2368 1115, 1116, 1116, 1116, 1113, 1116, 1057, 1053, 1116, 1049,
2369 1047, 1103, 1119, 1119, 1119, 1115, 1120, 1120, 1120, 1121,
2370 1121, 1121, 1046, 1121, 1043, 1038, 1121, 1122, 1122, 1122,
2371 1119, 1037, 1032, 1120, 1030, 1026, 1109, 1123, 1123, 1123,
2372 1025, 1019, 1110, 1010, 1122, 1111, 1124, 1124, 1124, 1125,
2373 1125, 1125, 1009, 1125, 1123, 1008, 1125, 1126, 1126, 1126,
2375 1127, 1127, 1127, 1124, 993, 1128, 1128, 1128, 1129, 1129,
2376 1129, 1130, 1130, 1130, 1126, 990, 989, 1127, 1131, 1131,
2377 1131, 988, 1128, 987, 984, 1129, 1135, 1135, 1135, 1130,
2378 1136, 1136, 1136, 983, 1136, 980, 1131, 1136, 1123, 1138,
2379 1138, 1138, 975, 1135, 1140, 1140, 1140, 1142, 1142, 1142,
2380 972, 1143, 1143, 1143, 963, 1127, 1128, 1138, 1144, 1144,
2381 1144, 961, 1140, 960, 1142, 957, 956, 1131, 1143, 1145,
2382 1145, 1145, 955, 954, 1130, 1144, 1147, 1147, 1147, 1148,
2383 1148, 1148, 1149, 1149, 1149, 953, 952, 1145, 1150, 1150,
2384 1150, 951, 949, 1140, 1147, 948, 1148, 945, 944, 1149,
2386 1152, 1152, 1152, 943, 1152, 942, 1150, 1152, 1157, 1157,
2387 1157, 1144, 1159, 1159, 1159, 1160, 1160, 1160, 941, 1160,
2388 1147, 939, 1160, 1161, 1161, 1161, 1157, 938, 937, 1159,
2389 1162, 1162, 1162, 1145, 1164, 1164, 1164, 936, 1165, 1165,
2390 1165, 1161, 1165, 927, 923, 1165, 911, 910, 1162, 905,
2391 1150, 1164, 1166, 1166, 1166, 904, 902, 1157, 1172, 1172,
2392 1172, 895, 1173, 1173, 1173, 1178, 1178, 1178, 894, 884,
2393 1166, 1182, 1182, 1182, 879, 1172, 1183, 1183, 1183, 1161,
2394 1173, 876, 875, 1162, 1184, 1184, 1184, 1185, 1185, 1185,
2395 1187, 1187, 1187, 1189, 1189, 1189, 1194, 1194, 1194, 1197,
2397 1197, 1197, 1198, 1198, 1198, 1207, 1207, 1207, 872, 1207,
2398 867, 858, 1207, 857, 1194, 856, 852, 1197, 840, 1198,
2399 1173, 1210, 1210, 1210, 1211, 1211, 1211, 1214, 1214, 1214,
2400 1215, 1215, 1215, 1217, 1217, 1217, 839, 1217, 838, 1210,
2401 1217, 1211, 1220, 1220, 1220, 837, 1220, 836, 827, 1220,
2402 1224, 1224, 1224, 826, 825, 1197, 1225, 1225, 1225, 1227,
2403 1227, 1227, 820, 1227, 819, 1210, 1227, 1224, 1230, 1230,
2404 1230, 1231, 1231, 1231, 1225, 1231, 818, 814, 1231, 1233,
2405 1233, 1233, 813, 1233, 812, 1230, 1233, 1236, 1236, 1236,
2406 1237, 1237, 1237, 811, 1237, 810, 809, 1237, 1238, 1238,
2408 1238, 1240, 1240, 1240, 1236, 1241, 1241, 1241, 808, 1241,
2409 807, 802, 1241, 794, 792, 1238, 786, 777, 1240, 1242,
2410 1242, 1242, 1243, 1243, 1243, 1245, 1245, 1245, 1247, 1247,
2411 1247, 772, 1247, 765, 764, 1247, 762, 1242, 761, 760,
2412 1243, 759, 1245, 1251, 1251, 1251, 1254, 1254, 1254, 1256,
2413 1256, 1256, 1257, 1257, 1257, 757, 1257, 756, 755, 1257,
2414 754, 1251, 753, 752, 1254, 751, 1256, 750, 1242, 1245,
2415 1258, 1258, 1258, 1259, 1259, 1259, 744, 1259, 743, 742,
2416 1259, 739, 738, 1243, 1261, 1261, 1261, 1258, 1263, 1263,
2417 1263, 1264, 1264, 1264, 1265, 1265, 1265, 737, 1265, 735,
2419 731, 1265, 1261, 1266, 1266, 1266, 1263, 728, 1264, 1267,
2420 1267, 1267, 725, 1267, 718, 717, 1267, 1279, 1279, 1279,
2421 1266, 1268, 1268, 1268, 1272, 1272, 1272, 1274, 1274, 1274,
2422 714, 1274, 713, 712, 1274, 1263, 1277, 1277, 1277, 1268,
2423 711, 701, 1272, 1278, 1278, 1278, 694, 1261, 1280, 1280,
2424 1280, 686, 1280, 685, 1277, 1280, 1283, 1283, 1283, 684,
2425 681, 1278, 1289, 1289, 1289, 1290, 1290, 1290, 674, 1290,
2426 673, 672, 1290, 671, 1283, 1291, 1291, 1291, 670, 1289,
2427 1292, 1292, 1292, 1268, 661, 1277, 1272, 1295, 1295, 1295,
2428 1296, 1296, 1296, 1291, 1278, 1299, 1299, 1299, 1300, 1300,
2430 1300, 1301, 1301, 1301, 1303, 1303, 1303, 1304, 1304, 1304,
2431 1306, 1306, 1306, 1309, 1309, 1309, 1313, 1313, 1313, 660,
2432 1314, 1314, 1314, 1315, 1315, 1315, 659, 1315, 656, 655,
2433 1315, 1309, 654, 652, 1313, 651, 1291, 1314, 1326, 1326,
2434 1326, 1327, 1327, 1327, 1328, 1328, 1328, 650, 1328, 649,
2435 645, 1328, 1329, 1329, 1329, 640, 1326, 639, 1327, 1331,
2436 1331, 1331, 1336, 1336, 1336, 1337, 1337, 1337, 638, 1337,
2437 637, 634, 1337, 1338, 1338, 1338, 632, 1338, 628, 1336,
2438 1338, 624, 1342, 1342, 1342, 1326, 1342, 623, 620, 1342,
2439 1345, 1345, 1345, 1346, 1346, 1346, 619, 1346, 618, 617,
2441 1346, 1348, 1348, 1348, 615, 1348, 614, 1345, 1348, 1351,
2442 1351, 1351, 1352, 1352, 1352, 1354, 1354, 1354, 1355, 1355,
2443 1355, 613, 1355, 612, 611, 1355, 610, 1351, 609, 608,
2444 1352, 607, 1354, 1362, 1362, 1362, 1365, 1365, 1365, 606,
2445 1365, 605, 604, 1365, 600, 1368, 1368, 1368, 599, 1368,
2446 597, 1362, 1368, 1372, 1372, 1372, 1374, 1374, 1374, 1375,
2447 1375, 1375, 596, 1375, 595, 594, 1375, 1381, 1381, 1381,
2448 1351, 1372, 593, 589, 1374, 1378, 1378, 1378, 587, 1378,
2449 586, 585, 1378, 584, 579, 1381, 1382, 1382, 1382, 1385,
2450 1385, 1385, 1387, 1387, 1387, 1388, 1388, 1388, 1389, 1389,
2452 1389, 1381, 1372, 1382, 1390, 1390, 1390, 1385, 575, 574,
2453 1387, 571, 570, 1388, 1393, 1393, 1393, 569, 568, 1374,
2454 567, 566, 1390, 1394, 1394, 1394, 563, 1394, 562, 561,
2455 1394, 560, 1397, 1397, 1397, 1398, 1398, 1398, 1399, 1399,
2456 1399, 1401, 1401, 1401, 1402, 1402, 1402, 557, 555, 1387,
2457 1397, 1385, 1403, 1403, 1403, 1404, 1404, 1404, 1406, 1406,
2458 1406, 1408, 1408, 1408, 1411, 1411, 1411, 1413, 1413, 1413,
2459 1415, 1415, 1415, 552, 1415, 551, 550, 1415, 1428, 1428,
2460 1428, 1411, 1429, 1429, 1429, 1413, 1429, 549, 1397, 1429,
2461 1432, 1432, 1432, 1440, 1440, 1440, 1428, 1440, 548, 545,
2463 1440, 1444, 1444, 1444, 544, 1444, 543, 542, 1444, 1448,
2464 1448, 1448, 1449, 1449, 1449, 1451, 1451, 1451, 1452, 1452,
2465 1452, 541, 1452, 538, 537, 1452, 536, 1448, 535, 533,
2466 1449, 530, 1451, 1463, 1463, 1463, 1428, 1465, 1465, 1465,
2467 1466, 1466, 1466, 1467, 1467, 1467, 1468, 1468, 1468, 1469,
2468 1469, 1469, 1473, 1473, 1473, 1465, 526, 1466, 525, 1451,
2469 524, 1467, 523, 522, 1468, 521, 1469, 1470, 1470, 1470,
2470 1473, 1470, 520, 517, 1470, 1471, 1471, 1471, 1474, 1474,
2471 1474, 1475, 1475, 1475, 1476, 1476, 1476, 1478, 1478, 1478,
2472 514, 513, 1471, 1481, 1481, 1481, 1482, 1482, 1482, 1475,
2474 1467, 512, 1476, 511, 1468, 1478, 1483, 1483, 1483, 1485,
2475 1485, 1485, 509, 504, 1482, 1486, 1486, 1486, 1490, 1490,
2476 1490, 1491, 1491, 1491, 502, 1491, 501, 500, 1491, 1503,
2477 1503, 1503, 1510, 1510, 1510, 1490, 1513, 1513, 1513, 1515,
2478 1515, 1515, 499, 498, 1475, 497, 1478, 1503, 493, 1510,
2479 492, 1516, 1516, 1516, 1513, 1516, 1515, 491, 1516, 1524,
2480 1524, 1524, 1525, 1525, 1525, 1526, 1526, 1526, 1527, 1527,
2481 1527, 1528, 1528, 1528, 490, 486, 1524, 485, 484, 1525,
2482 1530, 1530, 1530, 483, 482, 1527, 1503, 480, 477, 1528,
2483 476, 1531, 1531, 1531, 474, 1531, 472, 1530, 1531, 1532,
2485 1532, 1532, 1533, 1533, 1533, 1534, 1534, 1534, 468, 1534,
2486 466, 464, 1534, 1537, 1537, 1537, 461, 1532, 460, 458,
2487 1533, 1538, 1538, 1538, 457, 1538, 456, 455, 1538, 454,
2488 1537, 1539, 1539, 1539, 1540, 1540, 1540, 1542, 1542, 1542,
2489 1543, 1543, 1543, 1547, 1547, 1547, 451, 450, 1539, 1606,
2490 1606, 1606, 1540, 1552, 1552, 1552, 449, 448, 1543, 447,
2491 441, 1547, 1567, 1567, 1567, 440, 1533, 1553, 1553, 1553,
2492 1552, 1553, 438, 432, 1553, 1572, 1572, 1572, 431, 427,
2493 1567, 1573, 1573, 1573, 423, 1573, 419, 415, 1573, 1576,
2494 1576, 1576, 1572, 1576, 409, 405, 1576, 1584, 1584, 1584,
2496 1585, 1585, 1585, 401, 1585, 397, 396, 1585, 1586, 1586,
2497 1586, 1587, 1587, 1587, 1584, 1587, 395, 394, 1587, 1567,
2498 1588, 1588, 1588, 390, 386, 1586, 1589, 1589, 1589, 383,
2499 1589, 382, 381, 1589, 1590, 1590, 1590, 1588, 1590, 377,
2500 371, 1590, 1593, 1593, 1593, 1595, 1595, 1595, 1596, 1596,
2501 1596, 370, 1596, 366, 362, 1596, 1599, 1599, 1599, 358,
2502 1593, 357, 353, 1595, 1600, 1600, 1600, 350, 1600, 349,
2503 344, 1600, 340, 1599, 1601, 1601, 1601, 1609, 1609, 1609,
2504 1610, 1610, 1610, 332, 1610, 331, 330, 1610, 1626, 1626,
2505 1626, 326, 1601, 320, 1609, 1627, 1627, 1627, 1628, 1628,
2507 1628, 316, 309, 1629, 1629, 1629, 1626, 1629, 1595, 307,
2508 1629, 1635, 1635, 1635, 306, 1628, 1637, 1637, 1637, 301,
2509 1637, 294, 293, 1637, 292, 1640, 1640, 1640, 1635, 1640,
2510 291, 290, 1640, 286, 1643, 1643, 1643, 1626, 1643, 282,
2511 276, 1643, 1628, 1652, 1652, 1652, 1653, 1653, 1653, 274,
2512 1653, 269, 268, 1653, 1658, 1658, 1658, 1659, 1659, 1659,
2513 264, 1652, 1662, 1662, 1662, 258, 1662, 257, 256, 1662,
2514 252, 1658, 1658, 1669, 1669, 1669, 1678, 1678, 1678, 1679,
2515 1679, 1679, 1680, 1680, 1680, 1686, 1686, 1686, 244, 242,
2516 1669, 241, 1652, 237, 1678, 234, 1681, 1681, 1681, 1680,
2518 1681, 232, 1686, 1681, 1687, 1687, 1687, 231, 1687, 230,
2519 226, 1687, 1703, 1703, 1703, 1705, 1705, 1705, 1706, 1706,
2520 1706, 223, 222, 1678, 1707, 1707, 1707, 219, 1707, 215,
2521 1703, 1707, 1705, 1705, 211, 1706, 1706, 1708, 1708, 1708,
2522 207, 206, 1707, 1709, 1709, 1709, 1714, 1714, 1714, 1715,
2523 1715, 1715, 205, 1715, 199, 198, 1715, 1724, 1724, 1724,
2524 1725, 1725, 1725, 1714, 1725, 196, 193, 1725, 1730, 1730,
2525 1730, 1731, 1731, 1731, 181, 1724, 1732, 1732, 1732, 0,
2526 1732, 0, 0, 1732, 0, 1730, 0, 0, 1731, 1735,
2527 1735, 1735, 1750, 1750, 1750, 1753, 1753, 1753, 1754, 1754,
2529 1754, 0, 1754, 0, 0, 1754, 1735, 1755, 1755, 1755,
2530 1750, 1755, 1753, 1753, 1755, 0, 1754, 1758, 1758, 1758,
2531 1724, 1759, 1759, 1759, 0, 1755, 1756, 1756, 1756, 1756,
2532 1756, 1756, 1756, 1756, 1756, 0, 0, 1756, 1773, 1773,
2533 1773, 0, 1756, 1756, 1756, 1756, 1756, 1764, 1764, 1764,
2534 0, 1764, 0, 0, 1764, 0, 1773, 0, 0, 0,
2535 0, 0, 0, 1776, 1776, 1776, 1778, 1778, 1778, 1756,
2536 1756, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
2537 1776, 0, 1757, 1778, 0, 0, 0, 1757, 1757, 1757,
2538 1757, 1757, 1777, 1777, 1777, 0, 1777, 0, 0, 1777,
2540 1779, 1779, 1779, 0, 1779, 0, 0, 1779, 1780, 1780,
2541 1780, 1810, 1810, 1810, 1757, 1757, 1781, 1781, 1781, 0,
2542 1781, 0, 0, 1781, 0, 1780, 1795, 1795, 1795, 1810,
2543 1795, 0, 0, 1795, 1814, 1814, 1814, 0, 1814, 0,
2544 0, 1814, 0, 0, 1795, 1798, 1798, 1798, 1798, 1798,
2545 1798, 1798, 1798, 1798, 0, 0, 1798, 0, 0, 0,
2546 0, 1798, 1798, 1798, 1798, 1798, 1817, 1817, 1817, 0,
2547 1817, 0, 0, 1817, 1820, 1820, 1820, 0, 1820, 0,
2548 0, 1820, 0, 0, 1837, 1837, 1837, 0, 1798, 1798,
2549 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 0,
2551 0, 1799, 1837, 1837, 0, 0, 1799, 1799, 1799, 1799,
2552 1799, 1844, 1844, 1844, 1845, 1845, 1845, 1854, 1854, 1854,
2553 1858, 1858, 1858, 1861, 1861, 1861, 0, 0, 1844, 0,
2554 0, 1845, 0, 1799, 1799, 1854, 0, 0, 1858, 0,
2555 1861, 1862, 1862, 1862, 0, 1862, 0, 0, 1862, 1863,
2556 1863, 1863, 1864, 1864, 1864, 0, 1864, 0, 0, 1864,
2557 1877, 1877, 1877, 1881, 1881, 1881, 1863, 1881, 0, 1858,
2558 1881, 0, 1884, 1884, 1884, 0, 1884, 0, 1877, 1884,
2559 1981, 1981, 1981, 1990, 1990, 1990, 0, 1990, 0, 0,
2560 1990, 2029, 2029, 2029, 0, 1877, 0, 0, 1981, 0,
2562 0, 1990, 2030, 2030, 2030, 0, 0, 0, 0, 2029,
2563 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2564 2030, 2033, 2033, 2033, 2033, 2033, 2033, 2033, 2033, 2033,
2565 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2035,
2566 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2036, 2036,
2567 2036, 2036, 2036, 2036, 2036, 2036, 2036, 2037, 2037, 2037,
2568 2037, 2037, 2037, 2037, 2037, 2037, 2038, 2038, 2038, 2038,
2569 2038, 2038, 2038, 2038, 2038, 2039, 2039, 2039, 2039, 2039,
2570 2039, 2039, 2039, 2039, 2040, 2040, 2040, 2040, 2040, 2040,
2571 2040, 2040, 2040, 2041, 2041, 2041, 2041, 2041, 2041, 2041,
2573 2041, 2041, 2042, 2042, 2042, 2042, 2042, 2042, 2042, 2042,
2574 2042, 2043, 2043, 2043, 2043, 2043, 2043, 2043, 2043, 2043,
2575 2044, 2044, 2044, 2044, 2044, 2044, 2044, 2044, 2044, 2045,
2576 2045, 2045, 2045, 2045, 2045, 2045, 2045, 2045, 2046, 2046,
2577 2046, 2046, 2046, 2046, 2046, 2046, 2046, 2047, 2047, 2047,
2578 2047, 2047, 2047, 2047, 2047, 2047, 2048, 2048, 2048, 2048,
2579 2048, 2048, 2048, 2048, 2048, 2049, 2049, 2049, 2049, 2049,
2580 2049, 2049, 2049, 2049, 2050, 2050, 2050, 2050, 2050, 2050,
2581 2050, 2050, 2050, 2051, 2051, 2051, 2051, 2051, 2051, 2051,
2582 2051, 2051, 2052, 2052, 2052, 2052, 2052, 2052, 2052, 2052,
2584 2052, 2053, 2053, 2053, 2053, 2053, 2053, 2053, 2053, 2053,
2585 2054, 2054, 2054, 2054, 2054, 2054, 2054, 2054, 2054, 2055,
2586 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2056, 2056,
2587 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2057, 2057, 2057,
2588 2057, 2057, 2057, 2057, 2057, 2057, 2058, 2058, 2058, 2058,
2589 2058, 2058, 2058, 2058, 2058, 2059, 2059, 2059, 2059, 2059,
2590 2059, 2059, 2059, 2059, 2060, 2060, 2060, 2060, 2060, 2060,
2591 2060, 2060, 2060, 2061, 2061, 2061, 2061, 2061, 2061, 2061,
2592 2061, 2061, 2062, 2062, 2062, 2062, 2062, 2062, 2062, 2062,
2593 2062, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063,
2595 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2065,
2596 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2066, 2066,
2597 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2067, 2067, 2067,
2598 2067, 2067, 2067, 2067, 2067, 2067, 2068, 2068, 2068, 2068,
2599 2068, 2068, 2068, 2068, 2068, 2069, 2069, 2069, 2069, 2069,
2600 2069, 2069, 2069, 2069, 2070, 2070, 2070, 2070, 2070, 2070,
2601 2070, 2070, 2070, 2071, 2071, 2071, 2071, 2071, 2071, 2071,
2602 2071, 2071, 2072, 2072, 2072, 2072, 2072, 2072, 2072, 2072,
2603 2072, 2073, 2073, 2073, 0, 0, 0, 2073, 2074, 2074,
2604 2074, 0, 0, 0, 2074, 2075, 2075, 2075, 0, 0,
2606 0, 2075, 2076, 2076, 2076, 0, 0, 0, 2076, 2077,
2607 2077, 2077, 0, 0, 0, 2077, 2078, 2078, 2078, 0,
2608 0, 0, 2078, 2079, 2079, 2079, 0, 0, 0, 2079,
2609 2080, 2080, 2080, 0, 0, 0, 2080, 2081, 2081, 2081,
2610 0, 0, 0, 2081, 2082, 2082, 2082, 0, 0, 0,
2611 2082, 2083, 2083, 2083, 0, 0, 0, 2083, 2084, 2084,
2612 2084, 0, 0, 0, 2084, 2085, 2085, 2085, 0, 0,
2613 0, 2085, 2086, 2086, 2086, 0, 0, 0, 2086, 2087,
2614 2087, 2087, 0, 0, 0, 2087, 2088, 2088, 2088, 0,
2615 0, 0, 2088, 2089, 2089, 2089, 0, 0, 0, 2089,
2617 2090, 2090, 2090, 2090, 2090, 2090, 2090, 0, 2090, 2091,
2618 0, 0, 0, 2091, 2092, 0, 0, 0, 2092, 2093,
2619 2093, 2093, 0, 0, 0, 2093, 2094, 0, 0, 0,
2620 2094, 2095, 2095, 2095, 0, 0, 0, 2095, 2096, 0,
2621 0, 0, 2096, 2097, 2097, 2097, 0, 0, 0, 2097,
2622 2098, 0, 0, 0, 2098, 2099, 0, 0, 0, 2099,
2623 2100, 0, 0, 0, 2100, 2101, 2101, 2101, 0, 0,
2624 0, 2101, 2102, 0, 0, 0, 2102, 2103, 2103, 2103,
2625 0, 0, 0, 2103, 2104, 0, 0, 0, 2104, 2105,
2626 2105, 2105, 0, 0, 0, 2105, 2106, 0, 0, 0,
2628 2106, 2107, 2107, 2107, 0, 0, 0, 2107, 2108, 0,
2629 0, 0, 2108, 2109, 2109, 2109, 0, 0, 0, 2109,
2630 2110, 0, 0, 0, 2110, 2111, 2111, 2111, 0, 0,
2631 0, 2111, 2112, 0, 0, 0, 2112, 2113, 2113, 2113,
2632 0, 0, 0, 2113, 2114, 0, 0, 0, 2114, 2115,
2633 2115, 2115, 0, 0, 0, 2115, 2116, 0, 0, 0,
2634 2116, 2117, 2117, 2117, 0, 0, 0, 2117, 2118, 0,
2635 0, 0, 2118, 2119, 2119, 2119, 0, 0, 0, 2119,
2636 2120, 0, 0, 0, 2120, 2121, 2121, 2121, 2121, 2121,
2637 2121, 2121, 2121, 2121, 2122, 0, 0, 0, 0, 2122,
2639 2123, 2123, 2123, 0, 0, 0, 2123, 2124, 2124, 2124,
2640 2124, 0, 0, 2124, 2124, 2125, 2125, 2125, 0, 0,
2641 0, 2125, 2126, 2126, 2126, 2126, 0, 0, 2126, 2126,
2642 2127, 2127, 2127, 0, 0, 0, 2127, 2128, 2128, 2128,
2643 2128, 0, 0, 2128, 2128, 2129, 2129, 2129, 0, 0,
2644 0, 2129, 2130, 2130, 2130, 2130, 0, 0, 2130, 2130,
2645 2131, 2131, 2131, 0, 0, 0, 2131, 2132, 2132, 2132,
2646 2132, 0, 0, 2132, 2132, 2133, 2133, 2133, 0, 0,
2647 0, 2133, 2134, 2134, 2134, 2134, 0, 0, 2134, 2134,
2648 2135, 2135, 2135, 0, 0, 0, 2135, 2136, 2136, 2136,
2650 2136, 0, 0, 2136, 2136, 2137, 2137, 2137, 2137, 0,
2651 0, 2137, 2137, 2138, 2138, 2138, 0, 0, 0, 2138,
2652 2139, 2139, 2139, 2139, 0, 0, 2139, 2139, 2140, 2140,
2653 2140, 2140, 0, 2140, 0, 2140, 2141, 2141, 2141, 2141,
2654 0, 0, 2141, 2141, 2142, 2142, 2142, 2142, 0, 2142,
2655 0, 2142, 2143, 2143, 2143, 2143, 0, 0, 2143, 2143,
2656 2144, 2144, 2144, 0, 0, 0, 2144, 2145, 2145, 2145,
2657 2145, 0, 0, 2145, 2145, 2146, 2146, 2146, 2146, 0,
2658 2146, 0, 2146, 2147, 2147, 2147, 2147, 0, 0, 2147,
2659 2147, 2148, 2148, 2148, 0, 0, 0, 2148, 2149, 2149,
2661 2149, 2149, 0, 0, 2149, 2149, 2150, 2150, 2150, 0,
2662 0, 0, 2150, 2151, 2151, 2151, 2151, 0, 0, 2151,
2663 2151, 2152, 2152, 2152, 2152, 0, 0, 2152, 2152, 2153,
2664 2153, 2153, 0, 0, 0, 2153, 2154, 2154, 2154, 2154,
2665 0, 0, 2154, 2154, 2155, 2155, 2155, 2155, 2155, 2155,
2666 2155, 2155, 2155, 2156, 0, 2156, 0, 0, 2156, 2157,
2667 2157, 2157, 0, 0, 0, 2157, 2158, 2158, 2158, 2158,
2668 0, 0, 2158, 2158, 2159, 2159, 2159, 2159, 0, 2159,
2669 0, 2159, 2160, 2160, 2160, 2160, 0, 0, 2160, 2160,
2670 2161, 2161, 2161, 0, 0, 0, 2161, 2162, 2162, 2162,
2672 2162, 0, 0, 2162, 2162, 2163, 2163, 2163, 0, 0,
2673 0, 2163, 2164, 2164, 2164, 2164, 0, 0, 2164, 2164,
2674 2165, 2165, 2165, 0, 0, 0, 2165, 2166, 2166, 2166,
2675 2166, 0, 0, 2166, 2166, 2167, 2167, 2167, 0, 0,
2676 0, 2167, 2168, 2168, 2168, 2168, 0, 0, 2168, 2168,
2677 2169, 2169, 2169, 0, 0, 0, 2169, 2170, 2170, 2170,
2678 2170, 0, 0, 2170, 2170, 2171, 2171, 2171, 2171, 0,
2679 0, 2171, 2171, 2172, 2172, 2172, 0, 0, 0, 2172,
2680 2173, 2173, 2173, 2173, 0, 0, 2173, 2173, 2174, 2174,
2681 2174, 0, 0, 0, 2174, 2175, 2175, 2175, 2175, 0,
2683 0, 2175, 2175, 2176, 2176, 2176, 0, 0, 0, 2176,
2684 2177, 2177, 2177, 2177, 0, 0, 2177, 2177, 2178, 2178,
2685 2178, 0, 0, 0, 2178, 2179, 2179, 2179, 2179, 0,
2686 0, 2179, 2179, 2180, 2180, 2180, 0, 0, 0, 2180,
2687 2181, 2181, 2181, 2181, 0, 0, 2181, 2181, 2182, 2182,
2688 2182, 0, 0, 0, 2182, 2183, 2183, 2183, 2183, 0,
2689 0, 2183, 2183, 2184, 2184, 2184, 0, 0, 0, 2184,
2690 2185, 2185, 2185, 2185, 0, 0, 2185, 2185, 2186, 2186,
2691 2186, 2186, 0, 0, 2186, 2186, 2187, 2187, 2187, 0,
2692 0, 0, 2187, 2188, 2188, 2188, 2188, 0, 0, 2188,
2694 2188, 2189, 2189, 2189, 2189, 2189, 2189, 2189, 2189, 2189,
2695 2190, 2190, 2190, 2190, 2190, 2190, 2190, 2190, 2190, 2191,
2696 2191, 2191, 0, 0, 0, 2191, 2192, 2192, 2192, 2192,
2697 0, 0, 2192, 2192, 2193, 2193, 2193, 0, 0, 0,
2698 2193, 2194, 2194, 2194, 2194, 0, 0, 2194, 2194, 2195,
2699 2195, 2195, 0, 0, 0, 2195, 2196, 2196, 2196, 2196,
2700 0, 0, 2196, 2196, 2197, 2197, 2197, 0, 0, 0,
2701 2197, 2198, 2198, 2198, 2198, 0, 0, 2198, 2198, 2199,
2702 2199, 2199, 0, 0, 0, 2199, 2200, 2200, 2200, 0,
2703 0, 0, 2200, 2201, 2201, 2201, 2201, 0, 0, 2201,
2705 2201, 2202, 2202, 2202, 2202, 0, 2202, 0, 2202, 2203,
2706 2203, 2203, 2203, 0, 0, 2203, 2203, 2204, 2204, 2204,
2707 2204, 0, 0, 2204, 2204, 2205, 2205, 2205, 0, 0,
2708 0, 2205, 2206, 2206, 2206, 2206, 0, 0, 2206, 2206,
2709 2207, 2207, 2207, 0, 0, 0, 2207, 2208, 2208, 2208,
2710 2208, 0, 0, 2208, 2208, 2209, 2209, 2209, 0, 0,
2711 0, 2209, 2210, 2210, 2210, 2210, 0, 0, 2210, 2210,
2712 2211, 2211, 2211, 0, 0, 0, 2211, 2212, 2212, 2212,
2713 2212, 0, 0, 2212, 2212, 2213, 2213, 2213, 0, 0,
2714 0, 2213, 2214, 2214, 2214, 2214, 0, 0, 2214, 2214,
2716 2215, 2215, 2215, 0, 0, 0, 2215, 2216, 2216, 2216,
2717 2216, 0, 0, 2216, 2216, 2217, 2217, 2217, 2217, 0,
2718 2217, 0, 2217, 2218, 2218, 2218, 2218, 0, 0, 2218,
2719 2218, 2219, 2219, 2219, 2219, 0, 0, 2219, 2219, 2220,
2720 2220, 2220, 2220, 0, 2220, 0, 2220, 2221, 2221, 2221,
2721 2221, 0, 0, 2221, 2221, 2222, 2222, 2222, 2222, 2222,
2722 2222, 2222, 2222, 2222, 2223, 2223, 2223, 2223, 2223, 2223,
2723 2223, 2223, 2223, 2224, 2224, 2224, 0, 0, 0, 2224,
2724 2225, 2225, 2225, 2225, 0, 0, 2225, 2225, 2226, 2226,
2725 2226, 0, 0, 0, 2226, 2227, 2227, 2227, 2227, 0,
2727 0, 2227, 2227, 2228, 2228, 2228, 0, 0, 0, 2228,
2728 2229, 2229, 2229, 2229, 0, 0, 2229, 2229, 2230, 2230,
2729 2230, 0, 0, 0, 2230, 2231, 2231, 2231, 2231, 0,
2730 0, 2231, 2231, 2232, 2232, 2232, 0, 0, 0, 2232,
2731 2233, 2233, 2233, 0, 0, 0, 2233, 2234, 2234, 2234,
2732 2234, 0, 0, 2234, 2234, 2235, 2235, 2235, 2235, 0,
2733 2235, 0, 2235, 2236, 2236, 2236, 2236, 0, 0, 2236,
2734 2236, 2237, 2237, 2237, 2237, 0, 0, 2237, 2237, 2238,
2735 2238, 2238, 0, 0, 0, 2238, 2239, 2239, 2239, 2239,
2736 0, 0, 2239, 2239, 2240, 2240, 2240, 0, 0, 0,
2738 2240, 2241, 2241, 2241, 2241, 0, 0, 2241, 2241, 2242,
2739 2242, 2242, 2242, 0, 2242, 0, 2242, 2243, 2243, 2243,
2740 2243, 0, 0, 2243, 2243, 2244, 2244, 2244, 0, 0,
2741 0, 2244, 2245, 2245, 2245, 2245, 0, 0, 2245, 2245,
2742 2246, 2246, 2246, 2246, 0, 2246, 0, 2246, 2247, 2247,
2743 2247, 2247, 0, 0, 2247, 2247, 2248, 2248, 2248, 0,
2744 0, 0, 2248, 2249, 2249, 2249, 2249, 0, 0, 2249,
2745 2249, 2250, 2250, 2250, 2250, 0, 0, 2250, 2250, 2251,
2746 2251, 2251, 2251, 0, 0, 2251, 2251, 2252, 2252, 2252,
2747 2252, 0, 0, 2252, 2252, 2253, 2253, 2253, 2253, 2253,
2749 2253, 2253, 2253, 2253, 2254, 2254, 2254, 2254, 2254, 2254,
2750 2254, 2254, 2254, 2255, 2255, 2255, 2255, 0, 2255, 0,
2751 2255, 2256, 2256, 2256, 2256, 0, 0, 2256, 2256, 2257,
2752 2257, 2257, 0, 0, 0, 2257, 2258, 2258, 2258, 2258,
2753 0, 0, 2258, 2258, 2259, 2259, 2259, 0, 0, 0,
2754 2259, 2260, 2260, 2260, 2260, 0, 0, 2260, 2260, 2261,
2755 2261, 2261, 2261, 0, 2261, 0, 2261, 2262, 2262, 2262,
2756 2262, 0, 0, 2262, 2262, 2263, 2263, 2263, 2263, 0,
2757 2263, 0, 2263, 2264, 2264, 2264, 0, 0, 0, 2264,
2758 2265, 2265, 2265, 0, 0, 0, 2265, 2266, 2266, 2266,
2760 2266, 0, 0, 2266, 2266, 2267, 2267, 2267, 2267, 0,
2761 0, 2267, 2267, 2268, 2268, 2268, 0, 0, 0, 2268,
2762 2269, 2269, 2269, 0, 0, 0, 2269, 2270, 2270, 2270,
2763 2270, 0, 0, 2270, 2270, 2271, 2271, 2271, 0, 0,
2764 0, 2271, 2272, 2272, 2272, 2272, 0, 0, 2272, 2272,
2765 2273, 2273, 2273, 0, 0, 0, 2273, 2274, 2274, 2274,
2766 2274, 0, 0, 2274, 2274, 2275, 2275, 2275, 2275, 2275,
2767 2275, 2275, 2275, 2275, 2276, 2276, 2276, 2276, 2276, 2276,
2768 2276, 2276, 2276, 2277, 2277, 2277, 2277, 2277, 2277, 2277,
2769 2277, 2277, 2278, 2278, 2278, 2278, 2278, 2278, 2278, 2278,
2771 2278, 2279, 2279, 2279, 2279, 2279, 2279, 2279, 2279, 2279,
2772 2280, 2280, 2280, 2280, 2280, 2280, 2280, 2280, 2280, 2032,
2773 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032,
2774 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032,
2775 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032,
2776 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032,
2777 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032,
2778 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032,
2779 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032
2782 /* Table of booleans, true if rule could match eol. */
2783 static yyconst flex_int32_t yy_rule_can_match_eol[350] =
2785 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1,
2786 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1,
2787 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0,
2788 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2789 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0,
2790 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0,
2791 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2792 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1,
2793 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1,
2794 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0,
2795 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1,
2796 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1,
2797 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1,
2798 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1,
2799 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0,
2800 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1,
2801 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
2802 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, };
2804 static yy_state_type yy_last_accepting_state;
2805 static char *yy_last_accepting_cpos;
2807 extern int surf_parse__flex_debug;
2808 int surf_parse__flex_debug = 0;
2810 /* The intent behind this definition is that it'll catch
2811 * any uses of REJECT which flex missed.
2813 #define REJECT reject_used_but_not_detected
2814 #define yymore() yymore_used_but_not_detected
2815 #define YY_MORE_ADJ 0
2816 #define YY_RESTORE_YY_MORE_OFFSET
2817 char *surf_parse_text;
2818 /* Validating XML processor for src/surf/simgrid.dtd.
2819 * Generated 2010/11/03 10:00:12.
2821 * This program was generated with the FleXML XML processor generator.
2822 * FleXML is Copyright (C) 1999-2005 Kristoffer Rose. All rights reserved.
2823 * FleXML is Copyright (C) 2003-2006 Martin Quinson. All rights reserved.
2824 * (Id: flexml.pl,v 1.62 2007/10/11 10:00:14 mquinson Exp).
2826 * There are two, intertwined parts to this program, part A and part B.
2831 * Some parts, here collectively called "Part A", are found in the
2832 * FleXML package. They are Copyright (C) 1999-2005 Kristoffer Rose
2833 * and Copyright (C) 2003-2006 Martin Quinson. All rights reserved.
2835 * You can redistribute, use, perform, display and/or modify "Part A"
2836 * provided the following two conditions hold:
2838 * 1. The program is distributed WITHOUT ANY WARRANTY from the author of
2839 * FleXML; without even the implied warranty of MERCHANTABILITY or
2840 * FITNESS FOR A PARTICULAR PURPOSE.
2842 * 2. The program distribution conditions do not in any way affect the
2843 * distribution conditions of the FleXML system used to generate this
2844 * file or any version of FleXML derived from that system.
2846 * Notice that these are explicit rights granted to you for files
2847 * generated by the FleXML system. For your rights in connection with
2848 * the FleXML system itself please consult the GNU General Public License.
2853 * The other parts, here collectively called "Part B", and which came
2854 * from the DTD used by FleXML to generate this program, can be
2855 * distributed (or not, as the case may be) under the terms of whoever
2856 * wrote them, provided these terms respect and obey the two conditions
2857 * above under the heading "Part A".
2859 * The author of and contributors to FleXML specifically disclaim
2860 * any copyright interest in "Part B", unless "Part B" was written
2861 * by the author of or contributors to FleXML.
2865 /* Version strings. */
2866 const char rcs_surfxml_flexml_skeleton[] =
2867 "$" "Id: skel,v 1.40 2007/10/11 09:57:24 mquinson Exp $";
2868 const char rcs_surfxml_flexml[] =
2869 "$" "Id: flexml.pl,v 1.62 2007/10/11 10:00:14 mquinson Exp $";
2872 #include <stdlib.h> /* for realloc() -- needed here when using flex 2.5.4 */
2879 #if defined(_XBT_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__TOS_WIN__)
2880 # ifndef __STRICT_ANSI__
2882 # include <process.h>
2885 # include <unistd.h>
2888 #ifndef FLEXML_INDEXSTACKSIZE
2889 #define FLEXML_INDEXSTACKSIZE 1000
2892 /* Generated definitions. */
2893 #define FLEXML_yylineno
2894 #ifndef FLEXML_BUFFERSTACKSIZE
2895 #define FLEXML_BUFFERSTACKSIZE 1000000
2897 #define FLEXML_NEED_BUFFERLIT
2899 /* XML processor api. */
2900 /* FleXML-provided data. */
2901 int surfxml_pcdata_ix;
2902 extern char *surfxml_bufferstack;
2903 #define surfxml_pcdata (surfxml_bufferstack + surfxml_pcdata_ix)
2904 AT_surfxml_random_generator AX_surfxml_random_generator;
2905 #define A_surfxml_random_generator AX_surfxml_random_generator
2906 AT_surfxml_ASroute_gw_dst AX_surfxml_ASroute_gw_dst;
2907 #define A_surfxml_ASroute_gw_dst (surfxml_bufferstack + AX_surfxml_ASroute_gw_dst)
2908 AT_surfxml_trace_connect_element AX_surfxml_trace_connect_element;
2909 #define A_surfxml_trace_connect_element (surfxml_bufferstack + AX_surfxml_trace_connect_element)
2910 AT_surfxml_prop_id AX_surfxml_prop_id;
2911 #define A_surfxml_prop_id (surfxml_bufferstack + AX_surfxml_prop_id)
2912 AT_surfxml_host_id AX_surfxml_host_id;
2913 #define A_surfxml_host_id (surfxml_bufferstack + AX_surfxml_host_id)
2914 AT_surfxml_link_latency_file AX_surfxml_link_latency_file;
2915 #define A_surfxml_link_latency_file (surfxml_bufferstack + AX_surfxml_link_latency_file)
2916 AT_surfxml_ASroute_symetrical AX_surfxml_ASroute_symetrical;
2917 #define A_surfxml_ASroute_symetrical AX_surfxml_ASroute_symetrical
2918 AT_surfxml_link_ctn_direction AX_surfxml_link_ctn_direction;
2919 #define A_surfxml_link_ctn_direction AX_surfxml_link_ctn_direction
2920 AT_surfxml_host_state AX_surfxml_host_state;
2921 #define A_surfxml_host_state AX_surfxml_host_state
2922 AT_surfxml_AS_id AX_surfxml_AS_id;
2923 #define A_surfxml_AS_id (surfxml_bufferstack + AX_surfxml_AS_id)
2924 AT_surfxml_host_power AX_surfxml_host_power;
2925 #define A_surfxml_host_power (surfxml_bufferstack + AX_surfxml_host_power)
2926 AT_surfxml_router_id AX_surfxml_router_id;
2927 #define A_surfxml_router_id (surfxml_bufferstack + AX_surfxml_router_id)
2928 AT_surfxml_process_start_time AX_surfxml_process_start_time;
2929 #define A_surfxml_process_start_time (surfxml_bufferstack + AX_surfxml_process_start_time)
2930 AT_surfxml_cluster_suffix AX_surfxml_cluster_suffix;
2931 #define A_surfxml_cluster_suffix (surfxml_bufferstack + AX_surfxml_cluster_suffix)
2932 AT_surfxml_ASroute_src AX_surfxml_ASroute_src;
2933 #define A_surfxml_ASroute_src (surfxml_bufferstack + AX_surfxml_ASroute_src)
2934 AT_surfxml_cluster_prefix AX_surfxml_cluster_prefix;
2935 #define A_surfxml_cluster_prefix (surfxml_bufferstack + AX_surfxml_cluster_prefix)
2936 AT_surfxml_trace_file AX_surfxml_trace_file;
2937 #define A_surfxml_trace_file (surfxml_bufferstack + AX_surfxml_trace_file)
2938 AT_surfxml_link_sharing_policy AX_surfxml_link_sharing_policy;
2939 #define A_surfxml_link_sharing_policy AX_surfxml_link_sharing_policy
2940 AT_surfxml_random_min AX_surfxml_random_min;
2941 #define A_surfxml_random_min (surfxml_bufferstack + AX_surfxml_random_min)
2942 AT_surfxml_link_ctn_id AX_surfxml_link_ctn_id;
2943 #define A_surfxml_link_ctn_id (surfxml_bufferstack + AX_surfxml_link_ctn_id)
2944 AT_surfxml_process_kill_time AX_surfxml_process_kill_time;
2945 #define A_surfxml_process_kill_time (surfxml_bufferstack + AX_surfxml_process_kill_time)
2946 AT_surfxml_cluster_bb_bw AX_surfxml_cluster_bb_bw;
2947 #define A_surfxml_cluster_bb_bw (surfxml_bufferstack + AX_surfxml_cluster_bb_bw)
2948 AT_surfxml_argument_value AX_surfxml_argument_value;
2949 #define A_surfxml_argument_value (surfxml_bufferstack + AX_surfxml_argument_value)
2950 AT_surfxml_link_state AX_surfxml_link_state;
2951 #define A_surfxml_link_state AX_surfxml_link_state
2952 AT_surfxml_ASroute_gw_src AX_surfxml_ASroute_gw_src;
2953 #define A_surfxml_ASroute_gw_src (surfxml_bufferstack + AX_surfxml_ASroute_gw_src)
2954 AT_surfxml_AS_routing AX_surfxml_AS_routing;
2955 #define A_surfxml_AS_routing (surfxml_bufferstack + AX_surfxml_AS_routing)
2956 AT_surfxml_link_bandwidth AX_surfxml_link_bandwidth;
2957 #define A_surfxml_link_bandwidth (surfxml_bufferstack + AX_surfxml_link_bandwidth)
2958 AT_surfxml_cluster_id AX_surfxml_cluster_id;
2959 #define A_surfxml_cluster_id (surfxml_bufferstack + AX_surfxml_cluster_id)
2960 AT_surfxml_random_mean AX_surfxml_random_mean;
2961 #define A_surfxml_random_mean (surfxml_bufferstack + AX_surfxml_random_mean)
2962 AT_surfxml_cluster_bb_lat AX_surfxml_cluster_bb_lat;
2963 #define A_surfxml_cluster_bb_lat (surfxml_bufferstack + AX_surfxml_cluster_bb_lat)
2964 AT_surfxml_link_latency AX_surfxml_link_latency;
2965 #define A_surfxml_link_latency (surfxml_bufferstack + AX_surfxml_link_latency)
2966 AT_surfxml_trace_connect_kind AX_surfxml_trace_connect_kind;
2967 #define A_surfxml_trace_connect_kind AX_surfxml_trace_connect_kind
2968 AT_surfxml_link_bandwidth_file AX_surfxml_link_bandwidth_file;
2969 #define A_surfxml_link_bandwidth_file (surfxml_bufferstack + AX_surfxml_link_bandwidth_file)
2970 AT_surfxml_host_vivaldi AX_surfxml_host_vivaldi;
2971 #define A_surfxml_host_vivaldi (surfxml_bufferstack + AX_surfxml_host_vivaldi)
2972 AT_surfxml_random_id AX_surfxml_random_id;
2973 #define A_surfxml_random_id (surfxml_bufferstack + AX_surfxml_random_id)
2974 AT_surfxml_random_max AX_surfxml_random_max;
2975 #define A_surfxml_random_max (surfxml_bufferstack + AX_surfxml_random_max)
2976 AT_surfxml_link_id AX_surfxml_link_id;
2977 #define A_surfxml_link_id (surfxml_bufferstack + AX_surfxml_link_id)
2978 AT_surfxml_process_host AX_surfxml_process_host;
2979 #define A_surfxml_process_host (surfxml_bufferstack + AX_surfxml_process_host)
2980 AT_surfxml_host_availability_file AX_surfxml_host_availability_file;
2981 #define A_surfxml_host_availability_file (surfxml_bufferstack + AX_surfxml_host_availability_file)
2982 AT_surfxml_cluster_lat AX_surfxml_cluster_lat;
2983 #define A_surfxml_cluster_lat (surfxml_bufferstack + AX_surfxml_cluster_lat)
2984 AT_surfxml_trace_periodicity AX_surfxml_trace_periodicity;
2985 #define A_surfxml_trace_periodicity (surfxml_bufferstack + AX_surfxml_trace_periodicity)
2986 AT_surfxml_cluster_bb_sharing_policy AX_surfxml_cluster_bb_sharing_policy;
2987 #define A_surfxml_cluster_bb_sharing_policy AX_surfxml_cluster_bb_sharing_policy
2988 AT_surfxml_prop_value AX_surfxml_prop_value;
2989 #define A_surfxml_prop_value (surfxml_bufferstack + AX_surfxml_prop_value)
2990 AT_surfxml_ASroute_dst AX_surfxml_ASroute_dst;
2991 #define A_surfxml_ASroute_dst (surfxml_bufferstack + AX_surfxml_ASroute_dst)
2992 AT_surfxml_link_state_file AX_surfxml_link_state_file;
2993 #define A_surfxml_link_state_file (surfxml_bufferstack + AX_surfxml_link_state_file)
2994 AT_surfxml_trace_connect_trace AX_surfxml_trace_connect_trace;
2995 #define A_surfxml_trace_connect_trace (surfxml_bufferstack + AX_surfxml_trace_connect_trace)
2996 AT_surfxml_cluster_power AX_surfxml_cluster_power;
2997 #define A_surfxml_cluster_power (surfxml_bufferstack + AX_surfxml_cluster_power)
2998 AT_surfxml_process_function AX_surfxml_process_function;
2999 #define A_surfxml_process_function (surfxml_bufferstack + AX_surfxml_process_function)
3000 AT_surfxml_route_symetrical AX_surfxml_route_symetrical;
3001 #define A_surfxml_route_symetrical AX_surfxml_route_symetrical
3002 AT_surfxml_cluster_sharing_policy AX_surfxml_cluster_sharing_policy;
3003 #define A_surfxml_cluster_sharing_policy AX_surfxml_cluster_sharing_policy
3004 AT_surfxml_bypassRoute_dst AX_surfxml_bypassRoute_dst;
3005 #define A_surfxml_bypassRoute_dst (surfxml_bufferstack + AX_surfxml_bypassRoute_dst)
3006 AT_surfxml_host_availability AX_surfxml_host_availability;
3007 #define A_surfxml_host_availability (surfxml_bufferstack + AX_surfxml_host_availability)
3008 AT_surfxml_bypassRoute_src AX_surfxml_bypassRoute_src;
3009 #define A_surfxml_bypassRoute_src (surfxml_bufferstack + AX_surfxml_bypassRoute_src)
3010 AT_surfxml_route_src AX_surfxml_route_src;
3011 #define A_surfxml_route_src (surfxml_bufferstack + AX_surfxml_route_src)
3012 AT_surfxml_bypassRoute_gw_dst AX_surfxml_bypassRoute_gw_dst;
3013 #define A_surfxml_bypassRoute_gw_dst (surfxml_bufferstack + AX_surfxml_bypassRoute_gw_dst)
3014 AT_surfxml_trace_id AX_surfxml_trace_id;
3015 #define A_surfxml_trace_id (surfxml_bufferstack + AX_surfxml_trace_id)
3016 AT_surfxml_cluster_radical AX_surfxml_cluster_radical;
3017 #define A_surfxml_cluster_radical (surfxml_bufferstack + AX_surfxml_cluster_radical)
3018 AT_surfxml_config_id AX_surfxml_config_id;
3019 #define A_surfxml_config_id (surfxml_bufferstack + AX_surfxml_config_id)
3020 AT_surfxml_random_std_deviation AX_surfxml_random_std_deviation;
3021 #define A_surfxml_random_std_deviation (surfxml_bufferstack + AX_surfxml_random_std_deviation)
3022 AT_surfxml_bypassRoute_gw_src AX_surfxml_bypassRoute_gw_src;
3023 #define A_surfxml_bypassRoute_gw_src (surfxml_bufferstack + AX_surfxml_bypassRoute_gw_src)
3024 AT_surfxml_host_state_file AX_surfxml_host_state_file;
3025 #define A_surfxml_host_state_file (surfxml_bufferstack + AX_surfxml_host_state_file)
3026 AT_surfxml_route_dst AX_surfxml_route_dst;
3027 #define A_surfxml_route_dst (surfxml_bufferstack + AX_surfxml_route_dst)
3028 AT_surfxml_cluster_bw AX_surfxml_cluster_bw;
3029 #define A_surfxml_cluster_bw (surfxml_bufferstack + AX_surfxml_cluster_bw)
3030 AT_surfxml_platform_version AX_surfxml_platform_version;
3031 #define A_surfxml_platform_version (surfxml_bufferstack + AX_surfxml_platform_version)
3035 # define ENTER(state) debug_enter(state,#state)
3036 # define LEAVE debug_leave()
3037 # define SET(state) debug_set(state,#state)
3038 static void debug_enter(int, const char*);
3039 static void debug_leave(void);
3040 static void debug_set(int, const char*);
3042 # define ENTER(state) (yy_push_state(state))
3043 # define LEAVE (yy_pop_state())
3044 # define SET(state) BEGIN(state)
3047 /* Generic actions. */
3048 #define SKIP /*skip*/
3049 #define SUCCEED CLEANUP; return 0
3051 #define FAIL return fail
3052 static int fail(const char*, ...);
3054 enum {flexml_max_err_msg_size = 512};
3055 static char flexml_err_msg[flexml_max_err_msg_size];
3056 const char * surfxml_parse_err_msg()
3058 return flexml_err_msg;
3060 static void reset_surfxml_parse_err_msg()
3062 flexml_err_msg[0] = '\0';
3066 static void cleanup(void);
3067 #define CLEANUP cleanup()
3069 /* Text buffer stack handling. */
3070 char *surfxml_bufferstack = NULL;
3071 static int blimit = FLEXML_BUFFERSTACKSIZE;
3072 static int bnext = 1;
3074 static int *indexstack = NULL;
3075 static int ilimit = FLEXML_INDEXSTACKSIZE;
3076 static int inext = 1;
3078 #define BUFFERSET(P) (P = bnext)
3079 #define BUFFERPUTC(C) (ck_blimit(), surfxml_bufferstack[bnext++] = (C))
3080 #define BUFFERDONE (BUFFERPUTC('\0'))
3082 #define BUFFERLITERAL(C, P) surfxml_bufferliteral(C, &(P), surf_parse_text)
3084 /* after this is called, there are at least 2 slots left in the stack */
3085 static int ck_blimit()
3087 if (bnext >= blimit) {
3088 blimit += FLEXML_BUFFERSTACKSIZE + 2;
3090 char *temp = (char *) realloc(surfxml_bufferstack, blimit);
3092 surfxml_bufferstack = temp;
3098 /* after this is called, there are at least 2 slots left in the stack */
3099 static int ck_ilimit()
3101 if (inext >= ilimit) {
3102 ilimit += FLEXML_INDEXSTACKSIZE + 2;
3104 int *temp = (int *) realloc(indexstack, ilimit);
3112 #ifdef FLEXML_NEED_BUFFERLIT
3113 static void surfxml_bufferliteral(char c, int* pp, const char* text)
3115 const char *s = (c ? strchr(text,c) : text-1), *e = strrchr(text,c);
3116 assert(s <= e); BUFFERSET(*pp);
3118 if (isspace(*s) && c) { BUFFERPUTC(' '); while (isspace(*s)) ++s; }
3119 else BUFFERPUTC(*s);
3125 static void pushbuffer(int p)
3128 indexstack[inext++] = p;
3129 indexstack[inext++] = bnext;
3132 static int popbuffer(void)
3135 bnext = indexstack[--inext];
3136 return indexstack[--inext];
3139 /* General internal entities are `unput' back onto the input stream... */
3140 #define ENTITYTEXT(T) \
3141 { char *s = (T), *e = s+strlen(s);\
3142 while (--e >= s) { unput(*e); }}
3144 /* Flex standard options. */
3145 #define YY_NO_INPUT 1
3146 /* Flex user-requested options. */
3147 /* XML character classes (currently restricted to ASCII). */
3148 /* "Common syntactic structures." */
3149 /* "Names and Tokens." */
3150 /* Miscellaneous. */
3151 /* Parser states (flex `exclusive start conditions'):
3153 * PROLOG the XML prolog of the document before <?xml...>
3154 * DOCTYPE the XML prolog of the document after <?xml...>
3155 * EPILOG after the root element
3156 * INCOMMENT inside an XML comment <!--....-->
3157 * INPI inside an XML PI <?...?>
3158 * VALUE1 inside a '...'-delimited literal
3159 * VALUE2 inside a "..."-delimited literal
3160 * CDATA inside a <![CDATA[...] ]> section.
3161 * ROOT_<tag> expect root element <tag>
3162 * AL_<tag> inside the attribute list for <tag>
3163 * IN_<tag> inside a <tag> with element contents (ready for end tag)
3164 * IMPOSSIBLE dummy to permit disabling rules; must be last
3168 const char* *surfxml_statenames=NULL;
3179 #define ROOT_surfxml_platform 9
3180 #define AL_surfxml_platform 10
3181 #define S_surfxml_platform 11
3182 #define S_surfxml_platform_1 12
3183 #define S_surfxml_platform_2 13
3184 #define S_surfxml_platform_3 14
3185 #define S_surfxml_platform_4 15
3186 #define S_surfxml_platform_5 16
3187 #define S_surfxml_platform_6 17
3188 #define E_surfxml_platform 18
3189 #define AL_surfxml_trace 19
3191 #define AL_surfxml_random 21
3192 #define S_surfxml_random 22
3193 #define S_surfxml_random_1 23
3194 #define S_surfxml_random_2 24
3195 #define E_surfxml_random 25
3196 #define AL_surfxml_trace_connect 26
3197 #define E_surfxml_trace_connect 27
3198 #define AL_surfxml_AS 28
3199 #define S_surfxml_AS 29
3200 #define S_surfxml_AS_1 30
3201 #define S_surfxml_AS_2 31
3202 #define S_surfxml_AS_3 32
3203 #define S_surfxml_AS_4 33
3204 #define S_surfxml_AS_5 34
3205 #define S_surfxml_AS_6 35
3206 #define S_surfxml_AS_7 36
3207 #define S_surfxml_AS_8 37
3208 #define S_surfxml_AS_9 38
3209 #define S_surfxml_AS_10 39
3210 #define S_surfxml_AS_11 40
3211 #define S_surfxml_AS_12 41
3212 #define S_surfxml_AS_13 42
3213 #define E_surfxml_AS 43
3214 #define AL_surfxml_host 44
3215 #define S_surfxml_host 45
3216 #define S_surfxml_host_1 46
3217 #define S_surfxml_host_2 47
3218 #define E_surfxml_host 48
3219 #define AL_surfxml_cluster 49
3220 #define E_surfxml_cluster 50
3221 #define AL_surfxml_router 51
3222 #define E_surfxml_router 52
3223 #define AL_surfxml_link 53
3224 #define S_surfxml_link 54
3225 #define S_surfxml_link_1 55
3226 #define S_surfxml_link_2 56
3227 #define E_surfxml_link 57
3228 #define AL_surfxml_route 58
3229 #define S_surfxml_route 59
3230 #define S_surfxml_route_1 60
3231 #define S_surfxml_route_2 61
3232 #define E_surfxml_route 62
3233 #define AL_surfxml_ASroute 63
3234 #define S_surfxml_ASroute 64
3235 #define S_surfxml_ASroute_1 65
3236 #define S_surfxml_ASroute_2 66
3237 #define E_surfxml_ASroute 67
3238 #define AL_surfxml_link_ctn 68
3239 #define E_surfxml_link_ctn 69
3240 #define AL_surfxml_bypassRoute 70
3241 #define S_surfxml_bypassRoute 71
3242 #define S_surfxml_bypassRoute_1 72
3243 #define S_surfxml_bypassRoute_2 73
3244 #define E_surfxml_bypassRoute 74
3245 #define AL_surfxml_process 75
3246 #define S_surfxml_process 76
3247 #define S_surfxml_process_1 77
3248 #define S_surfxml_process_2 78
3249 #define E_surfxml_process 79
3250 #define AL_surfxml_argument 80
3251 #define E_surfxml_argument 81
3252 #define AL_surfxml_config 82
3253 #define S_surfxml_config 83
3254 #define S_surfxml_config_1 84
3255 #define S_surfxml_config_2 85
3256 #define E_surfxml_config 86
3257 #define AL_surfxml_prop 87
3258 #define E_surfxml_prop 88
3259 #define IMPOSSIBLE 89
3261 #ifndef YY_NO_UNISTD_H
3262 /* Special case for "unistd.h", since it is non-ANSI. We include it way
3263 * down here because we want the user's section 1 to have been scanned first.
3264 * The user has a chance to override it with an option.
3266 #if defined(_XBT_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__TOS_WIN__)
3267 # ifndef __STRICT_ANSI__
3269 # include <process.h>
3272 # include <unistd.h>
3276 #ifndef YY_EXTRA_TYPE
3277 #define YY_EXTRA_TYPE void *
3280 static int yy_init_globals (void );
3282 /* Accessor methods to globals.
3283 These are made visible to non-reentrant scanners for convenience. */
3285 int surf_parse_lex_destroy (void );
3287 int surf_parse_get_debug (void );
3289 void surf_parse_set_debug (int debug_flag );
3291 YY_EXTRA_TYPE surf_parse_get_extra (void );
3293 void surf_parse_set_extra (YY_EXTRA_TYPE user_defined );
3295 FILE *surf_parse_get_in (void );
3297 void surf_parse_set_in (FILE * in_str );
3299 FILE *surf_parse_get_out (void );
3301 void surf_parse_set_out (FILE * out_str );
3303 int surf_parse_get_leng (void );
3305 char *surf_parse_get_text (void );
3307 int surf_parse_get_lineno (void );
3309 void surf_parse_set_lineno (int line_number );
3311 /* Macros after this point can all be overridden by user definitions in
3315 #ifndef YY_SKIP_YYWRAP
3317 extern "C" int surf_parse_wrap (void );
3319 extern int surf_parse_wrap (void );
3324 static void yy_flex_strncpy (char *,yyconst char *,int );
3327 #ifdef YY_NEED_STRLEN
3328 static int yy_flex_strlen (yyconst char * );
3334 static int yyinput (void );
3336 static int input (void );
3341 static int yy_start_stack_ptr = 0;
3342 static int yy_start_stack_depth = 0;
3343 static int *yy_start_stack = NULL;
3345 static void yy_push_state (int new_state );
3347 static void yy_pop_state (void );
3349 /* Amount of stuff to slurp up with each read. */
3350 #ifndef YY_READ_BUF_SIZE
3352 /* On IA-64, the buffer size is 16k, not 8k */
3353 #define YY_READ_BUF_SIZE 16384
3355 #define YY_READ_BUF_SIZE 8192
3356 #endif /* __ia64__ */
3359 /* Copy whatever the last rule matched to the standard output. */
3361 /* This used to be an fputs(), but since the string might contain NUL's,
3362 * we now use fwrite().
3364 #define ECHO do { if (fwrite( surf_parse_text, surf_parse_leng, 1, surf_parse_out )) {} } while (0)
3367 /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
3368 * is returned in "result".
3371 #define YY_INPUT(buf,result,max_size) \
3372 if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
3376 for ( n = 0; n < max_size && \
3377 (c = getc( surf_parse_in )) != EOF && c != '\n'; ++n ) \
3378 buf[n] = (char) c; \
3380 buf[n++] = (char) c; \
3381 if ( c == EOF && ferror( surf_parse_in ) ) \
3382 YY_FATAL_ERROR( "input in flex scanner failed" ); \
3388 while ( (result = fread(buf, 1, max_size, surf_parse_in))==0 && ferror(surf_parse_in)) \
3390 if( errno != EINTR) \
3392 YY_FATAL_ERROR( "input in flex scanner failed" ); \
3396 clearerr(surf_parse_in); \
3403 /* No semi-colon after return; correct usage is to write "yyterminate();" -
3404 * we don't want an extra ';' after the "return" because that will cause
3405 * some compilers to complain about unreachable statements.
3408 #define yyterminate() return YY_NULL
3411 /* Number of entries by which start-condition stack grows. */
3412 #ifndef YY_START_STACK_INCR
3413 #define YY_START_STACK_INCR 25
3416 /* Report a fatal error. */
3417 #ifndef YY_FATAL_ERROR
3418 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
3421 /* end tables serialization structures and prototypes */
3423 /* Default declaration of generated scanner - a define so the user can
3424 * easily add parameters.
3427 #define YY_DECL_IS_OURS 1
3429 extern int surf_parse_lex (void);
3431 #define YY_DECL int surf_parse_lex (void)
3432 #endif /* !YY_DECL */
3434 /* Code executed at the beginning of each rule, after surf_parse_text and surf_parse_leng
3437 #ifndef YY_USER_ACTION
3438 #define YY_USER_ACTION
3441 /* Code executed at the end of each rule. */
3443 #define YY_BREAK break;
3446 #define YY_RULE_SETUP \
3449 /** The main scanner function which does all the work.
3453 register yy_state_type yy_current_state;
3454 register char *yy_cp, *yy_bp;
3455 register int yy_act;
3457 /* Bypass Flex's default INITIAL state and begin by parsing the XML prolog. */
3459 reset_surfxml_parse_err_msg();
3460 surfxml_bufferstack = (char *) malloc(FLEXML_BUFFERSTACKSIZE);
3461 assert(surfxml_bufferstack);
3465 for (i = 0; i < blimit; i++) {
3466 surfxml_bufferstack[i] = '\377';
3470 surfxml_bufferstack[0] = '\0';
3471 indexstack = (int *) malloc(FLEXML_INDEXSTACKSIZE * sizeof(int));
3477 surfxml_bufferliteral('\0', &bnext, "0.0");
3478 surfxml_bufferliteral('\0', &bnext, "1.0");
3479 surfxml_bufferliteral('\0', &bnext, "0 0 0");
3480 surfxml_bufferliteral('\0', &bnext, "0.0");
3481 surfxml_bufferliteral('\0', &bnext, "-1.0");
3482 surfxml_bufferliteral('\0', &bnext, "-1.0");
3483 if(!surfxml_statenames) {surfxml_statenames= (const char **)calloc(IMPOSSIBLE,sizeof(char*));
3484 surfxml_statenames[PROLOG] = NULL;
3485 surfxml_statenames[DOCTYPE] = NULL;
3486 surfxml_statenames[EPILOG] = NULL;
3487 surfxml_statenames[INCOMMENT] = NULL;
3488 surfxml_statenames[INPI] = NULL;
3489 surfxml_statenames[VALUE1] = NULL;
3490 surfxml_statenames[VALUE2] = NULL;
3491 surfxml_statenames[CDATA] = NULL;
3492 surfxml_statenames[ROOT_surfxml_platform] = NULL;
3493 surfxml_statenames[AL_surfxml_platform] = NULL;
3494 surfxml_statenames[S_surfxml_platform] = "platform";
3495 surfxml_statenames[S_surfxml_platform_1] = "platform";
3496 surfxml_statenames[S_surfxml_platform_2] = "platform";
3497 surfxml_statenames[S_surfxml_platform_3] = "platform";
3498 surfxml_statenames[S_surfxml_platform_4] = "platform";
3499 surfxml_statenames[S_surfxml_platform_5] = "platform";
3500 surfxml_statenames[S_surfxml_platform_6] = "platform";
3501 surfxml_statenames[E_surfxml_platform] = "platform";
3502 surfxml_statenames[AL_surfxml_trace] = NULL;
3503 surfxml_statenames[IN_trace] = "trace";
3504 surfxml_statenames[AL_surfxml_random] = NULL;
3505 surfxml_statenames[S_surfxml_random] = "random";
3506 surfxml_statenames[S_surfxml_random_1] = "random";
3507 surfxml_statenames[S_surfxml_random_2] = "random";
3508 surfxml_statenames[E_surfxml_random] = "random";
3509 surfxml_statenames[AL_surfxml_trace_connect] = NULL;
3510 surfxml_statenames[E_surfxml_trace_connect] = "trace_connect";
3511 surfxml_statenames[AL_surfxml_AS] = NULL;
3512 surfxml_statenames[S_surfxml_AS] = "AS";
3513 surfxml_statenames[S_surfxml_AS_1] = "AS";
3514 surfxml_statenames[S_surfxml_AS_2] = "AS";
3515 surfxml_statenames[S_surfxml_AS_3] = "AS";
3516 surfxml_statenames[S_surfxml_AS_4] = "AS";
3517 surfxml_statenames[S_surfxml_AS_5] = "AS";
3518 surfxml_statenames[S_surfxml_AS_6] = "AS";
3519 surfxml_statenames[S_surfxml_AS_7] = "AS";
3520 surfxml_statenames[S_surfxml_AS_8] = "AS";
3521 surfxml_statenames[S_surfxml_AS_9] = "AS";
3522 surfxml_statenames[S_surfxml_AS_10] = "AS";
3523 surfxml_statenames[S_surfxml_AS_11] = "AS";
3524 surfxml_statenames[S_surfxml_AS_12] = "AS";
3525 surfxml_statenames[S_surfxml_AS_13] = "AS";
3526 surfxml_statenames[E_surfxml_AS] = "AS";
3527 surfxml_statenames[AL_surfxml_host] = NULL;
3528 surfxml_statenames[S_surfxml_host] = "host";
3529 surfxml_statenames[S_surfxml_host_1] = "host";
3530 surfxml_statenames[S_surfxml_host_2] = "host";
3531 surfxml_statenames[E_surfxml_host] = "host";
3532 surfxml_statenames[AL_surfxml_cluster] = NULL;
3533 surfxml_statenames[E_surfxml_cluster] = "cluster";
3534 surfxml_statenames[AL_surfxml_router] = NULL;
3535 surfxml_statenames[E_surfxml_router] = "router";
3536 surfxml_statenames[AL_surfxml_link] = NULL;
3537 surfxml_statenames[S_surfxml_link] = "link";
3538 surfxml_statenames[S_surfxml_link_1] = "link";
3539 surfxml_statenames[S_surfxml_link_2] = "link";
3540 surfxml_statenames[E_surfxml_link] = "link";
3541 surfxml_statenames[AL_surfxml_route] = NULL;
3542 surfxml_statenames[S_surfxml_route] = "route";
3543 surfxml_statenames[S_surfxml_route_1] = "route";
3544 surfxml_statenames[S_surfxml_route_2] = "route";
3545 surfxml_statenames[E_surfxml_route] = "route";
3546 surfxml_statenames[AL_surfxml_ASroute] = NULL;
3547 surfxml_statenames[S_surfxml_ASroute] = "ASroute";
3548 surfxml_statenames[S_surfxml_ASroute_1] = "ASroute";
3549 surfxml_statenames[S_surfxml_ASroute_2] = "ASroute";
3550 surfxml_statenames[E_surfxml_ASroute] = "ASroute";
3551 surfxml_statenames[AL_surfxml_link_ctn] = NULL;
3552 surfxml_statenames[E_surfxml_link_ctn] = "link_ctn";
3553 surfxml_statenames[AL_surfxml_bypassRoute] = NULL;
3554 surfxml_statenames[S_surfxml_bypassRoute] = "bypassRoute";
3555 surfxml_statenames[S_surfxml_bypassRoute_1] = "bypassRoute";
3556 surfxml_statenames[S_surfxml_bypassRoute_2] = "bypassRoute";
3557 surfxml_statenames[E_surfxml_bypassRoute] = "bypassRoute";
3558 surfxml_statenames[AL_surfxml_process] = NULL;
3559 surfxml_statenames[S_surfxml_process] = "process";
3560 surfxml_statenames[S_surfxml_process_1] = "process";
3561 surfxml_statenames[S_surfxml_process_2] = "process";
3562 surfxml_statenames[E_surfxml_process] = "process";
3563 surfxml_statenames[AL_surfxml_argument] = NULL;
3564 surfxml_statenames[E_surfxml_argument] = "argument";
3565 surfxml_statenames[AL_surfxml_config] = NULL;
3566 surfxml_statenames[S_surfxml_config] = "config";
3567 surfxml_statenames[S_surfxml_config_1] = "config";
3568 surfxml_statenames[S_surfxml_config_2] = "config";
3569 surfxml_statenames[E_surfxml_config] = "config";
3570 surfxml_statenames[AL_surfxml_prop] = NULL;
3571 surfxml_statenames[E_surfxml_prop] = "prop";
3574 /* COMMENTS and PIs: handled uniformly for efficiency. */
3585 (yy_start) = 1; /* first start state */
3587 if ( ! surf_parse_in )
3588 surf_parse_in = stdin;
3590 if ( ! surf_parse_out )
3591 surf_parse_out = stdout;
3593 if ( ! YY_CURRENT_BUFFER ) {
3594 surf_parse_ensure_buffer_stack ();
3595 YY_CURRENT_BUFFER_LVALUE =
3596 surf_parse__create_buffer(surf_parse_in,YY_BUF_SIZE );
3599 surf_parse__load_buffer_state( );
3602 while ( 1 ) /* loops until end-of-file is reached */
3604 yy_cp = (yy_c_buf_p);
3606 /* Support of surf_parse_text. */
3607 *yy_cp = (yy_hold_char);
3609 /* yy_bp points to the position in yy_ch_buf of the start of
3614 yy_current_state = (yy_start);
3618 register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
3619 if ( yy_accept[yy_current_state] )
3621 (yy_last_accepting_state) = yy_current_state;
3622 (yy_last_accepting_cpos) = yy_cp;
3624 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3626 yy_current_state = (int) yy_def[yy_current_state];
3627 if ( yy_current_state >= 2033 )
3628 yy_c = yy_meta[(unsigned int) yy_c];
3630 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
3633 while ( yy_base[yy_current_state] != 7120 );
3636 yy_act = yy_accept[yy_current_state];
3638 { /* have to back up */
3639 yy_cp = (yy_last_accepting_cpos);
3640 yy_current_state = (yy_last_accepting_state);
3641 yy_act = yy_accept[yy_current_state];
3644 YY_DO_BEFORE_ACTION;
3646 if ( yy_act != YY_END_OF_BUFFER && yy_rule_can_match_eol[yy_act] )
3649 for ( yyl = 0; yyl < surf_parse_leng; ++yyl )
3650 if ( surf_parse_text[yyl] == '\n' )
3652 surf_parse_lineno++;
3656 do_action: /* This label is used only to access EOF actions. */
3659 { /* beginning of action switch */
3660 case 0: /* must back up */
3661 /* undo the effects of YY_DO_BEFORE_ACTION */
3662 *yy_cp = (yy_hold_char);
3663 yy_cp = (yy_last_accepting_cpos);
3664 yy_current_state = (yy_last_accepting_state);
3665 goto yy_find_action;
3683 /* rule 6 can match eol */
3687 case YY_STATE_EOF(INCOMMENT):
3688 FAIL("EOF in comment.");
3697 /* rule 9 can match eol */
3701 case YY_STATE_EOF(INPI):
3702 FAIL("EOF in PI (processing instruction).");
3705 /* SPACES: skipped uniformly */
3707 /* rule 10 can match eol */
3711 /* PROLOG: determine root element and process it. */
3714 /* rule 11 can match eol */
3719 /* rule 12 can match eol */
3721 FAIL("Bad declaration %s.",surf_parse_text);
3725 /* rule 13 can match eol */
3727 SET(ROOT_surfxml_platform);
3730 /* rule 14 can match eol */
3732 FAIL("Bad declaration %s.",surf_parse_text);
3736 FAIL("Unexpected character `%c' in prolog.", surf_parse_text[0]);
3738 case YY_STATE_EOF(PROLOG):
3739 case YY_STATE_EOF(DOCTYPE):
3740 FAIL("EOF in prolog.");
3743 /* RULES DERIVED FROM DTD. */
3744 /* <!-- Small DTD for SURF based tools. --> */
3746 /* rule 16 can match eol */
3748 FAIL("Starting tag <platform> is not allowed here.");
3751 /* rule 17 can match eol */
3754 AX_surfxml_platform_version = 1;
3755 ENTER(AL_surfxml_platform); pushbuffer(0);
3760 /* rule 18 can match eol */
3762 ENTER(VALUE1); BUFFERSET(AX_surfxml_platform_version);
3765 /* rule 19 can match eol */
3767 ENTER(VALUE2); BUFFERSET(AX_surfxml_platform_version);
3772 LEAVE; STag_surfxml_platform();surfxml_pcdata_ix = 0; ENTER(S_surfxml_platform);
3778 LEAVE; STag_surfxml_platform(); surfxml_pcdata_ix = 0; ETag_surfxml_platform(); popbuffer(); /* attribute */
3780 case ROOT_surfxml_platform: SET(EPILOG); break;
3786 FAIL("Unexpected character `%c' in attribute list of platform element.", surf_parse_text[0]);
3790 FAIL("Bad attribute `%s' in `platform' element start tag.",surf_parse_text);
3792 case YY_STATE_EOF(AL_surfxml_platform):
3793 FAIL("EOF in attribute list of `platform' element.");
3797 /* rule 24 can match eol */
3801 ETag_surfxml_platform();
3802 popbuffer(); /* attribute */
3804 case ROOT_surfxml_platform: SET(EPILOG); break;
3809 /* rule 25 can match eol */
3811 FAIL("Unexpected end-tag `%s': `</platform>' expected.",surf_parse_text);
3815 FAIL("Unexpected character `%c': `</platform>' expected.",surf_parse_text[0]);
3817 case YY_STATE_EOF(S_surfxml_platform_2):
3818 case YY_STATE_EOF(S_surfxml_platform_1):
3819 case YY_STATE_EOF(S_surfxml_platform):
3820 case YY_STATE_EOF(S_surfxml_platform_4):
3821 case YY_STATE_EOF(S_surfxml_platform_6):
3822 case YY_STATE_EOF(E_surfxml_platform):
3823 FAIL("Premature EOF: `</platform>' expected.");
3827 /* rule 27 can match eol */
3829 FAIL("Starting tag <trace> is not allowed here.");
3832 /* rule 28 can match eol */
3835 AX_surfxml_trace_id = 0;
3836 AX_surfxml_trace_file = 0;
3837 AX_surfxml_trace_periodicity = 0;
3838 ENTER(AL_surfxml_trace); pushbuffer(0);
3843 /* rule 29 can match eol */
3845 ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_id);
3848 /* rule 30 can match eol */
3850 ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_id);
3853 /* rule 31 can match eol */
3855 ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_file);
3858 /* rule 32 can match eol */
3860 ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_file);
3863 /* rule 33 can match eol */
3865 ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_periodicity);
3868 /* rule 34 can match eol */
3870 ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_periodicity);
3875 if (!AX_surfxml_trace_id) FAIL("Required attribute `id' not set for `trace' element.");
3876 if (!AX_surfxml_trace_periodicity) FAIL("Required attribute `periodicity' not set for `trace' element.");
3877 LEAVE; STag_surfxml_trace();pushbuffer(surfxml_pcdata_ix); BUFFERSET(surfxml_pcdata_ix);; ENTER(IN_trace);
3883 if (!AX_surfxml_trace_id) FAIL("Required attribute `id' not set for `trace' element.");
3884 if (!AX_surfxml_trace_periodicity) FAIL("Required attribute `periodicity' not set for `trace' element.");
3885 LEAVE; STag_surfxml_trace(); surfxml_pcdata_ix = 0; ETag_surfxml_trace(); popbuffer(); /* attribute */
3887 case S_surfxml_AS_8: case S_surfxml_AS_4: case S_surfxml_AS_7: case S_surfxml_AS_6: case S_surfxml_AS_3: SET(S_surfxml_AS_8); break;
3888 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
3889 case S_surfxml_AS_2: SET(S_surfxml_AS_3); break;
3890 case S_surfxml_AS_1: case S_surfxml_AS_5: SET(S_surfxml_AS_6); break;
3891 case S_surfxml_platform_4: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_4); break;
3892 case S_surfxml_AS_12: case S_surfxml_AS_9: case S_surfxml_AS_13: SET(S_surfxml_AS_13); break;
3898 FAIL("Unexpected character `%c' in attribute list of trace element.", surf_parse_text[0]);
3902 FAIL("Bad attribute `%s' in `trace' element start tag.",surf_parse_text);
3904 case YY_STATE_EOF(AL_surfxml_trace):
3905 FAIL("EOF in attribute list of `trace' element.");
3909 /* rule 39 can match eol */
3914 ETag_surfxml_trace();
3915 surfxml_pcdata_ix = popbuffer();
3916 popbuffer(); /* attribute */
3918 case S_surfxml_AS_8: case S_surfxml_AS_4: case S_surfxml_AS_7: case S_surfxml_AS_6: case S_surfxml_AS_3: SET(S_surfxml_AS_8); break;
3919 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
3920 case S_surfxml_AS_2: SET(S_surfxml_AS_3); break;
3921 case S_surfxml_AS_1: case S_surfxml_AS_5: SET(S_surfxml_AS_6); break;
3922 case S_surfxml_platform_4: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_4); break;
3923 case S_surfxml_AS_12: case S_surfxml_AS_9: case S_surfxml_AS_13: SET(S_surfxml_AS_13); break;
3928 /* rule 40 can match eol */
3930 FAIL("Unexpected end-tag `%s': `</trace>' expected.",surf_parse_text);
3932 case YY_STATE_EOF(IN_trace):
3933 FAIL("Premature EOF: `</trace>' expected.");
3937 /* rule 41 can match eol */
3939 FAIL("Starting tag <random> is not allowed here.");
3942 /* rule 42 can match eol */
3945 AX_surfxml_random_id = 0;
3946 AX_surfxml_random_min = 0;
3947 AX_surfxml_random_max = 0;
3948 AX_surfxml_random_mean = 0;
3949 AX_surfxml_random_std_deviation = 0;
3950 AX_surfxml_random_generator = A_surfxml_random_generator_DRAND48;
3951 ENTER(AL_surfxml_random); pushbuffer(0);
3956 /* rule 43 can match eol */
3958 ENTER(VALUE1); BUFFERSET(AX_surfxml_random_id);
3961 /* rule 44 can match eol */
3963 ENTER(VALUE2); BUFFERSET(AX_surfxml_random_id);
3966 /* rule 45 can match eol */
3968 ENTER(VALUE1); BUFFERSET(AX_surfxml_random_min);
3971 /* rule 46 can match eol */
3973 ENTER(VALUE2); BUFFERSET(AX_surfxml_random_min);
3976 /* rule 47 can match eol */
3978 ENTER(VALUE1); BUFFERSET(AX_surfxml_random_max);
3981 /* rule 48 can match eol */
3983 ENTER(VALUE2); BUFFERSET(AX_surfxml_random_max);
3986 /* rule 49 can match eol */
3988 ENTER(VALUE1); BUFFERSET(AX_surfxml_random_mean);
3991 /* rule 50 can match eol */
3993 ENTER(VALUE2); BUFFERSET(AX_surfxml_random_mean);
3996 /* rule 51 can match eol */
3998 ENTER(VALUE1); BUFFERSET(AX_surfxml_random_std_deviation);
4001 /* rule 52 can match eol */
4003 ENTER(VALUE2); BUFFERSET(AX_surfxml_random_std_deviation);
4006 /* rule 53 can match eol */
4008 /* rule 54 can match eol */
4010 A_surfxml_random_generator = A_surfxml_random_generator_DRAND48;
4013 /* rule 55 can match eol */
4015 /* rule 56 can match eol */
4017 A_surfxml_random_generator = A_surfxml_random_generator_RAND;
4022 if (!AX_surfxml_random_id) FAIL("Required attribute `id' not set for `random' element.");
4023 if (!AX_surfxml_random_min) FAIL("Required attribute `min' not set for `random' element.");
4024 if (!AX_surfxml_random_max) FAIL("Required attribute `max' not set for `random' element.");
4025 if (!AX_surfxml_random_mean) FAIL("Required attribute `mean' not set for `random' element.");
4026 if (!AX_surfxml_random_std_deviation) FAIL("Required attribute `std_deviation' not set for `random' element.");
4027 LEAVE; STag_surfxml_random();surfxml_pcdata_ix = 0; ENTER(S_surfxml_random);
4033 if (!AX_surfxml_random_id) FAIL("Required attribute `id' not set for `random' element.");
4034 if (!AX_surfxml_random_min) FAIL("Required attribute `min' not set for `random' element.");
4035 if (!AX_surfxml_random_max) FAIL("Required attribute `max' not set for `random' element.");
4036 if (!AX_surfxml_random_mean) FAIL("Required attribute `mean' not set for `random' element.");
4037 if (!AX_surfxml_random_std_deviation) FAIL("Required attribute `std_deviation' not set for `random' element.");
4038 LEAVE; STag_surfxml_random(); surfxml_pcdata_ix = 0; ETag_surfxml_random(); popbuffer(); /* attribute */
4040 case S_surfxml_config: SET(E_surfxml_config); break;
4046 FAIL("Unexpected character `%c' in attribute list of random element.", surf_parse_text[0]);
4050 FAIL("Bad attribute `%s' in `random' element start tag.",surf_parse_text);
4052 case YY_STATE_EOF(AL_surfxml_random):
4053 FAIL("EOF in attribute list of `random' element.");
4057 /* rule 61 can match eol */
4061 ETag_surfxml_random();
4062 popbuffer(); /* attribute */
4064 case S_surfxml_config: SET(E_surfxml_config); break;
4069 /* rule 62 can match eol */
4071 FAIL("Unexpected end-tag `%s': `</random>' expected.",surf_parse_text);
4075 FAIL("Unexpected character `%c': `</random>' expected.",surf_parse_text[0]);
4077 case YY_STATE_EOF(S_surfxml_random_2):
4078 case YY_STATE_EOF(S_surfxml_random):
4079 case YY_STATE_EOF(E_surfxml_random):
4080 FAIL("Premature EOF: `</random>' expected.");
4084 /* rule 64 can match eol */
4086 FAIL("Starting tag <trace_connect> is not allowed here.");
4089 /* rule 65 can match eol */
4092 AX_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_HOST_AVAIL;
4093 AX_surfxml_trace_connect_trace = 0;
4094 AX_surfxml_trace_connect_element = 0;
4095 ENTER(AL_surfxml_trace_connect); pushbuffer(0);
4100 /* rule 66 can match eol */
4102 /* rule 67 can match eol */
4104 A_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_HOST_AVAIL;
4107 /* rule 68 can match eol */
4109 /* rule 69 can match eol */
4111 A_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_POWER;
4114 /* rule 70 can match eol */
4116 /* rule 71 can match eol */
4118 A_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_LINK_AVAIL;
4121 /* rule 72 can match eol */
4123 /* rule 73 can match eol */
4125 A_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_BANDWIDTH;
4128 /* rule 74 can match eol */
4130 /* rule 75 can match eol */
4132 A_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_LATENCY;
4135 /* rule 76 can match eol */
4137 ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_connect_trace);
4140 /* rule 77 can match eol */
4142 ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_connect_trace);
4145 /* rule 78 can match eol */
4147 ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_connect_element);
4150 /* rule 79 can match eol */
4152 ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_connect_element);
4157 if (!AX_surfxml_trace_connect_trace) FAIL("Required attribute `trace' not set for `trace_connect' element.");
4158 if (!AX_surfxml_trace_connect_element) FAIL("Required attribute `element' not set for `trace_connect' element.");
4159 LEAVE; STag_surfxml_trace_connect();surfxml_pcdata_ix = 0; ENTER(E_surfxml_trace_connect);
4165 if (!AX_surfxml_trace_connect_trace) FAIL("Required attribute `trace' not set for `trace_connect' element.");
4166 if (!AX_surfxml_trace_connect_element) FAIL("Required attribute `element' not set for `trace_connect' element.");
4167 LEAVE; STag_surfxml_trace_connect(); surfxml_pcdata_ix = 0; ETag_surfxml_trace_connect(); popbuffer(); /* attribute */
4169 case S_surfxml_AS_8: case S_surfxml_AS_4: case S_surfxml_AS_7: case S_surfxml_AS_6: case S_surfxml_AS_3: SET(S_surfxml_AS_8); break;
4170 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
4171 case S_surfxml_AS_2: SET(S_surfxml_AS_3); break;
4172 case S_surfxml_AS_1: case S_surfxml_AS_5: SET(S_surfxml_AS_6); break;
4173 case S_surfxml_platform_4: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_4); break;
4174 case S_surfxml_AS_12: case S_surfxml_AS_9: case S_surfxml_AS_13: SET(S_surfxml_AS_13); break;
4180 FAIL("Unexpected character `%c' in attribute list of trace_connect element.", surf_parse_text[0]);
4184 FAIL("Bad attribute `%s' in `trace_connect' element start tag.",surf_parse_text);
4186 case YY_STATE_EOF(AL_surfxml_trace_connect):
4187 FAIL("EOF in attribute list of `trace_connect' element.");
4191 /* rule 84 can match eol */
4195 ETag_surfxml_trace_connect();
4196 popbuffer(); /* attribute */
4198 case S_surfxml_AS_8: case S_surfxml_AS_4: case S_surfxml_AS_7: case S_surfxml_AS_6: case S_surfxml_AS_3: SET(S_surfxml_AS_8); break;
4199 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
4200 case S_surfxml_AS_2: SET(S_surfxml_AS_3); break;
4201 case S_surfxml_AS_1: case S_surfxml_AS_5: SET(S_surfxml_AS_6); break;
4202 case S_surfxml_platform_4: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_4); break;
4203 case S_surfxml_AS_12: case S_surfxml_AS_9: case S_surfxml_AS_13: SET(S_surfxml_AS_13); break;
4208 /* rule 85 can match eol */
4210 FAIL("Unexpected end-tag `%s': `</trace_connect>' expected.",surf_parse_text);
4214 FAIL("Unexpected character `%c': `</trace_connect>' expected.",surf_parse_text[0]);
4216 case YY_STATE_EOF(E_surfxml_trace_connect):
4217 FAIL("Premature EOF: `</trace_connect>' expected.");
4221 /* rule 87 can match eol */
4223 FAIL("Starting tag <AS> is not allowed here.");
4226 /* rule 88 can match eol */
4229 AX_surfxml_AS_id = 0;
4230 AX_surfxml_AS_routing = 0;
4231 ENTER(AL_surfxml_AS); pushbuffer(0);
4236 /* rule 89 can match eol */
4238 ENTER(VALUE1); BUFFERSET(AX_surfxml_AS_id);
4241 /* rule 90 can match eol */
4243 ENTER(VALUE2); BUFFERSET(AX_surfxml_AS_id);
4246 /* rule 91 can match eol */
4248 ENTER(VALUE1); BUFFERSET(AX_surfxml_AS_routing);
4251 /* rule 92 can match eol */
4253 ENTER(VALUE2); BUFFERSET(AX_surfxml_AS_routing);
4258 if (!AX_surfxml_AS_id) FAIL("Required attribute `id' not set for `AS' element.");
4259 if (!AX_surfxml_AS_routing) FAIL("Required attribute `routing' not set for `AS' element.");
4260 LEAVE; STag_surfxml_AS();surfxml_pcdata_ix = 0; ENTER(S_surfxml_AS);
4266 if (!AX_surfxml_AS_id) FAIL("Required attribute `id' not set for `AS' element.");
4267 if (!AX_surfxml_AS_routing) FAIL("Required attribute `routing' not set for `AS' element.");
4268 LEAVE; STag_surfxml_AS(); surfxml_pcdata_ix = 0; ETag_surfxml_AS(); popbuffer(); /* attribute */
4270 case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
4271 case S_surfxml_platform_4: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_4); break;
4277 FAIL("Unexpected character `%c' in attribute list of AS element.", surf_parse_text[0]);
4281 FAIL("Bad attribute `%s' in `AS' element start tag.",surf_parse_text);
4283 case YY_STATE_EOF(AL_surfxml_AS):
4284 FAIL("EOF in attribute list of `AS' element.");
4288 /* rule 97 can match eol */
4293 popbuffer(); /* attribute */
4295 case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
4296 case S_surfxml_platform_4: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_4); break;
4301 /* rule 98 can match eol */
4303 FAIL("Unexpected end-tag `%s': `</AS>' expected.",surf_parse_text);
4307 FAIL("Unexpected character `%c': `</AS>' expected.",surf_parse_text[0]);
4309 case YY_STATE_EOF(S_surfxml_AS_1):
4310 case YY_STATE_EOF(S_surfxml_AS_9):
4311 case YY_STATE_EOF(S_surfxml_AS_11):
4312 case YY_STATE_EOF(S_surfxml_AS_6):
4313 case YY_STATE_EOF(E_surfxml_AS):
4314 case YY_STATE_EOF(S_surfxml_AS_3):
4315 case YY_STATE_EOF(S_surfxml_AS_13):
4316 case YY_STATE_EOF(S_surfxml_AS_8):
4317 case YY_STATE_EOF(S_surfxml_AS):
4318 case YY_STATE_EOF(S_surfxml_AS_4):
4319 FAIL("Premature EOF: `</AS>' expected.");
4323 /* rule 100 can match eol */
4325 FAIL("Starting tag <host> is not allowed here.");
4328 /* rule 101 can match eol */
4331 AX_surfxml_host_id = 0;
4332 AX_surfxml_host_power = 0;
4333 AX_surfxml_host_availability = 5;
4334 AX_surfxml_host_availability_file = 0;
4335 AX_surfxml_host_state = A_surfxml_host_state_ON;
4336 AX_surfxml_host_state_file = 0;
4337 AX_surfxml_host_vivaldi = 9;
4338 ENTER(AL_surfxml_host); pushbuffer(0);
4343 /* rule 102 can match eol */
4345 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_id);
4348 /* rule 103 can match eol */
4350 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_id);
4353 /* rule 104 can match eol */
4355 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_power);
4358 /* rule 105 can match eol */
4360 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_power);
4363 /* rule 106 can match eol */
4365 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_availability);
4368 /* rule 107 can match eol */
4370 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_availability);
4373 /* rule 108 can match eol */
4375 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_availability_file);
4378 /* rule 109 can match eol */
4380 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_availability_file);
4383 /* rule 110 can match eol */
4385 /* rule 111 can match eol */
4387 A_surfxml_host_state = A_surfxml_host_state_ON;
4390 /* rule 112 can match eol */
4392 /* rule 113 can match eol */
4394 A_surfxml_host_state = A_surfxml_host_state_OFF;
4397 /* rule 114 can match eol */
4399 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_state_file);
4402 /* rule 115 can match eol */
4404 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_state_file);
4407 /* rule 116 can match eol */
4409 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_vivaldi);
4412 /* rule 117 can match eol */
4414 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_vivaldi);
4419 if (!AX_surfxml_host_id) FAIL("Required attribute `id' not set for `host' element.");
4420 if (!AX_surfxml_host_power) FAIL("Required attribute `power' not set for `host' element.");
4421 LEAVE; STag_surfxml_host();surfxml_pcdata_ix = 0; ENTER(S_surfxml_host);
4427 if (!AX_surfxml_host_id) FAIL("Required attribute `id' not set for `host' element.");
4428 if (!AX_surfxml_host_power) FAIL("Required attribute `power' not set for `host' element.");
4429 LEAVE; STag_surfxml_host(); surfxml_pcdata_ix = 0; ETag_surfxml_host(); popbuffer(); /* attribute */
4431 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
4437 FAIL("Unexpected character `%c' in attribute list of host element.", surf_parse_text[0]);
4441 FAIL("Bad attribute `%s' in `host' element start tag.",surf_parse_text);
4443 case YY_STATE_EOF(AL_surfxml_host):
4444 FAIL("EOF in attribute list of `host' element.");
4448 /* rule 122 can match eol */
4452 ETag_surfxml_host();
4453 popbuffer(); /* attribute */
4455 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
4460 /* rule 123 can match eol */
4462 FAIL("Unexpected end-tag `%s': `</host>' expected.",surf_parse_text);
4466 FAIL("Unexpected character `%c': `</host>' expected.",surf_parse_text[0]);
4468 case YY_STATE_EOF(S_surfxml_host):
4469 case YY_STATE_EOF(E_surfxml_host):
4470 case YY_STATE_EOF(S_surfxml_host_2):
4471 FAIL("Premature EOF: `</host>' expected.");
4475 /* rule 125 can match eol */
4477 FAIL("Starting tag <cluster> is not allowed here.");
4480 /* rule 126 can match eol */
4483 AX_surfxml_cluster_id = 0;
4484 AX_surfxml_cluster_prefix = 0;
4485 AX_surfxml_cluster_suffix = 0;
4486 AX_surfxml_cluster_radical = 0;
4487 AX_surfxml_cluster_power = 0;
4488 AX_surfxml_cluster_bw = 0;
4489 AX_surfxml_cluster_lat = 0;
4490 AX_surfxml_cluster_sharing_policy = A_surfxml_cluster_sharing_policy_SHARED;
4491 AX_surfxml_cluster_bb_bw = 0;
4492 AX_surfxml_cluster_bb_lat = 0;
4493 AX_surfxml_cluster_bb_sharing_policy = A_surfxml_cluster_bb_sharing_policy_SHARED;
4494 ENTER(AL_surfxml_cluster); pushbuffer(0);
4499 /* rule 127 can match eol */
4501 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_id);
4504 /* rule 128 can match eol */
4506 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_id);
4509 /* rule 129 can match eol */
4511 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_prefix);
4514 /* rule 130 can match eol */
4516 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_prefix);
4519 /* rule 131 can match eol */
4521 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_suffix);
4524 /* rule 132 can match eol */
4526 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_suffix);
4529 /* rule 133 can match eol */
4531 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_radical);
4534 /* rule 134 can match eol */
4536 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_radical);
4539 /* rule 135 can match eol */
4541 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_power);
4544 /* rule 136 can match eol */
4546 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_power);
4549 /* rule 137 can match eol */
4551 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_bw);
4554 /* rule 138 can match eol */
4556 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_bw);
4559 /* rule 139 can match eol */
4561 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_lat);
4564 /* rule 140 can match eol */
4566 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_lat);
4569 /* rule 141 can match eol */
4571 /* rule 142 can match eol */
4573 A_surfxml_cluster_sharing_policy = A_surfxml_cluster_sharing_policy_SHARED;
4576 /* rule 143 can match eol */
4578 /* rule 144 can match eol */
4580 A_surfxml_cluster_sharing_policy = A_surfxml_cluster_sharing_policy_FULLDUPLEX;
4583 /* rule 145 can match eol */
4585 /* rule 146 can match eol */
4587 A_surfxml_cluster_sharing_policy = A_surfxml_cluster_sharing_policy_FATPIPE;
4590 /* rule 147 can match eol */
4592 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_bb_bw);
4595 /* rule 148 can match eol */
4597 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_bb_bw);
4600 /* rule 149 can match eol */
4602 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_bb_lat);
4605 /* rule 150 can match eol */
4607 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_bb_lat);
4610 /* rule 151 can match eol */
4612 /* rule 152 can match eol */
4614 A_surfxml_cluster_bb_sharing_policy = A_surfxml_cluster_bb_sharing_policy_SHARED;
4617 /* rule 153 can match eol */
4619 /* rule 154 can match eol */
4621 A_surfxml_cluster_bb_sharing_policy = A_surfxml_cluster_bb_sharing_policy_FATPIPE;
4626 if (!AX_surfxml_cluster_id) FAIL("Required attribute `id' not set for `cluster' element.");
4627 if (!AX_surfxml_cluster_prefix) FAIL("Required attribute `prefix' not set for `cluster' element.");
4628 if (!AX_surfxml_cluster_suffix) FAIL("Required attribute `suffix' not set for `cluster' element.");
4629 if (!AX_surfxml_cluster_radical) FAIL("Required attribute `radical' not set for `cluster' element.");
4630 if (!AX_surfxml_cluster_power) FAIL("Required attribute `power' not set for `cluster' element.");
4631 if (!AX_surfxml_cluster_bw) FAIL("Required attribute `bw' not set for `cluster' element.");
4632 if (!AX_surfxml_cluster_lat) FAIL("Required attribute `lat' not set for `cluster' element.");
4633 if (!AX_surfxml_cluster_bb_bw) FAIL("Required attribute `bb_bw' not set for `cluster' element.");
4634 if (!AX_surfxml_cluster_bb_lat) FAIL("Required attribute `bb_lat' not set for `cluster' element.");
4635 LEAVE; STag_surfxml_cluster();surfxml_pcdata_ix = 0; ENTER(E_surfxml_cluster);
4641 if (!AX_surfxml_cluster_id) FAIL("Required attribute `id' not set for `cluster' element.");
4642 if (!AX_surfxml_cluster_prefix) FAIL("Required attribute `prefix' not set for `cluster' element.");
4643 if (!AX_surfxml_cluster_suffix) FAIL("Required attribute `suffix' not set for `cluster' element.");
4644 if (!AX_surfxml_cluster_radical) FAIL("Required attribute `radical' not set for `cluster' element.");
4645 if (!AX_surfxml_cluster_power) FAIL("Required attribute `power' not set for `cluster' element.");
4646 if (!AX_surfxml_cluster_bw) FAIL("Required attribute `bw' not set for `cluster' element.");
4647 if (!AX_surfxml_cluster_lat) FAIL("Required attribute `lat' not set for `cluster' element.");
4648 if (!AX_surfxml_cluster_bb_bw) FAIL("Required attribute `bb_bw' not set for `cluster' element.");
4649 if (!AX_surfxml_cluster_bb_lat) FAIL("Required attribute `bb_lat' not set for `cluster' element.");
4650 LEAVE; STag_surfxml_cluster(); surfxml_pcdata_ix = 0; ETag_surfxml_cluster(); popbuffer(); /* attribute */
4652 case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
4653 case S_surfxml_platform_4: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_4); break;
4659 FAIL("Unexpected character `%c' in attribute list of cluster element.", surf_parse_text[0]);
4663 FAIL("Bad attribute `%s' in `cluster' element start tag.",surf_parse_text);
4665 case YY_STATE_EOF(AL_surfxml_cluster):
4666 FAIL("EOF in attribute list of `cluster' element.");
4670 /* rule 159 can match eol */
4674 ETag_surfxml_cluster();
4675 popbuffer(); /* attribute */
4677 case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
4678 case S_surfxml_platform_4: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_4); break;
4683 /* rule 160 can match eol */
4685 FAIL("Unexpected end-tag `%s': `</cluster>' expected.",surf_parse_text);
4689 FAIL("Unexpected character `%c': `</cluster>' expected.",surf_parse_text[0]);
4691 case YY_STATE_EOF(E_surfxml_cluster):
4692 FAIL("Premature EOF: `</cluster>' expected.");
4696 /* rule 162 can match eol */
4698 FAIL("Starting tag <router> is not allowed here.");
4701 /* rule 163 can match eol */
4704 AX_surfxml_router_id = 0;
4705 ENTER(AL_surfxml_router); pushbuffer(0);
4710 /* rule 164 can match eol */
4712 ENTER(VALUE1); BUFFERSET(AX_surfxml_router_id);
4715 /* rule 165 can match eol */
4717 ENTER(VALUE2); BUFFERSET(AX_surfxml_router_id);
4722 if (!AX_surfxml_router_id) FAIL("Required attribute `id' not set for `router' element.");
4723 LEAVE; STag_surfxml_router();surfxml_pcdata_ix = 0; ENTER(E_surfxml_router);
4729 if (!AX_surfxml_router_id) FAIL("Required attribute `id' not set for `router' element.");
4730 LEAVE; STag_surfxml_router(); surfxml_pcdata_ix = 0; ETag_surfxml_router(); popbuffer(); /* attribute */
4732 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
4738 FAIL("Unexpected character `%c' in attribute list of router element.", surf_parse_text[0]);
4742 FAIL("Bad attribute `%s' in `router' element start tag.",surf_parse_text);
4744 case YY_STATE_EOF(AL_surfxml_router):
4745 FAIL("EOF in attribute list of `router' element.");
4749 /* rule 170 can match eol */
4753 ETag_surfxml_router();
4754 popbuffer(); /* attribute */
4756 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
4761 /* rule 171 can match eol */
4763 FAIL("Unexpected end-tag `%s': `</router>' expected.",surf_parse_text);
4767 FAIL("Unexpected character `%c': `</router>' expected.",surf_parse_text[0]);
4769 case YY_STATE_EOF(E_surfxml_router):
4770 FAIL("Premature EOF: `</router>' expected.");
4774 /* rule 173 can match eol */
4776 FAIL("Starting tag <link> is not allowed here.");
4779 /* rule 174 can match eol */
4782 AX_surfxml_link_id = 0;
4783 AX_surfxml_link_bandwidth = 0;
4784 AX_surfxml_link_bandwidth_file = 0;
4785 AX_surfxml_link_latency = 15;
4786 AX_surfxml_link_latency_file = 0;
4787 AX_surfxml_link_state = A_surfxml_link_state_ON;
4788 AX_surfxml_link_state_file = 0;
4789 AX_surfxml_link_sharing_policy = A_surfxml_link_sharing_policy_SHARED;
4790 ENTER(AL_surfxml_link); pushbuffer(0);
4795 /* rule 175 can match eol */
4797 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_id);
4800 /* rule 176 can match eol */
4802 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_id);
4805 /* rule 177 can match eol */
4807 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_bandwidth);
4810 /* rule 178 can match eol */
4812 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_bandwidth);
4815 /* rule 179 can match eol */
4817 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_bandwidth_file);
4820 /* rule 180 can match eol */
4822 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_bandwidth_file);
4825 /* rule 181 can match eol */
4827 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_latency);
4830 /* rule 182 can match eol */
4832 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_latency);
4835 /* rule 183 can match eol */
4837 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_latency_file);
4840 /* rule 184 can match eol */
4842 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_latency_file);
4845 /* rule 185 can match eol */
4847 /* rule 186 can match eol */
4849 A_surfxml_link_state = A_surfxml_link_state_ON;
4852 /* rule 187 can match eol */
4854 /* rule 188 can match eol */
4856 A_surfxml_link_state = A_surfxml_link_state_OFF;
4859 /* rule 189 can match eol */
4861 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_state_file);
4864 /* rule 190 can match eol */
4866 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_state_file);
4869 /* rule 191 can match eol */
4871 /* rule 192 can match eol */
4873 A_surfxml_link_sharing_policy = A_surfxml_link_sharing_policy_SHARED;
4876 /* rule 193 can match eol */
4878 /* rule 194 can match eol */
4880 A_surfxml_link_sharing_policy = A_surfxml_link_sharing_policy_FATPIPE;
4883 /* rule 195 can match eol */
4885 /* rule 196 can match eol */
4887 A_surfxml_link_sharing_policy = A_surfxml_link_sharing_policy_FULLDUPLEX;
4892 if (!AX_surfxml_link_id) FAIL("Required attribute `id' not set for `link' element.");
4893 if (!AX_surfxml_link_bandwidth) FAIL("Required attribute `bandwidth' not set for `link' element.");
4894 LEAVE; STag_surfxml_link();surfxml_pcdata_ix = 0; ENTER(S_surfxml_link);
4900 if (!AX_surfxml_link_id) FAIL("Required attribute `id' not set for `link' element.");
4901 if (!AX_surfxml_link_bandwidth) FAIL("Required attribute `bandwidth' not set for `link' element.");
4902 LEAVE; STag_surfxml_link(); surfxml_pcdata_ix = 0; ETag_surfxml_link(); popbuffer(); /* attribute */
4904 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
4905 case S_surfxml_AS_2: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
4911 FAIL("Unexpected character `%c' in attribute list of link element.", surf_parse_text[0]);
4915 FAIL("Bad attribute `%s' in `link' element start tag.",surf_parse_text);
4917 case YY_STATE_EOF(AL_surfxml_link):
4918 FAIL("EOF in attribute list of `link' element.");
4922 /* rule 201 can match eol */
4926 ETag_surfxml_link();
4927 popbuffer(); /* attribute */
4929 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
4930 case S_surfxml_AS_2: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
4935 /* rule 202 can match eol */
4937 FAIL("Unexpected end-tag `%s': `</link>' expected.",surf_parse_text);
4941 FAIL("Unexpected character `%c': `</link>' expected.",surf_parse_text[0]);
4943 case YY_STATE_EOF(E_surfxml_link):
4944 case YY_STATE_EOF(S_surfxml_link_2):
4945 case YY_STATE_EOF(S_surfxml_link):
4946 FAIL("Premature EOF: `</link>' expected.");
4950 /* rule 204 can match eol */
4952 FAIL("Starting tag <route> is not allowed here.");
4955 /* rule 205 can match eol */
4958 AX_surfxml_route_src = 0;
4959 AX_surfxml_route_dst = 0;
4960 AX_surfxml_route_symetrical = A_surfxml_route_symetrical_NO;
4961 ENTER(AL_surfxml_route); pushbuffer(0);
4966 /* rule 206 can match eol */
4968 ENTER(VALUE1); BUFFERSET(AX_surfxml_route_src);
4971 /* rule 207 can match eol */
4973 ENTER(VALUE2); BUFFERSET(AX_surfxml_route_src);
4976 /* rule 208 can match eol */
4978 ENTER(VALUE1); BUFFERSET(AX_surfxml_route_dst);
4981 /* rule 209 can match eol */
4983 ENTER(VALUE2); BUFFERSET(AX_surfxml_route_dst);
4986 /* rule 210 can match eol */
4988 /* rule 211 can match eol */
4990 A_surfxml_route_symetrical = A_surfxml_route_symetrical_YES;
4993 /* rule 212 can match eol */
4995 /* rule 213 can match eol */
4997 A_surfxml_route_symetrical = A_surfxml_route_symetrical_NO;
5002 if (!AX_surfxml_route_src) FAIL("Required attribute `src' not set for `route' element.");
5003 if (!AX_surfxml_route_dst) FAIL("Required attribute `dst' not set for `route' element.");
5004 LEAVE; STag_surfxml_route();surfxml_pcdata_ix = 0; ENTER(S_surfxml_route);
5010 if (!AX_surfxml_route_src) FAIL("Required attribute `src' not set for `route' element.");
5011 if (!AX_surfxml_route_dst) FAIL("Required attribute `dst' not set for `route' element.");
5012 LEAVE; STag_surfxml_route(); surfxml_pcdata_ix = 0; ETag_surfxml_route(); popbuffer(); /* attribute */
5014 case S_surfxml_AS_12: case S_surfxml_AS_9: case S_surfxml_AS_11: case S_surfxml_AS_13: case S_surfxml_AS: SET(S_surfxml_AS_13); break;
5020 FAIL("Unexpected character `%c' in attribute list of route element.", surf_parse_text[0]);
5024 FAIL("Bad attribute `%s' in `route' element start tag.",surf_parse_text);
5026 case YY_STATE_EOF(AL_surfxml_route):
5027 FAIL("EOF in attribute list of `route' element.");
5031 /* rule 218 can match eol */
5035 ETag_surfxml_route();
5036 popbuffer(); /* attribute */
5038 case S_surfxml_AS_12: case S_surfxml_AS_9: case S_surfxml_AS_11: case S_surfxml_AS_13: case S_surfxml_AS: SET(S_surfxml_AS_13); break;
5043 /* rule 219 can match eol */
5045 FAIL("Unexpected end-tag `%s': `</route>' expected.",surf_parse_text);
5049 FAIL("Unexpected character `%c': `</route>' expected.",surf_parse_text[0]);
5051 case YY_STATE_EOF(S_surfxml_route):
5052 case YY_STATE_EOF(S_surfxml_route_2):
5053 case YY_STATE_EOF(E_surfxml_route):
5054 FAIL("Premature EOF: `</route>' expected.");
5058 /* rule 221 can match eol */
5060 FAIL("Starting tag <ASroute> is not allowed here.");
5063 /* rule 222 can match eol */
5066 AX_surfxml_ASroute_src = 0;
5067 AX_surfxml_ASroute_dst = 0;
5068 AX_surfxml_ASroute_gw_src = 0;
5069 AX_surfxml_ASroute_gw_dst = 0;
5070 AX_surfxml_ASroute_symetrical = A_surfxml_ASroute_symetrical_NO;
5071 ENTER(AL_surfxml_ASroute); pushbuffer(0);
5076 /* rule 223 can match eol */
5078 ENTER(VALUE1); BUFFERSET(AX_surfxml_ASroute_src);
5081 /* rule 224 can match eol */
5083 ENTER(VALUE2); BUFFERSET(AX_surfxml_ASroute_src);
5086 /* rule 225 can match eol */
5088 ENTER(VALUE1); BUFFERSET(AX_surfxml_ASroute_dst);
5091 /* rule 226 can match eol */
5093 ENTER(VALUE2); BUFFERSET(AX_surfxml_ASroute_dst);
5096 /* rule 227 can match eol */
5098 ENTER(VALUE1); BUFFERSET(AX_surfxml_ASroute_gw_src);
5101 /* rule 228 can match eol */
5103 ENTER(VALUE2); BUFFERSET(AX_surfxml_ASroute_gw_src);
5106 /* rule 229 can match eol */
5108 ENTER(VALUE1); BUFFERSET(AX_surfxml_ASroute_gw_dst);
5111 /* rule 230 can match eol */
5113 ENTER(VALUE2); BUFFERSET(AX_surfxml_ASroute_gw_dst);
5116 /* rule 231 can match eol */
5118 /* rule 232 can match eol */
5120 A_surfxml_ASroute_symetrical = A_surfxml_ASroute_symetrical_YES;
5123 /* rule 233 can match eol */
5125 /* rule 234 can match eol */
5127 A_surfxml_ASroute_symetrical = A_surfxml_ASroute_symetrical_NO;
5132 if (!AX_surfxml_ASroute_src) FAIL("Required attribute `src' not set for `ASroute' element.");
5133 if (!AX_surfxml_ASroute_dst) FAIL("Required attribute `dst' not set for `ASroute' element.");
5134 if (!AX_surfxml_ASroute_gw_src) FAIL("Required attribute `gw_src' not set for `ASroute' element.");
5135 if (!AX_surfxml_ASroute_gw_dst) FAIL("Required attribute `gw_dst' not set for `ASroute' element.");
5136 LEAVE; STag_surfxml_ASroute();surfxml_pcdata_ix = 0; ENTER(S_surfxml_ASroute);
5142 if (!AX_surfxml_ASroute_src) FAIL("Required attribute `src' not set for `ASroute' element.");
5143 if (!AX_surfxml_ASroute_dst) FAIL("Required attribute `dst' not set for `ASroute' element.");
5144 if (!AX_surfxml_ASroute_gw_src) FAIL("Required attribute `gw_src' not set for `ASroute' element.");
5145 if (!AX_surfxml_ASroute_gw_dst) FAIL("Required attribute `gw_dst' not set for `ASroute' element.");
5146 LEAVE; STag_surfxml_ASroute(); surfxml_pcdata_ix = 0; ETag_surfxml_ASroute(); popbuffer(); /* attribute */
5148 case S_surfxml_AS_1: case S_surfxml_AS_5: case S_surfxml_AS: case S_surfxml_AS_6: case S_surfxml_AS_3: SET(S_surfxml_AS_6); break;
5154 FAIL("Unexpected character `%c' in attribute list of ASroute element.", surf_parse_text[0]);
5158 FAIL("Bad attribute `%s' in `ASroute' element start tag.",surf_parse_text);
5160 case YY_STATE_EOF(AL_surfxml_ASroute):
5161 FAIL("EOF in attribute list of `ASroute' element.");
5165 /* rule 239 can match eol */
5169 ETag_surfxml_ASroute();
5170 popbuffer(); /* attribute */
5172 case S_surfxml_AS_1: case S_surfxml_AS_5: case S_surfxml_AS: case S_surfxml_AS_6: case S_surfxml_AS_3: SET(S_surfxml_AS_6); break;
5177 /* rule 240 can match eol */
5179 FAIL("Unexpected end-tag `%s': `</ASroute>' expected.",surf_parse_text);
5183 FAIL("Unexpected character `%c': `</ASroute>' expected.",surf_parse_text[0]);
5185 case YY_STATE_EOF(E_surfxml_ASroute):
5186 case YY_STATE_EOF(S_surfxml_ASroute):
5187 case YY_STATE_EOF(S_surfxml_ASroute_2):
5188 FAIL("Premature EOF: `</ASroute>' expected.");
5192 /* rule 242 can match eol */
5194 FAIL("Starting tag <link_ctn> is not allowed here.");
5197 /* rule 243 can match eol */
5200 AX_surfxml_link_ctn_id = 0;
5201 AX_surfxml_link_ctn_direction = A_surfxml_link_ctn_direction_NONE;
5202 ENTER(AL_surfxml_link_ctn); pushbuffer(0);
5207 /* rule 244 can match eol */
5209 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_ctn_id);
5212 /* rule 245 can match eol */
5214 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_ctn_id);
5217 /* rule 246 can match eol */
5219 /* rule 247 can match eol */
5221 A_surfxml_link_ctn_direction = A_surfxml_link_ctn_direction_UP;
5224 /* rule 248 can match eol */
5226 /* rule 249 can match eol */
5228 A_surfxml_link_ctn_direction = A_surfxml_link_ctn_direction_DOWN;
5231 /* rule 250 can match eol */
5233 /* rule 251 can match eol */
5235 A_surfxml_link_ctn_direction = A_surfxml_link_ctn_direction_NONE;
5240 if (!AX_surfxml_link_ctn_id) FAIL("Required attribute `id' not set for `link_ctn' element.");
5241 LEAVE; STag_surfxml_link_ctn();surfxml_pcdata_ix = 0; ENTER(E_surfxml_link_ctn);
5247 if (!AX_surfxml_link_ctn_id) FAIL("Required attribute `id' not set for `link_ctn' element.");
5248 LEAVE; STag_surfxml_link_ctn(); surfxml_pcdata_ix = 0; ETag_surfxml_link_ctn(); popbuffer(); /* attribute */
5250 case S_surfxml_bypassRoute: case S_surfxml_bypassRoute_2: case S_surfxml_bypassRoute_1: SET(S_surfxml_bypassRoute_2); break;
5251 case S_surfxml_route_1: case S_surfxml_route: case S_surfxml_route_2: SET(S_surfxml_route_2); break;
5252 case S_surfxml_ASroute: case S_surfxml_ASroute_1: case S_surfxml_ASroute_2: SET(S_surfxml_ASroute_2); break;
5258 FAIL("Unexpected character `%c' in attribute list of link_ctn element.", surf_parse_text[0]);
5262 FAIL("Bad attribute `%s' in `link_ctn' element start tag.",surf_parse_text);
5264 case YY_STATE_EOF(AL_surfxml_link_ctn):
5265 FAIL("EOF in attribute list of `link_ctn' element.");
5269 /* rule 256 can match eol */
5273 ETag_surfxml_link_ctn();
5274 popbuffer(); /* attribute */
5276 case S_surfxml_bypassRoute: case S_surfxml_bypassRoute_2: case S_surfxml_bypassRoute_1: SET(S_surfxml_bypassRoute_2); break;
5277 case S_surfxml_route_1: case S_surfxml_route: case S_surfxml_route_2: SET(S_surfxml_route_2); break;
5278 case S_surfxml_ASroute: case S_surfxml_ASroute_1: case S_surfxml_ASroute_2: SET(S_surfxml_ASroute_2); break;
5283 /* rule 257 can match eol */
5285 FAIL("Unexpected end-tag `%s': `</link_ctn>' expected.",surf_parse_text);
5289 FAIL("Unexpected character `%c': `</link_ctn>' expected.",surf_parse_text[0]);
5291 case YY_STATE_EOF(E_surfxml_link_ctn):
5292 FAIL("Premature EOF: `</link_ctn>' expected.");
5296 /* rule 259 can match eol */
5298 FAIL("Starting tag <bypassRoute> is not allowed here.");
5301 /* rule 260 can match eol */
5304 AX_surfxml_bypassRoute_src = 0;
5305 AX_surfxml_bypassRoute_dst = 0;
5306 AX_surfxml_bypassRoute_gw_src = 0;
5307 AX_surfxml_bypassRoute_gw_dst = 0;
5308 ENTER(AL_surfxml_bypassRoute); pushbuffer(0);
5313 /* rule 261 can match eol */
5315 ENTER(VALUE1); BUFFERSET(AX_surfxml_bypassRoute_src);
5318 /* rule 262 can match eol */
5320 ENTER(VALUE2); BUFFERSET(AX_surfxml_bypassRoute_src);
5323 /* rule 263 can match eol */
5325 ENTER(VALUE1); BUFFERSET(AX_surfxml_bypassRoute_dst);
5328 /* rule 264 can match eol */
5330 ENTER(VALUE2); BUFFERSET(AX_surfxml_bypassRoute_dst);
5333 /* rule 265 can match eol */
5335 ENTER(VALUE1); BUFFERSET(AX_surfxml_bypassRoute_gw_src);
5338 /* rule 266 can match eol */
5340 ENTER(VALUE2); BUFFERSET(AX_surfxml_bypassRoute_gw_src);
5343 /* rule 267 can match eol */
5345 ENTER(VALUE1); BUFFERSET(AX_surfxml_bypassRoute_gw_dst);
5348 /* rule 268 can match eol */
5350 ENTER(VALUE2); BUFFERSET(AX_surfxml_bypassRoute_gw_dst);
5355 if (!AX_surfxml_bypassRoute_src) FAIL("Required attribute `src' not set for `bypassRoute' element.");
5356 if (!AX_surfxml_bypassRoute_dst) FAIL("Required attribute `dst' not set for `bypassRoute' element.");
5357 if (!AX_surfxml_bypassRoute_gw_src) FAIL("Required attribute `gw_src' not set for `bypassRoute' element.");
5358 if (!AX_surfxml_bypassRoute_gw_dst) FAIL("Required attribute `gw_dst' not set for `bypassRoute' element.");
5359 LEAVE; STag_surfxml_bypassRoute();surfxml_pcdata_ix = 0; ENTER(S_surfxml_bypassRoute);
5365 if (!AX_surfxml_bypassRoute_src) FAIL("Required attribute `src' not set for `bypassRoute' element.");
5366 if (!AX_surfxml_bypassRoute_dst) FAIL("Required attribute `dst' not set for `bypassRoute' element.");
5367 if (!AX_surfxml_bypassRoute_gw_src) FAIL("Required attribute `gw_src' not set for `bypassRoute' element.");
5368 if (!AX_surfxml_bypassRoute_gw_dst) FAIL("Required attribute `gw_dst' not set for `bypassRoute' element.");
5369 LEAVE; STag_surfxml_bypassRoute(); surfxml_pcdata_ix = 0; ETag_surfxml_bypassRoute(); popbuffer(); /* attribute */
5371 case S_surfxml_AS_1: case S_surfxml_AS: case S_surfxml_AS_8: case S_surfxml_AS_4: case S_surfxml_AS_7: case S_surfxml_AS_6: case S_surfxml_AS_3: SET(S_surfxml_AS_8); break;
5377 FAIL("Unexpected character `%c' in attribute list of bypassRoute element.", surf_parse_text[0]);
5381 FAIL("Bad attribute `%s' in `bypassRoute' element start tag.",surf_parse_text);
5383 case YY_STATE_EOF(AL_surfxml_bypassRoute):
5384 FAIL("EOF in attribute list of `bypassRoute' element.");
5388 /* rule 273 can match eol */
5392 ETag_surfxml_bypassRoute();
5393 popbuffer(); /* attribute */
5395 case S_surfxml_AS_1: case S_surfxml_AS: case S_surfxml_AS_8: case S_surfxml_AS_4: case S_surfxml_AS_7: case S_surfxml_AS_6: case S_surfxml_AS_3: SET(S_surfxml_AS_8); break;
5400 /* rule 274 can match eol */
5402 FAIL("Unexpected end-tag `%s': `</bypassRoute>' expected.",surf_parse_text);
5406 FAIL("Unexpected character `%c': `</bypassRoute>' expected.",surf_parse_text[0]);
5408 case YY_STATE_EOF(S_surfxml_bypassRoute):
5409 case YY_STATE_EOF(S_surfxml_bypassRoute_2):
5410 case YY_STATE_EOF(E_surfxml_bypassRoute):
5411 FAIL("Premature EOF: `</bypassRoute>' expected.");
5415 /* rule 276 can match eol */
5417 FAIL("Starting tag <process> is not allowed here.");
5420 /* rule 277 can match eol */
5423 AX_surfxml_process_host = 0;
5424 AX_surfxml_process_function = 0;
5425 AX_surfxml_process_start_time = 19;
5426 AX_surfxml_process_kill_time = 24;
5427 ENTER(AL_surfxml_process); pushbuffer(0);
5432 /* rule 278 can match eol */
5434 ENTER(VALUE1); BUFFERSET(AX_surfxml_process_host);
5437 /* rule 279 can match eol */
5439 ENTER(VALUE2); BUFFERSET(AX_surfxml_process_host);
5442 /* rule 280 can match eol */
5444 ENTER(VALUE1); BUFFERSET(AX_surfxml_process_function);
5447 /* rule 281 can match eol */
5449 ENTER(VALUE2); BUFFERSET(AX_surfxml_process_function);
5452 /* rule 282 can match eol */
5454 ENTER(VALUE1); BUFFERSET(AX_surfxml_process_start_time);
5457 /* rule 283 can match eol */
5459 ENTER(VALUE2); BUFFERSET(AX_surfxml_process_start_time);
5462 /* rule 284 can match eol */
5464 ENTER(VALUE1); BUFFERSET(AX_surfxml_process_kill_time);
5467 /* rule 285 can match eol */
5469 ENTER(VALUE2); BUFFERSET(AX_surfxml_process_kill_time);
5474 if (!AX_surfxml_process_host) FAIL("Required attribute `host' not set for `process' element.");
5475 if (!AX_surfxml_process_function) FAIL("Required attribute `function' not set for `process' element.");
5476 LEAVE; STag_surfxml_process();surfxml_pcdata_ix = 0; ENTER(S_surfxml_process);
5482 if (!AX_surfxml_process_host) FAIL("Required attribute `host' not set for `process' element.");
5483 if (!AX_surfxml_process_function) FAIL("Required attribute `function' not set for `process' element.");
5484 LEAVE; STag_surfxml_process(); surfxml_pcdata_ix = 0; ETag_surfxml_process(); popbuffer(); /* attribute */
5486 case S_surfxml_platform_6: case S_surfxml_platform_4: case S_surfxml_platform_5: case S_surfxml_platform_2: case S_surfxml_platform_1: case S_surfxml_platform: SET(S_surfxml_platform_6); break;
5492 FAIL("Unexpected character `%c' in attribute list of process element.", surf_parse_text[0]);
5496 FAIL("Bad attribute `%s' in `process' element start tag.",surf_parse_text);
5498 case YY_STATE_EOF(AL_surfxml_process):
5499 FAIL("EOF in attribute list of `process' element.");
5503 /* rule 290 can match eol */
5507 ETag_surfxml_process();
5508 popbuffer(); /* attribute */
5510 case S_surfxml_platform_6: case S_surfxml_platform_4: case S_surfxml_platform_5: case S_surfxml_platform_2: case S_surfxml_platform_1: case S_surfxml_platform: SET(S_surfxml_platform_6); break;
5515 /* rule 291 can match eol */
5517 FAIL("Unexpected end-tag `%s': `</process>' expected.",surf_parse_text);
5521 FAIL("Unexpected character `%c': `</process>' expected.",surf_parse_text[0]);
5523 case YY_STATE_EOF(E_surfxml_process):
5524 case YY_STATE_EOF(S_surfxml_process):
5525 case YY_STATE_EOF(S_surfxml_process_2):
5526 FAIL("Premature EOF: `</process>' expected.");
5530 /* rule 293 can match eol */
5532 FAIL("Starting tag <argument> is not allowed here.");
5535 /* rule 294 can match eol */
5538 AX_surfxml_argument_value = 0;
5539 ENTER(AL_surfxml_argument); pushbuffer(0);
5544 /* rule 295 can match eol */
5546 ENTER(VALUE1); BUFFERSET(AX_surfxml_argument_value);
5549 /* rule 296 can match eol */
5551 ENTER(VALUE2); BUFFERSET(AX_surfxml_argument_value);
5556 if (!AX_surfxml_argument_value) FAIL("Required attribute `value' not set for `argument' element.");
5557 LEAVE; STag_surfxml_argument();surfxml_pcdata_ix = 0; ENTER(E_surfxml_argument);
5563 if (!AX_surfxml_argument_value) FAIL("Required attribute `value' not set for `argument' element.");
5564 LEAVE; STag_surfxml_argument(); surfxml_pcdata_ix = 0; ETag_surfxml_argument(); popbuffer(); /* attribute */
5566 case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
5572 FAIL("Unexpected character `%c' in attribute list of argument element.", surf_parse_text[0]);
5576 FAIL("Bad attribute `%s' in `argument' element start tag.",surf_parse_text);
5578 case YY_STATE_EOF(AL_surfxml_argument):
5579 FAIL("EOF in attribute list of `argument' element.");
5583 /* rule 301 can match eol */
5587 ETag_surfxml_argument();
5588 popbuffer(); /* attribute */
5590 case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
5595 /* rule 302 can match eol */
5597 FAIL("Unexpected end-tag `%s': `</argument>' expected.",surf_parse_text);
5601 FAIL("Unexpected character `%c': `</argument>' expected.",surf_parse_text[0]);
5603 case YY_STATE_EOF(E_surfxml_argument):
5604 FAIL("Premature EOF: `</argument>' expected.");
5608 /* rule 304 can match eol */
5610 FAIL("Starting tag <config> is not allowed here.");
5613 /* rule 305 can match eol */
5616 AX_surfxml_config_id = 0;
5617 ENTER(AL_surfxml_config); pushbuffer(0);
5622 /* rule 306 can match eol */
5624 ENTER(VALUE1); BUFFERSET(AX_surfxml_config_id);
5627 /* rule 307 can match eol */
5629 ENTER(VALUE2); BUFFERSET(AX_surfxml_config_id);
5634 LEAVE; STag_surfxml_config();surfxml_pcdata_ix = 0; ENTER(S_surfxml_config);
5640 LEAVE; STag_surfxml_config(); surfxml_pcdata_ix = 0; ETag_surfxml_config(); popbuffer(); /* attribute */
5642 case S_surfxml_platform: SET(S_surfxml_platform_1); break;
5648 FAIL("Unexpected character `%c' in attribute list of config element.", surf_parse_text[0]);
5652 FAIL("Bad attribute `%s' in `config' element start tag.",surf_parse_text);
5654 case YY_STATE_EOF(AL_surfxml_config):
5655 FAIL("EOF in attribute list of `config' element.");
5659 /* rule 312 can match eol */
5663 ETag_surfxml_config();
5664 popbuffer(); /* attribute */
5666 case S_surfxml_platform: SET(S_surfxml_platform_1); break;
5671 /* rule 313 can match eol */
5673 FAIL("Unexpected end-tag `%s': `</config>' expected.",surf_parse_text);
5677 FAIL("Unexpected character `%c': `</config>' expected.",surf_parse_text[0]);
5679 case YY_STATE_EOF(S_surfxml_config):
5680 case YY_STATE_EOF(S_surfxml_config_2):
5681 case YY_STATE_EOF(E_surfxml_config):
5682 FAIL("Premature EOF: `</config>' expected.");
5685 /* <!-- <!ATTLIST prop key CDATA #REQUIRED> -->
5686 * <!-- <!ATTLIST prop key CDATA #REQUIRED> --> */
5688 /* rule 315 can match eol */
5690 FAIL("Starting tag <prop> is not allowed here.");
5693 /* rule 316 can match eol */
5696 AX_surfxml_prop_id = 0;
5697 AX_surfxml_prop_value = 0;
5698 ENTER(AL_surfxml_prop); pushbuffer(0);
5703 /* rule 317 can match eol */
5705 ENTER(VALUE1); BUFFERSET(AX_surfxml_prop_id);
5708 /* rule 318 can match eol */
5710 ENTER(VALUE2); BUFFERSET(AX_surfxml_prop_id);
5713 /* rule 319 can match eol */
5715 ENTER(VALUE1); BUFFERSET(AX_surfxml_prop_value);
5718 /* rule 320 can match eol */
5720 ENTER(VALUE2); BUFFERSET(AX_surfxml_prop_value);
5725 if (!AX_surfxml_prop_id) FAIL("Required attribute `id' not set for `prop' element.");
5726 if (!AX_surfxml_prop_value) FAIL("Required attribute `value' not set for `prop' element.");
5727 LEAVE; STag_surfxml_prop();surfxml_pcdata_ix = 0; ENTER(E_surfxml_prop);
5733 if (!AX_surfxml_prop_id) FAIL("Required attribute `id' not set for `prop' element.");
5734 if (!AX_surfxml_prop_value) FAIL("Required attribute `value' not set for `prop' element.");
5735 LEAVE; STag_surfxml_prop(); surfxml_pcdata_ix = 0; ETag_surfxml_prop(); popbuffer(); /* attribute */
5737 case S_surfxml_random: case S_surfxml_random_2: case S_surfxml_random_1: SET(S_surfxml_random_2); break;
5738 case S_surfxml_config_1: case S_surfxml_config: case S_surfxml_config_2: SET(S_surfxml_config_2); break;
5739 case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
5740 case S_surfxml_host_1: case S_surfxml_host_2: case S_surfxml_host: SET(S_surfxml_host_2); break;
5741 case S_surfxml_link_1: case S_surfxml_link_2: case S_surfxml_link: SET(S_surfxml_link_2); break;
5747 FAIL("Unexpected character `%c' in attribute list of prop element.", surf_parse_text[0]);
5751 FAIL("Bad attribute `%s' in `prop' element start tag.",surf_parse_text);
5753 case YY_STATE_EOF(AL_surfxml_prop):
5754 FAIL("EOF in attribute list of `prop' element.");
5758 /* rule 325 can match eol */
5762 ETag_surfxml_prop();
5763 popbuffer(); /* attribute */
5765 case S_surfxml_random: case S_surfxml_random_2: case S_surfxml_random_1: SET(S_surfxml_random_2); break;
5766 case S_surfxml_config_1: case S_surfxml_config: case S_surfxml_config_2: SET(S_surfxml_config_2); break;
5767 case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
5768 case S_surfxml_host_1: case S_surfxml_host_2: case S_surfxml_host: SET(S_surfxml_host_2); break;
5769 case S_surfxml_link_1: case S_surfxml_link_2: case S_surfxml_link: SET(S_surfxml_link_2); break;
5774 /* rule 326 can match eol */
5776 FAIL("Unexpected end-tag `%s': `</prop>' expected.",surf_parse_text);
5780 FAIL("Unexpected character `%c': `</prop>' expected.",surf_parse_text[0]);
5782 case YY_STATE_EOF(E_surfxml_prop):
5783 FAIL("Premature EOF: `</prop>' expected.");
5786 /* EPILOG: after the root element. */
5790 {SET(PROLOG); yyless(0); CLEANUP; return -1;}
5792 case YY_STATE_EOF(EPILOG):
5796 /* CHARACTER DATA. */
5798 /* Non-defined standard entities... */
5819 /* Character entities. */
5822 BUFFERPUTC((unsigned char)atoi(surf_parse_text+2));
5826 BUFFERPUTC((unsigned char)strtol(surf_parse_text+3,NULL,16));
5830 /* rule 336 can match eol */
5832 /* rule 337 can match eol */
5834 /* rule 338 can match eol */
5836 /* rule 339 can match eol */
5847 FAIL("Unexpected `]""]>' in character data.");
5854 case YY_STATE_EOF(VALUE1):
5855 FAIL("EOF in literal (\"'\" expected).");
5862 case YY_STATE_EOF(VALUE2):
5863 FAIL("EOF in literal (`\"' expected).");
5867 /* rule 344 can match eol */
5869 BUFFERPUTC(surf_parse_text[0]);
5873 FAIL("Spurious `%c' in character data.",surf_parse_text[0]);
5880 /* "]""]" BUFFERPUTC(surf_parse_text[0]); BUFFERPUTC(surf_parse_text[1]); */
5883 BUFFERPUTC(surf_parse_text[0]);
5885 case YY_STATE_EOF(CDATA):
5886 FAIL("EOF in CDATA section.");
5889 /* Impossible rules to avoid warnings from flex(1). */
5890 /* Ideally, this should be replaced by code in flexml.pl that
5891 generates just the states not covered by other rules. */
5894 /* rule 348 can match eol */
5896 FAIL("Syntax error on character `%c'.", surf_parse_text[0]);
5903 case YY_STATE_EOF(INITIAL):
5904 case YY_STATE_EOF(ROOT_surfxml_platform):
5905 case YY_STATE_EOF(S_surfxml_platform_3):
5906 case YY_STATE_EOF(S_surfxml_platform_5):
5907 case YY_STATE_EOF(S_surfxml_random_1):
5908 case YY_STATE_EOF(S_surfxml_AS_2):
5909 case YY_STATE_EOF(S_surfxml_AS_5):
5910 case YY_STATE_EOF(S_surfxml_AS_7):
5911 case YY_STATE_EOF(S_surfxml_AS_10):
5912 case YY_STATE_EOF(S_surfxml_AS_12):
5913 case YY_STATE_EOF(S_surfxml_host_1):
5914 case YY_STATE_EOF(S_surfxml_link_1):
5915 case YY_STATE_EOF(S_surfxml_route_1):
5916 case YY_STATE_EOF(S_surfxml_ASroute_1):
5917 case YY_STATE_EOF(S_surfxml_bypassRoute_1):
5918 case YY_STATE_EOF(S_surfxml_process_1):
5919 case YY_STATE_EOF(S_surfxml_config_1):
5920 case YY_STATE_EOF(IMPOSSIBLE):
5923 case YY_END_OF_BUFFER:
5925 /* Amount of text matched not including the EOB char. */
5926 int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
5928 /* Undo the effects of YY_DO_BEFORE_ACTION. */
5929 *yy_cp = (yy_hold_char);
5930 YY_RESTORE_YY_MORE_OFFSET
5932 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
5934 /* We're scanning a new file or input source. It's
5935 * possible that this happened because the user
5936 * just pointed surf_parse_in at a new source and called
5937 * surf_parse_lex(). If so, then we have to assure
5938 * consistency between YY_CURRENT_BUFFER and our
5939 * globals. Here is the right place to do so, because
5940 * this is the first action (other than possibly a
5941 * back-up) that will match for the new input source.
5943 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
5944 YY_CURRENT_BUFFER_LVALUE->yy_input_file = surf_parse_in;
5945 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
5948 /* Note that here we test for yy_c_buf_p "<=" to the position
5949 * of the first EOB in the buffer, since yy_c_buf_p will
5950 * already have been incremented past the NUL character
5951 * (since all states make transitions on EOB to the
5952 * end-of-buffer state). Contrast this with the test
5955 if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
5956 { /* This was really a NUL. */
5957 yy_state_type yy_next_state;
5959 (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
5961 yy_current_state = yy_get_previous_state( );
5963 /* Okay, we're now positioned to make the NUL
5964 * transition. We couldn't have
5965 * yy_get_previous_state() go ahead and do it
5966 * for us because it doesn't know how to deal
5967 * with the possibility of jamming (and we don't
5968 * want to build jamming into it because then it
5969 * will run more slowly).
5972 yy_next_state = yy_try_NUL_trans( yy_current_state );
5974 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
5976 if ( yy_next_state )
5978 /* Consume the NUL. */
5979 yy_cp = ++(yy_c_buf_p);
5980 yy_current_state = yy_next_state;
5986 yy_cp = (yy_c_buf_p);
5987 goto yy_find_action;
5991 else switch ( yy_get_next_buffer( ) )
5993 case EOB_ACT_END_OF_FILE:
5995 (yy_did_buffer_switch_on_eof) = 0;
5997 if ( surf_parse_wrap( ) )
5999 /* Note: because we've taken care in
6000 * yy_get_next_buffer() to have set up
6001 * surf_parse_text, we can now set up
6002 * yy_c_buf_p so that if some total
6003 * hoser (like flex itself) wants to
6004 * call the scanner after we return the
6005 * YY_NULL, it'll still work - another
6006 * YY_NULL will get returned.
6008 (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
6010 yy_act = YY_STATE_EOF(YY_START);
6016 if ( ! (yy_did_buffer_switch_on_eof) )
6022 case EOB_ACT_CONTINUE_SCAN:
6024 (yytext_ptr) + yy_amount_of_matched_text;
6026 yy_current_state = yy_get_previous_state( );
6028 yy_cp = (yy_c_buf_p);
6029 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
6032 case EOB_ACT_LAST_MATCH:
6034 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
6036 yy_current_state = yy_get_previous_state( );
6038 yy_cp = (yy_c_buf_p);
6039 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
6040 goto yy_find_action;
6047 "fatal flex scanner internal error--no action found" );
6048 } /* end of action switch */
6049 } /* end of scanning one token */
6050 } /* end of surf_parse_lex */
6052 /* yy_get_next_buffer - try to read in a new buffer
6054 * Returns a code representing an action:
6055 * EOB_ACT_LAST_MATCH -
6056 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
6057 * EOB_ACT_END_OF_FILE - end of file
6059 static int yy_get_next_buffer (void)
6061 register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
6062 register char *source = (yytext_ptr);
6063 register int number_to_move, i;
6066 if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
6068 "fatal flex scanner internal error--end of buffer missed" );
6070 if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
6071 { /* Don't try to fill the buffer, so this is an EOF. */
6072 if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
6074 /* We matched a single character, the EOB, so
6075 * treat this as a final EOF.
6077 return EOB_ACT_END_OF_FILE;
6082 /* We matched some text prior to the EOB, first
6085 return EOB_ACT_LAST_MATCH;
6089 /* Try to read more data. */
6091 /* First move last chars to start of buffer. */
6092 number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
6094 for ( i = 0; i < number_to_move; ++i )
6095 *(dest++) = *(source++);
6097 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
6098 /* don't do the read, it's not guaranteed to return an EOF,
6101 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
6106 YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
6108 while ( num_to_read <= 0 )
6109 { /* Not enough room in the buffer - grow it. */
6111 /* just a shorter name for the current buffer */
6112 YY_BUFFER_STATE b = YY_CURRENT_BUFFER;
6114 int yy_c_buf_p_offset =
6115 (int) ((yy_c_buf_p) - b->yy_ch_buf);
6117 if ( b->yy_is_our_buffer )
6119 int new_size = b->yy_buf_size * 2;
6121 if ( new_size <= 0 )
6122 b->yy_buf_size += b->yy_buf_size / 8;
6124 b->yy_buf_size *= 2;
6126 b->yy_ch_buf = (char *)
6127 /* Include room in for 2 EOB chars. */
6128 surf_parse_realloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 );
6131 /* Can't grow it, we don't own it. */
6134 if ( ! b->yy_ch_buf )
6136 "fatal error - scanner input buffer overflow" );
6138 (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
6140 num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
6145 if ( num_to_read > YY_READ_BUF_SIZE )
6146 num_to_read = YY_READ_BUF_SIZE;
6148 /* Read in more data. */
6149 YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
6150 (yy_n_chars), (size_t) num_to_read );
6152 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
6155 if ( (yy_n_chars) == 0 )
6157 if ( number_to_move == YY_MORE_ADJ )
6159 ret_val = EOB_ACT_END_OF_FILE;
6160 surf_parse_restart(surf_parse_in );
6165 ret_val = EOB_ACT_LAST_MATCH;
6166 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
6167 YY_BUFFER_EOF_PENDING;
6172 ret_val = EOB_ACT_CONTINUE_SCAN;
6174 if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
6175 /* Extend the array by 50%, plus the number we really need. */
6176 yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
6177 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) surf_parse_realloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size );
6178 if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
6179 YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
6182 (yy_n_chars) += number_to_move;
6183 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
6184 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
6186 (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
6191 /* yy_get_previous_state - get the state just before the EOB char was reached */
6193 static yy_state_type yy_get_previous_state (void)
6195 register yy_state_type yy_current_state;
6196 register char *yy_cp;
6198 yy_current_state = (yy_start);
6200 for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
6202 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
6203 if ( yy_accept[yy_current_state] )
6205 (yy_last_accepting_state) = yy_current_state;
6206 (yy_last_accepting_cpos) = yy_cp;
6208 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
6210 yy_current_state = (int) yy_def[yy_current_state];
6211 if ( yy_current_state >= 2033 )
6212 yy_c = yy_meta[(unsigned int) yy_c];
6214 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
6217 return yy_current_state;
6220 /* yy_try_NUL_trans - try to make a transition on the NUL character
6223 * next_state = yy_try_NUL_trans( current_state );
6225 static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state )
6227 register int yy_is_jam;
6228 register char *yy_cp = (yy_c_buf_p);
6230 register YY_CHAR yy_c = 1;
6231 if ( yy_accept[yy_current_state] )
6233 (yy_last_accepting_state) = yy_current_state;
6234 (yy_last_accepting_cpos) = yy_cp;
6236 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
6238 yy_current_state = (int) yy_def[yy_current_state];
6239 if ( yy_current_state >= 2033 )
6240 yy_c = yy_meta[(unsigned int) yy_c];
6242 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
6243 yy_is_jam = (yy_current_state == 2032);
6245 return yy_is_jam ? 0 : yy_current_state;
6250 static int yyinput (void)
6252 static int input (void)
6258 *(yy_c_buf_p) = (yy_hold_char);
6260 if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
6262 /* yy_c_buf_p now points to the character we want to return.
6263 * If this occurs *before* the EOB characters, then it's a
6264 * valid NUL; if not, then we've hit the end of the buffer.
6266 if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
6267 /* This was really a NUL. */
6268 *(yy_c_buf_p) = '\0';
6271 { /* need more input */
6272 int offset = (yy_c_buf_p) - (yytext_ptr);
6275 switch ( yy_get_next_buffer( ) )
6277 case EOB_ACT_LAST_MATCH:
6278 /* This happens because yy_g_n_b()
6279 * sees that we've accumulated a
6280 * token and flags that we need to
6281 * try matching the token before
6282 * proceeding. But for input(),
6283 * there's no matching to consider.
6284 * So convert the EOB_ACT_LAST_MATCH
6285 * to EOB_ACT_END_OF_FILE.
6288 /* Reset buffer status. */
6289 surf_parse_restart(surf_parse_in );
6293 case EOB_ACT_END_OF_FILE:
6295 if ( surf_parse_wrap( ) )
6298 if ( ! (yy_did_buffer_switch_on_eof) )
6307 case EOB_ACT_CONTINUE_SCAN:
6308 (yy_c_buf_p) = (yytext_ptr) + offset;
6314 c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */
6315 *(yy_c_buf_p) = '\0'; /* preserve surf_parse_text */
6316 (yy_hold_char) = *++(yy_c_buf_p);
6320 surf_parse_lineno++;
6325 #endif /* ifndef YY_NO_INPUT */
6327 /** Immediately switch to a different input stream.
6328 * @param input_file A readable stream.
6330 * @note This function does not reset the start condition to @c INITIAL .
6332 void surf_parse_restart (FILE * input_file )
6335 if ( ! YY_CURRENT_BUFFER ){
6336 surf_parse_ensure_buffer_stack ();
6337 YY_CURRENT_BUFFER_LVALUE =
6338 surf_parse__create_buffer(surf_parse_in,YY_BUF_SIZE );
6341 surf_parse__init_buffer(YY_CURRENT_BUFFER,input_file );
6342 surf_parse__load_buffer_state( );
6345 /** Switch to a different input buffer.
6346 * @param new_buffer The new input buffer.
6349 void surf_parse__switch_to_buffer (YY_BUFFER_STATE new_buffer )
6352 /* TODO. We should be able to replace this entire function body
6354 * surf_parse_pop_buffer_state();
6355 * surf_parse_push_buffer_state(new_buffer);
6357 surf_parse_ensure_buffer_stack ();
6358 if ( YY_CURRENT_BUFFER == new_buffer )
6361 if ( YY_CURRENT_BUFFER )
6363 /* Flush out information for old buffer. */
6364 *(yy_c_buf_p) = (yy_hold_char);
6365 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
6366 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
6369 YY_CURRENT_BUFFER_LVALUE = new_buffer;
6370 surf_parse__load_buffer_state( );
6372 /* We don't actually know whether we did this switch during
6373 * EOF (surf_parse_wrap()) processing, but the only time this flag
6374 * is looked at is after surf_parse_wrap() is called, so it's safe
6375 * to go ahead and always set it.
6377 (yy_did_buffer_switch_on_eof) = 1;
6380 static void surf_parse__load_buffer_state (void)
6382 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
6383 (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
6384 surf_parse_in = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
6385 (yy_hold_char) = *(yy_c_buf_p);
6388 /** Allocate and initialize an input buffer state.
6389 * @param file A readable stream.
6390 * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
6392 * @return the allocated buffer state.
6394 YY_BUFFER_STATE surf_parse__create_buffer (FILE * file, int size )
6398 b = (YY_BUFFER_STATE) surf_parse_alloc(sizeof( struct yy_buffer_state ) );
6400 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__create_buffer()" );
6402 b->yy_buf_size = size;
6404 /* yy_ch_buf has to be 2 characters longer than the size given because
6405 * we need to put in 2 end-of-buffer characters.
6407 b->yy_ch_buf = (char *) surf_parse_alloc(b->yy_buf_size + 2 );
6408 if ( ! b->yy_ch_buf )
6409 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__create_buffer()" );
6411 b->yy_is_our_buffer = 1;
6413 surf_parse__init_buffer(b,file );
6418 /** Destroy the buffer.
6419 * @param b a buffer created with surf_parse__create_buffer()
6422 void surf_parse__delete_buffer (YY_BUFFER_STATE b )
6428 if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
6429 YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
6431 if ( b->yy_is_our_buffer )
6432 surf_parse_free((void *) b->yy_ch_buf );
6434 surf_parse_free((void *) b );
6438 extern int isatty (int );
6439 #endif /* __cplusplus */
6441 /* Initializes or reinitializes a buffer.
6442 * This function is sometimes called more than once on the same buffer,
6443 * such as during a surf_parse_restart() or at EOF.
6445 static void surf_parse__init_buffer (YY_BUFFER_STATE b, FILE * file )
6450 surf_parse__flush_buffer(b );
6452 b->yy_input_file = file;
6453 b->yy_fill_buffer = 1;
6455 /* If b is the current buffer, then surf_parse__init_buffer was _probably_
6456 * called from surf_parse_restart() or through yy_get_next_buffer.
6457 * In that case, we don't want to reset the lineno or column.
6459 if (b != YY_CURRENT_BUFFER){
6460 b->yy_bs_lineno = 1;
6461 b->yy_bs_column = 0;
6464 b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
6469 /** Discard all buffered characters. On the next scan, YY_INPUT will be called.
6470 * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
6473 void surf_parse__flush_buffer (YY_BUFFER_STATE b )
6480 /* We always need two end-of-buffer characters. The first causes
6481 * a transition to the end-of-buffer state. The second causes
6482 * a jam in that state.
6484 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
6485 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
6487 b->yy_buf_pos = &b->yy_ch_buf[0];
6490 b->yy_buffer_status = YY_BUFFER_NEW;
6492 if ( b == YY_CURRENT_BUFFER )
6493 surf_parse__load_buffer_state( );
6496 /** Pushes the new state onto the stack. The new state becomes
6497 * the current state. This function will allocate the stack
6499 * @param new_buffer The new state.
6502 void surf_parse_push_buffer_state (YY_BUFFER_STATE new_buffer )
6504 if (new_buffer == NULL)
6507 surf_parse_ensure_buffer_stack();
6509 /* This block is copied from surf_parse__switch_to_buffer. */
6510 if ( YY_CURRENT_BUFFER )
6512 /* Flush out information for old buffer. */
6513 *(yy_c_buf_p) = (yy_hold_char);
6514 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
6515 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
6518 /* Only push if top exists. Otherwise, replace top. */
6519 if (YY_CURRENT_BUFFER)
6520 (yy_buffer_stack_top)++;
6521 YY_CURRENT_BUFFER_LVALUE = new_buffer;
6523 /* copied from surf_parse__switch_to_buffer. */
6524 surf_parse__load_buffer_state( );
6525 (yy_did_buffer_switch_on_eof) = 1;
6528 /** Removes and deletes the top of the stack, if present.
6529 * The next element becomes the new top.
6532 void surf_parse_pop_buffer_state (void)
6534 if (!YY_CURRENT_BUFFER)
6537 surf_parse__delete_buffer(YY_CURRENT_BUFFER );
6538 YY_CURRENT_BUFFER_LVALUE = NULL;
6539 if ((yy_buffer_stack_top) > 0)
6540 --(yy_buffer_stack_top);
6542 if (YY_CURRENT_BUFFER) {
6543 surf_parse__load_buffer_state( );
6544 (yy_did_buffer_switch_on_eof) = 1;
6548 /* Allocates the stack if it does not exist.
6549 * Guarantees space for at least one push.
6551 static void surf_parse_ensure_buffer_stack (void)
6555 if (!(yy_buffer_stack)) {
6557 /* First allocation is just for 2 elements, since we don't know if this
6558 * scanner will even need a stack. We use 2 instead of 1 to avoid an
6559 * immediate realloc on the next call.
6562 (yy_buffer_stack) = (struct yy_buffer_state**)surf_parse_alloc
6563 (num_to_alloc * sizeof(struct yy_buffer_state*)
6565 if ( ! (yy_buffer_stack) )
6566 YY_FATAL_ERROR( "out of dynamic memory in surf_parse_ensure_buffer_stack()" );
6568 memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
6570 (yy_buffer_stack_max) = num_to_alloc;
6571 (yy_buffer_stack_top) = 0;
6575 if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
6577 /* Increase the buffer to prepare for a possible push. */
6578 int grow_size = 8 /* arbitrary grow size */;
6580 num_to_alloc = (yy_buffer_stack_max) + grow_size;
6581 (yy_buffer_stack) = (struct yy_buffer_state**)surf_parse_realloc
6583 num_to_alloc * sizeof(struct yy_buffer_state*)
6585 if ( ! (yy_buffer_stack) )
6586 YY_FATAL_ERROR( "out of dynamic memory in surf_parse_ensure_buffer_stack()" );
6588 /* zero only the new slots.*/
6589 memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
6590 (yy_buffer_stack_max) = num_to_alloc;
6594 /** Setup the input buffer state to scan directly from a user-specified character buffer.
6595 * @param base the character buffer
6596 * @param size the size in bytes of the character buffer
6598 * @return the newly allocated buffer state object.
6600 YY_BUFFER_STATE surf_parse__scan_buffer (char * base, yy_size_t size )
6605 base[size-2] != YY_END_OF_BUFFER_CHAR ||
6606 base[size-1] != YY_END_OF_BUFFER_CHAR )
6607 /* They forgot to leave room for the EOB's. */
6610 b = (YY_BUFFER_STATE) surf_parse_alloc(sizeof( struct yy_buffer_state ) );
6612 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__scan_buffer()" );
6614 b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
6615 b->yy_buf_pos = b->yy_ch_buf = base;
6616 b->yy_is_our_buffer = 0;
6617 b->yy_input_file = 0;
6618 b->yy_n_chars = b->yy_buf_size;
6619 b->yy_is_interactive = 0;
6621 b->yy_fill_buffer = 0;
6622 b->yy_buffer_status = YY_BUFFER_NEW;
6624 surf_parse__switch_to_buffer(b );
6629 /** Setup the input buffer state to scan a string. The next call to surf_parse_lex() will
6630 * scan from a @e copy of @a str.
6631 * @param yystr a NUL-terminated string to scan
6633 * @return the newly allocated buffer state object.
6634 * @note If you want to scan bytes that may contain NUL values, then use
6635 * surf_parse__scan_bytes() instead.
6637 YY_BUFFER_STATE surf_parse__scan_string (yyconst char * yystr )
6640 return surf_parse__scan_bytes(yystr,strlen(yystr) );
6643 /** Setup the input buffer state to scan the given bytes. The next call to surf_parse_lex() will
6644 * scan from a @e copy of @a bytes.
6645 * @param yybytes the byte buffer to scan
6646 * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
6648 * @return the newly allocated buffer state object.
6650 YY_BUFFER_STATE surf_parse__scan_bytes (yyconst char * yybytes, int _yybytes_len )
6657 /* Get memory for full buffer, including space for trailing EOB's. */
6658 n = _yybytes_len + 2;
6659 buf = (char *) surf_parse_alloc(n );
6661 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__scan_bytes()" );
6663 for ( i = 0; i < _yybytes_len; ++i )
6664 buf[i] = yybytes[i];
6666 buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
6668 b = surf_parse__scan_buffer(buf,n );
6670 YY_FATAL_ERROR( "bad buffer in surf_parse__scan_bytes()" );
6672 /* It's okay to grow etc. this buffer, and we should throw it
6673 * away when we're done.
6675 b->yy_is_our_buffer = 1;
6680 static void yy_push_state (int new_state )
6682 if ( (yy_start_stack_ptr) >= (yy_start_stack_depth) )
6686 (yy_start_stack_depth) += YY_START_STACK_INCR;
6687 new_size = (yy_start_stack_depth) * sizeof( int );
6689 if ( ! (yy_start_stack) )
6690 (yy_start_stack) = (int *) surf_parse_alloc(new_size );
6693 (yy_start_stack) = (int *) surf_parse_realloc((void *) (yy_start_stack),new_size );
6695 if ( ! (yy_start_stack) )
6696 YY_FATAL_ERROR( "out of memory expanding start-condition stack" );
6699 (yy_start_stack)[(yy_start_stack_ptr)++] = YY_START;
6704 static void yy_pop_state (void)
6706 if ( --(yy_start_stack_ptr) < 0 )
6707 YY_FATAL_ERROR( "start-condition stack underflow" );
6709 BEGIN((yy_start_stack)[(yy_start_stack_ptr)]);
6712 #ifndef YY_EXIT_FAILURE
6713 #define YY_EXIT_FAILURE 2
6716 static void yy_fatal_error (yyconst char* msg )
6718 (void) fprintf( stderr, "%s\n", msg );
6719 exit( YY_EXIT_FAILURE );
6722 /* Redefine yyless() so it works in section 3 code. */
6728 /* Undo effects of setting up surf_parse_text. */ \
6729 int yyless_macro_arg = (n); \
6730 YY_LESS_LINENO(yyless_macro_arg);\
6731 surf_parse_text[surf_parse_leng] = (yy_hold_char); \
6732 (yy_c_buf_p) = surf_parse_text + yyless_macro_arg; \
6733 (yy_hold_char) = *(yy_c_buf_p); \
6734 *(yy_c_buf_p) = '\0'; \
6735 surf_parse_leng = yyless_macro_arg; \
6739 /* Accessor methods (get/set functions) to struct members. */
6741 /** Get the current line number.
6744 int surf_parse_get_lineno (void)
6747 return surf_parse_lineno;
6750 /** Get the input stream.
6753 FILE *surf_parse_get_in (void)
6755 return surf_parse_in;
6758 /** Get the output stream.
6761 FILE *surf_parse_get_out (void)
6763 return surf_parse_out;
6766 /** Get the length of the current token.
6769 int surf_parse_get_leng (void)
6771 return surf_parse_leng;
6774 /** Get the current token.
6778 char *surf_parse_get_text (void)
6780 return surf_parse_text;
6783 /** Set the current line number.
6784 * @param line_number
6787 void surf_parse_set_lineno (int line_number )
6790 surf_parse_lineno = line_number;
6793 /** Set the input stream. This does not discard the current
6795 * @param in_str A readable stream.
6797 * @see surf_parse__switch_to_buffer
6799 void surf_parse_set_in (FILE * in_str )
6801 surf_parse_in = in_str ;
6804 void surf_parse_set_out (FILE * out_str )
6806 surf_parse_out = out_str ;
6809 int surf_parse_get_debug (void)
6811 return surf_parse__flex_debug;
6814 void surf_parse_set_debug (int bdebug )
6816 surf_parse__flex_debug = bdebug ;
6819 static int yy_init_globals (void)
6821 /* Initialization is the same as for the non-reentrant scanner.
6822 * This function is called from surf_parse_lex_destroy(), so don't allocate here.
6825 /* We do not touch surf_parse_lineno unless the option is enabled. */
6826 surf_parse_lineno = 1;
6828 (yy_buffer_stack) = 0;
6829 (yy_buffer_stack_top) = 0;
6830 (yy_buffer_stack_max) = 0;
6831 (yy_c_buf_p) = (char *) 0;
6835 (yy_start_stack_ptr) = 0;
6836 (yy_start_stack_depth) = 0;
6837 (yy_start_stack) = NULL;
6839 /* Defined in main.c */
6841 surf_parse_in = stdin;
6842 surf_parse_out = stdout;
6844 surf_parse_in = (FILE *) 0;
6845 surf_parse_out = (FILE *) 0;
6848 /* For future reference: Set errno on error, since we are called by
6849 * surf_parse_lex_init()
6854 /* surf_parse_lex_destroy is for both reentrant and non-reentrant scanners. */
6855 int surf_parse_lex_destroy (void)
6858 /* Pop the buffer stack, destroying each element. */
6859 while(YY_CURRENT_BUFFER){
6860 surf_parse__delete_buffer(YY_CURRENT_BUFFER );
6861 YY_CURRENT_BUFFER_LVALUE = NULL;
6862 surf_parse_pop_buffer_state();
6865 /* Destroy the stack itself. */
6866 surf_parse_free((yy_buffer_stack) );
6867 (yy_buffer_stack) = NULL;
6869 /* Destroy the start condition stack. */
6870 surf_parse_free((yy_start_stack) );
6871 (yy_start_stack) = NULL;
6873 /* Reset the globals. This is important in a non-reentrant scanner so the next time
6874 * surf_parse_lex() is called, initialization will occur. */
6881 * Internal utility routines.
6885 static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
6888 for ( i = 0; i < n; ++i )
6893 #ifdef YY_NEED_STRLEN
6894 static int yy_flex_strlen (yyconst char * s )
6897 for ( n = 0; s[n]; ++n )
6904 void *surf_parse_alloc (yy_size_t size )
6906 return (void *) malloc( size );
6909 void *surf_parse_realloc (void * ptr, yy_size_t size )
6911 /* The cast to (char *) in the following accommodates both
6912 * implementations that use char* generic pointers, and those
6913 * that use void* generic pointers. It works with the latter
6914 * because both ANSI C and C++ allow castless assignment from
6915 * any pointer type to void*, and deal with argument conversions
6916 * as though doing an assignment.
6918 return (void *) realloc( (char *) ptr, size );
6921 void surf_parse_free (void * ptr )
6923 free( (char *) ptr ); /* see surf_parse_realloc() for (char *) cast */
6926 #define YYTABLES_NAME "yytables"
6928 /* Element context stack lookup. */
6929 int surfxml_element_context(int i)
6931 return (0<i && i<yy_start_stack_depth
6932 ? yy_start_stack[yy_start_stack_ptr - i]
6937 void print_yy_stack(char* fmt, ...)
6939 int i = 0; va_list ap; va_start(ap, fmt);
6940 vfprintf(stderr, fmt, ap);
6941 if (surfxml_statenames) {
6942 for (i=1; i<yy_start_stack_ptr; i++) {
6943 fprintf(stderr, "%s/", surfxml_statenames[yy_start_stack[i] ]);
6945 fprintf(stderr,"%s\n", surfxml_statenames[YY_START]);
6950 void print_surfxml_bufferstack()
6953 fputs("Buffer: ", stderr);
6954 for (i = 0; i < blimit; i++) {
6955 if ( surfxml_bufferstack[i] == '\377' ) break;
6956 putc(surfxml_bufferstack[i], stderr);
6961 static void debug_enter(int state, const char* statename) {
6962 yy_push_state(state);
6963 if (surf_parse__flex_debug) {
6964 print_yy_stack("--ENTER(%s) : ",statename);
6965 print_surfxml_bufferstack();
6969 static void debug_leave(void) {
6970 if (surf_parse__flex_debug) {
6971 print_yy_stack("--LEAVE : ");
6972 print_surfxml_bufferstack();
6977 static void debug_set(int state, const char* statename) {
6979 if (surf_parse__flex_debug) print_yy_stack("--SET(%s) : ",statename);
6983 static void cleanup(void)
6985 if (surfxml_statenames) {
6986 free(surfxml_statenames);
6987 surfxml_statenames = NULL;
6989 free(surfxml_bufferstack);
6990 surfxml_bufferstack = NULL;
6996 static int fail(const char* fmt, ...)
6998 int chars_left, used;
6999 va_list ap; va_start(ap, fmt);
7000 #ifdef FLEXML_yylineno
7001 used = sprintf(flexml_err_msg,
7002 "Invalid XML (XML input line %d, state %d): ",
7003 surf_parse_lineno, YY_START);
7005 used = sprintf(flexml_err_msg,
7006 "Invalid XML (state %d): ",
7009 chars_left = flexml_max_err_msg_size - used - 1;
7010 vsnprintf(flexml_err_msg + used, chars_left, fmt, ap);
7013 #ifndef FLEXML_quiet_parser
7014 /* print directly to sdterr */
7015 fprintf(stderr, "%s\n", flexml_err_msg);
7016 flexml_err_msg[0] = '\0';