2 #line 3 "surf/surfxml.c"
4 #define YY_INT_ALIGNED short int
6 /* A lexical scanner generated by flex */
9 #define YY_FLEX_MAJOR_VERSION 2
10 #define YY_FLEX_MINOR_VERSION 5
11 #define YY_FLEX_SUBMINOR_VERSION 33
12 #if YY_FLEX_SUBMINOR_VERSION > 0
16 /* First, we deal with platform-specific or compiler-specific issues. */
18 /* begin standard C headers. */
24 /* end standard C headers. */
26 /* flex integer type definitions */
31 /* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
33 #if __STDC_VERSION__ >= 199901L
35 /* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
36 * if you want the limit (max/min) macros for int types.
38 #ifndef __STDC_LIMIT_MACROS
39 #define __STDC_LIMIT_MACROS 1
43 typedef int8_t flex_int8_t;
44 typedef uint8_t flex_uint8_t;
45 typedef int16_t flex_int16_t;
46 typedef uint16_t flex_uint16_t;
47 typedef int32_t flex_int32_t;
48 typedef uint32_t flex_uint32_t;
50 typedef signed char flex_int8_t;
51 typedef short int flex_int16_t;
52 typedef int flex_int32_t;
53 typedef unsigned char flex_uint8_t;
54 typedef unsigned short int flex_uint16_t;
55 typedef unsigned int flex_uint32_t;
58 /* Limits of integral types. */
60 #define INT8_MIN (-128)
63 #define INT16_MIN (-32767-1)
66 #define INT32_MIN (-2147483647-1)
69 #define INT8_MAX (127)
72 #define INT16_MAX (32767)
75 #define INT32_MAX (2147483647)
78 #define UINT8_MAX (255U)
81 #define UINT16_MAX (65535U)
84 #define UINT32_MAX (4294967295U)
87 #endif /* ! FLEXINT_H */
91 /* The "const" storage-class-modifier is valid. */
94 #else /* ! __cplusplus */
100 #endif /* __STDC__ */
101 #endif /* ! __cplusplus */
104 #define yyconst const
109 /* Returned upon end-of-file. */
112 /* Promotes a possibly negative, possibly signed char to an unsigned
113 * integer for use as an array index. If the signed char is negative,
114 * we want to instead treat it as an 8-bit unsigned char, hence the
117 #define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
119 /* Enter a start condition. This macro really ought to take a parameter,
120 * but we do it the disgusting crufty way forced on us by the ()-less
121 * definition of BEGIN.
123 #define BEGIN (yy_start) = 1 + 2 *
125 /* Translate the current start state into a value that can be later handed
126 * to BEGIN to return to the state. The YYSTATE alias is for lex
129 #define YY_START (((yy_start) - 1) / 2)
130 #define YYSTATE YY_START
132 /* Action number for EOF rule of a given start state. */
133 #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
135 /* Special action meaning "start processing a new file". */
136 #define YY_NEW_FILE surf_parse_restart(surf_parse_in )
138 #define YY_END_OF_BUFFER_CHAR 0
140 /* Size of default input buffer. */
142 #define YY_BUF_SIZE 16384
145 /* The state buf must be large enough to hold one state per character in the main buffer.
147 #define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
149 #ifndef YY_TYPEDEF_YY_BUFFER_STATE
150 #define YY_TYPEDEF_YY_BUFFER_STATE
151 typedef struct yy_buffer_state *YY_BUFFER_STATE;
154 extern int surf_parse_leng;
156 extern FILE *surf_parse_in, *surf_parse_out;
158 #define EOB_ACT_CONTINUE_SCAN 0
159 #define EOB_ACT_END_OF_FILE 1
160 #define EOB_ACT_LAST_MATCH 2
162 /* Note: We specifically omit the test for yy_rule_can_match_eol because it requires
163 * access to the local variable yy_act. Since yyless() is a macro, it would break
164 * existing scanners that call yyless() from OUTSIDE surf_parse_lex.
165 * One obvious solution it to make yy_act a global. I tried that, and saw
166 * a 5% performance hit in a non-surf_parse_lineno scanner, because yy_act is
167 * normally declared as a register variable-- so it is not worth it.
169 #define YY_LESS_LINENO(n) \
172 for ( yyl = n; yyl < surf_parse_leng; ++yyl )\
173 if ( surf_parse_text[yyl] == '\n' )\
174 --surf_parse_lineno;\
177 /* Return all but the first "n" matched characters back to the input stream. */
181 /* Undo effects of setting up surf_parse_text. */ \
182 int yyless_macro_arg = (n); \
183 YY_LESS_LINENO(yyless_macro_arg);\
184 *yy_cp = (yy_hold_char); \
185 YY_RESTORE_YY_MORE_OFFSET \
186 (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
187 YY_DO_BEFORE_ACTION; /* set up surf_parse_text again */ \
191 #define unput(c) yyunput( c, (yytext_ptr) )
193 /* The following is because we cannot portably get our hands on size_t
194 * (without autoconf's help, which isn't available because we want
195 * flex-generated scanners to compile on their own).
198 #ifndef YY_TYPEDEF_YY_SIZE_T
199 #define YY_TYPEDEF_YY_SIZE_T
200 typedef unsigned int yy_size_t;
203 #ifndef YY_STRUCT_YY_BUFFER_STATE
204 #define YY_STRUCT_YY_BUFFER_STATE
205 struct yy_buffer_state
209 char *yy_ch_buf; /* input buffer */
210 char *yy_buf_pos; /* current position in input buffer */
212 /* Size of input buffer in bytes, not including room for EOB
215 yy_size_t yy_buf_size;
217 /* Number of characters read into yy_ch_buf, not including EOB
222 /* Whether we "own" the buffer - i.e., we know we created it,
223 * and can realloc() it to grow it, and should free() it to
226 int yy_is_our_buffer;
228 /* Whether this is an "interactive" input source; if so, and
229 * if we're using stdio for input, then we want to use getc()
230 * instead of fread(), to make sure we stop fetching input after
233 int yy_is_interactive;
235 /* Whether we're considered to be at the beginning of a line.
236 * If so, '^' rules will be active on the next match, otherwise
241 int yy_bs_lineno; /**< The line count. */
242 int yy_bs_column; /**< The column count. */
244 /* Whether to try to fill the input buffer when we reach the
249 int yy_buffer_status;
251 #define YY_BUFFER_NEW 0
252 #define YY_BUFFER_NORMAL 1
253 /* When an EOF's been seen but there's still some text to process
254 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
255 * shouldn't try reading from the input source any more. We might
256 * still have a bunch of tokens to match, though, because of
257 * possible backing-up.
259 * When we actually see the EOF, we change the status to "new"
260 * (via surf_parse_restart()), so that the user can continue scanning by
261 * just pointing surf_parse_in at a new input file.
263 #define YY_BUFFER_EOF_PENDING 2
266 #endif /* !YY_STRUCT_YY_BUFFER_STATE */
268 /* Stack of input buffers. */
269 static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
270 static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
271 static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */
273 /* We provide macros for accessing buffer states in case in the
274 * future we want to put the buffer states in a more general
277 * Returns the top of the stack, or NULL.
279 #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
280 ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
283 /* Same as previous macro, but useful when we know that the buffer stack is not
284 * NULL or when we need an lvalue. For internal use only.
286 #define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
288 /* yy_hold_char holds the character lost when surf_parse_text is formed. */
289 static char yy_hold_char;
290 static int yy_n_chars; /* number of characters read into yy_ch_buf */
293 /* Points to current character in buffer. */
294 static char *yy_c_buf_p = (char *) 0;
295 static int yy_init = 0; /* whether we need to initialize */
296 static int yy_start = 0; /* start state number */
298 /* Flag which is used to allow surf_parse_wrap()'s to do buffer switches
299 * instead of setting up a fresh surf_parse_in. A bit of a hack ...
301 static int yy_did_buffer_switch_on_eof;
303 void surf_parse_restart (FILE *input_file );
304 void surf_parse__switch_to_buffer (YY_BUFFER_STATE new_buffer );
305 YY_BUFFER_STATE surf_parse__create_buffer (FILE *file,int size );
306 void surf_parse__delete_buffer (YY_BUFFER_STATE b );
307 void surf_parse__flush_buffer (YY_BUFFER_STATE b );
308 void surf_parse_push_buffer_state (YY_BUFFER_STATE new_buffer );
309 void surf_parse_pop_buffer_state (void );
311 static void surf_parse_ensure_buffer_stack (void );
312 static void surf_parse__load_buffer_state (void );
313 static void surf_parse__init_buffer (YY_BUFFER_STATE b,FILE *file );
315 #define YY_FLUSH_BUFFER surf_parse__flush_buffer(YY_CURRENT_BUFFER )
317 YY_BUFFER_STATE surf_parse__scan_buffer (char *base,yy_size_t size );
318 YY_BUFFER_STATE surf_parse__scan_string (yyconst char *yy_str );
319 YY_BUFFER_STATE surf_parse__scan_bytes (yyconst char *bytes,int len );
321 void *surf_parse_alloc (yy_size_t );
322 void *surf_parse_realloc (void *,yy_size_t );
323 void surf_parse_free (void * );
325 #define yy_new_buffer surf_parse__create_buffer
327 #define yy_set_interactive(is_interactive) \
329 if ( ! YY_CURRENT_BUFFER ){ \
330 surf_parse_ensure_buffer_stack (); \
331 YY_CURRENT_BUFFER_LVALUE = \
332 surf_parse__create_buffer(surf_parse_in,YY_BUF_SIZE ); \
334 YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
337 #define yy_set_bol(at_bol) \
339 if ( ! YY_CURRENT_BUFFER ){\
340 surf_parse_ensure_buffer_stack (); \
341 YY_CURRENT_BUFFER_LVALUE = \
342 surf_parse__create_buffer(surf_parse_in,YY_BUF_SIZE ); \
344 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
347 #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
349 /* Begin user sect3 */
351 #define surf_parse_wrap() 1
352 #define YY_SKIP_YYWRAP
354 typedef unsigned char YY_CHAR;
356 FILE *surf_parse_in = (FILE *) 0, *surf_parse_out = (FILE *) 0;
358 typedef int yy_state_type;
360 extern int surf_parse_lineno;
362 int surf_parse_lineno = 1;
364 extern char *surf_parse_text;
365 #define yytext_ptr surf_parse_text
367 static yy_state_type yy_get_previous_state (void );
368 static yy_state_type yy_try_NUL_trans (yy_state_type current_state );
369 static int yy_get_next_buffer (void );
370 static void yy_fatal_error (yyconst char msg[] );
372 /* Done after the current pattern has been matched and before the
373 * corresponding action - sets up surf_parse_text.
375 #define YY_DO_BEFORE_ACTION \
376 (yytext_ptr) = yy_bp; \
377 surf_parse_leng = (size_t) (yy_cp - yy_bp); \
378 (yy_hold_char) = *yy_cp; \
380 (yy_c_buf_p) = yy_cp;
382 #define YY_NUM_RULES 189
383 #define YY_END_OF_BUFFER 190
384 /* This struct is not used in this scanner,
385 but its presence is necessary. */
388 flex_int32_t yy_verify;
391 static yyconst flex_int16_t yy_accept[1433] =
393 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
394 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
395 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
396 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
397 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
398 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
399 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
400 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
401 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
402 0, 0, 0, 0, 0, 0, 0, 0, 190, 188,
404 23, 10, 10, 23, 23, 168, 10, 168, 5, 6,
405 5, 8, 9, 8, 184, 176, 177, 185, 182, 185,
406 183, 187, 176, 177, 187, 188, 29, 10, 29, 29,
407 29, 27, 29, 33, 10, 33, 188, 33, 188, 39,
408 10, 39, 39, 39, 37, 39, 43, 10, 43, 43,
409 188, 69, 10, 69, 69, 69, 67, 69, 69, 69,
410 69, 69, 69, 73, 10, 73, 188, 79, 10, 79,
411 79, 79, 77, 79, 83, 10, 83, 188, 107, 10,
412 107, 107, 107, 105, 107, 107, 107, 107, 111, 10,
413 111, 188, 127, 10, 127, 127, 127, 125, 127, 127,
415 127, 131, 10, 131, 188, 131, 137, 10, 137, 137,
416 137, 135, 137, 141, 10, 141, 188, 153, 10, 153,
417 153, 153, 151, 153, 153, 153, 153, 157, 10, 157,
418 188, 157, 163, 10, 163, 163, 163, 161, 163, 167,
419 10, 167, 185, 184, 10, 0, 2, 2, 0, 4,
420 7, 179, 178, 0, 0, 0, 0, 0, 0, 0,
421 28, 30, 30, 0, 0, 0, 0, 0, 0, 38,
422 40, 40, 0, 68, 70, 70, 70, 70, 70, 70,
423 70, 0, 0, 78, 80, 80, 0, 106, 108, 108,
424 108, 108, 108, 108, 0, 0, 126, 128, 128, 128,
426 128, 0, 0, 136, 138, 138, 0, 152, 154, 154,
427 154, 154, 154, 0, 0, 162, 164, 164, 0, 0,
428 0, 0, 0, 0, 0, 3, 0, 0, 0, 0,
429 0, 0, 0, 186, 0, 30, 0, 0, 0, 0,
430 0, 0, 0, 40, 0, 0, 70, 70, 70, 70,
431 70, 70, 0, 0, 0, 80, 0, 0, 108, 108,
432 108, 108, 108, 0, 0, 0, 128, 128, 128, 0,
433 0, 0, 138, 0, 0, 154, 154, 154, 154, 0,
434 0, 0, 164, 0, 0, 0, 181, 0, 22, 1,
435 0, 0, 174, 0, 0, 0, 171, 170, 0, 0,
437 30, 0, 0, 32, 0, 44, 0, 0, 0, 0,
438 40, 0, 0, 42, 0, 70, 70, 70, 70, 70,
439 70, 0, 0, 72, 0, 0, 80, 0, 0, 82,
440 0, 108, 108, 108, 108, 108, 0, 0, 110, 0,
441 0, 0, 0, 128, 0, 0, 0, 0, 130, 0,
442 0, 138, 0, 0, 140, 0, 154, 154, 154, 154,
443 0, 0, 156, 0, 0, 164, 0, 0, 166, 0,
444 0, 0, 0, 175, 169, 0, 0, 0, 30, 0,
445 44, 0, 0, 0, 0, 0, 0, 0, 70, 70,
446 70, 0, 0, 70, 70, 0, 0, 0, 0, 0,
448 108, 108, 0, 0, 108, 108, 0, 0, 0, 116,
449 115, 128, 0, 114, 113, 0, 0, 0, 0, 0,
450 154, 0, 0, 154, 154, 0, 0, 164, 0, 0,
451 0, 0, 0, 12, 0, 172, 173, 0, 30, 0,
452 0, 0, 0, 112, 0, 36, 35, 0, 70, 70,
453 70, 0, 46, 45, 0, 0, 0, 0, 70, 0,
454 71, 0, 0, 76, 75, 0, 108, 108, 0, 86,
455 85, 108, 0, 0, 108, 0, 112, 128, 0, 0,
456 0, 134, 133, 0, 154, 0, 144, 143, 154, 154,
457 0, 0, 0, 0, 0, 0, 0, 0, 0, 11,
459 0, 30, 0, 0, 0, 0, 112, 74, 0, 70,
460 70, 70, 0, 48, 47, 0, 0, 0, 70, 0,
461 108, 108, 108, 0, 0, 0, 108, 0, 128, 0,
462 0, 0, 154, 154, 154, 0, 0, 0, 160, 159,
463 0, 0, 0, 0, 0, 0, 0, 0, 0, 34,
464 0, 142, 74, 0, 70, 70, 70, 0, 0, 70,
465 0, 108, 0, 0, 108, 108, 0, 0, 108, 0,
466 128, 0, 129, 0, 0, 154, 154, 154, 0, 0,
467 0, 0, 0, 0, 0, 0, 0, 26, 25, 0,
468 34, 0, 142, 0, 70, 70, 70, 0, 0, 0,
470 0, 70, 0, 81, 108, 0, 92, 91, 108, 108,
471 0, 0, 0, 0, 108, 0, 128, 0, 0, 0,
472 0, 154, 154, 0, 158, 0, 180, 0, 0, 0,
473 0, 0, 0, 0, 41, 70, 70, 70, 0, 54,
474 0, 53, 70, 0, 0, 108, 108, 108, 0, 96,
475 0, 95, 108, 0, 128, 0, 0, 0, 146, 145,
476 0, 0, 154, 0, 155, 158, 0, 0, 0, 0,
477 0, 0, 0, 0, 0, 0, 0, 0, 70, 70,
478 70, 56, 55, 0, 0, 0, 88, 87, 108, 108,
479 108, 98, 97, 0, 0, 0, 128, 128, 0, 0,
481 0, 150, 149, 0, 0, 0, 165, 0, 0, 0,
482 0, 0, 0, 0, 0, 0, 0, 0, 0, 70,
483 70, 70, 0, 58, 57, 108, 108, 108, 0, 100,
484 99, 0, 128, 128, 0, 0, 0, 148, 147, 0,
485 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
486 84, 0, 0, 70, 70, 70, 108, 0, 0, 108,
487 0, 128, 128, 0, 0, 0, 0, 0, 0, 0,
488 0, 0, 0, 0, 0, 0, 0, 84, 0, 50,
489 49, 70, 70, 70, 70, 108, 0, 94, 93, 108,
490 0, 0, 0, 128, 0, 0, 128, 132, 0, 0,
492 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
493 0, 0, 0, 70, 70, 70, 70, 0, 0, 0,
494 0, 0, 109, 0, 120, 119, 128, 0, 118, 117,
495 128, 132, 0, 0, 0, 0, 0, 0, 0, 0,
496 0, 0, 0, 0, 0, 0, 0, 0, 0, 70,
497 70, 70, 70, 0, 90, 89, 0, 0, 0, 128,
498 128, 0, 139, 0, 0, 0, 0, 0, 0, 0,
499 0, 0, 0, 0, 12, 0, 12, 0, 0, 0,
500 70, 70, 70, 70, 0, 0, 0, 0, 128, 128,
501 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
503 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
504 0, 70, 0, 0, 0, 0, 0, 0, 128, 128,
505 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
506 0, 0, 0, 52, 51, 0, 62, 61, 0, 60,
507 59, 70, 0, 66, 65, 0, 0, 0, 0, 128,
508 128, 0, 0, 0, 0, 0, 0, 0, 0, 0,
509 11, 0, 0, 70, 0, 0, 0, 0, 128, 128,
510 0, 0, 0, 0, 0, 0, 0, 0, 0, 24,
511 0, 70, 0, 0, 0, 0, 128, 128, 0, 0,
512 0, 0, 0, 0, 0, 0, 0, 0, 24, 0,
514 70, 0, 0, 0, 0, 128, 128, 0, 0, 0,
515 0, 0, 0, 0, 0, 0, 0, 0, 31, 0,
516 0, 0, 102, 0, 101, 128, 128, 0, 0, 0,
517 0, 0, 0, 0, 0, 0, 0, 0, 0, 64,
518 63, 104, 103, 128, 128, 0, 0, 0, 0, 0,
519 0, 0, 0, 0, 0, 0, 0, 128, 128, 0,
520 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
521 0, 0, 0, 128, 128, 0, 0, 0, 0, 0,
522 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
523 128, 128, 0, 0, 0, 0, 0, 0, 0, 0,
525 0, 0, 0, 0, 0, 0, 0, 128, 128, 0,
526 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
527 0, 0, 0, 0, 128, 128, 0, 0, 0, 0,
528 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
529 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
530 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
531 0, 0, 124, 123, 0, 122, 121, 0, 0, 0,
532 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
533 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
534 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
536 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
537 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
538 13, 0, 0, 0, 0, 0, 0, 0, 0, 0,
539 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
540 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
541 0, 0, 0, 0, 0, 0, 0, 0, 15, 0,
542 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
543 0, 0, 18, 0, 0, 14, 0, 0, 0, 0,
544 0, 17, 0, 0, 0, 19, 0, 0, 0, 0,
545 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
547 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
548 16, 0, 0, 0, 0, 0, 0, 20, 0, 0,
549 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
553 static yyconst flex_int32_t yy_ec[256] =
555 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
556 1, 2, 4, 1, 1, 1, 1, 1, 1, 1,
557 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
558 1, 2, 5, 6, 7, 1, 1, 8, 9, 1,
559 1, 1, 1, 1, 10, 11, 12, 13, 13, 13,
560 13, 13, 13, 13, 13, 13, 13, 14, 15, 16,
561 17, 18, 19, 1, 20, 21, 22, 23, 24, 25,
562 14, 26, 27, 14, 14, 14, 28, 29, 30, 31,
563 14, 32, 33, 34, 14, 14, 14, 14, 35, 14,
564 36, 1, 37, 1, 38, 1, 39, 40, 41, 42,
566 43, 44, 45, 46, 47, 14, 48, 49, 50, 51,
567 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
568 62, 14, 1, 1, 1, 1, 1, 1, 1, 1,
569 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
570 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
571 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
572 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
573 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
574 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
575 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
577 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
578 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
579 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
580 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
581 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
585 static yyconst flex_int32_t yy_meta[63] =
587 1, 2, 2, 2, 1, 1, 1, 1, 1, 3,
588 3, 1, 4, 5, 1, 1, 1, 6, 1, 7,
589 7, 7, 7, 7, 7, 5, 5, 5, 5, 5,
590 5, 5, 5, 5, 5, 1, 1, 5, 7, 7,
591 7, 7, 7, 7, 5, 5, 5, 5, 5, 5,
592 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
596 static yyconst flex_int16_t yy_base[1494] =
598 0, 0, 0, 3, 6, 9, 24, 27, 11, 14,
599 15, 17, 29, 38, 45, 52, 59, 61, 67, 70,
600 98, 157, 73, 76, 116, 120, 123, 126, 175, 179,
601 182, 185, 216, 260, 234, 238, 241, 278, 282, 285,
602 289, 304, 307, 310, 326, 0, 387, 390, 393, 396,
603 412, 463, 430, 434, 437, 440, 514, 570, 481, 485,
604 488, 491, 626, 682, 532, 536, 539, 542, 588, 592,
605 595, 598, 644, 648, 738, 789, 651, 654, 700, 704,
606 840, 896, 707, 710, 756, 760, 763, 766, 807, 811,
607 814, 817, 952, 1011, 858, 862, 879, 914, 3945, 3946,
609 3946, 91, 141, 47, 62, 3946, 144, 132, 3946, 3946,
610 3934, 3946, 3946, 3925, 3946, 3938, 3938, 882, 3946, 3946,
611 3946, 3946, 3936, 3936, 3901, 194, 3946, 150, 3919, 0,
612 136, 3946, 3893, 3946, 200, 990, 991, 195, 192, 3946,
613 206, 3917, 0, 187, 3946, 3887, 3946, 313, 1044, 440,
614 849, 3946, 458, 3915, 0, 491, 3946, 3873, 3880, 3891,
615 3890, 3876, 3870, 3946, 509, 548, 604, 3946, 613, 3908,
616 0, 542, 3946, 3886, 3946, 672, 660, 819, 3946, 728,
617 3906, 0, 661, 3946, 3884, 3883, 3882, 92, 3946, 731,
618 766, 817, 3946, 784, 3902, 0, 717, 3946, 3863, 3868,
620 3862, 3946, 877, 929, 918, 967, 3946, 889, 3898, 0,
621 866, 3946, 3876, 3946, 922, 971, 924, 3946, 943, 3896,
622 0, 930, 3946, 3855, 3860, 3864, 3853, 3946, 978, 986,
623 1034, 973, 3946, 997, 3891, 0, 988, 3946, 3869, 3946,
624 1031, 1045, 3902, 3869, 1056, 34, 3844, 3946, 3894, 3885,
625 3946, 3946, 3946, 26, 32, 3845, 3844, 3842, 3881, 3849,
626 3946, 0, 3842, 3843, 3842, 3843, 3850, 3837, 3839, 3946,
627 0, 3841, 3842, 3946, 0, 3849, 3830, 3825, 3835, 3824,
628 3844, 3841, 3829, 3946, 0, 3830, 3824, 3946, 0, 3827,
629 3820, 3826, 3836, 3835, 3822, 3820, 3946, 0, 3814, 3817,
631 3828, 3813, 3815, 3946, 0, 3816, 3810, 3946, 0, 3813,
632 3807, 3813, 3822, 3807, 3804, 3946, 0, 3809, 3818, 3820,
633 3837, 3836, 3843, 5, 3802, 3946, 75, 0, 3798, 3798,
634 3834, 3833, 3795, 3946, 3807, 3789, 1063, 1072, 3786, 3802,
635 3785, 3789, 3782, 3796, 1075, 1080, 3791, 3794, 3798, 3792,
636 3791, 3776, 1084, 1101, 3774, 3788, 1104, 1107, 3788, 3786,
637 3785, 3772, 3769, 1110, 1114, 3767, 1131, 3785, 1134, 1137,
638 1140, 3765, 3779, 1143, 1160, 3780, 3763, 3770, 3763, 1163,
639 1166, 3772, 3758, 1169, 1172, 3793, 3946, 3796, 3946, 3946,
640 233, 3764, 3946, 3797, 3796, 3754, 3946, 3946, 3752, 3751,
642 3760, 1191, 1195, 3946, 1198, 1201, 3757, 3745, 3763, 3746,
643 1215, 1204, 1221, 3946, 1226, 3753, 3746, 3748, 1231, 3744,
644 3755, 1238, 1243, 3946, 1247, 3740, 1251, 1255, 1260, 3946,
645 1267, 3736, 3744, 1272, 3747, 3750, 1277, 1280, 3946, 1284,
646 3735, 1289, 1305, 3750, 1313, 1317, 1325, 1329, 3946, 1332,
647 3733, 1335, 1342, 1351, 3946, 1354, 3732, 1359, 3750, 3730,
648 1362, 1371, 3946, 1375, 3728, 3742, 1379, 1382, 3946, 1392,
649 3761, 122, 1399, 3946, 3946, 3768, 3767, 3737, 3728, 1402,
650 1297, 3721, 3726, 3734, 3733, 1405, 1422, 1411, 3736, 3730,
651 3715, 1430, 1436, 1446, 1449, 1452, 3729, 1465, 1469, 1477,
653 3724, 3729, 1481, 1487, 3718, 1497, 1500, 3725, 1503, 3946,
654 3946, 3710, 1513, 3946, 3946, 1521, 3723, 1524, 1527, 1540,
655 3718, 1544, 1547, 3707, 3725, 1561, 3712, 1564, 1567, 3741,
656 115, 3742, 1570, 3946, 3741, 3946, 3946, 3706, 3706, 1573,
657 3714, 3700, 3698, 1580, 1590, 3946, 3946, 1601, 3713, 3709,
658 3694, 1605, 3946, 3946, 1619, 1624, 1635, 1638, 3706, 1646,
659 3946, 3694, 1651, 3946, 3946, 1659, 3706, 3685, 1663, 3946,
660 3946, 3701, 1671, 1676, 3701, 1687, 1690, 3706, 1693, 3705,
661 1697, 3946, 3946, 1705, 3690, 1710, 3946, 3946, 3694, 3683,
662 1722, 3696, 1718, 1725, 1739, 3704, 66, 197, 153, 3946,
664 3682, 1742, 1748, 3693, 3687, 3678, 1751, 1758, 1765, 3686,
665 3677, 3686, 1768, 3946, 3946, 1776, 3700, 3699, 3681, 1784,
666 3670, 1788, 3688, 1792, 3695, 3694, 3676, 1806, 3670, 1809,
667 3678, 1812, 3669, 3669, 3671, 1815, 3666, 1819, 3946, 3946,
668 1833, 3696, 300, 281, 194, 3665, 1838, 1843, 1854, 1860,
669 3676, 1863, 1866, 1871, 3664, 3669, 3659, 296, 376, 3661,
670 1875, 3663, 1878, 1881, 3664, 3654, 379, 382, 3657, 1894,
671 3654, 1897, 3946, 3655, 1900, 1903, 3660, 3652, 1919, 3644,
672 1922, 3664, 1926, 238, 510, 3661, 1929, 3946, 3946, 1943,
673 1946, 3649, 1949, 1952, 3650, 3645, 3648, 3669, 3687, 3667,
675 3682, 3647, 1956, 3946, 1960, 1963, 3946, 3946, 3642, 3636,
676 3662, 3680, 3660, 3675, 3640, 1976, 3644, 3638, 1979, 1982,
677 1986, 1998, 3637, 2001, 2004, 2007, 3946, 2063, 241, 256,
678 3637, 2014, 3631, 2018, 3946, 3620, 3635, 3624, 3668, 3946,
679 3664, 3946, 2027, 2031, 2036, 3628, 3622, 3621, 3663, 3946,
680 3659, 3946, 2051, 2054, 952, 3617, 2057, 2067, 3946, 3946,
681 2075, 2080, 2091, 2094, 3946, 2047, 2103, 240, 433, 384,
682 162, 622, 485, 408, 541, 3623, 2120, 3614, 3602, 3620,
683 3617, 3946, 3946, 2123, 2126, 2139, 3946, 3946, 3614, 3617,
684 3612, 3946, 3946, 2147, 2150, 2163, 3602, 3602, 3613, 2166,
686 2169, 3946, 3946, 2183, 2186, 2194, 3946, 539, 73, 436,
687 546, 678, 663, 172, 710, 816, 3599, 2199, 3606, 2202,
688 3615, 3614, 2205, 3946, 3946, 3602, 2218, 3609, 2221, 3946,
689 3946, 2229, 3488, 3503, 3483, 2234, 2242, 3946, 3946, 440,
690 2251, 600, 813, 604, 762, 755, 660, 2254, 3490, 2257,
691 2260, 2264, 2280, 3484, 450, 3470, 3479, 2288, 2291, 3457,
692 2299, 2304, 2307, 3459, 2312, 734, 2316, 491, 811, 876,
693 932, 1018, 2323, 2333, 2350, 3458, 2358, 2329, 2363, 3946,
694 3946, 3463, 3464, 3457, 3456, 2371, 2375, 3946, 3946, 2383,
695 2387, 2390, 2400, 3430, 2393, 2409, 3425, 2417, 2420, 1037,
697 284, 1050, 392, 817, 819, 2423, 2426, 2430, 2447, 2478,
698 2515, 3433, 2455, 3426, 3429, 3414, 3403, 2443, 2460, 2472,
699 2496, 2535, 3946, 2538, 3946, 3946, 3240, 2552, 3946, 3946,
700 3239, 2468, 2546, 1076, 587, 1053, 956, 948, 1033, 2563,
701 1083, 2566, 2569, 550, 41, 2596, 2633, 3231, 2625, 3240,
702 3223, 3239, 3237, 2586, 3946, 3946, 2614, 1029, 1090, 3222,
703 3221, 2653, 3946, 1131, 703, 2656, 901, 1022, 2659, 1034,
704 1111, 2662, 606, 1134, 3270, 103, 3256, 2679, 3207, 2682,
705 2509, 2685, 2688, 2704, 3238, 3231, 3234, 3212, 3096, 2997,
706 2707, 484, 2710, 1161, 1082, 2713, 1178, 1171, 1208, 3023,
708 2977, 2972, 2716, 2861, 2720, 2737, 2746, 2754, 2758, 2766,
709 2770, 2850, 2778, 2782, 2869, 2860, 2844, 2810, 2782, 2709,
710 2790, 910, 1242, 1138, 1173, 1278, 1202, 1132, 1279, 2719,
711 2627, 2794, 2797, 3946, 3946, 2807, 3946, 3946, 2815, 3946,
712 3946, 2578, 2823, 3946, 3946, 2478, 2456, 2411, 2385, 2346,
713 2319, 1324, 2831, 1285, 1370, 1306, 1425, 759, 1349, 1276,
714 3946, 2295, 2834, 2303, 2261, 2249, 2202, 2204, 2125, 2123,
715 1428, 2841, 1353, 1322, 1234, 1401, 969, 1393, 1106, 2504,
716 2851, 2118, 2124, 2124, 2088, 2023, 1967, 1966, 1423, 1248,
717 1380, 1159, 2854, 1350, 1162, 2858, 1405, 1446, 2622, 2861,
719 2864, 1972, 1910, 1780, 1790, 1738, 1655, 1468, 1479, 1522,
720 1492, 2871, 1458, 1493, 2881, 2889, 2892, 2909, 3946, 2912,
721 2915, 1670, 3946, 1479, 3946, 1293, 1176, 1527, 1534, 1569,
722 2928, 1381, 1304, 2931, 1476, 1539, 2934, 2938, 2951, 3946,
723 3946, 3946, 3946, 968, 872, 2959, 1568, 1572, 2962, 1582,
724 1412, 2970, 1588, 1600, 1616, 1614, 1625, 772, 726, 2980,
725 1669, 1686, 1627, 1700, 1520, 1541, 1719, 1720, 1613, 1779,
726 1638, 1715, 1745, 684, 682, 1775, 1788, 1699, 1714, 1802,
727 1830, 1814, 1668, 1836, 1899, 1666, 1740, 1825, 1916, 1921,
728 618, 416, 1969, 2005, 1459, 1892, 2019, 2025, 1592, 1220,
730 2044, 2091, 2029, 2070, 1868, 2067, 2069, 258, 187, 2102,
731 2119, 551, 821, 2073, 2116, 2988, 1973, 2195, 2197, 1918,
732 2083, 2165, 2097, 2118, 2991, 2997, 2232, 2252, 1811, 2121,
733 2173, 2261, 3001, 3009, 2267, 2294, 2200, 2225, 3013, 2126,
734 2176, 3018, 3030, 3021, 3038, 2321, 2340, 1544, 2247, 2320,
735 2330, 2143, 2396, 3046, 2390, 2417, 2346, 2517, 3049, 2280,
736 2419, 3057, 3946, 3946, 3066, 3946, 3946, 2486, 2507, 2281,
737 2413, 2511, 2525, 2325, 2527, 1873, 2528, 2544, 2541, 2564,
738 2398, 2591, 2568, 2635, 2545, 2558, 607, 2269, 2657, 2683,
739 2612, 2675, 2008, 2685, 2718, 2562, 2709, 2573, 2686, 2636,
741 2733, 2796, 2804, 3074, 2745, 2747, 2655, 2760, 1893, 2828,
742 2859, 2864, 2880, 2735, 2784, 2882, 2891, 2908, 2927, 3078,
743 3946, 2902, 2940, 2787, 2810, 1895, 2952, 2969, 2485, 2483,
744 2879, 2907, 2960, 3012, 3000, 3027, 3044, 3047, 2626, 2925,
745 2714, 3053, 3055, 3096, 2967, 3056, 2604, 2822, 3065, 3067,
746 2727, 2833, 3038, 3070, 3100, 3087, 3028, 3108, 3946, 3072,
747 3073, 3125, 3088, 3106, 3128, 3090, 3102, 3131, 3148, 3098,
748 3107, 3151, 3946, 3155, 3158, 3946, 3103, 3121, 3118, 3123,
749 3168, 3946, 3157, 3166, 3178, 3946, 3126, 3130, 2870, 3120,
750 3146, 3147, 3149, 3167, 3172, 3174, 3175, 3176, 3189, 3188,
752 3180, 3181, 3184, 3186, 3212, 3182, 3183, 3199, 3194, 3216,
753 3946, 3190, 3192, 3219, 3213, 3217, 3243, 3946, 3230, 3238,
754 3218, 3221, 3193, 3195, 3233, 3235, 3249, 3250, 3267, 3270,
755 3946, 3946, 3288, 3295, 3302, 3309, 3316, 3323, 3330, 3337,
756 3344, 3351, 3358, 3365, 3372, 3379, 3386, 3393, 3400, 3407,
757 3414, 3421, 3428, 3435, 3442, 3449, 3454, 3459, 3464, 3469,
758 3474, 3479, 3484, 3489, 3494, 3501, 3504, 3507, 3510, 3513,
759 3516, 3519, 3522, 3525, 3528, 3535, 3539, 3545, 3551, 3557,
760 3563, 3569, 3575, 3581, 3587, 3593, 3600, 3607, 3614, 3621,
765 static yyconst flex_int16_t yy_def[1494] =
767 1433, 1433, 1434, 1434, 1434, 1434, 1435, 1435, 1436, 1436,
768 1437, 1437, 1438, 1438, 1438, 1438, 1439, 1439, 1433, 1433,
769 1440, 1440, 1441, 1441, 1433, 1433, 1441, 1441, 1441, 1441,
770 1433, 1433, 1442, 1442, 1443, 1443, 1433, 1433, 1443, 1443,
771 1443, 1443, 1433, 1433, 1432, 45, 1444, 1444, 1433, 1433,
772 1445, 1445, 1446, 1446, 1433, 1433, 1447, 1447, 1448, 1448,
773 1433, 1433, 1449, 1449, 1450, 1450, 1433, 1433, 1450, 1450,
774 1450, 1450, 1433, 1433, 1451, 1451, 1452, 1452, 1433, 1433,
775 1453, 1453, 1454, 1454, 1433, 1433, 1454, 1454, 1454, 1454,
776 1433, 1433, 1455, 1455, 1456, 1456, 1438, 1438, 1432, 1432,
778 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432,
779 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432,
780 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1457,
781 1432, 1432, 1457, 1432, 1432, 1432, 1432, 1432, 1432, 1432,
782 1432, 1432, 1458, 1432, 1432, 1458, 1432, 1432, 1432, 1432,
783 1432, 1432, 1432, 1432, 1459, 1432, 1432, 1459, 1459, 1459,
784 1459, 1459, 1459, 1432, 1432, 1432, 1432, 1432, 1432, 1432,
785 1460, 1432, 1432, 1460, 1432, 1432, 1432, 1432, 1432, 1432,
786 1432, 1461, 1432, 1432, 1461, 1461, 1461, 1461, 1432, 1432,
787 1432, 1432, 1432, 1432, 1432, 1462, 1432, 1432, 1462, 1462,
789 1462, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1463,
790 1432, 1432, 1463, 1432, 1432, 1432, 1432, 1432, 1432, 1432,
791 1464, 1432, 1432, 1464, 1464, 1464, 1464, 1432, 1432, 1432,
792 1432, 1432, 1432, 1432, 1432, 1465, 1432, 1432, 1465, 1432,
793 1432, 1432, 1432, 1432, 1432, 1466, 1432, 1432, 1432, 1432,
794 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432,
795 1432, 1457, 1457, 1467, 1432, 1432, 1432, 1432, 1432, 1432,
796 1458, 1458, 1468, 1432, 1459, 1459, 1459, 1459, 1459, 1459,
797 1459, 1469, 1432, 1432, 1460, 1460, 1470, 1432, 1461, 1461,
798 1461, 1461, 1461, 1461, 1471, 1432, 1432, 1462, 1462, 1462,
800 1462, 1472, 1432, 1432, 1463, 1463, 1473, 1432, 1464, 1464,
801 1464, 1464, 1464, 1474, 1432, 1432, 1465, 1465, 1475, 1432,
802 1432, 1476, 1432, 1476, 1432, 1432, 1432, 1477, 1432, 1432,
803 1432, 1432, 1432, 1432, 1432, 1457, 1478, 1478, 1432, 1432,
804 1432, 1432, 1432, 1458, 1479, 1479, 1459, 1459, 1459, 1459,
805 1459, 1459, 1480, 1480, 1432, 1460, 1481, 1481, 1461, 1461,
806 1461, 1461, 1461, 1482, 1482, 1432, 1462, 1462, 1462, 1483,
807 1483, 1432, 1463, 1484, 1484, 1464, 1464, 1464, 1464, 1485,
808 1485, 1432, 1465, 1486, 1486, 1432, 1432, 1476, 1432, 1432,
809 1476, 1432, 1432, 1477, 1432, 1432, 1432, 1432, 1432, 1432,
811 1457, 1432, 1478, 1432, 1478, 1432, 1432, 1432, 1432, 1432,
812 1458, 1432, 1479, 1432, 1479, 1459, 1459, 1459, 1459, 1459,
813 1459, 1432, 1480, 1432, 1480, 1432, 1460, 1432, 1481, 1432,
814 1481, 1461, 1461, 1461, 1461, 1461, 1432, 1482, 1432, 1482,
815 1432, 1432, 1432, 1462, 1432, 1432, 1432, 1483, 1432, 1483,
816 1432, 1463, 1432, 1484, 1432, 1484, 1464, 1464, 1464, 1464,
817 1432, 1485, 1432, 1485, 1432, 1465, 1432, 1486, 1432, 1486,
818 1432, 1476, 1487, 1432, 1432, 1432, 1432, 1432, 1457, 1478,
819 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1479, 1459, 1459,
820 1459, 1432, 1432, 1459, 1459, 1480, 1432, 1432, 1432, 1481,
822 1461, 1461, 1432, 1432, 1461, 1461, 1482, 1432, 1432, 1432,
823 1432, 1462, 1432, 1432, 1432, 1483, 1432, 1432, 1432, 1484,
824 1464, 1432, 1432, 1464, 1464, 1485, 1432, 1465, 1486, 1432,
825 1476, 1487, 1487, 1432, 1487, 1432, 1432, 1432, 1457, 1478,
826 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1479, 1459, 1459,
827 1459, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1459, 1432,
828 1432, 1432, 1432, 1432, 1432, 1481, 1461, 1461, 1432, 1432,
829 1432, 1461, 1432, 1432, 1461, 1482, 1432, 1462, 1483, 1432,
830 1432, 1432, 1432, 1484, 1464, 1432, 1432, 1432, 1464, 1464,
831 1485, 1432, 1432, 1432, 1486, 1432, 1476, 1487, 1487, 1432,
833 1432, 1457, 1478, 1432, 1432, 1432, 1432, 1432, 1479, 1459,
834 1459, 1459, 1432, 1432, 1432, 1432, 1432, 1432, 1459, 1481,
835 1461, 1461, 1461, 1432, 1432, 1432, 1461, 1482, 1462, 1483,
836 1432, 1484, 1464, 1464, 1464, 1485, 1432, 1432, 1432, 1432,
837 1486, 1432, 1476, 1487, 1487, 1432, 1432, 1432, 1478, 1432,
838 1432, 1432, 1432, 1479, 1459, 1459, 1459, 1432, 1432, 1459,
839 1481, 1461, 1432, 1432, 1461, 1461, 1432, 1432, 1461, 1482,
840 1462, 1432, 1432, 1432, 1484, 1464, 1464, 1464, 1485, 1432,
841 1486, 1432, 1476, 1487, 1487, 1432, 1432, 1432, 1432, 1478,
842 1432, 1432, 1432, 1479, 1459, 1459, 1459, 1432, 1432, 1432,
844 1432, 1459, 1432, 1432, 1461, 1432, 1432, 1432, 1461, 1461,
845 1432, 1432, 1432, 1432, 1461, 1482, 1462, 1432, 1484, 1432,
846 1432, 1464, 1464, 1485, 1432, 1486, 1432, 1476, 1487, 1487,
847 1432, 1478, 1432, 1432, 1432, 1459, 1459, 1459, 1432, 1432,
848 1432, 1432, 1459, 1432, 1432, 1461, 1461, 1461, 1432, 1432,
849 1432, 1432, 1461, 1482, 1462, 1432, 1484, 1432, 1432, 1432,
850 1432, 1432, 1464, 1432, 1432, 1432, 1486, 1476, 1476, 1476,
851 1476, 1476, 1476, 1487, 1487, 1432, 1478, 1432, 1459, 1459,
852 1459, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1461, 1461,
853 1461, 1432, 1432, 1432, 1432, 1482, 1462, 1462, 1432, 1484,
855 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1476, 1476, 1476,
856 1476, 1476, 1476, 1476, 1487, 1487, 1432, 1478, 1432, 1459,
857 1459, 1459, 1432, 1432, 1432, 1461, 1461, 1461, 1432, 1432,
858 1432, 1482, 1462, 1462, 1432, 1484, 1432, 1432, 1432, 1476,
859 1476, 1476, 1476, 1476, 1476, 1476, 1487, 1487, 1432, 1478,
860 1432, 1432, 1432, 1459, 1459, 1459, 1461, 1432, 1432, 1461,
861 1482, 1462, 1462, 1432, 1484, 1476, 1476, 1476, 1476, 1476,
862 1476, 1476, 1487, 1487, 1487, 1432, 1478, 1432, 1432, 1432,
863 1432, 1459, 1459, 1459, 1459, 1461, 1432, 1432, 1432, 1461,
864 1482, 1432, 1432, 1462, 1432, 1432, 1462, 1432, 1484, 1476,
866 1476, 1476, 1476, 1476, 1476, 1476, 1487, 1487, 1487, 1488,
867 1489, 1432, 1478, 1459, 1459, 1459, 1459, 1432, 1432, 1432,
868 1432, 1432, 1432, 1432, 1432, 1432, 1462, 1432, 1432, 1432,
869 1462, 1432, 1484, 1476, 1476, 1476, 1476, 1476, 1476, 1476,
870 1476, 1476, 1487, 1490, 1491, 1488, 1489, 1432, 1478, 1459,
871 1459, 1459, 1459, 1432, 1432, 1432, 1432, 1432, 1432, 1462,
872 1462, 1432, 1432, 1476, 1476, 1476, 1476, 1476, 1476, 1476,
873 1476, 1476, 1490, 1487, 1492, 1491, 1493, 1487, 1432, 1478,
874 1459, 1459, 1459, 1459, 1432, 1432, 1432, 1432, 1462, 1462,
875 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1492,
877 1432, 1493, 1487, 1432, 1478, 1432, 1432, 1432, 1432, 1432,
878 1432, 1459, 1432, 1432, 1432, 1432, 1432, 1432, 1462, 1462,
879 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1432,
880 1432, 1478, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432,
881 1432, 1459, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1462,
882 1462, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476,
883 1432, 1432, 1478, 1459, 1432, 1432, 1432, 1432, 1462, 1462,
884 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1432,
885 1478, 1459, 1432, 1432, 1432, 1432, 1462, 1462, 1476, 1476,
886 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1432, 1478,
888 1459, 1432, 1432, 1432, 1432, 1462, 1462, 1476, 1476, 1476,
889 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1432, 1432, 1432,
890 1432, 1432, 1432, 1432, 1432, 1462, 1462, 1476, 1476, 1476,
891 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1432, 1432,
892 1432, 1432, 1432, 1462, 1462, 1476, 1476, 1476, 1476, 1476,
893 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1462, 1462, 1476,
894 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476,
895 1476, 1476, 1476, 1462, 1462, 1476, 1476, 1476, 1476, 1476,
896 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476,
897 1462, 1462, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476,
899 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1462, 1462, 1476,
900 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476,
901 1476, 1476, 1476, 1476, 1462, 1462, 1476, 1476, 1476, 1476,
902 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476,
903 1476, 1432, 1432, 1432, 1432, 1476, 1476, 1476, 1476, 1476,
904 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476,
905 1476, 1432, 1432, 1432, 1432, 1432, 1432, 1476, 1476, 1476,
906 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476,
907 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476,
908 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476,
910 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476,
911 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476,
912 1432, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476,
913 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476,
914 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476,
915 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1432, 1476,
916 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476,
917 1476, 1476, 1432, 1476, 1476, 1432, 1476, 1476, 1476, 1476,
918 1476, 1432, 1476, 1476, 1476, 1432, 1476, 1476, 1476, 1476,
919 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476,
921 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476,
922 1432, 1476, 1476, 1476, 1476, 1476, 1476, 1432, 1476, 1476,
923 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476,
924 1432, 0, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432,
925 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432,
926 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432,
927 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432,
928 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432,
929 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432,
934 static yyconst flex_int16_t yy_nxt[4009] =
936 1432, 102, 103, 102, 102, 103, 102, 102, 103, 102,
937 102, 103, 102, 110, 1432, 104, 110, 113, 104, 113,
938 111, 105, 389, 111, 105, 107, 103, 107, 107, 103,
939 107, 116, 117, 114, 391, 114, 118, 119, 327, 108,
940 116, 117, 108, 323, 120, 118, 119, 116, 117, 974,
941 121, 246, 118, 120, 116, 117, 324, 121, 977, 118,
942 120, 123, 124, 123, 124, 247, 246, 120, 103, 103,
943 103, 103, 103, 103, 135, 103, 135, 135, 103, 135,
944 248, 329, 126, 389, 330, 126, 328, 327, 136, 393,
945 389, 136, 245, 245, 245, 125, 643, 125, 127, 128,
947 103, 128, 127, 127, 127, 127, 127, 127, 127, 129,
948 127, 974, 127, 131, 127, 132, 127, 103, 103, 103,
949 977, 103, 103, 103, 135, 103, 135, 135, 103, 135,
950 841, 137, 389, 127, 127, 137, 249, 293, 136, 389,
951 249, 136, 245, 245, 245, 245, 245, 245, 294, 597,
952 248, 245, 245, 245, 248, 531, 133, 127, 128, 103,
953 128, 127, 127, 127, 127, 127, 127, 127, 129, 127,
954 534, 127, 131, 127, 132, 127, 135, 103, 135, 389,
955 135, 103, 135, 103, 103, 103, 103, 103, 103, 389,
956 138, 249, 127, 127, 138, 645, 249, 139, 249, 249,
958 139, 245, 245, 245, 811, 248, 264, 245, 245, 245,
959 248, 534, 248, 248, 534, 133, 140, 141, 103, 141,
960 140, 140, 140, 140, 140, 140, 140, 142, 140, 846,
961 140, 144, 140, 145, 140, 148, 103, 148, 266, 148,
962 103, 148, 103, 103, 103, 1226, 260, 644, 685, 149,
963 389, 140, 140, 149, 472, 534, 137, 389, 534, 146,
964 140, 141, 103, 141, 140, 140, 140, 140, 140, 140,
965 140, 142, 140, 534, 140, 144, 140, 145, 140, 103,
966 103, 103, 774, 148, 103, 148, 148, 103, 148, 729,
967 148, 103, 148, 137, 808, 140, 140, 149, 534, 1225,
969 149, 389, 775, 146, 150, 148, 103, 148, 103, 103,
970 103, 103, 103, 103, 245, 245, 245, 389, 935, 150,
971 698, 684, 151, 683, 699, 151, 152, 153, 103, 153,
972 152, 152, 152, 152, 152, 152, 152, 154, 152, 155,
973 152, 156, 152, 157, 152, 155, 155, 155, 155, 155,
974 155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
975 155, 152, 152, 155, 158, 155, 155, 155, 155, 155,
976 155, 155, 159, 155, 155, 160, 161, 155, 162, 155,
977 155, 163, 155, 155, 155, 155, 155, 155, 165, 103,
978 165, 165, 103, 165, 103, 103, 103, 103, 103, 103,
980 700, 389, 166, 711, 701, 166, 713, 712, 167, 389,
981 714, 167, 168, 169, 103, 169, 168, 168, 168, 168,
982 168, 168, 168, 170, 168, 534, 168, 172, 168, 173,
983 168, 176, 103, 176, 810, 176, 103, 176, 103, 103,
984 103, 103, 103, 103, 249, 177, 937, 168, 168, 177,
985 389, 273, 178, 389, 815, 178, 1209, 389, 248, 245,
986 245, 245, 174, 168, 169, 103, 169, 168, 168, 168,
987 168, 168, 168, 168, 170, 168, 842, 168, 172, 168,
988 173, 168, 190, 103, 190, 809, 190, 103, 190, 103,
989 103, 103, 103, 103, 103, 249, 191, 866, 168, 168,
991 191, 389, 389, 192, 883, 884, 192, 1022, 389, 248,
992 245, 245, 245, 174, 179, 180, 103, 180, 179, 179,
993 179, 179, 179, 179, 179, 181, 179, 534, 179, 183,
994 179, 184, 179, 203, 103, 203, 814, 203, 103, 203,
995 103, 103, 103, 103, 103, 103, 249, 204, 902, 179,
996 179, 204, 249, 185, 205, 974, 389, 205, 534, 282,
997 248, 1229, 186, 389, 187, 730, 248, 975, 389, 188,
998 179, 180, 103, 180, 179, 179, 179, 179, 179, 179,
999 179, 181, 179, 840, 179, 183, 179, 184, 179, 203,
1000 103, 203, 816, 203, 103, 203, 203, 103, 203, 203,
1002 103, 203, 843, 204, 389, 179, 179, 204, 249, 185,
1003 206, 974, 1304, 206, 245, 245, 245, 389, 186, 965,
1004 187, 389, 248, 975, 389, 188, 193, 194, 103, 194,
1005 193, 193, 193, 193, 193, 193, 193, 195, 193, 389,
1006 193, 197, 193, 198, 193, 103, 103, 103, 868, 103,
1007 103, 103, 215, 103, 215, 215, 103, 215, 283, 205,
1008 870, 193, 193, 205, 249, 249, 216, 199, 1208, 216,
1009 812, 287, 200, 245, 245, 245, 813, 534, 248, 248,
1010 389, 201, 193, 194, 103, 194, 193, 193, 193, 193,
1011 193, 193, 193, 195, 193, 389, 193, 197, 193, 198,
1013 193, 103, 103, 103, 873, 103, 103, 103, 229, 103,
1014 229, 229, 103, 229, 845, 217, 844, 193, 193, 217,
1015 389, 249, 230, 199, 1192, 230, 1191, 534, 200, 245,
1016 245, 245, 245, 245, 245, 248, 992, 201, 207, 208,
1017 103, 208, 207, 207, 207, 207, 207, 207, 207, 209,
1018 207, 389, 207, 211, 207, 212, 207, 103, 103, 103,
1019 847, 103, 103, 103, 229, 103, 229, 229, 103, 229,
1020 249, 231, 389, 207, 207, 231, 389, 295, 230, 389,
1021 1175, 230, 1077, 900, 248, 245, 245, 245, 213, 207,
1022 208, 103, 208, 207, 207, 207, 207, 207, 207, 207,
1024 209, 207, 871, 207, 211, 207, 212, 207, 229, 103,
1025 229, 872, 229, 103, 229, 103, 103, 103, 103, 103,
1026 103, 249, 232, 249, 207, 207, 232, 1174, 389, 231,
1027 389, 1230, 231, 534, 389, 248, 389, 248, 389, 213,
1028 218, 219, 103, 219, 218, 218, 218, 218, 218, 218,
1029 218, 220, 218, 249, 218, 222, 218, 223, 218, 241,
1030 103, 241, 903, 241, 103, 241, 848, 248, 938, 267,
1031 249, 296, 869, 242, 939, 218, 218, 242, 245, 245,
1032 245, 116, 117, 224, 248, 225, 118, 226, 254, 265,
1033 245, 245, 245, 389, 243, 227, 218, 219, 103, 219,
1035 218, 218, 218, 218, 218, 218, 218, 220, 218, 1159,
1036 218, 222, 218, 223, 218, 244, 116, 117, 389, 904,
1037 255, 118, 249, 245, 245, 245, 256, 389, 249, 243,
1038 257, 218, 218, 249, 249, 258, 248, 1053, 994, 224,
1039 302, 225, 248, 226, 245, 245, 245, 248, 248, 389,
1040 244, 227, 233, 234, 103, 234, 233, 233, 233, 233,
1041 233, 233, 233, 235, 233, 389, 233, 237, 233, 238,
1042 233, 249, 303, 389, 905, 249, 268, 249, 302, 245,
1043 245, 245, 307, 303, 314, 248, 389, 233, 233, 248,
1044 249, 248, 249, 797, 249, 249, 1096, 314, 245, 245,
1046 245, 264, 968, 967, 248, 1158, 248, 798, 248, 248,
1047 239, 233, 234, 103, 234, 233, 233, 233, 233, 233,
1048 233, 233, 235, 233, 315, 233, 237, 233, 238, 233,
1049 265, 265, 245, 245, 245, 389, 266, 266, 249, 389,
1050 267, 267, 268, 268, 269, 269, 233, 233, 249, 249,
1051 389, 389, 248, 985, 389, 273, 319, 245, 245, 245,
1052 906, 986, 248, 248, 402, 402, 402, 389, 997, 239,
1053 389, 995, 315, 402, 402, 402, 412, 412, 412, 934,
1054 404, 412, 412, 412, 265, 422, 422, 422, 969, 404,
1055 266, 936, 414, 389, 267, 966, 268, 414, 269, 389,
1057 389, 424, 422, 422, 422, 428, 428, 428, 428, 428,
1058 428, 437, 437, 437, 987, 437, 437, 437, 424, 1025,
1059 405, 430, 988, 389, 430, 971, 964, 439, 389, 1098,
1060 415, 439, 442, 442, 442, 445, 445, 445, 447, 447,
1061 447, 447, 447, 447, 453, 453, 453, 443, 389, 389,
1062 446, 534, 535, 425, 449, 389, 440, 449, 431, 998,
1063 455, 453, 453, 453, 461, 461, 461, 461, 461, 461,
1064 467, 467, 467, 467, 467, 467, 389, 455, 389, 389,
1065 463, 1059, 1111, 463, 1055, 1114, 469, 991, 389, 469,
1066 389, 450, 402, 402, 402, 389, 402, 402, 402, 402,
1068 402, 402, 481, 481, 481, 412, 412, 412, 404, 1024,
1069 1027, 456, 404, 1028, 1056, 404, 486, 486, 486, 389,
1070 464, 414, 412, 412, 412, 389, 470, 412, 412, 412,
1071 1145, 487, 492, 492, 492, 1058, 480, 389, 414, 422,
1072 422, 422, 1029, 414, 422, 422, 422, 493, 422, 422,
1073 422, 389, 498, 498, 498, 424, 428, 428, 428, 389,
1074 424, 428, 428, 428, 424, 389, 488, 499, 428, 428,
1075 428, 1217, 430, 503, 503, 503, 1054, 430, 437, 437,
1076 437, 437, 437, 437, 430, 437, 437, 437, 504, 1094,
1077 442, 442, 442, 389, 439, 389, 389, 439, 481, 481,
1079 481, 439, 389, 1109, 496, 443, 509, 509, 509, 1079,
1080 510, 1060, 1057, 511, 445, 445, 445, 1073, 513, 513,
1081 513, 389, 514, 389, 500, 515, 447, 447, 447, 446,
1082 447, 447, 447, 447, 447, 447, 518, 518, 518, 389,
1083 507, 389, 449, 453, 453, 453, 449, 1144, 1075, 449,
1084 1151, 519, 453, 453, 453, 453, 453, 453, 1071, 455,
1085 522, 522, 522, 461, 461, 461, 389, 389, 455, 1093,
1086 389, 455, 461, 461, 461, 523, 461, 461, 461, 463,
1087 467, 467, 467, 467, 467, 467, 1092, 389, 463, 516,
1088 1113, 1078, 463, 467, 467, 467, 469, 389, 389, 469,
1090 533, 533, 533, 402, 402, 402, 486, 486, 486, 469,
1091 389, 520, 412, 412, 412, 1150, 534, 535, 389, 404,
1092 1074, 487, 389, 545, 545, 545, 526, 546, 414, 389,
1093 547, 492, 492, 492, 1095, 1110, 529, 552, 552, 552,
1094 389, 553, 389, 1097, 554, 389, 493, 555, 555, 555,
1095 557, 557, 557, 560, 560, 560, 1108, 1076, 540, 548,
1096 1089, 1116, 556, 389, 1166, 558, 498, 498, 498, 561,
1097 563, 563, 563, 1117, 564, 389, 389, 565, 428, 428,
1098 428, 499, 503, 503, 503, 389, 559, 1143, 569, 569,
1099 569, 1128, 570, 389, 430, 571, 389, 504, 573, 573,
1101 573, 437, 437, 437, 509, 509, 509, 1212, 510, 389,
1102 389, 511, 1133, 574, 513, 513, 513, 439, 514, 1131,
1103 1134, 515, 447, 447, 447, 518, 518, 518, 581, 581,
1104 581, 1153, 582, 566, 575, 583, 1129, 389, 449, 389,
1105 519, 453, 453, 453, 389, 522, 522, 522, 586, 586,
1106 586, 389, 587, 1182, 1146, 588, 389, 455, 389, 576,
1107 523, 389, 461, 461, 461, 593, 593, 593, 467, 467,
1108 467, 533, 533, 533, 402, 402, 402, 579, 463, 1130,
1109 594, 607, 607, 607, 469, 389, 389, 534, 1147, 389,
1110 404, 545, 545, 545, 1154, 546, 584, 1183, 547, 389,
1112 1270, 591, 412, 412, 412, 389, 552, 552, 552, 389,
1113 553, 1161, 598, 554, 1165, 1162, 603, 389, 414, 1216,
1114 555, 555, 555, 1148, 595, 613, 613, 613, 599, 614,
1115 389, 389, 615, 389, 608, 556, 557, 557, 557, 616,
1116 616, 616, 389, 617, 389, 1169, 618, 560, 560, 560,
1117 1171, 558, 563, 563, 563, 389, 564, 1170, 609, 565,
1118 428, 428, 428, 561, 569, 569, 569, 1186, 570, 1172,
1119 1188, 571, 573, 573, 573, 1142, 430, 624, 624, 624,
1120 1173, 625, 1180, 389, 626, 389, 389, 574, 437, 437,
1121 437, 607, 607, 607, 447, 447, 447, 1127, 581, 581,
1123 581, 620, 582, 389, 439, 583, 453, 453, 453, 1203,
1124 449, 586, 586, 586, 1200, 587, 389, 389, 588, 593,
1125 593, 593, 455, 461, 461, 461, 638, 638, 638, 1178,
1126 639, 389, 389, 640, 594, 630, 389, 389, 628, 463,
1127 467, 467, 467, 647, 647, 647, 1179, 632, 1195, 402,
1128 402, 402, 607, 607, 607, 1181, 469, 389, 648, 653,
1129 653, 653, 389, 1196, 636, 404, 412, 412, 412, 613,
1130 613, 613, 1189, 614, 1184, 1185, 615, 616, 616, 616,
1131 1126, 617, 414, 1204, 618, 428, 428, 428, 641, 663,
1132 663, 663, 389, 624, 624, 624, 389, 625, 1125, 649,
1134 626, 430, 1190, 1124, 664, 389, 654, 437, 437, 437,
1135 672, 672, 672, 453, 453, 453, 461, 461, 461, 389,
1136 638, 638, 638, 439, 639, 665, 673, 640, 389, 455,
1137 1193, 389, 463, 1187, 467, 467, 467, 1199, 661, 647,
1138 647, 647, 389, 1194, 687, 687, 687, 389, 688, 675,
1139 469, 689, 1248, 389, 648, 402, 402, 402, 1205, 1197,
1140 670, 691, 691, 691, 693, 693, 693, 653, 653, 653,
1141 679, 404, 412, 412, 412, 681, 703, 703, 703, 663,
1142 663, 663, 706, 706, 706, 389, 707, 1198, 414, 708,
1143 389, 1222, 704, 1201, 664, 437, 437, 437, 672, 672,
1145 672, 453, 453, 453, 720, 720, 720, 1293, 690, 389,
1146 389, 439, 389, 694, 673, 1123, 389, 455, 1341, 721,
1147 461, 461, 461, 467, 467, 467, 1326, 728, 728, 728,
1148 687, 687, 687, 389, 688, 389, 463, 689, 389, 469,
1149 1213, 716, 719, 389, 402, 402, 402, 691, 691, 691,
1150 693, 693, 693, 734, 734, 734, 1202, 703, 703, 703,
1151 404, 744, 744, 744, 706, 706, 706, 1237, 707, 735,
1152 1206, 708, 726, 704, 724, 1207, 745, 437, 437, 437,
1153 453, 453, 453, 720, 720, 720, 389, 758, 758, 758,
1154 389, 759, 732, 439, 760, 1122, 455, 746, 721, 761,
1156 761, 761, 764, 764, 764, 766, 766, 766, 467, 467,
1157 467, 1107, 1106, 754, 762, 402, 402, 402, 765, 734,
1158 734, 734, 389, 1234, 469, 389, 1210, 757, 784, 784,
1159 784, 404, 744, 744, 744, 735, 389, 786, 786, 786,
1160 1309, 787, 389, 785, 788, 1105, 389, 745, 766, 766,
1161 766, 777, 794, 794, 794, 437, 437, 437, 453, 453,
1162 453, 389, 1211, 767, 728, 728, 728, 795, 758, 758,
1163 758, 439, 759, 1214, 455, 760, 761, 761, 761, 1215,
1164 389, 801, 801, 801, 389, 802, 389, 389, 803, 1220,
1165 389, 762, 804, 804, 804, 764, 764, 764, 1218, 800,
1167 389, 768, 796, 769, 806, 806, 806, 805, 389, 770,
1168 1223, 765, 1224, 771, 389, 772, 1231, 773, 1104, 389,
1169 807, 402, 402, 402, 784, 784, 784, 823, 823, 823,
1170 1221, 824, 1238, 389, 825, 389, 389, 404, 389, 785,
1171 786, 786, 786, 389, 787, 1219, 1103, 788, 794, 794,
1172 794, 829, 829, 829, 1102, 830, 1227, 1240, 831, 1232,
1173 389, 818, 1249, 795, 437, 437, 437, 453, 453, 453,
1174 801, 801, 801, 1228, 802, 1260, 1101, 803, 1241, 1088,
1175 439, 1087, 389, 455, 804, 804, 804, 837, 837, 837,
1176 389, 838, 1239, 389, 839, 806, 806, 806, 1274, 805,
1178 402, 402, 402, 852, 852, 852, 823, 823, 823, 832,
1179 824, 807, 389, 825, 389, 836, 404, 389, 853, 858,
1180 858, 858, 829, 829, 829, 1261, 830, 1086, 1085, 831,
1181 437, 437, 437, 1250, 859, 453, 453, 453, 1235, 854,
1182 1236, 850, 389, 837, 837, 837, 439, 838, 1257, 389,
1183 839, 455, 867, 867, 867, 874, 874, 874, 402, 402,
1184 402, 878, 878, 878, 389, 852, 852, 852, 389, 389,
1185 875, 534, 1084, 1258, 404, 1246, 865, 1304, 389, 861,
1186 853, 879, 879, 879, 389, 880, 389, 1083, 881, 858,
1187 858, 858, 887, 887, 887, 1247, 888, 389, 389, 889,
1189 437, 437, 437, 1271, 859, 892, 892, 892, 895, 895,
1190 895, 389, 877, 453, 453, 453, 439, 867, 867, 867,
1191 893, 1251, 1287, 896, 907, 907, 907, 1255, 1283, 455,
1192 878, 878, 878, 389, 874, 874, 874, 389, 389, 908,
1193 534, 894, 389, 1082, 897, 1080, 891, 389, 901, 875,
1194 534, 909, 909, 909, 1256, 910, 1279, 389, 911, 402,
1195 402, 402, 899, 389, 879, 879, 879, 534, 880, 1272,
1196 1070, 881, 918, 918, 918, 404, 887, 887, 887, 1273,
1197 888, 1268, 1291, 889, 920, 920, 920, 919, 922, 922,
1198 922, 892, 892, 892, 895, 895, 895, 1069, 913, 921,
1200 1269, 924, 924, 924, 923, 925, 893, 389, 926, 896,
1201 928, 928, 928, 389, 929, 389, 1068, 930, 932, 932,
1202 932, 453, 453, 453, 940, 940, 940, 907, 907, 907,
1203 389, 943, 943, 943, 389, 944, 389, 455, 945, 1277,
1204 389, 1067, 908, 534, 918, 918, 918, 534, 909, 909,
1205 909, 1275, 910, 1298, 1288, 911, 402, 402, 402, 919,
1206 941, 954, 954, 954, 534, 955, 1278, 1284, 956, 932,
1207 932, 932, 404, 920, 920, 920, 933, 942, 532, 532,
1208 532, 532, 532, 532, 532, 532, 532, 1066, 921, 532,
1209 1344, 1344, 532, 532, 532, 534, 532, 957, 957, 957,
1211 389, 958, 389, 389, 959, 1099, 1099, 1099, 1065, 949,
1212 1006, 1006, 1006, 532, 532, 532, 532, 532, 532, 532,
1213 532, 532, 532, 532, 389, 1007, 532, 1280, 389, 532,
1214 532, 532, 534, 532, 389, 1285, 922, 922, 922, 924,
1215 924, 924, 389, 925, 389, 389, 926, 962, 962, 962,
1216 532, 532, 923, 928, 928, 928, 1286, 929, 389, 1289,
1217 930, 389, 389, 963, 940, 940, 940, 972, 972, 972,
1218 943, 943, 943, 1290, 944, 389, 1294, 945, 1300, 389,
1219 389, 389, 1296, 389, 1292, 389, 534, 954, 954, 954,
1220 389, 955, 1295, 1302, 956, 970, 532, 532, 532, 532,
1222 532, 978, 532, 532, 532, 1297, 1303, 532, 389, 1362,
1223 532, 532, 532, 534, 532, 957, 957, 957, 1312, 958,
1224 1064, 389, 959, 1099, 1099, 1099, 402, 402, 402, 389,
1225 1314, 532, 532, 532, 532, 532, 532, 532, 532, 532,
1226 532, 978, 404, 389, 532, 1301, 1299, 532, 532, 532,
1227 534, 532, 389, 389, 962, 962, 962, 993, 993, 993,
1228 996, 996, 996, 972, 972, 972, 1307, 1305, 532, 532,
1229 963, 980, 389, 389, 389, 1353, 389, 1316, 1062, 389,
1230 1003, 1003, 1003, 402, 402, 402, 1008, 1008, 1008, 1010,
1231 1010, 1010, 389, 1306, 999, 1310, 534, 535, 1324, 404,
1233 389, 1009, 389, 389, 1011, 1013, 1013, 1013, 1021, 1021,
1234 1021, 993, 993, 993, 996, 996, 996, 1003, 1003, 1003,
1235 1014, 402, 402, 402, 389, 1012, 389, 389, 1311, 1308,
1236 389, 389, 1365, 534, 1005, 389, 1061, 404, 1006, 1006,
1237 1006, 1355, 1023, 1315, 389, 1026, 1051, 1033, 1033, 1033,
1238 389, 1034, 389, 1007, 1035, 1008, 1008, 1008, 598, 1036,
1239 1036, 1036, 389, 1037, 389, 1313, 1038, 1010, 1010, 1010,
1240 1009, 1039, 1039, 1039, 1317, 1040, 1032, 389, 1041, 1013,
1241 1013, 1013, 1011, 1043, 1043, 1043, 1322, 1044, 1323, 1331,
1242 1045, 1021, 1021, 1021, 1014, 402, 402, 402, 1033, 1033,
1244 1033, 389, 1034, 1325, 389, 1035, 1318, 389, 1036, 1036,
1245 1036, 404, 1037, 389, 1319, 1038, 1039, 1039, 1039, 1050,
1246 1040, 389, 1052, 1041, 1043, 1043, 1043, 389, 1044, 1049,
1247 1362, 1045, 1072, 1072, 1072, 402, 402, 402, 1332, 389,
1248 1063, 1365, 1072, 1072, 1072, 389, 1090, 1339, 389, 1091,
1249 389, 404, 402, 402, 402, 1112, 1112, 1112, 389, 1115,
1250 1115, 1115, 1118, 1118, 1118, 1120, 1120, 1120, 404, 1327,
1251 1340, 389, 1112, 1112, 1112, 389, 389, 1048, 1119, 1047,
1252 1121, 389, 1115, 1115, 1115, 1081, 1135, 389, 389, 1136,
1253 1137, 1137, 1137, 1138, 1138, 1138, 389, 389, 389, 389,
1255 1328, 1100, 1046, 1132, 1042, 1329, 389, 1031, 389, 389,
1256 1118, 1118, 1118, 1120, 1120, 1120, 1139, 1139, 1139, 389,
1257 1140, 1330, 1345, 1141, 389, 389, 1119, 1395, 1121, 1149,
1258 1149, 1149, 1152, 1152, 1152, 1137, 1137, 1137, 1333, 1138,
1259 1138, 1138, 389, 1156, 389, 389, 1157, 1334, 389, 1335,
1260 1346, 389, 1139, 1139, 1139, 389, 1140, 389, 1337, 1141,
1261 1160, 1160, 1160, 1149, 1149, 1149, 1155, 1163, 1336, 389,
1262 1164, 1152, 1152, 1152, 1354, 1167, 389, 389, 1168, 389,
1263 1001, 1160, 1160, 1160, 389, 1176, 389, 389, 1177, 1233,
1264 1233, 1233, 1242, 1242, 1242, 1030, 1338, 389, 1244, 1244,
1266 1244, 1347, 1233, 1233, 1233, 389, 1252, 1243, 1342, 1253,
1267 1254, 1254, 1254, 1245, 1259, 1259, 1259, 389, 389, 1242,
1268 1242, 1242, 1244, 1244, 1244, 1343, 389, 1360, 1001, 389,
1269 389, 1262, 1262, 1262, 1243, 1263, 1369, 1245, 1264, 1265,
1270 1265, 1265, 1020, 1266, 389, 389, 1267, 1254, 1254, 1254,
1271 1259, 1259, 1259, 1348, 1281, 389, 1349, 1282, 1262, 1262,
1272 1262, 389, 1263, 389, 389, 1264, 389, 1265, 1265, 1265,
1273 389, 1266, 389, 389, 1267, 1320, 1320, 1320, 1276, 1320,
1274 1320, 1320, 389, 1350, 389, 1351, 1366, 389, 1352, 389,
1275 389, 1321, 1369, 1374, 1356, 1321, 1357, 1358, 1358, 1358,
1277 1377, 1368, 1368, 1368, 389, 389, 1363, 389, 1364, 1358,
1278 1358, 1358, 1378, 1359, 1374, 389, 1361, 389, 1367, 389,
1279 389, 1370, 1371, 389, 389, 1359, 1372, 1372, 1372, 1375,
1280 1375, 1375, 1368, 1368, 1368, 389, 1379, 389, 389, 1380,
1281 389, 1019, 1373, 389, 1387, 1376, 1383, 389, 389, 1381,
1282 1381, 1381, 1372, 1372, 1372, 1384, 1385, 1385, 1385, 1375,
1283 1375, 1375, 1388, 389, 389, 1382, 389, 1391, 1373, 1381,
1284 1381, 1381, 1386, 1389, 389, 1376, 1392, 1396, 1390, 1385,
1285 1385, 1385, 1393, 389, 389, 1382, 1394, 1397, 1398, 389,
1286 1399, 389, 389, 389, 1405, 1386, 1405, 389, 389, 389,
1288 389, 389, 1414, 389, 1414, 389, 389, 389, 1400, 389,
1289 389, 389, 389, 1410, 1410, 1410, 389, 1410, 1410, 1410,
1290 1417, 1417, 1417, 1406, 1407, 1408, 1401, 1409, 1402, 1411,
1291 389, 1403, 1404, 1411, 389, 389, 1418, 1018, 389, 1415,
1292 1421, 1416, 1412, 1413, 1417, 1417, 1417, 389, 1422, 1425,
1293 389, 1426, 389, 1017, 1429, 389, 1016, 1015, 1429, 1423,
1294 1418, 1419, 1424, 1004, 1001, 1420, 389, 389, 1430, 1430,
1295 1430, 1430, 1430, 1430, 1427, 1001, 1428, 990, 989, 984,
1296 983, 982, 981, 979, 1431, 961, 960, 1431, 100, 100,
1297 100, 100, 100, 100, 100, 101, 101, 101, 101, 101,
1299 101, 101, 106, 106, 106, 106, 106, 106, 106, 109,
1300 109, 109, 109, 109, 109, 109, 112, 112, 112, 112,
1301 112, 112, 112, 115, 115, 115, 115, 115, 115, 115,
1302 122, 122, 122, 122, 122, 122, 122, 130, 130, 130,
1303 130, 130, 130, 130, 134, 134, 134, 134, 134, 134,
1304 134, 143, 143, 143, 143, 143, 143, 143, 147, 147,
1305 147, 147, 147, 147, 147, 164, 164, 164, 164, 164,
1306 164, 164, 171, 171, 171, 171, 171, 171, 171, 175,
1307 175, 175, 175, 175, 175, 175, 182, 182, 182, 182,
1308 182, 182, 182, 189, 189, 189, 189, 189, 189, 189,
1310 196, 196, 196, 196, 196, 196, 196, 202, 202, 202,
1311 202, 202, 202, 202, 210, 210, 210, 210, 210, 210,
1312 210, 214, 214, 214, 214, 214, 214, 214, 221, 221,
1313 221, 221, 221, 221, 221, 228, 228, 228, 228, 228,
1314 228, 228, 236, 236, 236, 236, 236, 236, 236, 240,
1315 240, 240, 240, 240, 240, 240, 262, 262, 262, 953,
1316 262, 271, 271, 271, 952, 271, 275, 275, 275, 951,
1317 275, 285, 285, 285, 950, 285, 289, 289, 289, 948,
1318 289, 298, 298, 298, 931, 298, 305, 305, 305, 927,
1319 305, 309, 309, 309, 917, 309, 317, 317, 317, 916,
1321 317, 322, 322, 322, 322, 322, 915, 322, 337, 914,
1322 337, 345, 912, 345, 353, 898, 353, 357, 890, 357,
1323 364, 886, 364, 370, 885, 370, 374, 882, 374, 380,
1324 876, 380, 384, 864, 384, 388, 388, 388, 388, 388,
1325 388, 388, 394, 863, 862, 394, 403, 403, 403, 403,
1326 403, 403, 413, 413, 413, 413, 413, 413, 423, 423,
1327 423, 423, 423, 423, 429, 429, 429, 429, 429, 429,
1328 438, 438, 438, 438, 438, 438, 448, 448, 448, 448,
1329 448, 448, 454, 454, 454, 454, 454, 454, 462, 462,
1330 462, 462, 462, 462, 468, 468, 468, 468, 468, 468,
1332 532, 532, 532, 532, 532, 532, 532, 946, 946, 946,
1333 946, 946, 946, 946, 947, 947, 947, 947, 947, 947,
1334 947, 973, 973, 973, 973, 973, 973, 973, 976, 976,
1335 976, 976, 976, 976, 976, 1000, 1000, 1000, 1000, 1000,
1336 1000, 1000, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 860,
1337 857, 856, 855, 851, 849, 835, 834, 833, 828, 827,
1338 826, 822, 821, 820, 819, 817, 799, 793, 792, 791,
1339 790, 789, 783, 782, 781, 780, 779, 778, 776, 763,
1340 756, 755, 753, 752, 751, 750, 749, 748, 747, 743,
1341 742, 741, 740, 739, 738, 737, 736, 733, 731, 727,
1343 725, 723, 722, 718, 717, 715, 710, 709, 705, 702,
1344 697, 696, 695, 692, 686, 682, 680, 678, 677, 676,
1345 674, 671, 669, 668, 667, 666, 662, 660, 659, 658,
1346 657, 656, 655, 652, 651, 650, 646, 642, 637, 635,
1347 634, 633, 631, 629, 627, 623, 622, 621, 608, 619,
1348 612, 611, 610, 606, 605, 604, 602, 601, 600, 534,
1349 596, 592, 590, 589, 585, 580, 578, 577, 572, 568,
1350 567, 562, 551, 550, 549, 544, 543, 542, 541, 539,
1351 538, 537, 536, 530, 528, 527, 525, 524, 521, 517,
1352 512, 508, 506, 505, 502, 501, 497, 495, 494, 491,
1354 490, 489, 485, 484, 483, 482, 479, 478, 477, 476,
1355 475, 474, 473, 389, 471, 466, 465, 460, 459, 458,
1356 457, 452, 451, 444, 441, 436, 435, 434, 433, 432,
1357 427, 426, 421, 420, 419, 418, 417, 416, 411, 410,
1358 409, 408, 407, 406, 401, 400, 399, 398, 397, 396,
1359 395, 392, 390, 389, 387, 386, 385, 383, 382, 381,
1360 379, 378, 377, 376, 375, 373, 372, 371, 369, 368,
1361 367, 366, 365, 363, 362, 361, 360, 359, 358, 356,
1362 355, 354, 352, 351, 350, 349, 348, 347, 346, 344,
1363 343, 342, 341, 340, 339, 338, 336, 335, 334, 333,
1365 332, 331, 326, 323, 325, 321, 320, 318, 316, 313,
1366 312, 311, 310, 308, 306, 304, 301, 300, 299, 297,
1367 292, 291, 290, 288, 286, 284, 281, 280, 279, 278,
1368 277, 276, 274, 272, 270, 263, 261, 259, 253, 252,
1369 253, 252, 251, 250, 1432, 99, 1432, 1432, 1432, 1432,
1370 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432,
1371 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432,
1372 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432,
1373 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432,
1374 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432,
1376 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432
1379 static yyconst flex_int16_t yy_chk[4009] =
1381 0, 3, 3, 3, 4, 4, 4, 5, 5, 5,
1382 6, 6, 6, 9, 0, 3, 10, 11, 4, 12,
1383 9, 5, 324, 10, 6, 7, 7, 7, 8, 8,
1384 8, 13, 13, 11, 324, 12, 13, 13, 254, 7,
1385 14, 14, 8, 246, 13, 14, 14, 15, 15, 945,
1386 15, 104, 15, 14, 16, 16, 246, 16, 945, 16,
1387 15, 17, 17, 18, 18, 104, 105, 16, 19, 19,
1388 19, 20, 20, 20, 23, 23, 23, 24, 24, 24,
1389 105, 255, 19, 597, 255, 20, 254, 327, 23, 327,
1390 809, 24, 102, 102, 102, 17, 597, 18, 21, 21,
1392 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
1393 21, 976, 21, 21, 21, 21, 21, 25, 25, 25,
1394 976, 26, 26, 26, 27, 27, 27, 28, 28, 28,
1395 809, 25, 531, 21, 21, 26, 108, 188, 27, 472,
1396 131, 28, 103, 103, 103, 107, 107, 107, 188, 531,
1397 108, 128, 128, 128, 131, 472, 21, 22, 22, 22,
1398 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
1399 599, 22, 22, 22, 22, 22, 29, 29, 29, 771,
1400 30, 30, 30, 31, 31, 31, 32, 32, 32, 814,
1401 29, 144, 22, 22, 30, 599, 139, 31, 126, 138,
1403 32, 135, 135, 135, 771, 144, 138, 141, 141, 141,
1404 139, 645, 126, 138, 598, 22, 33, 33, 33, 33,
1405 33, 33, 33, 33, 33, 33, 33, 33, 33, 814,
1406 33, 33, 33, 33, 33, 35, 35, 35, 139, 36,
1407 36, 36, 37, 37, 37, 1209, 126, 598, 645, 35,
1408 391, 33, 33, 36, 391, 684, 37, 768, 729, 33,
1409 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
1410 34, 34, 34, 730, 34, 34, 34, 34, 34, 38,
1411 38, 38, 729, 39, 39, 39, 40, 40, 40, 684,
1412 41, 41, 41, 38, 768, 34, 34, 39, 644, 1208,
1414 40, 901, 730, 34, 41, 42, 42, 42, 43, 43,
1415 43, 44, 44, 44, 148, 148, 148, 643, 901, 42,
1416 658, 644, 43, 643, 658, 44, 45, 45, 45, 45,
1417 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1418 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1419 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1420 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1421 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1422 45, 45, 45, 45, 45, 45, 45, 45, 47, 47,
1423 47, 48, 48, 48, 49, 49, 49, 50, 50, 50,
1425 659, 770, 47, 667, 659, 48, 668, 667, 49, 903,
1426 668, 50, 51, 51, 51, 51, 51, 51, 51, 51,
1427 51, 51, 51, 51, 51, 774, 51, 51, 51, 51,
1428 51, 53, 53, 53, 770, 54, 54, 54, 55, 55,
1429 55, 56, 56, 56, 150, 53, 903, 51, 51, 54,
1430 769, 150, 55, 810, 774, 56, 1192, 840, 150, 153,
1431 153, 153, 51, 52, 52, 52, 52, 52, 52, 52,
1432 52, 52, 52, 52, 52, 52, 810, 52, 52, 52,
1433 52, 52, 59, 59, 59, 769, 60, 60, 60, 61,
1434 61, 61, 62, 62, 62, 156, 59, 840, 52, 52,
1436 60, 992, 773, 61, 855, 855, 62, 992, 868, 156,
1437 165, 165, 165, 52, 57, 57, 57, 57, 57, 57,
1438 57, 57, 57, 57, 57, 57, 57, 685, 57, 57,
1439 57, 57, 57, 65, 65, 65, 773, 66, 66, 66,
1440 67, 67, 67, 68, 68, 68, 172, 65, 868, 57,
1441 57, 66, 166, 57, 67, 944, 808, 68, 775, 166,
1442 172, 1212, 57, 811, 57, 685, 166, 944, 1212, 57,
1443 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1444 58, 58, 58, 808, 58, 58, 58, 58, 58, 69,
1445 69, 69, 775, 70, 70, 70, 71, 71, 71, 72,
1447 72, 72, 811, 69, 935, 58, 58, 70, 167, 58,
1448 71, 973, 1287, 72, 169, 169, 169, 842, 58, 935,
1449 58, 844, 167, 973, 1287, 58, 63, 63, 63, 63,
1450 63, 63, 63, 63, 63, 63, 63, 63, 63, 772,
1451 63, 63, 63, 63, 63, 73, 73, 73, 842, 74,
1452 74, 74, 77, 77, 77, 78, 78, 78, 167, 73,
1453 844, 63, 63, 74, 177, 183, 77, 63, 1191, 78,
1454 772, 177, 63, 176, 176, 176, 772, 847, 177, 183,
1455 813, 63, 64, 64, 64, 64, 64, 64, 64, 64,
1456 64, 64, 64, 64, 64, 812, 64, 64, 64, 64,
1458 64, 79, 79, 79, 847, 80, 80, 80, 83, 83,
1459 83, 84, 84, 84, 813, 79, 812, 64, 64, 80,
1460 965, 197, 83, 64, 1175, 84, 1174, 815, 64, 180,
1461 180, 180, 190, 190, 190, 197, 965, 64, 75, 75,
1462 75, 75, 75, 75, 75, 75, 75, 75, 75, 75,
1463 75, 866, 75, 75, 75, 75, 75, 85, 85, 85,
1464 815, 86, 86, 86, 87, 87, 87, 88, 88, 88,
1465 191, 85, 846, 75, 75, 86, 1058, 191, 87, 845,
1466 1159, 88, 1058, 866, 191, 194, 194, 194, 75, 76,
1467 76, 76, 76, 76, 76, 76, 76, 76, 76, 76,
1469 76, 76, 845, 76, 76, 76, 76, 76, 89, 89,
1470 89, 846, 90, 90, 90, 91, 91, 91, 92, 92,
1471 92, 192, 89, 178, 76, 76, 90, 1158, 869, 91,
1472 843, 1213, 92, 816, 904, 192, 905, 178, 1213, 76,
1473 81, 81, 81, 81, 81, 81, 81, 81, 81, 81,
1474 81, 81, 81, 151, 81, 81, 81, 81, 81, 95,
1475 95, 95, 869, 96, 96, 96, 816, 151, 904, 178,
1476 211, 192, 843, 95, 905, 81, 81, 96, 203, 203,
1477 203, 97, 97, 81, 211, 81, 97, 81, 118, 151,
1478 208, 208, 208, 870, 97, 81, 82, 82, 82, 82,
1480 82, 82, 82, 82, 82, 82, 82, 82, 82, 1145,
1481 82, 82, 82, 82, 82, 97, 98, 98, 967, 870,
1482 118, 98, 205, 215, 215, 215, 118, 1022, 217, 98,
1483 118, 82, 82, 204, 222, 118, 205, 1022, 967, 82,
1484 204, 82, 217, 82, 219, 219, 219, 204, 222, 871,
1485 98, 82, 93, 93, 93, 93, 93, 93, 93, 93,
1486 93, 93, 93, 93, 93, 938, 93, 93, 93, 93,
1487 93, 206, 205, 937, 871, 216, 217, 232, 206, 229,
1488 229, 229, 216, 204, 232, 206, 1077, 93, 93, 216,
1489 230, 232, 237, 755, 136, 137, 1077, 230, 234, 234,
1491 234, 136, 938, 937, 230, 1144, 237, 755, 136, 137,
1492 93, 94, 94, 94, 94, 94, 94, 94, 94, 94,
1493 94, 94, 94, 94, 230, 94, 94, 94, 94, 94,
1494 136, 137, 241, 241, 241, 872, 136, 137, 231, 968,
1495 136, 137, 136, 137, 136, 137, 94, 94, 149, 242,
1496 939, 970, 231, 958, 900, 149, 242, 245, 245, 245,
1497 872, 958, 149, 242, 337, 337, 337, 902, 970, 94,
1498 936, 968, 231, 338, 338, 338, 345, 345, 345, 900,
1499 337, 346, 346, 346, 149, 353, 353, 353, 939, 338,
1500 149, 902, 345, 934, 149, 936, 149, 346, 149, 995,
1502 941, 353, 354, 354, 354, 357, 357, 357, 358, 358,
1503 358, 364, 364, 364, 959, 365, 365, 365, 354, 995,
1504 338, 357, 959, 1079, 358, 941, 934, 364, 971, 1079,
1505 346, 365, 367, 367, 367, 369, 369, 369, 370, 370,
1506 370, 371, 371, 371, 374, 374, 374, 367, 964, 1028,
1507 369, 974, 974, 354, 370, 1024, 365, 371, 358, 971,
1508 374, 375, 375, 375, 380, 380, 380, 381, 381, 381,
1509 384, 384, 384, 385, 385, 385, 1092, 375, 994, 1095,
1510 380, 1028, 1092, 381, 1024, 1095, 384, 964, 998, 385,
1511 1025, 371, 402, 402, 402, 997, 403, 403, 403, 405,
1513 405, 405, 406, 406, 406, 412, 412, 412, 402, 994,
1514 997, 375, 403, 998, 1025, 405, 411, 411, 411, 1027,
1515 381, 412, 413, 413, 413, 999, 385, 415, 415, 415,
1516 1127, 411, 419, 419, 419, 1027, 405, 1200, 413, 422,
1517 422, 422, 999, 415, 423, 423, 423, 419, 425, 425,
1518 425, 1075, 427, 427, 427, 422, 428, 428, 428, 1023,
1519 423, 429, 429, 429, 425, 1090, 415, 427, 431, 431,
1520 431, 1200, 428, 434, 434, 434, 1023, 429, 437, 437,
1521 437, 438, 438, 438, 431, 440, 440, 440, 434, 1075,
1522 442, 442, 442, 1060, 437, 1026, 1029, 438, 481, 481,
1524 481, 440, 1054, 1090, 425, 442, 443, 443, 443, 1060,
1525 443, 1029, 1026, 443, 445, 445, 445, 1054, 446, 446,
1526 446, 1133, 446, 1056, 431, 446, 447, 447, 447, 445,
1527 448, 448, 448, 450, 450, 450, 452, 452, 452, 1074,
1528 440, 1052, 447, 453, 453, 453, 448, 1126, 1056, 450,
1529 1133, 452, 454, 454, 454, 456, 456, 456, 1052, 453,
1530 458, 458, 458, 461, 461, 461, 1059, 1094, 454, 1074,
1531 1073, 456, 462, 462, 462, 458, 464, 464, 464, 461,
1532 467, 467, 467, 468, 468, 468, 1073, 1055, 462, 450,
1533 1094, 1059, 464, 470, 470, 470, 467, 1091, 1132, 468,
1535 473, 473, 473, 480, 480, 480, 486, 486, 486, 470,
1536 1078, 456, 488, 488, 488, 1132, 473, 473, 1076, 480,
1537 1055, 486, 1097, 487, 487, 487, 464, 487, 488, 1151,
1538 487, 492, 492, 492, 1076, 1091, 470, 493, 493, 493,
1539 1089, 493, 1057, 1078, 493, 1071, 492, 494, 494, 494,
1540 495, 495, 495, 496, 496, 496, 1089, 1057, 480, 488,
1541 1071, 1097, 494, 1098, 1151, 495, 498, 498, 498, 496,
1542 499, 499, 499, 1098, 499, 1113, 1195, 499, 500, 500,
1543 500, 498, 503, 503, 503, 1108, 495, 1124, 504, 504,
1544 504, 1108, 504, 1135, 500, 504, 1109, 503, 506, 506,
1546 506, 507, 507, 507, 509, 509, 509, 1195, 509, 1111,
1547 1114, 509, 1113, 506, 513, 513, 513, 507, 513, 1111,
1548 1114, 513, 516, 516, 516, 518, 518, 518, 519, 519,
1549 519, 1135, 519, 500, 506, 519, 1109, 1165, 516, 1110,
1550 518, 520, 520, 520, 1128, 522, 522, 522, 523, 523,
1551 523, 1129, 523, 1165, 1128, 523, 1136, 520, 1166, 507,
1552 522, 1248, 526, 526, 526, 528, 528, 528, 529, 529,
1553 529, 533, 533, 533, 540, 540, 540, 516, 526, 1110,
1554 528, 544, 544, 544, 529, 1147, 1130, 533, 1129, 1148,
1555 540, 545, 545, 545, 1136, 545, 520, 1166, 545, 1150,
1557 1248, 526, 548, 548, 548, 1153, 552, 552, 552, 1199,
1558 552, 1147, 533, 552, 1150, 1148, 540, 1154, 548, 1199,
1559 555, 555, 555, 1130, 529, 556, 556, 556, 533, 556,
1560 1169, 1156, 556, 1155, 544, 555, 557, 557, 557, 558,
1561 558, 558, 1157, 558, 1163, 1153, 558, 560, 560, 560,
1562 1155, 557, 563, 563, 563, 1171, 563, 1154, 548, 563,
1563 566, 566, 566, 560, 569, 569, 569, 1169, 569, 1156,
1564 1171, 569, 573, 573, 573, 1122, 566, 574, 574, 574,
1565 1157, 574, 1163, 1186, 574, 1183, 1161, 573, 576, 576,
1566 576, 577, 577, 577, 579, 579, 579, 1107, 581, 581,
1568 581, 566, 581, 1162, 576, 581, 584, 584, 584, 1186,
1569 579, 586, 586, 586, 1183, 586, 1178, 1164, 586, 593,
1570 593, 593, 584, 591, 591, 591, 594, 594, 594, 1161,
1571 594, 1179, 1172, 594, 593, 579, 1167, 1168, 576, 591,
1572 595, 595, 595, 602, 602, 602, 1162, 584, 1178, 603,
1573 603, 603, 607, 607, 607, 1164, 595, 1187, 602, 608,
1574 608, 608, 1173, 1179, 591, 603, 609, 609, 609, 613,
1575 613, 613, 1172, 613, 1167, 1168, 613, 616, 616, 616,
1576 1106, 616, 609, 1187, 616, 620, 620, 620, 595, 622,
1577 622, 622, 1176, 624, 624, 624, 1170, 624, 1105, 603,
1579 624, 620, 1173, 1104, 622, 1177, 609, 628, 628, 628,
1580 630, 630, 630, 632, 632, 632, 636, 636, 636, 1180,
1581 638, 638, 638, 628, 638, 622, 630, 638, 1229, 632,
1582 1176, 1182, 636, 1170, 641, 641, 641, 1182, 620, 647,
1583 647, 647, 1188, 1177, 648, 648, 648, 1181, 648, 632,
1584 641, 648, 1229, 1184, 647, 649, 649, 649, 1188, 1180,
1585 628, 650, 650, 650, 652, 652, 652, 653, 653, 653,
1586 636, 649, 654, 654, 654, 641, 661, 661, 661, 663,
1587 663, 663, 664, 664, 664, 1205, 664, 1181, 654, 664,
1588 1276, 1205, 661, 1184, 663, 670, 670, 670, 672, 672,
1590 672, 675, 675, 675, 676, 676, 676, 1276, 649, 1196,
1591 1309, 670, 1326, 654, 672, 1103, 1185, 675, 1326, 676,
1592 679, 679, 679, 681, 681, 681, 1309, 683, 683, 683,
1593 687, 687, 687, 1189, 687, 1220, 679, 687, 1190, 681,
1594 1196, 670, 675, 683, 690, 690, 690, 691, 691, 691,
1595 693, 693, 693, 694, 694, 694, 1185, 703, 703, 703,
1596 690, 705, 705, 705, 706, 706, 706, 1220, 706, 694,
1597 1189, 706, 681, 703, 679, 1190, 705, 716, 716, 716,
1598 719, 719, 719, 720, 720, 720, 1193, 721, 721, 721,
1599 1217, 721, 690, 716, 721, 1102, 719, 705, 720, 722,
1601 722, 722, 724, 724, 724, 725, 725, 725, 726, 726,
1602 726, 1088, 1087, 716, 722, 732, 732, 732, 724, 734,
1603 734, 734, 1194, 1217, 726, 1293, 1193, 719, 743, 743,
1604 743, 732, 744, 744, 744, 734, 1197, 745, 745, 745,
1605 1293, 745, 1198, 743, 745, 1086, 1203, 744, 766, 766,
1606 766, 732, 753, 753, 753, 754, 754, 754, 757, 757,
1607 757, 1201, 1194, 726, 728, 728, 728, 753, 758, 758,
1608 758, 754, 758, 1197, 757, 758, 761, 761, 761, 1198,
1609 728, 762, 762, 762, 1206, 762, 1207, 1204, 762, 1203,
1610 1214, 761, 763, 763, 763, 764, 764, 764, 1201, 757,
1612 1221, 728, 754, 728, 767, 767, 767, 763, 1202, 728,
1613 1206, 764, 1207, 728, 1223, 728, 1214, 728, 1085, 1210,
1614 767, 777, 777, 777, 784, 784, 784, 785, 785, 785,
1615 1204, 785, 1221, 1215, 785, 1224, 1211, 777, 1230, 784,
1616 786, 786, 786, 1240, 786, 1202, 1084, 786, 794, 794,
1617 794, 795, 795, 795, 1083, 795, 1210, 1223, 795, 1215,
1618 1252, 777, 1230, 794, 796, 796, 796, 800, 800, 800,
1619 801, 801, 801, 1211, 801, 1240, 1082, 801, 1224, 1070,
1620 796, 1069, 1222, 800, 804, 804, 804, 805, 805, 805,
1621 1231, 805, 1222, 1241, 805, 806, 806, 806, 1252, 804,
1623 818, 818, 818, 820, 820, 820, 823, 823, 823, 796,
1624 823, 806, 1218, 823, 1219, 800, 818, 1237, 820, 827,
1625 827, 827, 829, 829, 829, 1241, 829, 1068, 1067, 829,
1626 832, 832, 832, 1231, 827, 836, 836, 836, 1218, 820,
1627 1219, 818, 1238, 837, 837, 837, 832, 837, 1237, 1227,
1628 837, 836, 841, 841, 841, 848, 848, 848, 850, 850,
1629 850, 851, 851, 851, 1249, 852, 852, 852, 841, 1228,
1630 848, 848, 1066, 1238, 850, 1227, 836, 1288, 1232, 832,
1631 852, 853, 853, 853, 1235, 853, 1288, 1065, 853, 858,
1632 858, 858, 859, 859, 859, 1228, 859, 1260, 1270, 859,
1634 861, 861, 861, 1249, 858, 862, 862, 862, 863, 863,
1635 863, 1236, 850, 865, 865, 865, 861, 867, 867, 867,
1636 862, 1232, 1270, 863, 873, 873, 873, 1235, 1260, 865,
1637 878, 878, 878, 867, 874, 874, 874, 1250, 1246, 873,
1638 873, 862, 1274, 1064, 863, 1062, 861, 1251, 867, 874,
1639 874, 875, 875, 875, 1236, 875, 1257, 1247, 875, 877,
1640 877, 877, 865, 1257, 879, 879, 879, 875, 879, 1250,
1641 1051, 879, 886, 886, 886, 877, 887, 887, 887, 1251,
1642 887, 1246, 1274, 887, 890, 890, 890, 886, 891, 891,
1643 891, 892, 892, 892, 895, 895, 895, 1050, 877, 890,
1645 1247, 893, 893, 893, 891, 893, 892, 1255, 893, 895,
1646 896, 896, 896, 1253, 896, 1281, 1049, 896, 898, 898,
1647 898, 899, 899, 899, 906, 906, 906, 907, 907, 907,
1648 1271, 908, 908, 908, 1256, 908, 1261, 899, 908, 1255,
1649 906, 1048, 907, 907, 918, 918, 918, 908, 909, 909,
1650 909, 1253, 909, 1281, 1271, 909, 913, 913, 913, 918,
1651 906, 919, 919, 919, 909, 919, 1256, 1261, 919, 932,
1652 932, 932, 913, 920, 920, 920, 899, 906, 910, 910,
1653 910, 910, 910, 910, 910, 910, 910, 1047, 920, 910,
1654 1329, 1330, 910, 910, 910, 910, 910, 921, 921, 921,
1656 1330, 921, 1329, 1268, 921, 1080, 1080, 1080, 1046, 913,
1657 981, 981, 981, 910, 910, 911, 911, 911, 911, 911,
1658 911, 911, 911, 911, 1269, 981, 911, 1258, 1272, 911,
1659 911, 911, 911, 911, 1258, 1268, 922, 922, 922, 924,
1660 924, 924, 1273, 924, 1275, 1277, 924, 933, 933, 933,
1661 911, 911, 922, 928, 928, 928, 1269, 928, 1279, 1272,
1662 928, 1278, 1285, 933, 940, 940, 940, 942, 942, 942,
1663 943, 943, 943, 1273, 943, 1286, 1277, 943, 1283, 1296,
1664 940, 1280, 1279, 942, 1275, 1283, 943, 954, 954, 954,
1665 1298, 954, 1278, 1285, 954, 940, 946, 946, 946, 946,
1667 946, 946, 946, 946, 946, 1280, 1286, 946, 1282, 1347,
1668 946, 946, 946, 946, 946, 957, 957, 957, 1296, 957,
1669 1042, 1347, 957, 1099, 1099, 1099, 949, 949, 949, 1291,
1670 1298, 946, 946, 947, 947, 947, 947, 947, 947, 947,
1671 947, 947, 949, 1339, 947, 1284, 1282, 947, 947, 947,
1672 947, 947, 1284, 1300, 962, 962, 962, 966, 966, 966,
1673 969, 969, 969, 972, 972, 972, 1291, 1289, 947, 947,
1674 962, 949, 1307, 966, 1289, 1339, 969, 1300, 1031, 972,
1675 978, 978, 978, 980, 980, 980, 982, 982, 982, 983,
1676 983, 983, 1292, 1290, 972, 1294, 978, 978, 1307, 980,
1678 1290, 982, 1294, 1299, 983, 984, 984, 984, 991, 991,
1679 991, 993, 993, 993, 996, 996, 996, 1003, 1003, 1003,
1680 984, 1005, 1005, 1005, 991, 983, 1297, 993, 1295, 1292,
1681 996, 1341, 1351, 1003, 980, 1295, 1030, 1005, 1006, 1006,
1682 1006, 1341, 993, 1299, 1351, 996, 1020, 1007, 1007, 1007,
1683 1301, 1007, 1314, 1006, 1007, 1008, 1008, 1008, 1003, 1009,
1684 1009, 1009, 1305, 1009, 1306, 1297, 1009, 1010, 1010, 1010,
1685 1008, 1011, 1011, 1011, 1301, 1011, 1005, 1308, 1011, 1013,
1686 1013, 1013, 1010, 1014, 1014, 1014, 1305, 1014, 1306, 1314,
1687 1014, 1021, 1021, 1021, 1013, 1032, 1032, 1032, 1033, 1033,
1689 1033, 1315, 1033, 1308, 1324, 1033, 1302, 1021, 1036, 1036,
1690 1036, 1032, 1036, 1302, 1303, 1036, 1039, 1039, 1039, 1019,
1691 1039, 1303, 1021, 1039, 1043, 1043, 1043, 1325, 1043, 1018,
1692 1348, 1043, 1053, 1053, 1053, 1063, 1063, 1063, 1315, 1348,
1693 1032, 1352, 1072, 1072, 1072, 1310, 1072, 1324, 1053, 1072,
1694 1352, 1063, 1081, 1081, 1081, 1093, 1093, 1093, 1072, 1096,
1695 1096, 1096, 1100, 1100, 1100, 1101, 1101, 1101, 1081, 1310,
1696 1325, 1093, 1112, 1112, 1112, 1096, 1311, 1017, 1100, 1016,
1697 1101, 1312, 1115, 1115, 1115, 1063, 1115, 1389, 1112, 1115,
1698 1116, 1116, 1116, 1117, 1117, 1117, 1331, 1313, 1115, 1316,
1700 1311, 1081, 1015, 1112, 1012, 1312, 1116, 1004, 1317, 1117,
1701 1118, 1118, 1118, 1120, 1120, 1120, 1121, 1121, 1121, 1322,
1702 1121, 1313, 1331, 1121, 1332, 1318, 1118, 1389, 1120, 1131,
1703 1131, 1131, 1134, 1134, 1134, 1137, 1137, 1137, 1316, 1138,
1704 1138, 1138, 1340, 1138, 1319, 1131, 1138, 1317, 1134, 1318,
1705 1332, 1137, 1139, 1139, 1139, 1138, 1139, 1323, 1322, 1139,
1706 1146, 1146, 1146, 1149, 1149, 1149, 1137, 1149, 1319, 1327,
1707 1149, 1152, 1152, 1152, 1340, 1152, 1146, 1333, 1152, 1149,
1708 1002, 1160, 1160, 1160, 1345, 1160, 1328, 1152, 1160, 1216,
1709 1216, 1216, 1225, 1225, 1225, 1001, 1323, 1160, 1226, 1226,
1711 1226, 1333, 1233, 1233, 1233, 1216, 1233, 1225, 1327, 1233,
1712 1234, 1234, 1234, 1226, 1239, 1239, 1239, 1335, 1233, 1242,
1713 1242, 1242, 1244, 1244, 1244, 1328, 1234, 1345, 1000, 1334,
1714 1239, 1243, 1243, 1243, 1242, 1243, 1357, 1244, 1243, 1245,
1715 1245, 1245, 990, 1245, 1336, 1357, 1245, 1254, 1254, 1254,
1716 1259, 1259, 1259, 1334, 1259, 1353, 1335, 1259, 1262, 1262,
1717 1262, 1337, 1262, 1254, 1338, 1262, 1259, 1265, 1265, 1265,
1718 1342, 1265, 1343, 1346, 1265, 1304, 1304, 1304, 1254, 1320,
1719 1320, 1320, 1349, 1336, 1350, 1337, 1353, 1354, 1338, 1360,
1720 1361, 1304, 1356, 1363, 1342, 1320, 1343, 1344, 1344, 1344,
1722 1366, 1355, 1355, 1355, 1356, 1363, 1349, 1366, 1350, 1358,
1723 1358, 1358, 1367, 1344, 1364, 1370, 1346, 1355, 1354, 1367,
1724 1377, 1360, 1361, 1364, 1371, 1358, 1362, 1362, 1362, 1365,
1725 1365, 1365, 1368, 1368, 1368, 1379, 1368, 1390, 1378, 1368,
1726 1380, 989, 1362, 1387, 1377, 1365, 1370, 1388, 1368, 1369,
1727 1369, 1369, 1372, 1372, 1372, 1371, 1374, 1374, 1374, 1375,
1728 1375, 1375, 1378, 1391, 1392, 1369, 1393, 1383, 1372, 1381,
1729 1381, 1381, 1374, 1379, 1383, 1375, 1384, 1390, 1380, 1385,
1730 1385, 1385, 1387, 1384, 1394, 1381, 1388, 1391, 1392, 1395,
1731 1393, 1396, 1397, 1398, 1399, 1385, 1400, 1401, 1402, 1406,
1733 1407, 1403, 1409, 1404, 1408, 1400, 1399, 1412, 1394, 1413,
1734 1423, 1409, 1424, 1405, 1405, 1405, 1408, 1410, 1410, 1410,
1735 1414, 1414, 1414, 1401, 1402, 1403, 1395, 1404, 1396, 1405,
1736 1415, 1397, 1398, 1410, 1416, 1421, 1414, 988, 1422, 1412,
1737 1419, 1413, 1406, 1407, 1417, 1417, 1417, 1419, 1420, 1423,
1738 1425, 1424, 1426, 987, 1427, 1420, 986, 985, 1428, 1421,
1739 1417, 1415, 1422, 979, 977, 1416, 1427, 1428, 1429, 1429,
1740 1429, 1430, 1430, 1430, 1425, 975, 1426, 961, 960, 953,
1741 952, 951, 950, 948, 1429, 931, 927, 1430, 1433, 1433,
1742 1433, 1433, 1433, 1433, 1433, 1434, 1434, 1434, 1434, 1434,
1744 1434, 1434, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1436,
1745 1436, 1436, 1436, 1436, 1436, 1436, 1437, 1437, 1437, 1437,
1746 1437, 1437, 1437, 1438, 1438, 1438, 1438, 1438, 1438, 1438,
1747 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1440, 1440, 1440,
1748 1440, 1440, 1440, 1440, 1441, 1441, 1441, 1441, 1441, 1441,
1749 1441, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1443, 1443,
1750 1443, 1443, 1443, 1443, 1443, 1444, 1444, 1444, 1444, 1444,
1751 1444, 1444, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1446,
1752 1446, 1446, 1446, 1446, 1446, 1446, 1447, 1447, 1447, 1447,
1753 1447, 1447, 1447, 1448, 1448, 1448, 1448, 1448, 1448, 1448,
1755 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1450, 1450, 1450,
1756 1450, 1450, 1450, 1450, 1451, 1451, 1451, 1451, 1451, 1451,
1757 1451, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1453, 1453,
1758 1453, 1453, 1453, 1453, 1453, 1454, 1454, 1454, 1454, 1454,
1759 1454, 1454, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1456,
1760 1456, 1456, 1456, 1456, 1456, 1456, 1457, 1457, 1457, 917,
1761 1457, 1458, 1458, 1458, 916, 1458, 1459, 1459, 1459, 915,
1762 1459, 1460, 1460, 1460, 914, 1460, 1461, 1461, 1461, 912,
1763 1461, 1462, 1462, 1462, 897, 1462, 1463, 1463, 1463, 894,
1764 1463, 1464, 1464, 1464, 885, 1464, 1465, 1465, 1465, 884,
1766 1465, 1466, 1466, 1466, 1466, 1466, 883, 1466, 1467, 882,
1767 1467, 1468, 876, 1468, 1469, 864, 1469, 1470, 860, 1470,
1768 1471, 857, 1471, 1472, 856, 1472, 1473, 854, 1473, 1474,
1769 849, 1474, 1475, 835, 1475, 1476, 1476, 1476, 1476, 1476,
1770 1476, 1476, 1477, 834, 833, 1477, 1478, 1478, 1478, 1478,
1771 1478, 1478, 1479, 1479, 1479, 1479, 1479, 1479, 1480, 1480,
1772 1480, 1480, 1480, 1480, 1481, 1481, 1481, 1481, 1481, 1481,
1773 1482, 1482, 1482, 1482, 1482, 1482, 1483, 1483, 1483, 1483,
1774 1483, 1483, 1484, 1484, 1484, 1484, 1484, 1484, 1485, 1485,
1775 1485, 1485, 1485, 1485, 1486, 1486, 1486, 1486, 1486, 1486,
1777 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1488, 1488, 1488,
1778 1488, 1488, 1488, 1488, 1489, 1489, 1489, 1489, 1489, 1489,
1779 1489, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1491, 1491,
1780 1491, 1491, 1491, 1491, 1491, 1492, 1492, 1492, 1492, 1492,
1781 1492, 1492, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 828,
1782 826, 822, 821, 819, 817, 799, 798, 797, 791, 790,
1783 789, 781, 780, 779, 778, 776, 756, 751, 749, 748,
1784 747, 746, 741, 739, 738, 737, 736, 733, 731, 723,
1785 718, 717, 715, 714, 713, 712, 711, 710, 709, 702,
1786 701, 700, 699, 698, 697, 696, 695, 692, 686, 682,
1788 680, 678, 677, 674, 671, 669, 666, 665, 662, 660,
1789 657, 656, 655, 651, 646, 642, 637, 635, 634, 633,
1790 631, 629, 627, 626, 625, 623, 621, 619, 618, 617,
1791 612, 611, 610, 606, 605, 604, 601, 596, 592, 590,
1792 589, 585, 580, 578, 575, 572, 568, 567, 562, 559,
1793 551, 550, 549, 543, 542, 541, 539, 538, 535, 532,
1794 530, 527, 525, 524, 521, 517, 512, 508, 505, 502,
1795 501, 497, 491, 490, 489, 485, 484, 483, 482, 479,
1796 478, 477, 476, 471, 466, 465, 460, 459, 457, 451,
1797 444, 441, 436, 435, 433, 432, 426, 421, 420, 418,
1799 417, 416, 410, 409, 408, 407, 401, 400, 399, 396,
1800 395, 394, 392, 388, 386, 383, 382, 379, 378, 377,
1801 376, 373, 372, 368, 366, 363, 362, 361, 360, 359,
1802 356, 355, 352, 351, 350, 349, 348, 347, 344, 343,
1803 342, 341, 340, 339, 336, 335, 333, 332, 331, 330,
1804 329, 325, 323, 322, 321, 320, 319, 318, 315, 314,
1805 313, 312, 311, 310, 307, 306, 303, 302, 301, 300,
1806 299, 296, 295, 294, 293, 292, 291, 290, 287, 286,
1807 283, 282, 281, 280, 279, 278, 277, 276, 273, 272,
1808 269, 268, 267, 266, 265, 264, 263, 260, 259, 258,
1810 257, 256, 250, 249, 247, 244, 243, 239, 235, 227,
1811 226, 225, 224, 220, 213, 209, 201, 200, 199, 195,
1812 187, 186, 185, 181, 174, 170, 163, 162, 161, 160,
1813 159, 158, 154, 146, 142, 133, 129, 125, 124, 123,
1814 117, 116, 114, 111, 99, 1432, 1432, 1432, 1432, 1432,
1815 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432,
1816 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432,
1817 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432,
1818 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432,
1819 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432,
1821 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432
1824 /* Table of booleans, true if rule could match eol. */
1825 static yyconst flex_int32_t yy_rule_can_match_eol[190] =
1827 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1828 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0,
1829 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1830 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0,
1831 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1832 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1,
1833 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1,
1834 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1,
1835 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
1836 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, };
1838 static yy_state_type yy_last_accepting_state;
1839 static char *yy_last_accepting_cpos;
1841 extern int surf_parse__flex_debug;
1842 int surf_parse__flex_debug = 0;
1844 /* The intent behind this definition is that it'll catch
1845 * any uses of REJECT which flex missed.
1847 #define REJECT reject_used_but_not_detected
1848 #define yymore() yymore_used_but_not_detected
1849 #define YY_MORE_ADJ 0
1850 #define YY_RESTORE_YY_MORE_OFFSET
1851 char *surf_parse_text;
1852 /* Validating XML processor for surf/surfxml.dtd.
1853 * Generated 2007/08/09 10:57:49.
1855 * This program was generated with the FleXML XML processor generator.
1856 * FleXML is Copyright (C) 1999-2005 Kristoffer Rose. All rights reserved.
1857 * FleXML is Copyright (C) 2003-2006 Martin Quinson. All rights reserved.
1858 * (Id: flexml.pl,v 1.61 2006/09/13 16:34:33 wdowling Exp).
1860 * There are two, intertwined parts to this program, part A and part B.
1865 * Some parts, here collectively called "Part A", are found in the
1866 * FleXML package. They are Copyright (C) 1999-2005 Kristoffer Rose
1867 * and Copyright (C) 2003-2006 Martin Quinson. All rights reserved.
1869 * You can redistribute, use, perform, display and/or modify "Part A"
1870 * provided the following two conditions hold:
1872 * 1. The program is distributed WITHOUT ANY WARRANTY from the author of
1873 * FleXML; without even the implied warranty of MERCHANTABILITY or
1874 * FITNESS FOR A PARTICULAR PURPOSE.
1876 * 2. The program distribution conditions do not in any way affect the
1877 * distribution conditions of the FleXML system used to generate this
1878 * file or any version of FleXML derived from that system.
1880 * Notice that these are explicit rights granted to you for files
1881 * generated by the FleXML system. For your rights in connection with
1882 * the FleXML system itself please consult the GNU General Public License.
1887 * The other parts, here collectively called "Part B", and which came
1888 * from the DTD used by FleXML to generate this program, can be
1889 * distributed (or not, as the case may be) under the terms of whoever
1890 * wrote them, provided these terms respect and obey the two conditions
1891 * above under the heading "Part A".
1893 * The author of and contributors to FleXML specifically disclaim
1894 * any copyright interest in "Part B", unless "Part B" was written
1895 * by the author of or contributors to FleXML.
1899 /* Version strings. */
1900 const char rcs_surfxml_flexml_skeleton[] =
1901 "$" "Id: skel,v 1.38 2006/09/12 18:05:45 wdowling Exp $";
1902 const char rcs_surfxml_flexml[] =
1903 "$" "Id: flexml.pl,v 1.61 2006/09/13 16:34:33 wdowling Exp $";
1906 #if defined(_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__TOS_WIN__)
1907 # ifndef __STRICT_ANSI__
1909 # include <process.h>
1912 # include <unistd.h>
1920 #ifndef FLEXML_INDEXSTACKSIZE
1921 #define FLEXML_INDEXSTACKSIZE 1000
1924 /* Generated definitions. */
1925 #define FLEXML_yylineno
1926 #ifndef FLEXML_BUFFERSTACKSIZE
1927 #define FLEXML_BUFFERSTACKSIZE 1000000
1929 #define FLEXML_NEED_BUFFERLIT
1931 /* XML processor api. */
1932 /* FleXML-provided data. */
1933 int surfxml_pcdata_ix;
1934 extern char *surfxml_bufferstack;
1935 #define surfxml_pcdata (surfxml_bufferstack + surfxml_pcdata_ix)
1936 AT_surfxml_network_link_bandwidth AX_surfxml_network_link_bandwidth;
1937 #define A_surfxml_network_link_bandwidth (surfxml_bufferstack + AX_surfxml_network_link_bandwidth)
1938 AT_surfxml_router_name AX_surfxml_router_name;
1939 #define A_surfxml_router_name (surfxml_bufferstack + AX_surfxml_router_name)
1940 AT_surfxml_process_host AX_surfxml_process_host;
1941 #define A_surfxml_process_host (surfxml_bufferstack + AX_surfxml_process_host)
1942 AT_surfxml_network_link_latency_file AX_surfxml_network_link_latency_file;
1943 #define A_surfxml_network_link_latency_file (surfxml_bufferstack + AX_surfxml_network_link_latency_file)
1944 AT_surfxml_route_impact_on_dst_with_other_send AX_surfxml_route_impact_on_dst_with_other_send;
1945 #define A_surfxml_route_impact_on_dst_with_other_send (surfxml_bufferstack + AX_surfxml_route_impact_on_dst_with_other_send)
1946 AT_surfxml_cpu_interference_send_recv AX_surfxml_cpu_interference_send_recv;
1947 #define A_surfxml_cpu_interference_send_recv (surfxml_bufferstack + AX_surfxml_cpu_interference_send_recv)
1948 AT_surfxml_route_impact_on_dst AX_surfxml_route_impact_on_dst;
1949 #define A_surfxml_route_impact_on_dst (surfxml_bufferstack + AX_surfxml_route_impact_on_dst)
1950 AT_surfxml_platform_description_version AX_surfxml_platform_description_version;
1951 #define A_surfxml_platform_description_version (surfxml_bufferstack + AX_surfxml_platform_description_version)
1952 AT_surfxml_route_impact_on_src_with_other_recv AX_surfxml_route_impact_on_src_with_other_recv;
1953 #define A_surfxml_route_impact_on_src_with_other_recv (surfxml_bufferstack + AX_surfxml_route_impact_on_src_with_other_recv)
1954 AT_surfxml_route_element_name AX_surfxml_route_element_name;
1955 #define A_surfxml_route_element_name (surfxml_bufferstack + AX_surfxml_route_element_name)
1956 AT_surfxml_process_start_time AX_surfxml_process_start_time;
1957 #define A_surfxml_process_start_time (surfxml_bufferstack + AX_surfxml_process_start_time)
1958 AT_surfxml_process_function AX_surfxml_process_function;
1959 #define A_surfxml_process_function (surfxml_bufferstack + AX_surfxml_process_function)
1960 AT_surfxml_cpu_state AX_surfxml_cpu_state;
1961 #define A_surfxml_cpu_state AX_surfxml_cpu_state
1962 AT_surfxml_cpu_interference_send AX_surfxml_cpu_interference_send;
1963 #define A_surfxml_cpu_interference_send (surfxml_bufferstack + AX_surfxml_cpu_interference_send)
1964 AT_surfxml_network_link_bandwidth_file AX_surfxml_network_link_bandwidth_file;
1965 #define A_surfxml_network_link_bandwidth_file (surfxml_bufferstack + AX_surfxml_network_link_bandwidth_file)
1966 AT_surfxml_cpu_name AX_surfxml_cpu_name;
1967 #define A_surfxml_cpu_name (surfxml_bufferstack + AX_surfxml_cpu_name)
1968 AT_surfxml_process_kill_time AX_surfxml_process_kill_time;
1969 #define A_surfxml_process_kill_time (surfxml_bufferstack + AX_surfxml_process_kill_time)
1970 AT_surfxml_network_link_state AX_surfxml_network_link_state;
1971 #define A_surfxml_network_link_state AX_surfxml_network_link_state
1972 AT_surfxml_cpu_availability_file AX_surfxml_cpu_availability_file;
1973 #define A_surfxml_cpu_availability_file (surfxml_bufferstack + AX_surfxml_cpu_availability_file)
1974 AT_surfxml_argument_value AX_surfxml_argument_value;
1975 #define A_surfxml_argument_value (surfxml_bufferstack + AX_surfxml_argument_value)
1976 AT_surfxml_route_src AX_surfxml_route_src;
1977 #define A_surfxml_route_src (surfxml_bufferstack + AX_surfxml_route_src)
1978 AT_surfxml_route_impact_on_src AX_surfxml_route_impact_on_src;
1979 #define A_surfxml_route_impact_on_src (surfxml_bufferstack + AX_surfxml_route_impact_on_src)
1980 AT_surfxml_cpu_max_outgoing_rate AX_surfxml_cpu_max_outgoing_rate;
1981 #define A_surfxml_cpu_max_outgoing_rate (surfxml_bufferstack + AX_surfxml_cpu_max_outgoing_rate)
1982 AT_surfxml_cpu_availability AX_surfxml_cpu_availability;
1983 #define A_surfxml_cpu_availability (surfxml_bufferstack + AX_surfxml_cpu_availability)
1984 AT_surfxml_cpu_interference_recv AX_surfxml_cpu_interference_recv;
1985 #define A_surfxml_cpu_interference_recv (surfxml_bufferstack + AX_surfxml_cpu_interference_recv)
1986 AT_surfxml_network_link_name AX_surfxml_network_link_name;
1987 #define A_surfxml_network_link_name (surfxml_bufferstack + AX_surfxml_network_link_name)
1988 AT_surfxml_cpu_power AX_surfxml_cpu_power;
1989 #define A_surfxml_cpu_power (surfxml_bufferstack + AX_surfxml_cpu_power)
1990 AT_surfxml_include_file AX_surfxml_include_file;
1991 #define A_surfxml_include_file (surfxml_bufferstack + AX_surfxml_include_file)
1992 AT_surfxml_network_link_sharing_policy AX_surfxml_network_link_sharing_policy;
1993 #define A_surfxml_network_link_sharing_policy AX_surfxml_network_link_sharing_policy
1994 AT_surfxml_route_dst AX_surfxml_route_dst;
1995 #define A_surfxml_route_dst (surfxml_bufferstack + AX_surfxml_route_dst)
1996 AT_surfxml_network_link_latency AX_surfxml_network_link_latency;
1997 #define A_surfxml_network_link_latency (surfxml_bufferstack + AX_surfxml_network_link_latency)
1998 AT_surfxml_cpu_state_file AX_surfxml_cpu_state_file;
1999 #define A_surfxml_cpu_state_file (surfxml_bufferstack + AX_surfxml_cpu_state_file)
2000 AT_surfxml_network_link_state_file AX_surfxml_network_link_state_file;
2001 #define A_surfxml_network_link_state_file (surfxml_bufferstack + AX_surfxml_network_link_state_file)
2005 # define ENTER(state) debug_enter(state,#state)
2006 # define LEAVE debug_leave()
2007 # define SET(state) debug_set(state,#state)
2008 static void debug_enter(int, const char*);
2009 static void debug_leave(void);
2010 static void debug_set(int, const char*);
2012 # define ENTER(state) (yy_push_state(state))
2013 # define LEAVE (yy_pop_state())
2014 # define SET(state) BEGIN(state)
2017 /* Generic actions. */
2018 #define SKIP /*skip*/
2019 #define SUCCEED CLEANUP; return 0
2021 #define FAIL return fail
2022 static int fail(const char*, ...);
2024 enum {flexml_max_err_msg_size = 512};
2025 static char flexml_err_msg[flexml_max_err_msg_size];
2026 const char * surfxml_parse_err_msg()
2028 return flexml_err_msg;
2030 static void reset_surfxml_parse_err_msg()
2032 flexml_err_msg[0] = '\0';
2036 static void cleanup(void);
2037 #define CLEANUP cleanup()
2039 /* Text buffer stack handling. */
2040 char *surfxml_bufferstack = NULL;
2041 static int blimit = FLEXML_BUFFERSTACKSIZE;
2042 static int bnext = 1;
2044 static int *indexstack = NULL;
2045 static int ilimit = FLEXML_INDEXSTACKSIZE;
2046 static int inext = 1;
2048 #define BUFFERSET(P) (P = bnext)
2049 #define BUFFERPUTC(C) (ck_blimit(), surfxml_bufferstack[bnext++] = (C))
2050 #define BUFFERDONE (BUFFERPUTC('\0'))
2052 #define BUFFERLITERAL(C, P) surfxml_bufferliteral(C, &(P), surf_parse_text)
2054 /* after this is called, there are at least 2 slots left in the stack */
2055 static int ck_blimit()
2057 if (bnext >= blimit) {
2058 blimit += FLEXML_BUFFERSTACKSIZE + 2;
2060 char *temp = (char *) realloc(surfxml_bufferstack, blimit);
2062 surfxml_bufferstack = temp;
2068 /* after this is called, there are at least 2 slots left in the stack */
2069 static int ck_ilimit()
2071 if (inext >= ilimit) {
2072 ilimit += FLEXML_INDEXSTACKSIZE + 2;
2074 int *temp = (int *) realloc(indexstack, ilimit);
2082 #ifdef FLEXML_NEED_BUFFERLIT
2083 static void surfxml_bufferliteral(char c, int* pp, const char* text)
2085 const char *s = (c ? strchr(text,c) : text-1), *e = strrchr(text,c);
2086 assert(s <= e); BUFFERSET(*pp);
2088 if (isspace(*s) && c) { BUFFERPUTC(' '); while (isspace(*s)) ++s; }
2089 else BUFFERPUTC(*s);
2095 static void pushbuffer(int p)
2098 indexstack[inext++] = p;
2099 indexstack[inext++] = bnext;
2102 static int popbuffer(void)
2105 bnext = indexstack[--inext];
2106 return indexstack[--inext];
2109 /* General internal entities are `unput' back onto the input stream... */
2110 #define ENTITYTEXT(T) \
2111 { char *s = (T), *e = s+strlen(s);\
2112 while (--e >= s) { unput(*e); }}
2114 /* Flex standard options. */
2115 #define YY_NO_INPUT 1
2116 /* Flex user-requested options. */
2117 /* XML character classes (currently restricted to ASCII). */
2118 /* "Common syntactic structures." */
2119 /* "Names and Tokens." */
2120 /* Miscellaneous. */
2121 /* Parser states (flex `exclusive start conditions'):
2123 * PROLOG the XML prolog of the document before <?xml...>
2124 * DOCTYPE the XML prolog of the document after <?xml...>
2125 * EPILOG after the root element
2126 * INCOMMENT inside an XML comment <!--....-->
2127 * INPI inside an XML PI <?...?>
2128 * VALUE1 inside a '...'-delimited literal
2129 * VALUE2 inside a "..."-delimited literal
2130 * CDATA inside a <![CDATA[...] ]> section.
2131 * ROOT_<tag> expect root element <tag>
2132 * AL_<tag> inside the attribute list for <tag>
2133 * IN_<tag> inside a <tag> with element contents (ready for end tag)
2134 * IMPOSSIBLE dummy to permit disabling rules; must be last
2138 const char* *surfxml_statenames=NULL;
2149 #define ROOT_surfxml_platform_description 9
2150 #define AL_surfxml_platform_description 10
2151 #define S_surfxml_platform_description 11
2152 #define S_surfxml_platform_description_1 12
2153 #define S_surfxml_platform_description_2 13
2154 #define E_surfxml_platform_description 14
2155 #define ROOT_surfxml_include 15
2156 #define AL_surfxml_include 16
2157 #define S_surfxml_include 17
2158 #define S_surfxml_include_1 18
2159 #define S_surfxml_include_2 19
2160 #define E_surfxml_include 20
2161 #define ROOT_surfxml_cpu 21
2162 #define AL_surfxml_cpu 22
2163 #define E_surfxml_cpu 23
2164 #define ROOT_surfxml_router 24
2165 #define AL_surfxml_router 25
2166 #define E_surfxml_router 26
2167 #define ROOT_surfxml_network_link 27
2168 #define AL_surfxml_network_link 28
2169 #define E_surfxml_network_link 29
2170 #define ROOT_surfxml_route 30
2171 #define AL_surfxml_route 31
2172 #define S_surfxml_route 32
2173 #define S_surfxml_route_1 33
2174 #define S_surfxml_route_2 34
2175 #define E_surfxml_route 35
2176 #define ROOT_surfxml_route_element 36
2177 #define AL_surfxml_route_element 37
2178 #define E_surfxml_route_element 38
2179 #define ROOT_surfxml_process 39
2180 #define AL_surfxml_process 40
2181 #define S_surfxml_process 41
2182 #define S_surfxml_process_1 42
2183 #define S_surfxml_process_2 43
2184 #define E_surfxml_process 44
2185 #define ROOT_surfxml_argument 45
2186 #define AL_surfxml_argument 46
2187 #define E_surfxml_argument 47
2188 #define IMPOSSIBLE 48
2190 #ifndef YY_NO_UNISTD_H
2191 /* Special case for "unistd.h", since it is non-ANSI. We include it way
2192 * down here because we want the user's section 1 to have been scanned first.
2193 * The user has a chance to override it with an option.
2195 #if defined(_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__TOS_WIN__)
2196 # ifndef __STRICT_ANSI__
2198 # include <process.h>
2201 # include <unistd.h>
2205 #ifndef YY_EXTRA_TYPE
2206 #define YY_EXTRA_TYPE void *
2209 static int yy_init_globals (void );
2211 /* Macros after this point can all be overridden by user definitions in
2215 #ifndef YY_SKIP_YYWRAP
2217 extern "C" int surf_parse_wrap (void );
2219 extern int surf_parse_wrap (void );
2224 static void yy_flex_strncpy (char *,yyconst char *,int );
2227 #ifdef YY_NEED_STRLEN
2228 static int yy_flex_strlen (yyconst char * );
2234 static int yyinput (void );
2236 static int input (void );
2241 static int yy_start_stack_ptr = 0;
2242 static int yy_start_stack_depth = 0;
2243 static int *yy_start_stack = NULL;
2245 static void yy_push_state (int new_state );
2247 static void yy_pop_state (void );
2249 /* Amount of stuff to slurp up with each read. */
2250 #ifndef YY_READ_BUF_SIZE
2251 #define YY_READ_BUF_SIZE 8192
2254 /* Copy whatever the last rule matched to the standard output. */
2256 /* This used to be an fputs(), but since the string might contain NUL's,
2257 * we now use fwrite().
2259 #define ECHO (void) fwrite( surf_parse_text, surf_parse_leng, 1, surf_parse_out )
2262 /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
2263 * is returned in "result".
2266 #define YY_INPUT(buf,result,max_size) \
2267 if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
2271 for ( n = 0; n < max_size && \
2272 (c = getc( surf_parse_in )) != EOF && c != '\n'; ++n ) \
2273 buf[n] = (char) c; \
2275 buf[n++] = (char) c; \
2276 if ( c == EOF && ferror( surf_parse_in ) ) \
2277 YY_FATAL_ERROR( "input in flex scanner failed" ); \
2283 while ( (result = fread(buf, 1, max_size, surf_parse_in))==0 && ferror(surf_parse_in)) \
2285 if( errno != EINTR) \
2287 YY_FATAL_ERROR( "input in flex scanner failed" ); \
2291 clearerr(surf_parse_in); \
2298 /* No semi-colon after return; correct usage is to write "yyterminate();" -
2299 * we don't want an extra ';' after the "return" because that will cause
2300 * some compilers to complain about unreachable statements.
2303 #define yyterminate() return YY_NULL
2306 /* Number of entries by which start-condition stack grows. */
2307 #ifndef YY_START_STACK_INCR
2308 #define YY_START_STACK_INCR 25
2311 /* Report a fatal error. */
2312 #ifndef YY_FATAL_ERROR
2313 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
2316 /* end tables serialization structures and prototypes */
2318 /* Default declaration of generated scanner - a define so the user can
2319 * easily add parameters.
2322 #define YY_DECL_IS_OURS 1
2324 extern int surf_parse_lex (void);
2326 #define YY_DECL int surf_parse_lex (void)
2327 #endif /* !YY_DECL */
2329 /* Code executed at the beginning of each rule, after surf_parse_text and surf_parse_leng
2332 #ifndef YY_USER_ACTION
2333 #define YY_USER_ACTION
2336 /* Code executed at the end of each rule. */
2338 #define YY_BREAK break;
2341 #define YY_RULE_SETUP \
2344 /** The main scanner function which does all the work.
2348 register yy_state_type yy_current_state;
2349 register char *yy_cp, *yy_bp;
2350 register int yy_act;
2352 /* Bypass Flex's default INITIAL state and begin by parsing the XML prolog. */
2354 reset_surfxml_parse_err_msg();
2355 surfxml_bufferstack = (char *) malloc(FLEXML_BUFFERSTACKSIZE);
2356 assert(surfxml_bufferstack);
2360 for (i = 0; i < blimit; i++) {
2361 surfxml_bufferstack[i] = '\377';
2365 surfxml_bufferstack[0] = '\0';
2366 indexstack = (int *) malloc(FLEXML_INDEXSTACKSIZE * sizeof(int));
2372 surfxml_bufferliteral('\0', &bnext, "0.0");
2373 surfxml_bufferliteral('\0', &bnext, "1.0");
2374 surfxml_bufferliteral('\0', &bnext, "1.0");
2375 surfxml_bufferliteral('\0', &bnext, "1.0");
2376 surfxml_bufferliteral('\0', &bnext, "1.0");
2377 surfxml_bufferliteral('\0', &bnext, "-1.0");
2378 surfxml_bufferliteral('\0', &bnext, "0.0");
2379 surfxml_bufferliteral('\0', &bnext, "0.0");
2380 surfxml_bufferliteral('\0', &bnext, "0.0");
2381 surfxml_bufferliteral('\0', &bnext, "0.0");
2382 surfxml_bufferliteral('\0', &bnext, "0.0");
2383 surfxml_bufferliteral('\0', &bnext, "-1.0");
2384 surfxml_bufferliteral('\0', &bnext, "-1.0");
2385 if(!surfxml_statenames) {surfxml_statenames= (const char **)calloc(IMPOSSIBLE,sizeof(char*));
2386 surfxml_statenames[PROLOG] = NULL;
2387 surfxml_statenames[DOCTYPE] = NULL;
2388 surfxml_statenames[EPILOG] = NULL;
2389 surfxml_statenames[INCOMMENT] = NULL;
2390 surfxml_statenames[INPI] = NULL;
2391 surfxml_statenames[VALUE1] = NULL;
2392 surfxml_statenames[VALUE2] = NULL;
2393 surfxml_statenames[CDATA] = NULL;
2394 surfxml_statenames[ROOT_surfxml_platform_description] = NULL;
2395 surfxml_statenames[AL_surfxml_platform_description] = NULL;
2396 surfxml_statenames[S_surfxml_platform_description] = "platform_description";
2397 surfxml_statenames[S_surfxml_platform_description_1] = "platform_description";
2398 surfxml_statenames[S_surfxml_platform_description_2] = "platform_description";
2399 surfxml_statenames[E_surfxml_platform_description] = "platform_description";
2400 surfxml_statenames[ROOT_surfxml_include] = NULL;
2401 surfxml_statenames[AL_surfxml_include] = NULL;
2402 surfxml_statenames[S_surfxml_include] = "include";
2403 surfxml_statenames[S_surfxml_include_1] = "include";
2404 surfxml_statenames[S_surfxml_include_2] = "include";
2405 surfxml_statenames[E_surfxml_include] = "include";
2406 surfxml_statenames[ROOT_surfxml_cpu] = NULL;
2407 surfxml_statenames[AL_surfxml_cpu] = NULL;
2408 surfxml_statenames[E_surfxml_cpu] = "cpu";
2409 surfxml_statenames[ROOT_surfxml_router] = NULL;
2410 surfxml_statenames[AL_surfxml_router] = NULL;
2411 surfxml_statenames[E_surfxml_router] = "router";
2412 surfxml_statenames[ROOT_surfxml_network_link] = NULL;
2413 surfxml_statenames[AL_surfxml_network_link] = NULL;
2414 surfxml_statenames[E_surfxml_network_link] = "network_link";
2415 surfxml_statenames[ROOT_surfxml_route] = NULL;
2416 surfxml_statenames[AL_surfxml_route] = NULL;
2417 surfxml_statenames[S_surfxml_route] = "route";
2418 surfxml_statenames[S_surfxml_route_1] = "route";
2419 surfxml_statenames[S_surfxml_route_2] = "route";
2420 surfxml_statenames[E_surfxml_route] = "route";
2421 surfxml_statenames[ROOT_surfxml_route_element] = NULL;
2422 surfxml_statenames[AL_surfxml_route_element] = NULL;
2423 surfxml_statenames[E_surfxml_route_element] = "route_element";
2424 surfxml_statenames[ROOT_surfxml_process] = NULL;
2425 surfxml_statenames[AL_surfxml_process] = NULL;
2426 surfxml_statenames[S_surfxml_process] = "process";
2427 surfxml_statenames[S_surfxml_process_1] = "process";
2428 surfxml_statenames[S_surfxml_process_2] = "process";
2429 surfxml_statenames[E_surfxml_process] = "process";
2430 surfxml_statenames[ROOT_surfxml_argument] = NULL;
2431 surfxml_statenames[AL_surfxml_argument] = NULL;
2432 surfxml_statenames[E_surfxml_argument] = "argument";
2435 /* COMMENTS and PIs: handled uniformly for efficiency. */
2446 (yy_start) = 1; /* first start state */
2448 if ( ! surf_parse_in )
2449 surf_parse_in = stdin;
2451 if ( ! surf_parse_out )
2452 surf_parse_out = stdout;
2454 if ( ! YY_CURRENT_BUFFER ) {
2455 surf_parse_ensure_buffer_stack ();
2456 YY_CURRENT_BUFFER_LVALUE =
2457 surf_parse__create_buffer(surf_parse_in,YY_BUF_SIZE );
2460 surf_parse__load_buffer_state( );
2463 while ( 1 ) /* loops until end-of-file is reached */
2465 yy_cp = (yy_c_buf_p);
2467 /* Support of surf_parse_text. */
2468 *yy_cp = (yy_hold_char);
2470 /* yy_bp points to the position in yy_ch_buf of the start of
2475 yy_current_state = (yy_start);
2479 register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
2480 if ( yy_accept[yy_current_state] )
2482 (yy_last_accepting_state) = yy_current_state;
2483 (yy_last_accepting_cpos) = yy_cp;
2485 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2487 yy_current_state = (int) yy_def[yy_current_state];
2488 if ( yy_current_state >= 1433 )
2489 yy_c = yy_meta[(unsigned int) yy_c];
2491 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
2494 while ( yy_base[yy_current_state] != 3946 );
2497 yy_act = yy_accept[yy_current_state];
2499 { /* have to back up */
2500 yy_cp = (yy_last_accepting_cpos);
2501 yy_current_state = (yy_last_accepting_state);
2502 yy_act = yy_accept[yy_current_state];
2505 YY_DO_BEFORE_ACTION;
2507 if ( yy_act != YY_END_OF_BUFFER && yy_rule_can_match_eol[yy_act] )
2510 for ( yyl = 0; yyl < surf_parse_leng; ++yyl )
2511 if ( surf_parse_text[yyl] == '\n' )
2513 surf_parse_lineno++;
2517 do_action: /* This label is used only to access EOF actions. */
2520 { /* beginning of action switch */
2521 case 0: /* must back up */
2522 /* undo the effects of YY_DO_BEFORE_ACTION */
2523 *yy_cp = (yy_hold_char);
2524 yy_cp = (yy_last_accepting_cpos);
2525 yy_current_state = (yy_last_accepting_state);
2526 goto yy_find_action;
2544 /* rule 6 can match eol */
2548 case YY_STATE_EOF(INCOMMENT):
2549 FAIL("EOF in comment.");
2558 /* rule 9 can match eol */
2562 case YY_STATE_EOF(INPI):
2563 FAIL("EOF in PI (processing instruction).");
2566 /* SPACES: skipped uniformly */
2568 /* rule 10 can match eol */
2572 /* PROLOG: determine root element and process it. */
2575 /* rule 11 can match eol */
2580 /* rule 12 can match eol */
2582 FAIL("Bad declaration %s.",surf_parse_text);
2586 /* rule 13 can match eol */
2588 SET(ROOT_surfxml_cpu);
2591 /* rule 14 can match eol */
2593 SET(ROOT_surfxml_include);
2596 /* rule 15 can match eol */
2598 SET(ROOT_surfxml_route);
2601 /* rule 16 can match eol */
2603 SET(ROOT_surfxml_network_link);
2606 /* rule 17 can match eol */
2608 SET(ROOT_surfxml_process);
2611 /* rule 18 can match eol */
2613 SET(ROOT_surfxml_router);
2616 /* rule 19 can match eol */
2618 SET(ROOT_surfxml_argument);
2621 /* rule 20 can match eol */
2623 SET(ROOT_surfxml_route_element);
2626 /* rule 21 can match eol */
2628 SET(ROOT_surfxml_platform_description);
2631 /* rule 22 can match eol */
2633 FAIL("Bad declaration %s.",surf_parse_text);
2637 FAIL("Unexpected character `%c' in prolog.", surf_parse_text[0]);
2639 case YY_STATE_EOF(PROLOG):
2640 case YY_STATE_EOF(DOCTYPE):
2641 FAIL("EOF in prolog.");
2644 /* RULES DERIVED FROM DTD. */
2645 /* <!-- Small DTD for SURF based tools. --> */
2647 /* rule 24 can match eol */
2650 AX_surfxml_platform_description_version = 1;
2651 ENTER(AL_surfxml_platform_description); pushbuffer(0);
2656 /* rule 25 can match eol */
2658 ENTER(VALUE1); BUFFERSET(AX_surfxml_platform_description_version);
2661 /* rule 26 can match eol */
2663 ENTER(VALUE2); BUFFERSET(AX_surfxml_platform_description_version);
2668 LEAVE; STag_surfxml_platform_description();surfxml_pcdata_ix = 0; ENTER(S_surfxml_platform_description);
2674 LEAVE; STag_surfxml_platform_description(); surfxml_pcdata_ix = 0; ETag_surfxml_platform_description(); popbuffer(); /* attribute */
2676 case ROOT_surfxml_platform_description: SET(EPILOG); break;
2682 FAIL("Unexpected character `%c' in attribute list of platform_description element.", surf_parse_text[0]);
2686 FAIL("Bad attribute `%s' in `platform_description' element start tag.",surf_parse_text);
2688 case YY_STATE_EOF(AL_surfxml_platform_description):
2689 FAIL("EOF in attribute list of `platform_description' element.");
2693 /* rule 31 can match eol */
2697 ETag_surfxml_platform_description();
2698 popbuffer(); /* attribute */
2700 case ROOT_surfxml_platform_description: SET(EPILOG); break;
2705 /* rule 32 can match eol */
2707 FAIL("Unexpected end-tag `%s': `</platform_description>' expected.",surf_parse_text);
2711 FAIL("Unexpected character `%c': `</platform_description>' expected.",surf_parse_text[0]);
2713 case YY_STATE_EOF(E_surfxml_platform_description):
2714 case YY_STATE_EOF(S_surfxml_platform_description_2):
2715 case YY_STATE_EOF(S_surfxml_platform_description):
2716 FAIL("Premature EOF: `</platform_description>' expected.");
2720 /* rule 34 can match eol */
2723 AX_surfxml_include_file = 0;
2724 ENTER(AL_surfxml_include); pushbuffer(0);
2729 /* rule 35 can match eol */
2731 ENTER(VALUE1); BUFFERSET(AX_surfxml_include_file);
2734 /* rule 36 can match eol */
2736 ENTER(VALUE2); BUFFERSET(AX_surfxml_include_file);
2741 if (!AX_surfxml_include_file) FAIL("Required attribute `file' not set for `include' element.");
2742 LEAVE; STag_surfxml_include();surfxml_pcdata_ix = 0; ENTER(S_surfxml_include);
2748 if (!AX_surfxml_include_file) FAIL("Required attribute `file' not set for `include' element.");
2749 LEAVE; STag_surfxml_include(); surfxml_pcdata_ix = 0; ETag_surfxml_include(); popbuffer(); /* attribute */
2751 case S_surfxml_platform_description_2: case S_surfxml_platform_description_1: case S_surfxml_platform_description: SET(S_surfxml_platform_description_2); break;
2752 case ROOT_surfxml_include: SET(EPILOG); break;
2753 case S_surfxml_include: case S_surfxml_include_2: case S_surfxml_include_1: SET(S_surfxml_include_2); break;
2759 FAIL("Unexpected character `%c' in attribute list of include element.", surf_parse_text[0]);
2763 FAIL("Bad attribute `%s' in `include' element start tag.",surf_parse_text);
2765 case YY_STATE_EOF(AL_surfxml_include):
2766 FAIL("EOF in attribute list of `include' element.");
2770 /* rule 41 can match eol */
2774 ETag_surfxml_include();
2775 popbuffer(); /* attribute */
2777 case S_surfxml_platform_description_2: case S_surfxml_platform_description_1: case S_surfxml_platform_description: SET(S_surfxml_platform_description_2); break;
2778 case ROOT_surfxml_include: SET(EPILOG); break;
2779 case S_surfxml_include: case S_surfxml_include_2: case S_surfxml_include_1: SET(S_surfxml_include_2); break;
2784 /* rule 42 can match eol */
2786 FAIL("Unexpected end-tag `%s': `</include>' expected.",surf_parse_text);
2790 FAIL("Unexpected character `%c': `</include>' expected.",surf_parse_text[0]);
2792 case YY_STATE_EOF(E_surfxml_include):
2793 case YY_STATE_EOF(S_surfxml_include):
2794 case YY_STATE_EOF(S_surfxml_include_2):
2795 FAIL("Premature EOF: `</include>' expected.");
2799 /* rule 44 can match eol */
2802 AX_surfxml_cpu_name = 0;
2803 AX_surfxml_cpu_power = 0;
2804 AX_surfxml_cpu_availability = 5;
2805 AX_surfxml_cpu_availability_file = 0;
2806 AX_surfxml_cpu_state = A_surfxml_cpu_state_ON;
2807 AX_surfxml_cpu_state_file = 0;
2808 AX_surfxml_cpu_interference_send = 9;
2809 AX_surfxml_cpu_interference_recv = 13;
2810 AX_surfxml_cpu_interference_send_recv = 17;
2811 AX_surfxml_cpu_max_outgoing_rate = 21;
2812 ENTER(AL_surfxml_cpu); pushbuffer(0);
2817 /* rule 45 can match eol */
2819 ENTER(VALUE1); BUFFERSET(AX_surfxml_cpu_name);
2822 /* rule 46 can match eol */
2824 ENTER(VALUE2); BUFFERSET(AX_surfxml_cpu_name);
2827 /* rule 47 can match eol */
2829 ENTER(VALUE1); BUFFERSET(AX_surfxml_cpu_power);
2832 /* rule 48 can match eol */
2834 ENTER(VALUE2); BUFFERSET(AX_surfxml_cpu_power);
2837 /* rule 49 can match eol */
2839 ENTER(VALUE1); BUFFERSET(AX_surfxml_cpu_availability);
2842 /* rule 50 can match eol */
2844 ENTER(VALUE2); BUFFERSET(AX_surfxml_cpu_availability);
2847 /* rule 51 can match eol */
2849 ENTER(VALUE1); BUFFERSET(AX_surfxml_cpu_availability_file);
2852 /* rule 52 can match eol */
2854 ENTER(VALUE2); BUFFERSET(AX_surfxml_cpu_availability_file);
2857 /* rule 53 can match eol */
2859 /* rule 54 can match eol */
2861 A_surfxml_cpu_state = A_surfxml_cpu_state_ON;
2864 /* rule 55 can match eol */
2866 /* rule 56 can match eol */
2868 A_surfxml_cpu_state = A_surfxml_cpu_state_OFF;
2871 /* rule 57 can match eol */
2873 ENTER(VALUE1); BUFFERSET(AX_surfxml_cpu_state_file);
2876 /* rule 58 can match eol */
2878 ENTER(VALUE2); BUFFERSET(AX_surfxml_cpu_state_file);
2881 /* rule 59 can match eol */
2883 ENTER(VALUE1); BUFFERSET(AX_surfxml_cpu_interference_send);
2886 /* rule 60 can match eol */
2888 ENTER(VALUE2); BUFFERSET(AX_surfxml_cpu_interference_send);
2891 /* rule 61 can match eol */
2893 ENTER(VALUE1); BUFFERSET(AX_surfxml_cpu_interference_recv);
2896 /* rule 62 can match eol */
2898 ENTER(VALUE2); BUFFERSET(AX_surfxml_cpu_interference_recv);
2901 /* rule 63 can match eol */
2903 ENTER(VALUE1); BUFFERSET(AX_surfxml_cpu_interference_send_recv);
2906 /* rule 64 can match eol */
2908 ENTER(VALUE2); BUFFERSET(AX_surfxml_cpu_interference_send_recv);
2911 /* rule 65 can match eol */
2913 ENTER(VALUE1); BUFFERSET(AX_surfxml_cpu_max_outgoing_rate);
2916 /* rule 66 can match eol */
2918 ENTER(VALUE2); BUFFERSET(AX_surfxml_cpu_max_outgoing_rate);
2923 if (!AX_surfxml_cpu_name) FAIL("Required attribute `name' not set for `cpu' element.");
2924 if (!AX_surfxml_cpu_power) FAIL("Required attribute `power' not set for `cpu' element.");
2925 LEAVE; STag_surfxml_cpu();surfxml_pcdata_ix = 0; ENTER(E_surfxml_cpu);
2931 if (!AX_surfxml_cpu_name) FAIL("Required attribute `name' not set for `cpu' element.");
2932 if (!AX_surfxml_cpu_power) FAIL("Required attribute `power' not set for `cpu' element.");
2933 LEAVE; STag_surfxml_cpu(); surfxml_pcdata_ix = 0; ETag_surfxml_cpu(); popbuffer(); /* attribute */
2935 case S_surfxml_platform_description_2: case S_surfxml_platform_description_1: case S_surfxml_platform_description: SET(S_surfxml_platform_description_2); break;
2936 case ROOT_surfxml_cpu: SET(EPILOG); break;
2937 case S_surfxml_include: case S_surfxml_include_2: case S_surfxml_include_1: SET(S_surfxml_include_2); break;
2943 FAIL("Unexpected character `%c' in attribute list of cpu element.", surf_parse_text[0]);
2947 FAIL("Bad attribute `%s' in `cpu' element start tag.",surf_parse_text);
2949 case YY_STATE_EOF(AL_surfxml_cpu):
2950 FAIL("EOF in attribute list of `cpu' element.");
2954 /* rule 71 can match eol */
2959 popbuffer(); /* attribute */
2961 case S_surfxml_platform_description_2: case S_surfxml_platform_description_1: case S_surfxml_platform_description: SET(S_surfxml_platform_description_2); break;
2962 case ROOT_surfxml_cpu: SET(EPILOG); break;
2963 case S_surfxml_include: case S_surfxml_include_2: case S_surfxml_include_1: SET(S_surfxml_include_2); break;
2968 /* rule 72 can match eol */
2970 FAIL("Unexpected end-tag `%s': `</cpu>' expected.",surf_parse_text);
2974 FAIL("Unexpected character `%c': `</cpu>' expected.",surf_parse_text[0]);
2976 case YY_STATE_EOF(E_surfxml_cpu):
2977 FAIL("Premature EOF: `</cpu>' expected.");
2981 /* rule 74 can match eol */
2984 AX_surfxml_router_name = 0;
2985 ENTER(AL_surfxml_router); pushbuffer(0);
2990 /* rule 75 can match eol */
2992 ENTER(VALUE1); BUFFERSET(AX_surfxml_router_name);
2995 /* rule 76 can match eol */
2997 ENTER(VALUE2); BUFFERSET(AX_surfxml_router_name);
3002 if (!AX_surfxml_router_name) FAIL("Required attribute `name' not set for `router' element.");
3003 LEAVE; STag_surfxml_router();surfxml_pcdata_ix = 0; ENTER(E_surfxml_router);
3009 if (!AX_surfxml_router_name) FAIL("Required attribute `name' not set for `router' element.");
3010 LEAVE; STag_surfxml_router(); surfxml_pcdata_ix = 0; ETag_surfxml_router(); popbuffer(); /* attribute */
3012 case S_surfxml_platform_description_2: case S_surfxml_platform_description_1: case S_surfxml_platform_description: SET(S_surfxml_platform_description_2); break;
3013 case ROOT_surfxml_router: SET(EPILOG); break;
3014 case S_surfxml_include: case S_surfxml_include_2: case S_surfxml_include_1: SET(S_surfxml_include_2); break;
3020 FAIL("Unexpected character `%c' in attribute list of router element.", surf_parse_text[0]);
3024 FAIL("Bad attribute `%s' in `router' element start tag.",surf_parse_text);
3026 case YY_STATE_EOF(AL_surfxml_router):
3027 FAIL("EOF in attribute list of `router' element.");
3031 /* rule 81 can match eol */
3035 ETag_surfxml_router();
3036 popbuffer(); /* attribute */
3038 case S_surfxml_platform_description_2: case S_surfxml_platform_description_1: case S_surfxml_platform_description: SET(S_surfxml_platform_description_2); break;
3039 case ROOT_surfxml_router: SET(EPILOG); break;
3040 case S_surfxml_include: case S_surfxml_include_2: case S_surfxml_include_1: SET(S_surfxml_include_2); break;
3045 /* rule 82 can match eol */
3047 FAIL("Unexpected end-tag `%s': `</router>' expected.",surf_parse_text);
3051 FAIL("Unexpected character `%c': `</router>' expected.",surf_parse_text[0]);
3053 case YY_STATE_EOF(E_surfxml_router):
3054 FAIL("Premature EOF: `</router>' expected.");
3058 /* rule 84 can match eol */
3061 AX_surfxml_network_link_name = 0;
3062 AX_surfxml_network_link_bandwidth = 0;
3063 AX_surfxml_network_link_bandwidth_file = 0;
3064 AX_surfxml_network_link_latency = 26;
3065 AX_surfxml_network_link_latency_file = 0;
3066 AX_surfxml_network_link_state = A_surfxml_network_link_state_ON;
3067 AX_surfxml_network_link_state_file = 0;
3068 AX_surfxml_network_link_sharing_policy = A_surfxml_network_link_sharing_policy_SHARED;
3069 ENTER(AL_surfxml_network_link); pushbuffer(0);
3074 /* rule 85 can match eol */
3076 ENTER(VALUE1); BUFFERSET(AX_surfxml_network_link_name);
3079 /* rule 86 can match eol */
3081 ENTER(VALUE2); BUFFERSET(AX_surfxml_network_link_name);
3084 /* rule 87 can match eol */
3086 ENTER(VALUE1); BUFFERSET(AX_surfxml_network_link_bandwidth);
3089 /* rule 88 can match eol */
3091 ENTER(VALUE2); BUFFERSET(AX_surfxml_network_link_bandwidth);
3094 /* rule 89 can match eol */
3096 ENTER(VALUE1); BUFFERSET(AX_surfxml_network_link_bandwidth_file);
3099 /* rule 90 can match eol */
3101 ENTER(VALUE2); BUFFERSET(AX_surfxml_network_link_bandwidth_file);
3104 /* rule 91 can match eol */
3106 ENTER(VALUE1); BUFFERSET(AX_surfxml_network_link_latency);
3109 /* rule 92 can match eol */
3111 ENTER(VALUE2); BUFFERSET(AX_surfxml_network_link_latency);
3114 /* rule 93 can match eol */
3116 ENTER(VALUE1); BUFFERSET(AX_surfxml_network_link_latency_file);
3119 /* rule 94 can match eol */
3121 ENTER(VALUE2); BUFFERSET(AX_surfxml_network_link_latency_file);
3124 /* rule 95 can match eol */
3126 /* rule 96 can match eol */
3128 A_surfxml_network_link_state = A_surfxml_network_link_state_ON;
3131 /* rule 97 can match eol */
3133 /* rule 98 can match eol */
3135 A_surfxml_network_link_state = A_surfxml_network_link_state_OFF;
3138 /* rule 99 can match eol */
3140 ENTER(VALUE1); BUFFERSET(AX_surfxml_network_link_state_file);
3143 /* rule 100 can match eol */
3145 ENTER(VALUE2); BUFFERSET(AX_surfxml_network_link_state_file);
3148 /* rule 101 can match eol */
3150 /* rule 102 can match eol */
3152 A_surfxml_network_link_sharing_policy = A_surfxml_network_link_sharing_policy_SHARED;
3155 /* rule 103 can match eol */
3157 /* rule 104 can match eol */
3159 A_surfxml_network_link_sharing_policy = A_surfxml_network_link_sharing_policy_FATPIPE;
3164 if (!AX_surfxml_network_link_name) FAIL("Required attribute `name' not set for `network_link' element.");
3165 if (!AX_surfxml_network_link_bandwidth) FAIL("Required attribute `bandwidth' not set for `network_link' element.");
3166 LEAVE; STag_surfxml_network_link();surfxml_pcdata_ix = 0; ENTER(E_surfxml_network_link);
3172 if (!AX_surfxml_network_link_name) FAIL("Required attribute `name' not set for `network_link' element.");
3173 if (!AX_surfxml_network_link_bandwidth) FAIL("Required attribute `bandwidth' not set for `network_link' element.");
3174 LEAVE; STag_surfxml_network_link(); surfxml_pcdata_ix = 0; ETag_surfxml_network_link(); popbuffer(); /* attribute */
3176 case S_surfxml_platform_description_2: case S_surfxml_platform_description_1: case S_surfxml_platform_description: SET(S_surfxml_platform_description_2); break;
3177 case ROOT_surfxml_network_link: SET(EPILOG); break;
3178 case S_surfxml_include: case S_surfxml_include_2: case S_surfxml_include_1: SET(S_surfxml_include_2); break;
3184 FAIL("Unexpected character `%c' in attribute list of network_link element.", surf_parse_text[0]);
3188 FAIL("Bad attribute `%s' in `network_link' element start tag.",surf_parse_text);
3190 case YY_STATE_EOF(AL_surfxml_network_link):
3191 FAIL("EOF in attribute list of `network_link' element.");
3195 /* rule 109 can match eol */
3199 ETag_surfxml_network_link();
3200 popbuffer(); /* attribute */
3202 case S_surfxml_platform_description_2: case S_surfxml_platform_description_1: case S_surfxml_platform_description: SET(S_surfxml_platform_description_2); break;
3203 case ROOT_surfxml_network_link: SET(EPILOG); break;
3204 case S_surfxml_include: case S_surfxml_include_2: case S_surfxml_include_1: SET(S_surfxml_include_2); break;
3209 /* rule 110 can match eol */
3211 FAIL("Unexpected end-tag `%s': `</network_link>' expected.",surf_parse_text);
3215 FAIL("Unexpected character `%c': `</network_link>' expected.",surf_parse_text[0]);
3217 case YY_STATE_EOF(E_surfxml_network_link):
3218 FAIL("Premature EOF: `</network_link>' expected.");
3222 /* rule 112 can match eol */
3225 AX_surfxml_route_src = 0;
3226 AX_surfxml_route_dst = 0;
3227 AX_surfxml_route_impact_on_src = 30;
3228 AX_surfxml_route_impact_on_dst = 34;
3229 AX_surfxml_route_impact_on_src_with_other_recv = 38;
3230 AX_surfxml_route_impact_on_dst_with_other_send = 42;
3231 ENTER(AL_surfxml_route); pushbuffer(0);
3236 /* rule 113 can match eol */
3238 ENTER(VALUE1); BUFFERSET(AX_surfxml_route_src);
3241 /* rule 114 can match eol */
3243 ENTER(VALUE2); BUFFERSET(AX_surfxml_route_src);
3246 /* rule 115 can match eol */
3248 ENTER(VALUE1); BUFFERSET(AX_surfxml_route_dst);
3251 /* rule 116 can match eol */
3253 ENTER(VALUE2); BUFFERSET(AX_surfxml_route_dst);
3256 /* rule 117 can match eol */
3258 ENTER(VALUE1); BUFFERSET(AX_surfxml_route_impact_on_src);
3261 /* rule 118 can match eol */
3263 ENTER(VALUE2); BUFFERSET(AX_surfxml_route_impact_on_src);
3266 /* rule 119 can match eol */
3268 ENTER(VALUE1); BUFFERSET(AX_surfxml_route_impact_on_dst);
3271 /* rule 120 can match eol */
3273 ENTER(VALUE2); BUFFERSET(AX_surfxml_route_impact_on_dst);
3276 /* rule 121 can match eol */
3278 ENTER(VALUE1); BUFFERSET(AX_surfxml_route_impact_on_src_with_other_recv);
3281 /* rule 122 can match eol */
3283 ENTER(VALUE2); BUFFERSET(AX_surfxml_route_impact_on_src_with_other_recv);
3286 /* rule 123 can match eol */
3288 ENTER(VALUE1); BUFFERSET(AX_surfxml_route_impact_on_dst_with_other_send);
3291 /* rule 124 can match eol */
3293 ENTER(VALUE2); BUFFERSET(AX_surfxml_route_impact_on_dst_with_other_send);
3298 if (!AX_surfxml_route_src) FAIL("Required attribute `src' not set for `route' element.");
3299 if (!AX_surfxml_route_dst) FAIL("Required attribute `dst' not set for `route' element.");
3300 LEAVE; STag_surfxml_route();surfxml_pcdata_ix = 0; ENTER(S_surfxml_route);
3306 if (!AX_surfxml_route_src) FAIL("Required attribute `src' not set for `route' element.");
3307 if (!AX_surfxml_route_dst) FAIL("Required attribute `dst' not set for `route' element.");
3308 LEAVE; STag_surfxml_route(); surfxml_pcdata_ix = 0; ETag_surfxml_route(); popbuffer(); /* attribute */
3310 case S_surfxml_platform_description_2: case S_surfxml_platform_description_1: case S_surfxml_platform_description: SET(S_surfxml_platform_description_2); break;
3311 case ROOT_surfxml_route: SET(EPILOG); break;
3312 case S_surfxml_include: case S_surfxml_include_2: case S_surfxml_include_1: SET(S_surfxml_include_2); break;
3318 FAIL("Unexpected character `%c' in attribute list of route element.", surf_parse_text[0]);
3322 FAIL("Bad attribute `%s' in `route' element start tag.",surf_parse_text);
3324 case YY_STATE_EOF(AL_surfxml_route):
3325 FAIL("EOF in attribute list of `route' element.");
3329 /* rule 129 can match eol */
3333 ETag_surfxml_route();
3334 popbuffer(); /* attribute */
3336 case S_surfxml_platform_description_2: case S_surfxml_platform_description_1: case S_surfxml_platform_description: SET(S_surfxml_platform_description_2); break;
3337 case ROOT_surfxml_route: SET(EPILOG); break;
3338 case S_surfxml_include: case S_surfxml_include_2: case S_surfxml_include_1: SET(S_surfxml_include_2); break;
3343 /* rule 130 can match eol */
3345 FAIL("Unexpected end-tag `%s': `</route>' expected.",surf_parse_text);
3349 FAIL("Unexpected character `%c': `</route>' expected.",surf_parse_text[0]);
3351 case YY_STATE_EOF(S_surfxml_route):
3352 case YY_STATE_EOF(S_surfxml_route_2):
3353 case YY_STATE_EOF(E_surfxml_route):
3354 FAIL("Premature EOF: `</route>' expected.");
3358 /* rule 132 can match eol */
3361 AX_surfxml_route_element_name = 0;
3362 ENTER(AL_surfxml_route_element); pushbuffer(0);
3367 /* rule 133 can match eol */
3369 ENTER(VALUE1); BUFFERSET(AX_surfxml_route_element_name);
3372 /* rule 134 can match eol */
3374 ENTER(VALUE2); BUFFERSET(AX_surfxml_route_element_name);
3379 if (!AX_surfxml_route_element_name) FAIL("Required attribute `name' not set for `route_element' element.");
3380 LEAVE; STag_surfxml_route_element();surfxml_pcdata_ix = 0; ENTER(E_surfxml_route_element);
3386 if (!AX_surfxml_route_element_name) FAIL("Required attribute `name' not set for `route_element' element.");
3387 LEAVE; STag_surfxml_route_element(); surfxml_pcdata_ix = 0; ETag_surfxml_route_element(); popbuffer(); /* attribute */
3389 case S_surfxml_route_1: case S_surfxml_route: case S_surfxml_route_2: SET(S_surfxml_route_2); break;
3390 case ROOT_surfxml_route_element: SET(EPILOG); break;
3396 FAIL("Unexpected character `%c' in attribute list of route_element element.", surf_parse_text[0]);
3400 FAIL("Bad attribute `%s' in `route_element' element start tag.",surf_parse_text);
3402 case YY_STATE_EOF(AL_surfxml_route_element):
3403 FAIL("EOF in attribute list of `route_element' element.");
3407 /* rule 139 can match eol */
3411 ETag_surfxml_route_element();
3412 popbuffer(); /* attribute */
3414 case S_surfxml_route_1: case S_surfxml_route: case S_surfxml_route_2: SET(S_surfxml_route_2); break;
3415 case ROOT_surfxml_route_element: SET(EPILOG); break;
3420 /* rule 140 can match eol */
3422 FAIL("Unexpected end-tag `%s': `</route_element>' expected.",surf_parse_text);
3426 FAIL("Unexpected character `%c': `</route_element>' expected.",surf_parse_text[0]);
3428 case YY_STATE_EOF(E_surfxml_route_element):
3429 FAIL("Premature EOF: `</route_element>' expected.");
3433 /* rule 142 can match eol */
3436 AX_surfxml_process_host = 0;
3437 AX_surfxml_process_function = 0;
3438 AX_surfxml_process_start_time = 46;
3439 AX_surfxml_process_kill_time = 51;
3440 ENTER(AL_surfxml_process); pushbuffer(0);
3445 /* rule 143 can match eol */
3447 ENTER(VALUE1); BUFFERSET(AX_surfxml_process_host);
3450 /* rule 144 can match eol */
3452 ENTER(VALUE2); BUFFERSET(AX_surfxml_process_host);
3455 /* rule 145 can match eol */
3457 ENTER(VALUE1); BUFFERSET(AX_surfxml_process_function);
3460 /* rule 146 can match eol */
3462 ENTER(VALUE2); BUFFERSET(AX_surfxml_process_function);
3465 /* rule 147 can match eol */
3467 ENTER(VALUE1); BUFFERSET(AX_surfxml_process_start_time);
3470 /* rule 148 can match eol */
3472 ENTER(VALUE2); BUFFERSET(AX_surfxml_process_start_time);
3475 /* rule 149 can match eol */
3477 ENTER(VALUE1); BUFFERSET(AX_surfxml_process_kill_time);
3480 /* rule 150 can match eol */
3482 ENTER(VALUE2); BUFFERSET(AX_surfxml_process_kill_time);
3487 if (!AX_surfxml_process_host) FAIL("Required attribute `host' not set for `process' element.");
3488 if (!AX_surfxml_process_function) FAIL("Required attribute `function' not set for `process' element.");
3489 LEAVE; STag_surfxml_process();surfxml_pcdata_ix = 0; ENTER(S_surfxml_process);
3495 if (!AX_surfxml_process_host) FAIL("Required attribute `host' not set for `process' element.");
3496 if (!AX_surfxml_process_function) FAIL("Required attribute `function' not set for `process' element.");
3497 LEAVE; STag_surfxml_process(); surfxml_pcdata_ix = 0; ETag_surfxml_process(); popbuffer(); /* attribute */
3499 case S_surfxml_platform_description_2: case S_surfxml_platform_description_1: case S_surfxml_platform_description: SET(S_surfxml_platform_description_2); break;
3500 case ROOT_surfxml_process: SET(EPILOG); break;
3501 case S_surfxml_include: case S_surfxml_include_2: case S_surfxml_include_1: SET(S_surfxml_include_2); break;
3507 FAIL("Unexpected character `%c' in attribute list of process element.", surf_parse_text[0]);
3511 FAIL("Bad attribute `%s' in `process' element start tag.",surf_parse_text);
3513 case YY_STATE_EOF(AL_surfxml_process):
3514 FAIL("EOF in attribute list of `process' element.");
3518 /* rule 155 can match eol */
3522 ETag_surfxml_process();
3523 popbuffer(); /* attribute */
3525 case S_surfxml_platform_description_2: case S_surfxml_platform_description_1: case S_surfxml_platform_description: SET(S_surfxml_platform_description_2); break;
3526 case ROOT_surfxml_process: SET(EPILOG); break;
3527 case S_surfxml_include: case S_surfxml_include_2: case S_surfxml_include_1: SET(S_surfxml_include_2); break;
3532 /* rule 156 can match eol */
3534 FAIL("Unexpected end-tag `%s': `</process>' expected.",surf_parse_text);
3538 FAIL("Unexpected character `%c': `</process>' expected.",surf_parse_text[0]);
3540 case YY_STATE_EOF(S_surfxml_process):
3541 case YY_STATE_EOF(E_surfxml_process):
3542 case YY_STATE_EOF(S_surfxml_process_2):
3543 FAIL("Premature EOF: `</process>' expected.");
3547 /* rule 158 can match eol */
3550 AX_surfxml_argument_value = 0;
3551 ENTER(AL_surfxml_argument); pushbuffer(0);
3556 /* rule 159 can match eol */
3558 ENTER(VALUE1); BUFFERSET(AX_surfxml_argument_value);
3561 /* rule 160 can match eol */
3563 ENTER(VALUE2); BUFFERSET(AX_surfxml_argument_value);
3568 if (!AX_surfxml_argument_value) FAIL("Required attribute `value' not set for `argument' element.");
3569 LEAVE; STag_surfxml_argument();surfxml_pcdata_ix = 0; ENTER(E_surfxml_argument);
3575 if (!AX_surfxml_argument_value) FAIL("Required attribute `value' not set for `argument' element.");
3576 LEAVE; STag_surfxml_argument(); surfxml_pcdata_ix = 0; ETag_surfxml_argument(); popbuffer(); /* attribute */
3578 case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
3579 case ROOT_surfxml_argument: SET(EPILOG); break;
3585 FAIL("Unexpected character `%c' in attribute list of argument element.", surf_parse_text[0]);
3589 FAIL("Bad attribute `%s' in `argument' element start tag.",surf_parse_text);
3591 case YY_STATE_EOF(AL_surfxml_argument):
3592 FAIL("EOF in attribute list of `argument' element.");
3596 /* rule 165 can match eol */
3600 ETag_surfxml_argument();
3601 popbuffer(); /* attribute */
3603 case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
3604 case ROOT_surfxml_argument: SET(EPILOG); break;
3609 /* rule 166 can match eol */
3611 FAIL("Unexpected end-tag `%s': `</argument>' expected.",surf_parse_text);
3615 FAIL("Unexpected character `%c': `</argument>' expected.",surf_parse_text[0]);
3617 case YY_STATE_EOF(E_surfxml_argument):
3618 FAIL("Premature EOF: `</argument>' expected.");
3621 /* EPILOG: after the root element. */
3625 {SET(PROLOG); yyless(0); CLEANUP; return -1;}
3627 case YY_STATE_EOF(EPILOG):
3631 /* CHARACTER DATA. */
3633 /* Non-defined standard entities... */
3654 /* Character entities. */
3657 BUFFERPUTC((unsigned char)atoi(surf_parse_text+2));
3661 BUFFERPUTC((unsigned char)strtol(surf_parse_text+3,NULL,16));
3665 /* rule 176 can match eol */
3667 /* rule 177 can match eol */
3669 /* rule 178 can match eol */
3671 /* rule 179 can match eol */
3682 FAIL("Unexpected `]""]>' in character data.");
3689 case YY_STATE_EOF(VALUE1):
3690 FAIL("EOF in literal (\"'\" expected).");
3697 case YY_STATE_EOF(VALUE2):
3698 FAIL("EOF in literal (`\"' expected).");
3702 /* rule 184 can match eol */
3704 BUFFERPUTC(surf_parse_text[0]);
3708 FAIL("Spurious `%c' in character data.",surf_parse_text[0]);
3715 /* "]""]" BUFFERPUTC(surf_parse_text[0]); BUFFERPUTC(surf_parse_text[1]); */
3718 BUFFERPUTC(surf_parse_text[0]);
3720 case YY_STATE_EOF(CDATA):
3721 FAIL("EOF in CDATA section.");
3724 /* Impossible rules to avoid warnings from flex(1). */
3725 /* Ideally, this should be replaced by code in flexml.pl that
3726 generates just the states not covered by other rules. */
3729 /* rule 188 can match eol */
3731 FAIL("Syntax error on character `%c'.", surf_parse_text[0]);
3738 case YY_STATE_EOF(INITIAL):
3739 case YY_STATE_EOF(ROOT_surfxml_platform_description):
3740 case YY_STATE_EOF(S_surfxml_platform_description_1):
3741 case YY_STATE_EOF(ROOT_surfxml_include):
3742 case YY_STATE_EOF(S_surfxml_include_1):
3743 case YY_STATE_EOF(ROOT_surfxml_cpu):
3744 case YY_STATE_EOF(ROOT_surfxml_router):
3745 case YY_STATE_EOF(ROOT_surfxml_network_link):
3746 case YY_STATE_EOF(ROOT_surfxml_route):
3747 case YY_STATE_EOF(S_surfxml_route_1):
3748 case YY_STATE_EOF(ROOT_surfxml_route_element):
3749 case YY_STATE_EOF(ROOT_surfxml_process):
3750 case YY_STATE_EOF(S_surfxml_process_1):
3751 case YY_STATE_EOF(ROOT_surfxml_argument):
3752 case YY_STATE_EOF(IMPOSSIBLE):
3755 case YY_END_OF_BUFFER:
3757 /* Amount of text matched not including the EOB char. */
3758 int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
3760 /* Undo the effects of YY_DO_BEFORE_ACTION. */
3761 *yy_cp = (yy_hold_char);
3762 YY_RESTORE_YY_MORE_OFFSET
3764 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
3766 /* We're scanning a new file or input source. It's
3767 * possible that this happened because the user
3768 * just pointed surf_parse_in at a new source and called
3769 * surf_parse_lex(). If so, then we have to assure
3770 * consistency between YY_CURRENT_BUFFER and our
3771 * globals. Here is the right place to do so, because
3772 * this is the first action (other than possibly a
3773 * back-up) that will match for the new input source.
3775 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
3776 YY_CURRENT_BUFFER_LVALUE->yy_input_file = surf_parse_in;
3777 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
3780 /* Note that here we test for yy_c_buf_p "<=" to the position
3781 * of the first EOB in the buffer, since yy_c_buf_p will
3782 * already have been incremented past the NUL character
3783 * (since all states make transitions on EOB to the
3784 * end-of-buffer state). Contrast this with the test
3787 if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
3788 { /* This was really a NUL. */
3789 yy_state_type yy_next_state;
3791 (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
3793 yy_current_state = yy_get_previous_state( );
3795 /* Okay, we're now positioned to make the NUL
3796 * transition. We couldn't have
3797 * yy_get_previous_state() go ahead and do it
3798 * for us because it doesn't know how to deal
3799 * with the possibility of jamming (and we don't
3800 * want to build jamming into it because then it
3801 * will run more slowly).
3804 yy_next_state = yy_try_NUL_trans( yy_current_state );
3806 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
3808 if ( yy_next_state )
3810 /* Consume the NUL. */
3811 yy_cp = ++(yy_c_buf_p);
3812 yy_current_state = yy_next_state;
3818 yy_cp = (yy_c_buf_p);
3819 goto yy_find_action;
3823 else switch ( yy_get_next_buffer( ) )
3825 case EOB_ACT_END_OF_FILE:
3827 (yy_did_buffer_switch_on_eof) = 0;
3829 if ( surf_parse_wrap( ) )
3831 /* Note: because we've taken care in
3832 * yy_get_next_buffer() to have set up
3833 * surf_parse_text, we can now set up
3834 * yy_c_buf_p so that if some total
3835 * hoser (like flex itself) wants to
3836 * call the scanner after we return the
3837 * YY_NULL, it'll still work - another
3838 * YY_NULL will get returned.
3840 (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
3842 yy_act = YY_STATE_EOF(YY_START);
3848 if ( ! (yy_did_buffer_switch_on_eof) )
3854 case EOB_ACT_CONTINUE_SCAN:
3856 (yytext_ptr) + yy_amount_of_matched_text;
3858 yy_current_state = yy_get_previous_state( );
3860 yy_cp = (yy_c_buf_p);
3861 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
3864 case EOB_ACT_LAST_MATCH:
3866 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
3868 yy_current_state = yy_get_previous_state( );
3870 yy_cp = (yy_c_buf_p);
3871 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
3872 goto yy_find_action;
3879 "fatal flex scanner internal error--no action found" );
3880 } /* end of action switch */
3881 } /* end of scanning one token */
3882 } /* end of surf_parse_lex */
3884 /* yy_get_next_buffer - try to read in a new buffer
3886 * Returns a code representing an action:
3887 * EOB_ACT_LAST_MATCH -
3888 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
3889 * EOB_ACT_END_OF_FILE - end of file
3891 static int yy_get_next_buffer (void)
3893 register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
3894 register char *source = (yytext_ptr);
3895 register int number_to_move, i;
3898 if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
3900 "fatal flex scanner internal error--end of buffer missed" );
3902 if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
3903 { /* Don't try to fill the buffer, so this is an EOF. */
3904 if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
3906 /* We matched a single character, the EOB, so
3907 * treat this as a final EOF.
3909 return EOB_ACT_END_OF_FILE;
3914 /* We matched some text prior to the EOB, first
3917 return EOB_ACT_LAST_MATCH;
3921 /* Try to read more data. */
3923 /* First move last chars to start of buffer. */
3924 number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
3926 for ( i = 0; i < number_to_move; ++i )
3927 *(dest++) = *(source++);
3929 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
3930 /* don't do the read, it's not guaranteed to return an EOF,
3933 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
3938 YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
3940 while ( num_to_read <= 0 )
3941 { /* Not enough room in the buffer - grow it. */
3943 /* just a shorter name for the current buffer */
3944 YY_BUFFER_STATE b = YY_CURRENT_BUFFER;
3946 int yy_c_buf_p_offset =
3947 (int) ((yy_c_buf_p) - b->yy_ch_buf);
3949 if ( b->yy_is_our_buffer )
3951 int new_size = b->yy_buf_size * 2;
3953 if ( new_size <= 0 )
3954 b->yy_buf_size += b->yy_buf_size / 8;
3956 b->yy_buf_size *= 2;
3958 b->yy_ch_buf = (char *)
3959 /* Include room in for 2 EOB chars. */
3960 surf_parse_realloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 );
3963 /* Can't grow it, we don't own it. */
3966 if ( ! b->yy_ch_buf )
3968 "fatal error - scanner input buffer overflow" );
3970 (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
3972 num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
3977 if ( num_to_read > YY_READ_BUF_SIZE )
3978 num_to_read = YY_READ_BUF_SIZE;
3980 /* Read in more data. */
3981 YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
3982 (yy_n_chars), (size_t) num_to_read );
3984 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
3987 if ( (yy_n_chars) == 0 )
3989 if ( number_to_move == YY_MORE_ADJ )
3991 ret_val = EOB_ACT_END_OF_FILE;
3992 surf_parse_restart(surf_parse_in );
3997 ret_val = EOB_ACT_LAST_MATCH;
3998 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
3999 YY_BUFFER_EOF_PENDING;
4004 ret_val = EOB_ACT_CONTINUE_SCAN;
4006 (yy_n_chars) += number_to_move;
4007 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
4008 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
4010 (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
4015 /* yy_get_previous_state - get the state just before the EOB char was reached */
4017 static yy_state_type yy_get_previous_state (void)
4019 register yy_state_type yy_current_state;
4020 register char *yy_cp;
4022 yy_current_state = (yy_start);
4024 for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
4026 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
4027 if ( yy_accept[yy_current_state] )
4029 (yy_last_accepting_state) = yy_current_state;
4030 (yy_last_accepting_cpos) = yy_cp;
4032 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
4034 yy_current_state = (int) yy_def[yy_current_state];
4035 if ( yy_current_state >= 1433 )
4036 yy_c = yy_meta[(unsigned int) yy_c];
4038 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
4041 return yy_current_state;
4044 /* yy_try_NUL_trans - try to make a transition on the NUL character
4047 * next_state = yy_try_NUL_trans( current_state );
4049 static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state )
4051 register int yy_is_jam;
4052 register char *yy_cp = (yy_c_buf_p);
4054 register YY_CHAR yy_c = 1;
4055 if ( yy_accept[yy_current_state] )
4057 (yy_last_accepting_state) = yy_current_state;
4058 (yy_last_accepting_cpos) = yy_cp;
4060 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
4062 yy_current_state = (int) yy_def[yy_current_state];
4063 if ( yy_current_state >= 1433 )
4064 yy_c = yy_meta[(unsigned int) yy_c];
4066 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
4067 yy_is_jam = (yy_current_state == 1432);
4069 return yy_is_jam ? 0 : yy_current_state;
4074 static int yyinput (void)
4076 static int input (void)
4082 *(yy_c_buf_p) = (yy_hold_char);
4084 if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
4086 /* yy_c_buf_p now points to the character we want to return.
4087 * If this occurs *before* the EOB characters, then it's a
4088 * valid NUL; if not, then we've hit the end of the buffer.
4090 if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
4091 /* This was really a NUL. */
4092 *(yy_c_buf_p) = '\0';
4095 { /* need more input */
4096 int offset = (yy_c_buf_p) - (yytext_ptr);
4099 switch ( yy_get_next_buffer( ) )
4101 case EOB_ACT_LAST_MATCH:
4102 /* This happens because yy_g_n_b()
4103 * sees that we've accumulated a
4104 * token and flags that we need to
4105 * try matching the token before
4106 * proceeding. But for input(),
4107 * there's no matching to consider.
4108 * So convert the EOB_ACT_LAST_MATCH
4109 * to EOB_ACT_END_OF_FILE.
4112 /* Reset buffer status. */
4113 surf_parse_restart(surf_parse_in );
4117 case EOB_ACT_END_OF_FILE:
4119 if ( surf_parse_wrap( ) )
4122 if ( ! (yy_did_buffer_switch_on_eof) )
4131 case EOB_ACT_CONTINUE_SCAN:
4132 (yy_c_buf_p) = (yytext_ptr) + offset;
4138 c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */
4139 *(yy_c_buf_p) = '\0'; /* preserve surf_parse_text */
4140 (yy_hold_char) = *++(yy_c_buf_p);
4144 surf_parse_lineno++;
4149 #endif /* ifndef YY_NO_INPUT */
4151 /** Immediately switch to a different input stream.
4152 * @param input_file A readable stream.
4154 * @note This function does not reset the start condition to @c INITIAL .
4156 void surf_parse_restart (FILE * input_file )
4159 if ( ! YY_CURRENT_BUFFER ){
4160 surf_parse_ensure_buffer_stack ();
4161 YY_CURRENT_BUFFER_LVALUE =
4162 surf_parse__create_buffer(surf_parse_in,YY_BUF_SIZE );
4165 surf_parse__init_buffer(YY_CURRENT_BUFFER,input_file );
4166 surf_parse__load_buffer_state( );
4169 /** Switch to a different input buffer.
4170 * @param new_buffer The new input buffer.
4173 void surf_parse__switch_to_buffer (YY_BUFFER_STATE new_buffer )
4176 /* TODO. We should be able to replace this entire function body
4178 * surf_parse_pop_buffer_state();
4179 * surf_parse_push_buffer_state(new_buffer);
4181 surf_parse_ensure_buffer_stack ();
4182 if ( YY_CURRENT_BUFFER == new_buffer )
4185 if ( YY_CURRENT_BUFFER )
4187 /* Flush out information for old buffer. */
4188 *(yy_c_buf_p) = (yy_hold_char);
4189 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
4190 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
4193 YY_CURRENT_BUFFER_LVALUE = new_buffer;
4194 surf_parse__load_buffer_state( );
4196 /* We don't actually know whether we did this switch during
4197 * EOF (surf_parse_wrap()) processing, but the only time this flag
4198 * is looked at is after surf_parse_wrap() is called, so it's safe
4199 * to go ahead and always set it.
4201 (yy_did_buffer_switch_on_eof) = 1;
4204 static void surf_parse__load_buffer_state (void)
4206 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
4207 (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
4208 surf_parse_in = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
4209 (yy_hold_char) = *(yy_c_buf_p);
4212 /** Allocate and initialize an input buffer state.
4213 * @param file A readable stream.
4214 * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
4216 * @return the allocated buffer state.
4218 YY_BUFFER_STATE surf_parse__create_buffer (FILE * file, int size )
4222 b = (YY_BUFFER_STATE) surf_parse_alloc(sizeof( struct yy_buffer_state ) );
4224 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__create_buffer()" );
4226 b->yy_buf_size = size;
4228 /* yy_ch_buf has to be 2 characters longer than the size given because
4229 * we need to put in 2 end-of-buffer characters.
4231 b->yy_ch_buf = (char *) surf_parse_alloc(b->yy_buf_size + 2 );
4232 if ( ! b->yy_ch_buf )
4233 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__create_buffer()" );
4235 b->yy_is_our_buffer = 1;
4237 surf_parse__init_buffer(b,file );
4242 /** Destroy the buffer.
4243 * @param b a buffer created with surf_parse__create_buffer()
4246 void surf_parse__delete_buffer (YY_BUFFER_STATE b )
4252 if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
4253 YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
4255 if ( b->yy_is_our_buffer )
4256 surf_parse_free((void *) b->yy_ch_buf );
4258 surf_parse_free((void *) b );
4262 extern int isatty (int );
4263 #endif /* __cplusplus */
4265 /* Initializes or reinitializes a buffer.
4266 * This function is sometimes called more than once on the same buffer,
4267 * such as during a surf_parse_restart() or at EOF.
4269 static void surf_parse__init_buffer (YY_BUFFER_STATE b, FILE * file )
4274 surf_parse__flush_buffer(b );
4276 b->yy_input_file = file;
4277 b->yy_fill_buffer = 1;
4279 /* If b is the current buffer, then surf_parse__init_buffer was _probably_
4280 * called from surf_parse_restart() or through yy_get_next_buffer.
4281 * In that case, we don't want to reset the lineno or column.
4283 if (b != YY_CURRENT_BUFFER){
4284 b->yy_bs_lineno = 1;
4285 b->yy_bs_column = 0;
4288 b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
4293 /** Discard all buffered characters. On the next scan, YY_INPUT will be called.
4294 * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
4297 void surf_parse__flush_buffer (YY_BUFFER_STATE b )
4304 /* We always need two end-of-buffer characters. The first causes
4305 * a transition to the end-of-buffer state. The second causes
4306 * a jam in that state.
4308 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
4309 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
4311 b->yy_buf_pos = &b->yy_ch_buf[0];
4314 b->yy_buffer_status = YY_BUFFER_NEW;
4316 if ( b == YY_CURRENT_BUFFER )
4317 surf_parse__load_buffer_state( );
4320 /** Pushes the new state onto the stack. The new state becomes
4321 * the current state. This function will allocate the stack
4323 * @param new_buffer The new state.
4326 void surf_parse_push_buffer_state (YY_BUFFER_STATE new_buffer )
4328 if (new_buffer == NULL)
4331 surf_parse_ensure_buffer_stack();
4333 /* This block is copied from surf_parse__switch_to_buffer. */
4334 if ( YY_CURRENT_BUFFER )
4336 /* Flush out information for old buffer. */
4337 *(yy_c_buf_p) = (yy_hold_char);
4338 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
4339 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
4342 /* Only push if top exists. Otherwise, replace top. */
4343 if (YY_CURRENT_BUFFER)
4344 (yy_buffer_stack_top)++;
4345 YY_CURRENT_BUFFER_LVALUE = new_buffer;
4347 /* copied from surf_parse__switch_to_buffer. */
4348 surf_parse__load_buffer_state( );
4349 (yy_did_buffer_switch_on_eof) = 1;
4352 /** Removes and deletes the top of the stack, if present.
4353 * The next element becomes the new top.
4356 void surf_parse_pop_buffer_state (void)
4358 if (!YY_CURRENT_BUFFER)
4361 surf_parse__delete_buffer(YY_CURRENT_BUFFER );
4362 YY_CURRENT_BUFFER_LVALUE = NULL;
4363 if ((yy_buffer_stack_top) > 0)
4364 --(yy_buffer_stack_top);
4366 if (YY_CURRENT_BUFFER) {
4367 surf_parse__load_buffer_state( );
4368 (yy_did_buffer_switch_on_eof) = 1;
4372 /* Allocates the stack if it does not exist.
4373 * Guarantees space for at least one push.
4375 static void surf_parse_ensure_buffer_stack (void)
4379 if (!(yy_buffer_stack)) {
4381 /* First allocation is just for 2 elements, since we don't know if this
4382 * scanner will even need a stack. We use 2 instead of 1 to avoid an
4383 * immediate realloc on the next call.
4386 (yy_buffer_stack) = (struct yy_buffer_state**)surf_parse_alloc
4387 (num_to_alloc * sizeof(struct yy_buffer_state*)
4390 memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
4392 (yy_buffer_stack_max) = num_to_alloc;
4393 (yy_buffer_stack_top) = 0;
4397 if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
4399 /* Increase the buffer to prepare for a possible push. */
4400 int grow_size = 8 /* arbitrary grow size */;
4402 num_to_alloc = (yy_buffer_stack_max) + grow_size;
4403 (yy_buffer_stack) = (struct yy_buffer_state**)surf_parse_realloc
4405 num_to_alloc * sizeof(struct yy_buffer_state*)
4408 /* zero only the new slots.*/
4409 memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
4410 (yy_buffer_stack_max) = num_to_alloc;
4414 /** Setup the input buffer state to scan directly from a user-specified character buffer.
4415 * @param base the character buffer
4416 * @param size the size in bytes of the character buffer
4418 * @return the newly allocated buffer state object.
4420 YY_BUFFER_STATE surf_parse__scan_buffer (char * base, yy_size_t size )
4425 base[size-2] != YY_END_OF_BUFFER_CHAR ||
4426 base[size-1] != YY_END_OF_BUFFER_CHAR )
4427 /* They forgot to leave room for the EOB's. */
4430 b = (YY_BUFFER_STATE) surf_parse_alloc(sizeof( struct yy_buffer_state ) );
4432 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__scan_buffer()" );
4434 b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
4435 b->yy_buf_pos = b->yy_ch_buf = base;
4436 b->yy_is_our_buffer = 0;
4437 b->yy_input_file = 0;
4438 b->yy_n_chars = b->yy_buf_size;
4439 b->yy_is_interactive = 0;
4441 b->yy_fill_buffer = 0;
4442 b->yy_buffer_status = YY_BUFFER_NEW;
4444 surf_parse__switch_to_buffer(b );
4449 /** Setup the input buffer state to scan a string. The next call to surf_parse_lex() will
4450 * scan from a @e copy of @a str.
4451 * @param yystr a NUL-terminated string to scan
4453 * @return the newly allocated buffer state object.
4454 * @note If you want to scan bytes that may contain NUL values, then use
4455 * surf_parse__scan_bytes() instead.
4457 YY_BUFFER_STATE surf_parse__scan_string (yyconst char * yystr )
4460 return surf_parse__scan_bytes(yystr,strlen(yystr) );
4463 /** Setup the input buffer state to scan the given bytes. The next call to surf_parse_lex() will
4464 * scan from a @e copy of @a bytes.
4465 * @param bytes the byte buffer to scan
4466 * @param len the number of bytes in the buffer pointed to by @a bytes.
4468 * @return the newly allocated buffer state object.
4470 YY_BUFFER_STATE surf_parse__scan_bytes (yyconst char * yybytes, int _yybytes_len )
4477 /* Get memory for full buffer, including space for trailing EOB's. */
4478 n = _yybytes_len + 2;
4479 buf = (char *) surf_parse_alloc(n );
4481 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__scan_bytes()" );
4483 for ( i = 0; i < _yybytes_len; ++i )
4484 buf[i] = yybytes[i];
4486 buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
4488 b = surf_parse__scan_buffer(buf,n );
4490 YY_FATAL_ERROR( "bad buffer in surf_parse__scan_bytes()" );
4492 /* It's okay to grow etc. this buffer, and we should throw it
4493 * away when we're done.
4495 b->yy_is_our_buffer = 1;
4500 static void yy_push_state (int new_state )
4502 if ( (yy_start_stack_ptr) >= (yy_start_stack_depth) )
4506 (yy_start_stack_depth) += YY_START_STACK_INCR;
4507 new_size = (yy_start_stack_depth) * sizeof( int );
4509 if ( ! (yy_start_stack) )
4510 (yy_start_stack) = (int *) surf_parse_alloc(new_size );
4513 (yy_start_stack) = (int *) surf_parse_realloc((void *) (yy_start_stack),new_size );
4515 if ( ! (yy_start_stack) )
4517 "out of memory expanding start-condition stack" );
4520 (yy_start_stack)[(yy_start_stack_ptr)++] = YY_START;
4525 static void yy_pop_state (void)
4527 if ( --(yy_start_stack_ptr) < 0 )
4528 YY_FATAL_ERROR( "start-condition stack underflow" );
4530 BEGIN((yy_start_stack)[(yy_start_stack_ptr)]);
4533 #ifndef YY_EXIT_FAILURE
4534 #define YY_EXIT_FAILURE 2
4537 static void yy_fatal_error (yyconst char* msg )
4539 (void) fprintf( stderr, "%s\n", msg );
4540 exit( YY_EXIT_FAILURE );
4543 /* Redefine yyless() so it works in section 3 code. */
4549 /* Undo effects of setting up surf_parse_text. */ \
4550 int yyless_macro_arg = (n); \
4551 YY_LESS_LINENO(yyless_macro_arg);\
4552 surf_parse_text[surf_parse_leng] = (yy_hold_char); \
4553 (yy_c_buf_p) = surf_parse_text + yyless_macro_arg; \
4554 (yy_hold_char) = *(yy_c_buf_p); \
4555 *(yy_c_buf_p) = '\0'; \
4556 surf_parse_leng = yyless_macro_arg; \
4560 /* Accessor methods (get/set functions) to struct members. */
4562 /** Get the current line number.
4565 int surf_parse_get_lineno (void)
4568 return surf_parse_lineno;
4571 /** Get the input stream.
4574 FILE *surf_parse_get_in (void)
4576 return surf_parse_in;
4579 /** Get the output stream.
4582 FILE *surf_parse_get_out (void)
4584 return surf_parse_out;
4587 /** Get the length of the current token.
4590 int surf_parse_get_leng (void)
4592 return surf_parse_leng;
4595 /** Get the current token.
4599 char *surf_parse_get_text (void)
4601 return surf_parse_text;
4604 /** Set the current line number.
4605 * @param line_number
4608 void surf_parse_set_lineno (int line_number )
4611 surf_parse_lineno = line_number;
4614 /** Set the input stream. This does not discard the current
4616 * @param in_str A readable stream.
4618 * @see surf_parse__switch_to_buffer
4620 void surf_parse_set_in (FILE * in_str )
4622 surf_parse_in = in_str ;
4625 void surf_parse_set_out (FILE * out_str )
4627 surf_parse_out = out_str ;
4630 int surf_parse_get_debug (void)
4632 return surf_parse__flex_debug;
4635 void surf_parse_set_debug (int bdebug )
4637 surf_parse__flex_debug = bdebug ;
4640 static int yy_init_globals (void)
4642 /* Initialization is the same as for the non-reentrant scanner.
4643 * This function is called from surf_parse_lex_destroy(), so don't allocate here.
4646 /* We do not touch surf_parse_lineno unless the option is enabled. */
4647 surf_parse_lineno = 1;
4649 (yy_buffer_stack) = 0;
4650 (yy_buffer_stack_top) = 0;
4651 (yy_buffer_stack_max) = 0;
4652 (yy_c_buf_p) = (char *) 0;
4656 (yy_start_stack_ptr) = 0;
4657 (yy_start_stack_depth) = 0;
4658 (yy_start_stack) = NULL;
4660 /* Defined in main.c */
4662 surf_parse_in = stdin;
4663 surf_parse_out = stdout;
4665 surf_parse_in = (FILE *) 0;
4666 surf_parse_out = (FILE *) 0;
4669 /* For future reference: Set errno on error, since we are called by
4670 * surf_parse_lex_init()
4675 /* surf_parse_lex_destroy is for both reentrant and non-reentrant scanners. */
4676 int surf_parse_lex_destroy (void)
4679 /* Pop the buffer stack, destroying each element. */
4680 while(YY_CURRENT_BUFFER){
4681 surf_parse__delete_buffer(YY_CURRENT_BUFFER );
4682 YY_CURRENT_BUFFER_LVALUE = NULL;
4683 surf_parse_pop_buffer_state();
4686 /* Destroy the stack itself. */
4687 surf_parse_free((yy_buffer_stack) );
4688 (yy_buffer_stack) = NULL;
4690 /* Destroy the start condition stack. */
4691 surf_parse_free((yy_start_stack) );
4692 (yy_start_stack) = NULL;
4694 /* Reset the globals. This is important in a non-reentrant scanner so the next time
4695 * surf_parse_lex() is called, initialization will occur. */
4702 * Internal utility routines.
4706 static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
4709 for ( i = 0; i < n; ++i )
4714 #ifdef YY_NEED_STRLEN
4715 static int yy_flex_strlen (yyconst char * s )
4718 for ( n = 0; s[n]; ++n )
4725 void *surf_parse_alloc (yy_size_t size )
4727 return (void *) malloc( size );
4730 void *surf_parse_realloc (void * ptr, yy_size_t size )
4732 /* The cast to (char *) in the following accommodates both
4733 * implementations that use char* generic pointers, and those
4734 * that use void* generic pointers. It works with the latter
4735 * because both ANSI C and C++ allow castless assignment from
4736 * any pointer type to void*, and deal with argument conversions
4737 * as though doing an assignment.
4739 return (void *) realloc( (char *) ptr, size );
4742 void surf_parse_free (void * ptr )
4744 free( (char *) ptr ); /* see surf_parse_realloc() for (char *) cast */
4747 #define YYTABLES_NAME "yytables"
4749 /* Element context stack lookup. */
4750 int surfxml_element_context(int i)
4752 return (0<i && i<yy_start_stack_depth
4753 ? yy_start_stack[yy_start_stack_ptr - i]
4758 void print_yy_stack(char* fmt, ...)
4760 int i = 0; va_list ap; va_start(ap, fmt);
4761 vfprintf(stderr, fmt, ap);
4762 if (surfxml_statenames) {
4763 for (i=1; i<yy_start_stack_ptr; i++) {
4764 fprintf(stderr, "%s/", surfxml_statenames[yy_start_stack[i] ]);
4766 fprintf(stderr,"%s\n", surfxml_statenames[YY_START]);
4771 void print_surfxml_bufferstack()
4774 fputs("Buffer: ", stderr);
4775 for (i = 0; i < blimit; i++) {
4776 if ( surfxml_bufferstack[i] == '\377' ) break;
4777 putc(surfxml_bufferstack[i], stderr);
4782 static void debug_enter(int state, const char* statename) {
4783 yy_push_state(state);
4784 if (surf_parse__flex_debug) {
4785 print_yy_stack("--ENTER(%s) : ",statename);
4786 print_surfxml_bufferstack();
4790 static void debug_leave(void) {
4791 if (surf_parse__flex_debug) {
4792 print_yy_stack("--LEAVE : ");
4793 print_surfxml_bufferstack();
4798 static void debug_set(int state, const char* statename) {
4800 if (surf_parse__flex_debug) print_yy_stack("--SET(%s) : ",statename);
4804 static void cleanup(void)
4806 if (surfxml_statenames) {
4807 free(surfxml_statenames);
4808 surfxml_statenames = NULL;
4810 free(surfxml_bufferstack);
4811 surfxml_bufferstack = NULL;
4817 static int fail(const char* fmt, ...)
4819 int chars_left, used;
4820 va_list ap; va_start(ap, fmt);
4821 #ifdef FLEXML_yylineno
4822 used = sprintf(flexml_err_msg,
4823 "Invalid XML (XML input line %d, state %d): ",
4824 surf_parse_lineno, YY_START);
4826 used = sprintf(flexml_err_msg,
4827 "Invalid XML (state %d): ",
4830 chars_left = flexml_max_err_msg_size - used - 1;
4831 vsnprintf(flexml_err_msg + used, chars_left, fmt, ap);
4834 #ifndef FLEXML_quiet_parser
4835 /* print directly to sdterr */
4836 fprintf(stderr, "%s\n", flexml_err_msg);
4837 flexml_err_msg[0] = '\0';